命名实体识别学习笔记——使用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 @   交流_QQ_2240410488  阅读(1350)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示