AI PM视角:对话机器人的算法是如何开发的?

3 评论 4869 浏览 27 收藏 15 分钟
🔗 B端产品经理要负责对竞品进行分析和评估,了解竞品的走向、功能、卖点、优劣势等,制定产品的策略和方向

编辑导语:对话机器人在我们的日常生活中已经十分常见,那么,你了解对话机器人中的具体算法开发过程吗?对话机器人所使用的算法可分为哪些类别?本篇文章里,作者就对话机器人的算法开发流程进行了整体总结,不妨来看一下。

AI对话机器人目前应用已经很广泛了。智能客服、语音助手、外呼机器人……等等,在日常生活中你可能已经碰到了很多的对话机器人。那对话机器人中,算法开发过程是怎么样的呢?今天笔者从一个AI产品经理的视角,做一个简单的介绍和阐述。

如果你问一个AI算法工程师,如何将算法模型搭建至满足业务需求,上线、给用户使用,算法工程师可能会跟你说一堆的AI技术细节。包括如何选型、算法模型间的技术差异点,等等。往往让非算法技术人员听得云里雾里,觉得很高大上但不明就里。

本文我们不讲AI技术细节,我们从AI PM的视角,来阐述对话机器人的开发过程中,算法扮演了什么角色,承担了什么任务,以及如何影响最终的产出结果的。

对话机器人当中使用的算法,可大致分为:意图识别、实体识别、相似度计算3大类。主要应用于机器人对于客户应答的识别能力。在产品开发过程中,算法的开发流程大致如下:

下面我们详细描述每个环节的开发过程与内容。

一、需求定义

主要角色:产品经理、AI训练师

在做算法的开发之前,需要走做产品需求定义。对话机器人中,使用到算法的地方,主要在于语义识别的部分。主要包括:意图识别、实体识别、相似度计算,等等。这里以意图识别为例,做相应的介绍与阐述。

在应用于业务场景的对话机器人当中,通常需要基于该场景,做多个意图的识别。通常来说,意图的数量少则几个,多则几十个不等。而具体需要做多少意图的识别,以及每个意图的定义是什么,意图与意图之间的边界是什么,需要做开发前的需求定义。

一般需求定义是由产品经理或AI训练师来做的。意图是根据业务场景进行切分的,而产品经理作为对话机器人的设计者,本身应对业务场景有深刻的了解。同时,不同于传统的互联网产品经理多是对于产品功能的设计,在对话机器人的【对话】层面的设计,更是体现AI产品经理价值与思路的方面。

所以产品经理需要基于业务,做每个意图的定义,需做到明确、清晰、可验证。这对后续的算法开发至关重要,是开发的方向、验收的标准、产品的价值体现。

除了产品经理,也可由AI训练师做算法需求定义。一般而言,AI训练师的职责是基于客户的对话场景,做对话流程设计、对话知识构建与优化的,AI训练师应是业务场景专家,所以需要做算法需求的定义。

AI训练师与产品经理的区别在于,对话机器人的功能层面是有产品经理负责,而AI训练师主要着重于基于对话场景的对话设计。产品经理也需对AI训练师的工作内容熟悉,以相应地设计可构造优秀对话设计的产品功能。是对话机器人的整体owner。

二、模型预研

主要角色:算法工程师

明确了产品需求,在产品经理/AI训练师做完算法需求的宣讲之后,算法工程师就要根据需求,进行算法模型的预研。具体来说,就是要判断目前积累的数据和沉淀的算法,是否可以达到业务的需求。

预研的目的主要有2点:

  1. 算法是目前业内较为优秀的;
  2. 算法是可贴合业务需求的。

算法工程师通常会在前期做技术相关的调研,了解目前业内主流算法,包括已被验证的较为优秀的模型,以保证在技术层面至少在业内是持平和领先的。

同时,不同业务要求的算法能力不同。算法工程师需要根据业务特性,选型相应的模型,多备几套方案,以供模型训练时使用。

模型预研的结果,通常需要做一个小型的汇报。目的是同步模型预期选型,让产品经理、AI训练师了解不同的算法模型的优劣势,以及后优化维护的不同特点。同时也收集各方的意见,做最终的模型选择。

模型预研的目的主要是降低风险,即降低模型选错的风险。因为模型是一个从搭建开始,通过数据不断地训练优化的过程。如果模型选型错误,有可能出现后续不管数据如何训练,都无法解决业务问题的情况。所以模型预研对于后续的模型训练,有着重要的意义。

三、数据准备与标注

主要角色:数据标注师、算法工程师

当算法需求确定后,就需要根据定义的需求,进行数据标注。这里通常指的是有监督学习的算法数据标注。数据标注的过程主要包括:数据准备、数据清洗、标注规范制定、试标数据、标注答疑、正式标注。

1)数据准备

在算法团队中,有专门的数据分析员,做相应的对话数据抽取。抽取的数据是数据标注的来源。数据抽取需要根据以下原则:

  • 抽取的数据需包含在行业中具有代表性的数据;如行业标杆客户等。
  • 抽取的数据需尽可能覆盖行业中多样的数据;让数据分布更加均匀,提供覆盖面广的数据分布。

2)数据清洗

抽取了数据之后,数据的结构、质量不一,需要进行数据清洗。通常会筛除吊无效的、质量不佳的数据。数据清洗可能运用的技术手段有:关键词、实体识别、无监督学习等等。目的是可清洗出质量较好的数据以供标注。

3)标注规范制定

在需求定义时,通常会给每个意图做定义,定义会明确意图A是指什么,意图B时指什么。哪些情况属于意图A,哪些情况属于意图B。标注团队首先需要明确每个意图的定义,作为标注的指南。

产品经理/AI训练师会给出一份数据标注的规范。这份规范需要标注团队leader与他们做深入的沟通与理解,以求理解透彻需求,并可实际落地至标注工作中,确保需求落地不偏差。

4)试标数据

制定了标注规范,同时拿到了已清洗的抽取数据后,就进入了试标数据环节。为什么不直接正式标注呢?因为通常标注都是大批量的,若出现标注规范理解不到位,或者标注规范本身指定得有问题,那返工将是很大的人力物力损失。

为了降低这样的风险,通常会在前期先拿一小部分数据进行试标。试标的量根据情况而定,通常控制在1-2天时间内,并需收集标注反馈,注明问题与疑惑。

试标结束后,需要召集标注同学、产品经理、AI训练师、算法工程师,召开问题同步讨论会。会议的目的是确定试标的问题的解决方案,各方达成共识。方可进入下一步骤。

5)正式标注

按照确定的且达成共识的标注规范,标注团队就进入了正式标注阶段。通常标注的数量较多,需要在标注团队中分配任务。

标注完成后,需要有标注审核员进行审核。通常为抽样审核。若不通过需打回重标。

标注结束后,须由标注团队Leader汇总标注结果,提交给算法工程师。

四、模型构建

主要角色:算法工程师

在接收到标注团队的标注数据后,算法工程师就需要拿这些数据,让模型运转起来。模型构建包括3个环节:模型设计、特征工程、模型训练。

1)模型设计

算法工程师会根据业务的需要,以及算法积累,进行模型设计。在这个环节中,产品经理应与算法工程师确定,在当前业务下,这个模型该不该做,我们有没有能力做这个模型。在这个阶段中,最重要的是定义模型目标变量。不同的目标变量,决定了这个模型应用的场景,以及能达到的业务预期。

2)特征工程

选型之后,算法工程师会进行特征工程的工作。整个模型构建可以理解为:从样本数据中提取可以很好描述数据的特征,再利用它们建立出对未知数据有优先预测能力的模型。

所以在模型构建中,特征工程师非常重要的部分。数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

而现有的技术能力,如神经网络等算法能力,可通过模型的自主提取特征能力,而取代人工提取特征的过程。方式的不同,在效果上也可能比算法工程师人工提取特征,可能有提高。需具体业务情况具体看。

3)模型训练

算法工程师会根据数据在不同模型的训练结果,做调参工作,以确保模型最终的效果是可满足业务的要求,并可持续优化的。

算法工程师在训练模型时使用的数据为【训练集】,该数据集合需不能与最后模型测试使用的【测试集】重合/有交集,以确保后续测试是客观、不失真的。

五、模型测试

主要角色:测试工程师

模型构建完成后,就需要算法测试工程师介入测试模型的效果。对于算法的测试,衡量的基础指标主要是:P值(精准率)、R值(召回率)F1值,分别衡量模型预测的准确性、覆盖面和二者的综合能力。

当然,还可以根据业务的不同,有其他的测试验收指标,这边不赘述。

测试的过程,一般会使用脚本自动化测试,以覆盖数据量庞大的测试内容,保证最短时间内测可能多的内容。

测试完成后,测试工程师需出具测试报告。报告的接收方为:算法工程师、产品经理、AI训练师。需确认报告内容。同时,产品经理/AI训练师需评估,模型的效果是否符合预期。若否,则需算法模型重新训练调优,直至达到上线标准为止。

六、模型验证

主要角色:产品经理、AI训练师

模型验证指的是模型上线后的数据观察,以验证模型效果,通常由产品经理/AI训练师,做上线后的跟踪与观察。在上线之后,一般会做算法相关的数据统计,每天实时监测数据的情况。

若有数据异常或不符合预期,通常需要做以下处理。

1)告知算法团队,做数据反馈收集与模型优化

算法的优化过程是较为缓慢的,涉及的流程包括数据重新标注、模型重新训练、重新测试/调优等等。通常周期以“周”为单位。

2)通过规则矫正

业务的问题总是需要及时地处理与反馈的,所以需要一些辅助措施,来响应响应的需求。一旦发现算法模型效果不佳,需要产品经理/AI训练师通过规则矫正的方式,优先做处理。当后续算法优化更新之后,再做原有规则的恢复。

七、结语

对话机器人算法的开发过程,是一个闭环的过程。通过数据的训练、测试、调优,达成相应的业务目标。随着数据的不断反馈,算法模型的效果则会越来越符合业务的需求,是一个循序渐进的过程。本篇文章大致介绍了算法开发的整个流程与脉络,希望可以帮到你。

 

作者:咖喱鱼丸,5年PM经验,2年AI PM经验

本文由 @咖喱鱼蛋egg 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 讲了一大堆,没看到 跟对话机器人有啥关系,所有AI算法产品 都是这么出来的

    来自亚太地区 回复
  2. 这个应该不只是对话机器人算法吧?所有用到深度学习的模型都是这个模式

    来自辽宁 回复
    1. 是的,以此为例

      回复
专题
14816人已学习13篇文章
本专题的文章分享了WMS系统设计指南。
专题
54052人已学习14篇文章
标题党,又爱又恨。但是如果你是运营,连标题都起不好,那就呵呵哒了。
专题
12286人已学习12篇文章
随着现代科技的不断发展进步,智慧城市的建设也在不断发展,本专题的文章分享了智慧城市设计指南。
专题
13208人已学习12篇文章
本专题的文章分享了系统首页设计指南。
专题
17731人已学习14篇文章
本专题的文章分享了如何设计B端SaaS产品及B端SaaS产品方法论。
专题
55598人已学习12篇文章
据说70%的问题都是沟通问题,沟通能力对产品经理太太太重要了。