使用百度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. 简单的Windows Webcam应用:Barcode Reader

    原文:简单的Windows Webcam应用:Barcode Reader 在Windows上用WinForm创建一个Webcam应用需要用到DirectShow.DirectShow没有提供C#的接 ...

  2. 【码云周刊第 23 期】Web 高效开发必备的 PHP 框架(从这里学起)good

    码云项目推荐 1.项目名称:多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理.支 ...

  3. Delphi中TResourceStream流使用

    Resource可以是任意文件(图像.声音.office都可以),直接打包到编译的exe文件中,调用也非常方便 打开一个新的或已有的delphi工程 1.先在 Project->resource ...

  4. C# 遍历窗体控件顺序问题

    今天在做C# winform 窗体控件遍历时遇到控件顺序的问题,也就是控件被遍历的先后问题.实际情况如下所述. 窗体界面如下: 界面构成是:主界面有一个 Panel (Panel_14),Panel_ ...

  5. easyui tree后台传json处理问题

    一.tree json格式 [ { "id": 1, "text": "权限管理", "iconCls": " ...

  6. CodeSmith使用SQLite Provider找不到请求的 .Net Framework 数据提供程序

    关于CodeSmith5使用SQLite Provider时的报错:System.BadImageFormatException: 未能加载文件或程序集“System.Data.SQLite,.... ...

  7. 干货!Git 如何使用多个托管平台管理代码

    考虑到github不能免费创建私有仓库原因,最近开始在使用码云托管项目,这样避免了连接数据库的用户密码等信息直接暴露在公共仓库中.今天突然想到一个点,就是能不能同时把代码推送到github和码云上呢? ...

  8. 【Shell学习笔记3》实践项目自动部署脚本】shell中获取返回值、获取当前sh文件路径

    原创部分: 1.获取返回值 #This is a shell to Deploy Project #!/bin/bashcheck_results=`ps -ef | grep "java& ...

  9. Nginx添加Lua扩展模块

    Nginx添加Lua扩展模块 编译安装LuaJIT wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar xf LuaJIT-.tar.gz ...

  10. 利用mapWithState实现按照首字母统计的有状态的wordCount

    最近在做sparkstreaming整合kafka的时候遇到了一个问题: 可以抽象成这样一个问题:有状态的wordCount,且按照word的第一个字母为key,但是要求输出的格式为(word,1)这 ...