[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE.md)
# Padatious
An efficient and agile neural network intent parser powered by [fann](https://github.com/libfann/fann).
This repository contains a OVOS pipeline plugin and bundles a fork of the original [padatious](https://github.com/MycroftAI/padatious) from the defunct MycroftAI
## Features
- Intents are easy to create
- Requires a relatively small amount of data
- Intents run independent of each other
- Easily extract entities (ie. Find the nearest *gas station* -> `place: gas station`)
- Fast training with a modular approach to neural networks
### Installing
Padatious requires the following native packages to be installed:
- [`FANN`][fann] (with dev headers)
- Python development headers
- `pip3`
- `swig`
Ubuntu:
```
sudo apt-get install libfann-dev python3-dev python3-pip swig libfann-dev python3-fann2
```
Next, install Padatious via `pip3`:
```
pip3 install padatious
```
Padatious also works in Python 2 if you are unable to upgrade.
### Direct Usage
Here's a simple example of how to use Padatious:
```Python
from ovos_padatious import IntentContainer
container = IntentContainer('intent_cache')
container.add_intent('hello', ['Hi there!', 'Hello.'])
container.add_intent('goodbye', ['See you!', 'Goodbye!'])
container.add_intent('search', ['Search for {query} (using|on) {engine}.'])
container.train()
print(container.calc_intent('Hello there!'))
print(container.calc_intent('Search for cats on CatTube.'))
container.remove_intent('goodbye')
```
### License
> **NOTE**: This plugin is an exception to [OVOS universal donor policy](https://openvoiceos.github.io/ovos-technical-manual/license/)
It is licensed under the Apache 2 license, however it depends on fann2 which is licensed under the LGPL. [Why is this an issue?](https://softwareengineering.stackexchange.com/questions/119436/what-does-gpl-with-classpath-exception-mean-in-practice/326325#326325)
Raw data
{
"_id": null,
"home_page": "https://github.com/OpenVoiceOS/ovos-padatious-pipeline-plugin",
"name": "ovos-padatious",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "intent-parser parser text text-processing",
"author": "Matthew Scholefield",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/2e/36/129195d40bcf6959a524c533b0b2e39e062ad061d6d144ec724f1337fe1c/ovos-padatious-1.1.1.tar.gz",
"platform": null,
"description": "[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE.md) \n# Padatious\n\nAn efficient and agile neural network intent parser powered by [fann](https://github.com/libfann/fann).\n\nThis repository contains a OVOS pipeline plugin and bundles a fork of the original [padatious](https://github.com/MycroftAI/padatious) from the defunct MycroftAI\n\n## Features\n\n - Intents are easy to create\n - Requires a relatively small amount of data\n - Intents run independent of each other\n - Easily extract entities (ie. Find the nearest *gas station* -> `place: gas station`)\n - Fast training with a modular approach to neural networks\n\n\n### Installing\n\nPadatious requires the following native packages to be installed:\n\n - [`FANN`][fann] (with dev headers)\n - Python development headers\n - `pip3`\n - `swig`\n\nUbuntu:\n\n```\nsudo apt-get install libfann-dev python3-dev python3-pip swig libfann-dev python3-fann2\n```\n\nNext, install Padatious via `pip3`:\n\n```\npip3 install padatious\n```\nPadatious also works in Python 2 if you are unable to upgrade.\n\n### Direct Usage\n\nHere's a simple example of how to use Padatious:\n\n```Python\nfrom ovos_padatious import IntentContainer\n\ncontainer = IntentContainer('intent_cache')\ncontainer.add_intent('hello', ['Hi there!', 'Hello.'])\ncontainer.add_intent('goodbye', ['See you!', 'Goodbye!'])\ncontainer.add_intent('search', ['Search for {query} (using|on) {engine}.'])\ncontainer.train()\n\nprint(container.calc_intent('Hello there!'))\nprint(container.calc_intent('Search for cats on CatTube.'))\n\ncontainer.remove_intent('goodbye')\n```\n\n### License\n\n> **NOTE**: This plugin is an exception to [OVOS universal donor policy](https://openvoiceos.github.io/ovos-technical-manual/license/)\n\nIt is licensed under the Apache 2 license, however it depends on fann2 which is licensed under the LGPL. [Why is this an issue?](https://softwareengineering.stackexchange.com/questions/119436/what-does-gpl-with-classpath-exception-mean-in-practice/326325#326325)\n\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A neural network intent parser",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://github.com/OpenVoiceOS/ovos-padatious-pipeline-plugin"
},
"split_keywords": [
"intent-parser",
"parser",
"text",
"text-processing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b0e680408b9cc78fa13bad5f602ccc26f87a4ca94762bdb239670feebd6313d8",
"md5": "430e50da698b12fd64cda499c21ad9cb",
"sha256": "4fc4d14316c00d485a9e11fafca18b0d2ad6002e58c66437219627e6bfeb052b"
},
"downloads": -1,
"filename": "ovos_padatious-1.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "430e50da698b12fd64cda499c21ad9cb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 37275,
"upload_time": "2024-12-12T16:56:42",
"upload_time_iso_8601": "2024-12-12T16:56:42.219084Z",
"url": "https://files.pythonhosted.org/packages/b0/e6/80408b9cc78fa13bad5f602ccc26f87a4ca94762bdb239670feebd6313d8/ovos_padatious-1.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2e36129195d40bcf6959a524c533b0b2e39e062ad061d6d144ec724f1337fe1c",
"md5": "3bfac9db3ae6ae61557b91e164156926",
"sha256": "b6675a91b3a98cc7514a7582312f19eb8d1f00f98b3ebce4965a3e802ab6b3b7"
},
"downloads": -1,
"filename": "ovos-padatious-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "3bfac9db3ae6ae61557b91e164156926",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32916,
"upload_time": "2024-12-12T16:56:44",
"upload_time_iso_8601": "2024-12-12T16:56:44.479351Z",
"url": "https://files.pythonhosted.org/packages/2e/36/129195d40bcf6959a524c533b0b2e39e062ad061d6d144ec724f1337fe1c/ovos-padatious-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-12 16:56:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenVoiceOS",
"github_project": "ovos-padatious-pipeline-plugin",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "fann2",
"specs": [
[
"<",
"1.1.0"
],
[
">=",
"1.0.7"
]
]
},
{
"name": "xxhash",
"specs": []
},
{
"name": "ovos-plugin-manager",
"specs": [
[
">=",
"0.5.0"
],
[
"<",
"1.0.0"
]
]
},
{
"name": "ovos-workshop",
"specs": [
[
"<",
"4.0.0"
],
[
">=",
"0.1.7"
]
]
},
{
"name": "ovos-utils",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.6.0"
]
]
},
{
"name": "langcodes",
"specs": []
}
],
"lcname": "ovos-padatious"
}