中文分词组件:thulac及jieba试用手记
一、THULAC
THULAC由《清华大学自然语言处理与社会人文计算实验室》研制推出的一套中文词法分析工具包。
官网地址:http://thulac.thunlp.org,该项目提供了多种语言,本文以java版为例,先下载以下二个组件:
1、THULAC_lite_v1_2分词java版可执行的jar包:THULAC_lite_java_v1_2_run.jar
2、THULAC模型,包括分词模型和词性标注模型(v1_2): Models_v1_v2(v1_2).zip
把THULAC模型解压到与jar文件相同的目录下,默认会生成models目录。
然后创建一个input.txt做为输入,这里选择了一首歌词:
郁可唯-茶汤
词曲:方文山
山岚像茶杯上的云烟
颜色越来越浅
你越走越远
有好多的话还来不及兑现,你就不见
我身后窗外那片梯田
像一段段从前
我站在茶园,抬头望着天,想象你会在山的,那一边
我说再喝一碗我熬的茶汤
你说你现在马上要渡江
渡江到那遥远的寒冷北方
就怕你的手会冻僵
你何时回来喝我熬的茶汤
这次我会多放一些老姜
你寄来的信一直搁在桌上
不知要寄还哪地方
北风它经过多少村落
来来回回绕过
分不清那年,我求天保佑,只见风声大做,却更寂寞
使用方法:
java -jar THULAC_lite_java_v1_2_run.jar -seg_only -input input.txt -output output.txt
上面表示,将从input.txt做为输入,然后仅分词(不做词性标注),并将结果生成到output.txt(如果这个文件没生成,会自动创建)
输出结果:
郁可唯 - 茶 汤
词曲 : 方文山
山岚 像 茶杯 上 的 云烟
颜色 越来越 浅
...
北风 它 经过 多少 村落
来来回 回绕 过
分 不 清 那年 , 我 求 天 保佑 , 只见 风声 大 做 , 却 更 寂寞
其它一些通用的参数:
####1.2.通用参数
-t2s 将句子从繁体转化为简体
-seg_only 只进行分词,不进行词性标注
-deli delimeter 设置词与词性间的分隔符,默认为下划线_
-filter 使用过滤器去除一些没有意义的词语,例如“可以”。
-user userword.txt 设置用户词典,用户词典中的词会被打上uw标签。词典中每一个词一行,UTF8编码(python版暂无)
-model_dir dir 设置模型文件所在文件夹,默认为models/ ####1.3.Java版特有的参数
-input input_file 设置从文件读入,默认为命令行输入
-output output_file 设置输出到文件中,默认为命令行输出
比较有用的参数:-user userword.txt,可以创建自定义词典,比如象上面的歌词,“茶汤”、“来来回回”、“分不清” 这三个词,都拆成了:
茶 汤 来来回 回绕 过 分 不 清 那年
如果希望这3个词不分,可以创建一个userword.txt的文件,类似下面这样:
茶汤
来来回回
绕过
分不清
风声大做
然后加上-user userword.txt,输出结果会有变化:
郁可唯 - 茶汤
...
来来回 回绕 过
分不清 那年 , 我 求 天 保佑 , 只见 风声大做 , 却 更 寂寞
“茶汤”,“分不清”这二个词,已经按预期正确识别了,但是“来来回回”却并没有。
二、jieba分词组件
官网地址:https://github.com/fxsjy/jieba
这里我们使用python版本(java版本的功能比较弱),pip3 install jieba后,可以参考如下使用方法:
python3 -m jieba -u /Users/yangjunming/Downloads/thulac/userword.txt -d ' ' /Users/yangjunming/Downloads/thulac/input.txt > /Users/yangjunming/Downloads/thulac/jieba_output.txt
解释一下:
-u 表示使用自定义词典
-d ' ' 表示分词的间隔符,使用空格(默认是/)
结果如下:(左侧的是thulac的输出,右侧的是jieba的输出)

个人感觉:默认情况下,jieba分词的颗粒度要粗一些,而thulac则分得太细(但对于一些人名,thulac识别要好一些)
中文分词组件:thulac及jieba试用手记的更多相关文章
- .NET Core中文分词组件jieba.NET Core
.NET Core中文分词组件jieba.NET Core,由于实际的一些需求,需要做中文分词. 找到了一个jieba.NET https://github.com/anderscui/jieba.N ...
- python安装Jieba中文分词组件并测试
python安装Jieba中文分词组件 1.下载http://pypi.python.org/pypi/jieba/ 2.解压到解压到python目录下: 3.“win+R”进入cmd:依次输入如下代 ...
- Python中文分词组件 jieba
jieba "结巴"中文分词:做最好的Python中文分词组件 "Jieba" Feature 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分 ...
- 推荐十款java开源中文分词组件
1:Elasticsearch的开源中文分词器 IK Analysis(Star:2471) IK中文分词器在Elasticsearch上的使用.原生IK中文分词是从文件系统中读取词典,es-ik本身 ...
- 全文检索引擎Solr系列——整合中文分词组件mmseg4j
默认Solr提供的分词组件对中文的支持是不友好的,比如:“VIM比作是编辑器之神”这个句子在索引的的时候,选择FieldType为”text_general”作为分词依据时,分词效果是: 它把每一个词 ...
- 全文检索引擎Solr系列——整合中文分词组件IKAnalyzer
IK Analyzer是一款结合了词典和文法分析算法的中文分词组件,基于字符串匹配,支持用户词典扩展定义,支持细粒度和智能切分,比如: 张三说的确实在理 智能分词的结果是: 张三 | 说的 | 确实 ...
- 中文分词中的战斗机-jieba库
英文分词的第三方库NLTK不错,中文分词工具也有很多(盘古分词.Yaha分词.Jieba分词等).但是从加载自定义字典.多线程.自动匹配新词等方面来看. 大jieba确实是中文分词中的战斗机. 请随意 ...
- python基础===jieba模块,Python 中文分词组件
api参考地址:https://github.com/fxsjy/jieba/blob/master/README.md 安装自行百度 基本用法: import jieba #全模式 word = j ...
- Solr整合中文分词组件IKAnalyzer
我用的Solr是4.10版本, 在csdn下载这个版本的IKAnalyzer:IK Analyzer 2012FF_hf1.zip 解压后目录如下: (1)这里还用solr自带的example实验分词 ...
随机推荐
- Mac Terminal 菜鸟篇之目录跳转命令
以前一直都是使用Windows系统,连命令行都没怎么用过.来到了Mac,在某位大神的诱导下,我开始尝试使用Mac Terminal,下面总结的是一些简单的目录跳转命令(菜鸟级). 文件目录 首先要清楚 ...
- S5PV210 ADC转换
第一节 S5PV210的ADCS5PV210的ADC可支持10bit和12bit,它支持10路输入,然后将输入的模拟的信号转换为10bit或者12bit的二进制数字信号.在5MHz的时钟下,最大转换速 ...
- 深入对比TOML,JSON和YAML
坦率地说,在我开始与Hugo TOML合作之前,我感到羞耻是一个需要发现的新领域,但我对YAML和JSON非常熟悉.本文将帮助您了解如何通过不同的数据格式构建数据. 在Hugo中,您可以将 ...
- 【ES】学习1-入门使用
参考资料: https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_search_lite.htm 1.查询es数据的方法 ...
- Gym100340 线性dp
//看题解写的 https://blog.csdn.net/sdfzyhx/article/details/51804748#include<bits/stdc++.h> using na ...
- Python 索引迭代
1.使用enumerate函数 L = ['Adam', 'Lisa', 'Bart', 'Paul'] for index, name in enumerate(L): print inde ...
- myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法
摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen s ...
- Redis、RabbitMQ、Memcached
知识目录: Memcached Redis RabbitMQ Memcached 回到顶部 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中 ...
- thinkphp3.2自定义success及error跳转页面
首先我们需要配置目录 在conf下新建一个config文件 <?php return array( 'TMPL_ACTION_SUCCESS'=>'Public:dispatch_jump ...
- 网络流24题 第三题 - CodeVS1904 洛谷2764 最小路径覆盖问题 有向无环图最小路径覆盖 最大流 二分图匹配 匈牙利算法
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - CodeVS1904 题目传送门 - 洛谷2764 题意概括 给出一个有向无环图,现在请你求一些路径,这些路径 ...