CN113448829A - 对话机器人测试方法、装置、设备及存储介质 - Google Patents

对话机器人测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113448829A
CN113448829A CN202010228788.7A CN202010228788A CN113448829A CN 113448829 A CN113448829 A CN 113448829A CN 202010228788 A CN202010228788 A CN 202010228788A CN 113448829 A CN113448829 A CN 113448829A
Authority
CN
China
Prior art keywords
robot
conversation
test
user
dialogue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010228788.7A
Other languages
English (en)
Other versions
CN113448829B (zh
Inventor
祝涛
胡景超
胡一川
汪冠春
褚瑞
李玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Benying Network Technology Co Ltd
Original Assignee
Beijing Benying Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Benying Network Technology Co Ltd filed Critical Beijing Benying Network Technology Co Ltd
Priority to CN202010228788.7A priority Critical patent/CN113448829B/zh
Publication of CN113448829A publication Critical patent/CN113448829A/zh
Application granted granted Critical
Publication of CN113448829B publication Critical patent/CN113448829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请提供一种对话机器人测试方法、装置、设备及存储介质。该方法包括:获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。本申请能够基于对话流程和测试数据自动生成测试用例,进而提高对话机器人的测试效率。

Description

对话机器人测试方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种对话机器人测试方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,对话机器人的应用越来越广泛。在对话机器人上线前,通常需要对对话机器人进行测试。
现有技术中,通过人工根据人工经验编写测试用例,再根据测试用例对对话机器人进行测试。
然而,测试用例由人工进行编写,操作繁琐,导致对话机器人的测试效率低。
发明内容
本申请实施例提供一种对话机器人测试方法、装置、设备及存储介质,以解决对话机器人的测试效率低的问题。
第一方面,本申请实施例提供一种对话机器人测试方法,包括:
获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;
根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;
基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
在一种可能的实施方式中,所述对话机器人包括基于任务与用户进行对话的对话机器人,所述用户步骤为至少一个,所述测试数据包括话术文本,所述话术文本中包括表达所述用户步骤的至少一条语句;
根据所述测试数据,将所述对话流程中的用户步骤替换为相应的语句,生成测试用例,包括:
多次执行以下步骤,生成多个测试用例:
将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,生成一个测试用例。
在一种可能的实施方式中,所述话术文本中记录有每个用户步骤与表达该用户步骤的各条语句的对应关系;
将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,包括:
针对每个所述用户步骤,根据所述对应关系从所述话术文本中查找该用户步骤对应的所有语句,从所述所有语句中选取一条语句对该用户步骤进行替换。
在一种可能的实施方式中,所述对话机器人包括基于表格数据与用户对话的对话机器人,所述测试数据包括表格数据,所述机器人步骤为至少一个;
根据所述测试数据,将所述对话流程中的机器人步骤替换为相应的语句,包括:
针对每个所述机器人步骤,在所述表格数据中查找该机器人步骤对应的文本,根据该机器人步骤对应的文本生成回复语句,将该机器人步骤替换为所述回复语句。
在一种可能的实施方式中,所述表格数据包括多个查询对象以及相应的属性文本;所述机器人步骤中包括待查询的查询对象;
在所述表格数据中查找该机器人步骤对应的文本,包括:
从所述机器人步骤中提取所述待查询的查询对象;
根据所述待查询的查询对象,从所述表格数据中查找与其相应的属性文本。
在一种可能的实施方式中,所述对话机器人包括基于问答知识库与用户进行对话的对话机器人,所述方法还包括:
获取所述问答知识库,其中,所述问答知识库中包括多个问题及相应的答案语句,每个问题包括至少一种表达语句;
针对每个所述表达语句,从所述问答知识库获取该表达语句对应的答案语句,将该表达语句与所述答案语句组成一个测试用例。
在一种可能的实施方式中,基于所述测试用例对所述对话机器人进行测试,包括:
从所述测试用例中提取用户发起的语句,并通过对话机器人的调用接口与所述对话机器人进行对话;
根据所述对话机器人回复的语句和所述测试用例确定测试结果。
在一种可能的实施方式中,所述方法还包括:
将所述测试用例存储到数据库中;
在所述对话机器人上线后,每隔预设的时间间隔,调用所述数据库中的测试用例对所述对话机器人进行一次测试,得到测试结果;
在所述测试结果表征对话机器人异常时,发出告警提示。
第二方面,本申请实施例提供一种对话机器人测试装置,包括:
获取模块,用于获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;
处理模块,用于根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;
所述处理模块,还用于基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的对话机器人测试方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的对话机器人测试方法。
本申请实施例提供的对话机器人测试方法、装置、设备及存储介质,通过获取对话流程和测试数据,其中,对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;根据测试数据,将对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;基于测试用例对对话机器人进行测试,得到并展示测试结果,能够基于对话流程和测试数据自动生成测试用例,进而提高对话机器人的测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的对话机器人测试方法的场景示意图;
图2为本申请又一实施例提供的对话机器人测试方法的场景示意图;
图3为本申请一实施例提供的对话机器人测试方法的流程示意图;
图4为本申请实施例提供的对话机器人的监控示意图;
图5为本申请又一实施例提供的对话机器人测试方法的流程示意图;
图6为本申请另一实施例提供的对话机器人测试方法的流程示意图;
图7为本申请一实施例提供的对话机器人测试装置的结构示意图;
图8为本申请一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的对话机器人测试方法的场景示意图。该场景中可以包括终端11和服务器12。其中,终端11可以为手机、台式电脑、车载终端、或者平板电脑等电子设备。服务器12可以执行本申请实施例提供的对话机器人测试方法的计算机执行指令,实现本申请实施例提供的对话机器人测试方法。服务器12可以支持用于进行语料泛化的对话机器人测试平台。终端11可以通过应用程序、社交应用程序中的插件、网站登录等方式接入对话机器人测试平台的接口,从而访问对话机器人测试平台。测试者可以通过对终端11的操作,来访问对话机器人测试平台,以进行对话机器人测试。
例如,测试者可以在终端11上通过网页登录对话机器人测试平台,在对话机器人测试平台内输入对话流程、测试数据以及所需测试的对话机器人的调用接口,并触发测试指令。终端11接收到测试者触发的测试指令后,向服务器12发送对话流程、测试数据和调用接口。服务器12根据对话流程和测试数据生成测试用例,并基于测试用例通过调用接口与对话机器人进行对话,从而对对话机器人进行测试,并将测试结果输出给终端11。终端接收到测试结果后向测试者进行展示,以便测试者查看。测试者查看测试结果,若测试通过,测试者可以将该对话机器人上线,或者记录测试结果和时间;若测试未通过,测试者可以对对话机器人的程序进行改进,在改进后重新进行测试。
图2为本申请又一实施例提供的对话机器人测试方法的场景示意图。该场景中可以包括终端20。其中,终端20可以为手机、台式电脑、车载终端、或者平板电脑等电子设备。终端20可以执行本申请实施例提供的对话机器人测试方法的计算机执行指令,实现本申请实施例提供的对话机器人测试方法。例如,终端20上可以运行实现对话机器人测试方法的应用程序。测试者可以在终端20上打开该应用程序,在该应用程序内输入对话流程、测试数据以及所需测试的对话机器人的调用接口,并触发测试指令。终端20接收到测试者触发的测试指令后,根据对话流程和测试数据生成测试用例,并基于测试用例通过调用接口与对话机器人进行对话,从而对对话机器人进行测试,并将测试结果向测试者进行展示,以便测试者查看。
需要注意的是,本申请实施例提供的方法并不限用于图1和图2所示的应用场景中,还可以用于其他可能的应用场景,并不作限制。
图3为本申请一实施例提供的对话机器人测试方法的流程示意图。该方法的执行主体为电子设备,该电子设备可以为图1中的服务器、图2中的终端等,在此不作限定。如图3所示,该方法包括:
S301、获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。
本实施例中,在该方法由服务器执行的应用场景中,终端可以接收测试者输入的对话流程和测试数据,并发送给服务器,服务器接收终端发送的对话流程和测试数据。在该方法由终端执行的应用场景中,终端可以接收测试者输入的对话流程和测试数据。
对话流程为对话机器人与用户进行对话交互的流程,可以包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。该对话机器人即为所要测试的机器人。获取对话流程,可以是接收测试者输入流程图,对流程图解析出对话流程,也可以是接收测试者输入的符合指定格式的对话流程的文件,从文件中提取对话流程,在此不作限定。例如,测试者可以根据流程图,利用Xmind软件手工制作对话流程的文件。
测试数据为用于对对话机器人进行测试的数据,例如,测试数据可以包括但不限于话术文本、表格数据等。对于不同类型的对话机器人,可以有不同类型的测试数据,因而测试数据可以根据实际需求确定,在此不作限定。其中,对话机器人的类型可以包括基于任务与用户进行对话的对话机器人、基于表格数据与用户对话的对话机器人等。
S302、根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例。
本实施例中,具体对对话流程中的用户步骤还是机器人步骤进行语句替换,可以基于对话机器人的类型确定。例如,对于基于任务与用户进行对话的对话机器人,可以将对话流程中的用户步骤进行语句替换;对于基于表格数据与用户对话的对话机器人,可以对话流程中的用户步骤进行语句替换。
S303、基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
本实施例中,在生成测试用例后,可以基于测试用例对机器人进行测试,从而得到测试结果。其中,测试结果表征对话机器人的测试是否通过。测试结果还可以包括测试过程中的数据,例如对话机器人出错的对话步骤等,以便测试者分析对话机器人出错的原因。
可以将测试结果展示给测试者查看。在该方法由服务器执行的应用场景中,服务器可以将测试结果发送给终端,由终端在显示界面上显示测试结果。在该方法由终端执行的应用场景中,终端可以在显示界面上显示测试结果。
本申请实施例通过获取对话流程和测试数据,其中,对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;根据测试数据,将对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;基于测试用例对对话机器人进行测试,得到并展示测试结果,能够基于对话流程和测试数据自动生成测试用例,进而提高对话机器人的测试效率。
可选地,S303可以包括:
从所述测试用例中提取用户发起的语句,并通过对话机器人的调用接口与所述对话机器人进行对话;
根据所述对话机器人回复的语句和所述测试用例确定测试结果。
本实施例中,可以接收测试人员输入的对话机器人的调用接口。S302中生成的测试用例可以为一个或多个,每个测试用例中包括一轮或多轮对话中用户发起的语句和机器人回复的语句。对于每个测试用例,可以从该测试用例中提取用户发起的语句,通过对话机器人的调用接口,将该语句发送至对话机器人,并接收对话机器人针对该语句回复的语句。将对话机器人回复的语句与测试用例中该语句之后的机器人回复的语句进行对比,确定对话机器人是否回复错误。可以分析一个或多个测试用例的测试过程,确定该对话机器人的测试结果。
在一种实施例中,所述对话机器人包括基于问答知识库与用户进行对话的对话机器人,上述方法还包括:
获取所述问答知识库,其中,所述问答知识库中包括多个问题及相应的答案语句,每个问题包括至少一种表达语句;
针对每个所述表达语句,从所述问答知识库获取该表达语句对应的答案语句,将该表达语句与所述答案语句组成一个测试用例。
本实施例中,对话机器人的类型还包括基于问答知识库与用户进行对话的对话机器人。问答知识库中包括多个问题及相应的答案语句,每个问题具有能够表达该问题的一个或多个表达语句。该类型的对话机器人接收到用户的询问语句后,将该询问语句与问答知识库中各个表达语句进行匹配,将与该询问语句匹配的表达语句所对应的答案语句回复给用户,从而实现与用户对话。
对于该类型的对话机器人,需要基于对话机器人的问答知识库来生成测试用例,每个测试用例中包括一条用户发起的语句以及一条机器人回复的语句。首先获取测试者输入的对话机器人的问答知识库,然后从问答知识库中提取一条表达语句及其对应的答案语句组成一个测试用例,该测试用例中表达语句作为用户发起的语句,其对应的答案语句作为机器人回复的语句。按照这样方式可以根据问答知识库生成多个测试用例,再基于这些测试用例对该对话机器人进行测试,得到并展示测试结果。
例如,问答知识库中问题一具有的表达语句分别是“你好”、“您好”、“好”,问题一的答案语句是“欢迎光临”;问题二具有的表达语句分别是“你叫什么”、“你的名字”、“你是谁”,问题二的答案语句是“我是语音小助手”,那么按照上述的测试用例生成方法可以生成六个测试用例,如下所示:
测试用例一:用户:你好
对话机器人:欢迎光临
测试用例二:用户:您好
对话机器人:欢迎光临
测试用例三:用户:好
对话机器人:欢迎光临
测试用例四:用户:你叫什么
对话机器人:我是语音小助手
测试用例五:用户:你的名字
对话机器人:我是语音小助手
测试用例六:用户:你是谁
对话机器人:我是语音小助手
本实施例通过问答知识库生成测试用例,能够对基于问答知识库与用户进行对话的对话机器人进行测试,提高该类型对话机器人的测试效率。
可选地,上述方法还可以包括:
将所述测试用例存储到数据库中;
在所述对话机器人上线后,每隔预设的时间间隔,调用所述数据库中的测试用例对所述对话机器人进行一次测试,得到测试结果;
在所述测试结果表征对话机器人异常时,发出告警提示。
本实施例中,除了在上线之前对对话机器人进行测试外,上述方法还可以用于对上线后的机器人定期进行测试,以监控对话机器人是否发生异常。其中,对话机器人上线是指该对话机器人部署到相应的平台、应用程序或实体的电子设备等产品,为用户提供对话服务。时间间隔可以为默认设置或者由用户输入,在此不作限定。在生成测试用例后,可以将测试用例存储到数据中,在对话机器人上线后,每隔预设的时间间隔调用数据库中的测试用例对对话机器人进行一次测试,得到测试结果,并在测试结果表征对话机器人异常时,发出告警提示,以便工作人员对对话机器人进行运营维护。
如图4所示为本申请实施例提供的对话机器人的监控示意图。在本示例中,部署对话机器人测试平台的电子设备的接收单元可以接收测试者输入的预设时间间隔、对话流程和测试数据,生成单元根据对话流程和测试数据生成测试用例,并将预设时间间隔和测试用例存储到数据中,任务调度单元从数据库中提取预设时间间隔和测试用例,根据预设时间间隔向各任务执行单元分发任务和测试用例,任务执行单元和待监控的对话机器人一一对应,每个任务执行单元用于基于测试用例对相应的对话机器人进行测试,从而实现监控对话机器人。其中,任务调度单元和任务执行单元可以部署于该电子设备中,也可以部署于其他一台或多台电子设备中。
图5为本申请又一实施例提供的对话机器人测试方法的流程示意图。本实施例对基于任务与用户进行对话的对话机器人进行测试的具体实现过程进行了详细说明。如图5所示,该方法包括:
S501、获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。所述对话机器人包括基于任务与用户进行对话的对话机器人,所述用户步骤为至少一个,所述测试数据包括话术文本,所述话术文本中包括表达所述用户步骤的至少一条语句。
本实施例中,基于任务与用户进行对话的对话机器人是指,通过预设的多个对话任务,每个对话任务包括一轮或多轮对话语句,依据对话时用户输入的语句所触发的对话任务,与用户进行对话的机器人。对于该类型的对话机器人的测试,对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。测试数据包括话术文本。对话流程中的用户步骤为至少一个。对于对话流程中的每个用户步骤,话术文本中具有至少一条语句用于表达该用户步骤。
S502、多次执行以下步骤,生成多个测试用例:将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,生成一个测试用例。
本实施例中,可以将对话流程中每个用户步骤,分别采用话术文本中相应的一条语句进行表达,这样可以生成一个测试用例。由于话术文本中有的用户步骤用于多条语句,因此,重复多次上述过程,可以生成多个不同的测试用例。
以一个示例对基于话术文本生成的测试用例进行说明,在该示例中,对话流程为:
用户:提出咨询意向;(用户步骤)
对话机器人:请问您需要询问什么;(机器人步骤)
用户:说明咨询出国相关信息;(用户步骤)
对话机器人:请问您要去哪个国家;(机器人步骤)
用户:所要咨询的具体国家名(用户步骤)
对话机器人:好的,请您留下邮箱,我们会将相关信息发送到您邮箱。(机器人步骤)
其中,话术文本中,对于用户步骤“提出咨询意向”,具有两条语句进行表达,分别为“我要咨询”、“我想咨询个问题”。对于用户步骤“说明咨询出国相关信息”,具有一条语句表达,为“我想咨询出国相关信息”。对于用户步骤“所要咨询的具体国家名”,具有两条语句表达,分别为“美国”“德国”。那么可以生成四条测试用例,如下所示:
测试用例一:
用户:我要咨询;
对话机器人:请问您需要询问什么;
用户:我想咨询出国相关信息;
对话机器人:请问您要去哪个国家;
用户:美国;
对话机器人:好的,请您留下邮箱,我们会将相关信息发送到您邮箱。
测试用例二:
用户:我要咨询;
对话机器人:请问您需要询问什么;
用户:我想咨询出国相关信息;
对话机器人:请问您要去哪个国家;
用户:德国;
对话机器人:好的,请您留下邮箱,我们会将相关信息发送到您邮箱。
测试用例三:
用户:我想咨询个问题;
对话机器人:请问您需要询问什么;
用户:我想咨询出国相关信息;
对话机器人:请问您要去哪个国家;
用户:美国;
对话机器人:好的,请您留下邮箱,我们会将相关信息发送到您邮箱。
测试用例四:
用户:我想咨询个问题;
对话机器人:请问您需要询问什么;
用户:我想咨询出国相关信息;
对话机器人:请问您要去哪个国家;
用户:德国;
对话机器人:好的,请您留下邮箱,我们会将相关信息发送到您邮箱。
可选地,所述话术文本中记录有每个用户步骤与表达该用户步骤的各条语句的对应关系;S502可以包括:
针对每个所述用户步骤,根据所述对应关系从所述话术文本中查找该用户步骤对应的所有语句,从所述所有语句中选取一条语句对该用户步骤进行替换。
本实施例中,话术文本中记录有每个用户步骤与表达该用户步骤的各条语句的对应关系,在生成测试用例时,可以根据该对应关系查找到用户步骤所对应的语句。通过设置对应关系能够快速在话术文本中查找表达各用户步骤的语句,进而提高测试速度。
S503、基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
本实施例中,S503与图3实施例中的S303类似,此处不再赘述。
对于基于任务与用户进行对话的对话机器人,主要测试的是,对话机器人能否识别用户发起的语句以及按照对话任务执行,本实施例利用话术文本对对话流程中的用户步骤进行语句替换,生成的测试用例能够满足测试需求。本实施例通过话术文本中包括表达用户步骤的至少一条语句,利用话术文本中的语句对对话流程中的用户步骤进行替换,从而生成测试用例,能够实现对基于任务与用户进行对话的对话机器人进行测试。
图6为本申请另一实施例提供的对话机器人测试方法的流程示意图。本实施例对基于表格数据与用户对话的对话机器人进行测试的具体实现过程进行了详细说明。如图6所示,该方法包括:
S601、获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。所述对话机器人包括基于表格数据与用户对话的对话机器人,所述测试数据包括表格数据,所述机器人步骤为至少一个。
本实施例中,基于表格数据与用户对话的对话机器人是指,通过一轮或多轮与用户的对话,确定用户所要查询的查询对象,从表格数据中查找该查询对象对应的属性文本,依据该属性文本生成回复语句的对话机器人。其中,表格数据中包含多个查询对象及相应的属性文本,以便对话机器人在对话时查找。例如,对于水果饮食知识的对话机器人,表格数据中可以包含多种水果,以及每种水果的营养价值、推荐食用时间、注意事项等。其中,每种水果就是一个查询对象,在用户咨询某水果的推荐食用时间时,对话机器人可以从表格数据中查找到该水果的推荐食用时间,生成回复语句,并回复给用户。对于该类型的对话机器人,对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。测试数据包括话术文本。测试数据包括待测试的对话机器人的表格数据。
S602、针对每个所述机器人步骤,在所述表格数据中查找该机器人步骤对应的文本,根据该机器人步骤对应的文本生成回复语句,将该机器人步骤替换为所述回复语句,生成测试用例。
本实施例中,可以将对话流程中机器人步骤,采用表格数据中与之相应的文本生成回复语句,替换机器人步骤,这样可以生成一个测试用例。
可选地,所述表格数据包括多个查询对象以及相应的属性文本;所述机器人步骤中包括待查询的查询对象;
在所述表格数据中查找该机器人步骤对应的文本,包括:
从所述机器人步骤中提取所述待查询的查询对象;
根据所述待查询的查询对象,从所述表格数据中查找与其相应的属性文本。
本实施例中,对话流程中的机器人步骤中包含待查询的对象,可以从表格数据中查找其对应的属性文本,从而生成语句进行替换。
以一个示例对基于表格数据生成的测试用例进行说明,在该示例中,对话流程为:
用户:苹果的营养价值是什么;(用户步骤)
对话机器人:在表格数据中查找苹果的营养价值;(机器人步骤)
用户:推荐食用时间是什么时间;(用户步骤)
对话机器人:在表格数据中查找苹果的推荐引用时间。(机器人步骤)
其中,表格数据中,苹果的营养价值为“苹果中的胶质和微量元素铬能保持血糖的稳定,还能有效地降低胆固醇;苹果中富含粗纤维,可促进肠胃蠕动,协助人体顺利排出废物,减少有害物质对皮肤的危害”,苹果的推荐食用时间为“人体在上午时是脾胃活动最旺盛的时候,那时候吃苹果有利于身体吸收,所以吃苹果尽量选择在中午的饭前/后半小时”。因此可以生成如下的测试用例:
用户:苹果的营养价值是什么;
对话机器人:苹果中的胶质和微量元素铬能保持血糖的稳定,还能有效地降低胆固醇;苹果中富含粗纤维,可促进肠胃蠕动,协助人体顺利排出废物,减少有害物质对皮肤的危害;
用户:推荐食用时间是什么时间;
对话机器人:人体在上午时是脾胃活动最旺盛的时候,那时候吃苹果有利于身体吸收,所以吃苹果尽量选择在中午的饭前/后半小时。
S603、基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
本实施例中,S603与图3实施例中的S303类似,此处不再赘述。
对于基于表格数据与用户对话的的对话机器人,主要测试的是,对话机器人能否从表格数据中查找的相应的文本进行回复,本实施例利用表格数据对对话流程中的机器人步骤进行语句替换,生成的测试用例能够满足测试需求。本实施例通过查找表格数据,利用表格数据对对话流程中的机器人步骤进行替换,从而生成测试用例,能够实现对基于表格数据与用户对话的的对话机器人进行测试。
可选地,上述方法可以采用容器化的服务程序实现,使得服务程序迁移轻松简单;还可以采用docker componse工具一键部署,简化服务程序部署方式,使得上述方法的服务程序在私有部署项目的测试上也可以发挥作用。上述方法能够使测试覆盖面更广,测试周期更短,通过自动化和人工测试相互结合可以覆盖到更加广泛的测试点。并且通过对上线后对话机器人的定时测试,能够使对话机器人的在线监控更智能,问题暴露更快,反馈速度更及时。并且本方法测试人员上手测试更简单,相比冗长的业务培训,使用方法的人力成本和时间成本更低。
图7为本申请一实施例提供的对话机器人测试装置的结构示意图。如图7所示,该对话机器人测试装置70包括:获取模块701、处理模块702。
获取模块701,用于获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤。
处理模块702,用于根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例。
所述处理模块702,还用于基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
可选地,所述对话机器人包括基于任务与用户进行对话的对话机器人,所述用户步骤为至少一个,所述测试数据包括话术文本,所述话术文本中包括表达所述用户步骤的至少一条语句;
处理模块702,具体用于:
多次执行以下步骤,生成多个测试用例:
将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,生成一个测试用例。
可选地,所述话术文本中记录有每个用户步骤与表达该用户步骤的各条语句的对应关系;
处理模块702,具体用于:
针对每个所述用户步骤,根据所述对应关系从所述话术文本中查找该用户步骤对应的所有语句,从所述所有语句中选取一条语句对该用户步骤进行替换。
可选地,所述对话机器人包括基于表格数据与用户对话的对话机器人,所述测试数据包括表格数据,所述机器人步骤为至少一个;
处理模块702,具体用于:
针对每个所述机器人步骤,在所述表格数据中查找该机器人步骤对应的文本,根据该机器人步骤对应的文本生成回复语句,将该机器人步骤替换为所述回复语句。
可选地,所述表格数据包括多个查询对象以及相应的属性文本;所述机器人步骤中包括待查询的查询对象;
处理模块702,具体用于:
从所述机器人步骤中提取所述待查询的查询对象;
根据所述待查询的查询对象,从所述表格数据中查找与其相应的属性文本。
可选地,所述对话机器人包括基于问答知识库与用户进行对话的对话机器人;处理模块702,还用于:
获取所述问答知识库,其中,所述问答知识库中包括多个问题及相应的答案语句,每个问题包括至少一种表达语句;
针对每个所述表达语句,从所述问答知识库获取该表达语句对应的答案语句,将该表达语句与所述答案语句组成一个测试用例。
可选地,处理模块702,具体用于:
从所述测试用例中提取用户发起的语句,并通过对话机器人的调用接口与所述对话机器人进行对话;
根据所述对话机器人回复的语句和所述测试用例确定测试结果。
可选地,处理模块702,还用于:
将所述测试用例存储到数据库中;
在所述对话机器人上线后,每隔预设的时间间隔,调用所述数据库中的测试用例对所述对话机器人进行一次测试,得到测试结果;
在所述测试结果表征对话机器人异常时,发出告警提示。
本申请实施例提供的对话机器人测试装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本申请一实施例提供的电子设备的硬件结构示意图。如图8所示,本实施例提供的电子设备80包括:至少一个处理器801和存储器802。该电子设备80还包括通信部件803。其中,处理器801、存储器802以及通信部件803通过总线804连接。
在具体实现过程中,至少一个处理器801执行所述存储器802存储的计算机执行指令,使得至少一个处理器801执行如上的对话机器人测试方法。
处理器801的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图8所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的对话机器人测试方法。
上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种对话机器人测试方法,其特征在于,包括:
获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;
根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;
基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
2.根据权利要求1所述的方法,其特征在于,所述对话机器人包括基于任务与用户进行对话的对话机器人,所述用户步骤为至少一个,所述测试数据包括话术文本,所述话术文本中包括表达所述用户步骤的至少一条语句;
根据所述测试数据,将所述对话流程中的用户步骤替换为相应的语句,生成测试用例,包括:
多次执行以下步骤,生成多个测试用例:
将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,生成一个测试用例。
3.根据权利要求2所述的方法,其特征在于,所述话术文本中记录有每个用户步骤与表达该用户步骤的各条语句的对应关系;
将所述对话流程中的每个所述用户步骤替换为所述话术文本中表达该用户步骤的一条语句,包括:
针对每个所述用户步骤,根据所述对应关系从所述话术文本中查找该用户步骤对应的所有语句,从所述所有语句中选取一条语句对该用户步骤进行替换。
4.根据权利要求1所述的方法,其特征在于,所述对话机器人包括基于表格数据与用户对话的对话机器人,所述测试数据包括表格数据,所述机器人步骤为至少一个;
根据所述测试数据,将所述对话流程中的机器人步骤替换为相应的语句,包括:
针对每个所述机器人步骤,在所述表格数据中查找该机器人步骤对应的文本,根据该机器人步骤对应的文本生成回复语句,将该机器人步骤替换为所述回复语句。
5.根据权利要求4所述的方法,其特征在于,所述表格数据包括多个查询对象以及相应的属性文本;所述机器人步骤中包括待查询的查询对象;
在所述表格数据中查找该机器人步骤对应的文本,包括:
从所述机器人步骤中提取所述待查询的查询对象;
根据所述待查询的查询对象,从所述表格数据中查找与其相应的属性文本。
6.根据权利要求1所述的方法,其特征在于,所述对话机器人包括基于问答知识库与用户进行对话的对话机器人,所述方法还包括:
获取所述问答知识库,其中,所述问答知识库中包括多个问题及相应的答案语句,每个问题包括至少一种表达语句;
针对每个所述表达语句,从所述问答知识库获取该表达语句对应的答案语句,将该表达语句与所述答案语句组成一个测试用例。
7.根据权利要求1-6任一项所述的方法,其特征在于,基于所述测试用例对所述对话机器人进行测试,包括:
从所述测试用例中提取用户发起的语句,并通过对话机器人的调用接口与所述对话机器人进行对话;
根据所述对话机器人回复的语句和所述测试用例确定测试结果。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
将所述测试用例存储到数据库中;
在所述对话机器人上线后,每隔预设的时间间隔,调用所述数据库中的测试用例对所述对话机器人进行一次测试,得到测试结果;
在所述测试结果表征对话机器人异常时,发出告警提示。
9.一种对话机器人测试装置,其特征在于,包括:
获取模块,用于获取对话流程和测试数据,其中,所述对话流程包括由用户发起的用户步骤和由对话机器人发起的机器人步骤;
处理模块,用于根据所述测试数据,将所述对话流程中的用户步骤或机器人步骤替换为相应的语句,生成测试用例;
所述处理模块,还用于基于所述测试用例对所述对话机器人进行测试,得到并展示测试结果。
10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-8任一项所述的对话机器人测试方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的对话机器人测试方法。
CN202010228788.7A 2020-03-27 2020-03-27 对话机器人测试方法、装置、设备及存储介质 Active CN113448829B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010228788.7A CN113448829B (zh) 2020-03-27 2020-03-27 对话机器人测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010228788.7A CN113448829B (zh) 2020-03-27 2020-03-27 对话机器人测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113448829A true CN113448829A (zh) 2021-09-28
CN113448829B CN113448829B (zh) 2024-06-04

Family

ID=77807883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010228788.7A Active CN113448829B (zh) 2020-03-27 2020-03-27 对话机器人测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113448829B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135936A (zh) * 2010-12-31 2011-07-27 华为技术有限公司 生成测试用例的方法以及系统
US20130198761A1 (en) * 2012-02-01 2013-08-01 International Business Machines Corporation Intelligent Dialogue Amongst Competitive User Applications
US20170286269A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Local Chat Service Simulator for Bot Development
CN109102809A (zh) * 2018-06-22 2018-12-28 北京光年无限科技有限公司 一种用于智能机器人的对话方法及系统
CN109525480A (zh) * 2018-09-14 2019-03-26 广东神马搜索科技有限公司 用户问题收集系统和方法
CN109753436A (zh) * 2019-01-09 2019-05-14 中国联合网络通信集团有限公司 智能客服系统的测试方法、装置及存储介质
CN109844741A (zh) * 2017-06-29 2019-06-04 微软技术许可有限责任公司 在自动聊天中生成响应
CN110291489A (zh) * 2017-02-14 2019-09-27 微软技术许可有限责任公司 计算上高效的人类标识智能助理计算机
CN110737594A (zh) * 2019-09-19 2020-01-31 武汉迎风聚智科技有限公司 自动生成测试用例的数据库标准符合性测试方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135936A (zh) * 2010-12-31 2011-07-27 华为技术有限公司 生成测试用例的方法以及系统
US20130198761A1 (en) * 2012-02-01 2013-08-01 International Business Machines Corporation Intelligent Dialogue Amongst Competitive User Applications
US20170286269A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Local Chat Service Simulator for Bot Development
CN110291489A (zh) * 2017-02-14 2019-09-27 微软技术许可有限责任公司 计算上高效的人类标识智能助理计算机
CN109844741A (zh) * 2017-06-29 2019-06-04 微软技术许可有限责任公司 在自动聊天中生成响应
CN109102809A (zh) * 2018-06-22 2018-12-28 北京光年无限科技有限公司 一种用于智能机器人的对话方法及系统
CN109525480A (zh) * 2018-09-14 2019-03-26 广东神马搜索科技有限公司 用户问题收集系统和方法
CN109753436A (zh) * 2019-01-09 2019-05-14 中国联合网络通信集团有限公司 智能客服系统的测试方法、装置及存储介质
CN110737594A (zh) * 2019-09-19 2020-01-31 武汉迎风聚智科技有限公司 自动生成测试用例的数据库标准符合性测试方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAVI F. GOROSTIZA 等: "End-user programming of a social robot by dialog", 《ROBOTICS AND AUTONOMOUS SYSTEMS》, vol. 59, no. 12, pages 1102 - 1114, XP028306934, DOI: 10.1016/j.robot.2011.07.009 *
朱敏: "语音助手的系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 138 - 249 *
杨昊: "微软易问语音助手应用设计", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 138 - 3943 *

Also Published As

Publication number Publication date
CN113448829B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN111930940B (zh) 一种文本情感分类方法、装置、电子设备及存储介质
US20200081939A1 (en) System for optimizing detection of intent[s] by automated conversational bot[s] for providing human like responses
US10423665B2 (en) Method and system for generating a conversational agent by automatic paraphrase generation based on machine translation
US11043136B2 (en) Personality-type training system and methods
US10872609B2 (en) Method, apparatus, and program of dialog presentation steps for agents
CN108874935B (zh) 一种基于语音搜索的复习内容推荐方法及电子设备
US11778095B2 (en) Objective training and evaluation
CN110610705A (zh) 一种基于人工智能的语音交互提示器
CN112000784A (zh) 结合rpa和ai的用户数据处理方法、装置、设备及存储介质
Vijayakumar et al. AI based student bot for academic information system using machine learning
CN114969352B (zh) 文本处理方法、系统、存储介质及电子设备
US20200036658A1 (en) System and method for assisting user communications using bots
US9667786B1 (en) Distributed coordinated system and process which transforms data into useful information to help a user with resolving issues
CN109165286A (zh) 自动问答方法、装置及计算机可读存储介质
CN113065850B (zh) 用于智能外呼机器人的话术测试方法及装置
Inupakutika et al. Integration of NLP and Speech-to-text Applications with Chatbots
CN110209768A (zh) 自动问答的问题处理方法和装置
CN113448829B (zh) 对话机器人测试方法、装置、设备及存储介质
Wolters et al. Making it easier for older people to talk to smart homes: The effect of early help prompts
GB2573495A (en) Ability classification
Knutsen et al. Spoilt for choice: Initially considering several referential expressions affects subsequent referential decisions
KR20210116223A (ko) 인공지능 기반의 가상상담 서비스 장치 및 방법
WO2020090857A1 (ja) 語学力評価方法及び語学力評価システム
KR102577643B1 (ko) 온라인 일대일 한국어 강의 플랫폼 시스템 및 이에 포함된 운영 서버
WO2022244883A1 (ja) 対話ツールを用いた思考認知支援システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 58th Floor, Building B, No. 3 Danling Street, Haidian District, Beijing, 100080

Applicant after: Laiye Technology (Beijing) Co.,Ltd.

Address before: 100190 702, floor 7, No. 2, South Road, Academy of Sciences, Haidian District, Beijing

Applicant before: BEIJING BENYING NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant