用于扩充数据集的方法
1.本技术是申请号为“201811142228.9”、题为“生成vaq训练数据的方法、装置、设备和计算机可读介质”的分案申请。
技术领域
2.本公开的实施例涉及计算机领域,具体涉及人工智能领域,尤其是知识图谱、深度学习领域,并且更具体地涉及用于扩充数据集的方法、装置、电子设备和计算机可读存储介质。
背景技术:
3.vqa系统涉及计算机视觉、自然语言处理和知识表示(kr)等多领域,目前已成为人工智能研究的热点。在vqa系统中,给定一副图像,需要回答围绕这幅图像的问题。也就是,需要将图像和问题作为输入,结合这两部分信息,产生一条人类语言作为输出。当前vqa系统基于有监督的机器学习方法来实现,其中通过大量的图像和围绕该图像的问题和答案的示例作为训练数据,使得学习到如何根据图像内容对问题进行回答。这种方法的效果直接依赖于训练数据的量。
4.目前,训练数据通常通过人工标注而获得。例如,对给定的输入图像,由标注人员对该图像提出问题并标注相应的答案。这种方式的成本高、速度慢并且训练数据量有限。期望提供改进的方案来得到训练数据,以便提升模型训练的效果,从而提高vqa系统的准确率。
技术实现要素:
5.根据本公开的示例实施例,提供了用于扩充数据集的技术方案。
6.在本公开的第一方面中,提供了一种用于扩充数据集的方法,包括:获取第一问题和与所述第一问题相对应的第一答案;基于语义知识库,确定在语义方面与所述第一问题相关联的第二问题;以及基于所述第一问题的答案以及所述第一问题和所述第二问题之间的语义关系,确定与所述第二问题相对应的第二答案。
7.在本公开的第二方面中提供了一种用于扩展数据集的装置,包括:获取单元,被配置为获取第一问题和与所述第一问题相对应的第一答案;问题确定单元,被配置为基于语义知识库,确定在语义方面与所述第一问题相关联的第二问题;答案确定单元,被配置为基于所述第一问题的答案以及所述第一问题和所述第二问题之间的语义关系,确定与所述第二问题相对应的第二答案。
8.在本公开的第三方面中,提供了一种电子设备。该电子设备包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本公开的第一方面的方法。
9.在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
10.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
11.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
12.图1示出了本公开实施例可以在其中实施的示例环境的示意图;
13.图2示出了根据本公开实施例的用于生成vqa系统中的训练数据的方法的流程图;
14.图3示出了根据本公开实施例的用于确定第二问题的方法的流程图;
15.图4示出了根据本公开实施例的用于生成vqa系统中的训练数据的装置的示意框图;以及
16.图5示出了可以实施本公开实施例的计算设备的框图。
具体实施方式
17.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
18.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
19.以下将参照附图来具体描述本公开的实施例。
20.图1示出了本公开的实施例可以在其中实施的示例环境100的示意图。示例环境100示出了vqa系统的模型训练过程。如图1所示,示例环境100可以包括存储设备110和计算设备120。存储设备110可以用于存储针对vqa系统的训练数据130。应理解到,存储设备110可以为本领域已知或未来开发的任意存储装置。计算设备120可以为支持vqa模型140的服务器或客户端设备,例如搜索引擎服务器、数据库服务器、计算集群等。计算设备120可以从存储设备110获取训练数据130,以供vqa模型的训练使用。训练数据130可以包括图像、针对该图像的问题和与问题相应的答案的集合。应理解到,图1仅为示例,本技术并不限于此。实际上,本公开的实施例可以适用于vqa系统模型训练的任意场景。
21.如前面提及的,目前通过人工标注的方式确定训练数据130。这种方式成本高、速度慢并且训练数据量有限。鉴于此,本技术的基本构思就在于,基于已有训练数据,通过计算机实现的方式,利用语义来自动扩充训练数据。由此,可以自动、低成本且高效率地得到训练数据,并且显著提升训练数据量,从而提高vqa系统模型的准确性。
22.下面结合图2和图3更详细地描述根据本公开实施例的用于生成针对vqa系统的训练数据的方案的示例性实施。图2示出了根据本公开实施例的用于生成vqa系统中的训练数据的方法200的流程图。该方法200可以在例如图1的计算设备120处实施。应理解到,该方法
200也可以在与支持vqa模型140的计算设备120分离的其它计算设备处实施。换言之,训练数据的生成可以与vqa模型的训练分开地实施。
23.如图2所示,在框210,可以获取vqa系统的第一组训练数据。根据本公开的实施例,第一组训练数据可以包括针对vqa系统中的图像的第一问题和与第一问题相对应的第一答案。返回图1,如训练数据130所示,针对vqa系统中的每个图像,可以包括至少一个问题和与该问题相对应的答案。根据本公开的一些实施例,该图像可以是图片形式。在备选实施例中,该图像可以是视频数据中的一帧。
24.根据本公开的一些实施例,可以从通过人工标注得到的、针对vqa系统的已有训练数据集合中获取第一组训练数据。在备选实施例中,可以从通过计算机实现的方式得到的、针对vqa系统的已有训练数据集合中获取第一组训练数据。通过本公开实施例的方案,可以对已有训练数据集合进行自动扩充,从而提升训练数据量,进而增强vqa系统模型训练的效果。
25.继续参考图2,在框220,可以确定在语义方面与第一问题相关联的第二问题。根据本公开的实施例,可以基于第一问题,利用语义分析来构建第二问题。在一些实施例中,可以基于语义分析,确定第一问题中的关键词,然后确定在语义上与关键词相关联的扩展词,并基于扩展词来构建第二问题。应理解到,在本公开的实施例中,可以基于本领域已知或未来开发的针对自然语言的任意语义分析算法或技术来实施语义分析。另外,本公开的实施例中的问题和答案可以任意自然语言来表述。自然语言的示例包括但不限于中文、英文、德文、西班牙文、法文等等。在以下描述中,将以中文和英文作为自然语言的示例。然而应当理解,这仅仅出于示例的目的,而无意于限制本公开的范围。本公开的实施例可以适用于各种不同的自然语言。
26.根据本公开的一些实施例,可以基于第一问题的类型,诸如句型、句式等,来实施第一问题中的关键词的确定,以便于后续第二问题的构建。下面结合图3详细地描述根据本公开实施例的用于构建第二问题的方案的示例性实施。图3示出了根据本公开实施例的用于确定第二问题的方法300的流程图。类似于方法200,该方法300可以在例如图1的计算设备120处实施,也可以在与支持vqa模型140的计算设备120分离的其它计算设备处实施。
27.如图3所示,在获取到针对vqa系统中的图像的第一组训练数据(诸如图2的框210)后,在框310,确定针对该图像的第一问题的类型是一般疑问句还是特殊疑问句。一般疑问句是指用“是(yes)”或“否(no)”或类似词来回答的问题。特殊疑问句是包含特殊疑问词的问题。更一般而言,一般疑问句以外的疑问句是特殊疑问句。
28.根据本公开的一些实施例,可以通过将第一问题与特殊疑问词集合进行匹配,来确定第一问题的类型是一般疑问句还是特殊疑问句。如果匹配失败,则确定第一问题的类型为一般疑问句。如果匹配成功,则确定第一问题的类型为特殊疑问句。根据本公开的实施例,特殊疑问词集合可以包括但不限于:“为什么(why)”、“谁(who)”、“如何(how)”、“什么(what)”、“何时(when)”、“多少(how many/how much)”。
29.在备选实施例中,可以基于第一答案的类型来确定第一问题的类型是一般疑问句还是特殊疑问句。例如,如果第一答案的类型是肯定或否定回答,则确定第一问题的类型为一般疑问句。如果第一答案的类型不是肯定或否定回答,则确定第一问题的类型为特殊疑问句。应理解到,可以采用其它任意合适方式来确定第一问题的类型,而不限于上述示例。
30.如果在框310处确定第一问题的类型为特殊疑问句,进入框320。在框320,基于第一问题和第一答案,将特殊疑问句转换为一般疑问句。例如,图1中的130所示,问题为:图像中有几个人?答案为:3个人。该问题包含“几个”,因此为特殊疑问句。相应地,转换后的一般疑问句为:图像中是有3个人吗?应理解到,疑问句的转换可以基于任意适当的语法分析技术来实施,并且为了避免混淆本发明,这里对此不再详述。
31.在框330,从转换后的一般疑问句中提取关键词。根据本公开的一些实施例,关键词可以是疑问句中的主语、宾语等中的一个或多个。根据本公开的实施例,关键词的提取可以基于本领域已知或任意合适的分词算法来实施。为了避免混淆本发明,这里对此不再赘述。
32.例如,在上例中,转换后的一般疑问句为“图像中是有3个人吗?”,可以从中提取关键词“3个”。
33.如果在框310确定第一问题的类型为一般疑问句,则进入框330,以提取关键词。
34.在框340,确定关键词是否与预定词集合中的一个预定词匹配。根据本公开的实施例,预定词集合包括以下中的至少一项:数字、字母以及字符。
35.如果在框340确定关键词与预定词集合中的一个预定词匹配,则在框350,基于语义分析,确定匹配的预定词的扩展词。根据本公开的实施例,数字的扩展词可以包括除该数字以外的其它一个或多个数字。根据本公开的实施例,字母的扩展词可以包括该字母以外的其它一个或多个字母。根据本公开的实施例,字符的扩展词可以包括该字符以外的其它一个或多个字符。根据本公开的实施例,可以基于经验或需要,确定扩展词的数目或种类。
36.例如,在上例中,针对转换后的一般疑问句“图像中是有3个人吗?”,关键词为“3个”,可以确定关键词与预定词集合中的数字匹配,由此确定该关键词的扩展词可以为除“3”以外的其它数字,例如1、4、6。应理解,这里的数字仅为示例,在其它实施例中可以为其它任意数字。
37.如果在框340确定关键词与预定词集合中的所有预定词均不匹配,则进入框360,基于语义分析,确定关键词的扩展词。根据本公开的实施例,扩展词可以包括以下中的至少一项:反义词、同义词、上位词和下位词。如下表1示出了语义关系的一些示例。
38.表1
[0039][0040]
在本公开的一些实施例中,可以借助于语义词库或语义词典来确定关键词的扩展词。语义词库或语义词典可以是本领域已知或未来开发的任意相关技术得到的,本技术实施例对此并不做任何限制。根据本公开的实施例,可以基于经验或需要,确定扩展词的数目或种类。
[0041]
例如,图1中的130所示,问题为:击球手上衣是什么颜色?答案为:红色。通过与特
殊疑问词集合的匹配,确定该问题为特殊疑问句。转换后的一般疑问句为“击球手上衣的颜色是红色吗?”。可以提取关键词“红色”。根据红色、蓝色、黄色等都是颜色的下位词,可以确定例如“蓝色”作为关键词“红色”的扩展词。应理解到,本技术实施例并不限于此,还可以包括其它各种示例。为简洁起见,这里不再赘述。
[0042]
在框350或360确定了扩展词后,进入框370,利用扩展词替换第一问题中的关键词。由此,从第一问题构建出第二问题。例如,在前面的示例中,通过扩展词替换,从问题“图像中有多少人?”和答案“3个人”中可以构建出新的问题“图像中是有一个人吗?”。例如,从问题“击球手上衣的颜色是红色吗?”可以构建出新的问题“击球手上衣的颜色是蓝色吗?”。
[0043]
向回参考图2,在构建了第二问题后,进入框230,基于第一问题和第一答案,确定与第二问题相对应的第二答案,以得到针对vqa系统中的图像的第二组训练数据。该第二组训练数据包括该第二问题和该第二答案。根据本公开的一些实施例,可以基于第一问题与第一答案的逻辑关系以及第一问题与第二问题的语义关系,确定第二答案。应理解到,可以基于其它推理方式,从第一问题、第一答案和第二问题来确定第二答案,并不限于本公开的实施例。
[0044]
例如,在前面的示例中,从问题“图像中有多少人?”和答案“3个人”以及构建出的问题“图像中是有一个人吗?”,通过逻辑推理可以得到新的答案“不是”。于是,构建了包括“问题:图像中是有一个人吗?答案:不是”的第二组训练数据。
[0045]
例如,从问题“击球手上衣是什么颜色?”和答案“红色”以及构建出的问题“击球手上衣的颜色是蓝色吗?”,通过逻辑推理可得到新的答案“不是”。于是,构建了包括“问题:击球手上衣的颜色是蓝色吗?答案:不是”的第二组训练数据。上述逻辑推理可以通过本领域已知或未来开发的任意关系推理算法来实施。为了避免混淆本发明,这里对此不再赘述。
[0046]
至此结合图2和图3描述了根据本公开实施例的用于生成vqa系统中的训练数据的方法。根据本公开的实施例,通过计算机实现的方法生成针对vqa系统的训练数据,因此与传统人工标注方式相比,能够自动且低成本地生成训练数据,从而提高操作效率。另外,根据本公开的实施例,能够基于针对vqa的已有训练数据,利用语义知识库来扩充训练数据,从而大大增加了训练数据量,从而提高了vqa系统模型训练的准确率。
[0047]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0048]
本公开实施例还提供了用于实现上述方法或过程的相应装置。图4示出了根据本公开实施例的用于生成vqa系统中的训练数据的装置400的示意性框图。该装置400可以在例如图1的计算设备120处实施。如图4所示,装置400可以包括获取单元410、问题确定单元420和答案确定单元430。
[0049]
在一些实施例中,获取单元410可以被配置用于获取vqa系统的第一组训练数据,所述第一组训练数据包括针对vqa系统中的图像的第一问题和与所述第一问题相对应的第一答案。根据本公开的实施例,所述获取单元410可以从通过人工标注得到的、针对所述视觉问答系统的已有训练数据集合中获取所述第一组训练数据。
[0050]
在一些实施例中,问题确定单元420可以被配置用于确定在语义方面与所述第一问题相关联的第二问题。根据本公开的一些实施例,问题确定单元420可以包括(未示出):关键词确定单元,被配置用于基于所述第一问题的类型,确定所述第一问题中的关键词;扩
展词确定单元,被配置用于基于语义分析,确定与所述关键词相关联的扩展词;以及构建单元,被配置用于基于所述扩展词构建所述第二问题。
[0051]
在一些实施例中,关键词确定单元可以包括:提取单元,被配置用于响应于所述第一问题的类型为一般疑问句,从所述一般疑问句中提取所述关键词;以及转换单元,被配置用于响应于所述第一问题的类型为特殊疑问句,基于所述第一问题和所述第一答案,将所述特殊疑问句转换为一般疑问句,以及从转换后的所述一般疑问句中提取所述关键词。
[0052]
在一些实施例中,扩展词确定单元可以包括:匹配单元,被配置用于响应于所述关键词与预定词集合中的一个预定词匹配,基于语义分析,确定匹配的所述预定词的扩展词;以及响应于所述关键词与所述预定词集合中的所有预定词均不匹配,确定所述关键词的扩展词。
[0053]
在一些实施例中,预定词集合可以包括以下中的至少一项:数字、字母以及字符。在一些实施例中,扩展词可以包括以下至少一项:反义词、同义词、上位词和下位词。
[0054]
在一些实施例中,构建单元可以利用所述扩展词替换所述第一问题中的所述关键词,以构建所述第二问题。
[0055]
在一些实施例中,答案确定单元430可以基于所述第一问题与所述第一答案的逻辑关系以及所述第一问题与所述第二问题的语义关系,确定所述第二答案。
[0056]
应当理解,装置400中记载的每个单元分别与参考图2和图3描述的方法200和300中的每个步骤相对应。并且,装置400及其中包含的单元的操作和特征都对应于上文结合图2和图3描述的操作和特征,并且具有同样的效果,具体细节不再赘述。
[0057]
装置400中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一些实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置400中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld),等等。
[0058]
图4中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由存储系统或与存储系统对应的主机或独立于存储系统的其它计算设备中的硬件来实现。
[0059]
图5示出了可以用来实施本公开实施例的示例性计算设备500的示意性框图。设备500可以用于实现图1的计算设备120。如图所示,设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0060]
设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0061]
处理单元501执行上文所描述的各个方法和处理,例如方法200和300。例如,在一
些实施例中,方法200和300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由cpu 501执行时,可以执行上文描述的方法200和300的一个或多个步骤。备选地,在其他实施例中,cpu 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200和300。
[0062]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0063]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd
‑
rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0064]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0065]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
转载请注明原文地址:https://doc.8miu.com/read-1250223.html