pysentimiento
1.0.0
一個基於變壓器的庫,用於社交NLP任務。
目前支持:
| 任務 | 語言 |
|---|---|
| 情感分析 | es,en,it,pt |
| 仇恨言論檢測 | es,en,it,pt |
| 諷刺檢測 | es,en,it,pt |
| 情緒分析 | es,en,it,pt |
| ner&pos標籤 | es,en |
| 情境化的仇恨言論檢測 | es |
| 目標情感分析 | es |
只需pip install pysentimiento並開始使用它:
from pysentimiento import create_analyzer
analyzer = create_analyzer ( task = "sentiment" , lang = "es" )
analyzer . predict ( "Qué gran jugador es Messi" )
# returns AnalyzerOutput(output=POS, probas={POS: 0.998, NEG: 0.002, NEU: 0.000})
analyzer . predict ( "Esto es pésimo" )
# returns AnalyzerOutput(output=NEG, probas={NEG: 0.999, POS: 0.001, NEU: 0.000})
analyzer . predict ( "Qué es esto?" )
# returns AnalyzerOutput(output=NEU, probas={NEU: 0.993, NEG: 0.005, POS: 0.002})
analyzer . predict ( "jejeje no te creo mucho" )
# AnalyzerOutput(output=NEG, probas={NEG: 0.587, NEU: 0.408, POS: 0.005})
"""
Emotion Analysis in English
"""
emotion_analyzer = create_analyzer ( task = "emotion" , lang = "en" )
emotion_analyzer . predict ( "yayyy" )
# returns AnalyzerOutput(output=joy, probas={joy: 0.723, others: 0.198, surprise: 0.038, disgust: 0.011, sadness: 0.011, fear: 0.010, anger: 0.009})
emotion_analyzer . predict ( "fuck off" )
# returns AnalyzerOutput(output=anger, probas={anger: 0.798, surprise: 0.055, fear: 0.040, disgust: 0.036, joy: 0.028, others: 0.023, sadness: 0.019})
"""
Hate Speech (misogyny & racism)
"""
hate_speech_analyzer = create_analyzer ( task = "hate_speech" , lang = "es" )
hate_speech_analyzer . predict ( "Esto es una mierda pero no es odio" )
# returns AnalyzerOutput(output=[], probas={hateful: 0.022, targeted: 0.009, aggressive: 0.018})
hate_speech_analyzer . predict ( "Esto es odio porque los inmigrantes deben ser aniquilados" )
# returns AnalyzerOutput(output=['hateful'], probas={hateful: 0.835, targeted: 0.008, aggressive: 0.476})
hate_speech_analyzer . predict ( "Vaya guarra barata y de poca monta es XXXX!" )
# returns AnalyzerOutput(output=['hateful', 'targeted', 'aggressive'], probas={hateful: 0.987, targeted: 0.978, aggressive: 0.969})有關受支持的任務和語言的更多詳細信息,以及每個基準模型的性能,請參見任務。
另外,請檢查這些筆記本,其中包括如何使用pysentimiento作為每種語言的示例:
pysentimiento具有一條推文預處理器,非常適合使用基於變壓器的模型進行推文分類。
from pysentimiento . preprocessing import preprocess_tweet
# Replaces user handles and URLs by special tokens
preprocess_tweet ( "@perezjotaeme debería cambiar esto http://bit.ly/sarasa" ) # "@usuario debería cambiar esto url"
# Shortens repeated characters
preprocess_tweet ( "no entiendo naaaaaaaadaaaaaaaa" , shorten = 2 ) # "no entiendo naadaa"
# Normalizes laughters
preprocess_tweet ( "jajajajaajjajaajajaja no lo puedo creer ajajaj" ) # "jaja no lo puedo creer jaja"
# Handles hashtags
preprocess_tweet ( "esto es #UnaGenialidad" )
# "esto es una genialidad"
# Handles emojis
preprocess_tweet ( "??" , lang = "en" )
# 'emoji party popper emoji emoji party popper emoji' git clone https://github.com/pysentimiento/pysentimiento
pip install poetry
poetry shell
poetry install
檢查Train.MD以獲取有關如何培訓模型的更多信息
注意:您需要訪問數據集,這些數據集暫時不是公開的。給我們發送電子郵件以訪問它們。
檢查huggingface文檔中的“模型共享和上傳”說明。
pysentimiento是一個開源庫。但是,請注意,模型接受了第三方數據集培訓,並受其各自的許可,其中許多是用於非商業用途的
TASS數據集許可(西班牙語中情感分析的許可證,西班牙語和英語的情感分析)
Semeval 2017數據集許可證(英語的情感分析)
Lince數據集(NER和POS標籤的許可證)
請使用存儲庫問題跟踪器指出錯誤並提出建議(新型號,使用其他數據集,其他一些語言等)
如果您在工作中使用pysentimiento ,請引用本文
@misc { perez2021pysentimiento ,
title = { pysentimiento: A Python Toolkit for Opinion Mining and Social NLP tasks } ,
author = { Juan Manuel Pérez and Mariela Rajngewerc and Juan Carlos Giudici and Damián A. Furman and Franco Luque and Laura Alonso Alemany and María Vanina Martínez } ,
year = { 2023 } ,
eprint = { 2106.09462 } ,a
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}此外,請求與您使用的特定模型有關相關的預訓練模型和數據集。檢查參考文獻以獲取詳細信息。