数据变金矿:一文读懂序列模型(附用例)

2024-04-14 00:58

本文主要是介绍数据变金矿:一文读懂序列模型(附用例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:TAVISH SRIVASTAVA

翻译:王雨桐

校对:丁楠雅

本文约3000字,建议阅读15分钟。

本文将通过思想实验和一些应用案例来简要介绍序列模型的必备知识。


简介


众所周知,人工神经网络(ANN)的设计思路是模仿人脑结构。但是直到10年前,ANN和人类大脑之间唯一的共同点是对实体的命名方式(例如神经元)。由于预测能力较弱并且实际应用的领域较少,这样的神经网络几乎毫无用处。

 

但是随着近十年来技术的飞速进步,神经网络越来越接近人脑,这使得ANN在各个行业中应用得越来越多。

 


本文中,我们将介绍人工神经网络(ANN)领域的两大革新,这些革新使得ANN更接近于人类大脑。

 

目录

  • ANN领域的两大革新

  • 思想实验

  • 序列模型的实际应用

  • 序列生成器

  • 序列到序列NLP模型

  • 一些非文本的序列到序列模型

 

ANN领域的两大革新


  1. 随着GPU极大地提升了计算能力,我们可以大幅度地增加神经元的深度和广度。然而这样的人工神经网络仍然远远不及大脑的神经元数量。


  2.  ANN现在既可以处理输入节点的序列数据,也可以处理输出节点的序列数据。这和我们大脑的工作模式一样。人类大脑并不是通过二分类来理解复杂的理念的。基于一系列给定的信息,我们形成了“思想”,随后大脑会通过一系列可以理解的词汇来表达“思想”。


我们能否在ANN中引入“思想”的概念呢?答案是肯定的,本文将进一步讨论这个理念。

 


现实世界的大部分数据都是以序列的形式出现的,这使得序列模型受到越来越多的关注。序列可能是数列、图片像素序列、视频序列或者是一段音频序列。

 

在过去的十年间,我们已经存储了近1000PB(或者超过109GB)的非结构化数据,以前我们很难从中提取信息,幸运的是,我们现在有序列模型这样新型的神经网络结构,它可以把数据变成金矿。

 

本文并不讨论序列模型背后所有复杂的数学原理,或是提供一些运行序列模型的示例代码(我将把代码留给以后的文章)。本文想要提供一些行业内应用序列模型的实际案例,从而帮助你识别出可以通过此类模型解决的商业问题。

 

为了更好地理解本文,接下来希望你能想象一个场景。请开启你的分析推理模式吧!

 

思想实验


假如现在沃尔玛指派你负责一个新项目 – WalKiosk,希望你带领团队开发出无人自助超市,顾客只需要和沃尔玛的Kiosk互动就可以完成购物,就好像自动售卖机一样。沃尔玛想把这样的Kiosk应用在美国各地。


Kiosk和普通自助售卖机的关键区别是Kiosk不会展示售卖商品的名录,而是通过音频开启一个类似Google 的搜索引擎。顾客走到Kiosks面前,以“OK Walmrt, xxxxxx”这样的关键字开头,然后说出或输入想要的商品。下面是一个交互案例(你可以试着评估一下人类售货员是否能比Kiosk 做的更好):


顾客说“OK Walmrt,,我想要Leonardo DiCaprio 和Nolan搭档的第一个电影中,第一幕里他穿的那双鞋。”使用的是某国语言。


你的团队要做的是让Kiosk快速搜索,如果找到一个可靠的答案,就通过客户咨询时使用的语言来回复,比如“Leonardo DiCaprio穿的是黑色xxxxx款的Nike鞋。点击链接观看您所需物品的短视频介绍。好消息--我们目前有您需要的款式和鞋码,价格是200美元。由于您是沃尔玛的忠实用户,我为您找到了合适的折扣!立即购买仅需150美元。”


如果顾客说“好的我买了”,Kiosk会在顾客付款后立刻交货。


Kiosk最后说道“感谢XYZ先生今日的惠顾,请为我们的服务提供宝贵建议,以便我们不断改进”,然后顾客通过文字或语音留下对本次交易的反馈后离开。


这样一个简单的交易现在如今的世界里要占据你大块的时间,但是今后只需要不到两分钟(如果一切正常的情况下)。


这听起来是不是很超前?实现Kiosk的功能主要通过一个简单的结构--序列模型。以下是Kiosk需要具备的功能列表:


  1. 语音识别用于理解顾客所述的内容。

  2. 机器语言翻译用于将顾客的语言翻译为指定的语言(比如英语)。

  3. 命名实体/主题提取用于找到步骤2中顾客需要的主要物品。

  4. 关系分类用于标记步骤3中各种实体之间的关系。

  5. 查询应答(类似Google搜索)通过核心知识图,找到步骤3和4中实体的关系。

  6. 语音生成将步骤5中找到的所有相关信息生成顾客需要的答案。

  7. 聊天机器人使机器的对话能力更接近于人类。

  8. 文本总结用于将用户的反馈总结为关键点或痛点。

  9. 产品销售预测用于补充库存。

 


完成Walkiosk所需的不仅仅是以上九个功能,但是它们足以实现核心想法。九个功能中的任意一个都可以通过单一结构----序列模型构建。


你可以将序列模型想象为一个几乎保持不变的黑匣子,只需要按这九个功能改变输入和输出数据,每个功能的模型架构是相同的。我们可以进一步生成以任何语言为输入的单一模型,一并完成自助服务过程、报告过程、库存管理过程。


如果这还不足以帮助你完整了解序列模型,让我们整理一个序列模型可以实现哪些功能的详尽列表。


序列模型的实际应用


为了确保列表尽可能涵盖序列模型的潜在用例,我们基于输入和输出序列的类型进行分类。输入和输出可以是以下任意一种:标量(Scalar)、趋势、文本、图像、音频和视频。如果以上六种都可以作为输出和输入,我们一共得到36种分类,然而不是每一种组合的研究都已经成熟。


在阅读下面这个列表之前,你可以先停下来。尝试写出你自己的用例列表(可以参考前文的思想实验)。


列表如下:


输入

输出

用例

类型

元素

类型

元素

标量

单个

趋势

多个

模式生成

音频

多个

音乐生成

文本

多个

文本生成

图像

多个

图片生成

趋势

多个

标量

单个

股票交易决策

固定时段的绩效预测

趋势

多个

DNA序列分析

时间序列预测

文本

多个

标量

单个

情感分类

话题分类

答案选择

文本

多个

文本总结

机器翻译

聊天机器人

命名实体识别

主题提取

词性标注

文本蕴含

关系分类

趋势

多个

查询应答

音频

多个

语音生成

图像

多个

标量

单个

面部表情标注

实体分类

文本

多个

图像描述

图像

多个

图像修整

音频

多个

标量

单个

情感分类

对话人数标注

话题分类

文本

多个

语音识别

会议总结

音频

多个

语音助理

视频

多个

标量

单个

行为识别

文本

多个

字幕生成


表格中的名词解释:

类型是输入或输出的类型。

元素是输入或输出序列中元素的数目。

用例是分类中可能的应用方向。


下面我们将介绍一些实际案例,带你领略序列模型的超能力。

 

首先,我们先介绍最简单的—序列生成器


这些生成器通常采用标量作为输入,标量输入可以是任意的随机种子或数据。以下是一些生成器的案例:

 


值得注意的是,我们可以用任何特定类型的数据来训练模型。例如,如果我们用哈利波特的书来训练文本生成器(Text generator),很可能会得到一段有关于哈利波特主人公的奇幻文字。如果你足够幸运,可能会得到一个有实际意义的章节,于是你创造了属于你的独创内容。


如果你用爵士乐训练模型,你可能会通过模型生成同一风格的新曲子。如果你用动物的图片训练模型,你可能会看到杂交物种的样子。

 

其次,我们介绍最受欢迎的-序列到序列 NLP模型

 


机器语言翻译(Machine Language Translation)已经达到新的高度,现在正和人工翻译展开激烈的竞争。如今,你可以轻松找到基于序列到序列模型(Sequence to sequence, seq2seq)核心概念的实时翻译机器。


文本总结(Text Summarization)是序列模型的另一个重要用例。文本总结可以显著减轻以下工作负担--阅读顾客冗长的投诉、电话/通讯监控、汇总顾客对产品的反馈等。

聊天机器人(Chatbot)是另一个重要的用例,目前被广泛地应用于经营活动、呼叫中心、交流中心和类似Siri、Google Home、Alexa类型的用户辅助。

 

最后,我们介绍更多非文本的序列到序列模型

 


语音识别(Speech Recognition)是目前最受投资追捧的一个领域,其在个人Al助理(Alexa、Google Home等)和呼叫中心语音记录工具等用例中扮演了非常重要的角色。


在上图提到的三项技术中,目前有市值约10亿美元的企业以语音识别为核心竞争力,语音识别中广泛地使用序列到序列模型。图像描述(Image Captioning)是最热门的研究领域之一,它在社交媒体领域有广泛应用。至于字幕生成(Subtitle Generator),这项技术尽管还没有达到产品阶段,但是目前也在积极地探索中。

 

尾记


如今数据科学领域的很多牛人都在致力于解决已经存在的问题。然而对于任何成功的数据科学家或分析员来说,识别并提出可以分析解决的问题是同样重要的任务。后者是非常不同的工作,并且不需要过多的编程经验或数学背景。你唯一需要做的是通过给定的工具了解哪些是可能实现的,而哪些不能。


问题识别是资深的分析专业人士必备的技能。我希望这篇序列模型的入门文章可以激励你去寻找领域内能以此工具解决的新问题。

 

原文标题:A Must-Read Introduction to Sequence Modeling (with use cases)

原文链接:

https://www.analyticsvidhya.com/blog/2018/04/sequence-modelling-an-introduction-with-practical-use-cases/


译者简介


王雨桐,统计学在读,数据科学硕士预备,跑步不停,弹琴不止。梦想把数据可视化当作艺术,目前日常是摸着下巴看机器学习。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。


点击文末“阅读原文”加入数据派团队~

点击“阅读原文”拥抱组织

这篇关于数据变金矿:一文读懂序列模型(附用例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901694

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可