1

您好,我对用于确定句子中单词上下文的 API 感到好奇

自从我看到情绪聚合器的出现——试图评估句子情绪的脚本——我一直想知道这个更复杂的版本。基本上我看到的情感聚合器其实很简单,他们只是尝试给一个句子分配一个正负值,但仍然不知道上下文。同样,我对机器检测上下文的当前进展感到失望

我在想一个更复杂的算法会为一个词分配更多属性并将它们与其他词进行比较

例子:

The quick brown fox jumped over a lazy dog.

狐狸这个词将被解释为一个对象

{
    word: fox,
    type: noun,
    relation: ...
}

例如,它现在知道 fox 指的是哺乳动物,而不是动词“to baffle of deceive”,这对于翻译成另一种语言或判断机器人的良好反应很有用

是否有任何好的 API 或开源项目?

4

3 回答 3

2

从来没有深入研究过 NLP,但听起来像“词性标注器”可以让你知道一个词在特定上下文中是名词还是动词。这个至少对你的句子有用。http://cogcomp.cs.illinois.edu/demo/pos/?id=4

于 2013-02-24T21:04:55.713 回答
1

For advanced sentiment analysis, one possible step is to find the word sense of each word and the dependencies between the words. There is a lot that you can do Once you have that information. For example, you can handle negations, smooth the senses using parenting (broader concept), etc. You can also go beyond the simple like/dislike to identify targetted intents or topics (e.g., violence, illegal activities, etc). The ability to properly detect the sense of the word eliminates much of the noise. (For example the word "like" does not convey sentiment in "Like others, I've ...".)

于 2013-02-26T00:27:51.580 回答
0

正如您所提到的,单词单独具有某些含义,并且它们在不同的句子中具有不同的含义。让我们假设一个词有一个含义列表。当将单词从一种语言翻译成另一种语言时,可以预测单词的含义是该列表中的哪个含义在该句子中具有最高的概率(在给定句子中与其他单词的概率更高)

这种情况可以通过机器学习中的 HMM 来解决。你可以从康奈尔大学的网站上阅读关于隐马尔可夫模型和文本翻译的博客文章。

你应该看看那种 API。斯坦福大学有一个 Java NLP Api,你应该看看这里:http ://dbpubs.stanford.edu:8091/~klein/javadoc/edu/stanford/nlp/ie/hmm/package-tree.html

于 2013-02-25T21:34:15.370 回答