gpt4 book ai didi

tree - 如何从一个复杂的句子中提取主要的主宾短语?

转载 作者:行者123 更新时间:2023-12-01 09:28:37 24 4
gpt4 key购买 nike

在斯坦福解析器的文档中,给出了以下例句:

The strongest rain ever recorded in India shut down the financial hub of Mumbai, snapped communication lines, closed airports and forced thousands of people to sleep in their offices or walk home during the night, officials said today.

这会产生解析树:

[ROOT [S [S [NP [NP [DT The] [JJS strongest] [NN rain] ] [VP [ADVP [RB ever] ] [VBN recorded][PP [IN in] [NP [NNP India] ] ] ] ] [VP [VP [VBD shut] [PRT [RP down] ] [NP [NP [DT the] [JJ financial] [NN hub] ] [PP [IN of] [NP [NNP Mumbai] ] ] ] ] [, ,] [VP [VBD snapped] [NP [NN communication] [NNS lines] ] ] [, ,] [VP [VBD closed] [NP [NNS airports] ] ] [CC and] [VP [VBD forced] [NP [NP [NNS thousands] ] [PP [IN of] [NP [NNS people] ] ] ] [S [VP [TO to] [VP [VP [VB sleep] [PP [IN in] [NP [PRP$ their] [NNS offices] ] ] ] [CC or] [VP [VB walk] [NP [NN home] ] [PP [IN during] [NP [DT the] [NN night] ] ] ] ] ] ] ] ] ] [, ,] [NP [NNS officials] ] [VP [VBD said] [NP-TMP [NN today] ] ] [. .] ] ]

(见 http://i.imgur.com/mZLBDmh.png)。

什么样的 NLP 工具能够输出上述复杂句子示例中的句子主语和宾语? 期望的输出:

sentence_subj_phrase = "the strongest rain ever recorded in India"
sentence_obj_phrase = "the financial hub of Mumbai"

FROM ORIGINAL OP's POST(这只是关于他认为不起作用的细节):

在句子中提取主语和宾语的一种简单方法是找到紧接在动词之前和之后的名词短语。然而,在复杂的句子中,有多个动词,因此有多个主语和宾语。可以将这样的复杂句子视为多个句子(使用独立子句的第一部分作为“根”,并将第二部分替换为每个从属子句),但通常第一个子句是最重要的,并且可以被认为是句子的主要“主题”。

进行简单的 BFS 以找到动词之前的第一个 NP 将导致“官员”成为主语,因为它处于最低深度级别。这没有捕捉到包含主语的第一个子句的直觉。我尝试的一种方法是在第一个“基础”S 节点(即以 S 节点为根的最低级别子树)中搜索 NP,但在这种情况下,它将捕获以 S3 为根的节点。

最佳答案

您似乎在某种程度上混淆了主题和语法主题的概念。 “官员”是“说”的一个很好的语法主语。正如您所解释的那样,您应该考虑查找子句的主题(树中的“S”子树)而不是句子的主题。在您的示例中,“最强的雨......”是 S_2 的语法主题。

如果您只需要句子中任何子句中的第一个语法主语,请使用您选择的任何算法(S->NP VP 子树中的 NP 等)查找所有 S 子树中的所有主语,然后选择整个树中最左边的那个。 (不过,这显然不一定能找到一个好的话题。)

关于tree - 如何从一个复杂的句子中提取主要的主宾短语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19031199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com