使用百度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进行情感分析的更多相关文章

  1. java程序:调用百度api进行情感分析

    源码: package com.jeson.ceshi; import java.util.HashMap; import org.json.JSONObject; import com.baidu. ...

  2. 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法

    [目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...

  3. 朴素贝叶斯算法下的情感分析——C#编程实现

    这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...

  4. Stanford NLP学习笔记:7. 情感分析(Sentiment)

    1. 什么是情感分析(别名:观点提取,主题分析,情感挖掘...) 应用: 1)正面VS负面的影评(影片分类问题) 2)产品/品牌评价: Google产品搜索 3)twitter情感预测股票市场行情/消 ...

  5. 情感分析的现代方法(包含word2vec Doc2Vec)

    英文原文地址:https://districtdatalabs.silvrback.com/modern-methods-for-sentiment-analysis 转载文章地址:http://da ...

  6. SA: 情感分析资源(Corpus、Dictionary)

    先主要摘自一篇中文Survey,http://wenku.baidu.com/view/0c33af946bec0975f465e277.html   4.2 情感分析的资源建设 4.2.1 情感分析 ...

  7. 爬虫再探实战(五)———爬取APP数据——超级课程表【四】——情感分析

    仔细看的话,会发现之前的词频分析并没有什么卵用...文本分析真正的大哥是NLP,不过,这个坑太大,小白不大敢跳...不过还是忍不住在坑边上往下瞅瞅2333. 言归正传,今天刚了解到boson公司有py ...

  8. Python爬虫和情感分析简介

    摘要 这篇短文的目的是分享我这几天里从头开始学习Python爬虫技术的经验,并展示对爬取的文本进行情感分析(文本分类)的一些挖掘结果. 不同于其他专注爬虫技术的介绍,这里首先阐述爬取网络数据动机,接着 ...

  9. C#编程实现朴素贝叶斯算法下的情感分析

    C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Lang ...

随机推荐

  1. SMC状态机笔记

    %class 状态机所作用的类 %package 类所在的包 %fsmclass 生成类的类名 %fsmfile 生成类的文件名 %access 生成类的可访问级别 %start 指定状态机的开始状态 ...

  2. Android零基础入门第41节:使用SimpleAdapter

    原文:Android零基础入门第41节:使用SimpleAdapter 通过ArrayAdapter实现Adapter虽然简单.易用,但ArrayAdapter的功能比较有限,它的每个列表项只能给一个 ...

  3. 查看哪些redis命令拖慢了redis

    Redis提供了一个下面这样的命令统计工具: 127.0.0.1:6379> INFO commandstats # Commandstatscmdstat_get:calls=11352126 ...

  4. HTML连载11-HTML中被废弃的标签&字符实体

    ​一.为什么会有被废弃的标签 答:HTML中以前存在一部分不是用来添加语义的标签,而与我们HTML标签是用来添加语义的,这与我们的定义不相符. 例如: 1.标签<br>:换行 2.标签&l ...

  5. Linux中$的特殊用法

     一:变量说明:($表示在执行命令的一些参数)   (!)    $!      #Shell最后运行的后台Process的PID  (2)    $?      #最后运行的命令的结束代码(返回值) ...

  6. mvc中Scripts.Render的用法

    第一次接触新的东西,都会很陌生,但是时间久了就熟悉了变简单了. 视图文件中使用Scripts.Render()输出脚本包,Styles.Render()输出样式包 上面两张图是我所做项目里的,放上面会 ...

  7. Python Re 模块超全解读!

    re模块下的函数 compile(pattern):创建模式对象 import repat=re.compile('A')m=pat.search('CBA')                     ...

  8. java反射机制获取自定义注解值和方法

    由于工作需求要应用到java反射机制,就做了一下功能demo想到这些就做了一下记录 这个demo目的是实现动态获取到定时器的方法好注解名称,废话不多说了直接上源码 1.首先需要自定义注解类 /** * ...

  9. Android 即时通讯开发小结(二)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  10. fis3前端工程构建配置入门教程

    一.前言 fis3是百度推出的一款前端工程构建工具,类似的还有webpack,gulp等工具:无论大家有没有使用过,从事前端行业应该都略知一二了,所以对于此类工具用干嘛的我这里就不做重复了. 其实对于 ...