FeersumNLU API
Project description
FeersumNLU API Wrappers
This git repo hosts Python and other language wrappers for the FeersumNLU RESTful HTTP API. FeersumNLU is the natural language understanding component of Feersum Engine https://www.feersum.io .
The HTTP API is designed such that a user may apply multi-lingual Natural Language Understanding (NLU) to their application domain without requiring a deep understanding of NLU theory. The examples in this repo demonstrate commonly required NLU functions and how to access them. There are also some curl examples of direct HTTP access in the examples_curl folder.
These language wrappers and examples are for version 2.0.17 of the HTTP API. The language wrappers are auto-generated from a Swagger spec of the API available at https://nlu.playground.feersum.io:443/nlu/v2/swagger.json
(Note: This repo is currently being updated with more examples)
Overview
FeersumNLU provides natural language understanding solutions for chat-based interactions, where messages from the end-user may be long or very short. Our product is also designed to be language-agnostic, which means it can be scaled to work with any language, even in markets where large bodies of labelled data do not exist. Our Natural Language Understanding models are developed locally, and can be modified to provide solutions for specialised industries like finance or health.
Features
FeersumNLU makes use of open-source building blocks like NLTK, sklearn, PyTorch and Duckling, as well as algorithms we’ve developed in-house. We build on all elements to support a growing list of local and international languages.
Current features include Natural Language FAQ’s, detection of the user’s intent and sentiment, information extraction, entity extraction, and text-based language identification.
Installing
Please have a look at the examples in the repo. It is also recommended that you create a Python virtual environment and then follow one of the install options below to run the examples. The examples were tested with Python 3.5 and 3.6.
Creating a Python Virtual Environment
To get started with the Python wrappers install Python 3.5 (or 3.6) and pip. Then do:
$ virtualenv -p /usr/local/bin/python3.5 .pyenv
$ source .pyenv/bin/activate
$ pip install pip-tools
$ pip install appdirs
If you don’t have virtualenv installed first run:
$ pip install virtualenv
$ sudo /usr/bin/easy_install virtualenv
Install Option 1 - Using make
Clone the repo and then to install the dependencies required to run the module’s examples run:
$ make requirements
$ make deps
Install Option 2 - Using setuptools
Alternatively clone the repo and then install the feersum_nlu wrapper module into your Python environment using setuptools:
$ make requirements
$ make deps
$ python setup.py install
The benefit of installing the feersum_nlu module into you Python environment is that you can more easily use it in your own projects.
Install Option 3 - Using pip
The feersum_nlu wrapper module is also available from the Python Package Index https://pypi.python.org/pypi/feersum_nlu. To install it using pip run:
$ pip install feersum_nlu
The benefit of installing the feersum_nlu module into you Python environment is that you can more easily use it in your own projects.
Running the Examples
If you use an IDE like PyCharm you can simply open the folder you cloned the source to (e.g. feersum-nlu-api-wrappers) with the IDE.
Or to start executing example notebooks install Jupyter with
$ pip install jupyter
and then run:
$ jupyter notebook
The notebooks are all in the example_notebooks folder.
Alternatively run the example python scripts in the examples folder from the terminal e.g.:
$ PYTHONPATH=. python examples/faq_matcher.py
Remember to set your API token in the example scripts and notebooks.
The Playground Instance
A FeersumNLU playground instance of the RESTful web service is hosted at nlu.playground.feersum.io:443/nlu/v2 You may use this URL to run the examples given in this repo.
You’ll need an authentication token to access the service, so email us at nlu@feersum.io and we’ll send you a token to use. Some autogenerated API documentation is available at https://nlu.playground.feersum.io:443/nlu/v2/ui/
Note that this is just a playground instance. Please contact us at nlu@feersum.io if you need a production quality instance of the service.
Changelog
Version 2.0.16
Added model delete endpoints.
Expose experimental person name entity extractor on the http API.
Exposed the reference_time attribute to the Duckling entity extractor.
Moved the examples’ and tests’ auth token and host config to a central location in the __init.py__
Added this changelog.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.