这是一篇开放获取的文章,根据创作共用署名许可(https://creativecommons.org/licenses/by/4.0/)的条款发布,允许在任何媒介上无限制地使用、分发和复制,前提是正确引用最初发表在《医学互联网研究杂志》上的原创作品。必须包括完整的书目信息,//www.mybigtv.com/上的原始出版物的链接,以及此版权和许可信息。
聊天机器人是可以与用户进行自然语言对话的应用程序。在医疗领域,聊天机器人已经被开发出来并用于不同的目的。它们为患者提供在某些情况下可能至关重要的及时信息,例如获得精神卫生资源。自从第一个聊天机器人ELIZA在20世纪60年代末开发出来以来,人们一直在努力生产以不同方式开发的用于各种健康目的的聊天机器人。
本研究旨在探索医疗领域中聊天机器人相关的技术方面和开发方法,以解释最佳的开发方法,并为聊天机器人开发研究人员未来的工作提供支持。
我们在8个文献数据库(IEEE、ACM、施普林格、ScienceDirect、Embase、MEDLINE、PsycINFO和谷歌Scholar)中搜索相关文章。我们还对所选文章进行了向前和向后的参考文献检查。研究选择由一名审稿人完成,被选研究的50%由另一名审稿人随机检查。结果综合采用叙述方法。聊天机器人是根据其开发的不同技术方面进行分类的。除了实现每个模块的不同技术外,还确定了聊天机器人的主要组件。
最初的检索返回了2481篇论文,其中我们确定了45篇符合纳入和排除标准的研究。用户和聊天机器人之间最常见的交流语言是英语(n=23)。我们确定了4个主要模块:文本理解模块、对话框管理模块、数据库层和文本生成模块。开发文本理解和对话管理的最常用技术是模式匹配方法(n=18和n=25)。最常见的文本生成是固定输出(n=36)。很少有研究依赖于产生原始输出。大多数研究都保留了一个医学知识库,供聊天机器人在整个对话过程中用于不同的目的。一些研究保留了对话脚本,并收集了用户数据和以前的对话。
许多聊天机器人已被开发用于医疗用途,并以越来越快的速度发展。最近,在采用基于机器学习的方法开发聊天机器人系统方面出现了明显的转变。可以进行进一步的研究,将临床结果与不同的聊天机器人开发技术和技术特征联系起来。
聊天机器人是能够以一种模拟与真人互动的方式与用户用自然语言交谈的系统。长期以来,聊天机器人的发展一直受到研究人员的关注。伊莉莎(
在聊天机器人发展的早期,人们在设计和开发聊天机器人时采用了不同的技术。近年来,随着机器学习和人工智能方法在不同应用领域的应用越来越多,对话生成和对话管理中的前沿方法也越来越多地使用机器学习和深度学习方法[
医疗领域是一个应用领域,聊天机器人越来越多地被采用为一种工具,以方便从患者方面获取信息,并减轻临床医生方面的负担。许多商业聊天机器人应用程序已经开发出来,可以作为web或移动应用程序与患者互动。医疗聊天机器人的一些例子是OneRemission1,它是为了帮助癌症幸存者而开发的;巴比伦健康,这是一个症状检查器;威萨[
由于许多原因,了解在医疗领域开发聊天机器人所采用的不同方法和技术的现状是很重要的。进行这样的调查将帮助研究人员在未来确定已经使用的不同方法,并在现有方法的基础上开发更智能的聊天机器人,为用户提供更自然的体验。与为其他应用开发聊天机器人相比,了解聊天机器人的当前开发状态也很重要。因此,在这项工作中,我们对医疗领域中聊天机器人开发的现有文献进行了范围审查,构建并确定了聊天机器人开发中涉及的主要组件,以及用于开发每个已识别组件的技术描述。本研究的主要目的是探索与医疗领域中使用的聊天机器人相关的技术方面和开发方法,以解释最佳的开发方法,并为聊天机器人开发研究人员未来的工作提供支持。
本研究遵循范围审查方法。具体来说,它遵循了范围审查的PRISMA扩展[
我们搜索了8个数据库(IEEE、ACM、施普林格、ScienceDirect、Embase、MEDLINE、PsycINFO和谷歌Scholar)来收集与该主题相关的研究。对于谷歌Scholar,我们只使用每个搜索字符串的前100个结果,因为谷歌Scholar首先返回属于每个搜索查询的最相关的结果。搜索在2019年9月9日至2019年9月13日期间进行。对于前向引用列表检查,我们使用了谷歌scholar的引用功能。我们还检查了纳入研究的参考文献列表,以回顾反向参考文献列表。
我们使用两组不同的搜索词来搜索数据库。搜索词集是根据数据库索引的研究类型决定的。对于主要索引医疗领域研究的数据库(Embase, MEDLINE, PsycINFO),我们依赖于与干预严格相关的关键字(例如,聊天机器人,聊天机器人,会话代理,会话机器人)。对于没有特定应用领域的数据库,除了与干预相关的单词外,我们还使用与医疗领域相关的关键字(例如,health、medical、illness、disease、disability)。中给出了用于搜索数据库的搜索策略
这项工作的目的是回顾在医疗领域开发基于文本的聊天机器人的技术方面。因此,要考虑一项研究,它必须满足以下标准:描述一个聊天机器人应用,聊天机器人必须是为医疗应用(如管理、诊断、咨询)开发的,聊天机器人的输入或输出方式必须是文本,必须提到输入如何处理和输出如何产生的技术细节。使用绿野仙踪实验设计的研究被排除在外。此外,还对研究的语言和出版物的类型实行了一些限制。只包括用英语发表的研究,只考虑同行评审的文章、会议论文、论文、学位论文以及工业和学术报告。
研究选择分两个阶段进行。标题和摘要筛选之后是全文筛选阶段。两个阶段均由2名审稿人进行。第一位审稿人ZS对全套文章进行了筛选。由于时间限制,第二个审稿人AA随机选取了50%的文章进行审稿。审稿人之间的分歧由第三位审稿人MH解决。为了评估审稿人之间的协议,我们使用了Cohen kappa [
数据提取由ZS按照预先设定的形式进行。提取的数据涉及所包括研究的元数据以及研究中感兴趣的不同技术模块,如文本理解模块、文本生成模块以及链接这些模块的方法。数据提取表单如所示
由于这是一个范围,而不是一个系统的综述,没有为这项工作的目的进行研究质量评估。
我们使用叙述的方法来综合不同的报告结果。我们对所包含的研究进行了描述,并对用于开发聊天机器人的不同技术进行了描述。
研究选择过程。
纳入的研究发表于2009年至2019年之间,其中80%(36/45)的研究发表于2015-2019年的过去5年。会议论文是最常见的发表类型(23/ 45,51%),其次是期刊论文(19/ 45,42%),此外还有2篇杂志文章和1篇论文。发表论文最多的国家是美国,有8项研究,其次是澳大利亚、印度和瑞士,各有4项研究。
这项研究评估的聊天机器人总数为45个。这些聊天机器人是针对不同的疾病和不同的目的而开发的。
开发聊天机器人的技术方面的一个重要因素是聊天机器人用于交流的语言。大多数聊天机器人用英语交流(23/ 45,51.1%),4个德语,3个中文,2个阿拉伯语,2个韩语,1个泰国语,1个西班牙语,1个俄语;8项研究没有提到语言。聊天机器人可以作为独立应用程序(n=17)或web应用程序(n=20)运行,而其余的研究没有提到应用程序类型(n=8)。
在纳入的研究(n=45)中,聊天机器人开发的目标疾病。
疾病/条件 | 数 | 百分比(%) | 研究 |
一般健康 | 21 | 47 | [ |
心理健康 | 15 | 33 | [ |
糖尿病 | 2 | 4 | [ |
癌症 | 2 | 4 | [ |
自闭症 | 2 | 4 | [ |
心脏病 | 1 | 2 | [ |
哮喘 | 1 | 2 | [ |
艾滋病毒 | 1 | 2 | [ |
研究中的聊天机器人包括4个主要模块:文本理解模块、对话管理器、文本生成模块和数据库层,数据库层包含聊天机器人训练和功能所需的各种类型的信息。
高级聊天机器人架构。
文本理解模块是用户直接与之交互的模块。文本理解模块的功能是在生成特定答案之前从用户输入中提取含义。在纳入的研究中,有7种方法用于文本理解。模式匹配方法是最常见的,45个聊天机器人中有18个(40%)使用。许多文本理解方法都可以归入模式匹配。在纳入的研究中报道的不同模式匹配方法如下:关键字匹配或字符串匹配,其中用户输入的特定关键字或字符串匹配到存储在数据库中的脚本,这在11项研究中使用[
研究中使用的文本理解方法(n=45)。
文本理解法 | 研究 |
模式匹配 | [ |
机器学习 | [ |
Web服务 | [ |
固定的输入 | [ |
自然语言处理 | [ |
混合动力 | [ |
基于规则的 | [ |
没有提到过 | [ |
在报道的研究中,对话管理模块的输入是文本理解模块提供的经过处理的用户自由文本输入。对话管理模块控制对话的不同方面,并将每个用户输入链接到适当的输出。在包括的研究中,报告了两种主要类型的对话管理技术:静态对话管理和动态对话管理。在静态对话框管理的情况下,使用模式匹配算法(25/45)或使用一组规则(7/45)将用户输入直接匹配到适当的输出。在动态对话管理的情况下,对话的上下文根据特定的用户输入特征而变化。上下文切换可以通过训练机器学习算法从用户输入中识别上下文(5/45)或使用web服务进行意图识别(4/45)来完成。
纳入研究的对话管理方法(n=45)。
对话管理方法/平台 | 研究 |
模式匹配算法 | [ |
基于规则的方法 | [ |
机器学习 | [ |
基于网络的 | [ |
没有提到过 | [ |
所包含的研究中的大多数聊天机器人都包含3种数据存储库类型中的一种或多种。大多数纳入的研究保留了医学知识库(28/ 45,62%)。医学知识库包含与所开发聊天机器人应用领域相关的医学信息。医学知识来源可以是本地的,例如从医务人员那里获得,也可以从维基百科或其他网站等在线资源中收集。医学知识可以在教育聊天机器人的上下文中呈现给用户(17/45)[
纳入研究的数据库类型(n=45)。
数据库类型 | 研究 |
医学知识数据库 | [ |
用户信息数据库 | [ |
对话脚本 | [ |
没有提到过 | [ |
文本生成模块为用户提供输出。在所包括的研究中,文本生成使用两种方法之一:固定输出或生成输出。固定输出方法在数据库中搜索最适合用户输入的输出,并将其呈现给用户。生成输出方法依赖于机器学习来生成由机器学习算法产生的原始自然语言输出。所包含的大多数研究中的聊天机器人提供了从数据库中提取的固定输出,除了[
确定并报告了一个通用架构,以总结聊天机器人开发的技术方面。报告了聊天机器人的主要组件,以及这些组件之间的链接方式。聊天机器人通常由4个主要组件组成:文本理解模块、对话管理模块、数据管理层和文本生成模块。
开发聊天机器人最常用的设计方法是用于文本理解和响应生成的模式匹配。机器学习和生成方法是医疗领域中最不常用的聊天机器人开发方法之一。这主要有两个原因。与基于机器学习的方法相比,更依赖模式匹配方法的第一个原因是,模式匹配方法在实践中更可靠,因为它们对定义良好的查询产生准确的响应,从而导致更少的错误。基于机器学习的方法通常会产生不同类型的错误,这在医疗应用中是不能容忍的。造成这一趋势的第二个原因是机器学习领域在过去几年的快速发展,以及其方法的鲁棒性的增加,特别是随着深度学习的出现。虽然旧的方法依赖于基于规则的聊天机器人和模式匹配算法,但所有依赖机器学习进行文本理解和响应生成的方法都是在2017年至2019年间提出的。可能缺乏使用机器学习方法的另一个原因可能是,基于机器学习的方法需要使用大量特定领域的数据进行训练,这些数据在医疗领域可能稀缺且难以访问。总的来说,机器学习方法和算法更适合开发用于特定医疗条件的聊天机器人,如精神健康和自闭症,而基于规则的方法更适合开发用于一般医疗目的的聊天机器人。另一方面,模式匹配方法和算法在开发用于特殊和一般医疗条件的聊天机器人中得到了更广泛的应用。
在数据管理方面,所开发的聊天机器人跟踪了3种不同类型的数据库:医学知识库,包括医学事实库;用户信息数据库,包括用户的人口统计数据和他们的偏好细节;对话脚本数据库,包括用户响应的所有可能的对话文本条目。数据库的类型取决于聊天机器人的类型和目标功能。教育聊天机器人通常有一个医学知识库。基于用户情绪进行上下文切换的聊天机器人通常会保留一个用户信息数据库。
大多数开发的聊天机器人使用英语作为与用户交流的语言,而其他语言如德语、汉语和阿拉伯语则不太常见。这与大多数出版物起源于美国的事实是一致的,其次是澳大利亚,那里的第一语言是英语。
这篇综述主要集中在医疗领域的聊天机器人,没有具体说明应用领域,这使得它比以前进行的综述更全面[
本文只关注基于文本的聊天机器人应用程序,其中输入或输出模式都是编写的。这排除了输入或输出方式为语音或视觉的研究,以及机器人技术和基于电话的方法。之所以做出这样的选择,是因为我们希望专注于文本处理技术,而不是图像或语音处理,因为语音到文本技术也会给聊天机器人的开发带来错误和另一层复杂性。
我们对当前审查中包含的出版物类型实施了一些限制。这些限制可能导致遗漏了在其他研究场所(如研讨会、书籍章节和会议摘要)发表的部分已开发的聊天机器人。此外,将搜索限制在以英语发表的论文上,也可能会导致一些聊天机器人的缺失,这些机器人是为用其他语言交流而开发的,并以自己的语言发表。例如,我们没有包括用中文或阿拉伯语发表的讨论聊天机器人用这些语言交流的论文。
本文主要介绍了聊天机器人的发展过程,没有考虑这些方法对患者的影响。因此,从技术角度来看,一些纳入研究的实施可能是可行的,但这并不一定意味着从医学角度来看它们是有效的。
本文报告了在医疗领域中开发聊天机器人的技术方面。专家可以通过这种审查来确定最常见的开发方法,以帮助他们缩小选择范围,并决定哪种开发方法最适合他们的应用程序。
报告结果显示,大多数开发的聊天机器人都用英语与用户交流。虽然有一些人尝试用其他语言设计和开发聊天机器人,但在这方面还需要做更多的工作,特别是对于世界上大部分人口使用的语言,如中文和阿拉伯语。
尽管动态对话管理提供了更自然的用户体验,但大多数已开发的系统都依赖于静态对话管理方法。根据用户情绪或通过检测用户输入中的主题变化来改变对话上下文是聊天机器人开发中需要考虑的重要方面。
机器学习和人工智能方法在不同应用领域的会话代理开发中的使用最近有所增加。在开发聊天机器人时采用基于机器学习的方法的比例仍然相对较低,尽管近年来它一直在增加。监督式机器学习算法似乎更适合用于特殊医疗条件和疾病的聊天机器人的开发,而基于规则的方法则更多地用于开发用于一般医疗目的的聊天机器人。机器学习方法允许开发更智能的代理,通过提供更好的文本理解体验,包括更动态和灵活的对话管理,并生成更广泛的响应,从而提供更真实的用户体验。
由于这篇综述的目的是调查聊天机器人开发的技术方面,因此没有考虑进行临床试验的临床结果。进一步的综述将不同的开发技术与所开发的聊天机器人的临床结果联系起来是可能的和建议的。
在对话管理方面更开放和更广泛地采用最先进的方法[
值得注意的是,开发聊天机器人的技术方面在研究中并不总是被明确提及。所设计的架构是一种通用架构,并不一定适用于每个已开发的聊天机器人。一个或多个组件可能被省略,聊天机器人可能仍然正常工作。
在本综述的范围内,我们分析了为执行不同的医疗干预而开发的45个基于文本的聊天机器人的技术方面。聊天机器人最常用的交流语言是英语。聊天机器人通常包含4个主要组件:文本理解模块、对话管理器、数据库层和文本生成模块。开发聊天机器人最常用的技术是使用字符串匹配算法和一组包含示例输入和输出的脚本。从不同研究的发表年份来看,我们可以得出结论,聊天机器人在医疗应用中越来越受欢迎,尤其是在心理健康方面。机器学习和人工智能技术的应用最近有所增加。有些开发方法比其他方法更适合为特定的医疗条件而不是一般的医疗条件开发聊天机器人。未来的研究可以将聊天机器人的开发技术与其临床结果联系起来。重要的是对聊天机器人在支持和增强积极临床结果方面的有效性进行更深入的系统评价。我们需要理解不同的技术标准和开发方法,并将其与聊天机器人接受、利用和临床有效性的不同水平相关联。 Discussing the pros and cons of each chatbot system has also been left to future supplementary studies, to compare advantages and disadvantages of each chatbot system and link these to their postimplementation clinical outcomes.
系统评审和元分析扩展范围评审(PRISMA-ScR)检查表的首选报告项目。
搜索策略。
数据提取表单。
聊天机器人描述。
本研究是卡塔尔国家研究基金(NPRP12S-0303-190204)资助的项目的一部分。该项目名为“面向卡塔尔和阿拉伯世界的个性化智能数字心理健康平台”。
ZS制定了研究方案,并在AA的协助下进行了搜索,AA是所选研究的第二审稿人。MK支持了这项研究,修改了手稿,改进了写作,并对审稿人做出了回应。工作在MH的指导和监督下进行,研究选择由ZS和AA完成。采用ZS软件进行数据提取和结果综合。所有作者都审阅了手稿。
没有宣布。