中文分词组件
2017-05-17 09:07
204 查看
1.下载mecab-chinesedic-binary,放在MeCab bin目录下,具体参考:详细详细可参考《用MeCab打造一套实用的中文分词系统》
cmd运行命令:mecab -d mecab-chinesedic-binary wakati wiki.zh.text.jian -o wiki.zh.text.jian.seg -b 10000000
其中,wiki.zh.text.jian是一个中文数据集,wiki.zh.text.jian.seg为分割后文本。
2.使用中文分词工具jieBa
#encoding=utf-8
import jieba
#全模式
text = "我来到北京清华大学"
seg_list = jieba.cut(text, cut_all=True)
print u"[全模式]: ", "/ ".join(seg_list)
#精确模式
seg_list = jieba.cut(text, cut_all=False)
print u"[精确模式]: ", "/ ".join(seg_list)
#默认是精确模式
seg_list = jieba.cut(text)
print u"[默认模式]: ", "/ ".join(seg_list)
#新词识别 “杭研”并没有在词典中,但是也被Viterbi算法识别出来了
seg_list = jieba.cut("他来到了网易杭研大厦")
print u"[新词识别]: ", "/ ".join(seg_list)
#搜索引擎模式
seg_list = jieba.cut_for_search(text)
print u"[搜索引擎模式]: ", "/ ".join(seg_list)
#当然也可以用自己定义的词典
如:
#导入自定义词典
jieba.load_userdict("dict.txt")
#读取文件并保存
从BaiduSpider文件中读取0001.txt~0204.txt文件,分别进行分词处理再保存。
[python] view
plain copy
#encoding=utf-8
import sys
import re
import codecs
import os
import shutil
import jieba
import jieba.analyse
#导入自定义词典
jieba.load_userdict("dict_baidu.txt")
#Read file and cut
def read_file_cut():
#create path
path = "BaiduSpider\\"
respath = "BaiduSpider_Result\\"
if os.path.isdir(respath):
shutil.rmtree(respath, True)
os.makedirs(respath)
num = 1
while num<=204:
name = "%04d" % num
fileName = path + str(name) + ".txt"
resName = respath + str(name) + ".txt"
source = open(fileName, 'r')
if os.path.exists(resName):
os.remove(resName)
result = codecs.open(resName, 'w', 'utf-8')
line = source.readline()
line = line.rstrip('\n')
while line!="":
line = unicode(line, "utf-8")
seglist = jieba.cut(line,cut_all=False) #精确模式
output = ' '.join(list(seglist)) #空格拼接
print output
result.write(output + '\r\n')
line = source.readline()
else:
print 'End file: ' + str(num)
source.close()
result.close()
num = num + 1
else:
print 'End All'
#Run function
if __name__ == '__main__':
read_file_cut()
cmd运行命令:mecab -d mecab-chinesedic-binary wakati wiki.zh.text.jian -o wiki.zh.text.jian.seg -b 10000000
其中,wiki.zh.text.jian是一个中文数据集,wiki.zh.text.jian.seg为分割后文本。
2.使用中文分词工具jieBa
#encoding=utf-8
import jieba
#全模式
text = "我来到北京清华大学"
seg_list = jieba.cut(text, cut_all=True)
print u"[全模式]: ", "/ ".join(seg_list)
#精确模式
seg_list = jieba.cut(text, cut_all=False)
print u"[精确模式]: ", "/ ".join(seg_list)
#默认是精确模式
seg_list = jieba.cut(text)
print u"[默认模式]: ", "/ ".join(seg_list)
#新词识别 “杭研”并没有在词典中,但是也被Viterbi算法识别出来了
seg_list = jieba.cut("他来到了网易杭研大厦")
print u"[新词识别]: ", "/ ".join(seg_list)
#搜索引擎模式
seg_list = jieba.cut_for_search(text)
print u"[搜索引擎模式]: ", "/ ".join(seg_list)
#当然也可以用自己定义的词典
如:
#导入自定义词典
jieba.load_userdict("dict.txt")
#读取文件并保存
从BaiduSpider文件中读取0001.txt~0204.txt文件,分别进行分词处理再保存。
[python] view
plain copy
#encoding=utf-8
import sys
import re
import codecs
import os
import shutil
import jieba
import jieba.analyse
#导入自定义词典
jieba.load_userdict("dict_baidu.txt")
#Read file and cut
def read_file_cut():
#create path
path = "BaiduSpider\\"
respath = "BaiduSpider_Result\\"
if os.path.isdir(respath):
shutil.rmtree(respath, True)
os.makedirs(respath)
num = 1
while num<=204:
name = "%04d" % num
fileName = path + str(name) + ".txt"
resName = respath + str(name) + ".txt"
source = open(fileName, 'r')
if os.path.exists(resName):
os.remove(resName)
result = codecs.open(resName, 'w', 'utf-8')
line = source.readline()
line = line.rstrip('\n')
while line!="":
line = unicode(line, "utf-8")
seglist = jieba.cut(line,cut_all=False) #精确模式
output = ' '.join(list(seglist)) #空格拼接
print output
result.write(output + '\r\n')
line = source.readline()
else:
print 'End file: ' + str(num)
source.close()
result.close()
num = num + 1
else:
print 'End All'
#Run function
if __name__ == '__main__':
read_file_cut()
相关文章推荐
- 全文检索引擎Solr系列——整合中文分词组件mmseg4j
- Java中文分词组件 - word分词
- Java分布式中文分词组件 - word分词(转自:https://github.com/ysc/word)
- .NET Core中文分词组件jieba.NET Core
- 基于Python3.6编写的jieba分词组件+Scikit-Learn库+朴素贝叶斯算法小型中文自动分类程序
- MMAnalyzer中文搜索(极易中文分词组件)
- 全文检索引擎Solr系列——整合中文分词组件IKAnalyzer
- “结巴”中文分词:做最好的 Python 中文分词组件
- Lucene中文分词组件JE-Analysis1.4.0
- 中文分词组件 KTDictSeg 1.2 版本发布及算法简介
- Python中文分词组件jieba
- KTDictSeg 分词组件1.3版本 部分算法讨论 -- 中文姓名识别和未登录词识别
- Lucene中文分词组件 JE-Analysis
- 中文分词组件链接地址
- scws中文分词组件
- 全文检索引擎Solr系列——整合中文分词组件mmseg4j
- 海量的中文分词组件(HLSSplit.dll).在java下调用
- 中文分词组件:thulac及jieba试用手记
- 中文分词组件 KTDictSeg 1.2 版本发布及算法简介
- 推荐十款java开源中文分词组件