安装anaconda环境,anaconda环境是一个强大的科学计算环境,自带python2.7和3.4两个版本以及很多科学计算库
安装完成后配置环境变量,然后在终端用pip install jieba安装结巴分词库
我的工程中的代码:
#encoding=utf-8
import jieba
from astropy.table.np_utils import join
import os
import sys
f=open(u"爽肤水评论.txt")
line= f.readline()
f2=file(u"分词后的爽肤水评论.txt","w+")
while line:
seg_list = jieba.cut(line,cut_all=False)
seg_list = " ".join(seg_list)
seg_list.encode("utf8")
seg_list.decode("utf8")
f2.write(seg_list)
f2.write("\n")
line=f.readline()
f2.close()
f.close()
print "end"
我在工程中通过这段代码进行分词,按行读入每条评论,进行分词,然后按行写入新的txt中。
测试代码:
#encoding=utf-8
import jieba
from astropy.table.np_utils import join
import os
import sys
seg_list = jieba.cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作",cut_all=False)
seg_list = " ".join(seg_list)
print seg_list
运行结果:
Building prefix dict from the default dictionary ...
Loading model from cache c:\users\user\appdata\local\temp\jieba.cache
Loading model cost 0.334 seconds.
Prefix dict has been built succesfully.
工信处 女干事 每月 经过 下属 科室 都 要 亲口 交代 24 口 交换机 等 技术性 器件 的 安装 工作
有没有很强大?
解析代码:
jieba.cut(text,cut_all=False)
jieba.cut方法有两个参数,第一个参数是要分词的String,第二个参数控制是否为全模式切分,True表示全模式。
当然也可以
jieba.cut(text)
默认为精确模式
全模式和精确模式的效果:
【原句】:我来到北京清华大学
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
【精确模式】: 我/ 来到/ 北京/ 清华大学
用法:
jieba.load_userdict(file_name)
file_name为自定义词典的路径
词典格式和dict.txt一样,一个词占一行;每一行分三部分,一部分为词语,
另一部分为词频,最后为词性(可省略),用空格隔开
import jieba.analyse
result=jieba.analyse.extract_tags(sentence,topK)
方法:jieba.analyse.extract_tags(sentence,topK) 有两个参数,第一个为要提取的文本,第二个为要获取的按tf-idf排序的词的个数
#encoding=utf-8
import jieba.posseg as pseg
words =pseg.cut("我爱北京天安门")
for w in words:
print w.word,w.flag
----------------------------
运行结果:
我 r
爱 v
北京 ns
天安门 ns
并行分词、获取一个词的位置信息。。。今后遇到再分析