CN118093845B - 虚拟对象互动方法及装置 - Google Patents
虚拟对象互动方法及装置 Download PDFInfo
- Publication number
- CN118093845B CN118093845B CN202410511598.4A CN202410511598A CN118093845B CN 118093845 B CN118093845 B CN 118093845B CN 202410511598 A CN202410511598 A CN 202410511598A CN 118093845 B CN118093845 B CN 118093845B
- Authority
- CN
- China
- Prior art keywords
- answer
- sub
- output
- sequence
- response
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000003993 interaction Effects 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 230
- 238000012545 processing Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000011218 segmentation Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000003825 pressing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
本发明提供一种虚拟对象互动方法及装置,涉及人工智能技术领域。所述方法包括:对待解答文本进行拆解处理,得到问题序列;为每个子问题分配处理线程,得以获取子答案;若检测到首个子问题对应的子答案,则控制虚拟对象按序输出并同步将子答案存储为答案序列;在虚拟对象输出的过程中检测到调节指令,则利用虚拟对象正在输出的子答案和答案序列,确定出响应内容和响应速率;再控制虚拟对象以响应速率输出响应内容。其中,分配处理线程并行处理每个子问题,可快速获取到所有子问题对应的子答案,为后续调节提供数据支撑,在虚拟对象输出的过程中,可对内容、速率等进行调节,从而提升了和虚拟对象互动的灵活性。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种虚拟对象互动方法及装置。
背景技术
虚拟对象是指通过计算技术生成的虚拟人物或角色,主流形式是数字人,这些数字人具有逼真的外表、智能的行为以及交互能力,能够展现出多样化的外貌、表情和动作。
目前,大部分数字人均可以语音的方式和用户互动,数字人可根据用户输入的语音,产生相应的语音回复。然而,数字人在输出语音回复时,用户通常只能被动地聆听,无法对回复进行调节,导致了互动的局限性,难以实现灵活地互动。
发明内容
针对上述问题,本发明的目的在于提供一种虚拟对象互动方法及装置,可以提升与虚拟对象互动的灵活性。
为解决上述技术问题,本发明提供如下技术方案:
一方面,提供一种虚拟对象互动方法,包括:
对待解答文本进行拆解处理,得到问题序列,所述问题序列包括按照解答顺序排列的多个子问题;
为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案;
若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案;
若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案;
基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率;
控制所述虚拟对象以所述响应速率输出所述响应内容。
可选地,所述调节指令包括中断指令和续播指令,所述基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于所述中断指令,控制所述虚拟对象暂停输出所述多个子答案;
将所述目标答案划分为已输出答案和未输出答案;
响应于所述续播指令,获取所述续播指令和所述中断指令之间的时间间隔;
若所述时间间隔大于预设间隔,基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容;
若所述时间间隔不大于预设间隔,基于所述已输出答案和所述答案序列确定响应内容;
将所述虚拟对象按照所述解答顺序输出多个子答案时的速率,作为响应速率。
可选地,所述基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容,包括:
检测所述未输出答案的语义完整性;
若所述未输出答案的语义完整,将所述未输出答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;
若所述未输出答案的语义不完整,从所述已输出答案中确定待新增内容;
将所述待新增内容和所述未输出答案进行拼接处理,得到新的未输出答案;
返回执行检测所述未输出答案的语义完整性的步骤以及后续步骤,直到确定出响应内容。
可选地,所述从所述已输出答案中确定待新增内容,包括:
基于所述已输出答案和所述未输出答案,从所述目标答案中确定中断位置;
对所述目标答案进行分词处理,得到分词序列,所述分词序列包括多个待处理词;
若所述中断位置处于所述待处理词中,将所述待处理词中位于所述已输出答案中的文本,确定为待新增内容;
若所述中断位置不处于所述待处理词中,将所述分词序列中所述未输出答案的前一待处理词确定为待新增内容。
可选地,所述基于所述已输出答案和所述答案序列确定响应内容,包括:
将获取所述目标答案的处理线程确定为指定线程;
将所述已输出答案、所述目标答案对应的子问题以及预设提示词,通过所述指定线程发送至所述预设模型中,得到预测答案,其中,所述预测答案以所述已输出答案为开头;
从所述预测答案中去除所述已输出答案,得到待使用答案;
将所述待使用答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
可选地,所述调节指令包括跳转指令,所述基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于所述跳转指令,获取所述跳转指令对应的跳转参数;
基于所述目标答案在所述答案序列中的位置以及所述跳转参数,确定跳转答案;
将所述跳转答案以及所述答案序列中位于所述跳转答案之后的所有子答案,确定为响应内容;
将所述虚拟对象依序输出多个子答案时的速率,作为响应速率。
可选地,所述调节指令包括变速指令,所述基于目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于变速指令,将所述变速指令对应的速率作为响应速率;
从所述目标答案中确定未输出答案,将所述未输出答案以及指定答案,确定为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
可选地,所述控制所述虚拟对象以所述响应速率输出所述响应内容,包括:
预估在所述响应速率下,所述响应内容中的每个子答案对应的输出时长;
利用基准时长以及每个子答案对应的输出时长,确定响应序列,所述响应序列包括响应子内容;
基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容;
若在输出所述目标子内容的预设时长内未检测到调节指令,返回执行基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容的步骤以及后续步骤,直到所有响应子内容被输出或者接收到新的调节指令。
可选地,所述对待解答文本进行拆解处理,得到问题序列,包括:
对所述待解答文本进行意图识别处理,得到待解答文本对应的待解答意图;
对所述待解答文本进行命名实体识别,得到待解答实体;
基于预设意图与问题模板之间的映射关系以及所述待解答意图,确定候选问题模板;
基于所述待解答实体以及所述候选问题模板,生成问题序列。
另一方面,还提供一种虚拟对象互动装置,用于实现上述任一项所述的方法,包括:
拆解模块,用于对待解答文本进行拆解处理,得到问题序列,所述问题序列包括按照解答顺序排列的多个子问题;
分配模块,用于为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案;
输出存储模块,用于若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案;
指令检测模块,用于若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案;
响应确定模块,用于基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率;
响应输出模块,用于控制所述虚拟对象以所述响应速率输出所述响应内容。
另一方面,还提供一种是电子设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本发明所提供的任一种虚拟对象互动方法中的步骤。
另一方面,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明所提供的任一种虚拟对象互动方法中的步骤。
另一方面,还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本发明所提供的任一种虚拟对象互动方法中的步骤。
本发明提供的技术方案带来的有益效果至少包括:
本发明实施例中,将待解答文本拆解为多个子问题,得到按照解答顺序排列的问题序列;为每个子问题分配一个处理线程,以并行获取各个子问题对应的子答案;在检测到首个子问题的子答案时,则控制虚拟对象按照解答顺序输出子答案的同时,将子答案存储为答案序列;若在虚拟对象输出子答案的过程中,检测到调节指令,则基于目标答案和答案序列,确定对应的响应内容和响应速率;再控制虚拟对象以响应速率输出响应内容。其中,分配处理线程并行处理每个子问题,可快速获取到所有子问题对应的子答案,为后续调节提供数据支撑,在虚拟对象输出的过程中,可使用调节指令调节内容或速率中的至少一种,从而提升了和虚拟对象互动的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的虚拟对象互动方法的应用场景示意图;
图2是本发明实施例提供的虚拟对象互动方法的流程示意图;
图3是本发明实施例提供的确定续播指令对应的响应内容的流程示意图;
图4是本发明实施例提供的终端和服务器之间的交互流程图;
图5是本发明实施例提供的虚拟对象互动装置的结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着人工智能技术的飞速发展,虚拟对象如数字人等也得到快速发展,基于语言模型可使得数字人和人类正常对话,使得数字人越来越贴近真实的人。目前在文旅、康养、金融等领域均可以通过数字人为用户提供服务,这些数字人通常可根据用户通过语音输入的问题,以语音、动作、表情等输出问题对应的答复。研究中发现,数字人在输出答复时,有些答复很长,用户需要聆听很久才能听到重点内容,而大部分数字人仅提供停止输出的功能,导致互动不够灵活,难以满足用户的多种需求。由此,本发明提出了一种虚拟对象互动方法,以提升与虚拟对象互动的灵活性。
可以理解的是,在本发明的具体实施方式中,涉及到用户信息等相关的数据,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
可参阅图1,示出了虚拟对象互动方法的应用场景示意图,其中,该应用场景包括终端101以及服务器102,终端101和服务器102之间通信连接。
其中,终端101上可用于展示虚拟对象,该虚拟对象为利用计算机技术生成的虚拟人物或角色,其形象可以包括人形,动物,卡通等。该终端101可配置有输入装置,例如语音输入装置、文本输入装置或多模态输入装置等,在本发明实施例中,以配置有语音输入装置为例进行详细说明。其中,该语音输入装置可以是语音遥控器、麦克风等。
用户可基于语音输入装置输入语音,该语音可被转换为待解答文本,然后该待解答文本可被发送至服务器102进行处理。服务器102可对待解答文本进行拆解处理,得到问题序列,其中,问题序列中包括按照解答顺序排列的多个子问题;为每个子问题分配处理线程,并基于处理线程将子问题发送至预设模型,以获取每个子问题对应的子答案;若检测到首个子问题对应的子答案,控制虚拟对象按照解答顺序输出多个子答案的同时,将多个子答案存储为答案序列;若在虚拟对象依序输出多个子答案的过程中检测到调节指令,将虚拟对象正在输出的子答案确定为目标答案;基于目标答案以及答案序列,确定调节指令对应的响应内容和响应速率;控制虚拟对象以响应速率输出响应内容。从而可实现用户与虚拟对象之间的灵活互动。
需要说明的是,终端101和服务器102也可以集成一体,此时的服务器可理解为数据处理芯片等。当然终端101和服务器102也可以分开设置,由服务器102将数据处理之后发送给终端101输出,具体可根据实际需要进行设置,在此不做具体限定。以下将进行详细说明。
在本实施例中,提供了一种数据处理方法,如图2所示,该虚拟对象互动方法的具体流程如下:
S110、对待解答文本进行拆解处理,得到问题序列。
待解答文本是指需要虚拟对象做出响应的文本,如用户在和虚拟对象闲聊时,用户输入的语句则为待解答文本,虚拟对象可输出与该待解答文本匹配的答复。
其中,待解答文本通常是基于用户的输入得到的,例如,用户输入语音,该语音可被转化为文本从而得到待解答文本;又例如,用户输入文本,则可以直接获取到待解答文本;又例如,用户输入图像视频等,可通过模态转换技术将图像或视频转换为待解答文本。
为了对待解答文本做出精准地响应,可以对待解答文本进行拆解处理,以将待解答文本拆解为多个待解答的子问题。拆解得到的多个子问题具有对应的解答顺序,以确保对待解答文本的响应更加具有逻辑性。例如,待解答文本为“介绍一下AA公司”,针对这个待解答文本可拆解出如下子问题:AA公司的简介、AA公司的核心人员B1的简介、AA公司的核心人员B2的简介等。按照上述解答顺序依序对各个子问题做出回答,可实现精准回答“介绍一下AA公司”。
在一些实施方式中,对待解答文本进行拆解处理时,可以是对所述待解答文本进行意图识别处理,得到待解答文本对应的待解答意图;对待解答文本进行命名实体识别,得到待解答实体;基于预设意图与问题模板之间的映射关系以及所述待解答意图,确定候选问题模板;基于待解答实体以及所述候选问题模板,生成问题序列。
其中,意图识别和命名实体识别均可采用已有的方式实现,在此不再赘述。预设意图和问题模板之间的映射关系可以是预先设置的,一个预设意图可对应一个问题模板,一个问题模板中可包括至少一个子问题模板,至少一个子问题模板可按照解答顺序预先排列。
基于该映射关系,可将待解答意图对应的问题模板确定为候选问题模板。其中,候选问题模板中的每个子问题模板中可以包括实体填充槽位,如:[实体填充槽位]的首席执行官的简介、[实体填充槽位]的首席技术官的简介等。再将待解答实体填充至对应的实体填充槽位,即可得到按照解答顺序排列的多个子问题,进而得到问题序列。如前述举例中,待解答文本为“介绍一下AA公司”,待解答实体为AA公司,则填充后为AA公司的首席执行官的简介、AA公司的首席技术官的简介等。
S120、为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案。
在得到问题序列后,针对问题序列中的每个子问题,均可以为其分配一个处理线程,例如问题序列中有5个子问题,则需要5个处理线程,每个线程处理一个子问题。
其中,每个处理线程可以单独调用预设模型,并将其分配到的子问题发送到预设模型,以获取到各个子问题对应的子答案。预设模型是指预先训练好的生成式语言模型,该预设模型可根据输入的子问题,生成与所述子问题的子答案,预设模型生成的子答案则可被处理线程获取到。
需要说明的是,预设模型为自回归模型,即预设模型推理出答案的逻辑是先不断预测下一个字符,将已经预测出的字符作为新的输入,在此基础上继续预测,从而得到对应的答案,该答案是逐步预测出的,获取各个子答案时,也并非直接获取到完整的子答案,而是根据预设模型的输出逐步获取到完整的子答案。
上述过程对于一个包含了多个子问题的输入而言,要得到所有子问题的答案需要较长的时间。本发明实施例通过多个处理线程并发处理,可快速获取到所有子问题对应的子答案,例如,预设模型推理一个问题的答案耗时为T,对于n个子问题,顺序推理耗时为,而本发明实施例中,推理n个子问题的耗时为T,极大地提升了推理效率。并行处理多个子问题,可快速获取到整个待解答文本对应的答复,以便为后续响应调节指令提供数据支撑。
S130、若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案。
每个处理线程都可单独调用预设模型,并将对应的子问题发送至预设模型后,各个处理线程可以检测预设模型的输出,当检测到预设模型有输出内容时,可认为检测到对应子问题的子答案。
首个子问题是指问题序列中的第一个子问题,即该子问题是需要最先回答的子问题。若检测到首个子问题对应的子答案,则可以开始控制虚拟对象依序输出多个子答案,也即控制虚拟对象先输出第一个子问题对应的子答案,再输出第二个子问题对应的子答案,依次类推。
需要说明的是,虚拟对象在输出首个子问题对应的子答案的过程中,其余处理线程也检测到了其分配的子问题对应的子答案,在虚拟对象输出的同时,可将每个处理线程获取的子答案存储为答案序列。可选地,答案序列可以是按照解答顺序排列的。
S140、若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案。
调节指令是指对虚拟对象的输出进行调节的指令,调节的内容可包括输出内容、输出的速率等。若在虚拟对象依序输出多个子答案的过程中,检测到调节指令,则需要控制虚拟对象做出对应的响应。
在检测到调节指令时,可以先将虚拟对象正在输出的子答案确定为目标答案,以便后续基于该目标答案做出响应。
其中,调节指令可以基于多种方式产生,例如,可以是通过展示虚拟对象的终端捕获用户的表情、姿态等,对表情、姿态等进行识别后得到对应的指令。又例如,基于遥控器的按键控制,又例如,可以是识别语音得到的指令。在本发明实施例中,以语音遥控器的按键控制产生调节指令为例进行说明。
S150、基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率。
在确定出目标答案后,可根据目标答案和答案序列,确定出调节指令对应的响应内容和响应速率。其中,响应内容是指虚拟对象在接收到调节指令后需要输出的内容,响应速率是虚拟对象输出子答案时的语速。
在一些实施方式中,调节指令可包括中断指令和续播指令,在确定响应内容和响应速率时,可以是响应于所述中断指令,控制所述虚拟对象暂停输出所述多个子答案;将所述目标答案划分为已输出答案和未输出答案;响应于所述续播指令,获取所述续播指令和所述中断指令之间的时间间隔;若所述时间间隔大于预设间隔,基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容;若所述时间间隔不大于预设间隔,基于所述已输出答案和所述答案序列确定响应内容;将所述虚拟对象按照所述解答顺序输出多个子答案时的速率,作为响应速率。
其中,中断指令是用于控制虚拟对象暂停输出的指令,例如,用户可按下语音遥控器上的中断按键,以发出中断指令。响应于中断指令,可控制虚拟对象暂停输出,该暂停输出是指虚拟对象暂停输出内容,内容可包括语音、动作、表情等。
响应于中断指令,在控制虚拟对象暂停输出的同时,还可以将目标答案划分为已输出答案和未输出答案。例如,针对一个目标答案,可以将虚拟对象已经输出的内容进行缓存,即可得到已输出答案,而目标答案中除了已输出答案之外的其他内容,则为未输出答案。
续播指令是指用于控制虚拟对象从上次暂停的位置继续输出的指令,由于中断指令和续播指令并不会对虚拟对象的输出速率进行调整,由此,可直接将虚拟对象按照解答顺序输出多个子答案时的速率作为响应速率。需要说明的是,中断指令和续播指令通常是成对出现,即先出现中断指令,然后再出现续播指令,则可以实现中断后的续播。
其中,在确定续播指令对应的响应内容时,可以考虑中断指令和续播指令之间的时间间隔。若时间间隔大于预设间隔,续播时用户可能已经遗忘了之前的内容,则可以结合未输出答案的语义完整性来确定响应内容,以便于用户快速获知到输出内容的含义。若时间间隔不大于预设间隔,则可以基于已输出答案和答案序列确定响应内容。其中,预设间隔可根据实际的需要进行设置,也可以基于大量的实验统计得到。
具体可参阅图3,示出了确定续播指令对应的响应内容的流程示意图。在一些实施方式中,若时间间隔大于预设间隔,为了确保在续播时,可让用户快速获取到续播的内容的含义,可以是检测所述未输出答案的语义完整性;若所述未输出答案的语义完整,将所述未输出答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;若所述未输出答案的语义不完整,从所述已输出答案中确定待新增内容;将所述待新增内容和所述未输出答案进行拼接处理,得到新的未输出答案;返回执行检测所述未输出答案的语义完整性的步骤以及后续步骤,直到确定出响应内容。
对未输出答案的语义完整性进行检测可采用多种方式。例如,可通过句法分析器解析未输出答案的结构,判定其主语、谓语、宾语是否完整;若结构完整,则继续通过语义角色标注,确定句子中各个成分之间的语义关系;若结构不完整,判定已输出答案的语义不完整;若语义关系清晰,可认为该已输出答案的语义完整;若语义关系不清晰,可认为该已输出答案的语义不完整。
如图3中,若未输出答案的语义完整,可以直接将未输出答案以及指定答案作为响应内容。其中,指定答案是指答案序列中位于目标答案之后的所有子答案,例如,答案序列为{a1,a2,a3,a4},目标答案为a2,则指定答案为a3和a4。
若未输出答案的语义不完整,可以从目标答案的已输出答案中确定待新增内容,其中,待新增内容是指已输出答案中可被新增至未输出答案中的内容。作为一种实施方式,可以基于所述已输出答案和所述未输出答案,从所述目标答案中确定中断位置;对所述目标答案进行分词处理,得到分词序列,所述分词序列包括多个待处理词;若所述中断位置处于所述待处理词中,将所述待处理词中位于所述已输出答案中的文本,确定为待新增内容;若所述中断位置不处于所述待处理词中,将所述分词序列中所述未输出答案的前一待处理词确定为待新增内容。
其中,可利用文本匹配算法将已输出答案和目标答案进行匹配,可从目标答案中确定出中断位置,还可以直接将已输出答案和未输出答案的分隔处作为中断位置。基于预设词库可对目标答案进行分词处理,例如,可以使用正向最大匹配算法对目标答案进行分词处理,得到正向结果;使用逆向最大匹配算法对目标答案进行分词处理,得到逆向结果;基于逆向结果和正向结果,确定分词序列。
确定分词序列时,可以是若正向结果和逆向结果一致,随机确定正向结果或逆向结果为分词序列;若两者结果不一致,将所述正向结果和逆向结果中分词数量较小的结果确定为分词序列;若两者数量一致,则将包含单字较少的结果确定为分词序列。
需要说明的是,待处理词可能是一个字,也可能是一个词语,中断位置可能位于一个词语中,将词语切分为两部分。可继续判断中断位置是否处于某个待处理词中,若中断位置处于某个待处理词中,表明一个语义完整的词语被打断,由此,可将对应的待处理词与已输出答案的交集文本,确定为待新增内容。如目标答案为“今天的天气真好”,分词序列为“今天、的、天|气、真好”,而中断位置处于天和气中间,则被打断的待处理词为天气,已输出答案为“今天的天”,则可以将天气中的“天”确定为待新增内容。
若中断位置不处于待处理词中,可以将分词序列中位于已输出答案的前一待处理词确定为待新增内容。可选地,可以是确定未输出答案中的首个词语,将分词序列中,该首个词语的前一词语确定为待新增内容。如前述举例中,若中断位置在“天气”和“真好”之间,则未输出答案中的首个词语为“真好”,分词序列中,“真好”的前一待处理词为“天气”,则可以将“天气”作为待新增内容。
然后,将待新增内容和未输出答案拼接在一起,得到新的未输出答案,再返回执行检测未输出答案的语义完整性的步骤及后续步骤,直到确定出响应内容。
在一些实施方式中,若时间间隔不大于预设间隔,可直接将未输出答案以及指定答案作为响应内容。
可选地,还可以基于已输出答案和答案序列,确定响应内容,例如将获取所述目标答案的处理线程确定为指定线程;将所述已输出答案、所述目标答案对应的子问题以及预设提示词,通过所述指定线程发送至所述预设模型中,得到预测答案,其中,所述预测答案以所述已输出答案为开头;从所述预测答案中去除所述已输出答案,得到待使用答案;将所述待使用答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
前述每个子问题均会分配一个处理线程,以得到子问题对应的子答案,获取到该目标答案的处理线程则为指定线程。通过指定线程再次调用预设模型,将目标答案对应的子问题、已输出答案和预设提示词作为输入,使得预设模型输出预测答案。其中,预测答案以已输出答案为开头,也即预设模型在推理子问题时,需要在已输出答案的基础上续写,重新调用预设模型预测子问题对应的答案,可确保目标答案的多样性。然后,可从预测答案中删掉已输出答案,得到待使用答案,再将待使用答案以及指定答案作为响应内容,其中,指定答案则为答案序列中处于目标答案之后的所有子答案。
在响应中断后的续播指令时,可结合续播指令和中断指令之间的时间间隔,选择不同的方式确定响应内容,使得续播更加人性化,可提升用户与虚拟对象的互动体验。
在一些实施方式中,调节指令还可以包括跳转指令,确定跳转指令对应的响应内容和响应速率时,可以是响应于所述跳转指令,获取所述跳转指令对应的跳转参数;基于所述目标答案在所述答案序列中的位置以及所述跳转参数,确定跳转答案;将所述跳转答案以及所述答案序列中位于所述跳转答案之后的所有子答案,确定为响应内容;将所述虚拟对象依序输出多个子答案时的速率,作为响应速率。
跳转指令是指用于控制虚拟对象跳转输出内容的指令,该跳转指令可由用户发出,用于跳过虚拟对象输出的部分内容,例如,语音遥控器上可设置有跳转按键,用户按下跳转按键,即可控制虚拟对象跳转输出。
跳转指令通常可携带有跳转参数,该跳转参数则是用于指示跳转输出内容的参数,例如,共有5个子答案,目标答案为第1个子答案,跳转参数为2时,可认为直接播放第3个答案。其中,跳转参数可和按下跳转按键的次数相关,按下一次跳转按键,默认跳转参数为1,若在预设时长内检测到多次按下跳转按键则按下次数为跳转参数。
基于目标答案在答案序列中的位置以及跳转参数,确定跳转答案时,可以是对答案序列中的每个子答案按照顺序编号,即答案序列中的第一个子答案为的编号为1,第二个子答案的编号为2,依次类推。利用目标答案的编号加上跳转参数,即可得到中间编号;再将中间编号和答案序列中的最大编号进行比较,若中间编号大于或等于最大编号,则将最大编号确定为跳转编号;若中间编号小于最大编号,则将中间编号确定为跳转编号;将跳转编号对应的子答案确定为跳转答案。然后将跳转答案、答案序列中位于跳转答案之后的所有子答案,确定为响应内容。如答案序列为{a1,a2,a3,a4},目标答案为a2,跳转答案为a4,则可以控制虚拟对象直接跳转到a4,输出a4。
基于跳转指令,用户可根据实际的需要,跳过部分不想聆听的子答案,以快速转到其想要的聆听的子答案,进而提升了互动的灵活性。
在一些实施方式中,调节指令还可以包括变速指令,确定变速指令对应的响应内容和响应速率时,可以是响应于变速指令,将所述变速指令对应的速率作为响应速率;从所述目标答案中确定未输出答案,将所述未输出答案以及指定答案,确定为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
其中,变速指令是用于调整虚拟对象输出内容的速率的指令,类似的,变速指令仍然可由用户通过语言遥控器上的变速按键发出。响应速率是指接收到变速指令后,虚拟对象输出内容时的速率,响应速率可基于变速指令对应的速率得到。例如,变速指令表征2倍速输出,则响应速率为基准速率的2倍,又例如,变速指令表征0.5倍速输出,则响应速率为基准速率的0.5倍。其中,基准速率可预先设置,虚拟对象输出内容时,默认以基准速率输出,在接收到变速指令时,将基准速率调整为响应速率。
在接收到变速指令时,目标答案可能还未完全输出,可从目标答案中确定未输出答案,然后将未输出答案和答案序列中位于目标答案之后的所有子答案作为响应内容。基于变速指令可灵活调节虚拟对象输出语音时的速率,更加灵活方便。
S160、控制所述虚拟对象以所述响应速率输出所述响应内容。
前述在获取到调节指令后,均可确定出对应的响应速率和响应内容,从而,可直接控制虚拟对象以响应速率输出响应内容即可。
其中,若调节指令为变速指令,则在输出响应内容时,需要对虚拟对象的输出速率进行改变,而在改变输出速率时,通常需要一定的额外处理时间,为了避免频繁进行变速处理并确保快速响应变速指令,在控制虚拟对象以响应速率输出响应内容时,可以是预估在所述响应速率下,所述响应内容中的每个子答案对应的输出时长;利用基准时长以及每个子答案对应的输出时长,确定响应序列,所述响应序列包括响应子内容;基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容;若在输出所述目标子内容的预设时长内未检测到调节指令,返回执行基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容的步骤以及后续步骤,直到所有响应子内容被输出或者接收到新的调节指令。
基于前述确定变速指令对应的响应内容可知,该响应内容中包括子答案,其中,未输出答案也可被认为是子答案。然后可预估在响应速率下,响应内容中每个子答案对应的输出时长。作为一种实施方式,响应速率可以是以每秒输出的字符数表征,预估每个子答案的输出时长时,可以是先获取各个子答案中的字符总数,以字符总数除以响应速率,即可得到对应的输出时长。
基准时长可预先根据实际的需要进行设置,或者是结合变速处理的效率进行设置,在此不做具体限定。响应序列中可以包括响应子内容,该响应子内容可以是按照解答顺序组合响应内容中的子答案所得到的。可选地,可以是利用基准时长和各个子答案对应的输出时长,来确定出响应子内容,进而得到响应序列。
例如,可按照解答顺序判断子答案的输出时长是否小于基准时长,若小于,则将该子答案和其后一个子答案组合后,继续判定其输出时长是否小于基准时长,若不小于基准时长,则将其确定为响应子内容。从而,每个响应子内容的输出时长均不小于基准时长。基于解答顺序可将响应序列中的首个响应子内容确定为目标子内容,并以响应速率输出。预设时长是指控制虚拟对象输出目标子内容开始后的预设时长,该预设时长小于基准时长,在该预设时长内,若未接收到新的调节指令,则可以将第二个响应子内容确定为新的目标子内容,并在前一目标子内容输出完毕时,输出新的目标子内容。以此类推,直到所有响应子内容均被输出,或者,检测到新的调节指令,则响应新的调节指令即可。
为了详细清楚地说明上述方案,可参阅图4,示出了终端和服务器之间的交互流程图。其中,终端上可展示虚拟数字人的形象,用户可基于和终端配套的语音遥控器和该虚拟数字人进行互动,也即语音遥控器可理解为是终端的一部分。通过语音遥控器,用户可语音输入待解答文本,该待解答文本可被发送至服务器进行处理,其中,服务器可对待解答文本进行拆解处理,得到问题序列,再为每个问题序列中的每个子答案分配处理线程,以并行获取各个子问题对应的子答案,在检测到首个子问题对应的子答案时,控制虚拟对象按照解答顺序输出子答案的同时,将子答案存储为答案序列。在虚拟对象输出子答案的过程中,用户可基于语音遥控器发出调节指令,该调节指令可被发送至服务器,从而服务器可确定出指令对应的响应内容和响应速率,再控制虚拟对象以响应速率输出响应内容。
本发明实施例提供的虚拟对象互动方案可以应用在各种场景中。比如,以虚拟对象为数字人为例。采用本发明实施例提供的方案能够更更加灵活地和数字人交互,如支持中断,以及中断后的续播,支持跳过部分内容,且支持调节数字人的输出速率,实现了灵活地互动。
通过本发明实施例提供的方法可以将待解答文本拆解为多个子问题,再并行获取各个子问题对应的子答案,可加速获取到整个待解答文本对应的回复内容,为后续响应调节指令提供数据支撑。虚拟对象在输出内容的过程中,可接收到中断指令、续播指令、跳转指令或者变速指令等,便于用户灵活调节虚拟对象输出的内容和输出的速率,提升和虚拟对象互动的灵活性。
相应地,本发明实施例还提供一种虚拟对象互动装置,该虚拟对象互动装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以虚拟对象互动装置具体集成在服务器为例,对本发明实施例的方法进行详细说明。
例如,如图5所示,该虚拟对象互动装置200可以包括拆解模块210、分配模块220、输出存储模块230、指令检测模块240、响应确定模块250以及响应输出模块260。
拆解模块210,用于对待解答文本进行拆解处理,得到问题序列,所述问题序列包括按照解答顺序排列的多个子问题;
分配模块220,用于为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案;
输出存储模块230,用于若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案;
指令检测模块240,用于若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案;
响应确定模块250,用于基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率;
响应输出模块260,用于控制所述虚拟对象以所述响应速率输出所述响应内容。
在一些实施例中,调节指令包括中断指令和续播指令,响应确定模块250进一步用于:
响应于所述中断指令,控制所述虚拟对象暂停输出所述多个子答案;
将所述目标答案划分为已输出答案和未输出答案;
响应于所述续播指令,获取所述续播指令和所述中断指令之间的时间间隔;
若所述时间间隔大于预设间隔,基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容;
若所述时间间隔不大于预设间隔,基于所述已输出答案和所述答案序列确定响应内容;
将所述虚拟对象按照所述解答顺序输出多个子答案时的速率,作为响应速率。
在一些实施例中,响应确定模块250进一步用于:
检测所述未输出答案的语义完整性;
若所述未输出答案的语义完整,将所述未输出答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;
若所述未输出答案的语义不完整,从所述已输出答案中确定待新增内容;
将所述待新增内容和所述未输出答案进行拼接处理,得到新的未输出答案;
返回执行检测所述未输出答案的语义完整性的步骤以及后续步骤,直到确定出响应内容。
在一些实施例中,响应确定模块250进一步用于:
基于所述已输出答案和所述未输出答案,从所述目标答案中确定中断位置;
对所述目标答案进行分词处理,得到分词序列,所述分词序列包括多个待处理词;
若所述中断位置处于所述待处理词中,将所述待处理词中位于所述已输出答案中的文本,确定为待新增内容;
若所述中断位置不处于所述待处理词中,将所述分词序列中所述未输出答案的前一待处理词确定为待新增内容。
在一些实施例中,响应确定模块250进一步用于:
将获取所述目标答案的处理线程确定为指定线程;
将所述已输出答案、所述目标答案对应的子问题以及预设提示词,通过所述指定线程发送至所述预设模型中,得到预测答案,其中,所述预测答案以所述已输出答案为开头;
从所述预测答案中去除所述已输出答案,得到待使用答案;
将所述待使用答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
在一些实施例中,调节指令包括跳转指令,响应确定模块250进一步用于:
响应于所述跳转指令,获取所述跳转指令对应的跳转参数;
基于所述目标答案在所述答案序列中的位置以及所述跳转参数,确定跳转答案;
将所述跳转答案以及所述答案序列中位于所述跳转答案之后的所有子答案,确定为响应内容;
将所述虚拟对象依序输出多个子答案时的速率,作为响应速率。
在一些实施例中,调节指令包括变速指令,响应确定模块250进一步用于:
响应于变速指令,将所述变速指令对应的速率作为响应速率;
从所述目标答案中确定未输出答案,将所述未输出答案以及指定答案,确定为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
在一些实施例中,响应输出模块260进一步用于:
预估在所述响应速率下,所述响应内容中的每个子答案对应的输出时长;
利用基准时长以及每个子答案对应的输出时长,确定响应序列,所述响应序列包括响应子内容;
基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容;
若在输出所述目标子内容的预设时长内未检测到调节指令,返回执行基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容的步骤以及后续步骤,直到所有响应子内容被输出或者接收到新的调节指令。
在一些实施例中,拆解模块210具体用于:
对所述待解答文本进行意图识别处理,得到待解答文本对应的待解答意图;
对所述待解答文本进行命名实体识别,得到待解答实体;
基于预设意图与问题模板之间的映射关系以及所述待解答意图,确定候选问题模板;
基于所述待解答实体以及所述候选问题模板,生成问题序列。具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的虚拟对象互动装置可以将待解答文本拆解为多个子问题,再并行获取各个子问题对应的子答案,可加速获取到整个待解答文本对应的回复内容,为后续响应调节指令提供数据支撑。虚拟对象在输出内容的过程中,可接收到中断指令、续播指令、跳转指令或者变速指令等,便于用户灵活调节虚拟对象输出的内容和输出的速率,提升和虚拟对象互动的灵活性。
本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,该虚拟对象互动装置还可以集成在多个电子设备中,比如,虚拟对象互动装置可以集成在多个服务器中,由多个服务器来实现本发明的虚拟对象互动方法。
在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,比如,如图6所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器310、一个或一个以上计算机可读存储介质的存储器320、电源330、输入模块340以及通信模块350等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器310是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行服务器的各种功能和处理数据。在一些实施例中,处理器310可包括一个或多个处理核心;在一些实施例中,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
存储器320可用于存储软件程序以及模块,处理器310通过运行存储在存储器320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器320还可以包括存储器控制器,以提供处理器310对存储器320的访问。
服务器还包括给各个部件供电的电源330,在一些实施例中,电源330可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源330还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入模块340,该输入模块340可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括通信模块350,在一些实施例中通信模块350可以包括无线模块,服务器可以通过该通信模块350的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块350可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器310会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器320中,并由处理器310来运行存储在存储器320中的应用程序,从而实现本发明各实施例方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本发明实施例可以将待解答文本拆解为多个子问题,再并行获取各个子问题对应的子答案,可加速获取到整个待解答文本对应的回复内容,为后续响应调节指令提供数据支撑。虚拟对象在输出内容的过程中,可接收到中断指令、续播指令、跳转指令或者变速指令等,便于用户灵活调节虚拟对象输出的内容和输出的速率,提升和虚拟对象互动的灵活性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种虚拟对象互动方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本发明的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序/指令,该计算机程序/指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机程序/指令,处理器执行该计算机程序/指令,使得该电子设备执行上述实施例中提供的虚拟对象互动方面的各种可选实现方式中提供的方法。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种虚拟对象互动方法中的步骤,因此,可以实现本发明实施例所提供的任一种虚拟对象互动方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种虚拟对象互动方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种虚拟对象互动方法,其特征在于,所述方法包括:
对待解答文本进行拆解处理,得到问题序列,所述问题序列包括按照解答顺序排列的多个子问题;
为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案;
若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案;
若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案;
基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率;
控制所述虚拟对象以所述响应速率输出所述响应内容;
其中,所述调节指令包括中断指令和续播指令,所述基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于所述中断指令,控制所述虚拟对象暂停输出所述多个子答案;将所述目标答案划分为已输出答案和未输出答案;响应于所述续播指令,获取所述续播指令和所述中断指令之间的时间间隔;若所述时间间隔大于预设间隔,基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容;若所述时间间隔不大于预设间隔,将获取所述目标答案的处理线程确定为指定线程;将所述已输出答案、所述目标答案对应的子问题以及预设提示词,通过所述指定线程发送至所述预设模型中,得到预测答案,其中,所述预测答案以所述已输出答案为开头;从所述预测答案中去除所述已输出答案,得到待使用答案;将所述待使用答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;将所述虚拟对象按照所述解答顺序输出多个子答案时的速率,作为响应速率。
2.根据权利要求1所述的方法,其特征在于,所述基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容,包括:
检测所述未输出答案的语义完整性;
若所述未输出答案的语义完整,将所述未输出答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;
若所述未输出答案的语义不完整,从所述已输出答案中确定待新增内容;
将所述待新增内容和所述未输出答案进行拼接处理,得到新的未输出答案;
返回执行检测所述未输出答案的语义完整性的步骤以及后续步骤,直到确定出响应内容。
3.根据权利要求2所述的方法,其特征在于,所述从所述已输出答案中确定待新增内容,包括:
基于所述已输出答案和所述未输出答案,从所述目标答案中确定中断位置;
对所述目标答案进行分词处理,得到分词序列,所述分词序列包括多个待处理词;
若所述中断位置处于所述待处理词中,将所述待处理词中位于所述已输出答案中的文本,确定为待新增内容;
若所述中断位置不处于所述待处理词中,将所述分词序列中所述未输出答案的前一待处理词确定为待新增内容。
4.根据权利要求1所述的方法,其特征在于,所述调节指令包括跳转指令,所述基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于所述跳转指令,获取所述跳转指令对应的跳转参数;
基于所述目标答案在所述答案序列中的位置以及所述跳转参数,确定跳转答案;
将所述跳转答案以及所述答案序列中位于所述跳转答案之后的所有子答案,确定为响应内容;
将所述虚拟对象依序输出多个子答案时的速率,作为响应速率。
5.根据权利要求1所述的方法,其特征在于,所述调节指令包括变速指令,所述基于目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于变速指令,将所述变速指令对应的速率作为响应速率;
从所述目标答案中确定未输出答案,将所述未输出答案以及指定答案,确定为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案。
6.根据权利要求5所述的方法,其特征在于,所述控制所述虚拟对象以所述响应速率输出所述响应内容,包括:
预估在所述响应速率下,所述响应内容中的每个子答案对应的输出时长;
利用基准时长以及每个子答案对应的输出时长,确定响应序列,所述响应序列包括响应子内容;
基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容;
若在输出所述目标子内容的预设时长内未检测到调节指令,返回执行基于所述解答顺序从所述响应序列中确定目标子内容,并控制虚拟对象以所述响应速率输出所述目标子内容的步骤以及后续步骤,直到所有响应子内容被输出或者接收到新的调节指令。
7.根据权利要求1所述的方法,其特征在于,所述对待解答文本进行拆解处理,得到问题序列,包括:
对所述待解答文本进行意图识别处理,得到待解答文本对应的待解答意图;
对所述待解答文本进行命名实体识别,得到待解答实体;
基于预设意图与问题模板之间的映射关系以及所述待解答意图,确定候选问题模板;
基于所述待解答实体以及所述候选问题模板,生成问题序列。
8.一种虚拟对象互动装置,用于实现如权利要求1-7中任一项所述的方法,其特征在于,所述装置包括:
拆解模块,用于对待解答文本进行拆解处理,得到问题序列,所述问题序列包括按照解答顺序排列的多个子问题;
分配模块,用于为每个所述子问题分配处理线程,并基于所述处理线程将所述子问题发送至预设模型,以获取每个子问题对应的子答案;
输出存储模块,用于若检测到所述问题序列中的首个子问题对应的子答案,将多个子答案按照所述解答顺序存储为答案序列并控制虚拟对象按照所述解答顺序输出多个子答案;
指令检测模块,用于若在所述虚拟对象按照所述解答顺序输出多个子答案的过程中检测到调节指令,将所述虚拟对象正在输出的子答案确定为目标答案;
响应确定模块,用于基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率;
响应输出模块,用于控制所述虚拟对象以所述响应速率输出所述响应内容;
其中,所述调节指令包括中断指令和续播指令,所述基于所述目标答案以及所述答案序列,确定所述调节指令对应的响应内容和响应速率,包括:
响应于所述中断指令,控制所述虚拟对象暂停输出所述多个子答案;将所述目标答案划分为已输出答案和未输出答案;响应于所述续播指令,获取所述续播指令和所述中断指令之间的时间间隔;若所述时间间隔大于预设间隔,基于所述未输出答案的语义完整性、所述已输出答案以及所述答案序列,确定响应内容;若所述时间间隔不大于预设间隔,将获取所述目标答案的处理线程确定为指定线程;将所述已输出答案、所述目标答案对应的子问题以及预设提示词,通过所述指定线程发送至所述预设模型中,得到预测答案,其中,所述预测答案以所述已输出答案为开头;从所述预测答案中去除所述已输出答案,得到待使用答案;将所述待使用答案以及指定答案作为响应内容,所述指定答案为所述答案序列中位于所述目标答案之后的所有子答案;将所述虚拟对象按照所述解答顺序输出多个子答案时的速率,作为响应速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410511598.4A CN118093845B (zh) | 2024-04-26 | 虚拟对象互动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410511598.4A CN118093845B (zh) | 2024-04-26 | 虚拟对象互动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118093845A CN118093845A (zh) | 2024-05-28 |
CN118093845B true CN118093845B (zh) | 2024-06-21 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111681077A (zh) * | 2020-05-27 | 2020-09-18 | 引众传媒(苏州)有限公司 | 一种基于互动消息的电子商务系统及其工作方法 |
CN112463108A (zh) * | 2020-12-14 | 2021-03-09 | 美的集团股份有限公司 | 语音交互处理方法、装置、电子设备及存储介质 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111681077A (zh) * | 2020-05-27 | 2020-09-18 | 引众传媒(苏州)有限公司 | 一种基于互动消息的电子商务系统及其工作方法 |
CN112463108A (zh) * | 2020-12-14 | 2021-03-09 | 美的集团股份有限公司 | 语音交互处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190187782A1 (en) | Method of implementing virtual reality system, and virtual reality device | |
US11247134B2 (en) | Message push method and apparatus, device, and storage medium | |
WO2017186050A1 (zh) | 人机智能问答系统的断句识别方法和装置 | |
WO2021022992A1 (zh) | 对话生成模型的训练方法、对话生成方法、装置及介质 | |
CN112334892A (zh) | 选择性生成用于指导人机对话的继续的扩展响应 | |
CN112328142B (zh) | 直播互动方法、装置、电子设备和存储介质 | |
US11830482B2 (en) | Method and apparatus for speech interaction, and computer storage medium | |
CN107613315A (zh) | 视频画质调整方法、装置、终端设备及存储介质 | |
CN112764612A (zh) | 互动方法、装置、电子设备和存储介质 | |
CN113344184B (zh) | 用户画像预测方法、装置、终端和计算机可读存储介质 | |
CN109360551B (zh) | 一种语音识别方法及装置 | |
CN112739507B (zh) | 一种交互沟通实现方法、设备和存储介质 | |
CN117253478A (zh) | 一种语音交互方法和相关装置 | |
CN112307166B (zh) | 一种智能问答方法、装置、存储介质以及计算机设备 | |
CN118093845B (zh) | 虚拟对象互动方法及装置 | |
CN118093845A (zh) | 虚拟对象互动方法及装置 | |
CN110111793B (zh) | 音频信息的处理方法、装置、存储介质及电子装置 | |
CN114827646B (zh) | 视频流中预加载直播间方法、装置、设备及存储介质 | |
CN115543090A (zh) | 话题转移方法、装置、电子设备和存储介质 | |
CN112786031B (zh) | 人机对话方法及系统 | |
CN113364665A (zh) | 信息播报方法和电子设备 | |
CN116089728B (zh) | 针对儿童的语音互动小说的生成方法及相关装置 | |
CN114020153B (zh) | 一种多模态人机交互方法及装置 | |
CN110543556A (zh) | 对话配置方法及存储介质和电子设备 | |
CN111159472A (zh) | 多模态聊天技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |