中文分词简介及安装

Posted 信号分析与机器智能

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中文分词简介及安装相关的知识,希望对你有一定的参考价值。

  • 中文NLP全系列处理框架

    1、LTP3.X(c++): https://github.com/HIT-SCIR/ltp/release

        中文分词,词性标注,未登录词识别,句法分析,语义角色标注

    2、Stanford NLP(Java): http://nlp.standford.edu/software/index.shtml

        中文分词,词性标注,未登录词识别,句法分析

    3、FudanNLP(Java): http://code.google.com/p/fudannlp

        中文分词,句法分析

    4、HanLP(Java): http://github.com/hanks/HanLP

        中文分词,句法分析


  • NLP分词框架

1、ICTCLAS分词系统(C++): 大规模

    http://www.threedweb.cn/forum-2-1.html

2、Ansj中文分词系统(Java): 中等规模

    http://github.com/NLPchina/anjs_seg

3、结巴分词(Java): 小规模

    http://github.com/fxsjy/jieba


Stanford NLP全系列语言平台:http://corenlp.run/(仅仅支持英文);中文句法分析平台:http://nlp.standford.edu:8080/parser/index.jsp



  • NLTK开发环境

1、安装python环境

2、pip install numpy; 

     conda install scipy

3、安装mysql工具包:pip + 包路径安装

4、pip install Tornado

5、安装NLTK:pip install nltk


    下载常用语料库:

    import sys

    import os

    import nltk

    reload(sys)

    sys.setdefaultencoding('utf-8')

    nltk.download()


NLTK系统模块整合

  • 整合中文分词模块:

        LTP模块:基于条件随机场模型(CRF)

            (1)、pip install pyltp

            (2)、部署语言模型库:下载Ltp3.X: http://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569# dir/path=%252Fltp-models%252F3.3.0

        结巴分词模块:基于张华平的NShort算法

                pip install jieba

                测试:

            

# -*- coding: utf-8 -*-


import sys

import os

import jieba


reload(sys)

sys.setdefaultencoding('utf-8')


#sent = '在包含问题的所有解空间树种,按照深度优先搜索的策略,从根节点触发深度探索解空间树。'

sent = "张华平Nshort的中文分词方法是目前大规模中文分词的主流算法。在商用领域,大多数搜索引擎公司都使用该算法作为主要的分词方法。具有算法原理简单、容易理解、便于训练、大规模分词效率高、模型占用资源低等优势。"


wordlist = jieba.cut(sent,cut_all = True)

print " | ".join(wordlist)

wordlist = jieba.cut(sent)

print " | ".join(wordlist)

wordlist = jieba.cut_for_search(send)

print " | ".join(wordlist)


  • 整合词性标注模块(POS Tagging)

        其算法大多为HMM模型或者最大熵算法,也有使用CRF算法可以获得更高的精度。目前流行的中文词性标签主要有两大类:北大词性标注集和宾州词性标注集

        (1). Ltp3词性标注

        (2). StandfordNLP


  • 整合命名实体识别模块(NER)

        命名实体识别一般指未登录词,主要包括人名,地名,机构名等等

        (1). Ltp3命名实体识别

        (2). StandfordNLP


  • 整合句法分析模块

        目前句法分析主要有两种理论:短语结构语法;依存句法。Ltp3使用的是依存句法。Standford句法解析器包含了三大主要解析器:

        PCFG概率解析器;

        Shift-Reduce解析器;

        神经网络依存解析器


  • 整合语义角色标注模块(Semantic Role Labeling,SRL)

        美国宾州大学开发出一个具有实用价值的语义命题库PropBank,其处于NLP系统的末端,其精度和效率都手打前几个模块的影响,所以当前精度都不高,在中文领域还没有比较成功的案例。



以上是关于中文分词简介及安装的主要内容,如果未能解决你的问题,请参考以下文章

中文分词工具简介与安装教程(jiebanlpirhanlppkusegfoolnltksnownlpthulac)

Elasticsearch拼音分词和IK分词的安装及使用

Hanlp中文分词工具最新安装教程

ElasticSearch简介——中文分词

Sphinx中文分词安装配置及API调用

Elasticsearch安装ik中文分词插件