python中怎样处理汉语的同义词用
python中怎样处理汉语的同义词用结巴分词
python中文分词:结巴分词
中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点:
基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
安装(Linux环境)
下载工具包,解压后进入目录下,运行:python setup.py install
模式
默认模式,试图将句子最精确地切开,适合文本分析
全模式,把句子中所有的可以成词的词语都扫描出来,适合搜索引擎
接口
组件只提供jieba.cut 方法用于分词
cut方法接受两个输入参数:
第一个参数为需要分词的字符串
cut_all参数用来控制分词模式
待分词的字符串可以是gbk字符串、utf-8字符串或者unicode
jieba.cut返回的结构是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(...))转化为list
实例
#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all = True)
print "Full Mode:", ' '.join(seg_list)
seg_list = jieba.cut("我来到北京清华大学")
print "Default Mode:", ' '.join(seg_list)
请问在结巴分词后,如何获取关键词的同义词或近义词呢?
请问什么叫结巴分词
jieba分词怎样 去掉或替换 默认词库里的词
>>>seg_list = jieba.cut("他来到了杭研大厦")
>>>print ", ".join(seg_list)
他, 来到, 了, , 杭研, 大厦
这是Python版的使用示例
python jieba分词如何去除停用词
-*- coding: utf-8 -*-
import jieba
import jieba.analyse
import sys
import codecs
reload(sys)
sys.setdefaultencoding('utf-8')
#使用其他编码读取停用词表
#stoplist = codecs.open('../../file/stopword.txt','r',encoding='utf8').readlines()
#stoplist = set(w.strip() for w in stoplist)
#停用词文件是utf8编码
stoplist = {}.fromkeys([ line.strip() for line in open("../../file/stopword.txt") ])
#经过分词得到的应该是unicode编码,先将其转成utf8编码
结巴分词获取关键词时怎么过滤掉一些停用词
是使用extract_tags函数,这个函数会根据TF-IDF算法将特征词提取出来,在提取之前会去掉停用词,可以人工指定停用词字典,代码如下:
jieba.analyse.set_stop_words('D:\\Python27\\stopword.txt')
tags = jieba.analyse.extract_tags(text,20)
jieba把他词典中的某个词删掉,但是再分词时还会出现这个词,怎么处理。。。
我也遇到这种情况,然后向我上面那么做的就好了!Python程序猿加油.,我查到一个网页说他用Python3,才输出该词,但是不是用代码保存的.7还没有试。建议楼主再调整一下编码试试吧,在代码中加了几个比较明显的停用词组成的list.10,使用Notpad.7,估计问题都差不多了吧,当分出来的词不在list里的时候.4就好了,Python2.3,所以搜到了这个问题. 楼主加油,然后停用词文件也是用的utf-8保存的,结果就成功的停用了list里的所有词.。我最开始数据都是用GB2312处理的,查了很多东西也没有个结果.4,因为停用词没反应,后来用结巴分词看文档上说用好用utf-8编码,我最开始用的是Python2,可是一样不能用,就写了段代码把文本改成utf-8了。后来,之后就一直不能停用文件里的词。另外,我又换了Python3我觉得可能还是编码不对吧
jieba分词怎么导入自定义词库
1.您可以选择不登陆搜狗输入法账户;2.在输入法上点右键进入设置>账户,里面可以关闭自动同步
在python 环境下,使用结巴分词,自动导入文本,分词,提取关键词.脚本 大侠给个
# -*- coding: utf-8 -*-
import jieba
import jieba.posseg as pseg
import jieba.analyse
#jieba.load_userdict('userdict.txt')#jieba默认有一个dict.txt词库,但可以根据自己需要加入自己的词条
str1 = "训练一个可进行N维分类的网络的常用方法是使用多项式逻辑回归"
str2 = "可以尝试修改网络架构来准确的复制全连接模型"
str3 = "模型的目标函数是求交叉熵损失和所有权重衰减项的和,loss()函数的返回值就是这个值"
seg_list = jieba.cut(str1,cut_all =True) #全模式
print("/".join(seg_list))
result = pseg.cut(str1)
result2 = jieba.cut(str2) #精准模式
result3 = jieba.analyse.extract_tags(str3,4) #关键词提取
result4 = jieba.cut_for_search(str3) #搜索引擎模式
for w in result:
print(w.word,w.flag)
print(" ".join(result2))
print(" ".join(result3))
print(" ".join(result4))
python读取文本用jieba分词后保存到另外一个文本
XlsxWriter-masterxlrd 用这两个模块,一个写,一个读,非常方便。
python中怎样处理汉语的同义词用:等您坐沙发呢!