mmseg4j/jieba中文分词包体验,以及词云分析

目录

1.mmseg4j部分(简介,下载,安装,使用,分词算法分析)
2.jieba部分(简介,下载,安装,使用,分词算法分析)
3.词云


1.mmseg4j

1.1mmseg4j简介

mmseg4j用Chih-Hao Tsai 的MMSeg算法实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。 MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j已经实现了这两种分词算法。

1.2mmseg4j下载

http://central.maven.org/maven2/com/chenlb/mmseg4j/mmseg4j-core/1.10.0/mmseg4j-core-1.10.0.jar
http://central.maven.org/maven2/com/chenlb/mmseg4j/mmseg4j-analysis/1.9.1/mmseg4j-analysis-1.9.1.jar

github地址

https://github.com/chenlb/mmseg4j-core

1.3mmseg4j安装/使用

在这里为了简单的体验mmseg4j,我们采用最简单的本地cmd方法使用:
进入到下载到的mmseg4j-core盘符:

java -cp mmseg4j-core-1.9.1.jar com.chenlb.mmseg4j.example.MaxWord 中华人名共和国

分词成功!

1.4mmseg4j分词算法分析

mmseg4j的匹配算法一共有三种:

Simple方法
Complex方法
MaxWord方法

1、Simple(简单最大匹配)

在一串字符串中从开头匹配子串,找到所有可能的匹配。


国际
国际化

2、MaxWord(复杂最大匹配):

以三个词为一组


生命
研究生起源
研究生命起源

3.消除歧义的匹配算法

简单的最大匹配:选择这个词的最大长度。 复杂最大匹配:选择第一个词块的最大长度。
最大平均单词长度
单词长度的最小方差
最大的语素和自由的单字单词

现在我们来对一段文本尝试用不同的分词算法进行分词:

5月23日,人机大战第一局在浙江桐乡打响,经过猜先柯洁执黑先行。最终,由Deepmind团队研发的围棋人工智能AlphaGo执白1/4子战胜目前等级分排名世界第一的中国棋手柯洁九段,暂时以1比0领先。双方的第二局比赛将于25日10:30继续进行。DeepMind创始人哈萨比斯:无论结果如何 胜利都属于人类在赛前的演讲中,DeepMind创始人哈萨比斯就表示,并不同意这是人机大赛,而是人利用电脑发现新的知识。

MaxWord:

错词分析:

  柯洁  -> 柯 | 洁   (人名)
  哈萨比斯 -> 哈 | 萨 | 比 | 斯  (人名)
  对决  -> 对 | 决    (动词)
  等级分 -> 等级 | 分 (常用词)
  人工智能 -> 人工 | 智能   (常用词)
  世界第一 -> 界 | 第  (常用词)
  第二局 -> 第二 | 局  (常用词)
Simple:

错词分析:

  柯洁  -> 柯 | 洁   (人名)
  第二局 -> 第二 | 局  (常用词)
  哈萨比斯 -> 哈 | 萨 | 比 | 斯  (人名)

对比比较发现,在基于所给出文本的分析测试中:
1.两种算法都不能对于特定的人名进行分词;
2.基于Simple的算法能够匹配出一些简单的常用词(人工智能/世界第一/等级分),MaxWord算法则不能;
3.MaxWord甚至会匹配出一些显而易见的错误(对 | 决, 界 | 第).

2.jieba

2.1jieba简介

支持三种分词模式:

精确模式,试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
支持繁体分词

支持自定义词典

2.2jieba下载/安装

在这里我是在pyhton环境下进行的jieba安装与测试

pip install jieba

一键式傻瓜操作安装成功

2.3结巴使用

我们通过一串代码来分析:

 import jieba
 import codecs

 jieba.add_word('柯洁')
 jieba.add_word('哈萨比斯')


 with open('word.txt', 'r') as f:
     for line in f:
         seg = jieba.cut(line.strip(), cut_all = False)
         s= '/'.join(seg)
         m=list(s)
         with open('word2.txt','a+')as f:
             for word in m:
                 f.write(word.encode('utf-8'))
                 #print word

添加自定义词典:

 jieba.add_word('柯洁')
 jieba.add_word('哈萨比斯')

打开我们即将要分词的文件:

 with open('word.txt', 'r') as f:

逐行读取并且采用精确模式(cut_all = False)

for line in f:
         seg = jieba.cut(line.strip(), cut_all = False)
         s= '/'.join(seg)
         m=list(s)

将分词后的文本保存到目标文本当中去,并且采用UTF-8格式储存:

with open('word2.txt','a+')as f:
    for word in m:
        f.write(word.encode('utf-8'))
        #print word

测试:

我们发现,在文本中的'柯洁'和'哈萨比斯'的人名已经被正确的分词!

当然了,结巴提供当中提供的三种分词方式:

  # 全模式
sl = jieba.cut(strt, cut_all=True)
print "全模式分词结果:", ",".join(sl)
print('\n')

# 精确模式,默认hi精确模式,所以可以不指定cut_all=False
sl = jieba.cut(strt, cut_all=False)
print "精确模式分词结果:", ",".join(sl)
print('\n')

# 搜索引擎模式
sl = jieba.cut_for_search(strt)
print "搜索引擎模式分词结果:", ",".join(sl)

我们这里只采用了第二种精确模式.

3.词云分析

我们采用图悦来进行词云分析:

http://www.picdata.cn/

分析结果
词云展示

相关推荐
Solr6.5.1环境搭建+相关命令+索引查询
Windows10下浅识Luke索引

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容