多模态聊天技术的制作方法

文档序号:20769462发布日期:2020-05-15 19:28阅读:228来源:国知局
多模态聊天技术的制作方法



背景技术:

聊天机器人(chatbot)是一个用来模拟人类会话或聊天的应用程序或者计算机系统。随着语言处理技术的发展,聊天机器人已经广泛地应用到各种应用程序或者智能设备中,以提供人机间灵活的交流方式。现有的聊天机器人与人类的交互方式,主要是基于文字或者语音来进行交互,由于文字和语音的局限性,难以表达更加丰富的内容。



技术实现要素:

提供本发明实施例内容是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

本文公开的多模态聊天技术,用于在聊天机器人与人类的交互中,采用多模态答复的方式对用户询问进行答复。通过采用多模态方式的答复,使得聊天机器人的表达方式和内容更加丰富。

上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。

附图说明

图1为描述多模态答复系统的应用场景之一的示意框图;

图2为描述多模态答复系统的应用场景之二的示意框图;

图3为描述采用多模态答复方式的会话界面示意框图;

图4为描述多模态答复生成装置的示例之一的框图;

图5为描述多模态答复生成装置的示例之二的框图;

图6为描述多模态答复生成方法的说明性处理过程之一的流程示意图;

图7为描述多模态答复生成方法的说明性处理过程之二的流程示意图;

图8为描述多模态答复生成方法的说明性处理过程之三的流程示意图;

图9为描述示例性的具有可移动性的移动终端设备的结构框图;

图10为描述示例性的计算设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

概览

本发明实施例提出了一种让聊天机器人以多模态答复的方式与用户进行交互。这里所说的模态是指内容或者信息的表现形态,同一个内容可以以文本消息的形式表达,也可以音频的形式表达,还可以以视频的形式表达。常见的多模态数据的形式例如视频,视频中包含了动态图像、音频以及字幕这三种模态的内容表达形式。在聊天机器人收到一个用户查询后,可以选择一段与用户查询对应的视频来作为答复。需要说明的是,上述的多模态可以是视频以外的其他形式,例如,采用音频结合字幕的形式,动态图像、音频以、字幕以及弹幕的方式。

在本发明实施例中,可以事先获取一些多模态数据,针对每个多模态数据,将用户查询与该多模态数据中的各个单模态数据进行包含相似度匹配计算的单模态数据融合,生成单模态融合数据,然后,再将各个模态对应的单模态融合数据进行再次数据融合,生成多模态融合数据。在多模态融合数据中,包含了用户查询与多模态数据整体的相似度。在针对每个多模态数据进行上述的数据融合后,可以获得用户查询与各个多模态数据的相似度,然后,根据该相似度排序,选择出适合的多模态数据来生成答复。

下面将通过一些示例来进一步介绍一下本发明实施例的技术方案。

说明性应用场景示例

下面描述的应用场景仅构成一个示例,而不旨在将各项权利要求限于任一特定操作应用场景中。可以使用其它应用场景而不背离所要求保护的主题的精神和范围。

如图1所示,其为描述多模态答复系统的应用场景之一的示意框图100。图1所示的应用场景中所涉及的多模态数据为视频,最终生成的多模态答复也是以视频片段的方式进行输出。整个多模态答复系统主要涉及了视频搜索引擎102和设置有多模态答复生成模型105的服务器104。用户终端101在接收到用户输入的用户查询111后,将该用户查询111发送给视频搜索引擎102和服务器104。

视频搜索引擎102能够从多种视频源中获取视频资源,这些视频源可以包括:在线影视平台103a、电视播放平台103b、直播平台103c等视频源。视频搜索引擎102在接收到用户查询111后,从视频源中进行检索,获取与该用户查询111相关的视频112提供给服务器104。视频112可以是电影、纪录片、电视剧、直播视频片段、讲座视频等。

在服务器104中,对视频112进行截取形成多个视频片段,基于每个视频片段生成包含动态图像片段、音频片段以及字幕对应的特征向量的多模态元组113,该多模态元组包含了动态图像片段、音频片段以及字幕这三方面的单模态数据,并且由于这三个单模态数据是对应于同一个视频片段,因此,这三个单模态数据实际上是彼此关联的。一个视频112可能会被截取为多个多模态元组113。需要说明的是,上述的多模态元组中,各个单模态数据均以特征向量的形式存在。

这些多模态元组113被输入到多模态答复生成模型105中,同时用户查询112也被输入到多模态答复生成模型105中,在本发明实施例中,在输入到多模态答复生成模型105进行处理时,用户查询112也是以特征向量的形式存在。为了方便图示,在多模态答复生成模型105中,用户查询112用“q”来表示。多模态元组113的每个单模态数据分别被输入到与其对应的融合模块中,其中,字幕对应特征向量被输入到字幕融合模块105a中,动态图像片段对应的特征向量被输入到动态图像融合模块105b中,音频片段对应的特征向量被输入到音频片段融合模块105c中,与此同时,字幕融合模块105a、动态图像融合模块105b以及音频片段融合模块105c中还输入了用户查询112对应的特征向量。字幕融合模块105a、动态图像融合模块105b以及音频片段融合模块105c分别执行包含相似度匹配计算的单模态数据融合处理,生成单模态融合数据。在这些单模态融合数据中,除了包含用户查询112与各个单模态数据的信息外,还包含了用户查询112与各个单模态数据之间的相似度信息。

在分别生成动态图像片段、音频片段以及字幕这三方面对应的单模态融合数据后,再将这三方面的单模态融合数据输入到多模态数据融合模块105d中进行多模态数据融合处理,从而将三方面的单模态融合数据融合为多模态融合数据,在多模态融合数据中包含了用户查询112与整个多模态元组113之间的相似度信息,多模态融合数据中包含的相似度信息体现了对用户查询112与动态图像片段、音频片段以及字幕这三方面内容的匹配性的综合评估结果。

上述的多模态答复生成模型105会对多个多模态元组113(可能对应于一个完整视频112的全部的视频片段截取)进行分别处理,产生针对每个多模态元组113的相似度,然后可以通过相似度排序机制,选择靠前的一个或多个多模态元组113,最后根据选定的多模态元组113,获取对应的视频片段或者重新生成一段视频片段,并作为多模态答复114进行输出。

作为另外一种实现方式,如图2所示,其为描述多模态答复系统的应用场景之二的示意框图200。多模态元组113也可以从数据库103d中获取。在提供聊天机器人的一方,可以事先对海量视频进行加工,形成多模态元组113并存放于数据库103d中,并且可以对多模态元组113赋予一些标签信息。当获取用户查询111后,可以从该数据库103d中检索相关的多模态元组113并输入到多模态答复生成模型105中进行处理,以生成多模态答复114。

此外,对于多模态答复114的具体形式,可以是将多模态元组113对应的视频片段直接输出,也可以是根据多模态元组113中包含的三方面的单模态数据进行加工后再输出。例如,可以在输出视频片段的同时,输出基于三方面的单模态数据而生成的概要信息。此外,多模态答复114可能会包含多个多模态元组113的内容,可以以多段视频片段组合的方式进行输出。

如图3所示,其为描述采用多模态答复方式的会话界面示意框图300。在图3中,用户输入“如何煎牛排”的消息,该消息将会作为用户查询111执行如图1或者图2中所示的处理过程,并生成多模态114。具体地,可以将视频片段结合概要说明一起发送给用户,如在图3左侧的聊天对话框中所示,聊天机器人回复一条消息,该消息中包含一个视频播放链接以及“先将牛排放入平底锅中间,然后xxx”的操作过程简要描述。当用户点击该视频播放链接后,呈现右侧的视频展示界面,在该界面中,为用户播放了一段视频片段,该视频片段来自于某个视频源中的视频的一部分。

此外,需要说明的是,上述图1和图2中的用户终端101可以是小型因素便携式(或移动)电子设备或者设置于小型因素便携式(或移动)电子设备中。这里所说的小型因素便携式(或移动)电子设备可以是:例如,蜂窝电话、只能手机、平板电脑、个人数据助理(pda)、个人媒体播放器装置、无线网络观看装置、个人头戴装置、专用装置或包括以上功能中的任何一个的混合装置。用户终端101还可以被实现为台式计算机、笔记本电脑、专用服务器等计算机设备。上述的服务器104可以为通过一个或多个计算机系统实现的分布式服务器或者是基于云架构的云服务器,也可以是本地局域网中的服务器。

具体实现示例

如图4所示,其为描述本发明实施例的多模态答复生成装置的示例之一的框图400。如图4所示,该多模态答复生成装置401包括:与模态数量对应设置的单模态数据融合模块、多模态数据融合模块、相似度排序模块402以及输出模块403。

该多模态答复生成装置401的输入数据包括用户查询111以及m个多模态元组1131~113m构成的多模态元组集合408。其中,用户查询111和多模态元组1131~113m中的数据可以特征向量的形式被输入到多模态答复生成装置401中,当然,也可以在多模态答复生成装置401中设置输入模块,对输入的数据进行特征提取,以形成特征向量。

如4图中所示,在每个多模态元组中,各个单模态数据是具有并行的关联关系的数据。如前面介绍的图1和图2对应的示例中,在一个视频片段中,动态图像片段、音频片段以及字幕之间是彼此并行但是具有关联关系的数据,音频片段可能是动态图像片段中人物说话的声音,而字幕是人物说话对应的文本或者配合场景的旁白等。

对于每个多模态元组,其包含的各个单模态数据将会以并行的方式输入到多模态答复生成装置401中。图中方框4071~407m中包含的模块结构以及功能是相同的,可以将方框4071~407m中的各个模块对应合并为在一起,并采用循环的方式对输入的多个多模态元组进行处理,即采用方框4071~407m中任意一个方框中的模块结构来对多个多模态元组进行处理即可。为了描述清楚地说明各个模块对于多个多模态元组的处理方式,仍然采用图4所示的方框4071~407m并行排布的状态进行描述。

以方框4071为例,多模态元组1131中的各个单模态数据d11~d1n被分别输入到对应的单模态数据融合模块411~41n中,与此同时,用户查询111(图中简化标识为“q”)也被输入到单模态数据融合模块411~41n中。单模态数据融合模块411~41n针对用户查询111和单模态数据d11~d1n,执行包含相似度匹配计算的单模态数据融合处理,并生成单模态融合数据。在该单模态融合数据中包含了用户查询与单模态数据之间的第一相似度信息,也包含了用户查询与单模态数据本身的内容信息。

将生成的单模态融合数据输入到多模态数据融合模块410中,执行多模态数据融合处理,生成多模态融合数据。由于各个单模态融合数据中包含了各个单模态数据与用户查询之间的相似度信息,再将单模态融合数据融合为多模态融合数据后,该多模态融合数据中包含了用户查询与多模态元组之间的相似度信息,也就是说,这个相似度信息体现了用户查询与整个多模态元组之间的相似度。

如图中所示,方框4071~407m分别对各个多模态元组1131~113m执行相同的数据融合处理,生成m个多模态融合数据,并输入到相似度排序模块402中。相似度排序模块402会根据多模态融合数据中包含的相似度信息生成各个多模态元组1131~113m的相似度排序。

最后,输出模块可以根据预先设定的策略和相似度排序结果,确定要一个或多个多模态元组,然后再根据确定的多模态元组生成多模态答复114a。

如图5所示,其为描述本发明实施例的多模态答复生成装置的示例之二的框图500。图5示出了另外一种多模态答复生成装置501的内部结构。与图4所示的多模态答复生成装置不同之处在于,增加了上下文融合模块504,此外,输入的多个多模态元组1131~113m之间具有一定的上下文序列关系。例如,按照视频播放顺序的将视频截取为多个视频片段,然后再根据多个视频片段生成多个多模态元组1131~113m,视频片段之间是具有一定的上下文序列关系,相应地,多模态元组1131~113m具有上下文序列关系。图5中,多个具有上下文序列关系的多模态元组1131~113m形成多模态元组序列508输入到多模态答复生成装置501中。

与图4所示的结构类似,图中方框5071~507m中包含的模块结构以及功能是相同的,可以将方框5071~507m中的各个模块对应合并为在一起,并采用循环的方式对输入的多个多模态元组进行处理,即采用方框5071~507m中任意一个方框中的模块结构来对多个多模态元组进行处理即可。为了描述清楚地说明各个模块对于多个多模态元组的处理方式,仍然采用图5所示的方框5071~507m并行排布的状态进行描述。

图5中方框5071~507m中的数据融合处理与图4中方框4071~407m是一样的。在图5中,方框5071~507m生成多个多模态融合数据后,会输入到上下文融合模块504中。为了便于区分描述,将方框5071~507m中,多模态数据融合模块510对各个单模态融合数据进行的数据融合处理称作第一多模态融合数据处理,生成的融合数据称作第一多模态融合数据。多个第一多模态融合数据输入到上下文融合模块504后,上下文融合模块504会按照各个多模态元组的上下文序列关系,对多个第一多模态融合数据执行第二多模态数据融合处理,生成多个第二多模态融合数据。在第二多模态融合数据中包含了在引入上下文序列关系后的用户查询与多模态元组之间的第二相似度信息。

然后,相似度排序模块502会根据第二多模态融合数据中包含的第二相似度信息生成各个多模态元组1131~113m的相似度排序。

最后,输出模块503会根据预先设定的策略和相似度排序结果,确定出一个或多个多模态元组,然后再根据确定的多模态元组生成多模态答复114b。具体地,作为一种输出方式,可以根据第二相似度信息的大小以及分布情况,确定需要作为输出的多个多模态元组的起始多模态元组和终止多模态元组,也就是确定了需要输出的起始视频片段和终止视频片段,然后,就可以将起始视频片段和终止视频片段之间的全部视频片段都作为多模态答复进行输出。

在图5所示的多模态答复生成装置中,通过在数据融合处理中,引入了上下文序列关系,从而能够更加合理地确定用户查询与多模态元组之间的相似度,从而能够为用户提供更加合适的多模态答复。

上述图4和图5所示的多模态答复生成装置中,可以通过图1所示的视频搜索引擎获取的视频,并进行加工处理后生成多模态元组。图1所示的视频搜索引擎102也可以作为多模态答复生成装置中的一个模块(例如视频检索模块)来执行根据用户查询在视频搜索引擎中进行检索,获取用户查询相关的多个视频的处理。相应地,多模态答复生成装置还可以进一步包括多模态元组生成模块,用于从视频截取多个视频片段,并基于多个视频片段,生成多个多模态元组。

而对于图2所示的情形,即经过事先对海量视频进行加工,已经形成了许多多模态元组并存放于数据库中。在这种情况下,多模态答复生成装置还可以包括多模态元组获取模块,用于根据用户查询在多模态元组的数据库中进行检索,获取与用户查询相关的多个多模态元组。

图4和图5中的多模态答复装置可以采用经过训练的机器学习模型来实现。其中,上述的各个单模态数据融合模块和多模态数据融合模块可以全部或者部分基于concatenationfusion(拼接融合),element-wiseproduct(元素积)、bilinearpooling(线性池化)等算法模型来实现。上下文融合模块全部或者部分基于cnn(卷积神经网络,convolutionalneuralnetwork)、rnn(循环神经网络,recurrentneuralnetwork)、transformer(转化器模型)等算法模型来实现。其中,在rnn模型中,可以使用bi-lstm(双向长短时记忆,bidirectionallongshort-termmemory)模型来形成上下文融合模块。

关于机器学习模型的训练方面,以使用视频来生成多模态元组的数据来源为例,上述机器学习模型的训练数据可以从如图1所示的各种视频源中获取,将这些视频源中的视频拆分为视频片段后,生成对应的多模态元组,并根据这些视频片段内容来模拟生成用户查询(可以通过人工生成的方式也可以从视频片段对应的字幕文本中提取),将多模态元组和对应的用户查询作为训练数据,对该机器学习模型进行有监督的训练。训练的主要目标是要不断完善机器学习模型对于用户查询与多模态元组之间的相似度的判定的准确度。

以上介绍了本发明实施例的多模态答复生成装置,上述多模态答复生成装置所执行的功能可以实现为下面介绍的多模态答复生成方法。

说明性过程

如图6所示,其为描述本发明实施例的多模态答复生成方法的说明性处理过程之一的流程示意图600,该处理过程包括:

s601:获取用户查询。该用户查询可以来自于图3所示的人机对话的用户信息输入,也可以来自聊天会话界面以外信息输入,例如,用户使用移动终端通过语音的方式输入一条信息,触发一种移动终端中的聊天机器人来生成用户查询,并进行后续生成多模态答复的处理。

在获取到用户查询后,将用户查询和多个多模态元组输入到多模态答复生成模型(可以采用图4或者图5中多模态答复生成装置中的具体结构)中进行如下处理:

s602:对用户查询和多模态元组中每个单模态数据,执行包含相似度匹配计算的单模态数据融合处理,生成单模态融合数据,单模态融合数据中包含了用户查询与单模态数据之间的第一相似度信息。

s603:将每个多模态元组对应的多个单模态融合数据执行多模态数据融合处理,生成多模态融合数据,多模态融合数据中包含了用户查询与多模态元组之间的相似度信息。

s604:根据用户查询与多模态元组之间的相似度信息,确定出一个或多个多模态元组,并根据确定的多模态元组,生成多模态答复。

如图7所示,其为描述本发明实施例的多模态答复生成方法的说明性处理过程之二的流程示意图700,在图6所示的处理过程的基础上,上述的步骤s603可以进一步包括:

s6031:将每个多模态元组对应的多个单模态融合数据进行第一多模态数据融合处理,生成第一多模态融合数据,第一多模态融合数据中包含了用户查询与多模态元组之间的第一相似度信息。

s6032:将多个第一多模态融合数据按照上下文序列关系进行第二多模态数据融合处理,生成多个第二多模态融合数据,第二多模态融合数据中包含了在引入上下文序列关系后的用户查询与多模态元组之间的第二相似度信息。

相应地,上述的s604具体为s6041:根据第二相似度信息,确定出一个或多个多模态元组,并根据确定的多模态元组,生成多模态答复。

此外,上述的多模态元组可以来自于对视频的抽取处理。多模态元组可以包括基于动态图像片段、音频片段以及字幕构成的三元组数据。动态图像片段、音频片段以及字幕是基于同一视频片段生成的,因此它们之间是相互关联的。在执行上述图6或者图7的处理之前,还可以包括获取与用户查询相关联的多模态元组的处理过程。

如图8所示,其为描述本发明实施例的多模态答复生成方法的说明性处理过程之三的流程示意图800。在图6或者图7的处理流程的基础上(图8中仅示出了在图6所示流程上增加的处理步骤),还可以包括:

s801:根据用户查询在视频搜索引擎中进行检索,获取与用户查询相关的多个视频。

s802:从视频截取多个视频片段,并基于多个视频片段,生成多个多模态元组。

图8所示的处理流程中,多模态元组的获取是从线上的视频搜索引擎中获取原始视频,然后再对视频进行加工来提取出多模态元组。作为另外一种实现方式,也可以事先对海量视频进行加工,形成多模态元组并存放于数据库中,并且可以对多模态元组赋予一些标签信息。当获取用户查询后,可以根据用户查询在存储有多模态元组的数据库中进行检索,获取与用户查询相关的多个多模态元组,作为多模态答复生成模型的输入。

另外,在多模态答复的输出方式上,可以直接输出一个或多个视频片段也可以在输出视频片段的同时,附加对应的概要信息,以方便用户初步了解答复内容。

需要说明的是,上述的多模态答复生成方法,可以基于上述的多模态答复生成装置来实现,也可以作为方法流程而独立实现,或者通过其他的软件或者硬件设计,在本发明实施例的发明思想之下,进行实现。

以上介绍了本发明实施例的多模态答复生成方法的各个流程,其技术细节以及相应的技术效果在之前针对多模态答复生成装置的介绍中进行了详细说明,在此不再赘述。

硬件设备实现示例

本公开的电子设备可以是具有可移动性的移动终端设备,也可以是较少移动的或者非移动的计算设备。本公开的电子设备至少具有处理单元和存储器,存储器上存储有指令,处理单元从存储器上获取指令,并执行处理,以使电子设备执行动作。

在一些例子中,上述图1至图8涉及的一个或多个模块或者一个或多个步骤或者一个或多个处理过程,可以通过软件程序、硬件电路,也可以通过软件程序和硬件电路相结合的方式来实现。例如,上述各个组件或者模块以及一个或多个步骤都可在芯片上系统(soc)中实现。soc可包括:集成电路芯片,该集成电路芯片包括以下一个或多个:处理单元(如中央处理单元(cpu)、微控制器、微处理单元、数字信号处理单元(dsp)等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和可任选的嵌入的固件。

如图9所示,其为示例性的具有可移动性的移动终端设备1300的结构框图。该移动终端设备900可以是小型因素便携式(或移动)电子设备。这里所说的小型因素便携式(或移动)电子设备可以是:例如,蜂窝电话、智能手机、平板电脑、个人数据助理(pda)、笔记本电脑、平板电脑、个人媒体播放器装置、无线网络观看装置、个人头戴装置、专用装置或包括以上功能中的任何一个的混合装置。移动终端设备900至少包括:存储器901和处理器902。

存储器901,用于存储程序。除上述程序之外,存储器901还可被配置为存储其它各种数据以支持在移动终端设备900上的操作。这些数据的示例包括用于在移动终端设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器901可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

存储器901耦合至处理器902并且包含存储于其上的指令,所说的指令在由处理器902执行时使移动终端设备执行动作,作为一种移动终端设备的实施例,该动作可以包括:用于实现图6至图8对应的示例所执行的相关处理流程,图1至图5所示的装置、系统以及用户界面的执行的处理逻辑。

对于上述的处理操作,在前面方法和装置的实施例中已经进行了详细说明,对于上述的处理操作的详细内容同样也适用于移动终端设备900中,即可以将前面实施例中提到的具体处理操作,以程序的方式写入在存储器901,并通过处理器902来进行执行。

进一步,如图9所示,移动终端设备900还可以包括:通信组件903、电源组件904、音频组件905、显示器906、芯片组907等其它组件。图9中仅示意性给出部分组件,并不意味着移动终端设备900只包括图9所示组件。

通信组件903被配置为便于移动终端设备900和其他设备之间有线或无线方式的通信。移动终端设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g以及5g或它们的组合。在一个示例性实施例中,通信组件903经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件903还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件904,为移动终端设备的各种组件提供电力。电源组件904可以包括电源管理系统,一个或多个电源,及其他与为移动终端设备生成、管理和分配电力相关联的组件。

音频组件905被配置为输出和/或输入音频信号。例如,音频组件905包括一个麦克风(mic),当移动终端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器901或经由通信组件903发送。在一些实施例中,音频组件905还包括一个扬声器,用于输出音频信号。

显示器906包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

上述的存储器901、处理器902、通信组件903、电源组件904、音频组件905以及显示器906可以与芯片组907连接。芯片组907可以提供处理器902与移动终端设备900中的其余组件之间的接口。此外,芯片组907还可以提供移动终端设备900中的各个组件对存储器901的访问接口以及各个组件间相互访问的通讯接口。

在一些例子中,上述图1至图8涉及的一个或多个模块或者一个或多个步骤或者一个或多个处理过程,可以通过具有操作系统和硬件配置的计算设备来实现。

图10其为示例性的计算设备1000的结构框图。此处所提供的对计算机1000的描述只是为了说明,并不是限制性的。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。

如图10所示,计算设备1000包括一个或多个处理器1002、系统存储器1004,以及将包括系统存储器1004的各种系统组件耦合到处理器1002的总线1006。总线1006表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任何一种的局部总线。系统存储器1004包括只读存储器(rom)1008和随机存取存储器(ram)1010。基本输入/输出系统1012(bios)储存在rom1008中。

计算机系统1000还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器1014、用于读或写可移动磁盘1018的磁盘驱动器1016、以及用于读或写诸如cdrom、dvdrom或其他光介质之类的可移动光盘1022的光盘驱动器1020。硬盘驱动器1014、磁盘驱动器1016,以及光驱动器1020分别通过硬盘驱动器接口1024、磁盘驱动器接口1014,以及光学驱动器接口1028连接到总线1006。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(ram)、只读存储器(rom)等等之类的其他类型的计算机可读存储介质来储存数据。

数个程序模块可被储存在硬盘、磁盘、光盘、rom或ram上。这些程序包括操作系统1030、一个或多个应用程序1032、其他程序1034以及程序数据1036。这些程序可包括例如用于实现图6至图8对应的示例所执行的相关处理流程,图1至图5所示的装置、系统以及用户界面的执行的处理逻辑。

用户可以通过诸如键盘1038和指点设备1040之类的输入设备向计算设备1000中输入命令和信息。其它输入设备(未示出)可包括话筒、控制杆、游戏手柄、卫星天线、扫描仪、触摸屏和/或触摸平板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统、诸如此类。这些及其他输入设备可通过耦合到总线1006的串行端口接口1042连接到处理器1002,但也可以通过其他接口(诸如并行端口、游戏端口、通用串行总线(usb)端口)来进行连接。

显示屏1044也通过诸如视频适配器1046之类的接口连接到总线1006。显示屏1044可在计算设备1000外部或纳入其中。显示屏1044可显示信息,以及作为用于接收用户命令和/或其它信息(例如,通过触摸、手指姿势、虚拟键盘等等)的用户界面。除了显示屏1044之外,计算设备1000还可包括其他外围输出设备(未示出),如扬声器和打印机。

计算机1000通过适配器或网络接口1050、调制解调器1052、或用于通过网络建立通信的其他手段连接到网络1048(例如,因特网)。可以是内置的或外置的调制解调器1052可以经由串行端口接口1042连接到总线1006,如图10所示,或者可以使用包括并行接口的另一接口类型连接到总线1006。

如此处所用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”被用于泛指介质,诸如与硬盘驱动器1010相关联的硬盘、可移动磁盘1018、可移动光盘1022、系统存储器1004、闪存卡、数字视频盘、随机读取存储器(ram)、只读存储器(rom)以及其它类型的物理/有形存储介质等。这些计算机可读存储介质与通信介质(不包括通信介质)相区别且不重叠。通信介质通常在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或者其它数据。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如声学、rf、红外线的无线介质和其它无线介质以及有线介质。各个实施例也针对这些通信介质。

如上文所指示的,计算机程序和模块(包括应用程序1032及其他程序1034)可被储存在硬盘、磁盘、光盘、rom或ram上。这样的计算机程序也可以通过网络接口1050、串行端口接口1042或任何其他接口类型来接收。这些计算机程序在由应用程序执行或加载时使得计算机1000能够实现此处所讨论的实施例的特征。因此,这些计算机程序表示计算机系统1000的控制器。

这样,各个实施例还涉及包括储存在任何计算机可用存储介质上的计算机指令/代码的计算机程序产品。这样的代码/指令当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。可包括计算机可读存储介质的计算机可读存储设备的示例包括诸如ram、硬盘驱动器、软盘驱动器、cdrom驱动器、dvddom驱动器、压缩盘驱动器、磁带驱动器、磁性存储设备驱动器、光学存储设备驱动器、mem设备、基于纳米技术的存储设备等的存储设备以及其它类型的物理/有形计算机可读存储设备。

示例条款

a:一种方法,包括:

获取用户查询;

将用户查询和多个多模态元组输入到多模态答复生成模型中进行如下处理:

对所述用户查询和每个所述多模态元组中每个单模态数据,执行包含相似度匹配计算的单模态数据融合处理,生成单模态融合数据,所述单模态融合数据中包含了所述用户查询与所述单模态数据之间的第一相似度信息;

将每个所述多模态元组对应的多个单模态融合数据进行多模态数据融合处理,生成多模态融合数据,所述多模态融合数据中包含了所述用户查询与所述多模态元组之间的相似度信息;

根据所述用户查询与所述多模态元组之间的相似度信息,确定生成多模态答复的一个或多个多模态元组,并根据确定的多模态元组,生成多模态答复。

b:根据段落a所述的方法,其中,输入到多模态答复生成模型的多个多模态元组具有上下文序列关系,

所述将每个所述多模态元组对应的多个单模态融合数据进行多模态数据融合处理,生成多模态融合数据包括:

将每个所述多模态元组对应的多个单模态融合数据进行第一多模态数据融合处理,生成第一多模态融合数据,所述第一多模态融合数据中包含了所述用户查询与所述多模态元组之间的第一相似度信息;

将多个第一多模态融合数据按照上下文序列关系进行第二多模态数据融合处理,生成多个第二多模态融合数据,所述第二多模态融合数据中包含了在引入上下文序列关系后的所述用户查询与所述多模态元组之间的第二相似度信息,

根据所述用户查询与所述多模态元组之间的相似度信息,确定生成多模态答复的一个或多个多模态元组包括:根据所述第二相似度信息,确定的生成多模态答复的一个或多个多模态元组。

c:根据段落a所述的方法,其中,在将用户查询和多个多模态元组输入到多模态答复生成模型之前还包括:

根据用户查询在多模态元组的数据库中进行检索,获取与所述用户查询相关的多个多模态元组,作为所述多模态答复生成模型的输入。

d:根据段落a所述的方法,其中,多模态元组包括相互关联的动态图像片段、音频片段以及字幕构成的三元组数据。

e:根据段落d所述的方法,其中,在将用户查询和多个多模态元组输入到多模态答复生成模型之前还包括:

根据用户查询在视频搜索引擎中进行检索,获取与所述用户查询相关的多个视频;

从所述视频截取多个视频片段,并基于所述多个视频片段,生成多个所述多模态元组。

f:根据段落e所述的方法,其中,所述多模态答复包括一个或多个视频片段以及与所述一个或多个视频片段对应的概要信息。

g:一种装置,包括:

多个单模态数据融合模块,用于对获取的用户查询和多个所述多模态元组中的每个多模态元组中的每个单模态数据,执行包含相似度匹配计算的单模态数据融合处理,生成单模态融合数据,所述单模态融合数据中包含了所述用户查询与所述单模态数据之间的第一相似度信息;

多模态数据融合模块,用于将每个所述多模态元组对应的多个单模态融合数据进行多模态数据融合处理,生成多模态融合数据,所述多模态融合数据中包含了所述用户查询与所述多模态元组之间的相似度信息;

相似度排序模块,用于根据所述用户查询与所述多模态元组之间的相似度信息进行相似度排序,并根据相似度排序结果确定生成多模态答复的一个或多个多模态元组;

输出模块,用于根据确定的一个或多个多模态元组,生成多模态答复。

h:根据段落g所述的装置,其中,所述多个多模态元组具有上下文序列关系,所述装置还包括上下文融合模块,

上述的多模态数据融合模块具体用于:将每个所述多模态元组对应的多个单模态融合数据进行第一多模态数据融合处理,生成第一多模态融合数据,所述第一多模态融合数据中包含了所述用户查询与所述多模态元组之间的第一相似度信息;

所述上下文融合模块,用于将多个第一多模态融合数据按照上下文序列关系进行第二多模态数据融合处理,生成多个第二多模态融合数据,所述第二多模态融合数据中包含了在引入上下文序列关系后的所述用户查询与所述多模态元组之间的第二相似度信息,

所述相似度排序模块具体用于根据所述用户查询与所述多模态元组之间的第二相似度信息进行相似度排序,并根据相似度排序结果确定生成多模态答复的一个或多个多模态元组。

i:根据段落g所述的装置,其中,该装置还包括:

多模态元组获取模块,用于根据用户查询在多模态元组的数据库中进行检索,获取与所述用户查询相关的多个多模态元组。

j:根据段落g所述的装置,其中,多模态元组包括相互关联的动态图像片段、音频片段以及字幕构成的三元组数据。

k:根据段落j所述的装置,其中,该装置还包括:

视频检索模块,用于根据用户查询在视频搜索引擎中进行检索,获取与所述用户查询相关的多个视频;

多模态元组生成模块,用于从所述视频截取多个视频片段,并基于所述多个视频片段,生成多个所述多模态元组。

l:根据段落k所述的装置,其中,所述多模态答复包括一个或多个视频片段以及与所述一个或多个视频片段对应的概要信息。

m:一种电子设备,包括:

处理单元;以及

存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:

获取用户查询;

将用户查询和多个多模态元组输入到多模态答复生成模型中进行如下处理:

对所述用户查询和每个所述多模态元组中每个单模态数据,执行包含相似度匹配计算的单模态数据融合处理,生成单模态融合数据,所述单模态融合数据中包含了所述用户查询与所述单模态数据之间的第一相似度信息;

将每个所述多模态元组对应的多个单模态融合数据进行多模态数据融合处理,生成多模态融合数据,所述多模态融合数据中包含了所述用户查询与所述多模态元组之间的相似度信息;

根据所述用户查询与所述多模态元组之间的相似度信息,确定生成多模态答复的一个或多个多模态元组,并根据确定的多模态元组,生成多模态答复。

n:根据段落m所述电子设备,其中,输入到多模态答复生成模型的多个多模态元组具有上下文序列关系,

所述将每个所述多模态元组对应的多个单模态融合数据进行多模态数据融合处理,生成多模态融合数据包括:

将每个所述多模态元组对应的多个单模态融合数据进行第一多模态数据融合处理,生成第一多模态融合数据,所述第一多模态融合数据中包含了所述用户查询与所述多模态元组之间的第一相似度信息;

将多个第一多模态融合数据按照上下文序列关系进行第二多模态数据融合处理,生成多个第二多模态融合数据,所述第二多模态融合数据中包含了在引入上下文序列关系后的所述用户查询与所述多模态元组之间的第二相似度信息,

根据所述用户查询与所述多模态元组之间的相似度信息,确定生成多模态答复的一个或多个多模态元组包括:根据所述第二相似度信息,确定生成多模态答复的一个或多个多模态元组。

o:根据段落m所述的电子设备,其中,在将用户查询和多个多模态元组输入到多模态答复生成模型之前还包括:

根据用户查询在多模态元组的数据库中进行检索,获取与所述用户查询相关的多个多模态元组,作为所述多模态答复生成模型的输入。

p:根据段落m所述的电子设备,其中,多模态元组包括相互关联的动态图像片段、音频片段以及字幕构成的三元组数据。

q:根据段落p所述的电子设备,其中,在将用户查询和多个多模态元组输入到多模态答复生成模型之前还包括:

根据用户查询在视频搜索引擎中进行检索,获取与所述用户查询相关的多个视频;

从所述视频截取多个视频片段,并基于所述多个视频片段,生成多个所述多模态元组。

r:根据段落q所述的电子设备,其中,所述多模态答复包括一个或多个视频片段以及与所述一个或多个视频片段对应的概要信息。

结语

系统在各个方面的硬件与软件的实现上并没有太大的区别;使用硬件还是软件通常是权衡了成本与效率的设计上的选择结果,但在某些情况下,选择硬件还是软件可能是比较显而易见的决定。存在可以实现在此描述的处理和/或系统和/或其它技术(例如,硬件、软件,以及/或固件)的各种承载工具,并且优选的是,可以根据使用该处理和/或系统和/或其它技术的情况来改变承载工具。例如,如果实现方确定速度和准确度最重要,则该实现方可以选择主要由硬件和/或固件承载工具来实现;如果灵活性最重要,则该实现方可以选择主要软件来实现;或者,此外,该实现方可以选择硬件、软件,以及/或固件的一些组合来实现。

前述详细描述已经通过使用框图、流程图,以及/或示例阐述了该装置和/或处理的各种实施方式。这种框图、流程图,以及/或示例包含一个或更多个功能和/或操作,并且本领域技术人员应当明白,这种框图、流程图,或示例内的每一个功能和/或操作可以单独地和/或共同地,通过各种硬件、软件、固件,或者实际上其任何组合来实现。在一个实施方式中,在此描述的主旨的几个部分可以经由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp),或其它集成格式来实现。然而,本领域技术人员应当认识到,在此公开的实施方式的一些方面整个地或者部分地可以等同地在集成电路中实现,或者实现为运行在一个或更多个计算机上的一个或更多个计算机程序(例如,实现为运行在一个或更多个计算机系统上的一个或更多个程序),实现为运行在一个或更多个处理器上的一个或更多个程序(例如,实现为运行在一个或更多个微处理器上的一个或更多个程序),实现为固件,或者实际上实现为其任何组合,并且根据本公开,设计电路和/或编写用于软件和/或固件的代码完全处于本领域技术人员的技术范围内。另外,本领域技术人员应当清楚的是,在此描述的主题的机制能够以多种形式作为程序产品分发,并且在此描述的主题的例示性实施方式适用,而与被用于实际执行该分配的特定类型的信号承载介质无关。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器(hdd)、质密盘(cd)、数字通用盘(dvd)、数字磁带、计算机存储器等;和传输型介质,如数字和/或模拟通信媒介(例如,光纤线缆、波导管、有线通信链路、无线通信链路等)。

本领域技术人员应当认识到,按在此阐述的方式来描述装置和/或处理,并且此后,使用技术实践将这样描述的装置和/或处理集成到数据处理系统中是本领域内常见的。即,在此描述的装置和/或处理的至少一部分可以经由合理次数的实验而集成到数据处理系统中。本领域技术人员应当认识到的是,通常的数据处理系统通常包括以下中的一个或更多个:系统单元外壳、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统、驱动器、图形用户接口,以及应用程序的计算实体、诸如触摸板或触摸屏的一个或更多个交互式装置,以及/或包括反馈回路和控制电动机的控制系统(例如,用于感测位置和/或速度的反馈;用于移动和/或调节组件和/或数量的控制马达)。通常的数据处理系统可以利用任何合适商业可获组件来实现,如通常在数据计算/通信和/或网络通信/计算系统中找到的那些。

在此描述的主题有时例示了包含在不同的其它组件内或与其相连接的不同组件。本领域技术人员能够理解的是,这样描述的架构仅仅是示例性的,并且实际上,可以实现获得相同功能的许多其它架构。在概念意义上,用于获得相同功能的组件的任何排布结构都有效地“关联”,以获得所需要的功能。因此,在此为获得特定功能而组合的任两个组件都可以被看作彼此“相关联”,以使获得所需要的功能,而与架构或中间组件无关。同样地,这样关联的任两个组件还可以被视作彼此“可操作地连接”,或“可操作地耦接”,以获得所需要的功能,并且能够这样关联的任两个组件也可以被视作可彼此“操作地耦接”,以获得所需要的功能。可操作地耦接的具体示例包括但不限于,物理上可配合和/或物理上交互的组件和/或可无线地交互和/或无线地交互的组件和/或逻辑上交互和/或逻辑上可交互组件。

针对在此实质上使用的任何术语,本领域技术人员可以针对背景和/或应用根据情况将其理解为单数和/或复数。为清楚起见,在此阐述了各种单数/复数的改变。

本领域技术人员应当明白,一般来说,在此使用的,而且尤其是在所附权利要求书中(例如,所附权利要求书的主体)使用的术语通常旨在作为“开放式”表述(例如,表述“包括(including)”应当解释为“包括但不限于”,表述“具有(having)”应当解释为“至少具有”等)。本领域技术人员还应当明白,如果想要特定数量的权利要求列举,则这种意图将明确地在该权利要求中陈述,并且在没有这些列举的情况下,不存在这种意图。例如,为帮助理解,下面所附权利要求书可以包含使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求列举。然而,使用这种短语不应被认作,权利要求列举将包含这种介绍权利要求列举的任何特定权利要求限制于仅包含一个这种列举的发明,即使同一权利要求包括介绍性短语“一个或更多个”或“至少一个”;其对于使用为介绍权利要求列举而使用的限定来说同样成立。另外,即使明确地陈述特定数量的权利要求列举,本领域技术人员也应当认识到,这种列举通常应当被解释成,或者至少表示所陈述的数量(例如,“列举两个”的这样的具体列举在没有其它修饰语的情况下通常意指至少两个,或者两个或更多个)。而且,在使用类似于“a、b,以及c等中的至少一个”的表述的那些实例中,一般来说,这种句法结构希望本领域技术人员在意义上应当理解这种表述(例如,“具有a、b,以及c中的至少一个的系统”应当包括但不限于具有单独a、单独b、单独c、a和b一起、a和c一起、b和c一起,以及/或a、b以及c一起等的系统)。在使用类似于“a、b,或c等中的至少一个”的惯例的那些实例中,一般来说,这种句法结构希望本领域技术人员在意义上应当理解这种惯例(例如,“具有a、b,或c中的至少一个的系统”应当包括但不限于具有单独a、单独b、单独c、a和b一起、a和c一起、b和c一起,以及/或a、b以及c一起等的系统)。本领域技术人员还应当明白的是,实际上,呈现两个或更多个另选术语的任何转折词和/短语(无论处于描述、权利要求书中,还是在附图中)应当被理解成,设想包括这些术语、这些术语中的任一个,或者两个术语的可能性。例如,短语“a或b”应当被理解成,包括“a”或“b”或“a和b”的可能性。

本说明书中针对“实现方式”、“一个实现方式”、“一些实现方式”,或“其它实现方式”的引用可以意指,结合一个或更多个实现方式描述的特定特征、结构,或特性可以被包括在至少一些实现方式中,但不必被包括在所有实现方式中。前述描述中不同出现的“实现方式”、“一个实现方式”,或“一些实现方式”不必全部针对同一实现方式而引用。

虽然利用不同方法和系统描述和示出了特定示例性技术,但本领域技术人员应当明白,在不脱离要求保护的主题的情况下,可以进行各种其它修改,并且可以代替等同物。另外,在不脱离在此描述的中心概念的情况下,可以进行许多修改以使适应针对要求保护的主题的教导的特定情况。因此,要求保护的主题不限于所公开的特定示例,而是这种要求保护的主题还可以包括落入所附权利要求书及其等同物的范围内的所有实现。

尽管已经用结构特征和/或方法动作专用的语言描述了本主题,但要理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。而是,这些具体特征和动作是作为实现该权利要求的解说性形式而公开的。

除非另外具体声明,否则在上下文中可以理解并一般地使用条件语言(诸如“能”、“能够”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示对于一个或多个示例以任何方式要求特征、元素和/或步骤,或者一个或多个示例必然包括用于决定的逻辑、具有或不具有用户输入或提示、在任何特定实施例中是否要包括或要执行这些特征、元素和/或步骤。

除非另外具体声明,应理解连词(诸如短语“x、y或z中至少一个”)表示所列出的条目、词语等可以是x、y或z中的任一者、或其组合。

本公开所述和/或附图中描述的流程图中任何例行描述、元素或框应理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换示例被包括在本公开描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。

应当强调,可对上述示例作出许多变型和修改,其中的元素如同其他可接受的示例那样应被理解。所有这样的修改和变型在此旨在包括在本公开的范围内并且由以下权利要求书保护。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1