Lucene 如何在以实体为中心的搜索引擎中进行关系抽取?

Lucene 如何在以实体为中心的搜索引擎中进行关系抽取?,lucene,indexing,entity,search-engine,relationship,Lucene,Indexing,Entity,Search Engine,Relationship,我正在构建一个以实体为中心的搜索引擎。以下是我迄今为止所做的工作 使用斯坦福命名实体识别器识别文档中的所有实体,如人员、电子邮件id等 使用Lucene索引器(如“Barack Obama”)构建了一个基于实体的索引表,字段名为“PERSON”,也使用基于关键字的索引 现在,我需要在这些实体之间建立关系。例如,如果问题类似于“奥巴马的妻子”,我需要向米歇尔·奥巴马解决这个问题。我希望两个实体“巴拉克·奥巴马”和“米歇尔·奥巴马”通过关系“配偶”联系起来。我参考了几篇关于关系提取的论文,但都是

我正在构建一个以实体为中心的搜索引擎。以下是我迄今为止所做的工作

  • 使用斯坦福命名实体识别器识别文档中的所有实体,如人员、电子邮件id等

  • 使用Lucene索引器(如“Barack Obama”)构建了一个基于实体的索引表,字段名为“PERSON”,也使用基于关键字的索引

现在,我需要在这些实体之间建立关系。例如,如果问题类似于“奥巴马的妻子”,我需要向米歇尔·奥巴马解决这个问题。我希望两个实体“巴拉克·奥巴马”和“米歇尔·奥巴马”通过关系“配偶”联系起来。我参考了几篇关于关系提取的论文,但都是徒劳的。我不想从已经存在的论文中提取数据,比如“Freebase”,我想自己使用一些算法或api进行提取。 请提出一个建立关系表的想法或方法


谢谢:)

您可以使用Amazon AWS提供的Rosoka,它提供实体和关系提取

关系抽取是自然语言处理领域的一个众所周知的问题,可以用核方法处理。 这个问题可以很容易地转化为一个分类问题,您可以为每种关系类型训练一个模型

你要做的是首先从维基百科页面中提取实体。 并为每个实体执行会议决议(代词替换)。 然后,您必须为要训练模型的关系类型提取特征

让我们用一个玩具的例子来试试

AMR旗下的美国航空公司立即采取行动, 发言人蒂姆·瓦格纳说

这里你有两个实体,一个是人,一个是组织

关系是person-spendor-org

对于这个关系,你可以提取这个胎儿

1-基于实体的特征 entity1类型-组织(可通过地名录或命名实体扩展工具查找) 实体1总航空公司 entity2类型-个人(可通过地名录或命名实体扩展工具查找) 实体2头-瓦格纳 串联类型-ORGPER

2-基于单词的功能: 实体之间的单词、实体1之前的单词、实体2之后的单词、实体1之前的双字符、实体1之后的双字符、实体2之前的双字符、实体2之后的双字符

3-合成特性: 实体1前的词的poss标记,实体2前的词的poss标记,实体1后的词的poss标记,实体2前的词的poss标记 组成路径、基本语法块路径、类型化的depandency路径(使用stanford解析器和depandency解析器可以扩展的ase功能) 你也可以再试试费奥瑞

您提取的特征现在使用您喜欢的任何(多类)分类器:

支持向量机 MaxEnt(又名多类逻辑回归) 朴素贝叶斯


在第2点(基于单词的特征)中,实体之间的单词数量根据句子的不同而变化,那么如何在SVM的训练中使用数量不一致的特征呢?这个答案应该提到它的来源。实际上是丹·朱拉夫斯基教授教的-