我已经使用 Lingpipe 的情感分析模块实现了情感分析。我知道他们为此使用了动态 LR 模型。它只是告诉我测试字符串是积极情绪还是消极情绪。我可以使用什么想法来确定表达情感的对象?
如果文本被归类为积极情绪,我想获得表达情绪的对象——这可能是电影名称、产品名称或其他。
我已经使用 Lingpipe 的情感分析模块实现了情感分析。我知道他们为此使用了动态 LR 模型。它只是告诉我测试字符串是积极情绪还是消极情绪。我可以使用什么想法来确定表达情感的对象?
如果文本被归类为积极情绪,我想获得表达情绪的对象——这可能是电影名称、产品名称或其他。
虽然这个问题真的很老,但我想为他人的利益回答它。
您在这里想要的是概念级别的情感分析。对于一个非常基本的版本,我建议按照以下步骤操作:
应用句子拆分器。您可以使用 Lingpipe 的 Sentence Splitter 或 OpenNLP Sentence Detector。
应用部分规范标记。同样,您可以使用 Lingpipe 的 POS 标记器或 OpenNLP POS 标记器。
然后,您需要识别被 POS 标记器识别为“名词”的标记。这些标记有可能成为句子中的目标实体。
然后你需要在句子中找到情感词。最简单的方法是使用带有情感的单词词典。你可以在网上找到很多这样的词典。
下一步将找出句子中的依赖关系。这可以通过使用Stanford Dependency Parser来实现。例如,如果您在他们的在线演示中尝试使用“ This phone is good. ”这句话,您可以看到以下“Typed Dependencies”:
det(phone-2, This-1), nsubj(good-4, phone-2) , cop(good-4, is-3), root(ROOT-0, good-4)
这里的依存关系nsubj(good-4, phone-2)表示phone是记号good的名义主语,这意味着单词good表示phone。我确信您的情感词典将包含单词good并且phone会被POS 标记器识别为名词。因此,您可以得出结论,对于实体phone表达了良好的情绪。
这是一个非常基本的例子。您可以更进一步,围绕依赖关系创建规则以提取更复杂的情感实体对。您还可以为您的情感词分配分数,并根据该句子中情感词的出现次数得出该句子的总分。
通常情感句子意味着该句子的主要实体是该情感的对象。所以基本的启发式是NER并获得第一个对象。否则,您应该使用深度解析 NLP 工具包并编写一些规则来将情感与对象联系起来。