在视频播放期间进行自动聊天的制作方法

文档序号:26403597发布日期:2021-08-24 16:17阅读:232来源:国知局
在视频播放期间进行自动聊天的制作方法



背景技术:

随着数字设备、视频处理技术、网络技术等的发展,人们能够越来越便利地观看各种类型的视频,例如在线视频、离线视频等。在本文中,“视频”或“视频内容”可以广泛地指能够在用户的终端设备上呈现的各种视觉内容,例如,电影、电视剧、视频新闻、综艺节目、视频演讲、在线游戏界面等等。在一些提供视频内容的视频服务中,用户可以在观看视频期间参与与其他观看者的互动。例如,在一些视频网站中提供了实时评论或弹幕(barrage)功能,使得观看同一个视频的多个观看者可以在视频播放期间互相分享意见或感受。



技术实现要素:

提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。

本公开的实施例提出了用于在视频播放期间进行自动聊天的方法和装置。可以获得用户侧信息。可以从所述视频中检测视频信息。可以至少基于所述用户侧信息和所述视频信息来确定响应。可以在会话中提供所述响应。

应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。

附图说明

以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。

图1示出了根据实施例的在视频播放期间提供自动聊天的示例性场景。

图2示出了根据实施例的用于在视频播放期间提供自动聊天的示例性过程。

图3示出了根据实施例的用于确定响应的示例性过程。

图4示出了根据实施例的利用缓存来获得视频信息表示的示例性过程。

图5示出了根据实施例的用于确定响应的示例性过程。

图6示出了根据实施例的用于确定响应的示例性过程。

图7示出了根据实施例的用于确定响应的示例性过程。

图8示出了根据实施例的用于在视频播放期间提供自动聊天的示例性方法的流程图。

图9示出了根据实施例的用于在视频播放期间提供自动聊天的示例性装置。

图10示出了根据实施例的用于在视频播放期间提供自动聊天的示例性装置。

具体实施方式

现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。

通常,人们在观看视频时希望与其他人分享意见或感受。尽管实时评论或弹幕(barrage)功能可以实现在多个观看者之间的意见或感受分享,但是这些评论或弹幕是对所有观看者公开的,某个特定用户并不能在私密的氛围里分享意见或感受。此外,一些独居的人可能在生活中需要一些陪伴,尤其是在观看视频时,他们可能更想去分享自己的感受。

人工智能(ai)聊天机器人可以模拟人类话语,并且可以通过文本、语音、图像等与用户进行聊天。通常,聊天机器人可以在与用户的会话中进行自动聊天。在本文中,“会话”可以指两个聊天参与者之间的时间连续对话,并且可以包括对话中的消息和响应。“消息”可以指由用户输入的任何信息,例如来自用户的查询、用户对聊天机器人的问题的回答、用户的意见等。术语“消息”和术语“查询”也可以互换使用。“响应”可以指由聊天机器人提供的任何信息,例如聊天机器人对用户的问题的答案、聊天机器人的评论、聊天机器人提出的问题等。

然而,现有的聊天机器人通常只能与特定用户进行两方的自由聊天,而并不能针对该特定用户正在观看的视频来与该用户进行聊天。此外,尽管一些视频服务中引入了聊天机器人以自动地发表评论,但是该聊天机器人所发表的这些评论仅仅是基于来自多个用户的评论而给出的,而并非是针对某个特定用户的。

本公开的实施例提出了在用户观看视频期间,使得聊天机器人可以至少基于该视频来与该特定用户进行自动聊天。该自动聊天既考虑到了视频内容本身,也考虑到了关联于该特定用户的信息,从而,聊天机器人可以更好地陪伴用户一起观看视频,并且为用户提供私密的分享意见或感受的氛围。由于聊天机器人可以更自然顺畅地与用户进行关联于视频的聊天,这有效地改进了用户观看视频的体验,也增进了用户与聊天机器人之间的交流。

根据本公开的实施例,在用户观看视频期间,聊天机器人可以获得用户侧信息和视频信息,并且至少考虑用户侧信息和视频信息来在与该用户的会话中提供响应。在本文中,聊天机器人的“响应”不仅可以指针对用户话语的回答,也可以指聊天机器人主动说出的话语。用户侧信息可以包括与该用户相关联的各种信息,例如,用户的话语、当前的环境信息、来自用户周围的声音等。视频信息可以包括与所播放的视频相关联的各种信息,例如,出现在视频中的评论、场景信息、视频中的图像帧、视频中的角色的话语、背景音乐等。由于聊天机器人所提供的响应是至少基于用户侧信息和视频信息两者来确定的,使得该响应既关联于用户,也关联于视频,从而实现针对特定用户的、关联于视频的聊天。此外,聊天机器人在确定响应时还可以考虑在聊天机器人与用户之间的会话的上下文,该上下文包括聊天机器人和用户在之前的多轮对话中的话语。此外,聊天机器人可以具有预先设定的角色,或者可以根据需要而被调试到多个角色中的一个角色,从而聊天机器人可以通过扮演特定的角色来与用户进行自动聊天。

图1示出了根据实施例的在视频播放期间提供自动聊天的示例性场景100。

网络110被应用于对各种网络实体进行互联。网络110可以是能够对网络实体进行互联的任何类型的网络。网络110可以是单个网络或各种网络的组合。

终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号、呈现多媒体内容等的任何类型的电子计算设备。例如,终端设备120可以是智能电话、台式计算机、笔记本电脑、平板电脑、ai终端、智能电视等。终端设备120可以由用户150用于获得各种视频内容。尽管图1中仅示出了一个终端设备,但是应该理解,可以有不同数量的终端设备连接到网络110。

终端设备120可以包括例如视频服务客户端122。视频服务客户端122表示可以通过终端设备120向用户150提供视频内容的各种客户端或应用,例如,视频平台客户端、社交网络应用、新闻客户端等。视频服务客户端122可以与连接到网络110的视频网站/视频服务器130通信以向用户150提供视频内容。视频网站/视频服务器130可以提供各种类型的视频,并且可以通过视频服务客户端122在终端设备120上将视频播放给用户150。

终端设备120可以包括浏览器124。用户150可以通过浏览器124来访问视频网站/视频服务器130以获得所期望的视频,所获得的视频可以在浏览器124上播放。

应当理解,终端设备120还可以包括任何其它能够播放视频内容的应用或软件。例如,终端设备120可以包括游戏软件,该游戏软件可以随时间呈现一系列游戏画面。例如,终端设备120可以包括视频播放器,该视频播放器可以在线地或离线地播放视频内容。

终端设备120可以包括为用户150提供自动聊天服务的聊天机器人客户端126。在一些情况下,聊天机器人客户端126可以与聊天机器人服务器140进行交互。例如,聊天机器人客户端126可以将用户输入的消息或其它触发信息传送到聊天机器人服务器140,从聊天机器人服务器140接收相对应的响应,并且将响应提供给用户150。然而,应当理解,在其它情况下,聊天机器人客户端126也可以本地地生成对用户输入的消息或其它触发信息的响应,而不是与聊天机器人服务器140进行交互。聊天机器人服务器140可以连接到或包含聊天机器人数据库142。聊天机器人数据库142可以存储由聊天机器人服务器140用于生成响应的各种信息。

根据本公开的实施例,在一方面,聊天机器人客户端126可以获得与在终端设备120中播放的视频相关联的各种视频信息,其中,所述视频是在例如视频服务客户端122、浏览器124或任何其它能够呈现视频内容的应用或软件中播放的。视频信息可以是从终端设备120中播放的视频中检测的,或者是从提供该视频的视频网站/视频服务器130处获得的。视频信息可以包括例如评论、场景信息、图像帧、角色话语、背景音乐等。评论可以指出现在视频中的来自其他用户的评论,例如实时评论或、弹幕等。场景信息可以指对视频中特定部分的场景的描述,例如,电影中的打斗场景、电视剧中某个重要角色的出场、游戏中的特定环节等。以电影为例,通常,电影视频提供方会在电影的时间线上预先标记一些关键时间点,每个关键时间点可以附有对该时间点附件发生的场景的描述,例如特定情节、特定角色的出场、故事背景等。聊天机器人可以从视频中识别出这些关键时间点及对应的场景信息。图像帧可以指以帧为单位的视频中的图像。角色话语可以指视频中的角色所说的话语,例如,电影中某个角色所说的台词等。背景音乐可以指视频中随着画面所播放的音乐。应当理解,本公开的实施例并不局限于以上列出的示例性视频信息,还可以包括任何其它类型的有助于确定响应的视频信息。

在另一方面,聊天机器人客户端126可以在视频播放期间获得用户侧信息。用户侧信息可以包括用户话语,例如,来自用户150的话语。此外,用户侧信息还可以包括环境信息,例如,时间、地点、天气、温度等。环境信息可以是从终端设备120的操作系统或功能组件获得的或者从安装在终端设备120中的第三方应用128处获得的。例如,可以从操作系统处获得当前时间信息,可以从终端设备120中的gps组件处获得关于用户当前位置的地点信息,可以从作为第三方应用128的天气应用处获得关于当前天气的信息,可以从作为第三方应用128的智能家居控制软件处获得关于当前室内温度的信息,等等。本公开的实施例并不局限于以上列出的示例性环境信息,还可以包括任何其它类型的有助于确定响应的环境信息。第三方应用128可以广泛地指能够提供特定环境信息的各种应用。此外,用户侧信息可以包括周围事件信息。周围事件信息可以是关于在用户周围发生的事件的各种声音信息,例如敲门声、电话铃声、闹钟声、洗衣机提示音、烹饪电器提示音、人的说话声、动物叫声等。周围事件信息可以是通过终端设备120中的声音采集设备(例如麦克风等)从周围声音源160处获得的。周围声音源160可以指能够在用户周围发出声音的各种源,例如,门、电话、闹钟、洗衣机、水壶、电饭锅、其他人、动物等。本公开的实施例并不局限于以上列出的示例性周围事件信息和周围声音源,还可以包括任何其它类型的有助于确定响应的周围事件信息和周围声音源。

所获得的视频信息、用户侧信息等中的至少一个可以作为触发信息,以触发聊天机器人客户端126和/或聊天机器人服务器140至少基于视频信息和用户侧信息来确定将要提供给用户150的响应。从而,根据本公开实施例的聊天机器人可以与终端设备120的用户150进行关联于所播放的视频的自动聊天。

应当理解,聊天机器人客户端126可以运行在终端设备120的操作系统中,从而可以针对终端设备120中的提供视频内容的不同应用来与用户150进行自动聊天。此外,聊天机器人客户端126可以作为功能组件而运行在终端设备120中的特定视频内容提供应用中,例如,运行在视频服务客户端122中,从而可以在该特定视频内容提供应用中与用户150进行自动聊天。此外,应当理解,聊天机器人与用户之间的聊天会话可以采用各种形式,例如,语音、文本等。另外,尽管未示出,终端设备120还可以包括用于支持视频播放和自动聊天的各种硬件组件,例如,显示屏、扬声器、麦克风等。

图2示出了根据实施例的用于在视频播放期间提供自动聊天的示例性过程200。

在过程200中,可以获得用户侧信息220。用户侧信息220可以包括例如用户话语222、环境信息224、周围事件信息226等。用户话语222可以来自于用户212。环境信息224可以是从第三方应用214或终端设备的操作系统或功能组件处获得的。周围事件信息226可以是从周围声音源216处检测的。

此外,在过程200中,可以获得视频信息230。视频信息230可以包括从所播放的视频218中检测的评论231、场景信息233、图像帧235、角色话语237、背景音乐239等。

在240处,可以至少基于用户侧信息220和视频信息230来确定响应。可以在聊天机器人250与用户212之间的会话中,将所确定的响应提供给用户212。

过程200可以被迭代地执行,从而聊天机器人可以在用户212观看视频218期间提供自动聊天服务。

应当理解,过程200中的所有步骤都是示例性的,根据具体的应用需求和设计,可以对过程200进行任何方式的改变。例如,除了考虑用户侧信息220和视频信息230之外,在240处的响应确定还可以基于例如会话的上下文、聊天机器人的个性化信息、针对场景的定制化信息等。此外,应当理解,过程200不仅可以由来自用户212的用户话语222来触发执行,还可以由用户侧信息220和视频信息230中的任何其它信息来触发执行。例如,可以响应于检测到特定的环境信息、周围事件信息、视频中的评论、场景、图像帧、视频中的角色话语、背景音乐等中的至少一个,来执行过程200以确定响应并将响应提供给用户212。

各种用户侧信息和各种视频信息可能对于确定响应是有帮助的。假设用户a是一位独居的年轻女性,她在一个阳光灿烂的周末下午,通过电脑中的浏览器打开某个视频网站以观看一部电影,并且同时激活了电脑中的聊天机器人b以便一起观看电影。

作为示例,聊天机器人b可以检测出天气为晴,并且可以检测出浏览器中播放的电影为爱情片。相应地,聊天机器人b可以至少基于环境信息<天气晴>、场景信息<爱情片>等,对用户a说“午后阳光真好,看个爱情片,聊聊天,太棒了”。

作为示例,聊天机器人b可以检测出在电影的当前场景中出现了作为主角的猫,并且接收到用户a的话语“这只猫的演技不错”。相应地,聊天机器人b可以至少基于场景信息<主角猫出场>、用户a的话语等,来回复用户a:“听说猫是很有灵性的动物”。

作为示例,聊天机器人b可以检测出在电影的当前场景中出现了角色m,检测出视频中来自很多其他观看者的表达对角色m的喜爱的评论,并且接收到用户a的激动的话语“m真是太帅了!”。相应地,聊天机器人b可以至少基于场景信息<角色m出场>、评论、用户a的话语及情感等,来回复用户a:“很多人都喜欢m呢”。

作为示例,聊天机器人b可以检测出电影中的角色m正在念诗“xxx”,并且接收到用户a的话语“这是谁写的诗啊?”。相应地,聊天机器人b可以至少基于角色话语<xxx>、用户a的话语、关于用户a喜欢m的会话上下文等,来回复用户a:“这是泰戈尔的诗,在这场面下你会更加喜欢m了吧?”。

作为示例,聊天机器人b可以检测出电影中播放了悲伤的背景音乐,并且接收到用户a的话语“我的心被触动了”。相应地,聊天机器人b可以至少基于背景音乐、用户a的话语等,来回复用户a:“这音乐好悲伤,我想哭”。

作为示例,聊天机器人b可以检测出电影中的当前图像属于汽车追逐的类别,并且接收到用户a的话语“太刺激了”。相应地,聊天机器人b可以至少基于视频中的图像帧所属于的图像类别<汽车追逐>、用户a的话语等,来回复用户a:“这追逐戏太酷了”。

聊天机器人b还可以响应于在电影播放期间所检测到的不同周围环境信息来与用户a聊天。作为示例,当聊天机器人b检测到电话铃响时,聊天机器人b可以至少基于周围环境信息<电话铃声>来对用户a说:“暂停!来电话了”。作为示例,当聊天机器人b检测到关于完成衣服洗涤的洗衣机提示音时,聊天机器人b可以至少基于周围环境信息<洗衣机提示音>、当前场景信息<广告时间>等来对用户a说:“广告没意思,还是先把衣服晾了吧”。作为示例,当聊天机器人b检测到用户a旁边有猫叫声时,聊天机器人b可以至少基于周围环境信息<猫叫声>等来对用户a说:“电影里的猫很可爱。你的猫也很可爱啊,给它喂点吃的吧”。

图3示出了根据实施例的用于确定响应的示例性过程300。过程300可以被视为是图2的过程200的一种示例性实施方式。在过程300中,可以获得与用户侧信息和视频信息分别对应的、易于通过例如机器学习等技术来处理的用户侧信息表示和视频信息表示,并且至少基于用户侧信息表示和视频信息表示来确定聊天机器人的响应。

可以获得用户侧信息310,其包括例如用户话语312、环境信息314、周围事件信息316等。

可以通过对用户话语312执行嵌入处理322来生成与用户话语312对应的用户话语表示332,例如,用户话语向量。在用户以语音形式与聊天机器人聊天的情况下,用户话语312可以是通过对用户语音进行语音识别而生成的话语文本。在用户以文本形式与聊天机器人聊天的情况下,用户话语312可以直接是用户输入的话语文本。嵌入处理322可以采用将文本转换到向量空间的任何技术,例如word2vec等。

可以通过对用户话语312执行情感分类来生成与用户话语312对应的用户话语情感表示334,例如,用户话语情感向量。从用户话语中所提取出的情感信息将有助于在考虑用户情感的情况下来确定响应。在一种实施方式中,可以利用情感分类器324来执行情感分类。情感分类器324可以采用能够将文本转换为情感向量并进而确定出与文本对应的情感类型的任何分类器。不同的情感分类器可能识别出不同数量的情感类型。本公开的实施例并不在此方面受到任何限制。

可以通过对环境信息314执行环境信息分类来生成环境信息表示336,例如,环境信息向量。在一种实施方式中,可以利用环境信息分类器326来执行环境信息分类。环境信息分类器326可以是基于深度神经网络(dnn)、支持向量机(svm)等技术建立的轻量级分类器。环境信息分类器326可以将所获得的时间、地点、天气、温度等各种环境信息作为输入,并且输出以向量形式表示的分类结果。

可以通过对周围事件信息316执行周围事件信息分类来生成周围事件信息表示338,例如,周围事件信息向量。在一种实施方式中,可以利用周围事件信息分类器328来执行周围事件信息分类。周围事件信息分类器328可以是基于循环神经网络(cnn)等技术建立的分类器,例如n层cnn网络。可以从周围事件信息316中的声音信号中提取各种特征,例如,filterbank特征、谱(spectrogram)特征等。周围事件信息分类器328可以对所提取的特征进行处理,并且输出以向量形式表示的分类结果,其中,输出向量的不同维度可以对应不同类型的周围事件,例如,敲门声、电话铃声、闹钟声、洗衣机提示音、烹饪电器提示音、人的说话声、动物叫声等。

用户话语表示332、用户话语情感表示334、环境信息表示336、周围事件信息表示338等可以形成用户侧特征集合330。换句话说,通过以上讨论的过程,可以从用户侧信息310中提取出用户侧特征集合330。

可以基于用户侧特征集合330来生成用户侧信息表示342,例如用户侧信息向量。在一种实施方式中,可以利用用户侧信息编码器340来生成用户侧信息表示342。用户侧信息编码器340可以基于例如深度学习、序列到序列(seq2seq)、编码器-解码器等技术。例如,用户侧信息编码器340可以采用rnn模型、变换器(transformer)模型、长短期记忆(lstm)模型等。可选地,用户侧信息编码器340也可以简单地采用向量拼接(stitching)。可以将用户侧特征集合330中的各种信息表示作为特征向量来输入到用户侧信息编码器340。假设si代表用户话语表示332,ei代表用户话语情感表示334,hi代表环境信息表示336,并且ri代表周围事件信息表示338,其中,索引i代表时间点。在一种情况下,i可以指示完成了对来自用户的语音流中的一个完整语义表达的识别的时间点,该完整语义表达可以是一个完整的句子、一个句子的一部分等,其也被称为一句用户话语。例如,可以采用语音活动检测(vad)模型来从语音流中检测出用户话语。假设将用户侧信息编码器340表示为model_u(·),则用户侧信息编码器340的输出可以被表示为其中,代表用户侧信息表示342。

根据过程300,可以获得视频信息350,其包括例如评论351、场景信息353、图像帧355、角色话语357、背景音乐359等等。

可以通过对评论351执行嵌入处理361来生成与评论351对应的评论表示371,例如,评论向量。嵌入处理361可以采用将文本转换到向量空间的任何技术,例如word2vec等。

可以通过对场景信息353执行嵌入处理363来生成与场景信息353对应的场景信息表示373,例如,场景向量。嵌入处理363可以采用将文本转换到向量空间的任何技术,例如word2vec等。

可以通过对图像帧355执行图像分类来生成图像类别表示375,例如,图像类别向量。对于特定类型的视频内容,可以根据例如角色动作、剧情等来为视频中的图像定义多个图像类别。不同类型的视频内容可以具有不同的图像类别划分方式。以动作电影为例,可以定义例如汽车追逐、奔跑、打斗等图像类别。以爱情电影为例,可以定义例如亲密交谈、深情注视、争吵等图像类别。通过识别图像帧所反映的图像类别,聊天机器人可以随着视频中的故事或情节的演进而生成与视频更相关的响应。例如,当检测出视频中的图像帧具有图像类别“汽车追逐”时,聊天机器人可以至少基于该图像类别来提供响应,如,“这追逐戏太酷了”。在一种实施方式中,可以利用图像分类器365来执行图像分类。图像分类器365可以是基于cnn等技术建立的分类器,例如n层cnn网络。图像帧355可以作为图像分类器365的输入,并且图像分类器365可以输出以向量形式表示的分类结果,其中,输出向量的不同维度可以对应于对不同图像类别的预测。应当理解,可选地,可以为不同类型的视频内容分别训练不同的图像分类器。从而,当确定一个视频属于某个特定视频内容类型时,可以使用与该视频内容类型对应的图像分类器来为该视频的图像帧生成图像类别表示。

可以通过对角色话语357执行嵌入处理367来生成与角色话语357对应的角色话语表示377,例如,角色话语向量。嵌入处理367可以采用将文本转换到向量空间的任何技术,例如word2vec等。

可以通过对背景音乐359执行背景音乐分类来生成背景音乐类别表示379,例如,背景音乐类别向量。可以定义多种背景音乐类别,例如,欢快的、悲伤的、舒缓的、激昂的等。在一种实施方式中,可以利用背景音乐分类器369来执行背景音乐分类。背景音乐分类器369可以是基于cnn等技术建立的分类器,例如n层cnn网络。可以从m帧的背景音乐中提取filterbank特征,背景音乐分类器369可以基于所提取的特征输出以向量形式表示的分类结果,其中,输出向量的不同维度可以对应于对不同背景音乐类别的预测。可选地,背景音乐分类器369可以是基于dnn、svm等技术建立的分类器。可以从k秒的背景音乐中提取多种特征,例如,f0特征、低音线特征、两个相邻f0之间的音程变化特征、节奏变化特征、力度变化特征、音色特征、曲速特征等,并且背景音乐分类器369可以基于所提取的特征输出以向量形式表示的分类结果。此外,可选地,可以同时使用基于不同技术建立的两个或多个背景音乐分类器,并且通过组合这些背景音乐分类器的各自的分类结果来获得最终的分类结果。

评论表示371、场景信息表示373、图像类别表示375、角色话语表示377、背景音乐类别表示379等可以形成视频特征集合370。换句话说,通过以上讨论的过程,可以从视频信息350中提取出视频特征集合370。

可以基于视频特征集合370来生成视频信息表示382,例如视频信息向量。在一种实施方式中,可以利用视频信息编码器380来生成视频信息表示382。视频信息编码器380可以基于例如深度学习、序列到序列、编码器-解码器等技术。例如,视频信息编码器380可以采用变换器模型、lstm模型等。可以将视频特征集合370中的各种信息表示作为特征向量来输入到视频信息编码器380。假设ci代表评论表示371,ti代表场景信息表示373与索引i在视频时间轴的相对时间位置的组合,vi代表图像类别表示375,di代表角色话语表示377,并且bi代表背景音乐类别表示379,其中,索引i代表时间点。示例性地,上述的这些特征向量可以是在以时间点i为参考的时间窗口下定义的。例如,ci可以是在时间点i之前的预定时间段(例如1-3秒)内距离时间点i最近的预定数量(例如20个)评论的表示,ti可以是在时间点i之前的预定时间段(例如1分钟)内的场景信息的表示与时间点i在视频时间轴的相对时间位置的组合,vi可以是在时间点i之前的预定数量图像帧的图像类别表示,di可以是时间点i所落入的角色话语的整个句子的表示,并且bi可以是在时间点i之前的预定时间段(例如2个小节)内的背景音乐帧的类别表示。应当理解,可选地,在将上述特征向量输入到视频信息编码器380之前,也可以对这些特征向量执行为了提高计算效率、节省计算成本等目的的处理。例如,在计算vi时可以应用跳帧或其它降采样技术,在计算ci时可以应用向量维度缩减,等等。假设将视频信息编码器380表示为model_v(·),则视频信息编码器380的输出可以被表示为其中,代表视频信息表示382。

在以上讨论中,尽管将索引i示例性地定义为检测出用户语音流中的一个完整语义表达(例如一句用户话语)的时间点,但是在其它情况下,索引i也可以被定义为指示任何其它时间点。例如,索引i可以被定义为指示检测到周围事件的时间点、获得环境信息的时间点、识别出特定场景的时间点、识别出特定评论的时间点、识别出特定图像类别的时间点、识别出特定角色话语的时间点、识别出特定背景音乐类别的时间点等。索引i的不同定义可以对应于不同的触发信息,以便触发过程300的执行。

在390处,可以至少基于用户侧信息表示342和视频信息表示382来确定响应。所确定的响应可以被进一步提供给用户。后面将结合图5详细讨论响应确定的示例性过程。

过程300可以被迭代地执行,从而聊天机器人可以在用户观看视频期间提供自动聊天服务。

应当理解,过程300中的所有步骤都是示例性的,根据具体的应用需求和设计,可以对过程300进行任何方式的改变。例如,尽管图3示出了用户侧信息310可以包括用户话语312、环境信息314和周围事件信息316,并且分别生成与这些用户侧信息相对应的表示,但是也可以仅考虑这些用户侧信息中的一个或多个,或者附加地考虑任何其它类型的用户侧信息。例如,尽管图3示出了视频信息350可以包括评论351、场景信息353、图像帧355、角色话语357以及背景音乐359,并且分别生成与这些视频信息相对应的表示,但是也可以仅考虑这些视频信息中的一个或多个,或者附加地考虑任何其它类型的视频信息。

图4示出了根据实施例的利用缓存来获得视频信息表示的示例性过程400。过程400可以被视为是图3中由视频信息编码器基于所计算的视频特征来生成视频信息表示的替代方式。可以在缓存中存储预先计算的一些视频信息表示,这些视频信息表示可以对应于视频中的预定时间点、预定场景、预定评论等。当例如评论表示、场景信息表示等视频特征满足特定条件时,可以直接从缓存中取出对应的视频信息表示。过程400可以避免图3中对所有视频特征的计算以及基于这些视频特征的编码过程,从而缩短了聊天机器人的响应时间并提高了聊天机器人的响应速度。

在过程400中,类似于过程300中的步骤,可以首先获得与评论402对应的评论表示412,和/或与场景信息404对应的场景信息表示414。

在420处,可以基于评论表示412和/或场景信息表示414在缓存430中执行检索,以便取出对应的视频信息表示440。

在一个方面,当从视频网站/视频服务器获得视频时,可能随视频一起获得标注的一些关键时间点及对应的关键场景信息,因此,可以基于这些关键时间点及对应的关键场景信息来预先计算候选视频信息表示,并且存储在缓存430中。在另一个方面,也可以将针对历史评论所计算的视频信息表示存储在缓存430中以作为候选视频信息表示。在又一个方面,可以将针对关键场景信息和历史评论两者所计算的视频信息表示存储在缓存430中以作为候选视频信息表示。

在一种情况下,在视频播放期间,如果当前时间点i到达了缓存430中的某个关键时间点,或者在时间i处所检测到的场景信息匹配于缓存430中的某个关键场景信息,则可以从缓存430中直接取出与该关键时间点或关键场景信息对应的场景信息表示。

在一种情况下,在视频播放期间,如果针对当前时间点i计算出ci,其中,ci是在时间点i之前的预定时间段内距离时间点i最近的预定数量评论的表示,并且所述预定数量的评论与缓存430中的特定数量的历史评论相匹配,则可以从缓存430中直接取出与所匹配的历史评论对应的场景信息表示。

在一种情况下,可以基于评论表示412和场景信息表示414的组合来执行检索。假设ci代表在当前时间点i之前的预定时间段内距离时间点i最近的预定数量评论的表示,并且ti是场景信息表示与索引i在视频时间轴的相对时间位置的组合。此外,假设分别代表缓存430中的特征表示。可以基于来计算相似度值sim,其中,wc和wt是权重系数,f表示向量相似性函数。如果相似度值sim大于阈值,则可以从缓存430中取出与对应的场景信息表示。

图5示出了根据实施例的用于确定响应的示例性过程500。过程500是图3中的390处的响应确定的示例性实施方式。

用户侧信息表示502和视频信息表示504可以分别对应于图3中的用户侧信息表示342和视频信息表示382。

在510处,可以至少基于用户侧信息表示502和视频信息表示504来执行候选响应确定,以获得包括一个或多个候选响应的候选响应集合512。在510处的候选响应确定可以基于生成方式、或者检索方式、或者二者的组合。在生成方式中,可以采用例如基于seq2seq的生成模型。用户侧信息表示502和视频信息表示504可以作为生成模型的输入特征,并且生成模型可以输出附加有分数的多个候选响应。在检索方式中,可以采用例如基于fastrank的检索模型。用户侧信息表示502和视频信息表示504可以作为检索模型的输入特征,并且检索模型可以从预先准备的候选响应中选择出多个候选响应并且为每个候选响应附加分数。在采用生成方式和检索方式两者的情况下,可以将通过生成方式所生成的候选响应与通过检索方式所获得的候选响应组合在一起,并且通过例如分数加权等来为每个候选响应附加分数。

候选响应集合512中包括通过510处的候选响应确定步骤所确定的一组候选响应及其分数。在530处,可以从候选响应集合512中选择例如分数最高的响应,以便提供给用户。

应当理解,根据具体的应用场景和需求,可以对上述过程500进行任何方式的改变。例如,除了用户侧信息表示502和视频信息表示504之外,在510处的候选响应确定还可以考虑会话上下文表示522、聊天机器人个性化表示524、定制化候选响应526中的至少一个。例如,用于确定候选响应的生成模型和/或检索模型还可以采用会话上下文表示522、聊天机器人个性化表示524、定制化候选响应526中的一个或多个来作为输入特征。

会话上下文表示522是对聊天机器人与用户之间的上下文的表示。当针对时间点i确定候选响应时,该上下文可以指在时间点i之前的预定时间段内、聊天机器人和用户之间的多轮对话中的话语。

聊天机器人个性化表示524是对聊天机器人在自动聊天中所扮演的角色的个性化信息的表示。聊天机器人可以被配置为具有不同性格的角色,例如,看护者、领导者、通用角色等。不同的角色可能具有不同的讲话风格、审美、对人和事的观点、情绪等。通过在确定候选响应过程中考虑聊天机器人个性化表示,可以使得最后选择的响应更符合聊天机器人的角色设置。

在一些情况下,可以针对视频中的特定场景设置定制化信息。作为定制化信息的示例的定制化候选响应526可以包括针对视频中的特定场景而预先准备的候选响应,以便进一步提高聊天机器人的响应质量。例如,对于一个视频中关于角色m出场的场景,可以预先准备一些候选响应,例如“m终于出来了”、“我好喜欢m啊”等。当在视频播放期间检测到角色m出场时,这些预先准备的候选响应可以被添加到候选响应集合512中,以便参与后续的在530处对最终响应的选择。可选地,也可以将这些预先准备的候选响应中排名最高的一个候选响应直接选择作为最终的响应。

在实际应用中,在视频播放期间,用户可能并不总是谈论视频内容本身,而是也可能与聊天机器人进行自由聊天。根据本公开的实施例,可选地,取决于在视频播放期间所获得或检测到的信息,聊天机器人可以至少基于用户侧信息表示与视频信息表示之间的相关性,采用不同的方式来确定候选响应并选择最终的响应。

图6示出了根据实施例的用于确定响应的示例性过程600。过程600可以首先根据不同的方式确定多组候选响应,然后从多组候选响应中的一组候选响应中选择最终的响应。

在第一方式中,可以通过类似于图5中的510处的处理,基于用户侧信息表示和会话上下文表示来确定第一候选响应集合610。在第二方式中,可以通过类似于图5中的510处的处理,基于用户侧信息表示、视频信息表示和会话上下文表示来确定第二候选响应集合620。在第三方式中,可以通过类似于图5中的510处的处理,基于视频信息表示和会话上下文表示来确定第三候选响应集合630。

在640处,可以至少基于用户侧信息表示与视频信息表示来做出决策,以便从第一候选响应集合610、第二候选响应集合620和第三候选响应集合630中选择一个候选响应集合650。例如,可以计算用户侧信息表示与视频信息表示之间的相关性。如果相关性高于阈值,其可以表明例如用户正在谈论视频内容等,则可以选择第二候选响应集合620。如果相关性低于阈值、用户侧信息表示指示了有效的用户侧信息、并且视频信息表示指示了较低的信息量,其可以表明例如用户正在谈论与视频内容无关的话题等,则可以选择第一候选响应集合610。如果相关性低于阈值、用户侧信息表示指示了较低的信息量、并且视频信息表示指示了有效的视频信息,其可以表明例如未能从用户侧获得有效信息但是获得了有效的视频信息等,则可以选择第三候选响应集合630。

在660处,可以从所选择的候选响应集合650中选择响应。

根据图6的过程600,通过基于用户侧信息表示与视频信息表示来选择采用了适当方式所确定的候选响应集合,可以改进响应的准确性。

图7示出了根据实施例的用于确定响应的示例性过程700。过程700可以首先决定用于确定候选响应的方式,然后根据所选择的方式来确定候选响应。

在710处,可以至少基于用户侧信息表示与视频信息表示来做出决策,以便从用于确定候选响应的多种方式中选择一种方式。所述多种方式可以包括,例如,基于用户侧信息表示和会话上下文表示来确定候选响应集合的第一方式,基于用户侧信息表示、视频信息表示和会话上下文表示来确定候选响应集合的第二方式,基于视频信息表示和会话上下文表示来确定候选响应集合的第三方式等等。例如,可以计算用户侧信息表示与视频信息表示之间的相关性。如果相关性高于阈值,则可以选择第二方式。如果相关性低于阈值、用户侧信息表示指示了有效的用户侧信息、并且视频信息表示指示了较低的信息量,则可以选择第一方式。如果相关性低于阈值、用户侧信息表示指示了较低的信息量、并且视频信息表示指示了有效的视频信息,则可以选择第三方式。

可以根据所选择的方式,通过类似于图5中的510处的处理,基于用户侧信息表示、视频信息表示和会话上下文表示中的与所选择的方式对应的两个或多个来获得候选响应集合720。

在730处,可以从候选响应集合720中选择响应。

根据图7的过程700,通过首先基于用户侧信息表示与视频信息表示来选择确定候选响应的适当方式、然后再根据所选择的方式确定候选响应,可以有效地提高响应速度并且改进响应的准确性。

应当理解,图6的过程600和图7的过程700都是示例性的,可以根据具体的应用场景和需求对其进行任何方式的修改。例如,在确定候选响应集合过程中,还可以考虑聊天机器人个性化表示、定制化候选响应等。

图8示出了根据实施例的用于在视频播放期间提供自动聊天的示例性方法800的流程图。

在810处,可以获得用户侧信息。

在820处,可以从所述视频中检测视频信息。

在830处,可以至少基于所述用户侧信息和所述视频信息来确定响应。

在840处,可以在会话中提供所述响应。

在一种实施方式中,所述用户侧信息可以包括以下至少之一:用户话语、环境信息、以及周围事件信息。

在一种实施方式中,所述视频信息可以包括以下至少之一:评论、场景信息、图像帧、角色话语、以及背景音乐。

在一种实施方式中,所述确定响应可以包括:将所述用户侧信息编码成用户侧信息表示;将所述视频信息编码成视频信息表示;以及至少基于所述用户侧信息表示和所述视频信息表示来确定所述响应。

所述将所述用户侧信息编码成用户侧信息表示可以包括:从所述用户侧信息中提取用户侧特征集合,所述用户侧特征集合包括用户话语表示、用户话语情感表示、环境信息表示、以及周围事件信息表示中至少之一;以及基于所述用户侧特征集合来生成所述用户侧信息表示。所述提取用户侧特征集合可以包括以下至少之一:通过对所述用户侧信息中的用户话语执行嵌入处理来生成所述用户话语表示;通过对所述用户话语执行情感分类来生成所述用户话语情感表示;通过对所述用户侧信息中的环境信息执行环境信息分类来生成所述环境信息表示;以及通过对所述用户侧信息中的周围事件信息执行周围事件信息分类来生成所述周围事件信息表示。

所述将所述视频信息编码成视频信息表示可以包括:从所述视频信息中提取视频特征集合,所述视频特征集合包括评论表示、场景信息表示、图像类别表示、角色话语表示、以及背景音乐类别表示中至少之一;以及基于所述视频特征集合来生成所述视频信息表示。所述提取视频特征集合可以包括以下至少之一:通过对所述视频信息中的评论执行嵌入处理来生成所述评论表示;通过对所述视频信息中的场景信息执行嵌入处理来生成所述场景信息表示;通过对所述视频信息中的图像帧执行图像分类来生成所述图像类别表示;通过对所述视频信息中的角色话语执行嵌入处理来生成所述角色话语表示;以及通过对所述视频信息中的背景音乐执行背景音乐分类来生成所述背景音乐类别表示。

所述将所述视频信息编码成视频信息表示可以包括:生成与所述视频信息中的评论对应的评论表示;生成与所述视频信息中的场景信息对应的场景信息表示;以及至少基于所述评论表示和/或所述场景信息表示来从缓存中检索所述视频信息表示。

所述确定所述响应可以包括:通过生成方式和/或检索方式,至少基于所述用户侧信息表示和所述视频信息表示来确定多个候选响应;以及从所述多个候选响应中选择所述响应。所述确定多个候选响应还可以基于以下至少之一:所述会话的上下文表示;聊天机器人的个性化表示;以及针对场景的定制化候选响应。

所述环境信息可以包括以下至少之一:时间、地点、天气、以及温度。所述周围事件信息可以包括以下至少之一:敲门声、电话铃声、闹钟声、洗衣机提示音、烹饪电器提示音、人的说话声、以及动物叫声。

应当理解,方法800还可以包括根据上述本公开实施例的用于在视频播放期间提供自动聊天的任何步骤/过程。

图9示出了根据实施例的用于在视频播放期间提供自动聊天的示例性装置900。

装置900可以包括:用户侧信息获得模块910,用于获得用户侧信息;视频信息检测模块920,用于从所述视频中检测视频信息;响应确定模块930,用于至少基于所述用户侧信息和所述视频信息来确定响应;以及响应提供模块940,用于在会话中提供所述响应。

在一种实施方式中,所述响应确定模块930可以用于:将所述用户侧信息编码成用户侧信息表示;将所述视频信息编码成视频信息表示;以及至少基于所述用户侧信息表示和所述视频信息表示来确定所述响应。

所述将所述用户侧信息编码成用户侧信息表示可以包括:从所述用户侧信息中提取用户侧特征集合,所述用户侧特征集合包括用户话语表示、用户话语情感表示、环境信息表示、以及周围事件信息表示中至少之一;以及基于所述用户侧特征集合来生成所述用户侧信息表示。所述提取用户侧特征集合可以包括以下至少之一:通过对所述用户侧信息中的用户话语执行嵌入处理来生成所述用户话语表示;通过对所述用户话语执行情感分类来生成所述用户话语情感表示;通过对所述用户侧信息中的环境信息执行环境信息分类来生成所述环境信息表示;以及通过对所述用户侧信息中的周围事件信息执行周围事件信息分类来生成所述周围事件信息表示。

所述将所述视频信息编码成视频信息表示可以包括:从所述视频信息中提取视频特征集合,所述视频特征集合包括评论表示、场景信息表示、图像类别表示、角色话语表示、以及背景音乐类别表示中至少之一;以及基于所述视频特征集合来生成所述视频信息表示。所述提取视频特征集合可以包括以下至少之一:通过对所述视频信息中的评论执行嵌入处理来生成所述评论表示;通过对所述视频信息中的场景信息执行嵌入处理来生成所述场景信息表示;通过对所述视频信息中的图像帧执行图像分类来生成所述图像类别表示;通过对所述视频信息中的角色话语执行嵌入处理来生成所述角色话语表示;以及通过对所述视频信息中的背景音乐执行背景音乐分类来生成所述背景音乐类别表示。

所述确定所述响应可以包括:通过生成方式和/或检索方式,至少基于所述用户侧信息表示和所述视频信息表示来确定多个候选响应;以及从所述多个候选响应中选择所述响应。所述确定多个候选响应还可以基于以下至少之一:所述会话的上下文表示;聊天机器人的个性化表示;以及针对场景的定制化候选响应。

此外,装置900还可以包括被配置用于根据上述本公开实施例的在视频播放期间进行自动聊天的任何其它模块。

图10示出了根据实施例的用于在视频播放期间提供自动聊天的示例性装置1000。

装置1000可以包括至少一个处理器1010和存储计算机可执行指令的存储器1020。当执行计算机可执行指令时,至少一个处理器1010可以:获得用户侧信息;从所述视频中检测视频信息;至少基于所述用户侧信息和所述视频信息来确定响应;以及在会话中提供所述响应。至少一个处理器1010还可以被配置用于执行根据上述本公开实施例的用于在视频播放期间提供自动聊天的方法的任何操作。

本公开的实施例可以实施在非暂时性计算机可读介质中。非暂时性计算机可读介质可以包括指令,当指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于在视频播放期间提供自动聊天的方法的任何操作。

应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。

还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。

已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、dsp或其它适合的平台所执行的软件。

软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部,如,缓存或寄存器。

以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将由权利要求所覆盖。

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