情感分析

7

在进行情感分析时,我该如何让机器理解我所指的是苹果公司(iPhone),而不是苹果这种水果?

谢谢您的建议!


是的,就编程而言,我正在使用Python。请给予建议,谢谢! - pekky
你可以使用词嵌入来识别上下文。 - Demotte
4个回答

4

嗯,有几种方法,我会从检查大写字母开始,通常在涉及姓名时,第一个字母是大写的。

在进行情感分析之前,我会使用一些词性标注和命名实体识别来标记相关单词。

Stanford CoreNLP 是一个很好的文本分析项目,它将教你基本概念。

CoreNLP 的示例:

enter image description here

您可以看到标记如何帮助您。

并且请查看更多信息


非常感谢您的指导,Ofiris。我会认真学习的。非常感谢! :) - pekky
嗯,我读了关于nltk的文章..被认为是最好的?我明白了..我正在使用Python进行产品品牌的Twitter情感分析。在编程方面不是很强。感谢您的指导。有效的方法是执行POS标记和命名实体识别以过滤掉无关的推文,然后使用朴素贝叶斯分类器进行分类?我发现许多文章都采用不同的方法来做这件事,但我有点困惑.. - pekky
顶级NLTK问题,希望这能帮助您了解基本的方法。 - Ofiris

3
如Ofiris所描述,命名实体识别(NER)只是解决您问题的一种方法。我认为使用单词嵌入来代表您的单词更加有效。这样机器就可以自动识别单词的上下文。例如,“苹果”大多与“吃”一起出现,但如果给定输入“苹果”与“手机”或该领域中的任何其他单词一起出现,机器将理解它是“iPhone苹果”而不是“苹果水果”。生成单词嵌入的两种流行方法是word2vec和fasttext。 Gensim提供了更可靠的word2vec和fasttext实现。 https://radimrehurek.com/gensim/models/word2vec.html https://radimrehurek.com/gensim/models/fasttext.html

0

这个问题已经被许多开源的预训练NER模型解决了。无论如何,您可以尝试重新训练现有的NER模型,以微调它们来解决此问题。 您可以在Spacy NER 这里找到一个NER结果的演示。

enter image description here


0

在处理日期、知名品牌、vip或历史人物时,可以使用命名实体识别算法(Named Entity Recognition,NER);在这种情况下,正如Ofiris建议的那样,Stanford CoreNLP提供了一个很好的命名实体识别器。

对于多义词的更普遍消歧(即,具有多个意义的词,例如“好”),您可以使用词性标注器结合词义消歧(Word Sense Disambiguation,WSD)算法。后者的示例可以在此处找到,但我不知道是否有任何可免费下载的库可用于此目的。


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