python利用jieba进行中文分词去停用词

中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。

分词模块jieba,它是python比较好用的分词模块。待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8

支持三种分词模式

1 精确模式,试图将句子最精确地切开,适合文本分析;

2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

<span># 精确模式seg_list = jieba.cut(<span>"我去过清华大学和北京大学。")</span></span>

<span># 全模式seg_list = jieba.cut(<span>"我去过清华大学和北京大学。", cut_all=<span>True)</span></span></span>

<span># 搜索引擎模式seg_list = jieba.cut_for_search(<span>"我去过清华大学和北京大学。")<br /></span></span>

<span><span>#精确模式: 我/ 去过/ 清华大学/ 和/ 北京大学/ 。</span></span>

<span><span><span>#全模式: 我/ 去过/ 清华/ 清华大学/ 华大/ 大学/ 和/ 北京/ 北京大学/ 大学/ /</span></span></span>

<span><span><span><span>#搜索引擎模式: 我/ 去过/ 清华/ 华大/ 大学/ 清华大学/ 和/ 北京/ 大学/ 北京大学/</span></span></span></span>

#coding=utf-8<br />import jieba. analyse<br />stopwords=[]<br />for word in open('stopwords.txt','r'):<br />    stopwords.append(word.strip())<br />article=open('1.txt','r').read()<br />words=jieba.cut(article,cut_all=False)<br />stayed_line=""<br />for word in words:<br />if word.encode("utf-8")not in stopwords:<br />        stayed_line+=word+" "<br />print stayed_line<br /><br />w=open('2.txt','w')<br />w.write(stayed_line.encode('utf-8'))

相关推荐