英文实体识别主要的工具有nltk和Stanford NER:
nltk是用python编写的自然语言处理框架。
Stanford NER是用java编写的实体识别工具,通过加载不同的语言模型可以支持不同的语言识别。
下面分别用这两个实现实体识别。
nltk
安装
安装nltk
pip install nltk
pip install numpy
安装数据
>>> import nltk
>>> nltk.download() # 选择下载全部,耗时比较长
使用
nltk通过内置的函数进行实体识别,参考这里。
import nltk
text = "University of California is located in California, United States"
words = nltk.word_tokenize(text) # 分词
tags = nltk.pos_tag(words) # 词性识别
ners = nltk.ne_chunk(tags, binary=False) # 实体识别
print ners
output:
(S
(ORGANIZATION University/NNP)
of/IN
(GPE California/NNP)
is/VBZ
located/VBN
in/IN
(GPE California/NNP)
,/,
(GPE United/NNP States/NNPS))