命名实体识别NER
命名实体识别是定位文档中的专有名词或命名实体的过程,而且这些不同的命名实体被分成了不同的类别,如:人名,地名,机构名等。
- 2008年定义的命名实体标签集有12个,描述如下:
NER的关键是信息提取,通过存储元组(实体,关系,实体)来实现信息提取,就可以抽取到实体。
可以使用斯坦福标注器来实现NER。
如果命名实体存在,就用NE标记来标注。
import nltk
nltk.download('maxent_ne_chunker')
sentences1 = nltk.corpus.treebank.tagged_sents()[17]
print(nltk.ne_chunk(sentences1, binary=True))
sentences2 = nltk.corpus.treebank.tagged_sents()[7]
print(nltk.ne_chunk(sentences2, binary=True))
print(nltk.ne_chunk(sentences2))
可以进行命名实体识别另一个例子:
import nltk
nltk.download('conll2002')
from nltk.corpus import conll2002
for documents in conll2002.chunked_sents('ned.train')[25]:
print(documents)
另一个例子进行命名实体识别,并将不同的命名实体划分为把不同的命名实体类别。
import nltk
sentence = "I went to Greece to meet John";
tok=nltk.word_tokenize(sentence)
pos_tag=nltk.pos_tag(tok)
print(nltk.ne_chunk(pos_tag))