非英语文本的情感分析
Sentiment analysis of non-English texts
我想分析用德语编写的文本的情绪。我找到了很多关于如何用英语做到这一点的教程,但我发现 none 关于如何将它应用到不同的语言。
我有个想法用TextBlob
Python库先把句子翻译成英文再做情感分析,但不知道是不是最好的方法来解决这个任务。
或者还有其他可能的方法来解决这个任务吗?
正如安迪在上面指出的那样,最好的方法是训练您自己的分类器。另一种更快速但更肮脏的方法是使用德语情感词典,例如 SentiWS,并仅根据单个单词的极性值(例如通过对它们求和)来计算句子的极性.这种方法不是万无一失的(例如,它不考虑否定),但它会相对快速地给出合理的结果。
或者作为分类的替代方法,您可以使用德语主观术语的情感词典。阅读本文 [1] 将大有裨益。使用基于词典的模型的优点是它不需要任何训练。
另一种方法是尝试混合模型,该模型涉及将词典中的术语作为分类器本身的特征,以及一些手动注释的训练集。
现在有针对德语文本的预训练情感分类器。 Hugging Face 发布了两个开源API如下
自从您 6 年前提出问题以来,非英语语言的情感分析已经取得了很大进展。今天,您拥有非常好的基于 Hugging Face Transformer 的模型,针对多种语言的情感分析进行了微调。在我看来,德语最好的是 https://huggingface.co/oliverguhr/german-sentiment-bert
如果你不能或不想运行你自己的模型,你也可以使用像这样的API我最近开发的API:NLP Cloud.我最近添加了上面的德国模型进行情绪分析。
非英语NLP还远非完美。大多数数据集只有英文,但生态系统正在逐步取得进展。
还有一个专用的德语 TextBlob:https://textblob-de.readthedocs.io/en/latest/ (under active development 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
效果很好。
我想分析用德语编写的文本的情绪。我找到了很多关于如何用英语做到这一点的教程,但我发现 none 关于如何将它应用到不同的语言。
我有个想法用TextBlob
Python库先把句子翻译成英文再做情感分析,但不知道是不是最好的方法来解决这个任务。
或者还有其他可能的方法来解决这个任务吗?
正如安迪在上面指出的那样,最好的方法是训练您自己的分类器。另一种更快速但更肮脏的方法是使用德语情感词典,例如 SentiWS,并仅根据单个单词的极性值(例如通过对它们求和)来计算句子的极性.这种方法不是万无一失的(例如,它不考虑否定),但它会相对快速地给出合理的结果。
或者作为分类的替代方法,您可以使用德语主观术语的情感词典。阅读本文 [1] 将大有裨益。使用基于词典的模型的优点是它不需要任何训练。
另一种方法是尝试混合模型,该模型涉及将词典中的术语作为分类器本身的特征,以及一些手动注释的训练集。
现在有针对德语文本的预训练情感分类器。 Hugging Face 发布了两个开源API如下
自从您 6 年前提出问题以来,非英语语言的情感分析已经取得了很大进展。今天,您拥有非常好的基于 Hugging Face Transformer 的模型,针对多种语言的情感分析进行了微调。在我看来,德语最好的是 https://huggingface.co/oliverguhr/german-sentiment-bert
如果你不能或不想运行你自己的模型,你也可以使用像这样的API我最近开发的API:NLP Cloud.我最近添加了上面的德国模型进行情绪分析。
非英语NLP还远非完美。大多数数据集只有英文,但生态系统正在逐步取得进展。
还有一个专用的德语 TextBlob:https://textblob-de.readthedocs.io/en/latest/ (under active development 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
效果很好。