对于任何一个新产品,效果评测都是质量保证的一个重要手段,需要使用某种通用的, 被广泛承认的评价标准来对产品效果进行评价。评测不仅要体现出被测产品质量,也应该能体现出与相同或相似产品对比,该被测产品的优势、不足。
本文结合输入法评测过程, 分享产品评测的一些基本思路和方法, 希望能够对其他产品评测过程有些许借鉴意义。
1. 产品评测技术
一个产品的评测,开始阶段都会面临很多的问题,比如“要评测什么”,“怎么执行评测”,“用什么数据来评”等等。下文将这些问题划分为一个评测步骤的几个要素,并尝试对这些问题的解决进行介绍,最终达到实现一个基本的产品评测过程。如下图所示:
2. 评测指标
不同的产品由于其功能、定位的差异性,会具有不同的评价指标。评价指标的确立是非常重要的,一套好的的评测指标,应该能够全面、客观、准确得衡量和体现产品质量,让开发、测试人员及时获取产品相关指标,了解产品优缺点,并能够以此为参考采取下一步措施。
新产品初期,可能会存在难以制定完整评测指标的困难。我们可以尝试从用户的角度出发,来思考什么样的产品质量才称得上好呢?比如对于机器翻译,就需要考虑如何评价一篇译文好坏的问题,翻译届推崇“信、达、雅”这三个标准,也就是要求译文能忠于原著,准确无误,译文通顺流畅,符合语言表达习惯等等。从中,我们就可以提取“忠实度”,“流利度”这一类指标来衡量翻译系统的质量。
评测指标的制定可能还会来源于开发人员希望为用户提供什么样质量的功能,达到或者超越对手哪些方面。如果同类产品已经在业内存在,通常也会有丰富的行业标准可供参考。我们都可从中甄别信息用来构建评测体系。
但是建议的一点是,评测指标应该与PM、Rd、QA及项目相关人员达成一致,这样最终的评测结果才会有更广泛的参考和借鉴意义。
以输入法为例,如下图示例,用户的需求涵盖了输入效果的多个方面,体现了一个高质量输入法法应该达到的标准。我们的评测首先围绕着是否满足用户需求,抽象出了一系列指标来进行衡量。从项目人员的角度出发,他们希望产品的特色是能够实现中英文混输,并且结合在线输入法的特性,提高长句输入的效果。另外输入法的基本功能还包括简拼、联想等,这些都可以抽象为评测指标来进行衡量。
3. 评测方法
对于评测指标的衡量方法视产品、指标而不同,本文将其按照实现方式分为了如下两类:
3.1 人工评测
人是新产品的设计实现者,也是新产品的最终使用者,由人来衡量新产品质量是比较自然的。 特别是对于某些产品或者指标, 由于其本身的复杂度、不确定性或者其他原因,难以像公式或者数学题目那样简单客观的描述、衡量出来,例如机器翻译中的“流利度”指标,即衡量翻译结果是否通顺流畅,符合语言习惯。借助现有的技术能力,我们很难找到或者实现一个工具来完成这一目标,这时就需要借助人力来完成评测了。
在通过人力实现评测时,需要注意以下几点
※ 明确评测标准,确认与评测人员在理解上达成一致,减少主观性。
※ 提供评测数据、环境等所需或者确定获取方式。
※ 约定结果记录展现方式,让评测所得即为所需。
使用人工评价的方法得到的结果一般是十分准确的,但主要问题在于评测的成本太高, 周期过长(评测过程可能长达几周甚至数月),评价结果也会随着评价人的变化和时间的推移而不同,这使得评价结果不可重复,缺乏客观性。在这种评测方式下,研究人员无法迅速得知产品改进的效果,延长了产品的开发周期。
人工评测的局限性使得自动评测同时被提上了议事日程。
3.2 自动评测
自动评测是一种通过自动化方式实现对产品质量进行衡量的评测手段,与人工评测不同,它需要测试人员预先确定自动比较的规则、预期结果或者是竞品对象等等。自动评测有很多种可参考的实现方式,如下对我所了解的方式进行简单介绍:
3.2.1 基于标注语料的自动评测
这是一种常见的评测方法。测试人员在评价产品前,先人工标注出一批符合要求的语料或者结果,并用其来与实际产品结果进行相似程度的比较,以此获取产品评价和分析数据。
以机器翻译产品为例,目前在业界使用比较广泛的基于多元匹配的自动评测方法就属于此类。评测人员会先给出一些标准的翻译结果,然后比较机器生成的译文与这些翻译之间的相似程度。同一个句子可以有多个不同的参考译文,这些参考译文都表达同一个含义,但可能使用了不同的词汇,或者虽然使用了相同的词汇但在句中的词序不同。
这样一来,机器翻译自动评测的问题转换为比较机器翻译系统输出的一个翻译结果和多个通过人工产生的正确的参考译文之间的相似度的问题,使用不同的相似度计算方法即可得到不同的自动评测方法,而相似度计算是一个比较容易实现的算法。
通过如上过程,我们可以得到衡量翻译结果质量的相关数据。 同样,我们还可以在竞品上使用同样的方式来获取评测数据。
某些场景下,我们也可以通过自动化的方式来获取标准语料或者结果,这样能够扩大数据集,提高评测效率。
3.2.2 基于竞品的自动评测
这里的基于竞品的比较可能会有两种理解,
一是通过使用相同的评测数据,统一的测试方法和评价标准,为不同的产品之间提供一个可以比较基准并获得比较数据,便于项目相关人员随时了解产品相对质量,并最终促进产品的进步。
第二种是以竞品的输出为参考,用以衡量自身产品结果的准确性和合理性。这种方法在输入法评测中有多次的使用。 例如在衡量输入法词典“缺词率”指标时,评测人员会以市面上通用的输入法结果来做参考。如果某个拼音,其他输入法能够共同出现的一个候选词,却不在被测输入法中候选集合中,那么很有可能,这就是一个缺失的候选词。通过这种方式,我们可以获取一个基本的缺词率指标,并且可以提交缺词候选集供人工review。
3.2.3 基于规则的自动评测
评测人员为质量标准制定评分细则,通过自动化的手段来验证产品效果与规则的匹配程度,以此获取产品评价和分析数据。
输入法的“词序合理性”指标采用了这种方式。评测人员以高频词表为参考,对候选结果制定了打分规则,如果高频词出现在首选的位置上,打5分,次位置上,4分,依次递减。对于有重码率的词,词序符合词频规则的,打5分,同理依次递减。对于单个拼音分数低于阈值的,需要重点关注。 整体分值累积后,我们可以对输入法的词序效果有基本的认知,也便于与旧版本、竞品进行对比。
3.2.4 案例:在线输入法自动评测
在线输入法评测主要是从词库质量、算法合理性、策略正确性等角度,对输入法效果进行评估、验证。从用户角度衡量、发现并推动修改效果问题,提高用户体验。
在线输入法的核心评测指标在第2小节已经介绍过,这里不赘述了。我们将核心指标分为了两种类别:一类为动态评测,即通过人工方式评估用户使用体验和动态策略的人工评测;第二类静态评测,纳入的是可以通过基于规则、数据和竞品比较方式,实现自动执行的评测指标。
其中在线输入法自动评测部分是由Qa主导参与的一个过程,负责了数据获取,工具开发、评测执行及问题反馈主体过程。
※在线输入法评测方法
评测指标的自动化实现涉及了上文介绍的三种实现方式,举例介绍一下。
※在线输入法评测系统
为了提高评测工具的易用性,测试组将这个评测工具集成为了自动评测系统。这个系统包含如下几个部分:
·评测数据管理:负责日志、网络数据采集,转换。支持评测数据集的增删等扩展操作, 可通过配置文件选取需要执行的评测数据集。
·评测执行管理:支持对百度、搜狗、腾讯在线输入法发送拼音请求,结果格式解析,与标注结果对比,统计。
·评测环境管理:以执行时间区分评测执行记录,可进行历史数据的保留。
·结果报告管理:对各个评测集可进行准确率和覆盖率的分析。支持竞品间的对比。支持版本间的对比。
有了自动评测工具,项目人员对系统进行任何一点小的改进后,都随时可以使用自动评测工具来了解产品各方面效果波动情况。这无疑会缩短研究周期,对产品的研究起到极大的推动作用。
4. 评测数据
评测数据的选取同样是很重要的一个环节,应该尽量做到全面、客观、合理有效,另外个人感觉还有一条非常重要的原则是“符合应用场景”,即选取贴合用户使用情景,符合用户使用行为的数据,这样尽可能的保证我们的评测结论与最终用户的使用感觉是一致的。 而不恰当的评测数据会严重影响评测结论,甚至干扰项目人员对于产品质量的了解和决策。
举一个在某输入法评测中遇到的case:
该输入法的评测数据选用了产品log中的用户拼音数据,经一定过滤处理后,跑被测输入法和其他几个竞品,评估首次命中率,及前五个候选的覆盖率来比较产品质量。通过这种方式,给出的评估结论是被测产品各项指标与竞品基本持平,质量可接受。
但是很快用户反馈的产品实际使用感觉却与该结论有一定差距。基于此,后续评测人员采用网络上的文本集合进行了一次数据评估,具体采用了新闻、bbs、生活、公文等多种类别,数量集大致为400多个,切分成:单词文节;短语文节;以及整句输入,之后得到被测产品级其他竞品的候选。这一次评估结果如下
评估结果:
可以看到,被测产品在质量上要明显要落后于竞品。
在这个例子中,评测人员在初期选用了单一的日志数据,其本身只是统计了被测产品用户的上屏结果,该集合可以看作是近似被测产品的goodcase集合,统计不完整且干扰信息多,不符合全面、客观和有效的标准,用这样的数据来做评估不足以反应产品的整体质量。方法和数据的偏差,也就导致了对于产品不准确的评价结果。
这个case除了体现了评测数据的选择问题外,也同时引出了下面的这个问题
5. 如何评价我们的评测方法
应该如何评价一个产品的自动评测方法同样是一个需要考虑的问题,一方面,由于人是产品质量的最终裁定者,因此好的自动评测方法的结果应该尽可能地与人工评测的结果一致。另一方面,评测方法和工具的易操作性也成为需要频繁进行评测的项目人员考虑的重要因素。操作简单、所需资源很少,开发成本合理,才能使其得到广泛使用;
6. 结果分析
无论是人工评测还是自动评测,提供给项目人员常常是各种指标和海量数据。评测人员需要进一步分析,从中甄别有效信息,来了解产品的技术指标,相对水平,缺陷所在。
以3.2.2结提到过的输入法“缺词率”指标为例,相比于其他竞品,在线输入法初期得到的缺词指标低于0.05,基本满足项目人员的预期。但通过评测人员对缺失条目的分析后发现,大量的缺词集中的高频口语粘接词上,属于词库构建的一个缺陷。问题得以修复,并且高频口语粘接词也被添加到评测体系之中。
评测结果最终作用于被测产品,并对产品质量起到推动作用,结果分析环节的重要性也是不言而喻的。而产品自身的发展完善也将促使评测人员研究并使用更为全面,准确地评价产品质量的评测标准,不断地提高人们对于评测结果的认可程度。
7. 结语
本文结合了在线输入法项目,分享了产品评测的基本过程和方法,概括如下图所示。
在线输入法评测工作贯穿了整个输入法产品的开发过程,共进行过超过百次的评测任务。评测结果数据被收录到了输入法产品周报,成为项目相关人员了解产品效果的有效途径。开发人员能够以此为依据进行产品效果的持续优化,改进,最终实现了在全部指标都优于或与竞品持平的情况下发布。目前产品上线稳定后,每日在进行时效性方面的自动监控,便于开发人员定期review线上效果,同时推进了效果评测规范化和流程化。而对于测试人员,通过参与评测,也更好地加深了对产品的理解,能够从用户的角度为改进产品效果提出更多的意见和建议,促进产品质量的提高。
随着评测工作的不断开展和实践,新的方法和思路也会不断的涌现出来,最终希望我们的评测工作,不仅能够成为保证产品质量的重要手段,还能对产品向前发展,领域技术进步起到重要的推动作用。
(作者:zhaoyan)