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

  • 相关阅读:
    美国首位女计算机博士荣获今年图灵奖
    此人需要关注一下
    Microsoft的壮大与IBM对Sun的收购
    文章介绍:Sexy Lexing with Python
    程序员的门道
    闲谈:敏捷与否的区分方法、对组织内部人员的现实作用与长远利益
    聊聊最俗的工厂相关话题
    人之患在好为人师
    TIOBE的头头儿和“反Java”的教授
    敏捷的核心究竟是什么
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11468795.html
Copyright © 2011-2022 走看看