An efficient and agile neural network intent parser powered by fann.
This repository contains a OVOS pipeline plugin and bundles a fork of the original padatious from the defunct MycroftAI
- 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
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.
Here's a simple example of how to use Padatious:
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')
NOTE: This plugin is an exception to OVOS universal donor policy
It is licensed under the Apache 2 license, however it depends on fann2 which is licensed under the LGPL. Why is this an issue?