对数据源生成语义描述的方法、设备和电子设备
技术领域
本公开涉及人工智能领域,更具体地涉及一种对数据源生成语义描述的方法、设备、电子设备和计算机可读存储介质。
背景技术
目前,网络上存在多种数据源,例如视频、音频、图片、长文本信息等等。用户可能期待能够浏览这些数据源的语义描述(例如电影简介、音乐评论、文本摘要等语义描述信息)来做出决定,例如决定自己是否要进一步观看该电影、购买唱片和阅读长文本等。
已经存在对这些数据源自动生成的语义描述的方法。例如,就对视频来生成视频简介的方法而言,传统的语义描述生成方法包括提取视频的编码特征并将这些编码特征输入至长短时记忆网络中以自动生成视频简介。目前,已经能够在自动生成视频简介的过程中加入一些辅助信息(例如风格、情感)来生成用户更期待的看到的视频简介。但是,已有的对数据源生成语义描述的方法所生成的语义描述都忽略了语义描述内容的句法表达,从而使得语义描述信息的句法单一,不便于用户阅读。
发明内容
本公开的实施例提供了对数据源生成语义描述的方法、设备、电子设备和计算机可读存储介质。
本公开的实施例提供了一种对数据源生成语义描述的方法,包括:获取数据源的数据编码特征;从范例句集合中获取至少一个范例句,并且获取所述至少一个范例句的句法编码特征;以及基于所述数据编码特征和所述句法编码特征,生成所述语义描述。
本公开的实施例提供了一种输出视频的语义描述的方法,包括:输出描述所述视频的语义描述;其中,所述视频的语义描述与范例句集合中的至少一个范例句的句法形式一致。
本公开的实施例提供了一种输出视频的语义描述的方法,包括:获取视频的视频编码特征;从范例句集合中获取至少一个范例句,并且获取至少一个范例句的句法编码特征;基于视频编码特征和句法编码特征,输出描述视频的语义描述。
本公开的实施例提供了一种对数据源生成语义描述的设备,包括:数据编码模块,用于获取数据源的数据编码特征;句法编码模块,用于从范例句集合中获取至少一个范例句,并且获取所述至少一个范例句的句法编码特征;以及描述句子生成模块,用于基于所述数据编码特征和所述句法编码特征,生成所述语义描述。
本公开的实施例提供了一种对数据源生成语义描述的电子设备,包括:处理器;存储器,存储器存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅是本公开的示例性实施例。
图1A是示出根据本公开实施例的对数据源生成语义描述的场景的示例示意图。
图1B是示出根据本公开实施例的对数据源生成语义描述的另一场景的示例示意图。
图2A是示出根据本公开实施例的对数据源生成语义描述的方法的流程图。
图2B是示出根据本公开实施例的对数据源生成语义描述的方法的示意图。
图2C是示出根据本公开实施例的对数据源生成语义描述的电子设备的结构图。
图3A是示出根据本公开实施例的对数据源生成语义描述的方法中的生成语义描述的操作的流程图。
图3B是示出根据本公开实施例的对数据源生成语义描述的方法中的描述生成网络的示意图。
图3C是示出根据本公开实施例的对数据源生成语义描述的方法中的调制网络的示意图。
图4A是示出根据本公开实施例的对数据源生成语义描述的方法的另一流程图。
图4B是示出根据本公开实施例的对数据源生成语义描述的方法的架构图。
图5是示出根据本公开实施例的输出视频的语义描述的方法的流程图。
图6是示出根据本公开实施例的对数据源生成语义描述的设备的结构图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
为便于描述本公开,以下介绍与本公开有关的概念。
人工智能(Artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
可选地,下文中的各个网络都可以是人工智能网络,其可以包括基于人工智能的神经网络模型。通常,基于人工智能的神经网络模型被实现为无环图,其中神经元布置在不同的层中。通常,神经网络模型包括输入层和输出层,输入层和输出层通过至少一个隐藏层分开。隐藏层将由输入层接收到的输入变换为对在输出层中生成输出有用的表示。网络节点经由边全连接至相邻层中的节点,并且每个层内的节点之间不存在边。在神经网络的输入层的节点处接收的数据经由隐藏层、激活层、池化层、卷积层等中的任意一项被传播至输出层的节点。神经网络模型的输入输出可以采用各种形式,本公开对此不作限制。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本公开的实施例提供的方案涉及人工智能、自然语言处理和机器学习等技术,具体通过如下实施例进行说明。
图1A是示出根据本公开实施例的对数据源生成语义描述的场景100的示例示意图。图1B是示出根据本公开实施例的对数据源生成语义描述的另一场景101的示例示意图。
目前,已经存在多个可以观看视频、购买唱片和阅读文章等的平台。图1A示出了一种在平台上展示数据源以及对数据源的语义描述的界面。用户可以通过查看该平台上对于各种数据源(诸如,视频、音频、文章等)的语义描述信息来确定自己是否会进一步观看视频、购买唱片和与阅读文章等等。本公开中的视频可以指时长较长的电影、电视剧,也可以指时长较短(例如只有10秒至几分钟)的短视频。例如,参见图1A,电影A对应的描述信息为“电影A讲述了小花和小明的故事”,而电影C对应的描述信息则是“电影C是一部非常精彩的电影”。
此外,现在也存在多种聊天机器人。当用户在和聊天机器人对话时,可能会要求聊天机器人返回对某些数据源的语义描述。例如,图1B就示出了用户和聊天机器人的某个聊天会话界面,用户可能和聊天机器人聊起电影A,并要求聊天机器人概述电影A的内容。此外,如图1B所示,用户还可能要求聊天机器人描述电影主角“小花”的出现时对其的着装进行描述。这时,聊天机器人可能提取出包括电影主角“小花”的图像,并生成对该图像的语义描述,例如“小花的衣服很好看”。
图1A和图1B中示出的语义描述都可以是通过人工智能网络而自动生成的。本公开提出一种对数据源生成语义描述的方法。该方法在解析数据源的基础上,利用范例句来对语义描述的生成进行指导,增强了对于数据源的语义描述的多样性。例如,假如电影A和电影C都采用范例句“电影M是一部浪漫爱情喜剧,其讲述了小黄和小黑相爱的故事”。那么图1A中对于电影A的语义描述可能是“电影A是一部奇幻电影,其讲述了小花和小明斗争的故事”,而电影C的语义描述可能是“电影C是一部精彩的悬疑电影,其讲述了小红和小蓝的冒险故事”。
由于范例句的来源广泛并且句法无特定的约束,因此对于各种数据源,根据本公开实施例的方法可以生成多种多样的语义描述,提高了用户的阅读体验。另外,相比于现有的通过风格/情感等词性标签来指导语义描述的生成的方式而言,根据本公开实施例的方法可以提供更为直观的句法指导,也便于用户接受,更加便于数据源的推广。
图2A是示出根据本公开实施例的对数据源生成语义描述的方法2000的流程图。图2B是示出根据本公开实施例的对数据源生成语义描述的方法2000的示意图。图2C是示出根据本公开实施例的对数据源生成语义描述的电子设备200的结构图。
根据本公开的实施例的对数据源生成语义描述的方法2000可以应用于任何的电子设备中。可以理解,电子设备可以是不同种类的硬件设备,例如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机、服务器等等。例如,该电子设备可以是图2C中示出的电子设备200。
参见图2C,电子设备200可以包括处理器201和存储器202。处理器201和存储器202可以通过总线203相连。
处理器201可以根据存储在存储器202中的程序执行各种动作和处理。具体地,处理器201可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X82架构或ARM架构的。
存储器202上存储有计算机指令,该计算机指令被微处理器执行时实现方法2000。存储器202可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本公开描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
以下,本公开以电子设备200为例进行说明,本领域技术人员应当理解本公开并不以此为限。
首先,在操作2100中,电子设备200可以获取数据源的数据编码特征。
如上所述,数据源可以是视频数据、音频数据、图片数据等非文本数据,或者数据源还可以是文本数据,而数据编码特征则是能够表征数据源的特征的一维或多位数组。参考图2B,当数据源是视频数据时,获取视频数据的数据编码特征可以包括:将视频数据的一个或多个视频帧转换为一个或多个视频帧特征。然后,将一个或多个视频帧特征转换为视频编码特征。
电子设备200可以利用视频编码网络来获取视频编码特征。由于视频数据可能包括较多视频帧,如果对每个视频帧都提取该视频帧的表示向量,则会导致计算量过大。因此,可以仅从视频数据中抽取部分视频帧,并基于部分视频帧来获取一个或多个视频帧特征。根据本公开实施例的电子设备200可以通过各种方式来抽取视频数据的抽取部分视频帧。例如,电子设备200可以从视频数据中均匀地抽取视频帧,比如每隔10s抽取一帧图片作为代表视频帧。再例如,电子设备200可以抽取画面突变的相邻两个视频帧作为部分视频帧的一部分。本公开不对抽取方式进行限制,只要其能表征视频数据源即可。当然,电子设备200也可以不抽取视频帧,而是将视频数据中的所有视频帧均转化为视频帧特征,以获取能够表征更多细节的数据编码特征。
例如,电子设备200可以利用视频编码网络内部的Inception-ResNet网络(基于Inception的残差网络)来将一个或多个视频帧转换为一个或多个视频帧特征。可选地,一个视频帧特征可以是一个1536维的向量。每个视频帧特征以向量的方式表征了该视频帧的图像信息。Inception-ResNet网络可以很好的解决神经网络模型中的退化问题,进而相比于其他神经网络,Inception-ResNet网络所输出的视频帧特征可以更好地表征上述的视频帧。当然,电子设备200也可以使用其他神经网络模型来将一个或多个视频帧转换为一个或多个视频帧特征,本公开对此不作限制。
在获取一个或多个视频帧特征以后,电子设备200可以利用视频编码网络的长短时记忆(Long Short Term Memory,LSTM)网络来将这些视频帧特征进一步转换成视频数据的视频编码特征。由于多个视频帧可能是时序排列的,因此,将多个视频帧特征融合为视频编码特征也需要保留其原本的时序属性。长短时记忆网络作为一种经典的循环神经网络模型,可以在保留每个视频帧特征中的语义信息的情况下,还保留这些视频帧特征之间的时序信息,从而获取一个能够充分表征视频数据的视频编码特征。视频编码特征可以是多维度的浮点型向量,本公开对此不作限制。当然,电子设备200也可以使用其他神经网络模型来将一个或多个视频帧特征转换为视频编码特征,本公开对此不作限制。
由此,所获取的视频编码特征可以作为数据源的数据编码特征。由于数据源还可以是音频数据、图片数据等非文本数据,或者数据源还可以是文本数据,本领域技术人员应当理解,当数据源不是视频数据时,利用与获取视频编码特征相似的方法(例如采用一个或多个神经网络来从数据源中提取数据编码特征)也可以获取这些数据源的数据编码特征,本公开不对获取数据编码特征的方式进行限制。
接下来,在操作2200中,获取从范例句集合中获取至少一个范例句,并且获取至少一个范例句的句法编码特征。参考图2B,可选地,获取至少一个范例句的句法编码特征还包括:将范例句转化为句法序列;将句法序列转换为句法特征序列;以及将句法特征序列作为范例句的句法编码特征。
在图2B中示意性地示出了范例句集合。范例句可以包括各种各样的句子。例如,上述的范例句-“电影M是一部浪漫爱情喜剧,其讲述了小黄和小黑相爱的故事”。以下以范例句“The girl on the scooter riding in the summer sun in the park”为例进行说明如何获取该范例句的句法编码特征,本领域技术人员应当理解该方法也可以应用于各种语言、各种句法形式的范例句的句法编码特征提取过程。
对于范例句“The girl on the scooter riding in the summer sun in thepark”,图2B中的句法编码网络可以通过句法分析将该范例句转换为句法分析树。可选地,可以利用斯坦福分析器(Stanford Parser)工具包来生成句法分析树,但是本公开并不以此为限。通过句法分析,电子设备200可以确定范例句的语法结构和/或范例句中各个词汇之间的依存关系,并将句法结构和词汇依存关系通过句法分析树来表达。
对于上述范例句,所生成的句法分析树如下:
上述句法分析树的叶子节点为该范例句的实际单词,例如,根据上述范例句生成的句法分析树的叶子节点可以是“the”、“girl”、“on”等等。通过移除句法分析树中的叶子节点,并以括号的形式将树结构展开成序列结构,得到范例句句法序列S。例如,上述范例句的句法序列S可以是“(ROOT(FRAG(NP(DT)(NN))(PP(IN)(NP(NP(DT)(NN))(VP(VBG)(PP(IN)(NP(NP(DT)(NN)(NN))(PP(IN)(NP(DT)(NN))))))))))”。其中,ROOT表示句子的开始,NN表示常用名词,NP表示名词等等。句法序列中的每一个元素诸如“ROOT”,“NP”,“(”或者“)”都可以作为独立的序列单元。
在获取句法序列S以后,电子设备200可以利用句法编码网络的长短时记忆网络来将句法序列S进一步转换成该范例句的句法特征序列作为该范例句的句法编码特征。句法序列S中的每个序列单元将依次输入至句法编码网络的长短时记忆网络,从而获取包括范例句的句法时序信息的句法特征序列。当然,句法编码网络还可以使用其他类型的神经网络来对句法序列S进行分析从而获取句法编码特征,本公开对此不作限制。
最后,在操作2300中,电子设备200基于上述的数据编码特征和句法编码特征,生成语义描述。
电子设备200可以使用图2B中所示的描述生成网络来基于数据编码特征和句法编码特征来生成语义描述。可选地,描述生成网络首先可以基于句法编码特征来对数据编码特征进行调制,以获取调制特征。接着描述生成网络再利用其自身的长短时记忆网络,基于所述调制特征,生成语义描述。
可选地,描述生成网络引入了基于句法指导的调制机制,该机制基于句法编码特征,生成用于对长短时记忆网络的输入特征和隐层特征进行缩放和平移的调制参数。基于这些调制参数,描述生成网络可以对其的长短时记忆网络的输入特征、单元特征、隐藏特征等进行调制(也即对这些特征进行缩放和评议)以生成调制特征。可选地,调制特征包括调制输入特征、调制隐藏特征以及调制单元特征中的一项或多项。电子设备200可以基于这些调制特征来生成语义描述。由此,在语义描述的生成过程中的考虑了范例句的句法信息,生成与范例句句法一致的语义描述。同时,由于数据编码特征可以作为描述生成网络的长短时记忆网络的输入,并参与到语义描述的生成过程当中,由此保证了语义描述能够表达数据源的语义信息。
由于范例句的来源广泛并且句法无特定的约束,因此对于各种数据源,根据本公开实施例的方法2000可以生成多种多样的语义描述,提高了用户的阅读体验。另外,相比于现有的通过风格/情感等词性标签来指导语义描述的生成的方式而言,根据本公开实施例的方法2000可以提供更为直观的句法指导,也便于用户接受,更加便于数据源的推广。
图3A是示出根据本公开实施例的对数据源生成语义描述的方法2000中的生成语义描述的操作2300的流程图。图3B是示出根据本公开实施例的对数据源生成语义描述的方法2000中的描述生成网络300的示意图。图3C是示出根据本公开实施例的对数据源生成语义描述的方法2000中的调制网络301的示意图。
在操作2300中,电子设备200可以通过图3B中所示的描述生成网络300来生成语义描述,其具体操作可以包括图3A中所示的操作2301至2306。
描述生成网络300可以是以数据编码特征和句法编码特征作为输入,以语义描述作为输出的神经网络。可选地,描述生成网络300可以包括一个或多个调制网络。图3B中的描述生成网络300包括三个调制网络:第一调制网络、第二调制网络和第三调制网络。这些调制网络可以具有如图3C中所示的调制网络301的结构。描述生成网络300还包括一个长短时记忆网络。该长短时记忆网络可以包括图3B中示出的遗忘门ft、输入门it、输出门ot等。可选地,本领域技术人员应当理解,描述生成网络300还可以包括其他组成元素,本公开并不以此为限。
为了描述方便,下文以视频数据为例进行说明,但本领域技术人员应当理解本公开并不以此为限。假设通过视频编码网络抽取了m帧视频帧。每一个视频帧的视频帧特征使用v
1来进行表示,因此,视频编码网络可以获取所抽取的视频帧特征的集合V=[v
1,…,v
m]。接着,视频编码网络通过其内置的长短时记忆网络获取了该视频数据的数据编码特征
H
v中编码了视频数据中的语义信息,为语义描述的生成提供了语义指导。
在下文中,句法编码特征使用
来表征,其中n是句法序列S中的元素个数。H
s中编码了范例句中的整体句法信息,为语义描述的生成提供句法结构上的指导。
可选地,描述生成网络300可以基于数据编码特征和长短时记忆网络在前一时刻生成的隐藏特征,获取用于当前时刻的语义特征
此外,描述生成网络300还可以基于句法编码特征和长短时记忆网络在前一时刻的隐藏特征获取用于当前时刻的句法特征
例如,描述生成网络300可以通过注意力机制(也即下面的公式(1)和公式(2))、基于长短时记忆网络在前一时刻生成的隐藏特征
来对数据编码特征H
v和句法编码特征H
s进行筛选,以生成用于当前时刻的语义特征
和用于当前时刻的句法特征
函数
和
可以被抽象为对数据编码特征H
v和句法编码特征H
s中的各个元素进行加权,而加权的权重就表征了对各个元素的关注的程度。注意力机制的作用是在更高层上对数据编码特征H
v和句法编码特征H
s进行综合提取。假设描述生成网络300使用范例句“The girl on the scooter riding in thesummer sun in the park”所生成的视频数据的语义描述为“The man with coat drivingon the dirt road in the forest”。那么在生成“man”这个词所对应的词向量的时刻t,H
s中与“girl”所对应的元素的注意力权重就应该较大,而H
s中与“park”所对应的元素的注意力权重就应该较小。也即在时刻t,
中与“girl”所对应的元素的注意力权重较大而与“park”所对应的元素的注意力权重就较小。由此,通过公式(1)和公式(2),描述生成网络300计算出了可用于生成其的长短时记忆网络的当前时刻的语义特征
和句法特征
接着,描述生成网络300可以基于用于当前时刻的语义特征
和长短时记忆网络在前一时刻生成的语义描述词的词向量w
t-1,生成输入特征
可选地,方法2000中基于句法编码特征对数据编码特征进行调制包括:基于当前时刻t的句法特征
对输入特征x
t、前一时刻生成的隐藏特征
或单元特征
进行调制。例如,描述生成网络可以使用图3C中所示调制网络来对这些特征进行调制。
在操作2301中,电子设备200可以基于数据编码特征H
v和长短时记忆网络在前一时刻生成的语义描述词的词向量来w
t-1获取输入特征x
t,并且基于句法编码特征H
s对输入特征x
t进行调制,得到调制输入特征x
t’=
是用于调制输入特征x
t的缩放向量,
是用于调制输入特征x
t的平移向量。用于调制输入特征的
可以通过图3C中的调制网络来获取。W
x是描述生成网络中与输入特征x
t相对应的权重,其将通过对描述生成网络进行训练而生成。
如图3B所示,描述生成网络300可以使用第一调制网络来对输入特征x
t进行调制。第一调制网络以句法编码特征
和输入特征x
t为输入,以调制输入特征x
t’为输出。第一调制网络的结构可以如图3C所示,其包括两个多层感知机f
γ和f
β。可选地,f
γ和f
β可以是结构相同,但参数独立的多层感知机。f
γ和f
β以范例句句法特征
作为输入,分别输出缩放向量γ
t和平移向量β
t。接着,第一调制网络可以通过以下公式(3)和公式(4)生成调制输入特征x
t’。
在上述公式中μ(x)和σ(x)为特征归一化操作中的均值和标准差。与第一调制网络类似的,第二调制网络和第三调制网络也可以采用类似的结构来分别对长短时记忆网络在前一时刻的隐藏特征和单元特征进行调制。由此,如图3B中所示的描述生成网络中的三个调制网络可以生成三对独立的缩放向量γ
t和平移向量β
t:用于调制长短时记忆网络在前一时刻的隐藏特征的
用于调制输入特征的
以及用于调制长短时记忆网络在前一时刻的单元特征的
在操作2302中,电子设备200可以基于句法编码特征H
s对长短时记忆网络在前一时刻的隐藏特征
进行调制,得到调制隐藏特征
在操作2303中,电子设备200可以基于句法编码特征H
s对长短时记忆网络在当前时刻的单元特征
进行调制,得到调制单元特征
值得注意的是,电子设备200可以仅执行操作2302和2303中的任意一部分操作,其也可以实现使用范例句对语义描述的生成进行指导。
接着描述生成网络300的长短时记忆网络可以将调制输入特征x
t’、调制隐藏特征
调制单元特征
作为输入来获取当前时刻的单元特征
和隐藏特征
可选地,长短时记忆网络可以利用以下的公式(5)至公式(7)来获取当前时刻的单元特征
和隐藏特征
在公式(5)中,长短时记忆网络的遗忘门f
t、输入门i
t、输出门o
t以及用于计算当前时刻的单元特征
的g
t都可以使用基础的长短时记忆网络的相关定义来进行计算,因此本公开将不再赘述。W
h是描述生成网络中与前一时刻的隐藏特征
相对应的权重,其将通过对描述生成网络进行训练而生成。
公式(6)和公式(7)中的⊙表示按元素乘,tanh是三角函数中的双曲正切函数。根据公式(6)和公式(7),长短时记忆网络生成了当前时刻的
和
可以通过一个解码网络生成在时刻t的词语输出。
例如,如图3A所示,方法2000还可以进一步包括操作2304至操作2306。
在操作2304中,电子设备200可以基于长短时记忆网络的当前时刻的隐藏状态
和长短时记忆网络的生成权重W
g、偏置b
g获取当前时刻的词概率分布。例如,可以根据以下公式8获取当前时刻的词概率分布P(w
t|w
t-1,V,S;θ)。
P(wt|wt-1,V,S;θ)是词表中的单词在t时刻被选中的概率分布。公式(8)中可选地,在该词表中具有最高选中概率的词可以被输出为语义描述词word。其中,公式(8)使用了Softmax函数,其又称归一化指数函数。Softmax函数能将一个含任意实数的K维向量“压缩”到另一个K维实向量中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。θ表示视频编码网络、句法编码网络和描述生成网络这三个网络中经训练后的参数的集合。V为上述的视频帧特征的集合,S为上述的句法序列。wt-1为前一时刻t-1输出的语义描述词的词向量,wt为当前时刻t输出的语义描述词的词向量。
在操作2305中,电子设备200可以基于当前时刻的词概率分布P(w
t|w
t-1,V,S;θ)获取当前时刻的语义描述词word。接着,为了下一时刻的语义描述词的输出,语义描述词word可以通过词嵌入(word embedding)的方式转换成词向量w
t,这个词向量w
t将和
拼接在一起作为下一时刻t+1的输入特征x
t+1。
在操作2306中,电子设备200可以将多个时刻的语义描述词组合成语义描述。继续以范例句“The girl on the scooter riding in the summer sun in the park”为例。假设当前时刻t=5,长短时记忆网络输出的语义描述词是“driving”,而在时刻t+1=6,长短时记忆网络输出的语义描述词则可能是“on”。将所有时刻的语义描述词拼接起来,生成的语义描述则可能是上述的“The man with coat driving on the dirt road in theforest”。
在上述句法调制机制的作用下,每一时刻长短时记忆网络的隐层状态
都将在范例句句法的条件指导下进行,因而通过本公开的实施例的方法2000而生成的语义描述的句法也能够得以控制。
图4A是示出根据本公开实施例的对数据源生成语义描述的方法2000的另一流程图,其示出了维持。图4B是示出根据本公开实施例的对数据源生成语义描述的方法2000的架构图。
如图4B所示,电子设备200还通过数据源重构网络和句法重构网络分别重构出数据源的特征序列和范例句的句法序列,以达到进一步在生成的语义描述中维持数据源的数据编码特征和范例句句法的目的。
假设描述生成网络所生成各个时刻的隐藏状态的集合为
为便于描述,在下文中H
g又被称为描述生成网络的长短时记忆网络的隐藏特征序列。
例如,在操作401中,电子设备200可以利用数据源重构网络来从长短时记忆网络的隐藏特征序列H
g中获取数据源的数据源重构向量
数据源重构网络可以是另一长短时记忆网络,也可以是其他类型的神经网络,例如循环神经网络RNN。数据源重构向量
包括数据源重构网络在各个时刻的隐藏状态(在下文中称为数据源重构特征),也即
假设某一时刻i数据源重构网络的更新前的数据源重构特征为
可选地,利用数据源重构网络来从长短时记忆网络的隐藏特征序列H
g中获取数据源的数据源重构向量
包括:基于长短时记忆网络的隐藏特征序列H
g和数据源重构网络的上一时刻的数据源重构特征
获取当前时刻的数据源重构关键状态
以获取当前时刻的数据源重构特征
类似于描述生成网络300,数据源重构网络也可以采取注意力机制来对隐藏特征序列H
g进行筛选,以获取数据源重构关键状态
也即,数据源重构网络可以通过公式(9)来获取数据源重构关键状态
接着,所输出的注意力作用的隐层状态特征
可以作为数据源重构网络的输入,以使用以下公式(10),来更新数据源重构特征:
当数据源是视频数据时,更新后的隐层状态
可以被认为是视频帧特征v
i的重构。
在操作402中,电子设备200利用句法重构网络来从长短时记忆网络的隐藏特征序列中获取范例句的句法重构向量。
对于句法重构网络,句法重构网络也是一种长短时记忆网络,其所对应产生的
则被用于预测句法序列S,其预测方式与视频描述生成一致。因此,类似地,利用句法重构网络来从长短时记忆网络的隐藏特征序列H
g中获取范例句的句法重构向量还包括:基于长短时记忆网络的隐藏特征序列H
g和句法重构网络的上一时刻的句法重构特征
获取当前时刻的句法重构关键状态
以获取当前时刻的句法重构特征
电子设备200可以通过下述的操作403和操作404来训练(描述生成网络的)长短时记忆网络、数据源重构网络或句法重构网络。
在操作403中,基于语义描述样本、范例句样本和数据源样本,计算长短时记忆网络损失函数、数据源重构网络损失函数或句法重构损失函数。
可选地,长短时记忆网络损失函数可以被计算为logP(W|V,S;θ);数据源重构网络损失函数可以被计算为
句法重构网络可以被计算为
其中,θ表示视频编码网络、句法编码网络和描述生成网络这三个网络中待训练的参数的集合。θ
rec表示数据源重构网络和句法重构网络中待训练的参数的集合。V为数据源样本中上述的视频帧特征的集合,S为范例句样本的句法序列的集合,W可以表示语义描述样本。由此,P(W|V,S;θ)表示使用所训练的参数集θ,在给定视频帧特征的集合V和句法序列S的情况下,长短时记忆网络生成与训练样本中的W一致的概率。
表示使用所训练的参数集θ和
在给定视频帧特征的集合V和句法序列S的情况下,重构出句法序列S的概率。由此,长短时记忆网络损失函数和句法重构损失函数则被定义为上述的负对数似然损失函数。
当数据源是视频数据时,数据源重构损失函数被定义为视频帧特征v
j和其重构特征
之间的欧式距离的平均值(例如下列的公式12):
公式(12)中,Euclidean表示求取视频帧特征v
i和其重构特征
之间的欧式距离。
在操作404中,基于长短时记忆网络损失函数、数据源重构损失函数和句法重构损失函数,训练长短时记忆网络、数据源重构网络或句法重构网络。
可选地,基于长短时记忆网络损失函数、数据源重构损失函数和句法重构损失函数可以构造图4B中的整个系统的训练损失函数L(θ,θrec)(公式13)。
α,λ,η为平衡三项损失函数的系数。Γtrain表示训练样本集。当L(θ,θrec)收敛时,表示图4B所示的整个系统中所涵盖的五个神经网络均训练完成。
可选地,Γtrain中的样本可以是人工标注的既符合视频V的语义信息又符合范例句S的句法信息的语义描述。或者,Γtrain中的范例句可以直接从人工撰写的视频V的语义描述中选取。这样可以使得样本的准确性更高。
图5是示出根据本公开实施例的输出视频的语义描述的方法5000的流程图。
操作5100至操作5300是生成该视频的语义描述的操作,其与根据本公开的实施例的方法2000中的操作2100至操作2300相似。
例如,在操作5100中,电子设备200可以获取视频的视频编码特征。
在操作5200中,电子设备200可以从范例句集合中获取至少一个范例句,并且获取至少一个范例句的句法编码特征。
在操作5300中,电子设备200可以基于视频编码特征和句法编码特征,生成描述视频的语义描述。
经过操作5100至操作5300,电子设备200可以获取该描述视频的语义描述。但是根据本公开实施例的输出视频的语义描述的方法5000并不限于根据上述操作来获取视频的语义描述,只要该语义描述能够与范例句集合中的至少一个范例句的句法形式一致即可。
接着,在操作5400中,电子设备200可以输出描述视频的语义描述。其中,其语义描述与范例句集合中的至少一个范例句的句法形式一致。
本公开实施例的输出视频的语义描述的方法5000可以提供视频内容理解服务。在后台服务器中,视频编码器首先对视频数据进行编码,句法分析网络对范例句进行句法分析,然后通过所提出的句法调制的视频描述生成网络生成既能表达视频语义,又与给定的范例句句法形式一致的视频描述句子。
方法5000可以应用在视频类网站用于视频文本描述生成,用户不用浏览视频,只通过查看方法5000输出的语义描述即可了解视频内容,便于其筛选视频,加速浏览进程,提升用户浏览体验。例如,通过方法5000所输出的语义描述可以展示图1A所示的在平台上展示数据源以及对数据源的语义描述的界面100上,其生成与范例句“电影M是一部浪漫爱情喜剧,其讲述了小黄和小黑相爱的故事”相似的一个或多个视频描述句子,例如“电影C是一部精彩的悬疑电影,其讲述了小红和小蓝的冒险故事”。
方法5000还可以应用在聊天机器人当中(例如,图1B所示的用户和聊天机器人的聊天会话界面101上),通过所提供不同的范例句模板,生成不同的语义描述来应对用户的聊天输入,提升聊天机器人语言表达的多样性(例如图1B中输出的“小花的衣服很好看”和“电影A讲述了小花和小明的故事”),增强聊天过程的趣味性,从而提升用户体验。
图6是示出根据本公开实施例的对数据源生成语义描述的设备600的结构图。
对数据源生成语义描述的设备600可以包括数据编码模块601、句法编码模块602和语义描述生成模块603。
数据编码模块601,用于获取数据源的数据编码特征。
可选地,当数据源是视频数据时,数据编码模块601还可以用于将视频数据的一个或多个视频帧转换为一个或多个视频帧特征;将一个或多个视频帧特征转换为视频编码特征;以及将视频编码特征作为数据源的数据编码特征。
句法编码模块602,用于从范例句集合中获取至少一个范例句,并且获取至少一个范例句的句法编码特征。
可选地,句法编码模块602还可以用于将范例句转化为句法序列;将句法序列转换为句法特征序列;以及将句法特征序列作为范例句的句法编码特征。
语义描述生成模块603,用于基于数据编码特征和句法编码特征,生成语义描述。例如,语义描述生成模块603还可以用于基于句法编码特征对数据编码特征进行调制并获取调制特征;利用长短时记忆网络,基于调制特征,生成语义描述。
通过使用数据源生成语义描述的设备600,根据所提供的数据源和一个范例句子,即可生成与范例句句法一致的语义描述,从而能够达到个性化定制语义描述的目的,提升了用户体验。此外,通过提供不同的范例句,本发明则能够产生不同的语义描述,从而增强了语义描述的多样性。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现方法2000。
本公开的实施例通过生成多种多样的语义描述,提高了用户的阅读体验。另外,相比于现有的通过风格/情感等词性标签来指导语义描述的生成的方式而言,根据本公开实施例的方法可以提供更为直观的句法指导,也便于用户接受,更加便于数据源的推广。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本发明的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本发明的范围内。