ASR 概述

前言

随着企业加强了与客户的线上沟通,企业越发依赖于虚拟助手、聊天机器人以及其他的语音技术,以实现与客户的高效互动。这几类人工智能,都是依赖于自动语音识别技术,简称为 ASR。ASR 涉及到将语音转换为文本,促使计算机理解人类语言并与人类对话。

语音识别技术,也被称为自动语音识别 Automatic Speech Recognition(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

ASR 的使用量正在与日俱增。在 Deepgram 与 Opus Research 合作进行的一项最新调查中,向来自北美洲多个行业的400名决策者调查了其公司的 ASR 使用情况。99% 的调查对象表示,他们都有在使用 ASR,主要以手机应用中的语音助手为主,这说明了这项技术的重要性。随着 ASR 技术的不断发展,ASR 逐渐受到企业的青睐,它可以提高企业在虚拟环境中的客户服务质量。


自动语音识别

机器要与人实现对话,那就需要实现三步:听懂(耳)> 理解(脑)> 回答(口),机器要听懂人类说话,就离不开语音识别技术(ASR)。

自动语音识别的工作原理

过去几十年里,由于强大的人工智能和机器学习算法,ASR 的发展速度迅猛。如今,大多 ASR 程序仍使用定向对话,但一些优化版本已开始利用自然语言处理技术,这是人工智能的子领域。

  • 定向对话 ASR

    当您打电话给银行时,您可能体验过定向对话。如果是一些大型银行,您通常需要先与计算机互动,然后才联系到相应的人员。计算机可能会要求您简单地回答“是”或“否”来确认身份,或直接读出您的卡号。无论是哪一种情况,您都是通过直接对话式 ASR 来互动。这些 ASR 程序只限于简短的口头回答,因此词汇量有限。这些 ASR 程序适用于简单的客户互动,无法胜任复杂的沟通。

  • 基于自然语言处理的 ASR

    NLP 是人工智能的一个子领域。NLP 是指一种教会计算机理解人类语音或自然语言的方法。

    基于NLP语音识别程序的工作原理的简要介绍:

    1. 向 ASR 程序说出一个指令,或提出一个问题。
    2. 该程序将语音转换为频谱图,这是机器可读的音频文件。
    3. 一个声学模型通过消除任何背景噪声(例如,狗叫声或静电)来清理音频文件。
    4. 算法将清理后的音频文件分解成音素。音素是声音的基本组成部分。例如,在英语中,“ch” 和 “t” 是音素。
    5. 算法分析音素的序列,并使用统计概率来确定序列中的单词和句子。
    6. NLP 模型可以将语境应用到句子中,例如,确定说的是 “write” 还是 “right”。
    7. 一旦 ASR 程序理解了说的内容,ASR 程序就可以给予合理的答复,并通过“文本-语音”转换技术来回复。

虽然根据所使用的算法类型,上述流程会发生变化,但这并不妨碍理解 ASR 程序的工作原理。基于 NLP 的 ASR 没有限制,并且能够模拟真实对话,是迄今为止最先进的版本。例如,一个基于 NLP 的 ASR 系统的典型词库可以涵盖 6 万多个单词。评估 ASR 有两个维度,即单词错误率和响应速度;在理想条件下,ASR 系统在理解人类语音方面可以达到接近 99% 的准确率。但是,大多数情况都不满足理想条件。

数据科学家针对关于如何教会 ASR 程序理解人类语音这个主题,持续开展实验。数据科学家正在探索其他可以与完全监督学习互补的方法,这需要收集每个可能会出现的语言例子来训练人工智能,并应用主动学习等技术。与程序互动的人越多,程序自主学习能力就越强。可以想象到,这无疑节省了研究人员的大量时间。


智能ASR语音识别产品优势

  • 高准确的识别率:基于先进的深度学习算法,安静环境下近场语音识别,中文普通话字准确率超过96%。
  • 灵活的接入方式:支持不同设备端的 SDK 接入,同时也支持 HTTP 协议的 API 接入。
  • 低延时识别速度:快速的系统响应,提升用户交互体验。
  • 专业的业务领域:针对呼叫、客服场景,进行大量的业务场景优化。
  • 智能文本纠错能力:基于行业文本数据,针对用户输入上下文进行智能纠错,根据用户输入停顿,智能化插入标点符号。

自动语音识别的应用

基本上,ASR 应用适用于各行各业。到目前为止,已有很多客户采用了 ASR 技术,以优化客户体验。以下是几个突出的应用:

  • **语音虚拟助手:**受欢迎的虚拟助手有很多:谷歌助理、苹果的 Siri、亚马逊 Alexa 和微软的 Cortana。这些应用提高了获取信息的速度和效率,在日常生活中随处可见。未来,虚拟助手市场仍会蓬勃发展。
  • 智能客服:提供全渠道接入端口,主要应用在销售服务(售前、售中、 售后),营销推荐以及数据分析场景中。
  • **转录和听写:**许多行业都需要语音转录服务。借助这类应用,可以转录公司会议、销售部门的客户电话、政府调查采访,甚至是记录病人的治疗过程。
  • **教育:**ASR 提供了非常有用的教育工具。智能语音在产品营销、课堂管理、教学测评等场景获得了大量应用,不同类型的教育企业适用于不同的解决方案。
  • **车载信息娱乐系统:**在汽车行业中,ASR 被广泛应用,以优化车内体验。最新的汽车型号具有识别语音命令功能,例如驾驶员可以发出指令“将温度调高两度”。这些系统旨在将车内环境的管理工作自动化,无需驾驶员腾出方向盘上的手来完成,从而提高安全性。
  • **安全:**ASR 可以识别关于“进入某些区域”的语音,提高安全性。
  • **无障碍:**ASR 还是一个可以推进无障碍性的工具,未来发展前景广阔。例如,不懂或无法使用技术的人可以在智能手机上发出语音指令;例如,”打电话给Jane”。

上述多个应用适用于各个行业,并且操作过程简单。由此可知,近年来 ASR 技术市场的呈指数级增长,实属正常现象。


ASR 的挑战

导致 ASR 领域出现挑战的几个常见因素:

  • 噪声数据

    通常,噪声数据是无意义的数据。但在ASR背景下,噪声数据也有字面意义。在理想环境中,音频文件里语音清晰且没有背景噪声,但现实往往并非如此。音频数据中可能会包含一些无关的噪声,例如有人在背景中咳嗽,有其他人在主扬声器上说话,有建筑噪声,甚至是静电。一个高质量的 ASR 系统能够提取出有用的音频数据,并消除无意义的数据。

  • 发言者差异性

    ASR 系统经常需要理解性别、地区、背景各不相同的人的语音。人类语音出现多个方面的差异,比如语言、方言、口音、音高、音量、语速等

    若想让 ASR 系统为所有终端用户提供一致卓越的体验,ASR 系统需要能够理解和解释多种不同的语音。

  • 硬件设施质量低

    大多公司都缺乏高质量的录音设备,从而导致音频文件中出现上文提到的噪声数据。

  • 同音字和语境障碍

    仅仅是英语一门语言,就存在多个同音词,即发音相同但含义不同的词。ASR系统需要依靠一个高度准确的NLP算法来运行,以根据语境来解释每位发言者的说话内容。

  • 单词之间缺少界限

    我们在写字或打字时,会使用空格、标点符号等来分开每个单词和句子。但如果是在说话,单词和句子就会连成一串。在这样的情况下,ASR程序无法将一连串语音分成独立片段。


如何克服自动语音识别中的挑战

ASR 工作的现场环境大多不符合理想条件,会对技术的精确度产生负面影响。破坏理想条件的常见因素有很多,为实施 ASR 的团队带来了挑战。幸运的是,可以采取一些方法来克服这些挑战。

通过个性化的数据采集和标注项目,可以解决部分挑战。可以采集,甚至有机会创建语音数据集,这个数据集更能代表客户的语音差异情况,提高客户服务质量。可以选择自己解决问题,也可以选择和拥有 ASR 经验的第三方数据供应商合作,充分利用其专业知识和工具。合适的数据合作伙伴可以提供特定用例所需的数据,以及与 ASR 应用兼容的数据平台,助力快速启动项目。

目前,很多数据供应商都能提供用于语音识别的成品数据集,但这还不够,他们应该还能根据多元化的发言者群体,以满足独特的数据需求。此外,数据供应商还可以提供工具,可以帮助克服上文中提到的挑战。


参考

C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨鸦_Cormorant

大家喜欢的话可以点个关注投币哟

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值