jieba

[NLP的那些坑] jieba

自古美人都是妖i 提交于 2019-11-29 17:57:56
问题1 >> jieba.analyse.extract_tags(content, topK=5, withWeight=True, allowPOS=()) << AttributeError: module 'jieba' has no attribute 'analyse' 解决方案 from jieba import analyse analyse.extract_tags(content, topK=5, withWeight=True, allowPOS=()) 原因 在讲原因之前必须讲一下__init__.py 1、__init__.py是Python中package的标识 __init__.py 文件的一个主要作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件; 2、批量引入(定义__all__用来模糊导入) 我们在python中导入一个包时,实际上是导入了它的__init__.py文件,这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入; 3、配置模块的初始化操作,这个文件也是一个正常的python代码文件,因此可以将初始化代码放入该文件中 所以import导入的是 jieba,但是在结巴包里的__init__.py中并没有analyse

Structured Streaming 简单数据处理——读取CSV并提取列关键词

╄→гoц情女王★ 提交于 2019-11-29 09:39:52
前言 近日想学学Spark 比较新的Structured Streaming ,百度一轮下来,全都是千篇一律的wordcount ,很是无语。只好自己摸索,除了Dataframe的Select和Filter 操作还能做些什么处理。因为用的Python,用过Pandas,摸索中,想转Pandas去处理,结果readStream并不支持直接toPandas()这个方法。最后翻来官方API,发现了还有Dataframe还有一个强大的操作,并且能够在readStream中使用,那就是——UDF。 环境准备 Hadoop 2.8.5 Spark 2.4.3 Python 3.7.3 jieba (jieba分词工具,提供了TF-IDF关键词提取方法,pip install jieba) 程序下面的代码都是在交互式环境下执行,即pyspark下。 数据准备 id title_zh content_zh publish_date 假设CSV数据如上表格所示,分别表示文章id,标题,内容,发布时间。 有如下需求:提取标题的关键词,并将关键词添加到新列。(本来还有提取文章关键词,原理其实一样,就不多写了) 读取数据 读取csv文件有两步:定义schema,按照schema读取文件。 定义schema: 本例中,id为Integer类型,publish_date为TimestampType类型

做大数据分析的怎么可以不会这个?

試著忘記壹切 提交于 2019-11-29 05:24:17
Overview: 0 引言 1 环境 2 模块准备 3 实现思路 4 小试牛刀 5 中试牛刀 6 总结 0 引言 词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文章的主旨。 1 环境 操作系统:Windows Python版本:3.7.2 2 模块准备 本文涉及到的Python第三方模块,共计四个:分词模块jieba,文字云模块wordcloud,画图模块matplotlib,用来处理背景图片的模块scipy。这些模块均可通过pip方式进行安装: 模块的导入: 3 实现思路 准备好一份自己需要分析的文本材料,这里选用的是19年两会新鲜出炉的政府工作报告。我们首先得通过jieba模块对文本材料进行分词处理,然后对处理后的材料使用wordcloud文字云模块生成相应的词云图片即可。 当然了你可以选择一个背景图片,并以此为基础生成特定的云图,这时就用到了上面提到的另外两个模块scipy和matplotlib。 好了,思路有了,那就开始实践吧~ 4 小试牛刀 小试牛刀章节教你仅用9行代码,来生成一个词云图,先欣赏下最终的效果图。 4.1 效果图 4.2 代码实现 制作云图的思路,上文已作说明,这些就不再赘述了,直接看代码,代码中已添加详细注释说明。 除去注释、导入模块占用的两行

[NLP的那些坑] jieba

岁酱吖の 提交于 2019-11-29 04:33:57
问题1 >> jieba.analyse.extract_tags(content, topK=5, withWeight=True, allowPOS=()) << AttributeError: module 'jieba' has no attribute 'analyse' 解决方案 from jieba import analyse analyse.extract_tags(content, topK=5, withWeight=True, allowPOS=()) 原因 在讲原因之前必须讲一下__init__.py 1、__init__.py是Python中package的标识 __init__.py 文件的一个主要作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件; 2、批量引入(定义__all__用来模糊导入) 我们在python中导入一个包时,实际上是导入了它的__init__.py文件,这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入; 3、配置模块的初始化操作,这个文件也是一个正常的python代码文件,因此可以将初始化代码放入该文件中 所以import导入的是 jieba,但是在结巴包里的__init__.py中并没有analyse

综合应用,jieba,去标点,分词保存,统计,删词,输出

回眸只為那壹抹淺笑 提交于 2019-11-29 02:16:37
import jieba fp1=r'D:/python/a.txt' outph=r'D:/python/out.txt' f=open(fp1,'r',encoding='utf-8') txt=f.read().strip() f.close() words=jieba.lcut(txt) f=open(outph,'w',encoding='utf-8') for word in words: f.write(word) f.write('\n') f.close() #第二题去标点,统计词频 bd='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+,。!?“”《》:、. ' counts={ } exlutes={'作者','之后'} for i in bd: txt=txt.replace(i,'') #字符串替换去标点符号 words=jieba.lcut(txt) #分词 for word in words: if len(word)==1: continue else: counts[word]=counts.get(word,0)+1 #所有词全统计 for word in exlutes: del(counts[word]) #删除{a,b} items=list(counts.items()) items.sort(key

计算机二级Python学习笔记(九)

*爱你&永不变心* 提交于 2019-11-28 23:31:43
上一篇: 二级Python学习笔记(八) 距离上一篇已经过去大半个月了,明天我都要考试了,才勉强把这最后一篇更完,想想惭愧。这期间也做了不少题,不知道会不会考原题,今天第一天考的童鞋在群里说挺难,再发篇博客攒攒人品吧......为日后考试的小伙伴们提供一点便利,记住多学多练,加油! 最后三章一起了,还以为我一章一篇博客呢,怎么可能这么轻易被猜透? **************************比 第一篇 华丽的分割线**************************** 第9章 Python标准库概览 9.1 turtle库概述 turtle库:Python重要的标准库之一,进行基本的图形绘制。 三种引入方式: import turtle turtle.circle(200) from turtle import * circle(200) import turtle as t t.circle(200) 9.2 turtle库与基本绘图 窗体函数: turtle.setup(width, height, startx, starty) 作用:设置主窗体的大小和位置 参数: width :窗口宽度,如果值是整数,表示的像素值;如果值是小数,表示窗口宽度与屏幕的比例; height: 窗口高度,如果值是整数,表示的像素值;如果值是小数,表示窗口高度与屏幕的比例; startx

day 05

只谈情不闲聊 提交于 2019-11-28 20:34:51
day005 1.文本处理+词云 01.什么是文件;文件是操作系统提供的一个虚拟概念,用来储存信息 02.文本文件;.txt/.word/.md/.py/.xml/.ini 储存的是文字 03.通过文本编辑器去控制txt文件 1.找到文件路径 # file_path='/Users/luocongyu/Downloads/百度网盘/上课数据/day 05/huijiadeyouhuo.txt' ​ 2.打开文件 # f=open(file_path)(只是把文件读入内存没有将文件可视化) ​ 打开文件的3种方式 ​ 3.读取/修改操作 # data=f.read() # 读取文件让文件可视化 ​ 4.保存 # f.flush() # 保存文件 ​ 5.关闭文件 # f.close() # 关闭文件 import jiebaimport imageioimport wordcloud​# 1. 读取文件内容with open(r'/Users/luocongyu/Downloads/百度网盘/上课数据/day 05/huijiadeyouhuo.txt','r+',encoding='utf8') as fr: # for i in range(1000): # fr.write('回家的诱惑,') # fr.flush() # 相当于保存​ data = fr.read()​​#

day05

瘦欲@ 提交于 2019-11-28 20:16:05
目录 文件操作 爬虫课程 文件操作 ==什么是文件== 文件是操作系统提供的一个虚拟存储单位 ==为什么要有文件== 内存无法永久保存数据,就需要把文件保存到硬盘中,而操作文件可以实现对硬盘的操作 ==什么是文本== 只用来存储文字信息,如:.txt、.doc、.docx、.wps ==如何通过文本编辑器去控制txt文件== 1.找到文件路径 file_path 2.打开文件open 3.读取/修改操作read/write 4.保存flush 5.关闭文件close ==打开文件的三种模式== r(read):只读不可写 w(write):清空后写入 a(append):只读不可写:直接追加在文本末尾 with管理上下文 f = open() f.read() # 自动关闭文件 with open() as f: f.read() with open(r'D:\上海\关于实施乡村振兴战略的意见.txt','r+',encoding='utf8') as fr: # 这个缩进内部的代码都是文件打开的状态 data = fr.read() print(data) 打开文件的两种方式 b:二进制 t:文本 # b模式 # gbk/utf8只针对文本,所以音频通过rb模式打开-->读取二进制,b模式下没有encoding这个参数,b不单独使用,一般与r/w/a一起配合使用 # f =

文本处理+词云

被刻印的时光 ゝ 提交于 2019-11-28 18:43:25
要求:使用本地文本内容,生成一张自定义的词云图 代码: # 导入库 import wordcloud import jieba import imageio # 打开文件 with open(r'D:\Program Files\Python\Learn Python\Python课程\day04\出师表.txt',encoding='gbk') as f: data = f.read() #将内容存入data data_list = jieba.lcut(data) #将data中的数据用jieba库切开保存为列表 data = ' '.join(data_list) #将列表中的元素用空字符拼接成字符串 # 找到一张图片 img = imageio.imread(r'D:\Program Files\Python\Learn Python\Python课程\day05\文本处理\词云底图.jpg') # 设置词云的字体,背景色,背景图 w = wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\simfang.ttf',background_color='white',mask=img) # 生成词云 w.generate(data) #保存为文件 w.to_file('出师表.png') 来源: https://www

20190827

五迷三道 提交于 2019-11-28 18:34:29
目录 20190827 1.文本处理 a.什么是文件 b.什么是文本 c.视频/音频文件du d.我们如何通过文本编辑器去控制txt文件 e.打开文件的三种模式 f.撤销删除 g.文本高级补充 with as 2.文本处理与词云分析 20190827 1.文本处理 a.什么是文件 文件是操作系统提供的一个虚拟概念,拿来存储信息的 b.什么是文本 .TXT/.Word/.md/.py/.xml/.ini 存储的是文字 c.视频/音频文件du 多媒体文件 d.我们如何通过文本编辑器去控制txt文件 找到文件路径 通过记事本打开文件 读取/修改操作 保存 关闭文件 代码 file_path='文本路径' #将文本路径设置为变量file_path f=open(file_path) #把该路径的文件读入内存,只是没有可视化界面而已 data=f.read #读取文件 .read (命名为data数据变量) print(data) # 打印读取出的文件 f.close #关闭 e.打开文件的三种模式 r-- read (只可读,不可写) w--write (只可写不可读,同时清空文本) a---append (只可读不可写,在最后追加值) file_path='文本路径' #将文本路径设置为变量file_path f=open(file_path,"a",encoding="gbk")