智能聊天机器人用到的技术 (自动聊天机器人如何实现)

智能聊天机器人后端怎么做,聊天机器人的原理和方法

文|多芬奇

编辑|多芬奇

智能聊天机器人后端怎么做,聊天机器人的原理和方法

已经提出并设计了会话代理,以通过基于计算机的通信、语言处理、解释和对话交换方式实现与人的无缝交互。

这些代理已经从其第一个化身、由约瑟夫·魏岑鲍姆开发的开创性项目 “ELIZA” 大幅发展。从那以后,会话代理利用自然语言处理 (NLP)、状态机引擎和模式匹配来与人类用户进行有目的的对话。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

几个里程碑标志着会话机器人的技术发展。在 80 年代末,罗洛开发了“胡言乱语”,一个主要使用上下文模式匹配来识别最佳答案的自学习代理(仅在 1997 年晚些时候通过互联网访问)。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

后来,在 1994 年,术语聊天机器人首次出现,迈克尔莫尔丁用它来描述会话程序。如今,这个术语已缩写为聊天机器人,每天都用它来描述这些技术。在 20 世纪 90 年代,基于人工智能的进步,会话代理技术取得了相当大的进步。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

在 2010 年代,聊天机器人技术开始在学术领域之外,在工业和主流应用中得到采用。随着 Siri 的发布,Apple 在 2011 年率先将具有对话功能的个人助理商业化。最初基于 Active 平台 (Guzzoni 2008 ),它帮助 iPhone 用户识别书面和口头语言。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

其他主要科技公司也很快发布了他们的虚拟助手。适用于 Android 和 iOS 设备的 Google Now 出现于 2012 年,从一个简单的推荐引擎演变为能够与用户对话的个人助理(类似于 Siri)。微软随后推出了 Cortana,于 2014 年发布。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

这些主要公司的虚拟助手的广泛接受及其基于异步文本交互的使用刺激了即时通讯应用程序发布 API 以供第三方开发聊天机器人(即 Telegram、Facebook Messenger 和 WhatsApp),除了那些主要的通过他们的网页致力于客户服务。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

随时随地可用性、即时响应、保密性、社会接受度和大规模可扩展性推动了聊天机器人的日益普及。利用这些方面,聊天机器人已被证明在电子商务、教育等广泛领域有效,尤其是在激励方面和支持。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

最近显著的技术进步正在推动聊天机器人的发展,使用基于关键字的文本识别或静态有限状态机 (FSM) 来解释和编排用户交互(今天仍然代表着重要的市场份额),到合并 NLP 的混合解决方案(用于文本识别)和 FSM(用于管理意图和用户故事)。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

然而,仅基于 FSM 的解决方案仍然存在重大局限性,例如个性化不足、缺乏实时监控、报告和定制、缺乏集成聊天机器人社区的机制、有限的知识共享能力以及无法部署多同一框架内的域活动。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

这些限制与大多数现有方法中提出的主要刚性架构有关。这些依赖于转换为聊天机器人逻辑的非常具体的场景,每次出现新场景时都必须重新编程。这增加了修改聊天机器人行为的成本,并阻止管理员使其适应特定情况。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

通过聊天机器人交互收集的数据的敏感性使得有必要将个人数据的控制权转移给用户自己,并在此过程中赋予他们权力。许多聊天机器人系统都使用人工智能来提高交互的准确性和用户体验。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

示例包括使用 NLP 生成异步后续问题,或应用神经网络在聊天机器人对话中执行情绪检测(Huddar 等人,2021 年)。然而,这些 AI 技术更多地关注响应的生成和对话上下文的监控,而没有考虑聊天机器人的自主、分散和协作性质。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

然而,在过去十年中,将聊天机器人与多代理系统 (MAS) 模型和技术相结合的趋势试图减轻上述限制。特别强调社交和协作维度(例如,众包、用户配置文件和个性化)在与用户交互中必不可少的应用程序领域

这些功能与促进行为改变的医疗保健等领域特别相关,在这些领域可以找到桥接聊天机器人和 MAS 的大多数研究/贡献。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

为了更好地了解采用基于代理的方法的不同聊天机器人技术解决方案的当前全景,这项工作提出了系统文献综述 (SLR),调查应用领域、最终用户、要求、目标、技术准备水平、设计、优点、局限性和文献中找到的解决方案的未来挑战。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

目标是为研究人员、软件工程师、创新经理和其他从业者提供一个工具,以调查当前的技术水平并讨论开放的挑战。

本节描述了结构化研究问题的定义和描述搜索策略、纳入和排除标准、偏见和分歧解决以及质量标准的审查协议的制定。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

研究问题

如节中介绍的,研究界近年来提出了基于多代理的聊天机器人的使用,用于不同的领域、利益相关者和目的。

因此,主要研究问题可以用以下这些术语进行上下文化:基于代理的聊天机器人的特征、设想和使用方式如何

智能聊天机器人后端怎么做,聊天机器人的原理和方法

为了更好地调查此类问题,我们遵循(Galster 等人 2014 年; Kitchenham 等人2010 年)引入的目标-问题-度量 (GQM) 方法。

这种方法已被用于计算机科学相关领域的其他几项研究。例如,用于维护的增强现实、用于教育的虚拟现实、可解释的代理和机器人、代理和区块链。以及其他领域,例如:旅游。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

本研究适用于“智能”技术和研究,特别是历年的科学兴趣、应用领域、利益相关者、需求、目标、技术、优势、局限、对策和未来研究. 通过提出针对这些方面的问题,

提供调查和分析以支持从业者(提供对当前工作的综合理解)、新技术先驱(了解已经尝试过的内容以及未来可能的目标)和工业研究人员(带来研究想法进入现实世界的市场)。因此,我们设计了一组十个结构化研究问题。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

1:为了了解基于代理的聊天机器人的人口演变,我们询问:研究工作在时间和地理上的分布情况如何?

2:为了引出基于代理的聊天机器人研究重点关注的领域,我们询问:哪些应用领域采用了基于代理的聊天机器人?

智能聊天机器人后端怎么做,聊天机器人的原理和方法

3:为了阐明谁是基于代理的聊天机器人的利益相关者,我们询问:谁是依赖代理范式的聊天机器人系统的用户?

4:为了正式确定给定利益相关者的要求,我们询问:使用基于代理的聊天机器人背后的要求是什么?

智能聊天机器人后端怎么做,聊天机器人的原理和方法

5:为了探索基于代理的聊天机器人试图实现的研究目标,我们询问:为基于代理的聊天机器人设定的目标是什么?

6 :分为四个子问题:

A):提出了哪些聊天机器人设计 (例如,范例)和 实现?

B):提议的解决方案中采用了哪些技术?

C):以前使用过哪些技术?

D):初步研究中提出的解决方案的技术就绪水平 (欧盟委员会2017 年)是多少?

智能聊天机器人后端怎么做,聊天机器人的原理和方法

7:为了探索现有解决方案的好处,我们询问:采用基于代理的聊天机器人的优势是什么?

8:为了确定现有解决方案的缺点,我们询问:使用基于代理的聊天机器人的局限性是什么?

智能聊天机器人后端怎么做,聊天机器人的原理和方法

9:为了解作者为实现目标和克服局限性而采取的措施,我们询问:针对 SQR8 中确定的局限性提出的解决方案是什么?

10:为了促进未来目标的建立,初步研究设想的基于聊天机器人的解决方案的未来挑战是什么?

智能聊天机器人后端怎么做,聊天机器人的原理和方法

人口统计

参考问题1,下图显示了针对基于代理的聊天机器人的论文的时间和地理分布。报告了主要研究在为本研究选择的时间窗口内的分布。近年来可以观察到轻微的上升趋势。尽管如此,基于多代理的聊天机器人的研究领域似乎仍然是一个小众领域。

事实上,从下图可以看出,第一作者所在机构的地理定位(按国家/地区组织)与多智能体系统领域的研究小组分布有关(即以美国和欧洲为中心)。最后,通过对每个大陆的论文进行分组,进一步了解选定的主要研究。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

应用领域

关于问题2,我们在图 5中以图形方式表示了主要研究的选定应用领域。值得注意的是,应用领域的全景非常广泛和多样化。例如,它的范围从教育到医疗保健和融资。然而,个性化辅助目的似乎吸引了跨领域的大部分努力。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

目标用户类别

关于问题3,下图显示了所选主要研究确定的不同预期用户类别的分布,这是应用领域的直接结果。一方面,很明显,大多数文献都是在教育背景下运作的,以学生、导师或教授为主要用户。

另一方面,尽管是少数,但相当多的研究仅仅是概念性的或一般性的,并没有解决特定的用例。总体而言,主要研究的大多数 (涉及技术或科学概念,而57.89 %57.89%23.69 %23.69%18.42 %18.42%的所选论文包含经过广泛测试的工件。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

目标用户类别

关于问题4,我们引出了初步研究表达的要求。我们可以在图9中看到这些要求捕获的主要特征的演变 。我们将需求分类如下:

功能要求:影响平台行为的要求;

架构要求:对系统或平台后端的要求;

前端要求:适用于平台前端的要求;

下图描绘了表征主要研究的需求类型的分布。详尽论文的作者主要关注功能 (41.7%) 和架构 (40.0%) 需求。有关前端的要求仅在 18.3% 的研究中明确形式化。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

要求

调查SRQ5,我们收集并聚类了主要研究的目标,如图 10所示。大多数论文解决了基于 MAS 的聊天机器人的理论基础(即,九项研究主要关注当前最先进或非具体系统的概念方面)。其中定义了聊天机器人的“社交智能”概念,并将其与当前技术开发社交聊天机器人的能力相关联。此外,定义了一种评估过程的方法来评估聊天机器人系统的“自然性”

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

技术表征

在研究SRQ6时,我们根据技术准备程度(欧盟委员会2017 年)对主要研究进行了分类(见表 6)。反过来,我们分析了主要研究中采用的技术、体系结构和设计原则。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

评估 TRL 是衡量技术/系统成熟度的一种有价值的方法。该量表最初由美国国家航空航天局 设计,如今以各种形式用于许多领域。在这种情况下,我们依赖于欧盟委员会在研究和创新项目((欧盟委员会2017 年))背景下提供的定义。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

主要研究的优势

关于问题7 ,下表列出了主要研究的优势 。在所有优势中,22%的优势被归类为Y,表示优势被显式定义和评估,21%被归类为P,表示信息被隐式定义,57%被归类为N,表示信息不可推断。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

根据 YPN 分类的强度评估概述。特别是,Y = 信息已明确定义/评估;P = 信息是隐含的/明示的;N = 信息的真实性无法推断

优势的定性评估(YPN 标准)。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

S1:知识库动态更新;S2:对不同领域的适应性;S3:Profiling(根据用户行为);S4:个性化(根据用户输入);S5:组件的可重用性;S6:可扩展性;S7:性能

智能聊天机器人后端怎么做,聊天机器人的原理和方法

初步研究的局限性和解决方案

参考问题8和9,分析了研究中陈述的局限性及其提出的解决方案。表 8列出了作者承认的所有局限性以及他们提出的解决方案。在指出局限性的 10 篇论文中,

只有 5 篇提出了解决这些局限性的解决方案。作为一种不幸的习惯,局限性常常被忽视。然而,在那些提到限制的人中,可以确定两个主要类别:架构和功能。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

初步研究中陈述的未来挑战

关于问题10给出的未来挑战的异质性观点是完全不同的。但是,一般来说,未来的挑战可以分为三类:

与系统相关的挑战涉及扩展现有的功能。

与功能相关的挑战是指要实现的新功能。

与用户相关的挑战是指收集用户体验

智能聊天机器人后端怎么做,聊天机器人的原理和方法

智能聊天机器人后端怎么做,聊天机器人的原理和方法

对这三个类别的研究进行了分析。图 16显示了所有研究中三个类别的细分。57.9% 的大多数研究希望增强其当前系统的稳定性或扩展已实现的功能。看到提高系统组件的稳定性和与其他 FIPA 的互操作性脚注25兼容的 MAS 环境作为未来的目标,而希望调整其架构以允许在多个服务器之间进行分布式计算以提高性能并处理从一个服务器实例到另一个服务器实例的代理迁移。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

表9中列出了与系统相关的挑战的完整列表 。在 28.9% 的研究中,大约三分之一的研究正在努力为现有系统添加新功能。

尝试实施更多测试指标来测试聊天机器人系统的更多方面,以及寻求通过图形用户界面扩展其聊天机器人,并通过语音识别和解释扩展其用户输入功能。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

图中列出了所有与功能相关的未来挑战 。13.2% 的未来挑战集中在获取用户反馈上。正在寻求在学生的帮助下测试他们的辅导系统,并根据收集到的反馈进一步改进系统,并且正在对患者进行两项试点研究以测试不同方面他们的系统。

智能聊天机器人后端怎么做,聊天机器人的原理和方法

本文通过执行 SLR 分析了利用多代理方法和基于代理的框架的聊天机器人解决方案的当前技术水平。特别是,它采用了以十个结构化研究问题为特征的行之有效的方法。此类调查侧重于应用领域、最终用户、要求、目标、技术准备水平、设计、优势、局限性和文献中发现的解决方案的未来挑战等方面。这些方面已按“每个功能”进行了分析,并在协调讨论中进行了总体汇总。在这项工作中得出的见解可能对未来的理论和实践研究都有好处

参考文献:

  • 《聊天机器人:历史、技术和应用》机器学习应用 2(100):006
  • 《基于数据驱动语义空间的概念解释的会话代理》意大利人工智能协会大会。斯普林格,纽约,第 381-392 页
  • 《使用多代理系统的导师合作者》协作技术国际会议。斯普林格,纽约,第 153-159 页
  • 《用于直观聊天机器人的半结构化数据源语义层》2009 年复杂的国际会议。智能和软件密集型系统,IEEE,第 760–765 页
  • 《多功能会话代理构建的模块化框架》在:2011 年复杂、智能和软件密集型系统国际会议,IEEE,第 577-582 页
  • 《开源聊天机器人社交技能概述》互联网科学国际会议。斯普林格,纽约,第 236-248 页