AI测试|天猫精灵智能音箱测试策略与方法

一、业务介绍

2014年11月,亚马逊推出了一款全新概念的智能音箱:Echo,这款产品最大的亮点是将智能语音交互技术植入到传统音箱中,从而赋予了音箱人工智能的属性。这个被称为“Alexa”的语音助手可以像你的朋友一样与你交流,同时还能为你播放音乐、新闻、网购下单、Uber叫车、订外卖等等。

实现原理

智能音箱的原理是基于语音识别技术、自然语言处理技术和语音合成技术,并通过云计算技术实现智能化控制和联网通信。

1. 语音识别技术:智能音箱通过麦克风接收用户的语音指令,将语音转换为数字信号,并通过语音识别技术进行分析和处理。语音识别技术需要对不同的方言、口音和语速进行适配,以提高识别准确率。

2. 自然语言处理技术:智能音箱通过自然语言处理技术对语音指令进行解析,生成相应的命令或回答。自然语言处理技术需要处理语音输入的语法、句法和语义等信息,以正确地理解用户的意图和需求。

3. 语音合成技术:智能音箱通过语音合成技术将文字转换为语音输出,并通过喇叭播放出来。语音合成技术需要生成自然流畅、人性化的语音输出,提高用户体验效果。

4. 云计算技术:智能音箱通过连接云端服务器实现更强大的数据处理和智能化交互。云计算技术可以实现大规模数据存储和处理,同时还可实现多设备互联和远程控制,从而提高智能音箱的功能和灵活性。

5. 智能家居控制技术:智能音箱通过与其他智能家居设备进行连接和控制,实现家庭自动化和智能化管理。智能家居控制技术可以将家庭中的各种设备整合到一起,并通过语音指令或手机 App 进行远程控制,提高生活便利性和舒适度。

工作流程

其中涉及到的概念如下:

  • 自动语音识别技术(Automatic Speech Recognition,ASR),是指通过计算机程序将人的语音信号转化为文本或命令等信息的一种技术。自动语音识别技术通常需要以下步骤:
    • 声学分析:将输入的语音信号转化为数字信号,并进行预处理和特征提取。常用的特征包括频率、幅度、时长等。
    • 建立声学模型:利用训练数据集来建立声学模型,对不同单元(如音素或基元)进行识别。常用的方法包括隐马尔科夫模型(Hidden Markov Model,HMM)和深度神经网络(Deep Neural Networks,DNN)等。
    • 语言建模:利用语言模型来对识别结果进行进一步的筛选和修正。语言模型可以基于统计、规则或深度学习等方法进行建模。
    • 后处理:对识别结果进行后置处理,如纠错、消除歧义等。
  • 自然语言理解(Natural Language Understanding,NLU)是指计算机程序对人类语言进行理解和解释的一种技术。它可以将输入的自然语言文本或语音信号转化为计算机能够理解和处理的形式,如数据结构、逻辑表达式等。自然语言理解通常包括以下内容:
    • 词法分析:将输入的自然语言文本进行分词,标注每个单词的词性和语法信息,并建立相应的句法树或依存关系图。
    • 句法分析:基于词法分析结果,对输入的自然语言文本进行句法分析,并确定句子的结构和语法规则。
    • 语义分析:对输入的自然语言文本进行语义分析,提取其中的实体、事件、关系等信息,并理解其含义和上下文语境。
    • 意图分析:根据输入的自然语言文本,推断用户的意图和需求,并生成相应的命令或回答。
  • 对话管理(Dialogue Management,DM)是指计算机程序对人机交互过程中的对话进行管理和控制的一种技术。它可以根据用户的输入和上下文语境,生成相应的回答或命令,并不断地维护对话状态,以实现有效的交互。对话管理通常包括以下内容:
    • 对话状态跟踪:对于用户的每一个输入,都需要对当前对话状态进行更新和跟踪。这包括判断用户的意图和需求、记录历史对话内容等信息。
    • 策略决策:根据对话状态和用户输入,选择最合适的策略来生成回答或命令。这可以基于规则、统计或深度学习等方法进行建模和优化。
    • 响应生成:根据策略和对话状态,生成相应的回答或命令,并将其转换为自然语言文本或语音信号输出。
    • 对话历史管理:维护对话历史记录,以便进行上下文分析和对话效果评估等操作
  • 自然语言生成(Natural Language Generation,NLG)是指计算机程序根据给定的数据和模型,自动生成符合自然语言语法和语义规则的文本或语音信号的一种技术。

自然语言生成通常包括以下几个步骤:

  • 数据准备:将需要转化为自然语言文本或语音信号的数据进行预处理和标注,以便后续的模型训练和优化。
  • 模型训练:基于标注好的数据集,使用机器学习、深度学习等方法建立自然语言生成模型,并对其进行训练和优化。
  • 文本/语音生成:根据输入的数据和模型,生成自然语言文本或语音信号,并将其输出到屏幕或喇叭中。
  • 文本转语音(Text-to-Speech,TTS)是一种将文字转化为语音信号的技术,它可以帮助计算机快速、自然地生成语音输出。文本转语音通常包括以下几个步骤:
  • 文本预处理:对输入的文本进行分词和分段,并标注相应的语言特征,如声调、重音等。合成语音参数:基于预处理后的文本,使用语音合成算法生成相应的语音参数,如基频、时长、能量等。合成波形信号:根据上述语音参数,合成相应的波形信号,并通过喇叭或耳机输出。
  • 领域(Domain)指主要承载某个业务的数据概念。例如音乐、新闻、天气都可以称作是一个领域。
  • 技能(Skill)是完整的功能单位,包含某一个领域方向的对话理解和执行逻辑,可以独立承接和处理一段对话逻辑。例如问天气是一个skill,播放音乐也是一个skill。
  • 意图(Intent)代表一段对话的目标和真实用意,是Domain中的细节元素,一个领域中包含多个意图。例如,天气中查询气温是一个Intent,查询紫外线是一个Intent。
  • 填充槽(Slots)是从一句话中提取出来的实体修饰词。例如,在“今天成都天气怎么样?”中,领域是天气,意图是查询,“成都”“今天”将作为slots传给后续的执行服务。
  • 答复(Reply)是在用户询问后,经过系统执行返回给用户的回答。

二、智能音箱测试的挑战

1. 连路长

在移动互联网产品形态下,用户所有的意图均是通过点击、输入操作表达的,用户的意图是明确的。而语音类产品没有此类触控操作,用户直接通过语音与产品交互。因此,在系统执行用户请求之前,需要理解用户意图。所以语音类产品比移动互联网产品多出了语音识别、语义理解的环节。从端上收音开始,经过降噪、去混响、波束形成等环节,到请求服务端,再到通过算法进行语音识别、语义理解,进而由服务端或第三方服务进行处理,将结果返回给算法进行语音合成,最后到音箱端进行播报,整个链路单次语音指令响应耗时需要 1.5~-2.5s。

2. 技能多

市面上智能音箱的定位是让用户仅通过语音就能完成在互联网世界可以完成的一切。因此,音箱的后端需要接入各种各样的服务,如音乐、天气、时间、闹钟、搜索等,我们称之为技能。毫无疑问,为了满足用户的各种诉求,音箱需要提供数以千计的技能。为了满足用户更多的技能接入进来,系统也提供了技能开放服务,可以让生态合作伙伴通过接入技能,与我们一起为用户提供更加丰富的服务。如何保障数以千计的技能服务质量,是我们面临的重大挑战。

3. 语音用例复杂且数量庞大

语音测试的过程比较简单,例如用户向智能音箱询问:“今天天气怎么样?”,答复:“今天晴天”。这就构成一条语音测试用例。而语音测试的难点在于,对于同一个意图,不同类型的用户有不同的问法。所以,测试一个技能到底需要多少条语音用例是一个难题。

4. 语音测试效率低下

语音测试不同于传统软件测试,传统软件测试是以鼠标或者触控为交互基础进行的,与系统的交互是瞬间完成的,交互时间最长不超过1s。而语音用例是以问答的形式进行的,用户说话、音箱播放均需要时间,一次交互长达几秒甚至几十秒,再加上语音用例数庞大的特征,使得语音测试效率极低。

5. 对环境要求高

语音测试对环境要求比较高,在静音、噪音环境中测试结果不尽相同,如果大家都坐一起还有可能相互干扰,给测试带来诸多不便。

三、智能音箱测试策略

智能音箱涉及的技术体系比较广,从底层的硬件到上层的系统软件、应用软件,再到后端服务层、算法层,再到外部的三方服务。主要通过“端到端语音测试”“执行链路测试”“算法评测”三个层面的分层测试来保障整个系统的质量。

  • “端到端语音测试”是最上层的直接面向用户的集成测试,我们通过端到端语音测试自动化来解决“设备多”和“效率低下”的问题。
  • “执行链路测试”与互联网接口测试类似,是通过底层接口调用来保障下游接口服务质量的测试方法。

  • “算法评测”主要评测唤醒/误唤醒算法、语音识别算法以及语义理解算法的质量,它的特点是数据量大,将大数据测试用例“灌入”算法引擎,通过准确率来衡量模型的质量。

四、端到端语音测试

直接通过人工进行端到端语音测试是比较简单的,就是站在用户交互的一问一答,看语音识别效果是否满足用户期望。难点在于“如何提升效率”、“如何避免环境干扰”、“响应耗时如何测试”。下面分别进行阐述。

1. 语音自动化测试

最简单的语音自动化测试方法是利用电嘴模拟人声播放语料,这是一个行之有效的办法,但它只能替代人去测试,并不能提升测试效率,为了避绝声音互相干扰,仍然需要一条语料一条语料地播放。为了提升效率,需要做出一定的牺牲,跳过了麦克风拾音环节,将测试音频直接灌入系统,且灌入的速度可以控制,这样既快速又没有声音,使语音测试成为可能,大大提升了测试效率。

除了效率低下,语音测试面临的比较大的问题是环境干扰,这既包括测试设备之间的互相干扰,也包括测试本身受到的外界噪声的干扰。在办公环境下,如果是单个用例的测试没问题。但是如果是批量回归测试,测试同学基本上就没法干活了。

因此,精灵云测实验室应运而生,它实现了:

  • 无干扰地进行语音自动化共享服务
  • 中心云化的测试设备共享服务
  • 多设备的兼容性测试服务
  • 线上业务的监控巡检服务

精灵云测实验室主要由玲珑塔、Agent、音箱集群三部分构成。玲珑塔是天猫精灵内部开发的集用例管理、执行于一体的测试平台;agent与音箱集群通过USB相连,一起部署在封闭的实验室环境内,主要负责音箱集群的管理和测试指令执行。玲珑塔通过websoket建立长链接,当有用例执行时,由玲珑塔发起测试执行任务,将指令发给agent,再由agent根据执行指令找到对应型号的空闲设备去执行,执行完毕后上报测试结果。

2. 预料自动化生成

智能语音测试的基础是大量的语料。人类的语言是复杂多样的。在做语料自动化生产之前,我们要先考虑清楚:工程和算法评测的边界在哪里?如果不理清工程和算法评测的边界端到端测试的用例数量将非常巨大。语料的泛化在算法评测阶段进行只需要覆盖所有的功能逻辑即可。我们需要把握好这个度。否则将耗费非常大的人力和时间成本。

在测试数据上,我们覆盖的是线上真实的语料+数据驱动的工程定向语料集合。在不考虑泛化能力的情况下测试数据都是可穷举的。技能支持的领域、意图,这些信息在数据库中都可以找到,可以通过拼装的方式自动生成测试语料。

如上图所示。NLU包含工程介入NLU和算法模型NLU两部分。工程介入NLU。是出于用户自定义问答的需要。在算法模型NLU之前,工程强制干预的数据处理行为。其优先级高于算法模型NLU。对于算法模型nu我们通过算法评测进行测试。对于工程介入NLU我们可以通过自动化的方式生成测试数据。工程介入nu都是基于一定的规则。将数据库中的元数据作为判断的依据,进行语义理解。所以工程介入NLU可以通过扫描库表中的元数据根据一定的语法规则来拼装并生成测试语料。

3. 语音耗时测试

天猫精灵既是一款互联网产品,也是一款智能设备。市场上存在诸多竞品,想要在残酷的市场环境中赢得竞争。就必须在各项质量指标上做到极致。对于用户来说,最重要的体验指标是指令达成和指令响应耗时。对于指令达成,我们将在后面的算法评测环节介绍。下面先介绍一下指令响应耗时的测试,主要介绍语音响应耗时。

4. 语音响应耗时

当用户向天猫精灵询问今天天气怎么样?如果等待答复时间超过五秒,那么估计用户就会抓狂。所以音箱的响应体感耗时显得格外重要。

天猫精灵团队开发了一款播放录音软件叫天机尺。播放询问语料后,等待一段时间,音响会进行语音答复。语料的播放和音响答复的时间在录音软件上都会形成波形,而这两者之间没有波形的部分就是我们等待的时长。天机尺的发明开启了天猫精灵用户体感响应时间测试的新纪元。在此之前,我们根据埋点计算得出语音响应耗时为1.5秒,但使用天机尺测量出的耗时是2.8秒,差距将近百分之百。正因为存在如此巨大的差距,我们进行了重点排查,发现了很多原来的埋点发现不了的问题,称之为隐形延时,造成这个原因主要是因为很多地方无法埋点,如硬件延时、tts静音头等。

五、算法评测

算法是智能音箱的灵魂,对用户意图的识別、理解均是通过算法实现的。智能音箱的算法评测主要包括唤醒评测、误唤醒评测、ASR 评测、NLU 评测以及指令达成率评测。

算法评测主要分为离线评测和在线评测两部分。有些指标只能做离线评测,如唤醒率,有些指标只能做在线评测,如指令达成率:有些指标既可以做离线评测也可以做在线评测,如误唤醒、ASR、NLU。离线评测使用大数据测试集进行测试,看产出的结果是否满足期望,类似于功能测试,但其测试的数据量远超功能测试的数据量。功能测试集的数据量级最多上万,而离线评测集的数据量级动辄达到几万、几十万、甚至上百万。在线评测主要依赖人工每天抽取一定量的数据进行标注,分为goodCase 和 badCase,标注后的数据全部回流进数据池,可以补充离线评测数据集,badCase 也会回流给算法进行算法优化。

1. 唤醒评测

出于对用户隐私保护的需要,天猫精灵只会将唤醒后的音频数据上传,我们无法获取唤醒前的音频数据,所以是无法得知用户发出唤醒指令而天猫精灵没有被唤醒的情况,故唤醒评测只能在实验室进行。

2. 误唤醒评测

误唤醒评测分为实验室评测和线上评测两部分。在实验室评测中,我们模拟家庭环境,利用电嘴在不同的方位24小时不间断播放环境噪音音频。通过统计音响被唤醒的次数,计算得出误唤醒的指标。用此方法得出的指标称为实验室数据。主要用于新设备或算法模型上线前的评估。线上的误唤醒评测主要通过标注的方式进行,每天抽取一定量的音频,通过人工的方式判断音频中是否有唤醒词,如果没有就标记为一次误唤醒。唤醒率等于被唤醒的次数/抽样的数据量,此方法得出的误唤醒率代表了线上的真实使用情况,具有较大的参考意义。

3. ASR评测

端到端语音自动化功能测试的主要目的是验证整体流程是否正确,其测试音频可以通过一些技术手段合成,而asr评测的目的在于衡量系统的不同地域、年龄、性别、属性语音识别的准确率。通过一些技术手段合成的音频目前已经不能满足要求,所以ASR评测的音频数据必须通过数据采集或者线上数据回流得到。天猫精灵有专门的数据采集团队,主要根据需求处理算法冷启动所需的数据,之前我们只是简单的跟供应商合作提出数据需求,由供应商根据需求人工采集数据,但由于设备类型众多,供应商需要重复录制很多次,这种方法成本高且效率低下。于是我们自研了自动化数据采集工具。供应商只需要提供原始音频,在家庭环境中用电嘴播放原始音频,在电阻周边不同的距离角度放置录音设备。用上位机控制录制设备,这样便大大的降低了采数据采集成本。但这样采集到的数据仍然不能满足评测对数据的需求,因为数据采集系统无法模拟线上所有用户的使用情况,数据回流仍然是评测数据的重要来源之一,因此我们每天抽取一定量的线上数据进行标注。将标注后的数据回流进评测数据库,以此来评测ASR算法。

字正确率和矩正确率是业界通用的,评估AsR质量的可靠指标。评测时将音频通过接口发送给asr服务器,由服务器进行识别并返回文本,结果与标注文本进行对比。

计算字准确率和句准确率指标计算方式:为了使识别的文本与标注文本一致,需要对识别的文本进行删除、插入、替换等操作,这些删除插入替换的字数即错误的总字数。

单个用例字错误率=1-单个用例字错误率

单个用例正确的字数=标注文本-单个用例错误的字数

总体字正确率=正确的总字数/标注文本总字数

总体句正确率=句正确的文本总字数/标注文本总字数

4. NLU评测

NLU用于处理Asr识别后的文本,对用户的意图进行理解,并对处理结果的dis进行标准化处理,所以NLU的评测是通过正确率来衡量的。NLU的评测比ASR的评测要简单得多,它不需要对地域年龄、性别等音频的多样性特征进行处理。它的输入是文本,故NLU评测只需要建立一定数量的语料文本集即可,数据集可以通过线上数据回流或者技术泛化建立。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6320.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TB-02_Kit 开发板连接天猫精灵

TB-02_Kit 开发板简介 Tb-02_Kit是安信可设计的一款蓝牙开发板,支持二次开发,串口烧录。除了基础蓝牙功能外,还支持BLE Mesh,可连接天猫精灵。 安信可串口烧录工具 TBXX_Flash_Tool 是安信可自主开发的针对TB系列模块的串口烧录…

ESP8266连接天猫精灵(一)

背景 接触天猫精灵后,就想作一些小东西能接入天猫精灵。查看官网的文档后,选择了ESP系列,官方在文档中也比较推荐。读技术文档是个很难受的事情,容易犯困,最好有可以操作的设备。准备如下: 名称 规格 备注…

天猫精灵开发网关php开发,天猫精灵对接

天猫精灵对接 完整控制流程图 与天猫精灵对接后,终端用户可以通过对天猫精灵说出控制命令来调用云端的业务逻辑,最终将正确的操作反馈给用户。 流程图如下所示。 相关连接汇总 开发者网站:https://open.bot.tmall.com/account/login 添加新技…

Java实现天猫精灵与智能设备的对接

天猫精灵与公司智能设备的对接。刚接到这个任务的时候对于一个刚毕业一个月的应届生我来说,有点像巨石,不过经历了10多天的自己琢磨,还是终于把这个新东西搞出来了。楼主是学的java,但在查询相关文章的时候发现没有一篇是用java实…

esp8266对接天猫精灵 微信控制

首先注册账号采用贝壳物联的服务器 添加自己的接口 资料下载地址 链接:https://pan.baidu.com/s/13TWrygx8w6r6llGWlS3kQg 提取码:IH23 链接:https://pan.baidu.com/s/11irBUU56Ck_qceQNSJkNMw 提取码:llal 相关的修改在脚…

esp8266接入天猫精灵教程,附开源app控制

超简单,两步完事 第一步 下载程序到esp8266第二步 绑定天猫精灵第三步 (附)开源app控制 第一步 下载程序到esp8266 下载地址: 点击下载 本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境…

使用ESP8266通过Blinker平台接入天猫精灵控制电视/空调

目录 演示视频 1.准备工作1.1 原理1.2 使用的硬件以及硬件连接图1.3 开发环境准备 2.解码空调红外键值2.1 把ESP8266红外接收的实例,上传到NodeMCU中2.2 读取红外键值 3. 配置Blinker App的UI界面4.Arduino程序的编写4.1 控制逻辑4.2 新建一个Arduino程序&#xff0…

蓝牙mesh设备接入天猫精灵或者百度音响

天猫与百度双网关方案 验证双vendor 支持天猫精灵&百度 一、mesh配网协议(mesh provisioning) 1.1、Provisioning协议栈 1.2、PB-ADV (通过百度或天猫精灵音响直接配网) The PB-ADV bear用来传输Generic Provisioning PDUs类型,PB-AD…

国内就能用的Chat-GPT分享

人工智能在语音理解与交互的新里程碑 AI聊天平台 在人工智能(AI)领域,语言模型的发展日新月异。这其中,OpenAI所推出的GPT系列语言模型尤为显眼,尤其是其中的一员——ChatGPT,已经在人工智能的语言理解与…

速看!又一个 Redis 高危漏洞,可植入隐秘后门允许命令执行

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 被研究人员称之为Redigo的一种基于Go的新的恶意软件,它一直针对有CVE-2022-0543漏洞的Redis服务器并植入一个隐秘的后门允许命令执行。 CVE-2022-0543是Redis&#xff0…

嗖的一下!3分钟用ChatGPT生成海南旅游思维导图!

大家好,我是菜鸟哥! 五一长假即将来临,很多小伙伴都要准备出去玩了!旅游肯定要做攻略啊,比如热门的景点海南三亚,北京,上海,成都这些都是打卡的网红景点!小编比较喜欢去海…

【成为架构师课程系列】怎样进行概念架构(Conceptual Architecture)?

目录 前言 什么是概念架构 概念架构阶段的3个步骤 初步设计 高层分割 分层式概念服

【成为架构师课程系列】使用 Cache-Aside 模式将数据存储在缓存中( Using the Cache-Aside pattern to store data in the cache)

目录 前言 背景和问题 解决方案 问题和注意事项 何时使用此模式 例子 前言 按需将数据从数据存储加载到缓存中(Cache-Aside )。这种模式可以提高性能,还有助于保持缓存中保存的数据与底层数据存储中的数据之间的一致性。

ChatGPT Plus会员如何充值的问题

在这个高度信息化的时代,人工智能已经成为我们生活的一部分。 而ChatGPT更是凭借其高度驯化的对话式语言模型迅速收获了上亿的庞大客群。 今年3月,更先进更强大的GPT4.0官宣发布,强大功能更新的同时,客户需要支付一定订阅费用才…

基于hexo和aws云搭建个人博客,0基础0费用,有点豪横(2W字超详细图文教程)

这是篇概述文章,详细参考Hexo建站专栏 最近几个月一直在整理之前的技术笔记,目前虽在体系上还尚有欠缺,但内容方面整理的七七八八了,这些内容一部分记录在了云笔记中另一部分记录在了博客上。于是决定搭建一个个人的技术…

Linux 内核观测技术 eBPF 中文入门指南

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 很早前就想写一篇关于 eBPF 的文章,但是迟迟没有动手,这两天有点时间,所以就来写一篇。这文章主要还是简单的介绍 eBPF 是用来干什么的&#xff…

【AIGC使用教程】AutoGPT 安装使用完全教程

欢迎关注【AIGC使用教程】 专栏 【AIGC使用教程】SciSpace 论文阅读神器 【AIGC使用教程】Microsoft Edge/Bing Chat 注册使用完全指南 【AIGC使用教程】GitHub Copilot 免费注册及在 VS Code 中的安装使用 【AIGC使用教程】GitHub Copilot 免费注册及在 PyCharm 中的安装使用 …

上海亚商投顾:沪指放量大涨 券商等权重板块全线飙升

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日集体反弹,沪指、深成指单边拉升,午后均涨超2%,上证50大涨超2.7%&a…

上海亚商投顾:创业板指大涨近2% 电商概念再爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日震荡反弹,创业板指高开高走,午后涨近2%,宁德时代盘中涨近4%。军工板块…

上海亚商投顾:沪指尾盘快速反弹微幅收跌 6G概念大涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日震荡调整,临近尾盘集体回升,石油、保险等权重蓝筹走低,上证50盘中…