首页 > 编程知识 正文

语音转文字asr(tts原理)

时间:2023-05-05 09:20:40 阅读:1153 作者:1747

语音交互是AI最重要的领域之一,也是目前落地产品比较成熟的领域。比如智能客服、智能音箱、聊天机器人等。都有成熟的产品。语音交互的主要组成部分是什么?你主要处理什么任务?你目前遇到了什么困难?本文将与您讨论。

00-1010让我们以一个智能扬声器的例子开始今天的讨论:

假设我们对智能音箱天猫精灵说“玩个周杰伦《晴天》”。天猫会说“好的,我马上给你放周杰伦的《晴天》”然后开始放音乐。

猫精灵在这个过程中做了什么?

天猫精灵首先将听到的声音转化为文字,然后理解内容,最后制定相应的策略,将应对策略转化为声音。

因此,语音交互可以分为以下三个模块:

自动语音识别:简称ASR,是将声音转换成文字的过程,相当于耳朵。自然语言处理(NLP):简称NLP,是理解和处理文本的过程,相当于大脑。文字转语音:简称TTS,是将文字转换为语音的过程,相当于嘴巴。让我们在下面详细介绍每个模块。

00-1010一般来说,语音识别有两种方法:

“传统”识别方法一般采用基于深度神经网络的隐马尔可夫模型(HMM)的“端到端”方法。两种方法都需要经过“输入-编码-解码-输出”的过程。

01 语音交互的组成

编码就是把声音转换成机器可以识别的模式,也就是用数字矢量来表达。

计算机无法直接识别输入的声音信号。首先需要将声音信号切割成小段,然后按照一定的规则用一个向量来表示每一段。

00-1010解码是将数字向量拼接成文字的形式。

首先把编译好的矢量放入声学模型中,就可以得到每个小段对应的字母是什么。

然后,翻译后的字母可以通过语言模型组装成单词。

当然声学模型和语言模型也是神经网络,是通过大量的语音和语言数据训练出来的,这里就不多说了。

这是一场大脑风暴:

神经网络能不能做到,不需要编码解码的过程,不需要声学和语言模型,直接把声音信号扔进神经网络进行训练,最后输出的结果是文字,让机器学习具体的中间过程是什么。如果能做到这一点,我觉得很酷。它看起来真的很聪明吗?

02 语音识别(ASR)

NLP是语音交互中最核心、最难的模块。

NLP主要涉及以下技术:文本预处理、词法分析、句法分析、语义理解、分词、文本分类、文本相似度处理、情感倾向分析、文本生成等。但不仅限于这些,还涉及许多复杂的技术。让我们挑几个主要的技术点,简单聊一聊。

00-1010 1)去噪:

只要与输出无关,我们就称之为噪声,如空格、换行符、对角条等。

去噪后的文字变得更加规范,不会出现杂乱的符号,这对后续处理非常重要。

2)词汇规范化

这在处理英文文本时常用,如“play”、“player”、“played”、“plays”和“playing”是“play”的各种表示。虽然意义不同,但语境相似,这些形形色色的词是可以规范化的。

规范化是文本特征工程中的关键步骤,因为它将高纬度特征(n个不同的特征)转换为低维空间。

00-1010 1)分词

分词就是把一个句子分成多个单词。

比如输入“明天深圳的天气怎么样?”,这句话将分为“明天/深圳/天气怎么样”。其中,“明天”“深圳”“天气”是这句话的关键词。用关键词匹配内容。

2)实体标识

实体抽取:指对文本中特定类别的实体进行抽取,如名称、地名、数值、专有名词等。

比如输入“詹姆斯在NBA打了多少年”,其中“詹姆斯”是一个实体词,电脑或许可以通过当前时间和詹姆斯加入NBA的时间给出他在NBA的年龄。

实体识别广泛应用于信息检索、自动问答、知识图谱等领域。目的是告诉计算机这个词属于某种类型的实体,有助于识别用户的意图。

2.1 编码

的主要目的是对文献(文章)的主题进行分类,如经济学、体育、文学等。

等。

解决文案分类问题,比较经典的算法是TF-IDF算法。

TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

别说“NBA”这个在一篇文章中出现的次数比较多,但又很少在其他文章中出现,那这篇出现多次“NBA”这个词的文章很可能就是体育类文章。

3.4 文本相似度处理

文本相似度通常也叫文本距离,指的是两个文本之间的距离。文本距离越小,相似度越高;距离越大,相似度越低。

比如:用户输入“这件衣服多少钱”或者说“这件衣服怎么卖”,这都是很口语化的句子,那要怎么给用户返回“衣服价格”呢?就是根据文本相似度处理的。

需要我们计算出“多少钱”、“怎么卖”跟“价格”的相似度,然后根据相似度去匹配最佳答案。

应用场景:推荐、排序、智能客服以及自动阅卷等。解决之前只能靠关键词精准匹配问题,识别语义,扩大了应用的范围。

3.5 情感倾向分析

情感倾向分析,主要分为两大类:情感倾向分类、观点抽取。

1)情感倾向分类

情感倾向分类是识别文本的情感倾向,如:消极、积极、中性。

比如:“这家餐馆不错,服务态度好、价格便宜”,整个句子是积极的评价。

情感倾向分类对给用户打标签,给用户推荐内容或服务,有比较好的效果。

2)观点抽取

观点抽取是把句子中的观点抽取出来。

还是“这家餐馆不错、服务态度好,价格便宜”这个句子,其中“服务态度好”、“价格便宜”就是观点词。

观点抽取对建立服务或内容的评价体系,有重要的意义。

3.6 目前遇到的困难

1)语言不规范

虽然目前我们可以总结出一些通用的规则,但是自然语言真的太灵活了。同一个词在不同的场景可能表达多个意思, 不管是通过理解自然语言的规则,还是通过机器学习,都显得比较困难。

2)错别字

在处理文本时,会发现有大量的错别字,怎么样让机器知道这些错别字,并且改过来呢,也是NLP的一大难点。

3)新词

在互联网高速发展的时代,网上每天都会产生大量的新词,我们如何快速地发现这些新词,并让机器理解,也是非常重要的。

04 语音合成(TTS)

实现TTS,目前比较成熟的有两种方法:“拼接法”和“参数法”。

4.1 拼接法

首先,要准备好大量的语音,这些音都是又基本的单位拼接成的(基本单位如音节、音素等),然后从已准备好的声音中,抽取出来合成目标声音。

优点:语音合成的质量比较高。缺点:数据量要求很大,数据库里必须有足够全的“音”。

4.2 参数法

根据统计模型来产生每时每刻的语音参数(包括基频、twdcc频率等),然后把这些参数转化为波形。

优点:对数据的要求要小点。缺点:质量比拼接法差一些。

4.3 其他方法

谷歌DeepMind提出的WaveNet方法,基于深度学习的语音合成模型,不会对语音信号进行参数化,使用神经网络直接在时域预测合成语音波形的每一个采样点。Deep Voice 3采用一种新颖的用于语义合成的全卷积架构,可以用于非常大规模的录音数据集。VoiceLoop是Facebook提出的一种新的TTS神经网络,它能将文本转换为在室外采样的声音中的语音,且该网络架构比现有的网络架构简单。

参考文章

《CUI三部曲之语音识别——机器如何听懂你的话?》_AI新司机《AI是怎样理解人话的?浅析NLP中的分词和关键词_AI研习小分队》_@艺馨_20171101《语音合成TTS | AI产品经理需要了解的AI技术概念》《干货整理_2017(北京)百度技术沙龙NLP》_AI游学小分队_20171104《语音合成TTS技术的最新进展信息汇总》_赵琦_20180404《【NLP技术】:NLP简单介绍》《AI PM应该懂的自然语言处理(NLP)知识》

本文由 @现代的微笑 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。