Skip to content

Latest commit

 

History

History
119 lines (87 loc) · 4.13 KB

实体识别-工业界.md

File metadata and controls

119 lines (87 loc) · 4.13 KB

NER工具

LTP

  • 简介

​ 语言技术平台(LTP) 是哈工大社会计算与信息检索研究中心 11 年的持续研发和推广,LTP 已经成为国内外最具影响力的中文处理基础平台,LTP提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、高效、精准的自然语言处理技术。

  • 使用相关

    NE识别模块的标注结果采用O-S-B-I-E标注形式, 识别三种实体类别:Nh-人名、Ni-机构名和N-s-地名。

    # -*- coding: utf-8 -*-
    import os
    LTP_DATA_DIR = '/path/to/your/ltp_data'  # ltp模型目录的路径
    ner_model_path = os.path.join(LTP_DATA_DIR, 'ner.model')  # 命名实体识别模型路径,模型名称为`pos.model`
    
    from pyltp import NamedEntityRecognizer
    recognizer = NamedEntityRecognizer() # 初始化实例
    recognizer.load(ner_model_path)  # 加载模型
    
    words = ['元芳', '你', '怎么', '看']
    postags = ['nh', 'r', 'r', 'v']
    netags = recognizer.recognize(words, postags)  # 命名实体识别
    
    print '\t'.join(netags)
    recognizer.release()  # 释放模型
    # 其中,words 和 postags 分别为分词和词性标注的结果。同样支持Python原生的list类型。
    # 结果:S-Nh        O       O       O
  • 相关链接

    http://www.ltp-cloud.com/

    https://github.com/HIT-SCIR/pyltp

    https://github.com/HIT-SCIR/pyltp/blob/master/doc/api.rst

Hanlp

  • 简介

​ HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。

  • 使用相关

    String[] testCase = new String[]{
            "签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。",
            "王国强、高峰、汪洋、张朝阳光着头、韩寒、小四",
            "张浩和胡健康复员回家了",
            "王总和小丽结婚了",
            "编剧邵钧林和稽道青说",
            "这里有关天培的有关事迹",
            "龚学平等领导,邓颖超生前",
            };
    Segment segment = HanLP.newSegment().enableNameRecognize(true);
    for (String sentence : testCase)
    {
        List<Term> termList = segment.seg(sentence);
        System.out.println(termList);
    }
  • 相关链接

    https://github.com/hankcs/pyhanlp

    http://hanlp.linrunsoft.com/

    https://github.com/hankcs/HanLP

NLTK

  • 简介

    NLTK是一个开源的项目,包含:Python模块,数据集和教程,用于NLP的研究和开发 。NLTK由Steven Bird和Edward Loper在宾夕法尼亚大学计算机和信息科学系开发。NLTK包括图形演示和示例数据。其提供的教程解释了工具包支持的语言处理任务背后的基本概念。

  • 使用相关

    In [1]: import nltk
    In [2]: tokens = nltk.word_tokenize('I am very excited about the next generation of Apple products.')
    In [3]: tokens = nltk.pos_tag(tokens)
    In [4]: print tokens
    [('I', 'PRP'), ('am', 'VBP'), ('very', 'RB'), ('excited', 'JJ'), ('about', 'IN'), ('the', 'DT'), ('next', 'JJ'), ('generation', 'NN'), ('of', 'IN'), ('Apple', 'NNP'), ('products', 'NNS'), ('.', '.')]
    In [5]: tree = nltk.ne_chunk(tokens)
    In [6]: print tree
    (S
      I/PRP
      am/VBP
      very/RB
      excited/JJ
      about/IN
      the/DT
      next/JJ
      generation/NN
      of/IN
      (GPE Apple/NNP)
      products/NNS
      ./.)
    In [7]: tokens = nltk.word_tokenize('I bought these Apple products today.')
    In [8]: tokens = nltk.pos_tag(tokens)
    In [9]: print tokens
    ['I', 'bought', 'these', 'Apple', 'products', 'today', '.']
    In [10]: tree = nltk.ne_chunk(tokens)
    In [11]: print tree
    (S I/PRP bought/VBD these/DT Apple/NNP products/NNS today/NN ./.)
  • 相关链接

    https://github.com/nltk/nltk

    https://blog.csdn.net/u010718606/article/details/50148261