首页 > 解决方案 > 斯坦福 OpenNLP 仅提取与(已识别)组织相关的那些名称

问题描述

使用斯坦福 NER 标记器,我能够按预期提取所有 PERSON 和 ORGANIZATIONS。这是一个简短的片段:

    ss=tagger.get_entities(text)
    xorg=unique_list(ss.get('ORGANIZATION'))
    xper=unique_list(ss.get('PERSON'))
    out= (xorg,xperson)
    #out is written to database

我的问题是如何只提取与命名组织相关的人名?具体来说,我希望输出为三元组:PERSON、RELATION、ORGANISATION。

对于“Enron 主席 Kenneth Lay”或“Kenneth Lay,主席,Enron”,我希望输出读取为 (Kenneth Lay) (Chairman) (Enron)。

任何帮助都会很有用。

标签: python-3.xstanford-nlpopennlpnamed-entity-recognition

解决方案


普通 NER 只是寻找(命名)实体并正确标记它们。您的任务称为关系提取。您应该查看以下链接:

斯坦福关系提取器提取实体之间的关系:Live_InLocated_InOrgBased_InWork_ForNone

斯坦福 OpenIE能够从文本中提取任意二元关系。因此,事先不需要进行 NER。

也许其中一种工具可以帮助您完成任务。


推荐阅读