快捷导航

        中文分词入门和分词工具汇总攻略

        2019-10-12 16:40| 发布者: ym| 查看: 76| 久久爱论坛: 0

        摘要: 最近在整理自然语言处理的相关知识图谱,关于中文分词这块,我们梳理了一些入门的知识点,并且整理汇总了分词工具、词云图工具,觉得有用的可以收藏一下。1.分词难点 1.1.有多种分词标准,不同的分词标准会对下游结 ...

        最近在整理自然语言处理的相关知识图谱,关于中文分词这块,我们梳理了一些入门的知识点,并且整理汇总了一些常用的分词工具、词云图工具,觉得有用的可以收藏一下。

        1.分词难点

        1.1.有多种分词标准,不同的分词标准会对下游结果产生影响

        1.2.如何识别未登录词 OOV

        1.3. 歧义

        组合型歧义;

        交集型歧义;

        真歧义;


        2.分词方法

        2.1.基于词典(字符串匹配分词算法)

        (1)正向最大匹配法 FMM:对文本从左至右切出最长的词

        (2)逆向最大匹配法 BMM:对文本从右至左切出最长的词

        (3)N-最短路径方法

        (4)双向匹配分词法:由左到右、由右到左两次扫描

        缺点:对歧义和未登录词处理不好。

        2.2.机器学习

        (1)隐马尔科夫模型 HMM

        (2)条件随机场模型 CRF

        (3)最大熵模型 ME

        (4)N元文法模型 N-gram

        (5)支持向量机 SVM

        (6)深度学习

        • 基于神经网络的分词器
        • textCNN
        • 序列到序列模型 seq2seq
        • 注意力机制 Attention Mechanism
        • BERT模型

        缺点:训练集需要大量人工标注语料、整理统计特征。

        优点:不仅考虑词频,还考虑上下文,可有效消除歧义、识别未登录词。

        2.3.其他

        (1)词向量转换/特征降维

        词嵌入 Word2Vec

        • 连续词袋模型 CBOW
        • Skip-gram

        子词嵌入 FastText

        全局向量词嵌入 GloVe

        (2)TF-IDF

        TF 表示某个词语在一个语料中出现的频次;DF 表示在全部语料中,共有多少个语料出现了这个词,IDF 是DF的倒数(取log);TF- IDF 越大,表示这个词越重要。

        常用于关键词提取。

        (3)TextRank

        根据词语之间的邻近关系构建网络,通过PageRank迭代计算出词语的排名;

        常用于关键词提取、自动摘要提取。


        3.分词工具

        3.1.开源或免费

        (1)Hanlp分词器

        https://github.com/hankcs/HanLP

        最短路径分词,有中文分词、词性标注、新词识别、命名实体识别、自动摘要、文本聚类、情感分析、词向量word2vec等功能,支持自定义词典;

        采用HMM、CRF、TextRank、word2vec、聚类、神经网络等算法;

        支持Java,C++,Python语言;

        (2)结巴分词

        https://github.com/yanyiwu/cppjieba

        找出基于词频的最大切分组合,有中文分词、关键词提取、词性标注功能,支持自定义词典;

        采用HMM模型、 Viterbi算法;

        支持Java,C++,Python语言;

        (3)哈工大的LTP

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

        有中文分词、词性标注、句法分析等功能;

        商用需付费;调用接口,每秒请求的次数有限制;

        编写语言有C++、Python、Java版;

        (4)清华大学THULAC

        https://github.com/thunlp/THULAC

        有中文分词、词性标注功能;

        有Java、Python和C++版本;

        (5)北京大学 pkuseg

        https://github.com/lancopku/PKUSeg-python

        支持按领域分词、有词性标注功能、支持用户自训练模型;

        基于CRF模型、自研的ADF训练方法;

        有python版本;

        (6)斯坦福分词器

        https://nlp.stanford.edu/software/segmenter.shtml

        支持多语言分词包括中英文,提供训练模型接口,也可用已有模型,但速度较慢;

        Java实现的CRF算法;

        (7)KCWS分词器

        https://github.com/koth/kcws

        有中文分词、词性标注功能,支持自定义词典;

        采用word2vec、Bi-LSTM、CRF算法;

        (8)ZPar

        https://github.com/frcchang/zpar/releases

        有中文、英文、西班牙语分词、词性标注;

        C++语言编写;

        (9)IKAnalyzer

        https://github.com/wks/ik-analyzer

        有中文分词功能,支持自定义词典;

        (10)Jcseg

        https://gitee.com/lionsoul/jcseg

        有中文分词、关键词提取、自动摘要、词性标注、实体识别等功能,支持自定义词典;

        基于mmseg、textRank、BM25等算法;

        (11)FudanNLP

        https://github.com/FudanNLP/fnlp

        中文分词 词性标注 实体名识别 关键词抽取等;

        (12)SnowNLP

        https://github.com/isnowfy/snownlp

        有中文分词、词性标注、情感分析、文本分类、提取关键词等功能;

        基于HMM、Naive Bayes、TextRank、tf-idf等算法;

        Python类库;

        (13)ansj分词器

        https://github.com/NLPchina/ansj_seg

        有中文分词、人名识别、词性标注、用户自定义词典等功能;

        基于n-Gram+CRF+HMM算法;

        (14)NLTK

        https://github.com/nltk/nltk

        擅长英文分词,也支持中文分词处理,但建议先用其他分词工具对中文语料分词,再用它的处理功能;

        python库;

        (15)庖丁解牛

        https://code.google.com/p/paoding

        3.2.其他

        (1)中科院计算所NLPIR

        http://ictclas.nlpir.org/nlpir

        具有分词、词性标注、新词识别、命名实体识别、情感分析、关键词提取等功能,支持自定义词典;

        (2)腾讯文智

        nlp.qq.com/semantic.cgi

        (3)BosonNLP

        https://bosonnlp.com/dev/center

        (4)百度NLP

        https://cloud.baidu.com/doc/NLP/NLP-API.html

        (5)阿里云NLP

        https://data.aliyun.com/product/nlp

        (6)新浪云

        https://www.sinacloud.com/doc/sae/python/segment.html

        (7)盘古分词

        https://archive.codeplex.com/?p=pangusegment

        具有中英文分词功能,支持自定义词典;


        4.词云图制作工具

        (1)Wordart

        https://wordart.com

        (2)Tagul

        https://tagul.com

        (3)Wordle

        http://www.wordle.net

        (4)WordItOut

        http://worditout.com

        (5)Tagxedo

        http://www.tagxedo.com

        (6)Tocloud

        http://www.tocloud.com

        (7)图悦

        http://www.picdata.cn

        (8)office的PPT插件Pro Word Cloud

        (9)BDP个人版


        参考资料:

        https://www.zhihu.com/question/19578687/answer/190569700

        https://zhuanlan.zhihu.com/p/64409753

        https://zhuanlan.zhihu.com/p/33261835

        https://zhuanlan.zhihu.com/p/58688732

        https://zhuanlan.zhihu.com/p/42044315

        https://zhuanlan.zhihu.com/p/66155616

        https://www.zhihu.com/question/24658552/answer/117539890

        https://blog.csdn.net/nawenqiang/article/details/80847087


        鲜花

        握手

        雷人

        路过

        鸡蛋

        相关阅读

        最新久久爱论坛

        GMT+8, 2019-10-14 22:45