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

  • 相关阅读:
    Work harder, smarter 工作需要努力和智慧
    且慢下手(转)
    .net 打包中的参数传递
    sql语句编写技巧
    在安装文件中解压sfx压缩文件
    vs.net编程技巧
    統制勘定(reconciliationaccounts)とは
    ExtJs页面布局总结(转载)
    ext自定义form表单参数为JSON格式getJsonValue:(同时提交多个表单时需要用到)
    oracle截取日期函数
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11468795.html
Copyright © 2011-2022 走看看