senpy issueshttps://lab.gsi.upm.es/senpy/senpy/-/issues2017-08-23T16:20:09Zhttps://lab.gsi.upm.es/senpy/senpy/-/issues/40Simplify processing pipeline2017-08-23T16:20:09ZJ. Fernando Sánchezjf.sanchez@upm.esSimplify processing pipelineRequest processing should be cleaner and clearer, as well as parameter extraction.
Some pseudo-static methods in `extensions.py` should go into `api.py`.Request processing should be cleaner and clearer, as well as parameter extraction.
Some pseudo-static methods in `extensions.py` should go into `api.py`.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/39Plugin tests missing2017-08-23T16:20:10ZJ. Fernando Sánchezjf.sanchez@upm.esPlugin tests missingIt should be mandatory and easy to have test cases in plugins.
Test cases could be defined like this:
```
input: {text: 'ohno'}
parameters: {language: English}
expected outcome: {text: 'ohno', sentiments: [{ marl:hasPolarity: marl:Neut...It should be mandatory and easy to have test cases in plugins.
Test cases could be defined like this:
```
input: {text: 'ohno'}
parameters: {language: English}
expected outcome: {text: 'ohno', sentiments: [{ marl:hasPolarity: marl:Neutral}]}
```Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/37Add a basic chunk plugin2017-08-23T16:24:19ZJ. Fernando Sánchezjf.sanchez@upm.esAdd a basic chunk pluginIt'd be useful to have a plugin that splits a long text into a series of smaller ones (e.g. sentences, paragraphs...).
Ideally, it would take a `delimiter` or similar argument.
It should be trivial to implement this plugin.
The only com...It'd be useful to have a plugin that splits a long text into a series of smaller ones (e.g. sentences, paragraphs...).
Ideally, it would take a `delimiter` or similar argument.
It should be trivial to implement this plugin.
The only complication would be handling the `id` of the pieces, since they should follow one of NIF schemes.
Once implemented, it could be used like this: `http://localhost:5000/api?i=hello there&algorithm=split,rand`.Senpy 1.0.0Manuel García-AmadoManuel García-Amadohttps://lab.gsi.upm.es/senpy/senpy/-/issues/33Using both entry.text and entry.nif__isString2017-08-23T16:28:14ZJ. Fernando Sánchezjf.sanchez@upm.esUsing both entry.text and entry.nif__isStringSome parts of the docs refer to "entry.text", some to "entry.nif__isString". We need plugins to be consistent.
There are several options:
## Use `nif:isString`
We would have to:
- Check code
- Check docs
## Use `text` everywhere, add ...Some parts of the docs refer to "entry.text", some to "entry.nif__isString". We need plugins to be consistent.
There are several options:
## Use `nif:isString`
We would have to:
- Check code
- Check docs
## Use `text` everywhere, add it to the context and adapt all code and docs
Tasks:
- Check code
- Check docs
- Add `text` to `context.jsonld`
## Create mappings/aliases
Either as properties (more efficient) or as a dictionary of aliases that can be checked in `__get/setitem__` or similar. There are several options for this.
- Ad-hoc properties in the entry model
- Add aliases to the schema
- Load aliases by reading the contextSenpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/36Estimate VAD by weighted average2017-09-27T14:19:31ZJ. Fernando Sánchezjf.sanchez@upm.esEstimate VAD by weighted averageSee https://github.com/gsi-upm/senpy/issues/31See https://github.com/gsi-upm/senpy/issues/31Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/46Make data folder configurable2017-12-13T14:33:02ZJ. Fernando Sánchezjf.sanchez@upm.esMake data folder configurableInstead of hardcoding paths in the senpy file, allow the use of a DATA_FOLDER / SENPY_DATA variable, like in shelf plugins.
There are two (non exclusive) alternatives to integrate this feature in the plugin definition:
* Prepend SENPY_...Instead of hardcoding paths in the senpy file, allow the use of a DATA_FOLDER / SENPY_DATA variable, like in shelf plugins.
There are two (non exclusive) alternatives to integrate this feature in the plugin definition:
* Prepend SENPY_DATA to relative paths
* Use the variable name in the path `$SENPY_DATA/blahblahblah`.
The second one is explicit, whereas the first one makes changing paths relative to the CWD to SENPY_DATA seamless.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/47Wrong version of pip2017-12-13T14:33:02ZJ. Fernando Sánchezjf.sanchez@upm.esWrong version of pipIn systems with python2 and python3, senpy uses the `pip` executable regardless of what version of python is running.
As a consequence, the requirements are only installed for the default version of python.In systems with python2 and python3, senpy uses the `pip` executable regardless of what version of python is running.
As a consequence, the requirements are only installed for the default version of python.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/23Add section about client use2018-01-08T18:04:44ZJ. Fernando Sánchezjf.sanchez@upm.esAdd section about client useAdd a short section with instructions on client use, preferably as an ipython notebook.
* [x] Add nbsphinx
* [x] Add a quick example using the demo endpoint (senpy.cluster)
* [x] Change the endpoint to a local oneAdd a short section with instructions on client use, preferably as an ipython notebook.
* [x] Add nbsphinx
* [x] Add a quick example using the demo endpoint (senpy.cluster)
* [x] Change the endpoint to a local oneSenpy 1.0.0Manuel García-AmadoManuel García-Amado2017-04-07https://lab.gsi.upm.es/senpy/senpy/-/issues/45Option arguments are not passed to the API2018-01-08T18:09:27ZJ. Fernando Sánchezjf.sanchez@upm.esOption arguments are not passed to the APITry with sentiment-meaningcloud. The language parameter is recognized as a text input instead of a select.Try with sentiment-meaningcloud. The language parameter is recognized as a text input instead of a select.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/50Make the algorithm part of the URL2018-08-17T09:24:21ZJ. Fernando Sánchezjf.sanchez@upm.esMake the algorithm part of the URLAdd `/api/<plugin>` as an alternative to `/api?algo=<plugin>`.
For pipelines, we could do something like `/api/<plugin1>/<plugin2>/...` or `/api/<plugin1>+<plugin2>+...`Add `/api/<plugin>` as an alternative to `/api?algo=<plugin>`.
For pipelines, we could do something like `/api/<plugin1>/<plugin2>/...` or `/api/<plugin1>+<plugin2>+...`Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/51Calculate and expose list of parameters for the combination of plugins2018-12-07T17:33:44ZJ. Fernando Sánchezjf.sanchez@upm.esCalculate and expose list of parameters for the combination of pluginsFor a long time now, it is also possible to chain several plugins.
The `/plugins` API returns the parameters for each plugin, but there is no easy way to know what parameters can be sent to the chain.
There may be some discrepancies bet...For a long time now, it is also possible to chain several plugins.
The `/plugins` API returns the parameters for each plugin, but there is no easy way to know what parameters can be sent to the chain.
There may be some discrepancies between the values that each plugin accepts.
I propose the following:
- Accept the union of both sets of parameters
- For shared parameters, provide the intersection of valid options
- Allow setting different parameters for each plugin via special names. e.g. for plugin `sentiment`, one could set its `language` parameter with `sentiment-language`.
The parameters should be listed with the API as well.
#50 should probably be implemented first.
Note that parameter validation/handling on plugins execution should also change, but I think it will simplify things for the client and the UI.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.eshttps://lab.gsi.upm.es/senpy/senpy/-/issues/52Remove parameter calculation from the UI2019-04-11T10:07:32ZJ. Fernando Sánchezjf.sanchez@upm.esRemove parameter calculation from the UIOnce senpy/senpy#51 is implemented, the UI should ask the server what parameters to use with each plugin (or combination of plugins).
Optionally, the results should be cached in the client to avoid unnecessary calls.Once senpy/senpy#51 is implemented, the UI should ask the server what parameters to use with each plugin (or combination of plugins).
Optionally, the results should be cached in the client to avoid unnecessary calls.Senpy 1.0.0J. Fernando Sánchezjf.sanchez@upm.esJ. Fernando Sánchezjf.sanchez@upm.es