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

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

你可能感兴趣的:(python,命名实体识别)