# GSADZ - Ferramenta de Análise de Sentimento para a língua portuguesa
O **gsadz** apresenta-se como um módulo de análise de sentimento para a língua portuguesa, baseado num léxico de sentimentos denominado [```SentiLex-PT 02```](https://b2find.eudat.eu/dataset/b6bd16c2-a8ab-598f-be41-1e7aeecd60d3), e um conjunto de negadores e boosters adaptados a partir da recolha através da ferramenta [```LeIA```](https://github.com/rafjaa/LeIA).
### Exemplo de Utilização
#### Como módulo:
O módulo SentimentAnalysis apresenta dois parâmetros relativos à calibração das polaridades, conferindo a possibilidade de atribuição de diferentes pesos entre elas.
```py
from gsadz import SentimentAnalysis
text = "Nesta bela manhã, encontro-me feliz."
```
- Sem calibração de polaridades
```py
sa = SentimentAnalysis()
print(sa.polarity_result(text))
# {'Polarity': 1.0, 'Words': 5, 'Puncts': 2, 'Boosters': 0, 'Deniers': 0, 'Positives': 2, 'Negatives': 0, 'Neutrals': 0}
```
- Com calibração de polaridades
```py
# A polaridade positiva apresenta um peso de 1.75 e a negativa de 0.75
sa = SentimentAnalysis(1.75, 0.75)
print(sa.polarity_result(text))
# {'Polarity': 1.75, 'Words': 5, 'Puncts': 2, 'Boosters': 0, 'Deniers': 0, 'Positives': 2, 'Negatives': 0, 'Neutrals': 0}
```
#### Como script:
```
gsadz [Opção].. [Ficheiro]...
Sem Ficheiro, o input é recebido através do stdin.
Opções
-n NUM Calibração de polaridade negativa
-p NUM Calibração de polaridade positiva
-v Output em modo non-verbose
```
### Features
- Negadores
```py
print(sa.polarity_result("Não gosto nada de ti."))
# {'Polarity': -1.0, 'Words': 5, 'Puncts': 1, 'Boosters': 0, 'Deniers': 1, 'Positives': 1, 'Negatives': 0, 'Neutrals': 0}
```
- Boosters
```py
print(sa.polarity_result("És incrivelmente inteligente."))
# {'Polarity': 1.25, 'Words': 3, 'Puncts': 1, 'Boosters': 1, 'Deniers': 0, 'Positives': 1, 'Negatives': 0, 'Neutrals': 0}
```
- Expressões idiomáticas
```py
print(sa.polarity_result("O João dá de frosques."))
# {'Polarity': -1.0, 'Words': 5, 'Puncts': 1, 'Boosters': 0, 'Deniers': 0, 'Positives': 0, 'Negatives': 1, 'Neutrals': 0}
```
### Output
* ```Polarity```: Valor final da polaridade do input
+ ```Polarity > 0``` : Sentimento positivo
+ ```Polarity == 0```: Sentimento neutro
+ ```Polarity < 0``` : Sentimento Negativo
* ```Words```: Total de palavras
* ```Puncts```: Total de tokens relativos a qualquer pontuação
* ```Boosters```: Total de intensificadores
* ```Deniers```: Total de palavras de negadores
* ```Positives```: Total de palavras com polaridade positiva
* ```Negatives```: Total de palavras com polaridade negativa
* ```Neutrals```: Total de palavras com polaridade neutra
### Instalação
```
$ pip install gsadz
$ python -m spacy download pt_core_news_lg
```
Raw data
{
"_id": null,
"home_page": null,
"name": "gsadz",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "gsadz, sentiment analysis, SentiLex-PT, spacy",
"author": null,
"author_email": "duarte <duarte.g.parente@gmail.com>, goncalo <goncalocp02@gmail.com>, topzN <jose.moreira.um@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/98/6f/b8337f127ae819ace85dd734c7d30ecfb44feeddf34388648689c08a9664/gsadz-0.1.0.tar.gz",
"platform": null,
"description": "# GSADZ - Ferramenta de An\u00e1lise de Sentimento para a l\u00edngua portuguesa\n\nO **gsadz** apresenta-se como um m\u00f3dulo de an\u00e1lise de sentimento para a l\u00edngua portuguesa, baseado num l\u00e9xico de sentimentos denominado [```SentiLex-PT 02```](https://b2find.eudat.eu/dataset/b6bd16c2-a8ab-598f-be41-1e7aeecd60d3), e um conjunto de negadores e boosters adaptados a partir da recolha atrav\u00e9s da ferramenta [```LeIA```](https://github.com/rafjaa/LeIA).\n\n### Exemplo de Utiliza\u00e7\u00e3o\n\n#### Como m\u00f3dulo:\nO m\u00f3dulo SentimentAnalysis apresenta dois par\u00e2metros relativos \u00e0 calibra\u00e7\u00e3o das polaridades, conferindo a possibilidade de atribui\u00e7\u00e3o de diferentes pesos entre elas.\n\n```py\nfrom gsadz import SentimentAnalysis\n\ntext = \"Nesta bela manh\u00e3, encontro-me feliz.\"\n```\n\n- Sem calibra\u00e7\u00e3o de polaridades\n```py\nsa = SentimentAnalysis()\n\nprint(sa.polarity_result(text))\n# {'Polarity': 1.0, 'Words': 5, 'Puncts': 2, 'Boosters': 0, 'Deniers': 0, 'Positives': 2, 'Negatives': 0, 'Neutrals': 0}\n```\n\n- Com calibra\u00e7\u00e3o de polaridades\n```py\n# A polaridade positiva apresenta um peso de 1.75 e a negativa de 0.75\nsa = SentimentAnalysis(1.75, 0.75)\n\nprint(sa.polarity_result(text))\n# {'Polarity': 1.75, 'Words': 5, 'Puncts': 2, 'Boosters': 0, 'Deniers': 0, 'Positives': 2, 'Negatives': 0, 'Neutrals': 0}\n```\n\n#### Como script:\n```\ngsadz [Op\u00e7\u00e3o].. [Ficheiro]...\n\nSem Ficheiro, o input \u00e9 recebido atrav\u00e9s do stdin.\n\nOp\u00e7\u00f5es\n\n -n NUM Calibra\u00e7\u00e3o de polaridade negativa\n\n -p NUM Calibra\u00e7\u00e3o de polaridade positiva\n\n -v Output em modo non-verbose\n```\n\n\n### Features\n\n- Negadores\n```py\nprint(sa.polarity_result(\"N\u00e3o gosto nada de ti.\"))\n# {'Polarity': -1.0, 'Words': 5, 'Puncts': 1, 'Boosters': 0, 'Deniers': 1, 'Positives': 1, 'Negatives': 0, 'Neutrals': 0}\n```\n- Boosters\n```py\nprint(sa.polarity_result(\"\u00c9s incrivelmente inteligente.\"))\n# {'Polarity': 1.25, 'Words': 3, 'Puncts': 1, 'Boosters': 1, 'Deniers': 0, 'Positives': 1, 'Negatives': 0, 'Neutrals': 0}\n```\n\n- Express\u00f5es idiom\u00e1ticas \n```py\nprint(sa.polarity_result(\"O Jo\u00e3o d\u00e1 de frosques.\"))\n# {'Polarity': -1.0, 'Words': 5, 'Puncts': 1, 'Boosters': 0, 'Deniers': 0, 'Positives': 0, 'Negatives': 1, 'Neutrals': 0}\n```\n\n### Output\n\n* ```Polarity```: Valor final da polaridade do input\n + ```Polarity > 0``` : Sentimento positivo\n + ```Polarity == 0```: Sentimento neutro\n + ```Polarity < 0``` : Sentimento Negativo\n\n* ```Words```: Total de palavras\n* ```Puncts```: Total de tokens relativos a qualquer pontua\u00e7\u00e3o\n* ```Boosters```: Total de intensificadores\n* ```Deniers```: Total de palavras de negadores\n* ```Positives```: Total de palavras com polaridade positiva\n* ```Negatives```: Total de palavras com polaridade negativa\n* ```Neutrals```: Total de palavras com polaridade neutra\n\n\n### Instala\u00e7\u00e3o\n```\n$ pip install gsadz\n$ python -m spacy download pt_core_news_lg\n```\n\n\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "NAME",
"version": "0.1.0",
"project_urls": {
"Source": "https://github.com/duarteparente/gsadz"
},
"split_keywords": [
"gsadz",
" sentiment analysis",
" sentilex-pt",
" spacy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "095d68c43f8194e8fd4f1e05bd308bcbcc2b1b792efd0c661203c488afddcfe8",
"md5": "82ed003d9eb391a4c792bf06bc6d4111",
"sha256": "3562e966b52b41e941f7a1ccad005211fc4b2192b8c1409836ea878f69e4eeb7"
},
"downloads": -1,
"filename": "gsadz-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "82ed003d9eb391a4c792bf06bc6d4111",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 604027,
"upload_time": "2024-04-12T14:24:02",
"upload_time_iso_8601": "2024-04-12T14:24:02.479996Z",
"url": "https://files.pythonhosted.org/packages/09/5d/68c43f8194e8fd4f1e05bd308bcbcc2b1b792efd0c661203c488afddcfe8/gsadz-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "986fb8337f127ae819ace85dd734c7d30ecfb44feeddf34388648689c08a9664",
"md5": "b89a3dec5ebb9e5cdb92df10cdda4b63",
"sha256": "96db604ed29f2d67bd327dfed269be76c5c763e9b9a189cdb07a7a7bd0a3ea29"
},
"downloads": -1,
"filename": "gsadz-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b89a3dec5ebb9e5cdb92df10cdda4b63",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 584893,
"upload_time": "2024-04-12T14:24:05",
"upload_time_iso_8601": "2024-04-12T14:24:05.816687Z",
"url": "https://files.pythonhosted.org/packages/98/6f/b8337f127ae819ace85dd734c7d30ecfb44feeddf34388648689c08a9664/gsadz-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-12 14:24:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "duarteparente",
"github_project": "gsadz",
"github_not_found": true,
"lcname": "gsadz"
}