命名实体识别学习笔记——使用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

 

posted @ 2019-09-05 18:10  交流_QQ_2240410488  阅读(1300)  评论(0编辑  收藏  举报