首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YIYA语义测试方面总结探讨

YIYA语义测试方面总结探讨

作者头像
腾讯移动品质中心TMQ
发布2018-02-02 15:55:58
1.1K0
发布2018-02-02 15:55:58
举报

1 产品介绍

YIYA是一个语音助手,根据用户输入语音内容,进行对应的操作或返回对应的结果,比如询问天气,返回所在地的天气结果。目前使用在微桌面及TOS手表中。

1 语音识别测试介绍

1.1 人工测试

语音测试,先要识别准确, 在这条路上,测试尝试了各种各样的方法;

1. 建立一套可行完善的评测方法,输出各种评测报告,从客户端语音输入开始,到出现识别结果整个过程有很多节点可以进行专项测试;

Ø VAD(语音端点检测)监测灵敏度评测: 可以从录音识别准确性、不同机器的灵敏度上来验证VAD是否达到预期;

Ø 噪音干扰识别测试: 在不同噪音分贝下测试语音识别率;

Ø 不同距离识别测试: 语音说话的距离与识别准确度的关系,需要进行一些验证测试;

Ø 不同机型识别测试:在测试中发现不同机器的识别率有一些差距;

Ø 不同网络语音识别速度测试: 测试在不同网络情况下的语音识别速度,用以优化;

1.1.1 竞品对比

测试版本:

YIYA、竞品 ,

测试机型:

两款相同型号相同配置的手机;

测试地点:

公司附近的广场,小型购物商场,不同楼层具备不同的噪音环境,是用户的潜在使用场景;

测试方法:

基于语音输入的特殊性,暂时采用人工输入的方式,同样的说法,同时测YIYA和竞品的识别情况;两个手机分别装YIYA和竞品,同时点击开始录音;

采用分贝仪软件,监控当前分贝值;

采用了YIYA和竞品都支持的场景和例子对比测试结果;

1.2 自动化测试

1.2.1 在PC上的测试方法

选取真实的用户语音数据, 直接调用识别引擎的识别接口,监控语音识别是否准确,生成测试报告, 该方法和样本可以适用于任何语音识别引擎。

1.2.2 在手机上的测试方法

只需要收集和生成语音文件,选择对应的文件就可以通过自己编写的识别工具进行一键自动测试,自动输出每一个语音所需要的处理时间和最终识别的文字结果, 且可以用同一份数据反复快速的测试,保持一致性;主要是和终端调用相同的识别引擎接口即可。

2 语义识别测试介绍

汉语博大精深,比如这样的句子:

1、冬天:能穿多少穿多少;夏天:能穿多少穿多少。

2、剩女产生的原因:一是谁都看不上,二是谁都看不上。

3、单身的来由:原来是喜欢一个人,后来是喜欢一个人。

当然YIYA现在还做不到这样像人一样智能,但是这是未来的目标。

YIYA语义识别要做到就是: 语义理解要准确,要够聪明,能理解用户各种输入。

根据语义理解的范围,从内部架构上将语义理解分为两大块:

1. 封闭域问题: 可以归并到某一个具体场景的问句,如:打电话、听音乐、天气、看电影等。

2. 开放域问题:用户毫无目的的问答,比如调侃、骂人, 不能归并到现有支持的具体场景里的,如:天空为什么是蓝色的、为什么青蛙会冬眠、你是一个笨蛋。

2.1 封闭域场景测试

针对某个功能,比如要支持音乐场景,我们该如何来测试?

在YIYA的大部分功能场景测试中,每个场景需要尽最大可能覆盖用户可能的输入,这种情况下,就需要测试能够输出更多的与场景相关的句子,作为测试样例的输入;

首先需求也只能给一个大概的范围,因为人的思维方式不同、语境不同,需求文档也不能可以罗列出全部的要素,需要群策群力来不断完善。

2.1.1 准备测试样本

测试样本经历了以下几个阶段:

1. 最初由测试人工自由发挥,满足现有需求标准的句子即可

2. 项目组多人脑暴参与收集,每个人贡献自己的常用说法

3. 发布后收集用户样本,分析句子结构,形成一定规范编写文档

4. 发布后真直接采集实的用户句子

人工编写的样本句子结构需要保证以下能被覆盖:

1. 日常常用说法的覆盖

2. 样本横向覆盖即需求的各条逻辑的覆盖,

3. 样本纵向覆盖即所能覆盖的地名、时间之类的全部覆盖到

4. 样本说法中有前置语气词

5. 样本说法中有后置感叹词

6. 样本说法中含有符号的

7. 样本说法的核心词可以被替换的词

2.1.2 测试样本格式

每一条样本先人工赋予一个场景ID和预期结果。最初是用纯文本格式保存,后面全自动化后,直接导入到数据库保存作为测试样本用;测试样本库一直在不断累积中。

2.1.3 样本自动测试

使用过程中不断积累大量的样本,可以反复测试和验证场景数据;样本编写完成后,需要每一条样本标记预期结果; 通过每一条样本标记的预期结果,查看每一条样本执行的是否符合预期;使用脚本来批量测试验证。

2.1.4 自动测试

使用测试平台来测试,直接使用数据库样本,绕过语音识别引擎,直接向服务器发送文字语义理解请求,判断返回的结果和自身的预期是否一致, 一致则表明已支持这个说法, 不一致则表明区分场景识别意图错误;样本可以批量快速执行,快速得出服务器是否能支持。

2.1.4.1 测试效率

Ø 准备好样本后,可以快速覆盖

Ø 不需要人工参与,可快速判断出句子是否支持

Ø 测试要做的就是尽可能的收集各种语境和语义输入

Ø 效率提升数倍

2.1.5 精细化测试

当样本数量越多的时候,如何保障基本功能:

为了规避适配过程中造成某些场景不同平台互相影响,不能及时发现, 测试这边根据适配的需求,梳理出了一份核心的监控测试案例;

从以下方面进行测试监控,每天发现问题及时修正和改善;

适配案例类型

说明

基本核心功能

每个平台需要支持的核心场景的基本案例

映射配置检查

针对不同平台,某些URL跳转需要做特殊映射和配置,

答案配置检查

针对不同平台,云端配置的FAQ答案会有不同

2.2 测试驱动开发

自动化的测试能保证每天的主要核心功能的稳定和可控, 但是由于语义识别的复杂性,还是会有各种问题出现,YIYA的语义样本数据库,每天不断加入样本,依然发现很多不支持的样本。如何解决这些问题?

2.2.1 总结分析问题:

先把出错的样本逐一分析原因并归类:

举例:

场景说法未支持:比如我们支持问 “一加一等于几”,但是没有支持“那一加一等于几?”

返回数据错误: 如用户输入 “我要听小情歌”,给的数据是情歌;没有支持;

返回数据不完善: 比如用户问天气,“明天的空气湿度”, 我们的天气数据没有湿度;需要完善数据;

2.2.2 发现规律,解决某一类问题:

针对:返回数据错误这类问题,在收集分析后,发现这一类问题占到音乐场景的70%; 如果能自动解决这个问题,那么收益是很大的;下面是针对这一类问题分析后得出的解决和验证方案;

2.2.2.1 用户输入进行领域本体自完善:

作为语音助手软件,可以获取到用户的大量原始输入,而这些输入包含了大量的知识,其中大部分的知识是已经蕴含在我们的领域本体库中的,还有一部分新知识还没有被收录,根据用户在特定领域的常用说法和句式,结合现有的知识,就可以分析出用户的输入中可能存在的新知识,在对新知识进行一定验证后,就可以合并到我们的领域本体中。这是一个自动完成的自完善的过程。我们在某些特定的场景,如音乐场景中,使用这个技术方案后,发现识别率得到显著提升。

2.2.3 主动去发现和挖掘问题

中文语言博大精深,问题源源不断的涌入,甚至很多问题已经超出了最初的设想和需求。怎么改进和改善?

测试也在思考,我们的场景如何能够做到更细化,覆盖的更全面;所以梳理出一些想法和方案,旨在帮助打磨产品、修炼内功,提升云端的语义处理。

场景细化思路:

1. 针对每个场景,不受目前实现限制,尽可能的罗列出这个场景的所有维度;并且找出这个维度可能有的词汇和问题;

2. 将所有的维度想法转换EXCEL,进一步细化;通过已经累积的20W条样本中的场景说法以及评审中发现的问题,反查所有的维度是否能覆盖;总结列出核心句式;

3. 测试对EXCEL的文档逐一审核,找出已经支持和不支持的维度,可以适当参考竞品;

4. 开展评审,将优化需求列入迭代里逐步优化。

通过这个梳理可以达到两个目的:

1. 找到支持的不好的维度,可以主动优化,不断积累和完善;

2. 发现新的需求,考虑到迭代中来打磨实现,完善云端的词汇词库等规则。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 语音识别测试介绍
    • 1.1 人工测试
      • 1.2 自动化测试
        • 1.2.1 在PC上的测试方法
        • 1.2.2 在手机上的测试方法
    • 2 语义识别测试介绍
      • 2.1 封闭域场景测试
        • 2.1.1 准备测试样本
        • 2.1.2 测试样本格式
        • 2.1.3 样本自动测试
        • 2.1.4 自动测试
        • 2.1.5 精细化测试
      • 2.2 测试驱动开发
        • 2.2.1 总结分析问题:
        • 2.2.2 发现规律,解决某一类问题:
        • 2.2.3 主动去发现和挖掘问题
    相关产品与服务
    语音识别
    腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档