Update RDFlib to 6.1.1 (removed rdflib-jsonld, as it is deprecated)
Bumped minimum python version: 3.7 (as a result of RDFLIB 6)
Added ProxyFix to run behind nginx (Added --no-proxy to run without the fix)
Replaced http media links to protocol-agnostic links in playground
Enable CORS (via --enable-cors)
Update old urls (replaced *.cluster.gsi.dit.upm.es with *.gsi.upm.es)
You may need to set special variables like the name of your project or the python versions you're targetting.
You may need to set special variables like the name of your project or the python versions you're targetting.
Take a look at each specific `.mk` file for more information, and the `Makefile` in the [senpy](https://lab.cluster.gsi.dit.upm.es/senpy/senpy) project for a real use case.
Take a look at each specific `.mk` file for more information, and the `Makefile` in the [senpy](https://lab.gsi.upm.es/senpy/senpy) project for a real use case.
If you update the makefiles from your repository, make sure to push the changes for review in upstream (this repository):
If you update the makefiles from your repository, make sure to push the changes for review in upstream (this repository):
Senpy lets you create sentiment analysis web services easily, fast and using a well known API.
Senpy lets you create sentiment analysis web services easily, fast and using a well known API.
As a bonus, Senpy services use semantic vocabularies (e.g. `NIF <http://persistence.uni-leipzig.org/nlp2rdf/>`_, `Marl <http://www.gsi.dit.upm.es/ontologies/marl>`_, `Onyx <http://www.gsi.dit.upm.es/ontologies/onyx>`_) and formats (turtle, JSON-LD, xml-rdf).
As a bonus, Senpy services use semantic vocabularies (e.g. `NIF <http://persistence.uni-leipzig.org/nlp2rdf/>`_, `Marl <http://www.gsi.upm.es/ontologies/marl>`_, `Onyx <http://www.gsi.upm.es/ontologies/onyx>`_) and formats (turtle, JSON-LD, xml-rdf).
Have you ever wanted to turn your sentiment analysis algorithms into a service?
Have you ever wanted to turn your sentiment analysis algorithms into a service?
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n"</span><span class=\"p\">,</span>\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment classifier using rule\\PYZhy{}based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment classifier using rule\\PYZhy{}based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment analysis with meaningCloud service.\\PYZbs{}nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\PYZbs{}nhttps://www.meaningcloud.com/developer/login\\PYZbs{}n\\PYZbs{}nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\PYZbs{}nExample request:\\PYZbs{}n\\PYZbs{}nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud\\PYZam{}language=en\\PYZam{}apiKey=YOUR\\PYZus{}API\\PYZus{}KEY\\PYZam{}input=I\\PYZpc{}20love\\PYZpc{}20Madrid.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment analysis with meaningCloud service.\\PYZbs{}nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\PYZbs{}nhttps://www.meaningcloud.com/developer/login\\PYZbs{}n\\PYZbs{}nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\PYZbs{}nExample request:\\PYZbs{}n\\PYZbs{}nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud\\PYZam{}language=en\\PYZam{}apiKey=YOUR\\PYZus{}API\\PYZus{}KEY\\PYZam{}input=I\\PYZpc{}20love\\PYZpc{}20Madrid.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \"description\": \"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\n\",\n",
" \"description\": \"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\n\",\n",
" \"description\": \"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n\",\n",
" \"description\": \"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n\",\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n"</span><span class=\"p\">,</span>\n",
" <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n"</span><span class=\"p\">,</span>\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment classifier using rule\\PYZhy{}based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment classifier using rule\\PYZhy{}based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment analysis with meaningCloud service.\\PYZbs{}nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\PYZbs{}nhttps://www.meaningcloud.com/developer/login\\PYZbs{}n\\PYZbs{}nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\PYZbs{}nExample request:\\PYZbs{}n\\PYZbs{}nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud\\PYZam{}language=en\\PYZam{}apiKey=YOUR\\PYZus{}API\\PYZus{}KEY\\PYZam{}input=I\\PYZpc{}20love\\PYZpc{}20Madrid.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \\PY{n+nt}{\\PYZdq{}description\\PYZdq{}}\\PY{p}{:} \\PY{l+s+s2}{\\PYZdq{}\\PYZbs{}nSentiment analysis with meaningCloud service.\\PYZbs{}nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\PYZbs{}nhttps://www.meaningcloud.com/developer/login\\PYZbs{}n\\PYZbs{}nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\PYZbs{}nExample request:\\PYZbs{}n\\PYZbs{}nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud\\PYZam{}language=en\\PYZam{}apiKey=YOUR\\PYZus{}API\\PYZus{}KEY\\PYZam{}input=I\\PYZpc{}20love\\PYZpc{}20Madrid.\\PYZbs{}n\\PYZdq{}}\\PY{p}{,}\n",
" \"description\": \"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.cluster.gsi.dit.upm.es.\\n\",\n",
" \"description\": \"\\nSentiment classifier using rule-based classification for Spanish. Based on english to spanish translation and SentiWordNet sentiment knowledge. This is a demo plugin that uses only some features from the TASS 2015 classifier. To use the entirely functional classifier you can use the service in: http://senpy.gsi.upm.es.\\n\",\n",
" \"description\": \"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.cluster.gsi.dit.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n\",\n",
" \"description\": \"\\nSentiment analysis with meaningCloud service.\\nTo use this plugin, you need to obtain an API key from meaningCloud signing up here:\\nhttps://www.meaningcloud.com/developer/login\\n\\nWhen you had obtained the meaningCloud API Key, you have to provide it to the plugin, using param apiKey.\\nExample request:\\n\\nhttp://senpy.gsi.upm.es/api/?algo=meaningCloud&language=en&apiKey=YOUR_API_KEY&input=I%20love%20Madrid.\\n\",\n",
And if you use Senpy in your research, please cite `Senpy: A Pragmatic Linked Sentiment Analysis Framework <http://gsi.dit.upm.es/index.php/es/investigacion/publicaciones?view=publication&task=show&id=417>`__ (`BibTex <http://gsi.dit.upm.es/index.php/es/investigacion/publicaciones?controller=publications&task=export&format=bibtex&id=417>`__):
And if you use Senpy in your research, please cite `Senpy: A Pragmatic Linked Sentiment Analysis Framework <http://gsi.upm.es/index.php/es/investigacion/publicaciones?view=publication&task=show&id=417>`__ (`BibTex <http://gsi.upm.es/index.php/es/investigacion/publicaciones?controller=publications&task=export&format=bibtex&id=417>`__):
@ -13,9 +13,9 @@ An overview of the vocabularies and their use can be found in [4].
[1] Guidelines for developing NIF-based NLP services, Final Community Group Report 22 December 2015 Available at: https://www.w3.org/2015/09/bpmlod-reports/nif-based-nlp-webservices/
[1] Guidelines for developing NIF-based NLP services, Final Community Group Report 22 December 2015 Available at: https://www.w3.org/2015/09/bpmlod-reports/nif-based-nlp-webservices/
[2] Marl Ontology Specification, available at http://www.gsi.dit.upm.es/ontologies/marl/
[2] Marl Ontology Specification, available at http://www.gsi.upm.es/ontologies/marl/
[3] Onyx Ontology Specification, available at http://www.gsi.dit.upm.es/ontologies/onyx/
[3] Onyx Ontology Specification, available at http://www.gsi.upm.es/ontologies/onyx/
[4] Iglesias, C. A., Sánchez-Rada, J. F., Vulcu, G., & Buitelaar, P. (2017). Linked Data Models for Sentiment and Emotion Analysis in Social Networks. In Sentiment Analysis in Social Networks (pp. 49-69).
[4] Iglesias, C. A., Sánchez-Rada, J. F., Vulcu, G., & Buitelaar, P. (2017). Linked Data Models for Sentiment and Emotion Analysis in Social Networks. In Sentiment Analysis in Social Networks (pp. 49-69).