zoukankan      html  css  js  c++  java
  • 命名实体识别学习笔记——使用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

  • 相关阅读:
    Reactor系列(四)subscribe订阅
    Reactor系列(三)创建Flux,Mono(续)
    Reactor系列(二)Flux Mono创建
    Reactor系列(一)基本概念
    Stream系列(十五)File方法使用
    Stream系列(十四)parallet方法使用
    OpenCV二值化、归一化操作
    C# 队列
    linux shell脚本程序路径作为变量
    C++中头文件(.h)和源文件(.cpp)都应该写些什么
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11468795.html
Copyright © 2011-2022 走看看