追一科技首席科学家杨振宇:对话机器人里不能「耳闻目览」却又「无所不在」的 AI

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: 对话机器人是「怎样炼成的」



相比于语音和图像,自然语言是一个有「更多需求」和「更少标准答案」的领域。扎根自然语言的公司通常也不是从技术和方法出发,而是选择一个具体的需求,然后用所有可能的方法解决它。追一就是这样的一家公司,它瞄准的是「对话机器人」这个领域,把问题分类、分解、逐个建立准确高效的机器人,再有序集成起来。三月,机器之心有幸在深圳追一科技总部对首席科学家杨振宇进行了采访,我们仔细聊了聊「对话机器人是怎样炼成的」,以及在他眼里,深度学习与自然语言最好的结合方式是怎样的。


2351ddadc466e5326364fe78cdd617b2.jpg


对话机器人需要解决的问题是如何分类的?


对话机器人是一个相对比较复杂的系统,由许多个模块组成。其中最核心的模块就是语义理解,理解用户想要表达什么意思。而在利用深度学习处理商业对话机器人的语义理解问题方面,追一是国内最早的一家。


根据服务类型,对话机器人可以分为 FAQ 咨询、资料查询、任务型和闲聊四种,涉及的自然语言处理问题也各不相同。


a0650a2d36fb463594d2566b10d65ba8.jpg



对于 FAQ 咨询来说,模块的输出对应知识库里的一个知识点。解决问答就像解决一个大型分类问题,机器人要将用户的需求对应到知识库里的某一个答案。


知识库里的知识点数量少则几百个,多则上万个。而根据知识库大小不同,适用的模型结构也会有所不同。例如,银行类客户通常有多个复杂的业务线,知识库规模也是数以万计,直接对几万个知识点进行分类是难以取得高准确率的,因此,机器人会采用分层处理的方法,先判定问题与哪一个大领域相关,再进行详细的知识点分类。


资料查询类对话需要从客户的输入里判定两件事:意图和实体。比如「A 公司的市盈率是多少?」这个问句里,就包含了意图「市盈率」和实体「A 公司」。成功获得这两个信息后,机器人会去一个结构化的数据库里做查询。得到答案后,按照一个预定义的格式化模板填充后返回给客户。


资料查询的一个难点是,用户在连续发问时,不会每次都重复自己的意图和实体,比如用户会在询问「A 公司的市盈率是多少?」之后,追问说,「那 B 公司的呢?」或者「那市净率呢?」。这时,系统就需要通过上下文管理,对意图和实体这些要素进行继承或切换。用户的提问到来之后,首先进行判断:用户在这一句中是否提供了某一要素?如果没有,则尝试从前文追溯继承;如果有,再判断用户是否进行了意图(实体)转移,如果是,则需要进行对应更新。


另一个难点是,用户可能不会直接说出实体全称,无法进行精准的、基于规则的匹配。因此,机器人需要结合特定用户的历史记录和用户群体的统计信息,通过学习的方法计算词与词之间转移的概率,然后进行模糊匹配。


任务型对话是当下比较流行的一种交互形式,机器人试图以对话的形式来执行订机票、查账单、买理财等任务。任务型和资料查询类对话有相似之处:它们同样要从用户处获得两类信息:意图和「元素」。区别在于,确定意图后,任务型机器人需要主导对话:它要理清进行特定任务所必要的元素有哪些,并以对话的形式确保用户提供了所有元素。以订机票举例,用户说「帮我订明天北京到上海的机票」,那么机器人在明确了任务是「订机票」之后,就要理清,用户已经提供的元素有时间、出发地、到达地,尚未提供的元素有舱位偏好、时间偏好、特定机场偏好等。只有获得了全部所需元素,机器人才能「执行任务」。


最后一类是闲聊,与陪护机器人的闲聊功能不同,穿插在查询、咨询问答或任务交互之间的闲聊,需要结合上下文一起识别。有时,一句话单独看是闲聊的意图,但结合上下文一起看则属于查询、咨询问答或任务交互的一部分。这种场景下的闲聊不仅要识别准,而且要保证上下文对话的流畅性,也非常有挑战。


8eed71ba7db8e82515aa3a8a7c2ac43b.jpg


一个对话机器人系统通常由哪些模块组成?


如前所述,系统是由 FAQ 咨询、资料查询、任务型和闲聊等不同类型的机器人组成的。除此之外,还有一个中控模块,是系统的管理控制中枢。


中控负责依据用户当前问句和历史会话记录,初步判断当前问题应该由哪个机器人来回答,然后下发给一个或多个下游机器人。下游机器人处理后,将答案以及对应的置信度返回给中控,中控根据下游返回的信息进行决策后,将最合适的响应返回给用户。


956143ab5165da838a6c67eec2253ba3.jpg

对话机器人上线后效果如何持续运营优化?


对话机器人可能发生的误判有两种不同形式。


一种是「系统知道自己可能犯错」:某一请求虽然分配给了特定机器人,但是机器人给出的最佳回答的置信度仍然很低,换言之,该回答能够满足用户请求的可能性很小。此时,中控会进行重新判断:其他机器人是否有置信度更高的回答?如果仍然无法找到置信度足够高的答案,系统会启动拒绝识别机制,即,系统判断自己无法回答这一问题,返回给用户一个通用话术,如「十分抱歉,您的问题我暂时回答不了」,然后记录下问题,定期推送给机器人运营人员通过数据标注、知识库扩充等手段进行迭代优化。


另一种则是「系统很自信,但还是回答错了」。这类错误要通过分析用户的反馈来发现,比如用户选择点「踩」或者继续提问,都意味着他们的需求可能没有得到满足。系统会结合分析结果把这种疑似错误的回答挑出来,形成一个叫做「质检」的任务,交给客户的质检人员判断并标注,补充进训练集进行迭代优化。与此同时,客户也拥有能够进行即时调整的人工干预工具:如果客户需要立刻对某个错误答案进行调整时,可以利用这个工具找到导致错误答案的影响因素,通过对这些影响因素的调整来达到即时生效的干预效果。


对于机器人的优化来说,极其重要的一点是在系统层面有完整的反馈学习机制,能够让机器人收集可能的错误情景,以及特定场景下的正确回答信号,然后利用这些数据和信号建立正反馈机制。


总体来说,通过初始化教育和持续运营优化,机器人一般能够达到综合准确率 95% 的效果,这样就会获得比较好的对话体验了。


自然语言处理的业界与学界:鸿沟与启发


对于学界而言,最好的研究是用新方法解决新问题,其次是用新方法解决老问题,最次是用老方法解决老问题。而工业界的衡量标准则截然不同,工业界的出发点是以需求为核心,无论什么方法,能落地提供极致体验的就是好方法。

 

举个例子,业界的系统是需要给客户提供快速干预工具的:一个无法调整的、干预不了的系统是不合格的。出于对企业形象的重视,客户需要能够监控机器的效果、需要在发现问题之后能够实时干预、需要定期检查用户反馈,让反馈数据作为新的监督信号进一步优化模型。业界搭建的优秀系统要有自适应的闭环和流动性,这是学界很少会考虑的事情。


另外,业界也需要更多地考虑系统上线时的资源限制问题。比如在自然语言领域里一个典型的测试环境,斯坦福的 SQuAD 数据集上,现在学界里效果最好的做法是把数十个不同的模型集成在一起,然而这种做法是很难在工业界大规模应用的。工业界要考虑成本、客户在云端的算力、用户从提问到得到反馈的时间等种种限制,集成少数几个模型也许是可行的,但是集成几十个高代价的模型是不切实际的。

 

当然,业界也在持续关注学界的新方法,希望得到方法论上的启示。


例如,深度强化学习的飞速发展也会让我们关注:能否依靠数据驱动,端到端地训练具有工业应用价值的任务型机器人?能否在有了足够多数据之后,把对话信息看做状态,用深度强化学习的方法学习一个对话策略出来呢?

 

另外,阅读理解领域的发展也让我们看到了不是基于「知识库」而是基于「文档库」进行回答的可能性。例如,一个特定问题的答案可能在某个文档里,如何构建一个深度学习系统,根据某一问题,定位到特定的文档,再从文档中把信息提炼出来用以回答这个问题?


元启发式优化算法是否能与深度学习模型结合?


b5a43127709dcd1aa365631760afb736.jpg



图片来自:http://blog.otoro.net/2015/01/27/neuroevolution-algorithms/


我个人的研究背景是计算智能(Computational Intelligence),在 2015 年之前的近 10 年里,主要关注如何应用计算智能中的元启发式优化算法求解大规模复杂优化问题。这是一类基础性的研究难题,长期受到关注,比如我大约 10 年前的一个关于演化优化算法的工作,到现在已经被引用 500 多次了,而且现在还在逐渐增加,偶尔还会收到同行提出算法代码需求的邮件。随着算力的持续提升,也许元启发式算法在不久的将来会成为人工智能领域新的宠儿,我个人也非常关注它与深度学习结合的可能。


元启发式算法的最大的优点在于不要求目标函数可导,通用性强。现在,为了求解方便,建模时往往会对实际应用的真实目标做一些简化,使得该目标函数可导,以便可以用现成的梯度下降算法求解。然而这往往不是最优方案:一方面建模的简化一般会引入求解效果上限的损失;另一方面梯度下降算法不能保证获得全局最优解,往往只会收敛到一个极值。


元启发式优化算法是一个启发式框架,一般是设计一些通用的、对问题的依赖没有那么强的启发式策略,使算法更容易收敛到全局最优解。元启发式优化算法的缺点在于算法对计算能力的要求比较高。这主要是因为梯度下降算法有明确方向,只要朝着这一个方向下降就可以了,而元启发式算法,如其中的「主流分支演化算法」,用的方法则是试错法(trial-and-error),需要在空间里进行大量的采样、评估,再决策接下来去何处继续采样更有获得全局最优解的潜力。这个过程是非常消耗算力的。


现在,学界的关注重点是能否用局部优化的思想减少采样点的数量,以及能否提高采样、评估的并行化执行能力。


此外,元启发式算法还有一个梯度下降无论如何也做不到的优势,就是有希望进行结构的优化。如今神经网络的结构是全部由人来设计的,未必或者极有可能不是最优的。利用元启发式算法能够让机器在卷积层、循环层、全连接层等不同开放组合结构构成的空间中进行搜索,组装出一个针对特定问题效果最好的结构。这个方向一般叫做 Neuroevolution,正逐渐引起越来越多的学界和业界的关注。


应用深度学习带来了哪些不同?


在中控的排序模型里,深度学习模型能够提供含有大量信息的强特征,让体量更小、更简单的模型就能获得同等,甚至更优的效果。


在前深度学习时代,传统的搜索推荐经常需要上千万、上亿的特征,这是因为,在没有强大的特征的情况下,只能把各种组合人为构造出来,然后用一个浅层的大模型去学习。然而深度学习模型学习出的特征本身已经包含了巨大的信息量,因此繁琐的人工特征工程变得没那么重要了,这对技术的商业化非常有利。


这种信息量是通过深度学习在面对大规模原始数据的抽象、非线性学习能力而获得的。例如,通过抓取大量金融行业的相关文本,进行统一的文本语义相似度学习建模和训练,就能得到一个强大的文本特征提取模型。这个模型可以用于证券领域、基金领域、银行服务领域等等各个行业系统中。


此外,深度学习也可以通过「多任务学习」(multi-task learning)的方式整合不同类型的问答数据,极大简化了启动阶段客户标注数据的工作。


知识点的构建阶段需要客户提供有标注的训练数据:每一个知识点(标准答案),都需要客户「手写」用户标准提问范式和可能的变体。构建这样的标准问答集是极其耗费时间的,说服客户进行标注也是有一定难度的,然而如果客户之前采用过人工客服,有人工客服日志,我们就可以结合人工客服日志,使用多任务学习大量削减需要人工完成的标注数据集创建工作。


追一一直偏重实用、偏重落地,我们不仅仅钻研最前沿的技术,也致力于优化落地效果,把自适应、有闭环正反馈的系统交付给用户。令人自豪的是,我们有一批能够把问题想清楚的人,正在用系统工程的思维为客户构建具有极致体验的对话机器人服务。



*****


我们的对话机器人,不追求「一个 AI 模型端到端解决全部问题」,而是在一个完整系统的每个模块里、各个维度里,都用 AI 技术帮助提升效率、优化体验。这种优化可能帮助主系统提取了更强的特征,可能在冷启动阶段帮助客户简化了痛苦的数据标注过程,可能在运转过程里帮助分析舆情、找到客户产品设计的不合理之处。它们并不显山露水,却无处不在。


这也是追一希望向用户传达的理念:真正有「AI 意味」的系统,是「草色遥看近却无」的整体系统,而 AI 的角色,是「润物细无声」地、持续地优化其中的每一个细节

相关实践学习
阿里巴巴智能语音交互技术与应用
智能语音交互,是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等。 本课程主要讲解智能语音相关技术,包括语音识别、人机交互、语音合成等。  
相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
未来的守护神:AI驱动的网络安全之盾,如何用智慧的光芒驱散网络黑暗势力?揭秘高科技防御系统背后的惊天秘密!
【10月更文挑战第3天】随着网络技术的发展,网络安全问题日益严峻,传统防御手段已显不足。本文探讨了构建AI驱动的自适应网络安全防御系统的必要性及其关键环节:数据采集、行为分析、威胁识别、响应决策和执行。通过Python库(如scapy、scikit-learn和TensorFlow)的应用实例,展示了如何利用AI技术提升网络安全防护水平。这种系统能够实时监控、智能分析并自动化响应,显著提高防护效率与准确性,为数字世界提供更强大的安全保障。
57 2
|
13天前
|
人工智能
AI科学家太多,谁靠谱一试便知!普林斯顿新基准CORE-Bench:最强模型仅有21%准确率
【10月更文挑战第21天】普林斯顿大学研究人员提出了CORE-Bench,一个基于计算可重复性的AI代理基准,涵盖计算机科学、社会科学和医学领域的270个任务。该基准旨在评估AI代理在科学研究中的准确性,具有多样性、难度级别和现实相关性等特点,有助于推动AI代理的发展并提高计算可重复性。
35 4
|
14天前
|
机器学习/深度学习 人工智能 自动驾驶
2024.10|AI/大模型在机器人/自动驾驶/智能驾舱领域的最新应用和深度洞察
本文介绍了AI和大模型在机器人、自动驾驶和智能座舱领域的最新应用和技术进展。涵盖多模态大语言模型在机器人控制中的应用、移动机器人(AMRs)的规模化部署、协作机器人的智能与安全性提升、AR/VR技术在机器人培训中的应用、数字孪生技术的优化作用、Rust语言在机器人编程中的崛起,以及大模型在自动驾驶中的核心地位、端到端自动驾驶解决方案、全球自动驾驶的前沿进展、智能座舱的核心技术演变和未来发展趋势。
40 2
|
20天前
|
机器学习/深度学习 传感器 人工智能
马斯克的AI机器人可以拯救一个陷入困境的教育系统吗?
马斯克的AI机器人可以拯救一个陷入困境的教育系统吗?
|
30天前
|
人工智能 自然语言处理
召唤100多位学者打分,斯坦福新研究:AI科学家创新确实强
【10月更文挑战第6天】斯坦福大学最新研究评估了大型语言模型(LLMs)在生成新颖研究想法方面的能力,通过100多位NLP专家盲评LLMs与人类研究人员提出的想法。结果显示,LLMs在新颖性方面超越人类(p < 0.05),但在可行性上略逊一筹。研究揭示了LLMs作为科研工具的潜力与挑战,并提出了进一步验证其实际效果的设计。论文详见:https://arxiv.org/abs/2409.04109。
37 6
|
28天前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
36 2
|
1月前
|
机器学习/深度学习 人工智能 监控
AI与未来医疗:重塑健康产业的双刃剑随着科技的迅猛发展,人工智能(AI)正以前所未有的速度融入各行各业,其中医疗领域作为关系到人类生命健康的重要行业,自然也成为AI应用的焦点之一。本文将探讨AI在未来医疗中的潜力与挑战,分析其对健康产业可能带来的革命性变化。
在医疗领域,人工智能不仅仅是一种技术革新,更是一场关乎生死存亡的革命。从诊断到治疗,从后台数据分析到前端临床应用,AI正在全方位地改变传统医疗模式。然而,任何技术的发展都有其两面性,AI也不例外。本文通过深入分析,揭示AI在医疗领域的巨大潜力及其潜在风险,帮助读者更好地理解这一前沿技术对未来健康产业的影响。
|
27天前
|
机器学习/深度学习 存储 人工智能
2024年诺贝尔奖:AI科学家的辉煌时刻 | AI大咖说
在今年的诺贝尔物理学奖和化学奖颁奖典礼上,AI科学家分别摘得了这两项殊荣,这无疑为AI技术的发展和应用注入了新的动力【10月更文挑战第5天】
61 0
|
3月前
|
人工智能 运维 自然语言处理
从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
【8月更文挑战第10天】从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
|
2月前
|
人工智能 数据处理
Nature:AI让抄袭问题更加复杂,科学家该如何应对?
【9月更文挑战第16天】《自然》杂志一篇文章指出,AI在科研领域的应用日益增长,带来了加速数据处理、提升计算效率等益处,同时也引发了对科学标准、数据偏见及研究诚信的挑战。一项针对1600多名研究人员的调查显示,超半数认为未来十年AI将成为其研究领域不可或缺的工具。AI能够显著提升科研效率,但也可能增加对模式识别的依赖,加剧数据偏见,并引发研究不可重复性等问题。尤其是大型语言模型如ChatGPT,虽有助于改进论文语法和翻译,但也可能传播错误信息。此外,部分科学家面临计算资源和高质量数据不足等使用障碍。
38 3