python 命名实体识别_Python NLTK学习11(命名实体识别和关系抽取)

本文介绍了如何使用Python的NLTK库进行命名实体识别(NER)和关系抽取。通过示例展示了NER的binary=True和False两种情况下的结果,并提供了从IEER语料库中抽取组织和位置关系的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python NLTK学习11(命名实体识别和关系抽取)

发表于: 2017年7月27日  阅读: 18262

除特别注明外,本站所有文章均为小杰Code原创

本系列博客为学习《用Python进行自然语言处理》一书的学习笔记。

命名实体识别

命名实体识别(NER)系统的目标是识别所有文字提及的命名实体。可以分解成两个子任务:确定NE的边界和确定其类型。

命名实体识别非常适用于基于分类器类型的方法来处理的任务。

NLTK有一个已经训练好的可以识别命名实体的分类器,可以使用函数nltk.ne_chunk()进行访问。如果我们设置参数binary=True,那么命名实体只被标注为NE。否则分类器会添加类型标签,如PERSON,ORGANIZATION以及GPE。如下:

# 取出语料库中的一个句子

sent = nltk.corpus.treebank.tagged_sents()[22]

# 使用NE分块器进行命名实体识别,返回Tree对象,

# Tree对象的label()方法可以查看命名实体的标签

for tree in nltk.ne_chunk(sent, binary=True).subtrees():

# 过滤根树

if tree.label() == "S":

continue

print(tree)

以上代码我们设置参数binary=True得到如下结果:

(NE U.S./NNP)

(NE Brooke/NNP)

(NE University/NNP)

(NE Vermont/NNP College/NNP)

(NE Medicine/NNP)

如果设置参数binary=False则可以得到如下结果:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值