如何使用百度EasyDL进行情感分析
|
使用百度EasyDL定制化训练和服务平台有一段时间了,越来越能体会到EasyDL的易用性。在此之前我也接触过不少的深度学习平台,如类脑平台、Google的GCP深度学习平台、AWS深度学习平台,但我觉得EasyDL在模型训练和使用上给了开发者更大的辅助:开发者或者用户只需要提交对应格式的训练文件,即可开始深度学习之旅。我的专业是自然语言处理中的情感分析,用的语料主要是电商评价文本数据,下面简单介绍一下情感分析任务。 情感分析(Sentiment Analysis,简称SA)综合了自然语言处理(Nature Language Processing,简称NLP)、机器学习(Machine Learning,简称ML)、文本挖掘、信息抽取与检索、概率统计等多个学科,是一种对用户生成数据(User Generate Content,简称UGC)中带有情感色彩的主观内容进行抽取、分析、处理、归纳和推理的融合技术,通过自动的分析某种产品/服务评论的文本内容,发现消费者对该产品/服务的态度和意见,对文本情感倾向,具体如褒/贬,好/坏,支持/反对等做出定性判断,并对其中的情感倾向性的强度做出分析。 所以基本上我的工作和研究都是以文本为主,那么分词、去停用词、合并同义词、建立词向量模型等等很多预处理步骤都由自己手动来处理,还有后面的机器学习分类技术,包括SVM、贝叶斯、决策树和Text-CNN等,整体流程非常繁琐,绝大多数时间都在预处理数据花费掉了。但是自从接触了EasyDL平台之后,我觉得自己的研究生生涯开始走向了巅峰,因为这个平台使我见识到了深度学习竟然可以如此简单,绝大多数的工具都是由系统完成,只需要按照固定的格式进行提交即可,以至于目前唯一所要做的文本标注的工作都交给了网络爬虫自动标注完成。通过使用用户打分和文本评价进行结合,完成文本标签化,这些技术的实现极大地促进了我在大数据环境下的数据挖掘任务,使我从繁重Python代码实现中解脱出来。 使用EasyDL的训练结果和我之前的情感分类结果对比发现:我自己之前使用Word2vec和Text-CNN结合所实现的情感分类准确度达到了99.28%,如图1所示,但是花费的时间比较巨大,耗费的资源也较大。一般工业使用的准确率在80%以上即可,于是我又将相同的数据放到EasyDL上进行训练,训练的情感分类模型的准确率在88%,如图2所示,成绩不错,基本满足工业需求,EasyDL定制化训练和服务平台使我的开发和使用成本极大缩短。我相信以后在开发者的协作下,百度EasyDL在模型准确率方面能更上一层楼。
图1 自己的CNN情感分类模型
图2 百度EasyDL训练结果 接下来我将叙述一下在具有文本标注集的基础上,如何在EasyDL平台上实现通过API接口上传文本文件进行模型训练。 (1)首先将文件进行分类压缩,文件夹的名字即是txt文件的标签且数目大于2,具体的上传要求平台已有介绍如图4。下图3查看上传至平台的数据情况,为简单的情感二分类。
图3 上传后的文本数据集
图4 文本数据集上传结构 数据集内部结构如下图5所示。
图5 数据集内部结构 可以从数据集管理查看数据上传情况,如下图6所示。
图6 查看数据集 (2)然后接下来开始训练模型,首先填写如下的模型说明,如下图7所示。
图7 模型介绍 然后点击下一步开始添加情感分析所需要的数据集,本次我们使用褒义和贬义两种数据集进行训练,所以直接选用pos和neg数据进行训练即可,如下图8所示。
图8 添加训练的文本语料 当添加完文本语料之后,点击训练之后,EasyDL平台即可对数据集进行学习。可以点击数据集管理,查看模型训练的进展情况,模型训练的时间与数据集的大小和复杂程度一致,在这里为了演示demo,我选择了较小的数据集,训练界面如下图9所示。
图9 平台学习文本的界面 (3)模型训练好之后,需要对模型进行校验,以便了解模型的性能,模型的准确率和召回率都为88%,本次选用的数据集较小,结果尚可,校验的结果如下图10所示。之后若有需要还可以增加文本训练集的数量,从而进一步提升识别的准确率。
图10 文本情感分类模型校验结果图 (4)直接上传文件进行文本的情感倾向测试了,下面看一下测试效果,首先选中一个未进行训练的测试文件,然后点击上传即可对模型进行测试,结果如下图11所示。
图11 模型测试用例 (5)模型训练好了之后,通过模型性能测试,就可以申请上线,填写完表格即可制作文本情感分析API,在第一次的申请的时候,后台的客服小姐姐会打电话给你进行确认,我觉得这是使用EasyDL的一个小彩蛋,申请的具体的步骤如下图12所示。
图12 模型上线表格 至此,一个完整的文本情感分析模型就做好了,支持测试和继续上传文件进行再训练,EasyDL平台对于开发者真的是比较友好,即使是在不太懂里面的原理的情况下,基于自己已标注的数据集也能进行深度学习的应用,在易用性上面做到了极致。希望后面在文本分类上加上参数调优的选项,能让开发者进一步根据数据进行调参。我相信通过以后的版本迭代,百度工程师们能将模型的准确率提升到更高的层次。 作者:张振 |
如何使用百度EasyDL进行情感分析的更多相关文章
- java程序:调用百度api进行情感分析
源码: package com.jeson.ceshi; import java.util.HashMap; import org.json.JSONObject; import com.baidu. ...
- 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法
[目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...
- 朴素贝叶斯算法下的情感分析——C#编程实现
这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...
- Stanford NLP学习笔记:7. 情感分析(Sentiment)
1. 什么是情感分析(别名:观点提取,主题分析,情感挖掘...) 应用: 1)正面VS负面的影评(影片分类问题) 2)产品/品牌评价: Google产品搜索 3)twitter情感预测股票市场行情/消 ...
- 情感分析的现代方法(包含word2vec Doc2Vec)
英文原文地址:https://districtdatalabs.silvrback.com/modern-methods-for-sentiment-analysis 转载文章地址:http://da ...
- SA: 情感分析资源(Corpus、Dictionary)
先主要摘自一篇中文Survey,http://wenku.baidu.com/view/0c33af946bec0975f465e277.html 4.2 情感分析的资源建设 4.2.1 情感分析 ...
- 爬虫再探实战(五)———爬取APP数据——超级课程表【四】——情感分析
仔细看的话,会发现之前的词频分析并没有什么卵用...文本分析真正的大哥是NLP,不过,这个坑太大,小白不大敢跳...不过还是忍不住在坑边上往下瞅瞅2333. 言归正传,今天刚了解到boson公司有py ...
- Python爬虫和情感分析简介
摘要 这篇短文的目的是分享我这几天里从头开始学习Python爬虫技术的经验,并展示对爬取的文本进行情感分析(文本分类)的一些挖掘结果. 不同于其他专注爬虫技术的介绍,这里首先阐述爬取网络数据动机,接着 ...
- C#编程实现朴素贝叶斯算法下的情感分析
C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Lang ...
随机推荐
- Unicode对象
什么是Unicode对象呢? 你可以认为unicode对象就是一个Python字符串,它可以处理上百万不同类别的字符——从古老版本的Latin字符到非Latin字符,再到曲折的引用和艰涩的符号. 普通 ...
- Delphi下IOC 模式的实现(反转模式,即Callback模式)
IOC英文为 Inversion of Control,即反转模式,这里有著名的好莱坞理论:你呆着别动,到时我会找你.Ioc模式是解决调用者和被调用者之间关系的模式,可以有效降低软件的耦合度,并适合团 ...
- MFC使用的风格(CButton, CEdit, CStatic, CWnd等等)
风格 描述按钮风格 应用于CButton类对象,例如单选框.复选框和按钮.在CButton::Create的dwStyle参数中设置一个组合的风格.组合框风格 应用于CComboBox类对象.在CCo ...
- CTO的职责,以及Goolge内部流程
我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project ...
- kafka笔记1
Kafka是一款基于发布和订阅的消息系统.一般被称为分布式提交日志或分布式流平台. Kafka系统是按照一定的顺序持久化保存的,可以按需读取. Kafka的数据单元被称为消息.类似于数据库中表的一行记 ...
- 工作中vue项目前后端分离,调用后端本地接口出现跨域问题的完美解决
在我们实际开发中,选择不错的前端框架可以为我们省掉很多时间,当然,有时我们也会遇到很多坑. 最近在做vue项目时就遇到了跨域问题,一般来说,出现跨域我们第一反应使用jsonp,但是这个只支持get请求 ...
- Spark学习之路(四)—— RDD常用算子详解
一.Transformation spark常用的Transformation算子如下表: Transformation算子 Meaning(含义) map(func) 对原RDD中每个元素运用 fu ...
- laravel-admin(自定义表单与验证)
场景: 很多时候,由于我们业务场景比较特殊,需要自定义表单,然后框架给我提供了对应表单组建! 案列:以创建一个字段为列 1.在控制器对应的方法中调用表单组建创建表单 public function c ...
- zphp源码分析(一)
zphp是一款轻量级的php服务端框架,是swoole官方开发的.可以用来开发web应用和网络服务. 安装: 可以通过composer安装, { "require": { &quo ...
- Google浏览器插件之闪存过滤器
一件很有意思的事情引发的无聊尝试. 博客园有个很有趣的功能,就是闪存,翻阅到07年园长对闪存的定义: 记录一闪而过的想法,高兴或者不高兴都可以发一下.我用这个一直以来的想法就是,想到点啥发点 ...











