Started readthedocs and improved README
@ -0,0 +1 @@
|
|||||||
|
_build
|
@ -0,0 +1,208 @@
|
|||||||
|
NIF API
|
||||||
|
=======
|
||||||
|
.. http:get:: /api
|
||||||
|
|
||||||
|
Basic endpoint for sentiment/emotion analysis.
|
||||||
|
|
||||||
|
**Example request**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
GET /api?input=I%20love%20GSI HTTP/1.1
|
||||||
|
Host: localhost
|
||||||
|
Accept: application/json, text/javascript
|
||||||
|
|
||||||
|
|
||||||
|
**Example response**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Vary: Accept
|
||||||
|
Content-Type: text/javascript
|
||||||
|
|
||||||
|
{
|
||||||
|
"@context": [
|
||||||
|
"http://127.0.0.1/static/context.jsonld",
|
||||||
|
],
|
||||||
|
"analysis": [
|
||||||
|
{
|
||||||
|
"@id": "SentimentAnalysisExample",
|
||||||
|
"@type": "marl:SentimentAnalysis",
|
||||||
|
"dc:language": "en",
|
||||||
|
"marl:maxPolarityValue": 10.0,
|
||||||
|
"marl:minPolarityValue": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"domain": "wndomains:electronics",
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"opinions": [
|
||||||
|
{
|
||||||
|
"prov:generatedBy": "SentimentAnalysisExample",
|
||||||
|
"marl:polarityValue": 7.8,
|
||||||
|
"marl:hasPolarity": "marl:Positive",
|
||||||
|
"marl:describesObject": "http://www.gsi.dit.upm.es",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nif:isString": "I love GSI",
|
||||||
|
"strings": [
|
||||||
|
{
|
||||||
|
"nif:anchorOf": "GSI",
|
||||||
|
"nif:taIdentRef": "http://www.gsi.dit.upm.es"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
:query i input: No default. Depends on informat and intype
|
||||||
|
:query f informat: one of `turtle` (default), `text`, `json-ld`
|
||||||
|
:query t intype: one of `direct` (default), `url`
|
||||||
|
:query o outformat: one of `turtle` (default), `text`, `json-ld`
|
||||||
|
:query p prefix: prefix for the URIs
|
||||||
|
:query algo algorithm: algorithm/plugin to use for the analysis. For a list of options, see :http:get:`/api/plugins`. If not provided, the default plugin will be used (:http:get:`/api/plugins/default`).
|
||||||
|
|
||||||
|
:reqheader Accept: the response content type depends on
|
||||||
|
:mailheader:`Accept` header
|
||||||
|
:resheader Content-Type: this depends on :mailheader:`Accept`
|
||||||
|
header of request
|
||||||
|
:statuscode 200: no error
|
||||||
|
:statuscode 404: service not found
|
||||||
|
|
||||||
|
.. http:post:: /api
|
||||||
|
|
||||||
|
The same as :http:get:`/api`.
|
||||||
|
|
||||||
|
.. http:get:: /api/plugins
|
||||||
|
|
||||||
|
Returns a list of installed plugins.
|
||||||
|
**Example request**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
GET /api/plugins HTTP/1.1
|
||||||
|
Host: localhost
|
||||||
|
Accept: application/json, text/javascript
|
||||||
|
|
||||||
|
|
||||||
|
**Example response**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
{
|
||||||
|
"@context": {
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"sentiment140": {
|
||||||
|
"name": "sentiment140",
|
||||||
|
"is_activated": true,
|
||||||
|
"version": "0.1",
|
||||||
|
"extra_params": {
|
||||||
|
"@id": "extra_params_sentiment140_0.1",
|
||||||
|
"language": {
|
||||||
|
"required": false,
|
||||||
|
"@id": "lang_sentiment140",
|
||||||
|
"options": [
|
||||||
|
"es",
|
||||||
|
"en",
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"language",
|
||||||
|
"l"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@id": "sentiment140_0.1"
|
||||||
|
},
|
||||||
|
"rand": {
|
||||||
|
"name": "rand",
|
||||||
|
"is_activated": true,
|
||||||
|
"version": "0.1",
|
||||||
|
"extra_params": {
|
||||||
|
"@id": "extra_params_rand_0.1",
|
||||||
|
"language": {
|
||||||
|
"required": false,
|
||||||
|
"@id": "lang_rand",
|
||||||
|
"options": [
|
||||||
|
"es",
|
||||||
|
"en",
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"language",
|
||||||
|
"l"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@id": "rand_0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.. http:get:: /api/plugins/<pluginname>
|
||||||
|
|
||||||
|
Returns the information of a specific plugin.
|
||||||
|
**Example request**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
GET /api/plugins/rand HTTP/1.1
|
||||||
|
Host: localhost
|
||||||
|
Accept: application/json, text/javascript
|
||||||
|
|
||||||
|
|
||||||
|
**Example response**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "rand_0.1",
|
||||||
|
"extra_params": {
|
||||||
|
"@id": "extra_params_rand_0.1",
|
||||||
|
"language": {
|
||||||
|
"@id": "lang_rand",
|
||||||
|
"aliases": [
|
||||||
|
"language",
|
||||||
|
"l"
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
"es",
|
||||||
|
"en",
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"required": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is_activated": true,
|
||||||
|
"name": "rand",
|
||||||
|
"version": "0.1"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.. http:get:: /api/plugins/default
|
||||||
|
|
||||||
|
Return the information about the default plugin.
|
||||||
|
|
||||||
|
.. http:get:: /api/plugins/<pluginname>/{de}activate
|
||||||
|
|
||||||
|
{De}activate a plugin.
|
||||||
|
|
||||||
|
**Example request**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
GET /api/plugins/rand/deactivate HTTP/1.1
|
||||||
|
Host: localhost
|
||||||
|
Accept: application/json, text/javascript
|
||||||
|
|
||||||
|
|
||||||
|
**Example response**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
{
|
||||||
|
"@context": {},
|
||||||
|
"message": "Ok"
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
Installation
|
||||||
|
------------
|
||||||
|
The stable version can be installed in three ways.
|
||||||
|
|
||||||
|
Through PIP
|
||||||
|
***********
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
pip install --user senpy
|
||||||
|
|
||||||
|
|
||||||
|
Alternatively, you can use the development version:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
git clone git@github.com:gsi-upm/senpy
|
||||||
|
cd senpy
|
||||||
|
pip install --user .
|
||||||
|
|
||||||
|
If you want to install senpy globally, use sudo instead of the ``--user`` flag.
|
||||||
|
|
||||||
|
Docker Image
|
||||||
|
************
|
||||||
|
Build the image or use the pre-built one: ``docker run -ti -p 5000:5000 balkian/senpy --host 0.0.0.0 --default-plugins``.
|
||||||
|
|
||||||
|
To add custom plugins, add a volume and tell senpy where to find the plugins: ``docker run -ti -p 5000:5000 -v <PATH OF PLUGINS>:/plugins balkian/senpy --host 0.0.0.0 --default-plugins -f /plugins``
|
@ -0,0 +1,4 @@
|
|||||||
|
Developing new plugins
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
See the examples at: `<http://github.com/gsi-upm/senpy-plugins-community>`_.
|
@ -0,0 +1 @@
|
|||||||
|
sphinxcontrib-httpdomain>=1.4
|
@ -0,0 +1,20 @@
|
|||||||
|
Usage
|
||||||
|
-----
|
||||||
|
|
||||||
|
The easiest and recommended way is to just use the command-line tool to load your plugins and launch the server.
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
senpy
|
||||||
|
|
||||||
|
Or, alternatively:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
python -m senpy
|
||||||
|
|
||||||
|
|
||||||
|
This will create a server with any modules found in the current path.
|
||||||
|
For more options, see the `--help` page.
|
||||||
|
|
||||||
|
Alternatively, you can use the modules included in senpy to build your own application.
|
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 180 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 25 KiB |