python-3.x - 斯坦福 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)。
任何帮助都会很有用。
解决方案
普通 NER 只是寻找(命名)实体并正确标记它们。您的任务称为关系提取。您应该查看以下链接:
斯坦福关系提取器提取实体之间的关系:Live_In
、Located_In
、OrgBased_In
、Work_For
和None
。
斯坦福 OpenIE能够从文本中提取任意二元关系。因此,事先不需要进行 NER。
也许其中一种工具可以帮助您完成任务。
推荐阅读
- ubuntu - Ubuntu Server 21.10 如何将特定接口用于 Internet,将另一个接口用于本地网络
- c++ - c++ winsock tcp 服务器和客户端与互联网的连接
- windows - 如何在 Windows 系统上安装 Minizinc 的 OR 工具?
- scala - Scala 3 隐式转换:比较值和文字
- node.js - 尝试发布扩展时,收到错误消息:Part URI is not valid per rules defined in the Open Packaging Conventions specification
- python - aws - 是否可以在 Typescript 中为 Python CDK 进行单元测试?
- momentjs - Moment JS diff() 在 10 月 31 日到 11 月 1 日之间返回 0 天
- python - 如何测试同一列中两个变量之间潜在的线性和/或分类或二元关系?
- angular - 刷新时找不到 Angular 页面
- gdb - GDB 步骤在 clang 上花费了很多时间