1.现有的分词工具包
由于中文文本词与词之间没有像英文那样有空格分隔,因此很多时候中文文本操作都涉及切词,因此我上网整理了一些中文分词工具。这些分词工具大都是基于JAVA语言。
- perminusminus
- Stanford 汉语分词工具(Bakeoff-2两项第一)
- 哈工大语言云(LTP -cloud)
- ICTCLAS——(Bakeoff -1两项第一)
- Ansj(ICTCLAS的java实现)
- 庖丁解牛分词
- 盘古分词
- IKAnalyzer
- imdict-chinese-analyzer
- mmseg4j
- FudanNLP(复旦大学)
- GooSeeker
- Jcseg
- jieba
- SCWS
- Friso
- HTTPCWS
- libmmseg
- OpenCLAS
- CRF++ (Bakeoff-3四项第一)
2.四种分词效果的比较分析
3.分词工具的使用
以上的分词工具可以分为两类,在线编辑工具,无须下载安装与编程以及基于Python和Java语言编程的分词工具。
我随机选取了集搜客文本分词工具和Jieba作为分词练习的工具。
首先是集搜客文本分词工具。
我选择解析的文本是朱自清先生的《背影》。具体选择原因不展开叙述。操作较为简单,分为以下三步。
1.导入文本数据,系统会进行自动分词,得到词语列表和分词效果表。
2.筛选词语,系统自动匹配原文本。集搜客将词语列表按照词频大小排序,点击词语可以查看样本数据,筛选出有用的词,系统会自动将词语与原文本进行匹配,得到选词结果表和打标结果表
3.下载数据结果表。完成前两步之后,就可以同时下载到选词结果表、打标结果表、分词效果表三张数据表。
集搜客分词解析工具的十分容易上手,无需编程经验即可完成对文件的分词解析,上手较快。界面直观,用户可以直接在结果页上进行随时修改,很方便。
Jieba工具使用
1)分词
结巴分词支持3中分词模式:
1,全模式:把句子中的所有可以成词的词语都扫描出来,
2, 精确模式:试图将文本最精确的分开,适合于做文本分析。
3,搜索引擎模式:在精确的基础上对长词进行进一步的切分。
函数jieba.cut接受两个输入参数,第一个是将要分词的对象,第二个是采用的模式。该函数返回的是一个可以迭代的generator, 可以使用for循环得到分词后得到的每一个词语。
下面是我编写的分词代码
import jieba
import codecs
with open('beiying.txt', 'r') as f:
for line in f:
seg = jieba.cut(line.strip(), cut_all = False)
s= '/'.join(seg)
m=list(s)
with open('results.txt','a+')as f:
for word in m:
f.write(word.encode('utf-8'))
#print word
代码调试成功后是如下结果
词频统计结果如下:
结巴结合python代码能够较为准确快速的实现对文件的分词,但是无法针对实时代码界面对分词结果进行修改。
4.总结
jieba可以针对不同的模式返回不同的分词结果,分词结果较为准确。
集搜客则较为容易上手,但是分词效果没有jieba理想。jieba还有相应的关键词提取和文字标识、添加自定义词典等方式的选择,在文件较大,需要进行文字分词的数目较多的情况下,用jieba还是比较准确和高效。因而,集搜客比较适合与一段文字或者篇幅较小的文章进行分词解析,而jieba比较适合对系统爬虫数据的分词解析。