jieba

写给程序员的机器学习入门 (六)

醉酒当歌 提交于 2020-08-06 04:45:45
这一篇将会举两个例子说明怎么应用递归模型,包括文本情感分类和预测股价走势。与前几篇不同,这一篇使用的数据是现实存在的数据,我们将可以看到更高级的模型和手法🤠。 例子① - 文本感情分类 文本感情分类是一个典型的例子,简单的来说就是给出一段话,判断这段话是正面还是负面的,例如淘宝或者京东上对商品的评价,豆瓣上对电影的评价,更高级的情感分类还能对文本中的感情进行细分。因为涉及到自然语言,文本感情分类也属于自然语言处理 (NLP, Nature Langure Processing),我们接下来将会使用 ami66 在 github 上 公开的数据 ,来实现根据商品评论内容识别是正面评论还是负面评论。 在处理文本之前我们需要对文本进行切分,切分方法可以分为按字切分和按单词切分,按单词切分的精度更高但要求使用分词类库。处理中文时我们可以使用开源的 jieba 类库来按单词切分,执行 pip3 install jieba --user 即可安装,使用例子如下: # 按字切分 >>> words = [c for c in "我来到北京清华大学"] >>> words ['我', '来', '到', '北', '京', '清', '华', '大', '学'] # 按单词切分 >>> import jieba >>> words = list(jieba.cut("我来到北京清华大学")) >>

python新手学习使用库

百般思念 提交于 2020-08-06 03:28:32
本文主要介绍下如何使用第三方库。 1. 理解第三方库 Python相当于一个手机,第三方库相当于手机里各种各样的APP。 当我们想搭建网站时,可以选择功能全面的Django、轻量的Flask等web框架;当我们想做一个爬虫时,可以使用Scrapy框架;当我们想做数据分析时,可以选择Pandas数据框架等,这些都是一些很成熟的第三方库。 那么,如何根据自己的需求找到相应的库呢? 可以在 https://awesome-python.com 这个网站上按照分类去查找需要的库。 2. 安装第三方库 这里主要介绍如何在PyCharm中安装第三方库。 1)打开PyCharm——顶部菜单File——选择Default Settings; 2)搜索project interpreter,选择当前Python环境,然后底部点击“+”号添加库; 3)搜索数据库名称——选中该库后点击底部的Install Package,在安装成功后会出现成功提示,此时可以返回到之前的Project Interpreter中查看自己安装的库,点击“-”号可以卸载掉不需要的库。 3. 使用第三方库 使用第三方库时,只要在在PyCharm中输入库之后就可以使用了。输入库用import,比如输入requests库为:import requests。 第一阶段关于Python的基础知识大致先到这里

用Python玩微信(非常详细)

a 夏天 提交于 2020-07-28 05:41:37
代码放在这里: wzyonggege/python-wechat-itchat 词云那里可以换成小黄人图片 --------------------------------------------------------------------------------------------------- 0. itchat 最近研究了一些微信的玩法,我们可以通过网页版的微信 微信网页版 ,扫码登录后去抓包爬取信息,还可以post去发送信息。 然后发现了 itchat 这个开源项目, 作者是 @LittleCoder ,已经把微信的接口完成了,大大的方便了我们对微信的挖掘,以下的功能也通过itchat来实现。 安装itchat这个库 pip install itchat 先来段简单的试用,实现微信的登录,运行下面代码会生成一个二维码,扫码之后手机端确认登录,就会发送一条信息给‘filehelper’,这个 filehelper 就是微信上的文件传输助手。 import itchat # 登录 itchat . login () # 发送消息 itchat . send ( u'你好' , 'filehelper' ) 除了登录和发送消息我们还可以这么来玩,往下走~ 1. 微信好友男女比例 想统计下自己微信里好友的性别比例,当然也是很简单,先获取好友列表,统计列表里性别计数

NLP 语义相似度计算 整理总结

☆樱花仙子☆ 提交于 2020-07-27 18:56:44
更新中 更新时间: 2019-12-03 18:29:52 写在前面: 本人是喜欢这个方向的学生一枚,写文的目的意在记录自己所学,梳理自己的思路,同时share给在这个方向上一起努力的同学。写得不够专业的地方望批评指正,欢迎感兴趣的同学一起交流进步。 (参考文献在第四部分, 侵删 ) 一、背景 二、基本概念 三、语义相似度计算方法 四、参考文献 一、背景 在很多NLP任务中,都涉及到语义相似度的计算,例如: 在搜索场景下(对话系统、问答系统、推理等),query和Doc的语义相似度; feeds场景下Doc和Doc的语义相似度; 在各种分类任务,翻译场景下,都会涉及到语义相似度语义相似度的计算。 所以在学习的过程中,希望能够更系统的梳理一下这方面的方法。 二、基本概念 1. TF Term frequency即关键词词频,是指一篇文章中关键词出现的频率,比如在一篇M个词的文章中有N个该关键词,则 为该关键词在这篇文章中的词频。 2. IDF Inverse document frequency指逆向文本频率,是用于衡量关键词权重的指数,由公式 计算而得,其中D为文章总数,Dw为关键词出现过的文章数。 3. 向量空间模型 向量空间模型简称 VSM,是 VectorSpace Model 的缩写。在此模型中,文本被看作是由一系列相互独立的词语组成的,若文档 D 中包含词语 t1,t2,

Python实现海贼王的歌词组成词云图

倖福魔咒の 提交于 2020-07-27 08:24:48
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:一粒米饭 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“学习资料”可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。 本教程基于Python3,使用Jupyter上进行调试开发。 涉及的Python基础包括: 变量和函数的定义和使用 列表和字典等数据结构的使用 条件和循环语句,if、for等 模块的导入和使用,import语法 需要安装以下依赖库: jupyter - 交互式笔记本 matplotlib - Python2D绘图库 jieba - Python中文分词组件 pillow - Python图像处理库 wordcloud - Python词云库 目标 从海贼王的歌词中提取出关键词,然后生成乔巴形状的云图,最后效果如下: 1.准备数据 1. 事先我已准备好15首海贼王的歌词文本文件, 放在本地的data目录下。 ls data BON VOYAGE.txt free will.txt 向著阳光.txt Jungle P.txt memories.txt 心的地图.txt Run!Run!Run!.txt share the world.txt 未来航海.txt Shining Ray.txt

那些购买了充气娃娃的人,对于他们所购买的商品评价如何呢

只愿长相守 提交于 2020-07-27 05:27:30
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 一、需求背景 在实际开发过程中,在我们动手开发之前,都是由产品经理为我们(测试、前端、后端、项目经理等)先讲解一下需求,我们了解了需求之后,才开始一起来讨论技术方案。 我们自己实现一些小功能时同样需要讨论需求,也就是告诉别人我们为什么要做这个东西?或者我们想利用这款产品解决什么问题。 我们常常看到一些有关充气娃娃的表情包和图片或新闻,但是这种东西很少会像一些小视频一些相互交流,大家可能都是偷摸玩耍。所以相信其实大部分同学并没有亲身体验过充气娃娃到底是什么感觉,很好奇究竟是什么一种体验?真的如传言中那样爽吗? 二、功能描述 基于很多人没有体验过充气娃娃是什么感觉,但是又很好奇,所以希望通过爬虫+数据分析的方式直观而真实的告诉大家(下图为成品图)。 三、技术方案 为了实现上面的需求以及功能,我们来讨论下具体的技术实现方案: 分析某东评论数据请求 使用requests库抓取某东的充气娃娃评论 使用词云做数据展示 四、技术实现 上篇文章中就给大家说过,今天我们以某东商品为对象,进行数据分析,我们来看看详细的技术实现步骤吧! 1.分析并获取评论接口的URL 第一步:打开某东的商品页,搜索你想研究的商品。 第二步:我们在页面中鼠标右键选择检查(或F12

python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库 -转载

柔情痞子 提交于 2020-05-08 10:24:46
转载请注明出处 “结巴”中文分词:做最好的 Python 中文分词组件,分词模块jieba,它是python比较好用的分词模块, 支持中文简体,繁体分词,还支持自定义词库。 jieba的分词,提取关键词,自定义词语。 结巴分词的原理 原文链接: http://blog.csdn.net/HHTNAN/article/details/78722754 1、jieba.cut分词三种模式 jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型 jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8 jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用 jieba.lcut 以及 jieba.lcut_for_search 直接返回 list jieba.Tokenizer(dictionary

分词————jieba分词(Python)

本小妞迷上赌 提交于 2020-05-08 09:23:09
要使用分词器来看下各个分词器对文本数据的分词效果,找了很多资料发现有推荐最多的开源分词工具就是结巴(jieba)分词和清华NLP分词库(thulac),下面简单说下中文分词器的jieba分词,只写了切词和用户自定义词典两种方法,其他的功能后面再补充: 一、分词 1 import jieba 2 str = u ' 李建华为人民 ' 3 word = jieba.cut(str, HMM=True) # 产生一个生成器对象 4 word_list = [val for val in word] 5 for each in word_list: 6 print each 在上述代码中第1行导入jieba库; 第3行对词进行切分,生成一个生成器对象(HMM的参数就是是否使用隐马尔可夫的方式分词, HMM后面单独写一个再深入理解一下)。 简单程序运行结果如下: 二 、用户自定义词典 在jieba文件目录下,添加用户自定义词典 (例如:‘userdict.txt’) 将自定义的词、词频次和词性(词性可加可不加)加入(空格间隔)。 在程序中执行下列代码即可 jieba.load_userdict( ' userdict.txt ' ) # 加载上述用户字典 例句: 他来到了网易杭研大厦 加载用户自定义字典之前,粉刺结果如下图: 加载用户词典‘userdict.txt’后分词结果如下图: 来源:

数据爬虫、词频统计可视化、词云绘制、语句情感审查——飞桨PaddleHub实战

风格不统一 提交于 2020-05-07 14:51:31
爱奇艺《青春有你2》评论数据爬取,并对评论中的词频进行统计以及对评论进行健康情感审查 随着《青春有你2》的热播,你有没有被那些漂亮的小姐姐吸引呢?作为一个发际线已经到后脑勺的程序员,小姐姐的舞姿、歌声那些都是浮云。你想不想知道每期节目,观众评论最多的内容是什么?评论的内容是否健康呢?通过这篇博客,我将手把手教你如何实现。 需要的配置和准备工作 1、中文分词需要jieba 2、词云绘制需要wordcloud 3、可视化展示中需要的中文字体 4、网上公开资源中找一个中文停用词表 5、根据分词结果自己制作新增词表 6、准备一张词云背景图(必须是白底的图片,可用 hub抠图 实现) 7、paddlehub配置 pip install jieba pip install wordcloud #安装模型 hub install porn_detection_lstm == 1.1 .0 pip install - - upgrade paddlehub 环境配置成功后,可以看到: 一、到爱奇艺上对评论的内容进行爬取 1、找到我们爬取数据所需要的URL 既然是词频统计,肯定是爬取的越多越好。然而,一个页面加载的评论信息量太少,在爱奇艺的中,怎么找出未加载完的评论呢?在这里告诉你一个能快速找到大量评论的方法:在爱奇艺界面单击右键——>检查——>Notebook 当我们在爱奇艺页面点击加载更多评论时

50行代码帮你搞定!手把手教你把视频弹幕变成想要的形状

萝らか妹 提交于 2020-05-06 20:38:08
前言 B站作为一个弹幕视频网站,有着所谓的弹幕文化,那么接下来我们看看,一个视频中出现最多的弹幕是什么? 知识点: 1. 爬虫基本流程 2. 正则 3. requests 4. jieba 5. csv 6. wordcloud 开发环境: Python 3.6 Pycharm Python部分 步骤: import re import requests import csv 1、确定爬取的url路径,headers参数 代码: url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=186803402' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} 2、模拟浏览器发送请求,获取相应内容 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} resp = requests.get(url