命名实体识别学习笔记——使用Ltp
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xuewenstudy/article/details/85028173
命名实体识别(Named Entity Recognition,简称NER)用于识别文本中具有特定意义的实体。需要识别的实体可以分为三大类(实体类、时间类和数字类)和七小类(人名、机构名、地名、时间、日期、货币和百分比)。
本文介绍使用Ltp进行命名实体识别。
1、安装Ltp Python组件
(1)pyltp安装:
pip install pyltp
(不支持conda-python)
(2)部署语言模型库:
下载链接:http://ltp.ai/download.html
解压后如图所示
cws是中文分词模型,ner是命名实体识别模型,paeser是句法解析模型,pos是词性标注模型。
2、使用Ltp进行命名实体识别
(1)代码:
import sys
import os
from pyltp import *
sent = "欧洲 东部 的 罗马尼亚 , 首都 是 布加勒斯特 , 也 是 一 座 世界性 的 城市 。"
words = sent.split(" ")
postagger = Postagger()
postagger.load("D:\\Projects\\nlp\\ltp_data_v3.3.1\\pos.model") #导入词性标注模块
postags = postagger.postag(words)
recognizer = NamedEntityRecognizer()
recognizer.load("D:\\Projects\\nlp\\ltp_data_v3.3.1\\ner.model") #导入命名实体识别模块
netags = recognizer.recognize(words, postags)
for word,postag,netag in zip(words,postags,netags):
print(word+'/'+postag+'/'+netag)
(2)运行结果:
词、词性、识别的专名用“ / ”分开了,“O”表示非专名,“S-Ns”表示地名。
参考文献:
郑捷,《NLP汉语自然语言处理原理与实践》
————————————————
版权声明:本文为CSDN博主「xuewenstudy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuewenstudy/article/details/85028173