Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-使用NLTK从非结构化文本(NLP)中提取实体(名词短语)的关系_Python_Nlp_Stanford Nlp_Information Extraction - Fatal编程技术网

Python-使用NLTK从非结构化文本(NLP)中提取实体(名词短语)的关系

Python-使用NLTK从非结构化文本(NLP)中提取实体(名词短语)的关系,python,nlp,stanford-nlp,information-extraction,Python,Nlp,Stanford Nlp,Information Extraction,从非结构化文本中,我提取了所有必要的实体,并使用stanford POS tagger将其存储在字典中。现在我想提取它们之间的关系,以三元组的形式构建我自己的本体(Entity1,Entity2,relation)。我尝试了stanford dependencies解析器,但我不知道如何提取这些三元组 例如: 前扩散器包括布置在空气管道的边界壁之间的可旋转活门 我想有关系(前扩散器,可旋转襟翼,包括);(可旋转活门,风道的边界墙,布置) 另一示例:货物主体包括具有地板、顶壁、前壁、侧壁和后门的容

从非结构化文本中,我提取了所有必要的实体,并使用stanford POS tagger将其存储在字典中。现在我想提取它们之间的关系,以三元组的形式构建我自己的本体(Entity1,Entity2,relation)。我尝试了stanford dependencies解析器,但我不知道如何提取这些三元组

例如: 前扩散器包括布置在空气管道的边界壁之间的可旋转活门

我想有关系(前扩散器,可旋转襟翼,包括);(可旋转活门,风道的边界墙,布置)

另一示例:货物主体包括具有地板、顶壁、前壁、侧壁和后门的容器

我期望的关系是(货物、集装箱、组成);(容器、地板、有);(容器,顶壁,有);(容器,前壁,有);(容器,侧壁,有);(集装箱,后门,有)


使用stanford dependencies解析器可以做些什么来实现我的目标?这意味着如何导航依赖项解析树并获得结果?

使用依赖项解析器的路径是正确的。你只需要稍微深入一点,提取你正在寻找的结构。从我看到的情况来看,依赖项解析器包含了您要查找的所有信息:

 (ROOT
  (S
    (NP (DT The) (JJ front) (NNS diffusers))
    (VP (VBP comprise)
      (NP
        (NP (JJ pivotable) (NNS flaps))
        (SBAR
          (WHNP (WDT that))
          (S
            (VP (VBP are)
              (VP (VBN arranged)
                (PP (IN between)
                  (NP
                    (NP (NN boundary) (NNS walls))
                    (PP (IN of)
                      (NP (NN air) (NNS ducts)))))))))))
    (. .)))
以下是解析器本身实际需要的内容:

nsubj(comprise-4, diffusers-3)
root(ROOT-0, comprise-4)
amod(flaps-6, pivotable-5)
dobj(comprise-4, flaps-6)

只要学习不同的句子,你就能以你想要的格式提取信息。

可能重复的谢谢,我刚刚编辑了这个问题。我的意思是如何浏览依赖关系树来提取这些关系?我希望有一个更简单/标准的答案,但是,除了编写自己的规则集,没有其他方法。如果您在google上搜索有关导航依赖项解析器输出的内容,则很少有帮助器链接,但最终,您需要编写最适合您的逻辑。