摘要:\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.6 目前遇到的困难\u003C\u002Fh3\u003E\u003Cp\u003E\u003Cstrong\u003E1)语言不规范\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ2f4k7WNv6\" img_width=\"823\" img_height=\"423\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E虽然目前我们可以总结出一些通用的规则,但是自然语言真的太灵活了。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E2)错别字\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ2v6HsDd8I\" img_width=\"599\" img_height=\"491\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E在处理文本时,会发现有大量的错别字,怎么样让机器知道这些错别字,并且改过来呢,也是NLP的一大难点。

"\u003Cblockquote\u003E\u003Cp\u003E语音交互是AI最重要的领域之一,也是目前落地产品比较成熟的领域,比如说智能客服、智能音箱、聊天机器人等,都已经有成熟的产品了。语音交互主要由哪些部分组成?各自主要处理什么任务?目前都遇到什么困难?本文将跟大家一起探讨下。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MYtU6J8fgtt\" img_width=\"800\" img_height=\"450\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch2\u003E01 语音交互的组成\u003C\u002Fh2\u003E\u003Cp\u003E我们以一个智能音箱的例子来开始今天的讨论:\u003C\u002Fp\u003E\u003Cp\u003E假设我们对智能音箱天猫精灵说“放一首周杰伦的《晴天》”。天猫精灵就会说“好的,马上为你播放周杰伦的《晴天》”,并且开始播放音乐。\u003C\u002Fp\u003E\u003Cp\u003E这个过程猫精灵都做了些什么?\u003C\u002Fp\u003E\u003Cp\u003E首先,天猫精灵把听到的声音转化成文字,然后理解内容,最后做出相应策略,并把响应策略转化成语音。\u003C\u002Fp\u003E\u003Cp\u003E因此,语音交互就可以成以下这三个模块:\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MYu087XClFU\" img_width=\"1262\" img_height=\"685\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cul\u003E\u003Cli\u003E语音识别(Automatic Speech Recognition):简称ASR,是将声音转化成文字的过程,相当于耳朵。\u003C\u002Fli\u003E\u003Cli\u003E自然语言处理(Natural Language Processing):简称NLP,是理解和处理文本的过程,相当于大脑。\u003C\u002Fli\u003E\u003Cli\u003E语音合成(Text-To-Speech):简称TTS,是把文本转化成语音的过程,相当于嘴巴。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E下面我们就来详细的介绍每一个模块。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch2\u003E02 语音识别(ASR)\u003C\u002Fh2\u003E\u003Cp\u003E通常语音识别有两种方法:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E“传统”的识别方法,一般采用隐马尔可夫模型(HMM)\u003C\u002Fli\u003E\u003Cli\u003E基于深度神经网络的“端到端”方法。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E两种方法都需要经过“输入—编码—解码—输出”的流程。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E2.1 编码\u003C\u002Fh3\u003E\u003Cp\u003E编码就是把声音转化成机器能识别的样式,即用数字向量表示。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MYuU85dtNTQ\" img_width=\"564\" img_height=\"663\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E输入的声音信号是计算机没办法直接识别的,首先需要将声音信号切割成一小段一小段,然后每一小段都按一定的规则用向量来表示。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E2.2 解码\u003C\u002Fh3\u003E\u003Cp\u003E解码就是把数字向量拼接文字的形式。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ2NI8CjbEg\" img_width=\"917\" img_height=\"809\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E首先,将编译好的向量,放到声学模型中,就可以得到每一小段对应的字母是什么;\u003C\u002Fp\u003E\u003Cp\u003E然后,把翻译出来的字母再经过语言模型,就可以组装成单词了。\u003C\u002Fp\u003E\u003Cp\u003E当然声学模型和语言模型也是个神经网络,是通过大量的语音和语言数据来训练出来了,在这里就不展开讲了。\u003C\u002Fp\u003E\u003Cp\u003E这里来个脑暴:\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E神经网络能不能做到,不需要编码和解码的过程,不需要声学和语言模型,直接把声音信号丢到神经网络里去训练,最后输出结果就是文字,具体中间过程是怎样的,让机器自己去学。如果这样能实现,我觉得很酷,看起来是不是真的很智能。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch2\u003E03 自然语言处理(NLP)\u003C\u002Fh2\u003E\u003Cp\u003ENLP是语音交互中最核心,也是最难的模块。\u003C\u002Fp\u003E\u003Cp\u003ENLP主要涉及的技术有:文本预处理、词法分析、句法分析、语义理解、分词、文本分类、文本相似度处理、情感倾向分析、文本生成等等。但不局限于这些,涉及的技术比较多,且比较复杂。下面我们就挑几个主要的技术点简单聊下。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.1 文本预处理\u003C\u002Fh3\u003E\u003Cp\u003E\u003Cstrong\u003E1)去噪声:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E只要跟输出没有关系的我们就叫噪声,比如:空格、换行、斜杆等。\u003C\u002Fp\u003E\u003Cp\u003E去噪声后,文本变得更加规范化,不会出现各种乱七八糟的符号,对于后续的处理非常重要。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E2)词汇归一化\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E这个在处理英文文本时比较常用,如“play”,“player”,“played”,“plays” 和 ”playing”是“play”的多种表示形式。虽然他们的含义不一样,但是上下文中是相似的,可以把这些各种形式的单词归一化。\u003C\u002Fp\u003E\u003Cp\u003E归一化是具有文本特征工程的关键步骤,因为它将高纬特征(N个不同特征)转化成低维空间。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.2 词法分析\u003C\u002Fh3\u003E\u003Cp\u003E\u003Cstrong\u003E1)分词\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E分词就是把一个句子,切分成多个词汇。\u003C\u002Fp\u003E\u003Cp\u003E比如:输入“明天深圳的天气怎样?”,这个句子就会被分成“明天\u002F深圳\u002F的\u002F天气\u002F怎样”。其中“明天”、“深圳”、“天气”就是这句话的关键词,通过关键词去匹配内容。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E2)实体识别\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E实体提取:是指在一个文本中,提取出具体特定类别的实体,例如人名、地名、数值、专有名词等。\u003C\u002Fp\u003E\u003Cp\u003E比如:输入“詹姆斯在NBA打了多少年”,其中“詹姆斯”就是实体词,计算机可能就可以通过当前的时间和詹姆斯加入NBA的时间给出他在NBA的球龄。\u003C\u002Fp\u003E\u003Cp\u003E实体识别在信息检索、自动问答、知识图谱等领域运用的比较多,目的就是告诉计算机这个词是属于某类实体,有助于识别出用户意图。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.3 文本分类\u003C\u002Fh3\u003E\u003Cp\u003E主要目的是为了将文档(文章)的主题进行分类,比如说是属于经济类、体育类、文学类等等。\u003C\u002Fp\u003E\u003Cp\u003E解决文案分类问题,比较经典的算法是TF-IDF算法。\u003C\u002Fp\u003E\u003Cp\u003ETF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。\u003C\u002Fp\u003E\u003Cp\u003E别说“NBA”这个在一篇文章中出现的次数比较多,但又很少在其他文章中出现,那这篇出现多次“NBA”这个词的文章很可能就是体育类文章。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.4 文本相似度处理\u003C\u002Fh3\u003E\u003Cp\u003E文本相似度通常也叫文本距离,指的是两个文本之间的距离。文本距离越小,相似度越高;距离越大,相似度越低。\u003C\u002Fp\u003E\u003Cp\u003E比如:用户输入“这件衣服多少钱”或者说“这件衣服怎么卖”,这都是很口语化的句子,那要怎么给用户返回“衣服价格”呢?就是根据文本相似度处理的。\u003C\u002Fp\u003E\u003Cp\u003E需要我们计算出“多少钱”、“怎么卖”跟“价格”的相似度,然后根据相似度去匹配最佳答案。\u003C\u002Fp\u003E\u003Cp\u003E应用场景:推荐、排序、智能客服以及自动阅卷等。解决之前只能靠关键词精准匹配问题,识别语义,扩大了应用的范围。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.5 情感倾向分析\u003C\u002Fh3\u003E\u003Cp\u003E情感倾向分析,主要分为两大类:情感倾向分类、观点抽取。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E1)情感倾向分类\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E情感倾向分类是识别文本的情感倾向,如:消极、积极、中性。\u003C\u002Fp\u003E\u003Cp\u003E比如:“这家餐馆不错,服务态度好、价格便宜”,整个句子是积极的评价。\u003C\u002Fp\u003E\u003Cp\u003E情感倾向分类对给用户打标签,给用户推荐内容或服务,有比较好的效果。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E2)观点抽取\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E观点抽取是把句子中的观点抽取出来。\u003C\u002Fp\u003E\u003Cp\u003E还是“这家餐馆不错、服务态度好,价格便宜”这个句子,其中“服务态度好”、“价格便宜”就是观点词。\u003C\u002Fp\u003E\u003Cp\u003E观点抽取对建立服务或内容的评价体系,有重要的意义。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E3.6 目前遇到的困难\u003C\u002Fh3\u003E\u003Cp\u003E\u003Cstrong\u003E1)语言不规范\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ2f4k7WNv6\" img_width=\"823\" img_height=\"423\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E虽然目前我们可以总结出一些通用的规则,但是自然语言真的太灵活了。同一个词在不同的场景可能表达多个意思, 不管是通过理解自然语言的规则,还是通过机器学习,都显得比较困难。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E2)错别字\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ2v6HsDd8I\" img_width=\"599\" img_height=\"491\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E在处理文本时,会发现有大量的错别字,怎么样让机器知道这些错别字,并且改过来呢,也是NLP的一大难点。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E3)新词\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002FRX2MZ377LM89kB\" img_width=\"191\" img_height=\"191\" alt=\"语音交互的三驾马车:ASR、NLP、TTS\" inline=\"0\"\u003E\u003Cp\u003E在互联网高速发展的时代,网上每天都会产生大量的新词,我们如何快速地发现这些新词,并让机器理解,也是非常重要的。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch2\u003E04 语音合成(TTS)\u003C\u002Fh2\u003E\u003Cp\u003E实现TTS,目前比较成熟的有两种方法:“拼接法”和“参数法”。\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E4.1 拼接法\u003C\u002Fh3\u003E\u003Cp\u003E首先,要准备好大量的语音,这些音都是又基本的单位拼接成的(基本单位如音节、音素等),然后从已准备好的声音中,抽取出来合成目标声音。\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E优点:语音合成的质量比较高。\u003C\u002Fli\u003E\u003Cli\u003E缺点:数据量要求很大,数据库里必须有足够全的“音”。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E4.2 参数法\u003C\u002Fh3\u003E\u003Cp\u003E根据统计模型来产生每时每刻的语音参数(包括基频、共振峰频率等),然后把这些参数转化为波形。\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E优点:对数据的要求要小点。\u003C\u002Fli\u003E\u003Cli\u003E缺点:质量比拼接法差一些。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch3\u003E4.3 其他方法\u003C\u002Fh3\u003E\u003Cul\u003E\u003Cli\u003E谷歌DeepMind提出的WaveNet方法,基于深度学习的语音合成模型,不会对语音信号进行参数化,使用神经网络直接在时域预测合成语音波形的每一个采样点。\u003C\u002Fli\u003E\u003Cli\u003EDeep Voice 3采用一种新颖的用于语义合成的全卷积架构,可以用于非常大规模的录音数据集。\u003C\u002Fli\u003E\u003Cli\u003EVoiceLoop是Facebook提出的一种新的TTS神经网络,它能将文本转换为在室外采样的声音中的语音,且该网络架构比现有的网络架构简单。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Ch2\u003E参考文章\u003C\u002Fh2\u003E\u003Cul\u003E\u003Cli\u003E《CUI三部曲之语音识别——机器如何听懂你的话?》_AI新司机\u003C\u002Fli\u003E\u003Cli\u003E《AI是怎样理解人话的?浅析NLP中的分词和关键词_AI研习小分队》_@艺馨_20171101\u003C\u002Fli\u003E\u003Cli\u003E《语音合成TTS | AI产品经理需要了解的AI技术概念》\u003C\u002Fli\u003E\u003Cli\u003E《干货整理_2017(北京)百度技术沙龙NLP》_AI游学小分队_20171104\u003C\u002Fli\u003E\u003Cli\u003E《语音合成TTS技术的最新进展信息汇总》_赵琦_20180404\u003C\u002Fli\u003E\u003Cli\u003E《【NLP技术】:NLP简单介绍》\u003C\u002Fli\u003E\u003Cli\u003E《AI PM应该懂的自然语言处理(NLP)知识》\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E本文由 @Jimmy 原创发布于人人都是产品经理。未经许可,禁止转载。\u003C\u002Fp\u003E\u003Cp\u003E题图来自Unsplash,基于CC0协议。\u003C\u002Fp\u003E"'.slice(6, -6), groupId: '6716786297291145736
相关文章