非英语文本的情感分析

7

我想分析德语文本的情感。我发现了许多关于如何处理英语文本情感分析的教程,但是没有找到如何将其应用于其他语言的方法。

我的想法是使用TextBlob Python库,首先将句子翻译成英语,然后进行情感分析,但我不确定这是否是解决此任务的最佳方法。

还有其他可能解决此任务的方法吗?


1
你可以将相同的逻辑应用于德语文本。不过你需要分类好的德语文本。你卡在这里了吗?是在寻找可用的德语语料库吗? - Andy
@Andy,我想知道是否存在一些已经有训练好的分类器的库,或者我需要自己做所有的事情。 - warmspringwinds
1
你将需要训练自己的分类器。 - Andy
@Andy,谢谢。如果你知道一个好的德语语料库,你真的会帮助我。 - warmspringwinds
如果你需要一个二元情感语料库,可以尝试使用Twitter,在德语推文中搜索带有正面和负面极性的相关笑脸符号::) 和:(。虽然你会缺少一个中立类别,但这可能有助于快速入门。 - bendaizer
5个回答

3

2
正如Andy所指出的那样,最好的方法是训练自己的分类器。另一种更快速而粗略的方法是使用德语情感词典,比如SentiWS,并根据单词的极性值(例如通过求和)计算一个句子的情感极性。这种方法并不是万无一失的(例如它没有考虑否定),但相对快速地给出了合理的结果。

1
自从您六年前提出问题以来,非英语情感分析取得了很大进展。今天,您可以使用基于Hugging Face Transformer的非常好的模型,用于许多语言的情感分析微调。在我看来,德语最好的模型是https://huggingface.co/oliverguhr/german-sentiment-bert
如果您无法或不想运行自己的模型,则还可以使用像我最近开发的这个API:NLP Cloud。我最近添加了上述用于情感分析的德语模型。
非英语NLP仍然远非完美。大多数数据集仅限于英语,但生态系统正在逐步取得进展。

0

还有一个专门的德语TextBlob: https://textblob-de.readthedocs.io/en/latest/ (正在积极开发中 here):

示例:

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非常有效。

0

或者作为分类的替代方案,您可以使用一个德语主观术语情感词典。阅读这篇论文[1]将会有所裨益。使用基于词典的模型的优点是不需要任何训练。

另一种方法是尝试混合模型,其中涉及将词典中的术语作为分类器本身的特征输入,以及一些手动注释的训练集。


你提供的链接对我来说是404错误。你是不是想推荐《第一届主观性和情感分析计算方法研讨会论文集》这篇文章? - Kay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接