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

  • 相关阅读:
    移动平台开发需要的记录(续)
    移动平台开发需要的记录
    Chrome浏览器被劫持
    记录一个GO安装问题
    记录开发环境配置 MySql(5.7.17)+EF6.x+VS2017(15.7.1)
    win7(x64)下安装cocos2d并编译安卓项目
    Xocde一次版本升级遇到的问题 (Code Sign Error)
    【转】SqlServer将没有log文件的数据库文件附加到服务器中
    [转]IIS6.0迁移至IIS7.0
    重置VS设置
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11468795.html
Copyright © 2011-2022 走看看