python使用jieba实现中文分词去停用词方法示例

yipeiwu_com7年前Python基础

前言

jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能强悍,十分推荐。

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

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

支持三种分词模式

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

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

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

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

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

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

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

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

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python标准异常和异常处理详解

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。 1.异常处理: 本站Python教程会具体介绍。 2.断言(...

django站点管理详解

管理界面是基础设施中非常重要的一部分。这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。Django有自己的自动管理界面。这个特性是这样起作用的:它读取你模...

Python3中列表list合并的四种方法

下面是[列表]合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,有任何问题欢迎给我留言。 方法1: 直接使用"+"号合并列表...

使用Python正则表达式操作文本数据的方法

什么是正则表达式 正则表达式,是简单地字符的序列,可指定特定的搜索模式。正则表达式已存在很长一段时间,并且它本身就是计算机科学的一个领域。 在 Python中,使用Python的内置r...

python 垃圾收集机制的实例详解

 python 垃圾收集机制的实例详解 pythonn垃圾收集方面的内容如果要细讲还是挺多的,这里只是做一个大概的概括 Python最主要和绝大多数时候用的都是引用计数,每一个...