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 }
}此外,请求与您使用的特定模型有关相关的预训练模型和数据集。检查参考文献以获取详细信息。