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

yipeiwu_com6年前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之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参” 调用时小括号中的参数,用来传递给函数用的,称为 “实参”。 1、思考一个问题,如下: 现在需要定义一个函数,这...

python email smtplib模块发送邮件代码实例

python email smtplib模块发送邮件代码实例

本例使用 QQ邮箱测试,需要打开 QQ邮箱的 smtp协议,获取授权码 代码内容如下: #!/usr/bin/env python # _*_ coding:utf-8 _*_ _...

python设置环境变量的原因和方法

python设置环境变量的原因和方法

相信很多初学python的小伙伴都会遇到这样的坑:环境变量配置不好,无法正常启动python。那么环境变量究竟是个什么东西呢?为什么要设置它?下面我们来说一说。 1、什么是环境变量 引用...

Python实现滑动平均(Moving Average)的例子

Python中滑动平均算法(Moving Average)方案: #!/usr/bin/env python # -*- coding: utf-8 -*- import nump...

Python简单获取二维数组行列数的方法示例

Python简单获取二维数组行列数的方法示例

本文实例讲述了Python简单获取二维数组行列数的方法。分享给大家供大家参考,具体如下: import numpy as np x = np.array([[1,2,5],[2,3,...