首页 > 其他 > 详细

命名实体识别学习笔记——使用Ltp

时间:2019-09-05 18:27:00      阅读:378      评论:0      收藏:0      [点我收藏+]

版权声明:本文为博主原创文章,遵循 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

 

技术分享图片

命名实体识别学习笔记——使用Ltp

原文:https://www.cnblogs.com/jfdwd/p/11468795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!