Eine transformatorbasierte Bibliothek für SocialNLP-Aufgaben.
Derzeit unterstützt:
| Aufgabe | Sprachen |
|---|---|
| Stimmungsanalyse | Es, en, it, pt |
| Erkennung von Hassreden | Es, en, it, pt |
| Ironieerkennung | Es, en, it, pt |
| Emotionsanalyse | Es, en, it, pt |
| Ner & POS -Tagging | es, en |
| Kontextualisierte Hassredenerkennung | es |
| Gezielte Stimmungsanalyse | es |
pip install pysentimiento und verwenden Sie es:
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})Weitere Informationen zu den unterstützten Aufgaben und Sprachen finden Sie auf den Aufgaben sowie für die gemeldete Leistung für jedes Benchmarked -Modell.
Überprüfen Sie diese Notizbücher auch mit Beispielen für die Verwendung pysentimiento für jede Sprache:
pysentimiento verfügt über einen Tweet-Präprozessor, der speziell für die Tweet-Klassifizierung mit Transformator-basierten Modellen geeignet ist.
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
Weitere Informationen zum Training Ihrer Modelle finden Sie unter Train.MD
Hinweis: Sie benötigen Zugriff auf die Datensätze, die vorerst nicht öffentlich sind. Senden Sie uns eine E -Mail, um Zugriff auf sie zu erhalten.
Überprüfen Sie die Anweisungen "Modellfreigabe und hochladen" in Dokumenten huggingface .
pysentimiento ist eine Open-Source-Bibliothek. Bitte beachten Sie jedoch, dass Modelle mit Datensätzen von Drittanbietern geschult werden und ihren jeweiligen Lizenzen unterliegen, von denen viele für den nicht kommerziellen Gebrauch bestimmt sind
TASS -Datensatzlizenz (Lizenz für Stimmungsanalyse in Spanisch, Emotionsanalyse in Spanisch und Englisch)
Semeval 2017 Datensatzlizenz (Sentimentanalyse in Englisch)
Lince -Datensätze (Lizenz für NER & POS -Tagging)
Bitte verwenden Sie den Repository -Problem -Tracker, um auf Fehler hinweisen und Vorschläge zu machen (neue Modelle, andere Datensätze, einige andere Sprachen usw.).
Wenn Sie pysentimiento in Ihrer Arbeit verwenden, zitieren Sie bitte dieses Papier
@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 }
}Außerdem zitieren die vorhandenen vorgebrachten Modelle und Datensätze für die spezifischen Modelle, die Sie verwenden. Überprüfen Sie die Referenzen für Details.