精华内容
下载资源
问答
  • 常用的中文分词工具介绍

    千次阅读 2018-12-20 17:12:14
    本文首先介绍下中文分词的基本原理,然后介绍下国内比较流行的中文分词工具,如jieba、SnowNLP、THULAC、NLPIR,上述分词工具都已经在github上开源,后续也会附上github链接,以供参考。 1.中文分词原理介绍 1.1 ...

    本文首先介绍下中文分词基本原理,然后介绍下国内比较流行的中文分词工具,如jiebaSnowNLPTHULACNLPIR,上述分词工具都已经在github上开源,后续也会附上github链接,以供参考。

    1.中文分词原理介绍

    1.1 中文分词概述

    中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词分词就是将连续的字序列按照一定的规范重新组合成词序列的过程

    1.2 中文分词方法介绍

    现有的分词方法可分为三大类:基于字符串匹配的分词方法基于理解的分词方法基于统计的分词方法

    1.2.1 基于字符串匹配的分词方法

    基于字符串匹配的分词方法又称机械分词方法,它是按照一定的策略待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。

    按照扫描方向的不同,字符串匹配分词方法可以分为正向匹配逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配最小(最短)匹配;按照是否与词性标注过程相结合,可以分为单纯分词方法分词与词性标注相结合的一体化方法。常用的字符串匹配方法有如下几种:

    (1)正向最大匹配法(从左到右的方向);

    (2)逆向最大匹配法(从右到左的方向);

    (3)最小切分(每一句中切出的词数最小);

    (4)双向最大匹配(进行从左到右、从右到左两次扫描)

    这类算法的优点是速度快,时间复杂度可以保持在O(n),实现简单,效果尚可;但对歧义未登录词处理效果不佳。

    1.2.2 基于理解的分词方法

    基于理解的分词方法通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息语义信息处理歧义现象。它通常包括三个部分:分词子系统句法语义子系统总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段

    1.2.3 基于统计的分词方法

    基于统计的分词方法是在给定大量已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法

    主要的统计模型有:N元文法模型(N-gram),隐马尔可夫模型(Hidden Markov Model ,HMM),最大熵模型(ME),条件随机场模型(Conditional Random Fields,CRF)等。

    在实际的应用中,基于统计的分词系统都需要使用分词词典进行字符串匹配分词,同时使用统计方法识别一些新词,即将字符串频率统计字符串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点

    2.中文分词工具介绍

    2.1 jieba (github star数 9003)

    jieba分词是国内使用人数最多的中文分词工具(github链接:https://github.com/fxsjy/jieba)。jieba分词支持三种模式

    (1)精确模式:试图将句子最精确地切开,适合文本分析

    (2)全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

    (3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率适合用于搜索引擎分词

    jieba分词过程中主要涉及如下几种算法:

    (1)基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG);

    (2)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合

    (3)对于未登录词,采用了基于汉字成词能力的 HMM 模型,采用Viterbi 算法进行计算;

    (4)基于Viterbi算法做词性标注

    (5)基于tf-idftextrank模型抽取关键词

    测试代码如下所示:

    # -*- coding: utf-8 -*-
    """
    jieba分词测试
    """
    
    import jieba
    
    
    #全模式
    test1 = jieba.cut("杭州西湖风景很好,是旅游胜地!", cut_all=True)
    print("全模式: " + "| ".join(test1))
    
    #精确模式
    test2 = jieba.cut("杭州西湖风景很好,是旅游胜地!", cut_all=False)
    print("精确模式: " + "| ".join(test2))
    
    #搜索引擎模式
    test3= jieba.cut_for_search("杭州西湖风景很好,是旅游胜地,每年吸引大量前来游玩的游客!")  
    print("搜索引擎模式:" + "| ".join(test3))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    测试结果如下图所示:

    这里写图片描述

    2.2 SnowNLP(github star数 2043)

    SnowNLP是一个python写的类库(https://github.com/isnowfy/snownlp),可以方便的处理中文文本内容,是受到了TextBlob的启发而写的。SnowNLP主要包括如下几个功能:

    (1)中文分词(Character-Based Generative Model);

    (2)词性标注(3-gram HMM);

    (3)情感分析(简单分析,如评价信息);

    (4)文本分类(Naive Bayes)

    (5)转换成拼音(Trie树实现的最大匹配)

    (6)繁简转换(Trie树实现的最大匹配)

    (7)文本关键词文本摘要提取(TextRank算法)

    (8)计算文档词频TF,Term Frequency)和逆向文档频率IDF,Inverse Document Frequency)

    (9)Tokenization(分割成句子)

    (10)文本相似度计算(BM25)

    SnowNLP的最大特点是特别容易上手,用其处理中文文本时能够得到不少有意思的结果,但不少功能比较简单,还有待进一步完善。

    测试代码如下所示:

    # -*- coding: utf-8 -*-
    """
    SnowNLP测试
    """
    
    from snownlp import SnowNLP
    
    s = SnowNLP(u'杭州西湖风景很好,是旅游胜地,每年吸引大量前来游玩的游客!')
    
    #分词
    print(s.words)
    
    
    #情感词性计算
    print("该文本的情感词性为正的概率:" + str(s.sentiments))
    
    text = u'''
    西湖,位于浙江省杭州市西面,是中国大陆首批国家重点风景名胜区和中国十大风景名胜之一。
    它是中国大陆主要的观赏性淡水湖泊之一,也是现今《世界遗产名录》中少数几个和中国唯一一个湖泊类文化遗产。
    西湖三面环山,面积约6.39平方千米,东西宽约2.8千米,南北长约3.2千米,绕湖一周近15千米。
    湖中被孤山、白堤、苏堤、杨公堤分隔,按面积大小分别为外西湖、西里湖、北里湖、小南湖及岳湖等五片水面,
    苏堤、白堤越过湖面,小瀛洲、湖心亭、阮公墩三个小岛鼎立于外西湖湖心,夕照山的雷峰塔与宝石山的保俶塔隔湖相映,
    由此形成了“一山、二塔、三岛、三堤、五湖”的基本格局。
    '''
    
    s2 = SnowNLP(text)
    
    #文本关键词提取
    print(s2.keywords(10))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    测试结果如下图所示:

    这里写图片描述

    2.3 THULAC (github star数 311)

    THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包(github链接:https://github.com/thunlp/THULAC-Python),具有中文分词词性标注功能。THULAC具有如下几个特点:

    (1)能力强。利用我们集成的目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大

    (2)准确率高。该工具包在标准数据集Chinese Treebank(CTB5)上分词的F1值可达97.3%,词性标注的F1值可达到92.9%,与该数据集上最好方法效果相当。

    (3)速度较快。同时进行分词和词性标注速度为300KB/s,每秒可处理约15万字。只进行分词速度可达到1.3MB/s。

    THU词性标记集(通用版)如下所示:

    n/名词 np/人名 ns/地名 ni/机构名 nz/其它专名
    m/数词 q/量词 mq/数量词 t/时间词 f/方位词 s/处所词
    v/动词 a/形容词 d/副词 h/前接成分 k/后接成分 i/习语 
    j/简称 r/代词 c/连词 p/介词 u/助词 y/语气助词
    e/叹词 o/拟声词 g/语素 w/标点 x/其它
    • 1
    • 2
    • 3
    • 4
    • 5

    测试代码(python版)如下所示:

    # -*- coding: utf-8 -*-
    """
    THULAC 分词测试
    """
    
    import thulac   
    
    #默认模式,分词的同时进行词性标注
    test1 = thulac.thulac()
    text1 = test1.cut("杭州西湖风景很好,是旅游胜地!")
    print(text1)
    
    
    #只进行分词
    test2 = thulac.thulac(seg_only=True)
    text2 = test2.cut("杭州西湖风景很好,是旅游胜地!")
    print(text2)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    测试结果如下图所示:

    这里写图片描述

    2.4 NLPIR (github star数 811)

    NLPIR分词系统(前身为2000年发布的ICTCLAS词法分析系统,gtihub链接:https://github.com/NLPIR-team/NLPIR),是由北京理工大学张华平博士研发的中文分词系统,经过十余年的不断完善,拥有丰富的功能和强大的性能。NLPIR是一整套对原始文本集进行处理和加工的软件,提供了中间件处理效果的可视化展示,也可以作为小规模数据的处理加工工具。主要功能包括:中文分词词性标注命名实体识别用户词典新词发现关键词提取等功能。本文测试所采用的是PyNLPIRNLPIRPython版本,github链接:https://github.com/tsroten/pynlpir

    测试代码如下所示:

    # -*- coding: utf-8 -*-
    """
    PYNLPIR 分词测试
    """
    
    import pynlpir
    
    
    #打开分词器
    pynlpir.open()
    
    text1 = "杭州西湖风景很好,是旅游胜地,每年吸引大量前来游玩的游客!" 
    
    #分词,默认打开分词和词性标注功能
    test1 = pynlpir.segment(text1)
    #print(test1)
    print('1.默认分词模式:\n' + str(test1))
    
    #将词性标注语言变更为汉语
    test2 = pynlpir.segment(text1,pos_english=False)
    print('2.汉语标注模式:\n' + str(test2))
    
    
    #关闭词性标注
    test3 = pynlpir.segment(text1,pos_tagging=False)
    print('3.无词性标注模式:\n' + str(test3))
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    测试结果如下图所示:

    这里写图片描述

    展开全文
  • 本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下这三种分词工具,在这里分享下~1.jieba 分词: # -*- coding: UTF-8 -*-import osimport codecsimport ...

    本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下

    这三种分词工具,在这里分享下~

    1.jieba 分词: # -*- coding: UTF-8 -*-import osimport codecsimport jiebaseg_list = jieba.cut('邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。')f1 = codecs.open("d2w_ltp.txt","w")print "/".join(seg_list)for i in seg_list: f1.write(i.encode("utf-8")) f1.write(str(" "))

    效果: 邓超/,/1979/年出/生于/江西/南昌/,/中国/内地/男演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。

    这里面包括了结巴的分词和写入文件的形式

    值得注意的是结巴分词出来的字符编码是 'Unicode' 编码,我们需要把 unicode -> utf-8

    2.张华平老师的 NLPIR

    (https://github.com/NLPIR-team/NLPIR)

    这里给出张华平老师的github 地址 ,需要用的朋友可以去到老师的git上面 拿到 licence

    有两种: 十天的\ 一个月的

    当然,详细的代码和安装包我也上传到了CSDN上面,有兴趣的朋友可以看下(还是需要去更新licence)

    值得一提,国内多数论文都是用这个分词工具,比较权威 r = open('text_no_seg.txt','r')list_senten = []sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'for i in seg(sentence): list_senten.append(i[0])print "/".join(list_senten)f1 = codecs.open("d2w_ltp.txt","w")for i in seg(sentence): f1.write(i[0]) f1.write(str(" "))

    效果: 邓超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品/人/、/互联网/投资人/。

    当然NLPIR在在命名实体识别上面也是有着很好的效果: 邓超 nr, wd1979年 t出生 vi于 p江西 ns南昌 ns, wd中国 ns内地 s男 b演员 n、 wn电影 n导演 n、 wn投资 n出品 vi人 n、 wn互联网 n投资人 n。 wj

    3.哈工大LTP # -*- coding: UTF-8 -*-import osimport codecsfrom pyltp import Segmentor#分词def segmentor(sentence): segmentor = Segmentor() # 初始化实例 segmentor.load('ltp_data/cws.model') # 加载模型 words = segmentor.segment(sentence) # 分词 words_list = list(words) segmentor.release() # 释放模型 return words_listf1 = codecs.open("d2w_ltp.txt","w")sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'print "/".join(segmentor(sentence))for i in segmentor(sentence): f1.write(i) f1.write(str(" "))

    效果: 邓/超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。

    展开全文
  • 常用的开源中文分词工具

    万次阅读 2016-05-28 10:32:24
    常用的开源中文分词工具  由于中文文本词与词之间没有像英文那样有空格分隔,因此很多时候中文文本操作都涉及切词,这里整理了一些中文分词工具。一般来说用CRF实现的分词工具的处理速度是比较慢的(训练CRF...

    转载自:  http://www.scholat.com/vpost.html?pid=4477

    常用的开源中文分词工具 

    由于中文文本词与词之间没有像英文那样有空格分隔,因此很多时候中文文本操作都涉及切词,这里整理了一些中文分词工具。一般来说用CRF实现的分词工具的处理速度是比较慢的(训练CRF模型是非常耗时的),但是精度高,涉及CRF的分词工具有CRF++,Stanford分词工具。

          Bakeoff是一个国际中文处理比赛,有多个语料,所以每个语料都有排名。只有部分优秀的Bakeoff工具开源。

    介绍了以下18种分词工具(大部分是基于java语言):

     

    perminusminus   

    Stanford 汉语分词工具(Bakeoff-2两项第一)

    哈工大语言云(LTP -cloud)

    ICTCLAS——(Bakeoff -1两项第一)

    Ansj(ICTCLAS的java实现)

    庖丁解牛分词

    盘古分词    

    IKAnalyzer

    imdict-chinese-analyzer

    mmseg4j

    FudanNLP(复旦大学)

    Jcseg

    SCWS

    Friso

    HTTPCWS

    libmmseg

    OpenCLAS

    CRF++ (Bakeoff-3四项第一)

     

     

    perminusminus

    项目网址:http://code.google.com/p/perminusminus/

    作者:张开旭(清华大学2012届博士毕业生,毕业论文,现在厦大教学)。

    个人主页:http://nlp.csai.tsinghua.edu.cn/~zkx/

     

    源码是python。算法原理是感知器模型

     

    Introduction

    Per-- is a toolkit of AveragedPerceptron (Freund and Schapire, 1999) for path Labelingunder the KISS principle(Keep It Simple and Stupid).

    Features

    • Simple and efficient

    • Multiple usage: path labeling, path finding, sequence labeling and classification

    • Can provide n-best outputs

    • Can provide "mar.ginal score"

    • Can provide alpha (forward) values and beta (backward) values using forward-backward algorithm

    • Open source

     

    Stanford 汉语分词工具

    Stanford 汉语分词工具的成绩:2005年Bakeoff2两个语料的测试第一。

    官网:http://nlp.stanford.edu/software/segmenter.shtml

     

    最后更新2013-11-12(今天2013-12-28)

    一篇使用介绍:

    http://hi.baidu.com/liheming333/item/585fba1f898838623e87ce18

    斯坦福自然语言小组直接使用CRF 的方法,特征窗口为5。

     

    哈工大语言云(LTP -cloud)

    项目网址:http://www.ltp-cloud.com/download/#ltp_cloud_sdk

    HIT的ITNLP Lab, HIT Wei JIANG在Bakeoff 2005的open语料MSR上获得测评第一名。不确定LTP –cloud是否是在Wei JIANG的工作基础上进行的开发。

    语言云曾获CoNLL2009七国语言句法语义分析评测总成绩第一名,

    使用方式为web service

    语言云(语言技术平台云 LTP-Cloud)是由哈工大社会计算与信息检索研究中心研发的云端自然语言处理服务平台。 后端依托于语言技术平台,语言云为用户提供了包括分词、词性标注、依存句法分析、命名实体识别、语义角色标注在内的丰富高效的自然语言处理服务。

    作为基于云端的服务,语言云具有如下一些优势:

    • 免安装:用户只需要下载语言云客户端源代码,编译执行后即可获得分析结果,无需调用静态库或下载模型文件。

    • 省硬件:语言云客户端几乎可以运行于任何硬件配置的计算机上,用户不需要购买高性能的机器,即可快捷的获得分析结果。

    • 跨平台:语言云客户端几乎可以运行于任何操作系统之上,无论是Windows、Linux各个发行版或者Mac OS。

    • 跨编程语言:时至今日,语言云已经提供了包括C++,Java,C#,Python,Ruby在内的客户端,其他编程语言的客户端也在开发之中。

    在运算资源有限,编程语言受限的情况下,语言云无疑是用户进行语言分析更好的选择。

    从2006年9月5日开始该平台对外免费共享目标代码,截止目前,已经有国内外400多家研究单位共享了LTP,也有国内外多家商 业公司购买了LTP,用于实际的商业项目中。2010年12月获得中国中文信息学会颁发的行业最高奖项:”钱伟长中文信息处理科学技术奖”一等奖。

    2011年6月1日,为了与业界同行共同研究和开发中文信息处理核心技术,我中心正式将LTP的源代码对外共享,LTP由C++语言开发,可运行于Windows和Linux操作系统。

     

    ICTCLAS: 汉语词法分析系统

    官网:http://ictclas.nlpir.org/newsdownloads?DocId=354

    (这是作者在中科院读研时的作品,最新版本是NLPIR,官网  )

    ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)

    获取Bakeoff 1两项第一。

      这是最早的中文开源分词项目之一,ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届(2003)国际中文处理研究机构SigHan组织的评测中都获得了多项第一名。

    性能:

    分词速度单机996KB/s, API 不超过 200KB ,各种词典数据压缩后不到 3M.

    准确率:

    分词精度98.45%,

    语言和平台:

    ICTCLAS全部采用 C/C++ 编写,支持 Linux 、 FreeBSD 及 Windows 系列操作系统,支持 C/C++ 、 C# 、 Delphi、 Java 等主流的开发语言。

    Author:

    中国科学院计算技术研究所

    主要功能:

    中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典;支持繁体中文;支持GBK 、 UTF-8 、 UTF-7 、 UNICODE 等多种编码格式。

    算法:

    完美PDAT 大规模知识库管理技术( 200510130690.3 ),在高速度与高精度之间取得了重大突破,该技术可以管理百万级别的词典知识库,单机每秒可以查询 100 万词条,而内存消耗不到知识库大小的 1.5 倍。层叠隐马尔可夫模型( Hierarchical Hidden Markov Model ) ,该分词系统的主要是思想是先通过 CHMM( 层叠形马尔可夫模型 ) 进行分词 , 通过分层 , 既增加了分词的准确性 , 又保证了分词的效率 . 共分五层, 如下图所示。基本思路是进行原子切分 , 然后在此基础上进行N- 最短路径粗切分 , 找出前 N 个最符合的切分结果 , 生成二元分词表 , 然后生成分词结果 , 接着进行词性标注并完成主要分词步骤 .

     

     

     

    Ansj(ICTCLAS的java实现)

    项目网址:https://github.com/ansjsun/ansj_seg

    作者网址:http://www.ansj.org/

    演示网址:http://demo.ansj.org/seg.action

     

    ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict.中文分词,人名识别,词性标注,用户自定义词典

    增加了对lucene的支持.如果不想编译文件可以直接到 https://github.com/ansjsun/mvn-repo/tree/gh-pages/org/ansj这里下载jar包!

    这是一个ictclas的java实现.基本上重写了所有的数据结构和算法.词典是用的开源版的ictclas所提供的.并且进行了部分的人工优化

    内存中中文分词每秒钟大约100万字(速度上已经超越ictclas)

    文件读取分词每秒钟大约30万字

    准确率能达到96%以上

    目前实现了.中文分词. 中文姓名识别 . 用户自定义词典

    可以应用到自然语言处理等方面,适用于对分词效果要求搞的各种项目.

     

    庖丁解牛分词

    官网:http://code.google.com/p/paoding/

     

    语言和平台:

    Java,提供 lucence  3.0  接口,仅支持 Java 语言。

    性能:

    在PIII 1G 内存个人机器上, 1 秒 可准确分词  100 万 汉字。

    算法:

    采用基于 不限制个数 的词典文件对文章进行有效切分

    主要功能:

    使能够将对词汇分类定义。能够对未知的词汇进行合理解析

     

    盘古分词

    官网:http://pangusegment.codeplex.com/

    作者:eaglet

    博客:http://www.cnblogs.com/eaglet/

     

    是一个中英文分词组件。

    项目描述

    Pan Gu Segment is alibrary that can segment Chinese and English words from sentence.

    盘古分词是一个中英文分词组件。作者eaglet 曾经开发过KTDictSeg 中文分词组件,拥有大量用户。

    作者基于之前分词组件的开发经验,结合最新的开发技术重新编写了盘古分词组件。

    主要功能:

    中文分词功能

     中文未登录词识别

     词频优先

     盘古分词可以根据词频来解决分词的歧义问题

    多元分词

     盘古分词提供多重输出解决分词粒度和分词精度权衡的问题

    中文人名识别

     强制一元分词

     繁体中文分词

     同时输出简体和繁体

     中文词性输出

     盘古分词可以将以登录词的中文词性输出给用户,以方便用户做进一步处理。

     全角字符支持

     盘古分词可以识别全角的字母和数字

    英文分词

     英文专用词识别

    一些英文简写是字母符号混合,或者是字母数字混合,这个分词起来就不能按照空格符号这样分割了,对于字母符号混合的如 U.S.A  ,只要将这个词录入到字典中,盘古分词就可以分出整词。对于字母和数字混合的,盘古分词会自动作为整词输出。

     英文原词输出

     英文大小写同时输出

    其他功能

     停用词过滤

    对于一些标点符号,连词,助词等有时候需要在分词时过滤掉,盘古分词提供一个 StopWord.txt  文件,用户只要将需要过滤的词加入到这个文件中,并将停用词过滤开发打开,就可以过滤掉这些词。

     设置分词权值

    盘古分词可以让用户对如下特性设置自定义权值

    1 未登录词权值

    2 最匹配词权值

    3 次匹配词权值

    4 再次匹配词权值

    5 强行输出的单字的权值

    6 数字的权值

    7 英文词汇权值

    8 符号的权值

    9 强制同时输出简繁汉字时,非原来文本的汉字输出权值。

    *用户自定义规则

     字典管理

     盘古分词提供一个字典管理工具 DictManage  通过这个工具,你可以增加,修改,和删除字典中的单词

     动态加载字典

     通过字典工具增加,修改,和删除字典中的单词后,保持字典,盘古分词会自动将新的字典文件加载进去,而不需要重新启动。

     关键词高亮组件

    Lucene 提供了一个关键词高亮组件,但这个组件对中文的支持不是特别好,特别是如果还有多元分词的情况,处理的就更不好。盘古分词提供了一个针对中文和英文的关键词高亮组件  PanGu.HighLight  ,其对中文的支持要好于Lucene  那个高亮组件。

     同义词输出( 后续版本提供 )

     Lucene.net 接口及示例

    在PanGu4Lucene 这个包里面有我做的一个盘古 +Lucene  的简单新闻搜索 Web 示例程序, Release  包里面有使用说明。

    性能:

    Core Duo 1.8 GHz 下单线程 分词速度为 390K  字符每秒, 2 线程分词速度为 690K  字符每秒。

    算法:

     盘古分词提供的字典包括17万个中文常用单词,但这个字典依然不够完整,如果要分词更准确,需要适当维护一下这个字典。中文人名的识别能力取决于  ChsSingleName.txt , ChsDoubleName1.txt ,  ChsDoubleName2.txt  这三个文件,它们分别表示单子人名,双字人名的首字和双字人名的尾字。 

     

    IKAnalyzer

    官网:http://code.google.com/p/ik-analyzer/

    作者博客:http://linliangyi2007.iteye.com/

    从2006年12月推出1.0版开始。

    开源轻量级的中文分词工具包

    语言和平台:

    基于java 语言开发 , 最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的 IKAnalyzer3.0 则发展为面向 Java 的公用分词组件,独立于 Lucene 项目,同时提供了对 Lucene 的默认优化实现。

    算法:

    采用了特有的“ 正向迭代最细粒度切分算法 “ 。采用了多子处理器分析模式,支持:英文字母( IP 地址、 Email 、 URL )、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。优化的词典存储,更小的内存占用。支持用户词典扩展定义。针对 Lucene 全文检索优化的查询分析器 IKQueryParser ;采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高 Lucene 检索的命中率。

    性能:

    在系统环境:Core2i7 3.4G双核,4G内存,window 7 64位, Sun JDK 1.6_29 64位 普通pc环境测试,IK2012具有160万字/秒(3000KB/S)的高速处理能力

     

     

    imdict-chinese-analyzer

    官网:http://code.google.com/p/imdict-chinese-analyzer/

     

    是imdict 智能词典的智能中文分词模块。

    算法 :

    基于隐马尔科夫模型(Hidden Markov Model, HMM) ,是中国科学院计算技术研究所的 ictclas 中文分词程序的重新实现(基于 Java ) .

    可以直接为lucene搜索引擎提供简体中文分词支持 。

    主要功能:

    1, 完全 Unicode 支持

    分词核心模块完全采用Unicode 编码,无须各种汉字编码的转换,极大的提升了分词的效率。

    2. 提升搜索效率

    根据imdict 智能词典的实践,在有智能中文分词的情况下,索引文件比没有中文分词的索引文件小 1/3

    3. 提高搜索准确度

    imdict-chinese-analyzer采用了 HHMM 分词模型,极大的提高了分词的准确率,在此基础上的搜索,比对汉字逐个切分要准确得多!

    4. 更高效的数据结构

    为了提高效率,针对常用中文检索的应用场景,imdict-chinese-analyzer 对一些不必要的功能进行了删减,例如词性标注、人名识别、时间识别等等。另外还修改了算法的数据结构,在内存占用量缩减到 1/3 的情况下把效率提升了数倍。

     

     

    ictclas4j

    imdict-chinese-analyzer

    ICTCLAS 3.0

    分词速度( 字节 / 秒 )

     13.86  

      483.64   

     678.15  

    分词速度( 汉字 / 秒 )  

     7439  

      259517   

     363888  

    测试环境为:酷睿E7200双核,内存 2G, JDK 参数为: "-Xms512m -Xmx1024m "

    由此对比可以看出, imdict-chinese-analyzer的分词效率与 C ++实现的 ICTCLAS 3.0的分词效率在同一个数量级,是  ictclas4j  的  36  倍!

    ictclas4j中文分词系统是 sinboy 在中科院张华平和刘群老师的研制的 FreeICTCLAS 的基础上完成的一个 java 开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。 

     

    mmseg4j

    项目网址:

    (旧)http://code.google.com/p/mmseg4j/

    (新)https://github.com/chenlb/mmseg4j-solr

    作者博客:

    1、http://blog.chenlb.com/

    2、http://chenlb.iteye.com/

     

    算法:

     1、mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/)实现的中文分词器,并实现 lucene 的 analyzer和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。

    2、MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方(指mmseg论文的作者)说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。

    • 1.5版的分词速度simple算法是 1100kb/s左右、complex算法是 700kb/s左右,(测试机:AMD athlon 64 2800+ 1G内存 xp)。

    • 1.6版在complex基础上实现了最多分词(max-word)。“很好听” -> "很好|好听"; “中华人民共和国” -> "中华|华人|共和|国"; “中国人民银行” -> "中国|人民|银行"。

    • 1.7-beta 版, 目前 complex 1200kb/s左右, simple 1900kb/s左右, 但内存开销了50M左右. 上几个版都是在10M左右.

    • 1.8 后,增加 CutLetterDigitFilter过虑器,切分“字母和数”混在一起的过虑器。比如:mb991ch 切为 "mb 991 ch"。

    mmseg4j实现的功能详情请看:

    3、在 com.chenlb.mmseg4j.example包里的类示例了三种分词效果。

     

     

    FudanNLP(复旦大学)

    官网:http://code.google.com/p/fudannlp/

     

    2013.8.14 发布FudanNLP1.6.1版。时常更新。

    复旦大学开发的软件。

    FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。功能包括中文分词等,不需要字典支持。

    功能:

    1. 信息检索: 文本分类 新闻聚类

    2. 中文处理: 中文分词 词性标注 实体名识别 关键词抽取 依存句法分析 时间短语识别

    3. 结构化学习: 在线学习 层次分类 聚类 精确推理

     

    Jcseg

    官网:http://code.google.com/p/jcseg/

     

    一、jcseg中文分词器

    jcseg是使用Java开发的一个中文分词器,使用mmseg算法实现。

    1。目前最高版本:jcseg1.9.0兼容最高版本lucene-4.x和最高版本solr-4.x

    2。mmseg四种过滤算法,分词准确率达到了98.41%。

    3。支持自定义词库。在lexicon文件夹下,可以随便添加/删除/更改词库和词库内容,并且对词库进行了分类。如何给jcseg添加词库/新词

    4。 中英文同义词追加/同义词匹配 + 中文词条拼音追加.词库整合了《现代汉语词典》和cc-cedict辞典中的词条,并且依据cc-cedict词典为词条标上了拼音,依据《中华同义词词 典》为词条标上了同义词(尚未完成)。更改jcseg.properties配置文档可以在分词的时候加入拼音和同义词到分词结果中。jcseg新版词库

    5。中文数字和中文分数识别,例如:"一百五十个人都来了,四十分之一的人。"中的"一百五十"和"四十分之一"。并且jcseg会自动将其转换为阿拉伯数字加入到分词结果中。如:150, 1/40。

    6。支持中英混合词和英中混合词的识别(维护词库可以识别任何一种组合)。例如:B超, x射线, 卡拉ok, 奇都ktv, 哆啦a梦。

    7。更好的英文支持,电子邮件,网址,小数,分数,百分数,字母和标点组合词(例如C++, c#)的识别。(这个对购物网址来说很重要)。

    8。支持阿拉伯数字/小数/中文数字基本单字单位的识别,例如2012年,1.75米,38.6℃,五折,并且jcseg会将其转换为“5折”加入分词结果中。

    9。智能圆角半角, 英文大小写转换。

    10。特殊字母识别:例如:Ⅰ,Ⅱ

    11。特殊数字识别:例如:①,⑩

    12。配对标点内容提取:例如:最好的Java书《java编程思想》,‘畅想杯黑客技术大赛’,被《,‘,“,『标点标记的内容。(1.6.8版开始支持)。

    13。智能中文人名识别。中文人名识别正确率达94%以上。(可以维护lex-lname.lex,lex-dname-1.lex,lex-dname-2.lex来提高准确率),(引入规则和词性后会达到98%以上的识别正确率)。

    14。自动中英文停止词过滤功能(需要在jcseg.properties中开启该选项,lex-stopwords.lex为停止词词库)。

    15。词库更新自动加载功能, 开启一个守护线程随时检测词库的更新并且加载。

    16。自动词性标注。

    17。jcseg.properties----- jcseg配置文件 如何配置jcseg

    二、分词速度:

    测试环境:2.8GHZ/2G/Ubuntu

    Simple 模式: 1366058字/秒 3774.5KB/秒

    Complex 模式: 479338字/秒 1324.4KB/秒

    分词正确率98%以上,请参考本算法的原作:

    http://technology.chtsai.org/mmseg/

    测试文章,“世界与和平” 简易模式830msec,复杂模式2461msec。

     

     

     

     

     

    SCWS 

       Author: Hightman

    C语言编写。

    算法:

    基于词频词典的机械中文分词引擎,采用的是采集的词频词典,并辅以一定的专有名称,人名,地名,数字年代等规则识别来达到基本分词

    准确率:

    经小范围测试大概准确率在 90% ~ 95%  之间,已能基本满足一些小型搜索引擎、关键字提取等场合运用。

    性能:

    45Kb左右的文本切词时间是 0.026 秒,大概是 1.5MB 文本 / 秒

    语言和平台

    SCWS 采用纯  C  代码开发,以  Unix-Like OS  为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持  GBK , UTF-8 ,BIG5  等汉字编码。支持 PHP4 和PHP 5 。

    版本列表

    版本

    类型

    平台

    性能

    SCWS-1.1.x

    C 代码

    *Unix*/*PHP*

    准确: 95%,  召回 : 91%,  速度 : 1.2MB/sec 

    PHP扩展分词速度 : 250KB/sec

    php_scws.dll(1)

    PHP扩展库

    Windows/PHP 4.4.x

    准确: 95%,  召回 : 91%,  速度 : 40KB/sec

    php_scws.dll(2)

    PHP扩展库

    Windows/PHP 5.2.x

    准确: 95%,  召回 : 91%,  速度 : 40KB/sec

    php_scws.dll(3)

    PHP扩展库

    Windows/PHP 5.3.x

    准确: 95%,  召回 : 91%,  速度 : 40KB/sec

    PSCWS23

    PHP源代码

    不限  (不支持 UTF-8)

    准确: 93%,  召回 : 89%,  速度 : 960KB/min

    PSCWS4

    PHP源代码

    不限

    准确: 95%,  召回 : 91%,  速度 : 160KB/min

     

     

    Friso

    官网http://code.google.com/p/friso/

     

    friso是使用c语言开发的一个中文分词器,使用流行的mmseg算法实现。完全基于模块化设计和实现,可以很方便的植入到其他程序中,例如:MySQL,PHP等。并且提供了一个php中文分词扩展robbe。

    1。只支持UTF-8编码。【源码无需修改就能在各种平台下编译使用,加载完20万的词条,内存占用稳定为14M。】。

    2。mmseg四种过滤算法,分词准确率达到了98.41%。

    3。支持自定义词库。在dict文件夹下,可以随便添加/删除/更改词库和词库词条,并且对词库进行了分类。

    4。词库使用了friso的Java版本jcseg的简化词库。

    5。支持中英混合词的识别。例如:c语言,IC卡。

    7。很好的英文支持,电子邮件,网址,小数,分数,百分数。

    8。支持阿拉伯数字基本单字单位的识别,例如2012年,5吨,120斤。

    9。自动英文圆角/半角,大写/小写转换。

    并且具有很高的分词速度:简单模式:3.7M/秒,复杂模式:1.8M/秒。[3]

     

    HTTPCWS:

    基于HTTP 协议的开源中文分词系统,

    语言和平台:目前仅支持Linux 系统

    算法:HTTPCWS 使用 “ICTCLAS 3.0 2009 共享版中文分词算法 ” 的 API 进行分词处理,得出分词结果。 HTTPCWS  将取代之前的  PHPCWS 中文分词扩展。

    PHPCWS( PHP 中文分词扩展)

    author:张宴

       语言和平台:

    PHPCWS 是一款开源的 PHP 中文分词扩展,目前仅支持 Linux/Unix 系统。

       算法:PHPCWS 先使用“ICTCLAS 3.0  共享版中文分词算法 ” 的 API 进行初次分词处理,再使用自行编写的 “ 逆向最大匹配算法 ” 对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。 ICTCLAS 3.0  商业版是收费的,而免费提供的 ICTCLAS 3.0  共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人对 ICTCLAS 分词后的结果,再采用逆向最大匹配算法,根据自己补充的一个 9 万条词语的自定义词库(与 ICTCLAS 词库中的词语不重复),对 ICTCLAS 分词结果进行合并处理,输出最终分词结果。由于 ICTCLAS 3.0  共享版只支持 GBK 编码,因此,如果是 UTF-8 编码的字符串,可以先用 PHP 的 iconv 函数转换成 GBK 编码,再用 phpcws_split 函数进行分词处理,最后转换回 UTF-8 编码。

         性能:5 8字节的一句话 ——“2009 年 2 月 13 日,我编写了一款PHP 中文分词扩展: PHPCWS 1.0.0。 ” ,分词速度只需 0.0003 秒。对于那些采用二元交叉切分的搜索引擎, PHPCWS 用在前端搜索层对用户输入的搜索关键字、短语进行分词处理,同样适合。 PHPCWS 开发的目的正在于此,对于短句、小文本中文分词切分,速度非常之快。

     

    libmmseg

    Author:李沫南

    语言和平台: 用C++ 编写的开源的中文分词软件, libmmseg 主要被作者用来实现 Sphinx 全文检索软件的中文分词功能,因此作者给 Sphinx 提供了一个补丁文件,可以让 Sphinx 集成 libmmseg ,从而支持对于中文文章的全文检索功能。 libmmseg 从 0.7.2版本开始,作者提供了 ruby 调用的接口,所以我们可以直接在ruby 程序里面调用 libmmseg 进行分词了。特别是我们可以用 ferret 去调用 libmmseg 分词功能,从而让 ruby 原生支持中文的全文检索。 

    算法 :

    “基于词库的最大匹配算法 ”

    性能:

    分词速度为每秒300KB左右。 

     

    OpenCLAS

    是一个开源的中文词法分析库。

    主要功能:

    其中包括了中文分词、词性标注等功能。系统使用基于概率的多层HMM 。可以对已登录词和未登录词进行识别分析。

    OpenCLAS是对原有的 ICTCLAS ( 中科院中文词法分析系统 ) 进行的重写。 OpenCLAS 将不包含任何 ICTCLAS 中的源代码,并且以 BSD 协议发布。因此其代码可以在满足 BSD 协议的前提下,用于包括商用在内的各种场合。

    OpenCLAS将包含三个语言分支,C++, Java 和 C# 。 ( 目前只实现了 C++ 的版本 ) 。

     

    CRF++(上海交大)

    项目网址:http://code.google.com/p/crfpp/

    详细介绍:http://crfpp.googlecode.com/svn/trunk/doc/index.html

    作者:上海交大 赵海

    个人主页:http://bcmi.sjtu.edu.cn/~zhaohai/index.ch.html

     

    成绩

    [2007]Bakeoff-4

    第一届中国中文信息学会汉语处理评测暨第四届国际中文自然语言处理Bakeoff (Bakeoff-4, Bakeoff-2007, 2008)

      28个研究团队提交的166个分词结果中赢得本届Bakeoff分词的封闭评测的所有五项第一名

     33个命名实体识别结果中赢得三个第二名,一个第三名

    Bakeoff-4的正式结果在。 我们的系统报告在

    [2006]Bakeoff-3

    第三届国际中文分词竞赛 (Bakeoff-3,Bakeoff-2006)

    在29个研究团队提交的101个分词结果中赢得四项第一、两项第三

    Bakeoff-3的正式结果在。 我们的系统报告在

     

    CRF++ is a simple, customizable, and opensource implementation of Conditional Random Fields (CRFs) forsegmenting/labeling sequential data. CRF++ is designed for generic purpose andwill be applied to a variety of NLP tasks, such as Named Entity Recognition,Information Extraction and Text Chunking.

     

     

    说明:分词器的介绍来自于其官网。



    展开全文
  • 本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下这三种分词工具,在这里分享下~1.jieba 分词:# -*- coding: UTF-8 -*-import osimport codecsimport ...

    本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下

    这三种分词工具,在这里分享下~

    1.jieba 分词:# -*- coding: UTF-8 -*-

    import os

    import codecs

    import jieba

    seg_list = jieba.cut('邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。')

    f1 = codecs.open("d2w_ltp.txt","w")

    print "/".join(seg_list)

    for i in seg_list:

    f1.write(i.encode("utf-8"))

    f1.write(str(" "))

    效果:邓超/,/1979/年出/生于/江西/南昌/,/中国/内地/男演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。

    这里面包括了结巴的分词和写入文件的形式

    值得注意的是结巴分词出来的字符编码是 'Unicode' 编码,我们需要把 unicode -> utf-8

    2.张华平老师的 NLPIR

    (https://github.com/NLPIR-team/NLPIR)

    这里给出张华平老师的github 地址 ,需要用的朋友可以去到老师的git上面 拿到 licence

    有两种: 十天的\ 一个月的

    当然,详细的代码和安装包我也上传到了CSDN上面,有兴趣的朋友可以看下(还是需要去更新licence)

    值得一提,国内多数论文都是用这个分词工具,比较权威r = open('text_no_seg.txt','r')

    list_senten = []

    sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'

    for i in seg(sentence):

    list_senten.append(i[0])

    print "/".join(list_senten)

    f1 = codecs.open("d2w_ltp.txt","w")

    for i in seg(sentence):

    f1.write(i[0])

    f1.write(str(" "))

    效果:邓超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品/人/、/互联网/投资人/。

    当然NLPIR在在命名实体识别上面也是有着很好的效果:邓超 nr

    , wd

    1979年 t

    出生 vi

    于 p

    江西 ns

    南昌 ns

    , wd

    中国 ns

    内地 s

    男 b

    演员 n

    、 wn

    电影 n

    导演 n

    、 wn

    投资 n

    出品 vi

    人 n

    、 wn

    互联网 n

    投资人 n

    。 wj

    3.哈工大LTP# -*- coding: UTF-8 -*-

    import os

    import codecs

    from pyltp import Segmentor

    #分词

    def segmentor(sentence):

    segmentor = Segmentor() # 初始化实例

    segmentor.load('ltp_data/cws.model') # 加载模型

    words = segmentor.segment(sentence) # 分词

    words_list = list(words)

    segmentor.release() # 释放模型

    return words_list

    f1 = codecs.open("d2w_ltp.txt","w")

    sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'

    print "/".join(segmentor(sentence))

    for i in segmentor(sentence):

    f1.write(i)

    f1.write(str(" "))

    效果:邓/超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。

    展开全文
  • python 常用中文分词工具

    千次阅读 2018-04-13 15:07:48
    最近在做微博文本处理,在分词工具的选择上,分别选择了:jieba \ NLPIR \ LTP这三种分词工具,在这里分享下~1.jieba 分词:# -*- coding: UTF-8 -*- import os import codecs import jieba seg_list = jieba.cut('邓超...
  • 常用的中文分词框架

    2020-08-06 09:37:46
    首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AINLP公众号后台在线测试,严格的说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP,LTP,CoreNLP都是很全面的(中文)自然语言处理工具...
  • 中文分词工具整理

    千次阅读 2017-07-07 15:41:52
    由于英文中词与词之间有空格隔开,使得英文分词的工作主要...下文的中文分词工具列表是约为14年左右对当时常用中文分词器的一些调研,其中有些目前已经不能使用,仅供读者参考。MMSEG:* MMSEG (A Word Identificatio
  • 最近在整理自然语言处理的相关知识图谱,关于中文分词这块,我们梳理了一些入门的知识点,并且整理汇总了一些常用的分词工具、词云图工具,觉得有用的可以收藏一下。1.分词难点1.1.有多种分词标准,不同的分词标准会...
  • 基于词频词典机械中文分词引擎,采用是采集词频词典,并辅以一定专有名称,人名,地名,数字年代等规则识别来达到基本分词 准确率:经小范围测试大概准确率在 90% ~ 95%  之间,已能基本满足一些...
  • 基于字标注法分词中文分词字标注通常有2-tag,4-tag和6-tag这几种方法,其中4-tag方法最为常用。标注集是依据汉字(其中也有少量非汉字字符)在汉语词中位置设计。1. 2-tag法2-tag是一种最简单标注方法,标注...
  • 中文分词工具比较

    千次阅读 2020-02-09 14:02:17
    在本篇文章中,将介绍9个常用的分词工具及其对比。 jieba、SnowNLP、北京大学PKUseg、清华大学THULAC、HanLP、FoolNLTK、哈工大LTP、CoreNLP、BaiduLac。 * 部分分词中有可参考的论文。如北大、清华,可引用 文章...
  • 中文分词字标注通常有2-tag,4-tag和6-tag这几种方法,其中4-tag方法最为常用。标注集是依据汉字(其中也有少量非汉字字符)在汉语词中位置设计。 1. 2-tag法 2-tag是一种最简单标注方法,标注集合为{B,I},...
  • 中文分词工具jieba中词性类型 jieba为自然语言语言中常用工具包,jieba具有对分词词性进行标注功能,词性类别如下: Ag 形语素 形容词性语素。形容词代码为 a,语素代码g前面置以A。 a 形容词 取英语...
  • 基于字标注法分词中文分词字标注通常有2-tag,4-tag和6-tag这几种方法,其中4-tag方法最为常用。标注集是依据汉字(其中也有少量非汉字字符)在汉语词中位置设计。1. 2-tag法 2-tag是一种最简单标注方法,...
  • 1.7.7版nlp,封装了大多数nlp项目中常用工具,分词必备jar包。个人测试使用正常,可以搭配ansj中文分词使用
  • 中文分词

    2017-07-17 14:39:07
    比较常用的中文分词工具有中科院的分词工具ICTCLAS;jiaba是Python编程重用的分词包,主要包括分词、词性标注、关键词抽取等。 jiaba教程: 1.安装及入门介绍  参考地址:http://www.oschina.net/p/jieba  
  • 常用分词工具使用教程

    千次阅读 2019-01-02 19:56:55
    常用分词工具使用教程 以下分词工具均能在Python环境中直接调用(排名不分先后)。 jieba(结巴分词) 免费使用 HanLP(汉语言处理包) 免费使用 SnowNLP(中文的类库) 免费使用 FoolNLTK(中文处理工具...
  • 中文分词工具汇总(1)

    千次阅读 2017-07-02 17:41:57
    常用的开源中文分词工具  本文链接:http://www.scholat.com/vpost.html?pid=4477 来源: 许玉赢  发布时间:2014-04-20 23:45:18 最后编辑:2014-09-29 访问量:7009   由于中文文本词与词之间没有...
  • 文章目录1.前言2.简单上手1)安装jieba2)jieba的常用函数示例3)解决paddlepaddle-tiny==1.6.1安装...并且容易上手,还支持繁体中文分词,支持用户自定义词。 如果你只想解决paddlepaddle-tiny==1.6.1安装和使用问
  • 常用分词工具使用教程以下分词工具均能在Python环境中直接调用(排名不分先后)。jieba(结巴分词) 免费使用HanLP(汉语言处理包) 免费使用SnowNLP(中文的类库) 免费使用FoolNLTK(中文处理工具包) 免费使用...
  • 中文分词一些思路总结

    千次阅读 2017-03-21 16:50:45
    常用的中文分词工具包括jieba分词、哈工大分词、Stanford分词等,但是除了会使用这些工具外,掌握相关的模型和思想更为重要。 1 Mmseg 每次从一个完整的句子里,按照从左向右的顺序,识别出多种不同的3个词组合,...
  • 开源最前线(ID:OpenSourceTop) 猿妹整编分词技术是一种比较基础的...如果处理不好就会直接影响到后续词性标注、句法分析等的准确性,目前,我们最常用的分词工具大概有四种哈工大LTP、中科院计算所NLPIR、清华大学...
  • jieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注功能,词性类别如下: Ag 形语素 形容词性语素。形容词代码为 a,语素代码g前面置以A。 a ...
  • 中文分词总结

    2017-07-18 10:02:24
    0 —— Lucene & Nutch是一种神奇的东西,包含了语义分析,自然语言处理,中文分析,网络爬取,索引建立,html解析等,下面介绍几种常用的中文分词工具  图 搜索引擎的框架 1

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 191
精华内容 76
关键字:

常用的中文分词工具