当前位置: 首页 > 知识库问答 >
问题:

提取主语、谓语、宾语等词函数的软件

谢锦程
2023-03-14

我需要提取句子中单词的关系。我最感兴趣的是确定主语、谓语和宾语。例如,对于下面的句子:

She gave him a pen

我想有:

She_subject gave_predicate him a pen_object.

斯坦福NLP能做到吗?我尝试了他们的关系注释器,但它似乎没有像我预期的那样工作?也许还有其他软件可以产生这个结果?

共有3个答案

柯轶
2023-03-14

我更喜欢使用spaCy对于这种情况,使用spaCy displacy的可视化如下所示:

您可以轻松访问他们的官方网站

位移演示网站

你可以计算出主语单词将有“nsubj”或“normal subject”的依赖关系,谓词是单词,依赖关系是“root”,这意味着不依赖其他单词。

白弘伟
2023-03-14

斯坦福语法分析器可以做到:)不过你需要看看依赖语法分析器。请查看本页底部:http://nlp.stanford.edu/software/lex-parser.shtml:

 subject: nsubj(snapped, rain), 
 or direct object: dobj(shut, hub))
 ...

或者看看这个页面(斯坦福依赖关系):http://nlp.stanford.edu/software/stanford-dependencies.shtml

要理解注释,请看以下内容:http://nlp.stanford.edu/software/dependencies_manual.pdf

杜骏祥
2023-03-14

根据http://nlp.stanford.edu/software/lex-parser.shtml斯坦福NLP有一个解析器,可以识别句子的主语和谓语。你可以在网上试试http://nlp.stanford.edu:8080/parser/index.jsp.您可以使用类型化依赖项来标识主语、谓语和宾语。

从示例页面中,我的狗也喜欢吃香肠这句话会给你这个解析:

(ROOT
  (S
    (NP (PRP$ My) (NN dog))
    (ADVP (RB also))
    (VP (VBZ likes)
      (S
        (VP (VBG eating)
          (NP (NN sausage)))))
    (. .)))

解析器还可以生成依赖项:

poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
xcomp(likes-4, eating-5)
dobj(eating-5, sausage-6)

依赖项nsubj显示了本例中的主谓词和主语likes和dog。数字给出了单词在句子中的位置(出于某种原因,一个索引)。dobj依赖关系显示谓词和对象的关系。xcomp依赖项提供有关谓词的内部信息。

当谓语不是动词时,这一点也适用:我的狗很大,负责提供:

poss(dog-2, My-1)
nsubj(large-4, dog-2)
cop(large-4, is-3)
root(ROOT-0, large-4)
cc(large-4, and-5)
conj(large-4, in-6)
pobj(in-6, charge-7)

这告诉我们,large是主要的谓语(nsubj(large-4,dog-2)),但是有一个连接词(cop(large-4,is-3)),还有一个连词和一个带宾语的介词。

我不熟悉应用编程接口,所以我不能给出确切的代码。也许其他知道应用编程接口的人可以做到这一点。解析器在斯坦福NLP文档站点中有记录。您可能还会发现文本简化工具(Java)的答案很有帮助。斯坦福依赖手册中有更多关于依赖格式的信息。

 类似资料:
  • 我在一个机器翻译项目中工作。为了继续我的工作,我需要识别句子的主语、动词、宾语。目前我正在使用斯坦福NLP解析器来分析这个句子。但我不知道如何提取SVO。我有什么想法可以考虑吗?

  • 在斯坦福解析器的文档中,给出了以下示例语句: 印度官员今天表示,印度有史以来最强的降雨导致金融中心孟买关闭,通讯线路中断,机场关闭,数千人被迫在办公室睡觉或在夜间步行回家。 这会产生解析树: [ROOT[S[NP[NP[DT The][JJS stress][NN rain][VP[ADVP[RB ever][VBN recorded][PP[IN IN][NP[NNP India]]]][VP[

  • 我想使用从句子中找到谓语和主语。这种技术在的世界中有任何名称吗?或者有什么方法可以做到这一点吗? 他喜欢孩子。结果:(他,喜欢孩子)

  • 有一个读入整数序列的语法,它的玄机是由输入的部分指定有多少个整数组合在一起,所以我们必须等到运行时才能知道有多少整数被匹配。这里是示例输入文件idata.txt的内容: 2 9 10 3 1 2 3 第1个数字表示匹配后续两个数字9和10;紧跟10的数字3表示匹配接下来的三个数字。我们的目的是设计一个语法IData.g,把9和10组合在一起,把1、2和3组合在一起。在语法上执行以下命令后显示的语