MMSeg4J中文分词包使用报告

目录:

1、认识中文分词包(下载、安装与运行)
2、分词方法与效果分析
3、分词包背后的分词算法学习
4、分词结果提交
5、基于分词结果的词云分析(词频统计+可视化)

1、认识中文分词包(下载、安装与运行)

1.1MMSeg4J简介

mmseg4j用Chih-Hao Tsai 的MMSeg算法实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。
MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。
mmseg4j有三种分词模式simple、complex、max-word,默认是max-word。
mmseg4j 1.8.3 只支持 lucene 2.9/3.0 接口 和 solr 1.4。
mmseg4j 1.8.5 支持 lucene 3.1, solr 3.1。
mmseg4j 1.9.0 支持 lucene 4.0, solr 4.0。
mmseg4j 1.9.1 支持 solr/lucene 4.3.1。
mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。
mmseg4j-solr-2.1.0.jar 要求 lucene/solr 4.8.x。
mmseg4j-solr-2.2.0.jar 要求 lucene/solr [4.9, 4.10.x]。
mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]

参考链接:http://blog.csdn.net/jiangchao858/article/details/53026374

1.2运行环境配置:
我采用的是solr 6.5.1集成MMseg4J中文分词包。

1.2.1正确安装JDK并配置环境变量
JDK1.8.0_131下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
win10安装配置JDK教程:https://jingyan.baidu.com/article/3c48dd3484720ce10ae35859.html
按照这个教程的步骤一步步进行就OK。
1.2.2下载solr并运行
solr 6.5.1下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.5.1

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎

使用sol内置的web容器jetty后台启动solr,启动后的默认端口为8983。直接到解压的solr-6.5.1/bin目录运行solr start即可,如图所示:

启动solr.PNG

访问http://localhost:8983/solr 可以看到solr的图形化界面:
4.PNG

1.2.3整合MMSeg4J
MMSeg4J 2.3.0 下载地址:http://download.csdn.net/detail/isjiangwei/9659358
a. 将mmseg4j-solr-2.3.0.jar以及mmseg4j-core-1.10.jar(之前的mmseg4j-analysis已经整合进了mmseg4j-solr-2.3.0.jar,不需要再导入)这两个jar包放在类似于D:\solr-6.5.1\server\solr-webapp\webapp\WEB-INF\lib目录下
b. 创建一个core:zhh

solr create -c zhh
创建core.PNG

c. 集成MMSeg4J
进入该目录:D:\solr-6.5.1\server\solr\zhh\conf,修改其中managed-schema(在5.0前,该文件是shcema.xml,当然可以将该文件重命名为schema.xml,但不建议这么做),加入下面的内容并重启Solr,即可在Solr Admin 的console中看到新增的这些field了。

注意:将dicPath的值修改为相应的值。

<!-- mmseg4j-->
     <field name="mmseg4j_complex_name" type="text_mmseg4j_complex" indexed="true" stored="true"/>
     <field name="mmseg4j_maxword_name" type="text_mmseg4j_maxword" indexed="true" stored="true"/>
     <field name="mmseg4j_simple_name" type="text_mmseg4j_simple" indexed="true" stored="true"/>

     <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" >
        <analyzer>
           <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="D:\solr-6.5.1\server\solr\zhh\conf"/>
           <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
         </analyzer>
     </fieldType>
     <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" >
          <analyzer>
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="D:\solr-6.5.1\server\solr\zhh\conf"/>
            <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
          </analyzer>
      </fieldType>
      <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" >
          <analyzer>
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="D:\solr-6.5.1\server\solr\zhh\conf"/>
            <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
          </analyzer>
      </fieldType>
<!-- mmseg4j-->

d. 重启solr

solr restart -p 8983

重启solr.PNG

即可在新创建的zhh这个core的Analysis中看到MMSeg4J新增的field
5.PNG

参考链接:http://m.blog.csdn.net/article/details?id=52065562

2、分词方法与效果分析

2.1分词方法
三种分词模式simple、complex、max-word,默认是max-word。
分别使用以上三种方法进行分词:

2017年3月16日-21日,应美国公共行政学会(ASPA)执行主席William Shields先生邀请,我院行政管理系郭金云副教授、硕士研究生李舒敏以及目前在美国罗格斯大学访学的博士研究生代佳欣一同参加了在亚特兰大举行的第78届美国公共行政学会年会,本届年会的主题是“致敬公共服务:一个大胆而高尚的职业”。借此次会议所搭建的学术合作与交流平台,我院师生分别与“公共服务动机”(PSM)概念的提出者和奠基者、美国印第安纳大学詹姆斯•佩里(James L. Perry)教授,美国公共行政学会前会长、美国中佛罗里达大学刘国材教授,华人公共管理学分会会长、美国罗格斯大学张亚红教授、台湾台北大学国际长张四明教授等知名专家先后进行了学术交流,为今后进一步的合作与交流奠定了良好的基础。

simple模式:


simple.PNG
2017    年   3   月   16  日   21  日   应   美国   公共  行政学    会   aspa     执行主席 william   shields 先生  邀请  我院  行政管理    系   郭   金   云   副教授 硕士研究生  李    舒   敏   以及  目前  在   美国  罗   格   斯   大学  访   学的  博士研究生   代   佳   欣   一同  参加  了   在   亚特兰大    举行  的   第   78  届   美国  公共  行政学 会   年会  本届  年会  的   主题  是   致敬  公共  服务  一个  大胆  而   高尚  的   职业  借此  次   会议所 搭建  的   学术  合作  与   交流平台    我院  师生  分别  与   公共  服务  动机  psm 概念  的   提出者 和   奠基者 美国  印第安纳    大学  詹姆斯 佩   里   james   l   perry   教授  美国  公共  行政学 会前  会长  美国  中   佛罗里达    大学  刘   国   材   教授  华人  公共  管理学 分会  会长  美国  罗   格   斯   大学  张   亚   红   教授  台湾  台北  大学  国际  长   张   四   明教  授   等   知名  专家  先后  进行  了   学术交流    为   今后  进一步 的   合作  与   交流  奠定  了   良好  的   基础

共15处错误。

错误分词 正确分词
行政学/会 行政/学会
郭/金/云 郭金云
李/舒/敏 李舒敏
罗/格/斯 罗格斯
访/学的 访学/的
代/佳/欣 代佳欣
借此/次 借/此次
会议所 会议/所
詹姆斯/佩/里 詹姆斯佩里
行政学/会前/会长 行政/学会/前会长
中/佛罗里达/大学 中佛罗里达/大学
刘/国/材 刘国材
张/亚/红 张亚红
国际/长 国际长
张/四/明教/授 张四明/教授

complex模式:


complex.PNG
2017    年   3   月   16  日   21  日   应   美国   公共 行政  学会   aspa   执行主席    william shields 先生  邀请   我院 行政管理    系   郭   金   云   副教授 硕士研究生   李   舒   敏   以及  目前  在   美国  罗   格   斯   大学  访   学的  博士研究生   代   佳   欣   一同  参加  了   在   亚特兰大    举行  的   第   78  届   美国  公共  行政  学会  年会   本届 年会  的   主题  是   致敬  公共  服务  一个  大胆  而   高尚  的   职业  借此  次   会议所 搭建  的   学术  合作  与   交流平台    我院  师生  分别  与   公共  服务  动机  psm 概念  的   提出者 和   奠基者 美国  印第安纳    大学  詹姆斯 佩   里   james   l   perry   教授   美国 公共  行政学 会前   会长 美国  中   佛罗里达    大学  刘   国   材   教授  华人  公共  管理学 分会  会长  美国  罗   格   斯   大学  张   亚   红   教授  台湾  台北  大学   国际 长   张   四   明   教授  等   知名  专家  先后  进行  了   学术交流    为   今后  进一步 的   合作  与   交流  奠定  了   良好  的   基础

共13处错误。

错误分词 正确分词
郭/金/云 郭金云
李/舒/敏 李舒敏
罗/格/斯 罗格斯
访/学的 访学/的
代/佳/欣 代佳欣
会议所 会议/所
詹姆斯/佩/里 詹姆斯佩里
行政学/会前/会长 行政/学会/前会长
中/佛罗里达/大学 中佛罗里达/大学
刘/国/材 刘国材
张/亚/红 张亚红
国际/长 国际长
张/四/明教/授 张四明/教授

max-word模式:


max-word.PNG
2017    年   3   月   16  日   21  日   应   美国  公共  行政  学会  aspa    执行  主席  william shields 先生  邀请  我院  行政  管理  系   郭   金   云   副   教授  硕士  研究  生   李   舒   敏   以及  目前  在   美国  罗   格   斯   大学  访   学的  博士  研究  生   代   佳   欣   一同  参加  了   在   亚   特   兰   大   举行  的   第   78  届   美国  公共  行政  学会  年会  本届  年会  的   主题  是   致敬  公共  服务  一个  大胆  而   高尚  的   职业  借此  次   会议  所   搭建  的   学术  合作  与   交流  平台  我院  师生  分别  与   公共  服务  动机  psm 概念  的   提出  者   和   奠基  者   美国  印   第   安   纳   大学  詹   姆   斯   佩   里   james   l   perry   教授  美国  公共  行政  学   会前  会长  美国  中   佛   罗   里   达   大学  刘   国   材   教授  华人  公共  管理  理学  分会  会长  美国  罗   格   斯   大学  张   亚   红   教授  台湾  台北  大学  国际  长   张   四   明   教授  等   知名  专家  先后  进行  了   学术  交流  为   今后  进   一步  的   合作  与   交流  奠定  了   良好  的   基础

共21处错误。

错误分词 正确分词
郭/金/云 郭金云
副/教授 副教授
硕士/研究/生 硕士/研究生
李/舒/敏 李舒敏
罗/格/斯 罗格斯
访/学的 访学/的
博士/研究/生 博士/研究生
代/佳/欣 代佳欣
借此/次 借/此次
亚/特/兰/大 亚特兰大
提出/者 提出者
奠基/者 奠基者
印/第/安/纳/大学 印第安纳大学
詹姆斯/佩/里 詹姆斯佩里
行政/学/会前/会长 行政/学会/前会长
中/佛/罗/里/达/大学 中佛罗里达/大学
刘/国/材 刘国材
管理/理学 管理学
张/亚/红 张亚红
国际/长 国际长
张/四/明 张四明

2.2分词效果分析
可以看出,分词正确率最高的方法是complex方法,原因是:simple与complex都是正向最大匹配,且complex在正向最大匹配的基础上,考虑相邻词的词长,设计了四个去歧义规则,而max-word是实现最多分词,它会将可能的分词效果都显示出来。并且这三种分词方法都存在着无法对人名和领域等名词正确分词,可以通过添加词库或者是算法优化来解决。

3、分词包背后的分词算法学习

MMSeg的字符串匹配算法分为两种:

Simple,简单的正向最大匹配,即按能匹配上的最长词做切分;
Complex,在正向最大匹配的基础上,考虑相邻词的词长,设计了四个去歧义规则(Ambiguity Resolution Rules)指导分词。
在complex分词算法中,MMSeg将切分的相邻三个词作为词块(chunk),应用如下四个消歧义规则:

备选词块的长度最大(Maximum matching),即三个词的词长之和最大;
备选词块的平均词长最大(Largest average word length),即要求词长分布尽可能均匀;
备选词块的词长变化最小(Smallest variance of word lengths );
备选词块中(若有)单字的出现词自由度最高(Largest sum of degree of morphemic freedom of one-character words)。

参考链接:http://www.cnblogs.com/en-heng/p/5872308.html

4、分词结果提交

由于以上三种模式都未能对人名、大学名等专有名词进行正确的分词,我在这里采用自定义词库的方法进行改进。
4.1修改solrconfig.xml配置,添加如下内容

<requestHandler name="/mmseg4j/reloadwords"     class="com.chenlb.mmseg4j.solr.MMseg4jHandler">
<lst name="defaults">
    <!--词库路径-->
    <str name="dicPath">D:\solr-6.5.1\server\solr\zhh\conf</str>
    <str name="check">true</str>
    <str name="reload">true</str>
</lst>
</requestHandler>

注意:缩进问题同样不能忽略,不然会出现solr无法加载自定义词库的现象,而且报错的时候只会告诉你不能加载,不会告诉你为什么不能加载,要是不知道是缩进的问题,可能很久都找不到是什么原因。
4.2在自定义词库目录下放入词库
自定义词库可识别到文件名为words开头,.dic为文件结尾的UTF-8格式的文件。如在自定义词词库下创建words-zhh.dic。如果是带BOM的UTF8文件, 第一行为空即可。每行一个词。


9.PNG

4.3重启solr并进行分词


重启solr.PNG

由上图可以看出,已经成功加载自定义词库。
4.4分词结果
11.PNG

12.PNG

13.PNG

参考链接:Solr动态加载分词器的自定义词库扩展词库解决方案

5、基于分词结果的词云分析(词频统计+可视化)

工具:图悦在线词频分析工具

词云分析.PNG

词频统计.PNG

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

推荐阅读更多精彩内容