使用百度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. WPF显示html的几种方法

    原文:WPF显示html的几种方法 客户希望系统在一些特定的条件下,界面上能显示用户自定义的格式和内容,格式和内容通过html指定. 基本上在wpf中显示html有以下四种方法. 1.       W ...

  2. delphi 程序强制结束自身(两种方法都暴力)

    procedure KillSelf;begin  Sleep(1000);  if not TerminateProcess(GetCurrentProcessId, 0) then  WinExe ...

  3. kettle设计器连接oracle RAC时的连接字符串

    1.不需要填写主机名2.数据库名写如下连接字符串:(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521))(CONNEC ...

  4. visual studio添加docker支持简记

    很久以前学过一段时间的docker,那时装了电脑卡得受不了,学了一会就卸载了,最近电脑又装上了docker,感觉好像没有以前这么卡了,还是同一台电脑surface pro4, 试了一下visual s ...

  5. ASP.NET Core 通过 Microsoft.DotNet.Watcher.Tools 实现热部署

    之前开发前端的时候,webpack 会有热更新工具,在修改了代码之后,自动将代码编译,实时展现到页面上,给开发带来了极大的方便. Java也可以通过第三方插件JRebel实现热部署,不用频繁的重启To ...

  6. Linux精要

    Linux入门精要 Linux历史 1970年: linux元年,起始开发者为 Kenneth Lane Thompson 和 Dernis Ritchie, 现在知道为啥很多计算机是用1970年1月 ...

  7. SPOJ1421_Goods_循环节

    题意:1-n的一个排列,两两互换,每个位置每天只能做一次交换,问最多几天能交换成1-n,并且输出交换步骤. 解法:把该置换中所有的循环节找出,各循环节之间的交换是并行的,两两不相关,每天只需在循环节内 ...

  8. php身份证号的验证

    //身份证号验证 03 protected function checkIdCard(){ 04 if(empty($_POST['idcard'])){ 05 return false; 06 } ...

  9. 关于案例中核心dao的解释

    很多小伙伴不太理解核心dao,说这是干什么的,接下来我将一一为大家解答: 1.说到核心dao不得不说到单表操作,单表操作顾名思义是对单张数据库表的CRUD操作,实际情况中我们追求将表与表的关系映射到对 ...

  10. Kong:Nginx支持的API Gateway管理解决方案

    Kong的主要功能 Kong可灵活扩展:只要增添更多的服务器实例,它就能横向扩展,毫无问题,那样你可以支持更多流量,同时确保网络延迟很短. Kong可在任何地方运行:它可以部署在单个或多个数据中心环境 ...