赞
踩
7.5命名实体识别(NER)
目标是识别所有文字提及的命名实体。
可以分成两个子任务:确定NE的边界和确定其类型。
NLTK提供了一个已经训练好的可以识别命名实体的分类器,如果我们设置参数binary=True,那么命名实体只被标注为NE,没有类型标签。可以通过代码来看:
>>>sent = nltk.corpus.treebank.tagged_sents()[22]>>>print nltk.ne_chunk(sent, binary=True)
(S
The/DT
(NE U.S./NNP)is/VBZ
one/CD
...
according/VBG
to/TO
(NE Brooke/NNPT./NNPMossman/NNP)
...)>>>printnltk.ne_chunk(sent)
(S
The/DT
(GPE U.S./NNP)is/VBZ
one/CD
...
according/VBG
to/TO
(PERSON Brooke/NNPT./NNPMossman/NNP)
...)
7.6关系抽取
一旦文本中的命名实体已被识别,我们就可以提取它们之间存在的关系。
进行这一任务的方法之一,就是寻找所有的(X,α, Y)形式的三元组,我们可以使用正则表达式从α的实体中抽出我们正在查找的关系。下面的例子搜索包含词in的字符串。
特殊的正则表达式(?!\b.+ing\b)是一个否定预测先行断言,允许我们忽略如succe
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。