需要一个好的关系提取器

Yan*_*rui 11 nlp nltk stanford-nlp

我正在做一个NLP项目.

该项目的目的是提取两件事之间可能的关系.例如,对于一对"位置"和"人",提取的结果将是"接近","生活在","在......中工作"等.

是否有任何现有的NLP工具能够做到这一点?

Cha*_*ker 19

您可能需要查看几种不同的工具:

MITIE

麻省理工学院的新MITIE工具支持基本关系提取.分布中包括21个英语二元关系提取模型,这些模型是根据Wikipedia和Freebase数据的组合进行训练的.您还可以训练自己的自定义关系检测器.这是MITIE/MITIE-models/english/binary_relations /目录的列表,make MITIE-models在构建过程中运行目标时会下载该目录(名称应该相对不言自明):

  • rel_classifier_book.written_work.author.svm
  • rel_classifier_film.film.directed_by.svm
  • rel_classifier_influence.influence_node.influenced_by.svm
  • rel_classifier_law.inventor.inventions.svm
  • rel_classifier_location.location.contains.svm
  • rel_classifier_location.location.nearby_airports.svm
  • rel_classifier_location.location.partially_contains.svm
  • rel_classifier_organization.organization.place_founded.svm
  • rel_classifier_organization.organization_founder.organizations_founded.svm
  • rel_classifier_organization.organization_scope.organizations_with_this_scope.svm
  • rel_classifier_people.deceased_person.place_of_death.svm
  • rel_classifier_people.ethnicity.geographic_distribution.svm
  • rel_classifier_people.person.ethnicity.svm
  • rel_classifier_people.person.nationality.svm
  • rel_classifier_people.person.parents.svm
  • rel_classifier_people.person.place_of_birth.svm
  • rel_classifier_people.person.religion.svm
  • rel_classifier_people.place_of_interment.interred_here.svm
  • rel_classifier_time.event.includes_event.svm
  • rel_classifier_time.event.locations.svm
  • rel_classifier_time.event.people_involved.svm

OpenIE

来自华盛顿大学的 OpenIE将从文本中提取关系,将输出表示为三元组(Arg1, Arg2, Relation).例如,给定输入句子:

美国总统巴拉克•奥巴马(Barack Obama)周二向成千上万的人发表讲话.

OpenIE将提取这些二元关系:

  • (巴拉克奥巴马,美国总统)
  • (巴拉克奥巴马,他的演讲)
  • (巴拉克奥巴马周二发表讲话)
  • (巴拉克奥巴马,向成千上万的人发表演讲)

注意:OpenIE使用非标准的开源许可证,明确禁止商业用途.

斯坦福关系提取器

斯坦福关系提取提取关系Live_In,Located_In,OrgBased_In和Work_For.如果要使用不同的关系集,可以使用代码训练自己的关系提取器(网页上提供的详细信息).

如果您需要基本依赖项,还可以使用Stanford Dependency Parser:

斯坦福依存句法(斯坦福分析器的一部分)将提取的一句话之间的语法关系.例如,给定此输入:

港口和移民法案由堪萨斯州共和党参议员布朗贝克提交

Stanford Parser将提取这些语法依赖:

  • nsubjpass(已提交,Bills)
  • auxpass(已提交)
  • 代理人(已提交,Brownback)
  • nn(布朗贝克,参议员)
  • appos(布朗贝克,共和党人)
  • prep_of(共和党人,堪萨斯州)
  • prep_on(票据,港口)
  • conj_and(港口,移民)
  • prep_on(票据,移民)

来自谢菲尔德大学的 GATE还包括关系提取功能,但我自己从未使用它.本演示文稿概述了它的工作原理: https: //gate.ac.uk/sale/talks/gate-course-may10/track-3/module-11-ml-adv/module-11-relations.pdf