Artificial intelligence 如何确定主语、宾语和其他词语?

Artificial intelligence 如何确定主语、宾语和其他词语?,artificial-intelligence,nlp,Artificial Intelligence,Nlp,我正在尝试实现一个应用程序,它可以通过将句子分成更小的部分来确定句子的意思。所以我需要知道什么词是主语、宾语等,这样我的程序才能知道如何处理这个句子。我想没有“简单”的方法可以做到这一点。您必须构建一个语言分析器(这是很有可能的),然而,一种语言有很多例外情况。这就是为什么实现语言分析器如此困难的原因。您应该看看,它正是针对这类事情的 请参阅本手册的这一部分:-以下是摘录: >>> text = nltk.word_tokenize("And now for something

我正在尝试实现一个应用程序,它可以通过将句子分成更小的部分来确定句子的意思。所以我需要知道什么词是主语、宾语等,这样我的程序才能知道如何处理这个句子。

我想没有“简单”的方法可以做到这一点。您必须构建一个语言分析器(这是很有可能的),然而,一种语言有很多例外情况。这就是为什么实现语言分析器如此困难的原因。

您应该看看,它正是针对这类事情的

请参阅本手册的这一部分:-以下是摘录:

>>> text = nltk.word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]

“这里我们看到,是CC,一个协调连词;现在和完全是RB,或副词;for是IN,一个介词;某物是NN,一个名词;不同的是JJ,一个形容词。”

这是一个开放的研究问题。你可以在维基百科上获得一个概览。考虑诸如“时光飞逝,像果蝇一样的香蕉”这样的短语——明确地分类单词是不容易的。

< P>你提到的具体问题,即对一个从句的主语和宾语的识别,是通过。通过使用斯坦福大学开发的解析软件,您可以很好地了解解析的工作原理


然而,句法分析并不决定句子的意思,只决定句子的结构。确定意义(语义)通常是一个非常困难的问题,没有任何技术能够像人类那样真正“理解”一个句子。虽然没有通用的解决方案,但您可能能够在非常有限的主题领域中做一些事情。例如,你想分析的数据是关于一个狭窄的话题,还是人们谈论的一组有限的“事物”?

Stompchick对这个问题给出了正确的答案,但我想补充一点,主语和宾语的概念被称为语法关系,Briscoe和Carroll是一个解析器,可以从解析中推断出关系列表

下面是他们的一些示例输出。这是一句话的输出摘录,开头是“我们描述了一种稳健准确的领域独立方法…”:

(| ncsubject | | description:2|vvv0| | We:1|PPIS2| |)

(| dobj | | descripe:2_vvv0 | | approach:7_NN1 |)

NLTK对于这类事情来说是一个很好的资源,但是词性标记不能提供足够的语法信息来区分主语/宾语角色。我认为手册的第8章(分析句子结构)更合适。