我想分析用德语写的文本的情绪。我找到了很多关于如何用英语做到这一点的教程,但我没有找到关于如何将其应用于不同语言的教程。
我有一个想法,使用TextBlob
Python 库先将句子翻译成英文,然后进行情感分析,但我不确定这是否是解决此任务的最佳方法。
或者有没有其他可能的方法来解决这个任务?
我想分析用德语写的文本的情绪。我找到了很多关于如何用英语做到这一点的教程,但我没有找到关于如何将其应用于不同语言的教程。
我有一个想法,使用TextBlob
Python 库先将句子翻译成英文,然后进行情感分析,但我不确定这是否是解决此任务的最佳方法。
或者有没有其他可能的方法来解决这个任务?
现在有一个针对德语文本的预训练情感分类器。Hugging Face 发布了两个开源 API,如下所示。
正如安迪在上面指出的那样,最好的方法是训练你自己的分类器。另一种更快速和肮脏的方法是使用德语情感词典,例如SentiWS,并简单地根据单个单词的极性值(例如通过求和)来计算句子的极性。这种方法不是万无一失的(例如,它不考虑否定),但它会相对较快地给出合理的结果。
自从您 6 年前提出问题以来,非英语语言的情感分析已经取得了很大进展。今天,您拥有非常出色的基于 Hugging Face Transformer 的模型,针对多种语言的情绪分析进行了微调。在我看来,最好的德语是https://huggingface.co/oliverguhr/german-sentiment-bert
如果你不能或不想运行自己的模型,你也可以使用我最近开发的这个 API 之类的 API:NLP Cloud。我最近添加了上述德国模型进行情绪分析。
非英语 NLP 仍然远非完美。大多数数据集只有英文,但生态系统正在逐步取得进展。
还有一个专用的德语 TextBlob:https ://textblob-de.readthedocs.io/en/latest/(此处正在积极开发中):
例子:
from textblob_de import TextBlobDE as TextBlob
doc = "Es gibt kein richtiges Leben im falschen."
blob = TextBlob(doc)
blob.sentiment
# Sentiment(polarity=-1.0, subjectivity=0.0)
截至 2022 年 2 月,(仍然)没有可用的主观评分,并且某些功能不起作用(例如.translate()
)。不过,.noun_phrases
还是.tags
做的很好。
或者作为分类的替代方法,您可以使用德语主观术语的情感词典。阅读本文会有所帮助 [ 1 ]。使用基于词典的模型的优点是它不需要任何培训。
另一种方法是尝试混合模型,该模型涉及将词典中的术语作为分类器本身的特征,以及一些手动注释的训练集。