使用自然语言处理(NLP)从文本(即非正式的图形"模式")进行图形数据库顶点/边缘推理 - 这是否存在?



Cavat Emptor-我既不是语言学家,也不是图论者,然而,我是一名[Java]开发人员,希望使用Graph数据库实现持久性,我和其他人都对以下主题感兴趣。

好的,这个想法是有一些应用程序或代码:

  1. 识别给定文本中命名实体之间的嵌入关系结构
  2. 在Graph数据库结构中应用或公开这些发现的关系以供使用

在这样的系统中,文本可能基本上形成一个基本的、外行写的图形模式。为了更好地将其可视化,这里有一些[非常]的基本文本:

Andrew is married to Jane

使用在线CLAWS词性标记器(POS),我得到了以下内容:

Andrew_NP0 is_VBZ married_AJ0 to_SENT Jane_NP0

根据牛津大学的"BNC Basic(C5)Tagset",NP0="专有名词",这是一个名称(正如你所知),但这些带有NP0标记的条目将有助于成为垂直图形实例/节点(最终用户可能会被进一步提示为这些条目提供一个包含的"类型/描述")。动词"VBZ"和形容词AJ0可能会突出显示图形关系。

一旦最终用户确认了他们的图形表示,他们可能会将其导出到GraphML,以便重新导入到图形数据库中,如Titan或Neo4j。

因此,总体想法是拥有一个工具,让外行最终用户能够使用日常语言创建基于图论的数据库结构。

这样的工具已经存在了吗?

我上面的一些观察在某种程度上受到了以下工具(以及其他工具)的影响:

http://www.plantuml.com<-使用简单直观的语言定义的UML图http://www.planttext.com<-请参阅plantuml
http://www.acqualia.com/soulver<-基于NLP的计算器和货币兑换工具,使用自然短语
http://nlp.stanford.edu/software/tagger.shtml<-斯坦福对数线性词性标记

是的,这存在于许多不同的地方。例如OpenCalais(由路透社创建)和AlchemyAPI。还有很多其他工具包和API,如NLTK和IBM的UIMA,它们并没有为您提供一个完整的解决方案,而是构建定制解决方案所必需的一堆工具。

这是一个非常深入的领域,有待于正在进行的研究。我不能在这里涵盖所有内容,但需要记住的一点是,这个空间中的解决方案通常高度特定于某个文档"语料库"。能很好地处理任意英文文本的软件并不存在。相反,你所看到的是在商业新闻发布会上做得非常好的解决方案。或者情报报告。或者报纸文章。或者医疗警报。但不是任何武断的文本。

该地区也充满了许多问题;其中一个大的被称为"命名实体识别"

CCD_ 1。

这里讨论了多少人?第二个安德鲁和第一个一样吗?这是一个非常复杂和上下文相关的问题。但你最好做对,否则你的结果图中可能会有比你预期的更多或更少的"人"节点。

最新更新