jieba

3.python词云图的生成

ⅰ亾dé卋堺 提交于 2019-12-05 01:48:16
安装库 pip install jieba wordcloud matplotlib 准备 txt文本 字体(simhei.ttf) 词云背景图片 代码 import matplotlib.pyplot as plt import jieba from wordcloud import WordCloud #1.读出歌词 text = open('jack.txt','r',encoding='utf-8').read() #2.把歌词剪开 cut_text = jieba.cut(text) # print(type(cut_text)) # print(next(cut_text)) # print(next(cut_text)) #3.以空格拼接起来 result = " ".join(cut_text) # print(result) # 4.生成词云 wc = WordCloud( font_path='simhei.ttf', #字体路劲 background_color='white', #背景颜色 width=1000, height=600, max_font_size=50, #字体大小 min_font_size=10, mask=plt.imread('xin.jpg'), #背景图片 max_words=1000 ) wc.generate(result)

python+gensim︱jieba分词、词袋doc2bow、TFIDF文本挖掘

允我心安 提交于 2019-12-04 20:59:02
分词这块之前一直用R在做,R中由两个jiebaR+Rwordseg来进行分词,来看看python里面的jieba. 之前相关的文章: R语言︱文本挖掘之中文分词包——Rwordseg包(原理、功能、详解) R语言︱文本挖掘——jiabaR包与分词向量化的simhash算法(与word2vec简单比较) . 一、jieba分词功能 来源github: https://github.com/fxsjy/jieba 1、主要模式 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 支持繁体分词 支持自定义词典 . 2、算法 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法 . 3、主要功能 jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型 1 2 jieba.cut_for_search 方法接受两个参数

sklearn+gensim︱jieba分词、词袋doc2bow、TfidfVectorizer

北城余情 提交于 2019-12-04 20:58:09
分词这块之前一直用R在做,R中由两个jiebaR+Rwordseg来进行分词,来看看python里面的jieba. 之前相关的文章: R语言︱文本挖掘之中文分词包——Rwordseg包(原理、功能、详解) R语言︱文本挖掘——jiabaR包与分词向量化的simhash算法(与word2vec简单比较) . 文章目录 一、jieba分词功能 1、主要模式 支持自定义词典 . 2、算法 应用一:自定义词典或特定词识别 应用二:关键词提取 二、gensim的doc2bow实现词袋模型 分之一:BOW词袋模型 分支二:建立TFIDF 情况一:新的句子 . 情况二:tfidf模型的保存与内容查看 三 sklearn.feature_extraction抽取文本TFIDF特征 3.1 feature_extraction中几种情况 3.2 CountVectorizer与TfidfTransformer测试(合并为:TfidfVectorizer) 3.3 TfidfVectorizer 片段一:tfidf + LDA tfidf + sklearn的模型 3.4 HashingVectorizer 3.5 错误使用TfidfVectorizer方式,导致分类准确率一直为0.2 一、jieba分词功能 来源github:https://github.com/fxsjy/jieba 1、主要模式

【NLP】【一】中文分词之jieba

假如想象 提交于 2019-12-04 11:07:42
声明:本文参考jieba官方文档而成,官方链接:https://github.com/fxsjy/jieba 【一】jieba安装 pip install jieba 【二】jieba简介 简介可见jieba官方说明:https://pypi.org/project/jieba/ 总而言之,jieba用于中文分词,支持的文本编码格式为utf-8,支持的功能包括:中文分词、关键字提取、词性标注 整体功能如下图: 【三】结巴使用之分词 1. 使用精确模式 # -*- coding:utf-8 -*- import jieba sentence = "我爱北京天安门" seg = jieba.cut(sentence=sentence) print("/".join(seg)) 结果如下: 我/爱/北京/天安门 2. 使用全模式 import jieba sentence = "我爱北京天安门" seg = jieba.cut(sentence=sentence,cut_all=True) print("/".join(seg)) 结果如下: 我/爱/北京/天安/天安门 3.使用搜索模式 # -*- coding:utf-8 -*- import jieba sentence = "我爱北京天安门" seg = jieba.cut_for_search(sentence=sentence

jieba笔记

坚强是说给别人听的谎言 提交于 2019-12-03 19:28:36
1.jieba,cut(需要分词的字符串,cut_all控制是否采用全模式,HMM控制是否使用HMM模型)---------返回一个可迭代的generator,可用for循环获得每个词语。 2.jieba.cut_for_search(需要分词的字符串,是否使用HMM模型)---------返回一个可迭代的generator,可用for循环获得每个词语。 3.jieba.lcut()和jieba.lcut_for_search()-------返回list 4.jieba.load_userdict(file_name):加载用户字典 5.jieba.add_word(word,freq=None,tag=None)和jieba.del_word(word)在程序中动态修改词典。 6.jieba.suggest_freq(segment,tun=True)可以调节单个词语的词频,使其能(或不能)被分出来。 7.基于TF-IDF算法抽取关键词:import jieba.analyse------jieba.analyse.extract_tags(待提取文本,topK=返回几个权重最大的关键词,默认20,withWeight=是否一并返回关键词的权重值,默认False,allowPOS=(仅包括指定词性的词,默认为空,不筛选))。 8.关键词提取所使用逆向文件频率(IDF

Python jieba库的使用

早过忘川 提交于 2019-12-03 10:03:29
jieba库是Python中对中文分词效果比较好的一个库,最近正好看到MOOC上嵩天老师的课程,因此也跟着学了下 首先肯定需要安装jieba ,这个很简单,win+r cmd下运行以下代码即可,但是由于PY第三方库很多是国外源提供,速度比较慢,因此可能会出现报错等情况 pip install jieba  新手们可以和我一样使用这样的方式来改善下载慢容易报错的位置,等学到LINUX系统前后基本上就知道解决方式了,目前可以在C:\Users\xxx(你的用户名)下新建一个pip文件夹,里边新建一个pip.ini文件,以记事本方式打开,里边粘贴进去以下代码即可 [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple   这样之后的pip即可使用指定的源安装,速度会相对较快,国内用的比较多的还有豆瓣源,感兴趣的可以百度搜一下,将网址指定为豆瓣源的网址即可 之后可以开始编写,我自己写的代码如下,没有完全参照嵩天老师的代码: import jieba filename = 'D:\pychram\sanguoyanyi.txt' with open(filename,'r',encoding="UTF-8") as f: txt = f.read() fenhao = jieba.lcut(txt) counts = {}

python 学习jieba库遇到的问题及解决方法

≡放荡痞女 提交于 2019-12-03 10:02:28
昨天在课堂上学习了jieba库,跟着老师写了同样的代码时却遇到了问题: jieba分词报错AttributeError: module 'jieba' has no attribute 'cut' 文件名为jieba.py 代码是: import jieba s=jieba.lcut("中国是一个伟大的国家") print(s) 运行结果为 Traceback (most recent call last): File "F:\lgm\07孙晶晶\jieba.py", line 1, in <module> import jieba File "F:\lgm\07孙晶晶\jieba.py", line 2, in <module> s=jieba.lcut("中国是一个伟大的国家") AttributeError: module 'jieba' has no attribute 'lcut' 我去网上先查了意思   module 'jieba' has no attribute 'lcut'   模块“结巴”没有属性“lcut” 想了想,不懂意思,再找到相关的文章,发现是文件名出了问题,因为python的库文件中有jieba.py这个文件存在,所以文件定名为jieba.py就会一直报错。将文件名改了之后就成功了。希望我的解决方法可以让有同样困扰的人得到帮助 来源: https:/

jieba分词原理-DAG(NO HMM)

a 夏天 提交于 2019-12-03 10:00:59
最近公司在做一个推荐系统,让我给论坛上的帖子找关键字,当时给我说让我用jieba分词,我周末回去看了看,感觉不错,还学习了一下具体的原理 首先,通过正则表达式,将文章内容切分,形成一个句子数组,这个比较好理解 然后构造出句子的有向无环图(DAG) def get_DAG(self, sentence): self.check_initialized() DAG = {} N = len(sentence) for k in xrange(N): tmplist = [] i = k frag = sentence[k] while i < N and frag in self.FREQ:#对每一个字从这个字开始搜索成词位置 if self.FREQ[frag]: tmplist.append(i)#如果可以成词就加入到DAG中 i += 1 frag = sentence[k:i + 1] if not tmplist: tmplist.append(k)#如果找不到词语,就将自己加入DAG DAG[k] = tmplist return DAG 对句子中的每个字进行分析,从右边一位开始,看sentence[k:i+1]这个词语是否在预设的字典中,这个字典保存了常用的词语(和词语的一部分,但权重为0)和其权重.如果有,并且如果字典中的这个词的权值不等于0

Python——pip的安装与使用

僤鯓⒐⒋嵵緔 提交于 2019-12-03 09:14:41
   pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 官网: https://pypi.org/project/pip/   你可以通过以下命令来判断是否已安装: pip --version   如果你还未安装,则可以使用以下方法来安装: $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 $ sudo python get-pip.py # 运行安装脚本   如果是python3则执行以下命令(一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x): $ sudo python3 get-pip.py # 运行安装脚本。   pip的常用命令: pip --version#显示版本和路径 pip --help#获取帮助 pip install -U pip#升级pip pip install SomePackage # 最新版本 pip install SomePackage==1.0.4 # 指定版本 pip install

自定义词云图片

情到浓时终转凉″ 提交于 2019-12-03 06:34:47
1 import matplotlib.pyplot as plt 2 from imageio import imread 3 import jieba 4 from wordcloud import WordCloud 5 6 # 准备要分词的文本 7 str = '小明硕士毕业于中国科学院计算所,后在日本京都大学深造' 8 # 利用jieba将字符串转化为单个词语的列表 9 ret = jieba.lcut(str) 10 # 根据 , 11 s = ','.join(ret) 12 13 # 准备自定义图片 14 backgroud_Image = imread('头像.jpg') 15 print('图片准备成功') 16 17 # 生成词云对象 18 wordcloud = WordCloud( 19 background_color='white',# 设置背景颜色 20 mask=backgroud_Image,# 设置背景图片 21 font_path='C:\Windows\Fonts\STZHONGS.TTF', # 若是文本中有中文的话,这句代码必须添加,不然会出现方框,不出现汉字 22 random_state=30,# 设置有多少种随机生成状态,即有多少种配色方案 23 ).generate(s) 24 25 # 将生成对象书写在指定图片上 26