CN120067395A - 一种视觉媒体搜索方法及电子设备 - Google Patents
一种视觉媒体搜索方法及电子设备 Download PDFInfo
- Publication number
- CN120067395A CN120067395A CN202311589198.7A CN202311589198A CN120067395A CN 120067395 A CN120067395 A CN 120067395A CN 202311589198 A CN202311589198 A CN 202311589198A CN 120067395 A CN120067395 A CN 120067395A
- Authority
- CN
- China
- Prior art keywords
- text
- sample
- visual media
- image
- search
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/7844—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种视觉媒体搜索方法及电子设备,涉及图像处理技术领域。电子设备在接收到用户输入的搜索语句后,确定该搜索语句的文本特征向量。之后,电子设备可以将搜索语句的文本特征向量和电子设备本地存储的视觉媒体的图像特征向量输入至图文匹配模型中,以供利用图文匹配模型确定搜索语句与视觉媒体是否匹配,实现视觉媒体的搜索。其中,图文匹配模型是利用正负样本训练得到的,该正负样本是通过区分样本图像对应的样本文本元素确定的,该样本图像对应的样本文本元素包括各个样本图像对应的文本集合中的一个文本元素,样本图像对应的文本集合表示样本图像对应的描述内容的集合,实现图文匹配模型的训练样本的快速确定,从而能够提高图文匹配模型的训练效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种视觉媒体搜索方法及电子设备。
背景技术
随着电子设备(如手机)的发展,手机的拍摄功能也得到了快速发展,越来越多的用户利用手机拍摄照片、视频等,并将拍摄得到的照片、视频存储在手机的图库中。此外,用户还可以手机下载的图片、截图存储在手机的图库中。
当用户想要搜索视觉媒体(如照片、视频等)时,可以在手机上输入搜索语句,例如,9月1号拍摄的照片,手机响应于用户输入的搜索语句,检索9月1号拍摄的照片,得到相应的检索结果。然而,手机对搜索语句的理解能力有限,当搜索语句比较复杂时,手机可能无法准确得到相应的搜索结果。
发明内容
有鉴于此,本申请提供了一种视觉媒体搜索方法及电子设备,用于提高搜索结果的准确性。
第一方面,本申请提供一种视觉媒体搜索方法,应用于电子设备,电子设备可以获取P个样本数据对,该P个样本数据对包括P个样本图像以及P个样本图像对应的描述文本。
之后,对于P个样本图像中的每个样本图像,从该样本图像对应的文本集合中选取一个文本元素,得到该样本图像对应的第一文本元素(或称为文本元素1)。其中,样本图像对应的文本集合可以包括该样本图像对应的描述文本和该描述文本中的各个子文本(或称为第一子文本)。第一文本元素可以是样本图像对应的描述文本或描述文本中的子文本。
之后,电子设备可以对P个样本图像以及P个样本图像对应的第一文本元素进行图文匹配,即将任意一个样本图像和任意一个样本图像对应的第一文本元素进行匹配,得到P*P的样本矩阵。其中,样本矩阵中的第i行元素表示第i个样本图像对应的各个样本文本元素;样本矩阵中的任一样本文本元素与所述样本文本元素所在行对应的样本图像形成一个样本。
之后,电子设备可以基于样本矩阵和样本图像,训练得到图文匹配模型。
电子设备可以显示第一界面;第一界面包括搜索框;
接收在搜索框内输入的搜索语句;搜索语句包括一个或多个子文本;
显示搜索结果,搜索结果对应第一视觉媒体;第一视觉媒体表示通过图文匹配模型确定的视觉内容与搜索语句匹配的视觉媒体。
本申请中,电子设备可以获取P个样本数据对,该P个样本数据是P个正样本。之后,电子设备可以利用P个数据对生成P*P的样本矩阵,从而得到P*P个样本,实现样本数量的增量,实现训练样本的快速生成,保证图文匹配模型的训练效果。之后,电子设备可以利用图文匹配模型,搜索与用户输入的搜索语句匹配的视觉媒体,使得无论搜索语句是否复杂,均可以保证视觉媒体的搜索准确性,满足用户的搜索需求。另外,在图文搜索的场景下,考虑到用户输入的搜索语句符合自然语言的表达习惯,可能会有多个信息(即第二子文本),并且该第二个子文本并不是简单的组合。因此,在训练图文匹配模型时,样本图像也可以存在关于描述样本图像的内容,形成样本图像对应的文本集合,该样本图像对应的文本集合既可以包括关于样本图像整体视觉内容的描述,也可以包括关于样本图像部分视觉内容的描述,以供利用样本图像对应的文本集合训练得到图文匹配模型,使得无论用户输入的搜索语句是对应视觉媒体的整体视觉内容,还是对应视觉内容的部分视觉内容,均可以实现视觉媒体与搜索语句的匹配。
在一种可能的设计方式中,上述确定P*P的样本矩阵的过程可以包括:
对于每个样本图像,将P个样本图像对应的第一文本元素作为样本图像对应的样本文本元素。
基于各个样本图像对应的样本文本元素,生成样本矩阵。其中,样本矩阵中的第i行元素表示第i个样本图像对应的各个样本文本元素。样本矩阵中的任一样本文本元素与样本文本元素所在行对应的样本图像形成一个样本。基于此,实现P个样本图像和P个第一文本元素的匹配,得到多个样本,保证样本的快速生成。
在一种可能的设计方式中,上述根据样本矩阵和所述样本图像,训练得到图文匹配模型的过程可以包括:
电子设备可以根据样本矩阵和样本图像对应的文本集合,区分样本矩阵中的样本文本元素是属于正样本还是负样本。
之后,电子设备可以利用样本矩阵中的样本文本元素和样本图像,得到正负样本。之后,电子设备可以基于正负样本,训练得到图文匹配模型,实现正负样本的区分。
在一种可能的设计方式中,确定上述正负样本的过程可以包括:
对于样本矩阵中的各个样本文本元素,电子设备可以判断该样本文本元素是否属于该样本文本元素所在行对应的样本图像对应的文本集合,以判断该样本文本元素与该样本图像是否匹配。
在样本文本元素属于与样本文本元素所在行对应的样本图像对应的文本集合的情况下,表明该样本元素与该样本图像匹配,电子设备确定样本文本元素和样本文本元素所在行对应的样本图像属于正样本;
在样本文本元素不属于与样本文本元素所在行对应的样本图像对应的文本集合的情况下,表明该样本元素与该样本图像匹配,电子设备可以确定样本文本元素和样本文本元素所在行对应的样本图像属于负样本,实现正负样本的区分。
在另一种可能的设计方式中,确定上述正负样本的过程可以包括:
对第一文本交集矩阵(或称为文本交集矩阵1)和样本矩阵求交,得到第二文本交集矩阵(或称为文本交集矩阵2);第一文本交集矩阵是基于任意两个样本图像对应的文本集合中的相同元素确定的。
在第二文本交集矩阵中的第t行中的第s个交集元素是空的情况下,确定样本矩阵中的第t行中的第s个交集元素和第t个样本图像属于负样本。
在第二文本交集矩阵中的第t行中的第s个交集元素不是空的情况下,确定样本矩阵中的第t行中的第s个交集元素和第t个样本图像属于正样本。基于此,通过利用样本矩阵和第一文本交集矩阵求交,可以快速确定样本矩阵中的文本元素是否属于正样本,提高正负样本的确定效率。
在一种可能的设计方式中,对于每个样本图像,对样本图像对应的描述文本进行分词,得到描述文本中的第一子文本;其中,第一子文本包括描述文本中的名词和/或短语。该短语可以是描述性短语,从而实现样本图像对应的描述内容集合的确定。
在一种可能的设计方式中,在得到样本图像对应的文本集合后,电子设备确定各个样本图像对应的文本集合的并集。之后,电子设备为文本集合的并集中的各个文本元素分配编号,使得文本集合中的不同文本元素对应的编号不同,相同文本元素对应的编号相同。
相应的,电子设备可以对P个样本图像和P个样本图像对应的第一文本元素所对应的编号进行图文匹配,得到P*P的样本矩阵,提高样本矩阵的生成效率。
在一种可能的设计方式中,电子设备可以按照预设比例,从每个样本图像对应的文本集合中随机选取文本元素;其中,预设比例包括选取的第一文本元素是描述文本的比例,选取的第一文本元素是第一子文本的比例。
本申请中国,由于一般是利用图像及其对应的文本整体训练图像编码器和文本编码器,因此,预设比例中的选取的文本元素是描述文本的比例会大于选取的文本元素是子文本的比例,保证模型的训练效果。
在一种可能的设计方式中,第一视觉媒体表示通过图文匹配模型确定的,视觉内容与搜索语句匹配的候选视觉媒体。候选视觉媒体表示与搜索语句之间的相似度大于第一阈值的视觉媒体。
本申请中,图文匹配模型可以用于对候选视觉媒体的二次确认,也就是继续确定电子设备初步检索得到的候选视觉媒体与搜索语句是否匹配。
在一种可能的设计方式中,在得到搜索语句后,电子设备可以过滤搜索语句是过滤搜索语句中的非视觉语义主体,得到过滤搜索语句。之后,电子设备可以利用图文匹配模型,基于视觉媒体的图像信息和过滤搜索语句的信息确定视觉媒体对应的匹配值(如布尔值)。
根据视觉媒体对应的匹配值确定第一视觉媒体。并且,电子设备可以确定与搜索语句中的非视觉语义主体匹配的第二视觉媒体(或称为视觉媒体2)。
之后,电子设备可以将第一视觉媒体与第二视觉媒体之间的交集,作为目标视觉媒体,实现搜索结果的准确确定。
其中,上述视觉媒体对应的匹配值可以包括布尔值(或称为布尔值1)。在视觉媒体对应的布尔值是true的情况下,确定该视觉媒体是第一视觉媒体。
在视觉媒体对应的布尔值是false的情况下,确定该视觉媒体不是第一视觉媒体。
在一种可能的设计方式中,响应于开启图库应用的操作,显示所述第一界面;
或,响应于在所述电子设备的主屏幕触发的打开负一屏的操作,显示所述第一界面;
或,响应于在所述电子设备的主屏幕触发的下拉搜索操作,显示所述第一界面。
在一种可能的设计方式中,电子设备可以将电子设备中的各个所述视觉媒体的图像特征向量和搜索语句的文本特征向量输入至所述图文匹配模型,得到各个所述视觉媒体对应的匹配结果,所述图文匹配模型用于基于视觉媒体的图像特征向量和搜索语句的文本特征向量,得到视觉媒体与所述搜索语句之间的匹配度,并将所述视觉媒体与所述搜索语句之间的匹配度与预设分类阈值进行比较,得到所述视觉媒体对应的匹配结果。
第二方面,本申请提供一种电子设备,所述电子设备包括显示屏、存储器和一个或多个处理器;所述显示屏、所述存储器和所述处理器耦合;所述显示屏用于显示所述处理器生成的图像,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行如上述所述的方法。
第三方面,本申请提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如上所述的方法。
第四方面,本申请提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上所述的方法。
可以理解地,上述提供的第二方面所述的电子设备,第三方面所述的计算机存储介质,第四方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1A为本申请实施例提供的一种视觉媒体搜索的界面的示意图一;
图1B为本申请实施例提供的一种视觉媒体搜索的界面的示意图二;
图1C为本申请实施例提供的一种视觉媒体搜索的界面的示意图三;
图1D为本申请实施例提供的一种视觉媒体搜索的界面的示意图四;
图2A为本申请实施例提供的一种电子设备的结构框图;
图2B为本申请实施例提供的一种电子设备的软件结构图;
图3A为本申请实施例提供的一种视觉媒体搜索的界面的示意图五;
图3B为本申请实施例提供的一种视觉媒体搜索的界面的示意图六;
图4为本申请实施例提供的一种视觉媒体搜索方法的示意图一;
图5A为本申请实施例提供的一种图像特征向量的确定过程示意图一;
图5B为本申请实施例提供的一种图像特征向量的确定过程示意图二;
图5C为本申请实施例提供的一种文本特征向量的确定过程示意图;
图5D为本申请实施例提供的一种相似度的确定过程示意图;
图6为本申请实施例提供的一种视觉媒体搜索方法的示意图二;
图7为本申请实施例提供的一种视觉媒体搜索方法的示意图三;
图8为本申请实施例提供的一种视觉媒体搜索方法的示意图四;
图9A为本申请实施例提供的一种二次确认的示意图一;
图9B为本申请实施例提供的一种视觉媒体的示意图一;
图10为本申请实施例提供的一种视觉媒体搜索方法的示意图五;
图11A为本申请实施例提供的一种矩阵的示意图一;
图11B为本申请实施例提供的一种视觉媒体的示意图二;
图11C为本申请实施例提供的一种矩阵的示意图二;
图11D为本申请实施例提供的一种正负样本区分过程的示意图;
图11E为本申请实施例提供的一种二分类模型训练过程示意图;
图12为本申请实施例提供的一种二次确认的示意图二;
图13为本申请实施例提供的一种二次确认的示意图三;
图14A为本申请实施例提供的一种二次确认的示意图四;
图14B为本申请实施例提供的一种二次确认的示意图五。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了更清楚地理解本申请实施例,下面先对本申请涉及的词汇进行说明。
视觉媒体:指的是图片或视频。
语义主体:命名实体识别技术(named entity recognition,NER)可以对语句进行识别,识别文本中的人名、地名等具有特定意义的实体。在本方案中将识别出来有特定意义的实体称为语义主体。
视觉内容相关及视觉内容无关:视觉内容指的视觉媒体所展现的目标以及他们之间的相互关系等内容。简单来说,视觉内容可以理解为视觉媒体所包括的内容。在本申请的图像搜索背景下,将视觉媒体文件经过模型的自然图片理解才就能够获取的数据称为“视觉内容相关”。本方案将与视觉媒体文件相关的,且不需要经过模型的图片理解能力就能够获取的数据称为“视觉内容无关”。如电子设备在采集视觉媒体文件时即可获取并保存拍摄地点、拍摄时间、名称、文件属性等。
例如,“今年在城市1拍摄的照片”中“今年”(拍摄时间)、“城市1”(拍摄地点)、“照片”(文件属性)都为电子设备在采集视觉媒体文件时即可获取并保存的数据,因此“今年”、“城市1”、“照片”与视觉语义无关;“今年在城市1拍摄的天空”中“天空”需要经过模型的图片理解能力对图片进行理解才能能到,因此,“天空”与视觉语义相关。
文本语义向量:可将文本送入文本编码器(text encoder)得到,其能够表征整个句子的语义特征的向量。文本编码器可以采用clip模型,或其它模型,如自然语言处理中(natural language processing,NLP)中常用的Transformer等模型,本方案在此不作限制。其中,在本申请中,文本语义向量又可以称为文本特征向量。
视觉语义向量:可以通过将视觉媒体(如图像)送入图像编码器(image encoder)得到。图像编码器可以采用clip模型,或其它模型,如CNN模型或者VIT模型,本方案在此不做限制。其中,在本申请中,视觉语义向量又可以称为图像特征向量。
向量相似度:用于描述两个向量之间(例如:文本语义向量与视觉语义向量之间)的相似程度。在本申请实施例中,可通过比对搜索语句的文本语义向量与视觉媒体的视觉语义向量之间的相似度,来确定与搜索语句相匹配的视觉媒体。一般地,向量相似度可通过余弦相似度计算公式计算得到,当然,还可通过其他方式计算得到。
电子设备(如手机)可以通过图库应用来管理用户的图片、视频等视觉媒体。以手机拍摄照片为例,在手机拍摄得到照片后,图库应用确定该照片对应存储该照片的拍摄地点、拍摄时间、照片名称等属性标签,并可以将该属性标签作为该图片的索引。图库应用为视觉媒体建立索引后,即可向用户提供相应的搜索服务。具体的,用户可在图库应用中通过输入关键词来搜索手机上的图片或视频。示例性的,用户可在图库应用提供的搜索框内输入“天空”、“猫”、“时间点1”等关键词,图库应用将用户输入的关键词与图库应用中的图片、视频等视觉媒体的索引进行匹配,进而得到搜索结果。
可选地,上述属性标签还可以包括照片中的人物的人脸身份标识号(industrialdesign,ID)、人名以及该人物与手机用户的人物关系等属性。其中,照片中人物的人脸ID可由图库应用自动生成的,照片中人物的人名以及该人物与手机用户的关系可由用户手动输入的。在实际应用中,同一个人物对应同一个人脸ID、同一个人名以及同一种与手机用户的人物关系,因此,为了简化用户操作,用户针对同一个人物只需要输入一次其人名及其与本人的人物关系即可,后续图库应用通过人脸识别技术自动为包含该人物人脸的图片配置该人物的人脸ID、人名以及该人物与手机用户的人物关系。另外,上述照片名称等属性信息也可以是图库应用自动生成的,或者是用户手动命名的。
下面结合附图对图库应用的搜索过程所涉及的界面进行示例性说明:
如图1A中的(a)所示,手机可以显示主界面101,主界面也可以称作桌面。主界面101可以包括图库应用的图标102。手机接收用户点击图标102的操作,响应于该操作,手机可以启动图库应用,并显示如图1A中的(b)所示的界面103,其中,界面103可以是相册界面。需要说明的是,响应于用户点击图标102的操作,手机可以启动图库应用,显示图库的照片界面,照片界面中包括图库中照片(也即图片)的缩略图或者某张照片的大图,在照片界面中,响应于用户对“相册”控件的操作,显示上述相册界面103。
如图1A中的(b)所示,界面103中包括多个相册,其中“所有照片”相册中包括2023张照片,“相机”相册包括1502张照片、视频,“截屏录屏”相册中包括102张照片、视频,“我的收藏”相册包括48张照片、视频,“一录多得”相册中有34张照片、视频,“视频编辑”相册中有65个视频,“自建相册”中有57张照片、视频,“共享相册”中有100张照片、视频。
如图1A中的(b)所示,界面103可以包括搜索框104。手机可以接收用户点击搜索框104的操作,响应于该操作,手机可以显示如图1A中的(c)所示的界面105,该界面105可称为搜索界面。其中,界面105可以向用户展示照片的分类信息。例如,在界面105中,手机将本机的照片按照时间、人像以及事物等进行分类。例如,在时间这个维度下,手机将本机的照片分别按照“本月”、“上个月”、“今年”这三个时间段进行分类,其中“本月”相册内包括在手机在本月拍摄的照片或视频,“上个月”相册内包括手机在上个月拍摄的照片或视频,“今年”相册内包括手机在今年拍摄的照片或视频。在人像这个维度下,手机将本机的照片按照不同的人物进行分类,例如界面105中的四个不同人物。在事物这个维度下,手机将本机的照片按照“风景”、“动物”、“文档”以及“建筑”进行分类展示。需要说明的是,上述的分类维度也可以为其他,在此不做具体限制。在界面105中,用户不用输入关键词也可以看到这些分类信息。
可选的,界面105上还可以包括搜索历史107以及“清空”108的选项。搜索历史包括用户曾经输入过的关键词,例如为“花朵”、“咖啡”、“猫”等。手机可以接收用户点击“清空”108的操作,响应于该操作,手机可清空搜索历史。在手机清空搜索历史后,该搜索界面105上不再显示用户曾经输入过的关键词。比如说,响应于用户点击“清空”108的操作,如图1B所示,搜索界面105上不再显示搜索历史107和“清空”108的选项,下方显示的内容上移。
响应于用户在界面105输入关键词“天空”的操作,手机显示如图1C中的(a)所示的界面109。其中,手机可以搜索本机上与关键词“天空”相关的数据。具体地,手机可对关键词“天空”进行联想得到“天空”、含有“天空”字的照片等联想词。然后按照各联想词进行搜索,得到各联想词的搜索结果。例如:与“天空”有关的100张照片、与含有“天空”字的照片有关的32张照片。其中,与“天空”有关的100张照片能够被召回,是因为这100张照片各自的分类标签与“天空”或“天空”及其联想词匹配上了;与含有“天空”字的照片有关的32张照片能够被召回是因为通过光学字符识别(optical character recognition,OCR)识别技术识别出这32张照片中包含有“天空”这样的字符。可将这多个联想词各自的搜索结果的并集作为关键词“天空”的搜索结果。
界面109还展示有关键词“天空”的部分搜索结果以及关键词“天空”的搜索结果对应的“更多”选项110。手机接收用户针对“更多”选项110的点击操作,显示如图1C中的(b)所示的界面111。其中,界面111用于显示关键词“天空”的搜索结果中的照片、视频。可选的,照片、视频可以按照时间进行分类展示。此外,界面111上还包括返回键112以及标题113。响应于用户对返回键112的操作,手机可以重新显示界面109。标题113可包括关键词“天空”。
也就是说,在图库应用中,用户在搜索框中输入简单的搜索语句,如简单的关键词,例如:天空、地点1、时间1等,是能够得到相应的搜索结果的。但因为手机对搜索语句的理解和联想能力是有限的,若用户在搜索框输入较为复杂的搜索语句时,如果搜索语句中的关键词无法与图片的属性标签或图片中的文本匹配,可能就搜不到任何照片。也就是说,现有的图库应用不支持基于复杂的搜索语句的搜索功能。如图1D所示,当用户在界面114的搜索框中输入较为复杂的搜索语句“围炉煮茶”,手机也无法理解“围炉煮茶”的联想词,由于照片没有能与“围炉煮茶”或其联想词相匹配的标签,其搜索结果展现为“没有图片”。
在一些实施例中,电子设备可以利用图文匹配模型,计算电子设备上的视觉媒体与搜索语句之间的匹配度,以供电子设备可以将匹配度高于阈值的视觉媒体作为搜索结果。之后,电子设备显示该搜索结果,以展示用户所需的视觉媒体。然而,在使用图文匹配模型进行视觉媒体的搜索之前,需要利用训练样本对图文匹配模型进行训练,以得到能够准确识别视觉媒体与搜索语句是否相关的图文匹配模型。然而,训练样本一般是依靠人工获得,导致获得训练样本所需的时间较长,训练效率较低。
因此,为了提高图文匹配模型的训练样本的获得效率,从而提高图文匹配模型的训练效率,本申请提供一种确定图文匹配模型的训练样本(即正负样本)的方案。电子设备对预设的样本数据对中的样本图像对应的描述文本进行分词,得到样本图像对应的描述文本中的子文本。之后,对于各个样本图像,电子设备可以将该样本图像对应的描述文本以及该描述文本中的子文本,组成该样本图像对应的文本集合。之后,对于各个样本图像,电子设备可以从该样本图像对应的文本集合中随机选取一个文本元素,作为该样本图像对应的文本元素1。之后,电子设备可以将各个样本图像对应的文本元素1作为该样本图像对应的样本文本元素,使得一个样本图像对应的多个样本文本元素,其中,一个样本图像及其对应的一个样本文本元素可以形成一个样本,从而可以得到多个样本。之后,电子设备可以区分该多个样本中的正负样本,实现大量的正负样本的快速确定,缩短图文匹配模型的训练样本的获取时间。
示例性的,上述电子设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等能够保存视觉媒体的设备。
示例性的,图2A示出了电子设备200的结构示意图。电子设备100可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。
其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备200通过GPU(Graphics Processing Unit,图形处理器),显示屏294,以及应用处理器等实现显示功能。GPU连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏294,N为大于1的正整数。
电子设备200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
摄像头293用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头293,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备200可以支持一种或多种视频编解码器。这样,电子设备200可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器210通过运行存储在内部存储器221的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备200的各种功能应用以及数据处理。
图2B是本申请实施例的电子设备200的软件结构框图。电子设备200的软件系统可以采用分层架构,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。以Android系统为例,在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
如图2B所示,应用程序层可以包括图库服务模块、搜索模块、多模态理解模块、自然语言理解模块、相机应用等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。其中,媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是硬件和软件之间的层。
下面结合捕获拍照场景,示例性说明电子设备200软件以及硬件的工作流程。
当触摸传感器280K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头293捕获静态图像或视频。
以电子设备为手机为例,对本申请实施例提供的视觉媒体搜索方法进行介绍。本申请实施例提供的视觉媒体搜索方法可应用在图库应用、文件管理应用等应用程序中。
下面先将结合附图对本申请实施例提供的视觉媒体搜索方法所涉及的界面以及搜索逻辑进行示例性说明。
如图3A中的(a)所示的界面301显示有搜索历史303和“清空”选项304,搜索历史303包括用户曾经输入过的搜索语句,例如:“山顶看日出”、“拍摄的天空”。界面301展示的其他内容可参照上述界面105的相关展示内容,在此不再赘述。其中,界面301可称之为搜索界面。手机可响应于用户针对图1A中的(b)所示的界面103中的搜索框104的点击操作,显示界面301。
如图3A中的(b)所示的界面305(也即搜索结果界面),用户在界面305的搜索框306中输入搜索语句“围炉煮茶”,手机搜索到239张图片。手机在界面305上展示搜索语句“围炉煮茶”的部分搜索结果(例如:8张图片的缩略图)以及搜索语句“围炉煮茶”的搜索结果对应的“更多”选项307。响应于用户针对“更多”选项307的操作,手机显示如图3A中的(c)所示的界面308。界面308可按照图片与搜索语句“围炉煮茶”的匹配度(或称为相似度)由高到低依次显示搜索语句“围炉煮茶”的搜索结果中的图片。用户还可在界面308上执行向上滑动操作,查看未展示的图片。
另外,手机还可以设有负一屏、下拉搜索界面等。可以理解的,负一屏可以是电子设备最左侧分屏,用于为用户提供搜索、快捷服务等功能。其中,负一屏还可以用于显示需向用户推送的通知消息,如,用户订阅的应用消息、实时热搜消息、段选、行程信息等。下拉搜索界面是响应于用户在主界面执行的下拉操作展示的界面,该界面用于为用户提供搜索、应用建议等功能,该界面与下文图3B中(c)的界面315可以为同一界面。
下面将以负一屏为例进行介绍,在用户需要查看手机的负一屏时,可以通过滑动手机的屏幕,以使电子设备显示负一屏。
示例性的,参照图3B中的(a)所示,手机可以接收用户在手机的界面309(可称之为桌面)上实施的操作1。示例性的,该操作1可以为如图3B中(a)所示的向右滑动操作。响应于该操作1,手机可以显示如图3B中(b)所示的负一屏310。其中,负一屏310中可包括:搜索框311、快捷服务312、默认卡片313、推荐卡片314,等。快捷服务312可以是应用程序某个页面或功能的快捷入口,例如:扫一扫、付款码、乘车码,等;默认卡片可以是:图库卡片、剩余电量卡片,等;推荐卡片可以是推荐应用卡片。
手机接收用户针对负一屏310上的搜索框311的点击操作。响应于该点击操作,手机可以显示如图3B中(c)所示的界面315。界面315中可包括:搜索框316和应用建议。应用建议包括:建议使用的应用的图标。界面315中还可包括:搜索历史317及其对应的“清空”选项318。响应于用户针对“清空”选项318的触发操作,界面315上不再显示搜索历史317和“清空”选项318。此外,搜索框316内可显示有热点新闻标题,例如:“马拉松比赛”。
如图3B中的(d)所示的界面319,界面319的搜索框内显示有用户输入的搜索语句“周末拍摄的山峰”。界面319中还显示有图库应用针对该搜索语句“周末拍摄的山峰”所对应的搜索结果的预览区域322以及图库应用对应的“在应用中搜索”选项323。响应于用户针对预览区域322的触发操作,手机可以进入图库应用提供的照片详情界面,以供用户翻页查看该搜索语句“周末拍摄的山峰”所对应的搜索结果,与该搜索语句匹配的视觉媒体,如照片或视频。响应于用户针对“在应用中搜索”选项323的触发操作,手机显示如图3B中的(e)所示的由图库应用提供的界面324,界面324显示有搜索语句“周末拍摄的山峰”的部分搜索结果以及搜索语句“周末拍摄的山峰”的搜索结果对应的“更多”选项。响应于用户针对该“更多”选项的触发操作,手机可显示搜索结果详情界面,搜索结果详情界面展示搜索语句“周末拍摄的山峰”的搜索结果中的图片。另外,界面319中还可显示有在线搜索选项321,响应于用户对在线搜索选项321的触发操作,手机显示搜索网页,并在搜索网页中显示在线搜索结果。
上面介绍了视觉媒体搜索方法所涉及的界面以及搜索逻辑,下面将继续结合上述图2B所示的软件结构,介绍视觉媒体搜索方法具体的实现过程。如图4所示,该实现过程可以包括S401-S423,其中,S401-S407可以属于索引构建阶段,S408-S423可以属于搜索阶段。
S401、图库服务模块新增和/或修改视觉媒体及其属性。
视觉媒体的属性可包括采集地点、采集时间、视觉媒体名称、视觉媒体中人物的人脸ID、人名以及该人物与手机用户的人物关系中的一个或多个。以拍摄的视频或图片为例,采集地点指的是拍摄地点,采集时间指的是拍摄时间;以截图为例,采集地点指的是截图地点,采集时间指的是截图时间;以下载的视频或图片为例,采集地点指的是下载地点,采集时间指的是下载时间。
用户可通过拍摄、下载、截图等方式来新增视觉媒体。此外,用户还可对已有的视觉媒体进行修改,得到新的视觉媒体。该修改包括但不限于:美化、自定义命名、添加水印等操作。
S402、图库服务模块存储视觉媒体及其属性。
图库服务模块可响应于用户输入的针对视觉媒体的新增或修改操作,在手机本地存储视觉媒体及其属性。实际应用中,在用户的授权下,手机可将本地存储的视觉媒体及其属性存储至云端,以减轻手机本地的存储压力。
S403、图库服务模块向多模态理解模块发送请求1。其中,请求1用于触发对视觉媒体进行视觉语义理解。
S404、多模态理解模块向图库服务模块返回视觉媒体的图像特征向量。
本申请实施例中,多模态理解模块响应于上述请求1,确定手机存储的视觉媒体的图像特征向量。由于视觉语义理解需要占用大量的计算资源,为了不影响用户的使用,可在手机处于充电灭屏状态下,图库服务模块可以请求多模态理解模块对手机本地存储的视觉媒体进行视觉语义理解,如对新增或修改得到的视觉媒体进行视觉语义理解,得到视觉媒体的视觉语义向量(或称为图像特征向量),实现对视觉媒体的离线处理,以降低视觉媒体的视觉语义理解对手机上运行的其它业务的影响。
其中,多模态理解模块可以基于多模态模型对视觉媒体进行视觉语义理解,得到视觉媒体的图像特征向量。另外,多模态模型不仅可以用于:对视觉媒体进行视觉语义理解,得到视觉媒体的视觉语义向量;还可以用于:对搜索语句进行语义理解,得到搜索语句的文本特征向量(或称为句语义向量),其中,多模态模型对搜索语句进行语义理解的过程可以参考下文的相关描述,此处先不进行详细介绍。
在一些实施例中,多模态模型可将视觉媒体和文本映射成相同维度的向量,也就是说,视觉媒体的视觉语义向量的维度与文本的语义向量(例如:搜索语句的句语义向量)的维度是相同的。多模态模型具体可以是基于对比文本-图像对的预训练(contrastivelanguage-image pre-training,CLIP)模型。手机可以通过CLIP模型将视觉媒体、文本映射到统一的向量空间,以在文本和视觉上理解不同模态资源的关系,进而用于图像检索。
其中,CLIP模型是标准CLIP模型,也即现有CLIP模型,或者该CLIP模型是自定义CLIP模型。
示例性的,上述自定义CLIP模型可以包括基模型和微调模型。其中,微调模型是在基模型的基础上,通过特定场景的训练集,继续对基模型训练得到的。因此,微调模型是有支持范围的,能够支持特定场景的图像及其文本的处理,微调模型的泛化能力小于基模型的泛化能力,而基模型在特定场景下的检索能力小于微调模型。
在一些实施例中,上述基模型和微调模型复用部分网络,以减少对安装了自定义CLIP模型的手机的资源的占用。基模型和微调模型不仅需要处理视觉媒体还需要处理文本,基模型中处理视觉媒体的模块可以称为视觉编码模块,微调模型中处理视觉媒体的模块可以称为视觉微调模块。上述图像特征向量可以包括基模型对应的图像特征向量和微调模型对应的图像特征向量。基模型的视觉编码模块和微调模型的视觉微调模块可以复用图像编码器,使得视觉编码模块可以利用图像编码器输出的视觉媒体的特征向量继续确定视觉媒体的第一L2范数,实现基模型对应的图像特征向量的确定,视觉微调模块可以利用图像编码器输出的视觉媒体的特征向量继续确定视觉媒体的第二L2范数,实现微调模型对应的图像特征向量的确定。
示例性的,在接收到图库服务模块发送的请求1后,响应于该请求1,如图5A所示,多模态理解模块可以将手机中的k个视觉媒体输入至视觉编码模块,视觉编码模块中的图像编码器对k个视觉媒体中的各个视觉媒体进行编码处理,得到各个视觉媒体的图像特征向量1,该视觉媒体的图像特征向量可以是768维,也即X={x1,x2,…,x768},X表示该图像特征向量1。之后,一方面,视觉编码模块可以输出该768维的图像特征向量1,以使该图像特征向量1继续作为视觉微调模块的输入参数。另一方面,视觉编码模块继续利用映射矩阵1和图像特征向量1,计算并输出k个视觉媒体中的各个视觉媒体的图像特征向量的第一L2范数α1。其中,映射矩阵1的维度是768*512维,以将图像特征向量1由768维映射到512维。这里视觉媒体的图像特征向量1和视觉媒体的第一L2范数可以认为是基模型对应的视觉媒体的图像特征向量。
具体的,对于k个视觉媒体中的每个视觉媒体,视觉编码模块可以采用计算视觉媒体的图像特征向量的第一L2范数α1。其中,X表示768维的图像特征向量1,M1表示映射矩阵1,V1表示图像特征向量2,V1的维数是512维,表示V1中的第i个元素。
如图5B所示,视觉微调模块接收到k个视觉媒体中的每个视觉媒体的图像特征向量1后,对于每个视觉媒体,利用映射矩阵2继续和该视觉媒体的图像特征向量1,计算并输出该视觉媒体的图像特征向量的第二L2范数α2。其中,映射矩阵2的维度是768*512维,以将图像特征向量1由768维映射到512维。这里视觉媒体的图像特征向量1和视觉媒体的第二L2范数可以认为是微调模型对应的视觉媒体的图像特征向量。
具体的,对于k个视觉媒体中的每个视觉媒体,视觉编码模块可以采用计算视觉媒体的图像特征向量的第二L2范数α2。其中,X表示768维的图像特征向量1,M2表示映射矩阵2,V2表示图像特征向量3,V2的维数是512维,表示V2中的第i个元素。
在一些实施例中,上述微调模型(如上述视觉微调模块中的映射矩阵2)是利用特定场景的训练集,继续训练得到的。设备在训练微调模型时,可以冻结图像编码器,只训练微调模型的最后一层全连接层M2。该特定场景的训练集可以是包括特定白名单对应的视觉内容的图像训练集。该特定白名单表示微调模型的支持范围。其中,该设备可以是上述手机,也可以不是,本申请不限制训练微调模型的设备。
在得到视觉媒体的图像特征向量(如上述基模型对应的视觉媒体的图像特征向量、微调模型对应的视觉媒体的图像特征向量)后,为了方便利用视觉媒体的图像特征向量检索用户所需的视觉媒体,多媒体理解模块可以保存视觉媒体的图像特征向量,也即上述图像特征向量1、第一L2范数α1和第二L2范数α2,使得保存一个视觉媒体的图像特征向量,仅需保存770维的视觉向量,而无需保存512*2维,即1024维的视觉特征,降低存储图像特征向量所需占用的资源。其中,512维向量是使用映射矩阵1或映射矩阵2处理768维向量得到的图像特征向量(即上述V1和V2)。
需要说明的是,上述图像编码器位于视觉编码模块仅是一种示例,图像编码器也可以位于视觉微调模块,本申请不对其限制。另外,上述视觉媒体的图像特征向量包括基模型对应的视觉媒体的图像特征向量和微调模型对应的视觉媒体的图像特征向量仅是一种示例,该视觉媒体的图像特征向量也可以仅包括一个模型确定的图像特征向量,该模型可以是clip模型,也可以不是clip模型。
上述已经介绍了手机中的视觉媒体的图像特征向量的确定可以是在离线状态下确定的,而搜索语句的文本特征向量可以是手机在接收到用户输入的搜索语句后在线确定的,从而使得手机可以利用搜索语句的文本特征向量以及手机中的视觉媒体的图像特征向量,确定与该搜索语句匹配的视觉媒体。其中,确定搜索语句的文本特征向量以及利用搜索语句的文本特诊向量和视觉媒体的图像特征向量确定与搜索语句匹配的视觉媒体的过程可以参考下文,此处先不进行详细介绍。下面继续先介绍建立视觉媒体的索引的过程。
S405、图库服务模块存储视觉媒体的图像特征向量。
S406、图库服务模块向搜索模块发送视觉媒体的属性信息及其视觉语义向量。
本申请实施例中,图库服务模块可在手机本地存储k个视觉媒体中的每个视觉媒体的图像特征向量。并且,图库服务模块可以批量地将视觉媒体的属性信息及其图像特征向量发送给搜索模块,以由搜索模块构建视觉媒体的索引。
其中,可选地,多图库服务模块可以不将视觉媒体的图像特征向量上传至云端,当然,也可以在用户授权下,将该视觉媒体的图像特征向量上传至云端,本申请不对其限制。
S407、搜索模块构建视觉媒体的索引。
搜索模块构建的视觉媒体的索引可包括:视觉媒体的属性和/或视觉媒体的视觉语义向量。
S408、图库服务模块接收用户输入的搜索语句。
用户可通过图库服务模块提供的搜索界面,如用户在上述图3A中的(b)所示的界面305上的搜索框306内输入“围炉煮茶”。该“围炉煮茶”便是搜索语句。
S409、图库服务模块向搜索模块发送搜索语句。
S410、搜索模块判断搜索语句是否包括视觉内容。
本申请实施例中,搜索模块可以判断搜索语句是否包括视觉内容,也即判断是否需要利用图像特征向量和文本特征向量搜索视觉媒体,换句话来说,搜索模块判断是否需要利用多模态模型确定视觉媒体。
在搜索语句不包括视觉内容的情况下,表明可以利用视觉媒体的属性搜索视觉媒体,无需利用图像特征向量和文本特征向量搜素视觉媒体,也即表明无需利用多模态模型确定视觉媒体,搜索模块可以执行S411。
在搜索语句包括视觉内容的情况下,表明需要利用图像特征向量和文本特征向量搜索视觉媒体,也即表明需要利用多模态模型确定视觉媒体,搜索模块可以执行S412。
在一些实施例中,搜索模块可以通过判断搜索语句是否包括视觉语义主体来判断搜索语句是否包括视觉内容。搜索模块可以向自然语言理解模块发送请求2。自然语言理解模块可以对搜索语句进行语义主体识别,得到搜索语句所包括的语义主体。其中,自然语言理解模块是基于自然语言理解模型进行语义主体识别的。具体地,自然语言理解模块可利用命名实体识别技术(named entity recognition,NER)对搜索语句进行语义主体识别,得到搜索语句中所包含的语义主体。本申请实施例中,语义主体也可称之为实体,语义主体可包括:有关时间的语义主体、有关地点的语义主体、有关人名的语义主体、有关人物关系的语义主体、有关视觉内容的语义主体(或称为视觉语义主体)中的一个或多个。其中,可选地,有关视觉内容的语义主体是通过命名实体识别技术从预设的M个(M≥1)有关视觉内容的语义主体中确定出的。这M个语义主体可由图库服务模块的开发人员根据实际情况来配置。一般地,这M个语义主体均为名词。示例性的,对搜索语句“9月1号在城市1拍摄的天空”进行语义主体识别,可得到“9月1号”、“城市1”、“天空”这三个语义主体。其中,“天空”与视觉内容相关,其可以是视觉语义主体。
之后,自然语言理解模块可以将识别得到的语义主体返回给搜索模块。之后,搜索模块可以判断语义主体是否包括视觉语义主体。在语义主体不包括视觉语义主体的情况下,搜索模块可以确定搜索语句不包括视觉内容。在语义主体包括视觉语义主体的情况下,搜索模块可以确定搜索语句包括视觉内容。
S411、搜索模块基于视觉媒体的索引和搜索语句进行召回,得到搜索结果。
示例性的,在搜索语句不包括视觉语义主体的情况下,表明搜索语句不包括与视觉语义相关的内容,搜索模块可以直接基于构建的索引,也即基于各个视觉媒体的属性,查询与语义主体对应的视觉媒体,并将其作为搜索结果。这里语义主体表示视觉媒体的属性。例如,搜索语句是9月1号,不包括视觉内容,搜索模块可以基于索引,查找采集时间是9月1号的视觉媒体,得到搜索结果。又例如,搜索语句包括张三的照片,不包括视觉内容,搜索模块可以将各视觉媒体的人名与“张三”进行匹配,以确定人名属性是“张三”的视觉媒体,并将其作为搜索结果。
S412、搜索模块过滤上述搜索语句中的非视觉语义主体,得到过滤搜索语句。
示例性的,在上述语义主体包括视觉语义主体的情况下,表明搜索语句包括与视觉语义相关的内容,并且可能包括与视觉语义无需的内容,即非视觉语义主体。由于非视觉语义主体与视觉内容的搜索无关,因此,搜索模块可以先对搜索语句中的非视觉语义主体进行过滤,得到过滤搜索语句,以搜索与过滤搜索语句匹配的视觉媒体。
其中,可选地,非视觉语义主体指的是:有关时间的语义主体、有关地点的语义主体、有关人名的语义主体、有关人物关系的语义主体等有关视觉媒体的属性的语义主体。应理解,由于之前已经将人物关系已经作为视觉媒体的属性,因此,这里可以将人物关系作为非语义主体。
举例来说,搜索语句“今年拍摄的天空”,“今年”是非视觉语义主体,相应的,过滤搜索语句为“拍摄的天空”。
在实际应用中,过滤与视觉内容无关的语义主体后,可能会存在一些多余的停用词,例如:搜索语句“今年在城市1拍摄的天空”,删除“今年”和“城市1”之后,停用词“在”就成了多余的字,因此,搜索模块也可以过滤掉。具体地,搜索模块可以过滤搜索语句中与视觉内容无关的语义主体及其相关的停用词,得到过滤搜索语句。例如,搜索语句“今年在城市1拍摄的天空”对应的过滤搜索语句为“拍摄的天空”。
S413、搜索模块向多模态理解模块发送过滤搜索语句。
S414、多模态理解模块对过滤搜索语句进行语义理解,得到过滤搜索语句的文本特征向量。
示例性的,多模态理解模块可以采用多模态模型确定过滤搜索语句的文本特征向量。可选地,该多模态模型可以是CLIP模型。该CLIP模型可以是标准CLIP模型,或者该CLIP模块是自定义CLIP模型。
在一些实施例中,由上述内容可知,上述图像特征向量可以包括基模型对应的图像特征向量和微调模型对应的图像特征向量。基模型的视觉编码模块和微调模型的视觉微调模块可以复用图像编码器。相应的,为了保持图文对的相似度保持一致,本申请引入文本编码模块,使得文本编码模块能够复用文本编码器,分别输出基模型对应的过滤搜索语句的文本特征向量和微调模型对应的过滤搜索语句的文本特征向量,以供利用基模型对应的过滤搜索语句的文本特征向量和基模型对应的视觉媒体的图像特征向量计算搜索语句与视觉媒体之间的相似度,并且利用微调模型对应的过滤搜索语句的文本特征向量和微调模型对应的视觉媒体的图像特征向量计算搜索语句与视觉媒体之间的相似度,实现图像对的相似度的计算。
示例性的,如图5C所示,多模态理解模型将过滤搜索语句输入至CLIP模型。CLIP模型中的文本编码模块中的文本编码器对该过滤搜索语句进行编码处理,得到并输出过滤搜索语句的特征向量,该特征向量的维数是768维。之后,文本编码模块可以将过滤搜索语句的特征向量分别输入至基模型分支和微调模型分支中。其中,基模型分支和微调模型分支的结构相似。
对于基模型分支:文本编码模块利用映射矩阵3和过滤搜索语句的特征向量,得到512维的中间变量1。示例性的,文本编码模块根据T1=YN1,计算中间变量1。其中,T1表示中间变量1,Y表示过滤搜索语句的特征向量,N1表示映射矩阵3,文本编码模块利用中间变量1计算过滤搜索语句的第一L2范数。示例性的,文本编码模块可以根据计算过滤搜索语句的第一L2范数。其中,β1表示过滤搜索语句的第一L2范数,表示T1中的第i个元素。
由于视觉媒体的图像特征向量的维数是768维,为了实现图像特征向量与文本特征向量之间的计算,而过滤搜索语句的中间变量1是512维,因此,文本编码模块需要将过滤搜索语句的中间变量1映射成768维,则文本编码模块可以利用上述映射矩阵1和过滤搜索语句的第一L2范数,将中间变量1映射成768维的文本特征向量,以得到基模型对应的过滤搜索语句的文本特征向量。具体的,文本编码模块可以利用计算基模型对应的过滤搜索语句的文本特征向量。其中,T′1表示基模型对应的过滤搜索语句的文本特征向量,是M1的转置矩阵,M1表示上述映射矩阵1。
对于微调模型分支:文本编码模块利用映射矩阵4和过滤搜索语句的特征向量,得到512维的中间变量2。示例性的,文本编码模块根据T2=YN2,计算中间变量2。其中,T2表示中间变量2,N2表示映射矩阵4,文本编码模块利用中间变量2计算过滤搜索语句的第二L2范数。示例性的,文本编码模块可以根据计算过滤搜索语句的第二L2范数。其中,β2表示过滤搜索语句的第二L2范数,表示T2中的第i个元素。
由于视觉媒体的图像特征向量的维数是768维,为了实现图像特征向量与文本特征向量之间的计算,而过滤搜索语句的中间变量2是512维,因此,文本编码模块需要将过滤搜索语句的中间变量2映射成768维,则文本编码模块可以利用上述映射矩阵2和过滤搜索语句的第一L2范数,将中间变量2映射成768维的文本特征向量,以得到微调模型对应的过滤搜索语句的文本特征向量。具体的,文本编码模块可以利用计算基模型对应的过滤搜索语句的文本特征向量。其中,T′2表示微调模型对应的过滤搜索语句的文本特征向量,是M2的转置矩阵,M1表示上述映射矩阵2。
需要说明的是,微调模型对应的过滤搜索语句的文本特征向量和基模型对应的过滤搜索语句的文本特征向量可以是文本编码模块同时输出的。
本申请实施例中,自定义CLIP模型中的基模型和微调模型通过复用文本编码器,使得自定义CLIP模型只需计算一次过滤搜索语句的特征向量,便可以利用过滤搜索语句的特征向量分别确定基模型对应的过滤搜索语句的文本特征向量和微调模型对应的过滤搜索语句的文本特征向量,而无需基模型和微调模型分别计算一次过滤搜索语句的特征向量,提高过滤搜索语句的文本特征向量的计算效率。
本申请实施例中,为了保证多模态模型的泛化能力以及识别特定图文的能力,本申请设置多模态模型包括基模型和微调模型。由于基模型和微调模型存在相同的模型权重,也即部分网络相同,直接设置两个模型会导致手机内存的浪费,因此,本申请将基模型和微调模型复用图像编码器和文本编码器,使得基模型和微调模型可以分别利用图像编码器和文本编码器输出的特征向量确定各自对应的文本特征向量和图像特征向量。从整体上来讲,将图像特征向量和文本特征向量的确定时间减少了近一倍时间。
S415、多模态理解模块基于文本特征向量和视觉媒体的图像特征向量进行召回,得到候选视觉媒体。
在一些实施例中,上述视觉媒体的图像特征向量可以是搜索模块向多模态理解模块发送的,或者可以是多模态理解模块从手机本地获取的。
本申请实施例中,对于手机上的各个视觉媒体(如上述k个视觉媒体中的各个视觉媒体),多模态理解模块可以计算该视觉媒体的图像特征向量和该过滤搜索语句的文本特征向量之间的向量相似度(或简称为相似度),也即基于该视觉媒体的图像特征向量和过滤搜索语句的文本特征向量,计算该视觉媒体和过滤搜索语句之间的相似度。之后,多模态理解模块根据向量相似度,从k个视觉媒体确定与该过滤搜索语句匹配的视觉媒体,并将确定的视觉媒体作为候选视觉媒体。
示例性的,多模态理解模块可以将向量相似度大于或等于阈值1的视觉媒体确定为与过滤搜索语句匹配的视觉媒体。其中,可选地,在向量相似度大于或等于阈值1的视觉媒体的数量大于数量1的情况下,多模态理解模块可以按照向量相似度由高到低,对向量相似度大于或等于阈值1的视觉媒体进行排序。之后,多模态理解模块可以将排序靠前的n个视觉媒体确定为与过滤搜索语句匹配的视觉媒体。其中,该n是正整数。
在一些实施例中,上述视觉媒体的图像特征向量可以包括基模型对应的视觉媒体的图像特征向量和微调模型对应的视觉媒体的图像特征向量。上述过滤搜索语句的文本特征向量包括基模型对应的过滤搜索语句的文本特征向量和微调模型对应的过滤搜索语句的文本特征向量。一种情况下,如图5D所示,多模态理解模块可以计算基模型对应的过滤搜索语句的文本特征向量与基模型对应的视觉媒体的图像特征向量之间的向量相似度1(也就是计算基模型对应的视觉媒体与过滤搜索语句之间的相似度),并且计算微调模型对应的过滤搜索语句的文本特征向量与微调模型对应的视觉媒体的图像特征向量之间的向量相似度2(也就是计算微调模型对应的视觉媒体与过滤搜索语句之间的相似度)。之后,多模态理解模块可以将向量相似度1或向量相似度2,大于或等于阈值1的视觉媒体确定为与过滤搜索语句匹配的视觉媒体。
另一种情况下,多模态理解模块可以利用过滤搜索语句是否命中白名单1来确定过滤搜索语句是否在微调模型的支持范围内,也即确定是否利用微调模型分支确定候选视觉媒体。下面将结合图6,介绍多模态理解模块利用白名单1确定候选视觉媒体的过程。
S501、多模态理解模块判断过滤搜索语句是否属于白名单1。
本申请实施例中,多模态理解模块在过滤搜索语句不属于白名单的情况下,表明过滤搜索语句属于基模型的支持范围内,多模态理解模块可以使用基模型分支确定候选视觉媒体,多模态理解模块可以执行S502。
在过滤搜索语句属于白名单的情况下,表明搜索语句属于微调模型的支持范围内,多模态理解模块可以使微调模型分支确定候选视觉媒体,多模态理解模块可以执行S504。
在一些实施例中,多模态理解模块判断过滤搜索语句中的各个语义主体(即视觉语义主体)是否属于白名单1。考虑到用户输入的搜索语句一般是短语,多模态理解模块可以在过滤搜索语句的各个语义主体均属于白名单1的情况下,确定过滤搜索语句属于白名单。在存在语义主体不属于白名单1的情况下,确定过滤搜索语句不属于白名单。例如,过滤搜索语句是“拿着篮子的男孩”,语义主体包括“篮子”和“男孩”,多模态理解模块可以分别判断篮子和男孩是否属于白名单1。在蓝牙和男孩均属于白名单1的情况下,多模态理解模块可以确定过滤搜索语句属于白名单。在蓝牙或男孩不属于白名单1的情况下,多模态理解模块可以确定过滤搜索语句不属于白名单。
S502、对于各个视觉媒体,多模态理解模块计算基模型对应的该视觉媒体的图像特征向量与基模型对应的过滤搜索语句的文本特征向量之间的向量相似度1。
本申请实施例中,如图7所示,在过滤搜索语句不属于白名单1的情况下,多模态理解模块可以调用文本编码模块的基模型分支输出的过滤搜索语句的文本特征向量以及基模型对应的视觉媒体的图像特征向量,计算基模型对应的视觉媒体所对应的分数,即计算基模型对应的视觉媒体与过滤搜索语句之间的向量相似度1。
具体的,多模态理解模块可以通过计算基模型对应的视觉媒体所对应的分数。其中,S1表示基模型对应的视觉媒体所对应的分数,α1表示上述视觉媒体的图像特征向量的第一L2范数。X表示上述图像特征向量1,T′1表示上述基模型对应的过滤搜索语句的文本特征向量。
S503、多模态理解模块将向量相似度1大于阈值1的视觉媒体作为候选视觉媒体。
S504、对于各个视觉媒体,多模态理解模块计算微调模型对应的该视觉媒体的图像特征向量与微调模型对应的过滤搜索语句的文本特征向量之间的向量相似度2。
本申请实施例中,如上述图7所示,在过滤搜索语句属于白名单1的情况下,多模态理解模块可以调用文本编码模块的微调模型分支输出的过滤搜索语句的文本特征向量以及微调模型对应的视觉媒体的图像特征向量,计算微调模型对应的视觉媒体所对应的分数,即计算微调模型对应的视觉媒体与过滤搜索语句之间的向量相似度2。
具体的,多模态理解模块可以通过计算基模型对应的视觉媒体所对应的分数。其中,S2表示微调模型对应的视觉媒体所对应的分数,α2表示上述视觉媒体的图像特征向量的第二L2范数。X表示上述图像特征向量1,T′2表示上述微调模型对应的过滤搜索语句的文本特征向量。
S505、多模态理解模块将向量相似度2大于阈值1的视觉媒体作为候选视觉媒体。
在一些实施例中,上述多模态理解模块所执行的操作可以是多模态模型执行的。另外,上述S501-S505可以是上述多模态理解模块,也即多模态模型中的模型得到输出模块执行的。
本申请实施例中,多模态理解模块可以离线确定视觉媒体的图像特征向量,只需在线确定搜索语句的文本特征向量,提高图像特征向量与文本特征向量之间的向量相似度的计算时间,从而有效减少用户检索时间。另外,多模态理解模块可以根据过滤搜索语句是否属于白名单1来判断是否使用微调模型确定候选视觉媒体,以提高候选视觉媒体的确定准确性,从而提高搜索结果的准确性。
其中,可选地,上述白名单1是可以扩展的,也就是说微调模型的支持范围是可以扩展的,换句话来说,微调模型支持的场景是可以扩展的,只需利用扩展场景对应的训练集训练微调模型即可。应理解,训练微调模型实际是训练上述微调模块和文本编码模块中的微调模型分支,而无需训练复用部分(如上述图像编码器、文本编码器)。
在一些实施例中,多模态理解模块在确定候选视觉媒体后,可以直接将上述候选视觉媒体作为搜索结果。之后,多模态理解模块可以将该搜索结果返回至搜索模块。之后,搜索模块可以将该搜索结果发送至图库服务模块,以供图库服务模块显示该搜索结果。
另外,为了提高搜索结果的准确性,手机在得到上述候选视觉媒体后,可以继续对该候选视觉媒体进行二次确认,以从候选视觉媒体继续筛选视觉媒体,得到与过滤搜索语句,也即搜索语句匹配的视觉媒体。可选地,手机可以将向量相似度1大于阈值1的视觉媒体以及向量相似度2大于阈值1的视觉媒体均作为候选视觉媒体。换句话说,手机可以分别利用基模型和微调模型确定的视觉媒体作为候选视觉媒体,也即进行了两次搜索。下面继续介绍对候选视觉媒体进行二次确认的过程。
S416、多模态理解模块向二次确认模块发送过滤搜索语句的信息和候选视觉媒体的图像信息。
其中,过滤搜索语句的信息包括过滤搜索语句、过滤搜索语句的分词结果、过滤搜索语句所包括的标签1和过滤搜索语句的文本特征向量中的一个或多个。
候选视觉媒体的图像信息包括候选视觉媒体与过滤搜索语句之间的相似度、候选视觉媒体的标签2和候选视觉媒体的图像特征向量中的一个或多个。
在一些实施例中,上述图像特征向量和文本特征向量是基于包括基模型和微调模型的多模态模型确定的。相应的,过滤搜索语句的文本特征向量可以包括基模型对应的过滤搜索语句的文本特征向量和微调模型对应的过滤搜索语句的文本特征向量。候选视觉媒体的图像特征向量可以包括基模型对应的候选视觉媒体的图像特征向量和微调模型对应的候选视觉媒体的图像特征向量。
上述候选视觉媒体与过滤搜索语句之间的相似度可以包括基模型对应的候选视觉媒体与过滤搜索语句之间的相似度(或称为相似度1),以及微调模型对应的候选视觉媒体与过滤搜索语句之间的相似度(或称为相似度2)。
当然,上述图像特征向量、文本特征向量和相似度也可以仅包括一个模型(如上述基模型或微调模型)确定的,本申请不对其限制。
在一些实施例中,多模态理解模块可以对过滤搜索语句进行分词提取,得到过滤搜索语句的分词结果。例如,过滤搜索语句是“小孩在海边玩”,分词结果是,小孩、在、海边和玩。示例性的,多模态理解模块可以通过自然语言理解引擎服务(the natural languageunderstanding,NLU),对过滤搜索语句进行分词提取。可选地,多模态理解模块可以通过自然语言理解模块,对过滤搜索语句进行分词提取。
在得到过滤搜索语句的分词结果后,多模态理解模块可以对该分词结果进行标签映射,得到该过滤搜索语句所包括的标签,即标签1。具体的,对于该分词结果中的各个分词,过滤搜索模块判断预设标签表中是否存在该分词。在预设标签表不存在该分词的情况下,多模态理解模块可以确定该分词不存在对应的标签,也即过滤搜索语句不包括该分词对应的标签。
在预设标签表中存在该分词的情况下,多模态理解模块可以将预设标签表中的该分词对应的标签作为过滤搜索语句所包括的标签1。例如,分词包括猫咪,预设标签表中猫咪对应的标签是“猫”,因此,过滤搜索语句包括的标签包括“猫”。需要说明的是,过滤搜索语句的分词结果中的分词与分词对应的标签可能相同,也可能不同。
在一些实施例中,上述候选视觉媒体的标签2是从标签库中获取的。标签库中的视觉媒体的标签2表示该视觉媒体所述的分类标签,其可以是手机(如手机中的多模态理解模块)利用图像分类模型,对视觉媒体进行识别确定的。示例性的,视觉媒体的分类标签也可以是手机离线确定的。
S417、二次确认模块基于过滤搜索语句的信息和候选视觉媒体的图像信息,确定各个候选视觉媒体对应的布尔值。
S418、对于各个候选视觉媒体,在该候选视觉媒体对应的布尔值存在true的情况下,二次确认模块确定该候选视觉媒体是视觉媒体1。
本申请实施例中,多模态理解模块将过滤搜索语句的信息和候选视觉媒体的图像信息输入至二次确认模块,以使二次确认模块确定各个候选视觉媒体对应的布尔值,候选视觉媒体对应的布尔值指示该候选视觉媒体是否是与过滤搜索语句匹配的视觉媒体,实现候选视觉媒体的二次确认。
在一些实施例中,上述二次确认模块可以包括二分类模块、动态阈值模块、标签确认模块、白名单阈值模块。二分类模块可以采用二分类模型,判断过滤搜索语句和候选视觉媒体之间是否相关,以得到候选视觉媒体的布尔值。动态阈值模块可以采用动态阈值模型,确定与过滤搜索语句的长度匹配的阈值2,从而可以将候选视觉媒体与过滤搜索语句之间的相似度与该阈值2比较,得到候选视觉媒体的布尔值。标签确认模块可以将候选视觉媒体的标签2与过滤搜索语句所包括的标签1比较,得到候选视觉媒体的布尔值。白名单阈值模块可以根据过滤搜索语句是否命中预设字典,确定与过滤搜索语句整体匹配的阈值3,从而可以将候选视觉媒体与过滤搜索语句之间的相似度与该阈值3比较,得到候选视觉媒体的布尔值。其中,二次确定模块通过二分类模块、动态阈值模块、标签确认模块和白名单阈值模块确定候选视觉媒体的详细过程,也即上述S417的实现过程可以参考下文的相关描述,此处先不进行介绍。
S419、二次确认模块向搜索模块返回视觉媒体1。
S420、搜索模块基于上述搜索语句中的非视觉语义主体和视觉媒体的索引,得到视觉媒体2。
S421、搜索模块将视觉媒体1和视觉媒体2的交集作为搜索结果。
本申请实施例中,搜索模块基于用户输入的搜索语句中的过滤的非视觉语义主体,从构建的索引中查找与过滤的非视觉语义主体对应的视觉媒体(或称为视觉媒体2),即查找属性与该非视觉语义主体匹配的视觉媒体,并将其作为视觉媒体2。
之后,搜索模块可以确定视觉媒体2和视觉媒体1的交集,得到目标视觉媒体,目标视觉媒体的属性与搜索语句的非视觉语义主体相匹配,目标搜索媒体的视觉内容与搜索语句的视觉语义主体相对应。举例来说,搜索语句是“今年拍摄的天空”,则上述视觉媒体1包括天空内容,视觉媒体2的采集时间是今年,那么,目标视觉媒体包括天空内容,且目标视觉媒体的采集时间是今年。
S422、搜索模块向图库服务模块发送搜索结果。
S423、图库服务模块显示搜索结果。
本申请实施例中,图库服务模块可以向用户展示搜索结果,例如:通过上述图3A中的界面305、上述图3A中的界面308来展示搜索结果。如上述图3A中的界面305所示,搜索结果包括239张图片,界面305仅展示了搜索结果中8张图片的缩略图;用户若想查看这239张图片,可点击界面305中“更多”选项,响应于该操作,手机显示如图3A中的界面308。
在一些实施例中,图库服务模块可以根据搜索结果中的目标视觉媒体的采集时间排序,显示目标视觉媒体。例如,按照采集时间由早到晚的顺序,对目标视觉媒体进行排序,使得采集时间越早的,显示顺序越靠前。
在另一些实施例中,图库服务模块可以根据搜索结果中的目标视觉媒体与过滤搜索语句之间的相似度排序。例如,按照相似度由大到小的顺序,对目标视觉媒体进行排序,使得相似度越高的目标视觉媒体显示顺序越靠前,也就是说靠前显示的目标视觉媒体与过滤搜索语句之间的相似度大于或等于靠后显示的目标视觉媒体与过滤搜索语句之间的相似度。其中,这里目标视觉媒体与过滤搜索语句之间的相似度可以是相似度1或相似度2,或者是,基于相似度1和相似度2计算的相似度。
可选地,在过滤搜索语句属于上述白名单1的情况下,目标视觉媒体与过滤搜索语句之间的相似度可以是相似度2,也即微调模型对应的视觉媒体与过滤搜索语句之间的相似度。在过滤搜索语句不属于上述白名单1的情况下,目标视觉媒体与过滤搜索语句之间的相似度可以是相似度1,也即基模型对应的视觉媒体与过滤搜索语句之间的相似度。
可选地,上述基于相似度1和相似度2计算的相似度,可以是相似度1和相似度2的平均值。或者,计算相似度1和相似度2的权重和,本申请不对其限制。
下面将继续介绍上述S417的一种可能的实现过程,如图8所示,该过程可以包括S417a-S417g。
S417a、二次确认模块判断预设微调模型词表是否存在过滤搜索语句。
本申请实施例中,二次确认模块可以判断预设微调模型词表是否存在过滤搜索语句,以确定过滤搜索语句是对应基模型所对应的分支,还是对应微调模型所对应的分支,也即确定通过基模型所对应的模块进行二次确认,还是通过微调模型对应的模块进行二次确认。
在上述预设微调词表不存在过滤搜索语句的情况下,表明过滤搜索语句是对应基模型所对应的分支,也即表明通过基模型对应的模块对候选视觉媒体进行二次确认,以从候选视觉媒体中选取与过滤搜索语句更加匹配的视觉媒体,二次确认模块可以执行S417b。
在上述预设微调词表存在过滤搜索语句的情况下,表明过滤搜索语句是对应微调模型所对应的分支,也即表明通过微调模型对应的模块对候选视觉媒体进行二次确认,以从候选视觉媒体中选取与过滤搜索语句更加匹配的视觉媒体,二次确认模块可以执行S417f。
S417b、二次确认模块将过滤搜索语句的文本特征向量和各个候选视觉媒体的图像特征向量输入至二分类模块,得到二分类模块输出的各个候选视觉媒体对应的布尔值1。
本申请实施例中,假设候选视觉媒体的数量是m个。如图9A所示,二次确认模块将m个候选视觉媒体中的各个候选视觉媒体的图像特征向量和过滤搜索语句的文本特征向量输入至二分类模块中的二分类模型中。对于m个候选视觉媒体中的每个候选视觉媒体,二分类模型基于该候选视觉媒体的图像特征向量与过滤搜索语句的文本特征向量确定该候选视觉媒体与搜索语句之间的匹配度,该匹配度表示候选视觉媒体与过滤搜索语句之间相关程度,匹配度越大,表示候选视觉媒体与过滤搜索语句之间越相关。之后,二分类模型比较该候选视觉媒体与过滤搜索语句之间的匹配度和分类阈值,以确定该候选视觉媒体与该搜索语句是否匹配,得到该候选视觉媒体对应的布尔值(bool)1,从而输出m个候选视觉媒体对应的布尔值1。在该匹配度大于该分类阈值的情况下,表明该候选视觉媒体与该过滤搜索语句匹配,该候选视觉媒体对应的布尔值1是真(true)。在该匹配度小于或等于该分类阈值的情况下,表明该候选视觉媒体与该过滤搜索语句不匹配,该候选视觉媒体对应的布尔值1是假(false)。
其中,二分类模型是预先利用训练样本集训练好的模型,其能够基于图像特征向量和文本特征向量,判断这两者是否匹配。该二分类模型可以是上述手机或者其它设备训练得到的。下面将以二分类模型是手机训练为例,介绍二分类模型的训练过程。
在一些实施例中,在上述预设微调模型词表存在过滤搜索语句的情况下,表明过滤搜索语句对应微调模型对应的分支,由于微调模型对应的分支不包括二分类模块,因此,二次确认模块无需执行上述S417b。
在上述预设微调模型词表不存在过滤搜索语句的分词的情况下,表明过滤搜索语句对应基模型对应的分支,上述S417b中的过滤搜索语句的文本特征向量可以包括基模型对应的过滤搜索语句的文本特征向量,上述S417b中的候选视觉媒体的图像特征向量可以包括基模型对应的候选视觉媒体的图像特征向量。
可以理解的是,如果二次确认模块的输入参数只包括候选视觉媒体的一个图像特征向量、过滤搜索语句的一个文本特征向量,而不包括微调模型对应的候选视觉媒体的图像特征向量和基模型对应的候选视觉媒体的图像特征向量,那么上述S417b中的候选视觉媒体的图像特征向量便是输入的候选视觉媒体的图像特征向量,过滤搜索语句的文本特征向量便是输入的过滤搜索语句的文本特征向量。
示例性的,上述二分类模型的训练样本集包括多条训练数据,多条训练数据中的每条训练数据包括样本图像及其对应的描述文本。训练样本集可以包括正样本训练集(简称正样本)和负样本训练集(简称负样本)。正样本所包括的训练数据中的样本图像与样本图像对应的描述文本匹配。例如,如图9B所示的图像,该图像对应的描述文本是,拿着篮子的小男孩。由于图9B所表达的视觉内容是小男孩拿着篮子,与其对应的描述文本匹配,因此,该图像及其对应的描述文本可以作为正样本中的一条训练数据。
负样本所包括的训练数据中的样本图像与样本图像对应的描述文本不匹配。例如,如图9B所示的图像,该图像对应的描述文本是,花。由于图9B所表达的视觉内容与描述文本不匹配,因此,该样本图像及其对应的描述文本可以作为负样本中的一条训练数据。
需要说明的是,由于用户在搜索视觉媒体时,一般习惯使用自然语言,因此,样本图像对应的描述文本也是使用自然语言,贴合实际搜索情况。
为了提高训练准确性,需要保证正负样本中的训练数据的数量。考虑到依靠人工获得正负样本的效率较低,手机可以自动生成正负样本。下面将以上述二分类模型是图文匹配模型为例,继续介绍正负样本的生成过程。如图10所示,该过程如下:
S1、二分类模块获取P个样本数据对。其中,P个样本数据对中的每个样本数据对包括样本图像及其对应的描述文本。
S2、二分类模块提取每个样本数据中的描述文本中的子文本。
示例性的,上述子文本可以包括描述文本中的描述性短语和/或名词。示例性的,子文本一般不包括描述文本中的状语、动词等没有对应实际视觉内容的词语。二分类模块可以对描述文本进行分词,以确定描述文本中的描述性短语和名词,得到该描述文本中的子文本。例如,描述文本是坐在篮子里的小男孩,该描述文本中的子文本是篮子、小男孩和男孩。又例如,描述文本是坐在篮子里吃手的小男孩。对该描述文本进行分词后,得到子文本是篮子、男孩、小男孩、吃手的小男孩,其中,吃手的小男孩可以表示描述性短语。
在一些实施例中,二分类模块可以使用汉语言处理包(han languageprocessing,hanlp),对样本图像对应的描述文本进行分词。
S3、对于每个样本图像,二分类模块基于该样本图像对应的描述文本,以及该描述文本中的子文本,生成该样本图像对应的文本集合。
其中,样本图像对应的文本集合表示样本图像对应的视觉内容的描述集合,样本图像对应的文本集合可以包括该样本图像对应的描述文本和描述文本中的各个子文本。例如,样本图像对应的描述文本是拿着篮子的小男孩,描述文本中的子文本包括篮子、小男孩、男孩。相应的,该图像对应的文本集合是{篮子,小男孩,男孩,拿着篮子的小男孩}。
S4、二分类模块从各个样本图像对应的文本集合中随机选取一个文本元素,得到各个样本图像对应的文本元素1。
其中,文本集合中的文本元素可以是子文本或者描述文本。
在一些实施例中,二分类模块可以按照预设比例,从各个样本图像对应的文本集合中随机选取文本元素。该预设比例包括选取的文本元素是描述文本的比例,和选取的文本元素是子文本的比例。例如,预设比例是8:2,选取的文本元素是描述文本的概率是80%,选取的文本元素是子文本的概率是20%。由于一般是利用图像及其对应的文本整体训练图像编码器和文本编码器,因此,预设比例中的选取的文本元素是描述文本的比例会大于选取的文本元素是子文本的比例,保证模型的训练效果。
S5、对于每个样本图像,二分类模块分别将P个样本图像对应的文本元素1作为该样本图像对应的样本文本元素。
其中,P个样本图像中的一个样本图像对应的样本文本元素是P个,一个样本图像及其对应的一个样本文本元素形成一个样本,从而能够得到多个样本。由于需要利用正负样本对模型进行训练,因此,在得到样本后,需要区分样本中的正负样本,从而利用正样本和负样本训练得到二分类模型。下面将介绍区分样本中的正负样本的过程。
本申请实施例中,二分类模块初始获得P个样本数据对。该P个样本数据对均是正样本。然而二分类模型的训练也需要负样本,因此,二分类模块可以将P个样本图像和P个样本图像对应的文本集合中的一个文本元素(即文本元素1)进行图文匹配,即对于P个样本图像中的每个样本图像,二分类模块可以将P个文本元素1均作为该样本图像对应的样本文本元素。该样本图像与P个文本元素1中的每个文本元素1均形成一个样本,从而能够得到P*P个样本,实现样本数量的增加,从而实现样本的快速生成。为了实现二分类模型的训练,二分类模型需要区分P*P个样本中的正负样本。下面将继续介绍区分正负样本的过程。
S6、对于该样本图像对应的各个样本文本元素,二分类模块判断该样本文本元素是否属于该样本图像对应的文本集合。
本申请实施例中,对于样本图像对应的各个样本文本元素,二分类模块可以通过判断该样本文本元素是否属于该样本图像对应的文本集合,来该样本文本元素是否对应该样本图像的视觉内容,从而判断该样本文本元素与该样本图像所组成的样本是否是正样本。
在该样本文本元素是该样本图像对应的文本集合中的情况下,表明该样本文本元素与该样本图像的视觉内容对应(即匹配),也就是说,该样本文本元素与该样本图像所组成的样本是正样本。因此,二分类模块可以执行S7。
在该样本文本元素不是该样本图像对应的文本集合的情况下,表明该样本文本元素与该图像的视觉内容不对应(即不匹配),也就是说,该样本文本元素与该样本图像所组成的样本不是正样本。因此,二分类模块可以执行S8。
S7、二分类模块将该样本图像以及该样本文本元素作为正样本。
S8、二分类模块将该图像以及该样本文本元素作为负样本。
在一些实施例中,二分类模块在得到各个样本图像分别对应的样本文本元素后,可以生成相应的样本矩阵。其中,样本矩阵中的第i行元素表示第i个样本图像对应的各个样本文本元素,样本矩阵中的第j列元素表示第j个样本图像对应的文本元素1,也即从第j个样本图像对应的文本集合中随机选取的文本元素。
例如,样本图像包括图像a、图像b、图像c和图像d。图11A所示的样本矩阵中的“1”是图像a(即第1个样本图像)对应的文本元素1。以此类推,“6”是图像d(即第4个样本图像)对应的文本元素1。第1行元素50(即1,2,5,6)是图像a对应的样本文本元素。第2列元素51(即2,2,2,2)是图像b对应的文本元素1。
其中,样本矩阵中的一个样本文本元素与该样本文本元素所在行对应的样本图像组成一个样本。例如,如上述图11A所示的第1行第1列中的“1”与图像a组成了一个样本。
本申请实施例中,二分类模型通过将P个样本图像和P个文本元素1进行互相匹配,生成相应的样本矩阵,以供二分类模块区分样本矩阵中的样本文本元素是属于正样本还是属于负样本,实现正负样本的快速确定,提高正负样本的确定效率,并且,通过生成标签矩阵可以保证图文匹配的全面性,避免出现遗漏样本图像或者文本元素1的情况,如避免出现未将某个样本图像与某个文本元素1进行匹配的情况。
在得到样本矩阵之后,对于样本矩阵中各个样本文本元素,二分类模块需要判断该样本文本元素是否与该样本文本元素所在行对应的样本图像匹配。为了提高匹配效率,二分类模块可以利用文本交集矩阵1与样本矩阵进行匹配,以得到正负样本。文本交集矩阵1表示样本图像之间所对应的文本集合的交集。示例性的,文本交集矩阵1的确定过程可以包括:
二分类模块确定任意两个样本图像对应的文本集合中的重合元素。之后,二分类模块生成相应的文本交集矩阵1。其中,文本交集矩阵1中的第t行中的第s个元素表示该第t个样本图像与第s个样本图像之间的文本集合中的重合元素。
举例来说,图像a(如图11B所示)对应的文本集合是{1,2,3},图像b对应的文本集合是{2,3,4},图像c对应的文本集合是{5,6}和图像d对应的文本集合是{6,7}。应理解,这里的数字实际是对应文本元素(如上述子文本、描述文本)。
之后,二分类模块可以确定图像a、图像b、图像c和图像d中的任意两个样本图像对应的文本集合中的重合元素(即相同元素)。如,图像a和图像b对应的文本集合中的相同元素是2,3。
之后,二分类模块生成如图11C所示的文本交集矩阵1,该文本交集矩阵1包括样本图像与各个样本图像(即图像a、图像b、图像c和图像d)对应的文本集合中的重合元素。其中,图11C所示的文本交集矩阵1中的第1行第1列的元素表示,图像a与图像a之间的文本集合中的重合元素(即图像a对应的文本集合)。第1行第2列的元素表示,图像a与图像b之间的文本集合中的重合元素。以此类推,图11C中的第4行第4列的元素表示图像d与图像d之间的文本集合中的重合元素。
在一些实施例中,二分类模块在得到P个样本图像中的各个样本图像对应的文本集合后,可以计算各个样本图像对应的文本集合的并集,该文本集合的并集可以包括所有文本集合中的文本元素。之后,二分类模块可以为文本集合的并集中的每个文本元素分配编号(如上述数字),使得文本集合中的不同文本元素对应的编号不同,不同文本集合中的相同的文本元素对应的编号相同。通过为文本元素分配编号,可以提高图文匹配效率,从而可以正负样本的生成效率。
上面介绍了文本交集矩阵1的确定过程,下面将继续介绍利用文本交集矩阵1与样本矩阵匹配以确定正负样本的过程。
二分类模块对上述文本交集矩阵1和样本矩阵求交,得到文本交集矩阵2。
之后,对于文本交集矩阵2中的每个交集元素,二分类模块判断该交集元素是否为空。
在该交集元素不是空的情况下,表明该交集元素与其所在行对应的样本图像的视觉内容是匹配的,因此,二分类模块可以确认该交集元素及其所在行对应的样本图像是正样本。
在该交集元素是空的情况下,表明该交集元素与其所在行对应的样本图像的视觉内容是不匹配的,因此,二分类模块可以确认该元素及其所在行对应的样本图像是负样本,从而实现正负样本的快速确定。其中,样本图像对应的元素又可以称为样本图像对应的文本。
其中,可选地,二分类模块可以通过1和0区分文本交集矩阵2中的交集元素属于正样本还是负样本,也即区分样本矩阵中的样本文本元素属于正样本还是负样本。在文本交集矩阵2中的交集元素为空的情况下,二分类模块可以将该交集元素对应的标签设置为0,也即将该交集元素对应的样本文本元素打上标签0。
在文本交集矩阵2中的交集元素不为空的情况下,二分类模块可以将该元素对应的标签设置为1,也即将该交集元素对应的样本文本元素打上标签1,从而得到正负样本标签矩阵,实现为样本矩阵中的样本文本元素设置标签。其中交集元素在文本交集矩阵2中的位置与交集元素对应的样本文本元素在样本矩阵中的位置相同。
基于此,二分类模块可以将标签为0所对应的样本文本元素及该样本文本元素所在行对应的图像作为负样本中的一条训练数据,并且将标签为1所对应的样本文本元素及该样本文本元素所在行对应的图像作为正样本中的一条训练数据,实现多条正负样本的训练数据的批量确定。
举例来说,如图11D所示,文本交集矩阵1和样本矩阵求交,得到文本交集矩阵2。之后,二分类模块可以判断文本交集矩阵2中的交集元素是否为空,从而确定与样本矩阵对应的正负样本标签矩阵。如图11D中的正负样本标签矩阵中的第1行第1列的标签是1,该标签对应的样本矩阵中的元素是第1行第1列的样本文本元素“1”,该“1”以及图像a组成了一个正样本。如图11D中的正负样本标签矩阵中的第2行第1列的标签是0,该标签对应的样本矩阵中的第2行第1列的样本文本元素元素是“1”,该“1”以及图像b组成了一个负样本。
需要说明的是,一般来说,样本矩阵的对角线上的元素及其所在行对应的样本图像组成了正样本。
本申请实施例中,二分类模块通过利用文本交集矩阵1和样本矩阵相交得到文本交集矩阵2,以供利用文本交集矩阵2中的元素是否是空,实现正负样本的快速确定,提高正负样本的确定效率,并且保证正负样本区分的全面性、完整性,使得能够快速对模型进行训练。
上面介绍了正负样本的确定过程,下面将继续介绍利用正负样本训练得到二分类模型的过程。
S9、二分类模块利用正样本和负样本对图文匹配模型进行训练,得到训练后的图文匹配模型。
示例性的,图文匹配模型可以是多层感知机(multilayer perceptron,MLP)模型。如图11E示,二分类模块使用文本编码器处理正负样本中的样本文本元素,得到样本文本元素的文本特征向量。并且,二分类模块使用图像编码器处理正负样本中的样本图像,得到该样本图像的图像特征向量。之后,对于正负样本中的每个样本,二分类模块可以将样本中的样本文本元素的文本特征向量及该样本中的样本图像的图像特征向量进行拼接。之后,二分类模块可以将拼接后的文本特征向量和图像特征向量,输入至MLP模型中,以对该MLP模型进行训练。在训练过程中,二分类模块可以利用损失函数来测试训练后的MLP模型输出的预测值与实际值之间的差异。预测值表示预测的样本图像与文本是否匹配。实际值表示样本图像与文本实际匹配情况。
在一些实施例中,上述损失函数可以是焦点损失(focal loss)函数。具体的,焦点损失函数可以是FL(pt)=-at1(1-pt)γlog(pt)。其中,pt表示图文匹配模型预测样本图像及其对应的文本之间匹配的概率,即预测样本图像及其对应的文本是正样本的概率。at1为调节正负样本权重的因子,其可以根据正负样本的数量设置,以调节正负样本数量的不平衡,例如,at1是0.1。γ是调节因子,用于降低易区分样本的损失贡献。应理解,pt越大,损失函数的值越小。
其中,可选地,上述图像编码器可以是堆叠自编码器,文本编码器可以是计数向量器。
需要说明的是,上述介绍的焦点损失函数仅是损失函数的一种示例,该损失函数还可以是其它类型的损失函数,例如,该损失函数是bce类的损失函数。另外,上述MLP模型仅是图文匹配模型的一种示例,该图文匹配模型还可以是其它深度学习模型,本申请不对其限制。
在一些实施例中,上述正负样本标签矩阵可以在计算损失函数的值时利用。
在一些实施例中,上述图文匹配模型用于对候选视觉媒体进行二次确认仅是一种示例,该图文匹配模型也可以直接用于搜索视觉媒体。例如,在用户输入搜索语句后,图文匹配模型可以直接利用该搜索语句(或过滤搜索语句)的文本特征向量以及手机上的各个视觉媒体的图像特征向量,确定视觉媒体是否与搜索语句匹配,得到相应的布尔值。
上面介绍了利用二分类模块确定候选视觉媒体与过滤搜索语句是否匹配的过程,下面将继续结合S417c,介绍利用动态阈值模块确定候选视觉媒体与过滤搜索语句是否匹配的过程。
S417c、二分类模块将过滤搜索语句和各个候选视觉媒体与过滤搜索语句之间的相似度输入至动态阈值模块,得到动态阈值模块输出的各个候选视觉媒体对应的布尔值2。
本申请实施例中,一般来说,不同长度的搜索语句所对应的相似度阈值1不同。搜索语句的长度越长,表明视觉媒体的视觉内容与搜索语句的相似程度需要越高,相应的,相似度阈值1需要越高。因此,二次确认模块可以利用动态阈值模块确定与过滤搜索语句的长度匹配的动态阈值,也即确定与过滤搜索语句对应的相似度阈值1,从而利用过滤搜索语句对应的相似度阈值1确定各个候选视觉媒体对应的布尔值2。
示例性的,如图12所示,动态阈值模块确定各个候选视觉媒体对应的布尔值2的过程可以包括:首先,动态阈值模块可以通过过滤搜索语句确定过滤搜索语句的长度。之后,动态阈值模型基于过滤搜索语句的长度,结合t=参数1*L+参数2,确定过滤搜索语句对应的相似度阈值1。其中,上述参数1和参数2是预先设置的参数,例如,参数1是0.05,参数2是0.33。可选地,动态阈值模块还可以通过过滤搜索语句的分词结果确定过滤搜索语句的长度。
之后,对于m个候选视觉媒体中的每个候选视觉媒体,动态阈值模块可以比较该候选视觉媒体与过滤搜索语句之间的相似度与该过滤搜索语句所对应的相似度阈值1之间的大小。在该候选视觉媒体与过滤搜索语句之间的相似度小于该相似度阈值1的情况下,表明该候选视觉媒体的视觉内容与过滤搜索语句之间的相似度程度较低,动态阈值模块可以确定该候选视觉媒体对应的布尔值2是false。
在该候选视觉媒体与过滤搜索语句之间的相似度大于或等于该相似度阈值1的情况下,表明该候选视觉媒体的视觉内容与过滤搜索语句的相似程度较高,动态阈值模块可以确定该候选视觉媒体对应的布尔值2是true。
其中,可选地,如上述图12所示,t的取值范围可以大于或等于参数3,也就是说min(t,参数3),并且,t的取值范围可以小于或等于参数4。也就是说,max(t,参数4)。其中,参数3和参数4是预设的。
在一些实施例中,由于上述S417c对应的动态阈值模块属于基模型对应的分支中,因此,上述S417c中的候选视觉媒体与过滤搜索语句之间的相似度包括基模型对应的候选视觉媒体与过滤搜索语句之间的相似度(即相似度1)。相应的,动态阈值模块可以判断候选视觉媒体与过滤搜索语句之间的相似度1是否小于相似度阈值1。在相似度1大于或等于相似度阈值1,动态阈值模块可以确定该候选视觉媒体对应的布尔值2是true。在相似度1小于相似度阈值1的情况下,动态阈值模块可以确定该候选视觉媒体对应的布尔值2是false。
可以理解的是,如果二次确认模块的输入参数只包括候选视觉媒体与过滤搜索语句之间的一个相似度,而不包括微调模型对应的候选视觉媒体与过滤搜索语句之间的相似度和基模型对应的候选视觉媒体与过滤搜索语句之间的相似度,那么上述S417c中的候选视觉媒体的图像特征向量便是输入的候选视觉媒体与过滤搜索语句之间的相似度。
另外,上述候选视觉媒体与过滤搜索语句之间的相似度也可以是其它多模态模型确定的,本申请不对其限制。
上面介绍了介绍利用动态阈值模块确定候选视觉媒体对应的布尔值的过程,下面将继续结合S417d介绍利用标签确认模块,确定候选视觉媒体与过滤搜索语句是否匹配的过程。
S417d、二次确认模块将上述过滤搜索语句的分词结果、过滤搜索语句包括的标签1和各个候选视觉媒体的标签2输入至标签确认模块,得到标签确认模块输出的各个候选视觉媒体对应的布尔值3。
本申请实施例中,二次确认模块可以利用标签确认模块判断候选视觉媒体的标签2是否存在过滤搜索语句的分词或过滤搜索语句所包括的标签1,以确定候选视觉媒体与过滤搜索语句是否匹配,从而确定候选视觉媒体对应的布尔值3。示例性的,如图13所示,标签确认模型确定候选视觉媒体对应的布尔值3的过程可以包括:
首先,对于m个候选视觉媒体中的每个候选视觉媒体,标签确认模块可以判断候选视觉媒体的标签2是否包括过滤搜索语句的分词结果中的分词,并且判断候选视觉媒体的标签2是否包括过滤搜索语句所包括的标签1,也即判断该候选视觉媒体是否包括该过滤搜索语句对应的视觉内容。
在上述候选视觉媒体的标签2包括该过滤搜索语句的至少一个分词,或者,候选视觉媒体的标签2包括过滤搜索语句所包括的至少一个标签1的情况下,表明该候选视觉媒体命中过滤搜索语句,标签确认模块可以确定该候选视觉媒体可能是用户所需的视觉媒体,因此,标签确认模块可以将候选视觉媒体对应的布尔值3确定为true。举例来说,过滤搜索语句的标签1包括小孩和花,过滤搜索语句的分词结果包括小孩、拿着、花这几个分词。则在候选视觉媒体的标签2包括小孩、拿着或花,或者,候选视觉媒体的标签2包括小孩或花的情况下,确定该候选视觉媒体对应的布尔值3确定为true。
在上述候选视觉媒体的标签2未包括该过滤搜索语句的所有分词,且,候选视觉媒体的标签2未包括过滤搜索语句所包括的所有标签1的情况下,表明该候选视觉媒体未命中该过滤搜索语句,该候选视觉媒体可能不是用户所需的视觉媒体,因此,标签确认模块可以将候选视觉媒体对应的布尔值3确定为false,从而可以得到m个候选视觉媒体的布尔值3。
可选地,为了提高搜索结果的准确性,标签确认模块可以在候选视觉媒体的标签2包括过滤搜索语句的所有分词,或者包括过滤搜索语句包括的所有标签1的情况下,确定该候选视觉媒体对应的布尔值3是true。
在候选视觉媒体的标签2未包括过滤搜索语句的至少一个分词,且未包括的过滤搜索语句所包括的至少一个标签1情况下,确定该候选视觉媒体对应的布尔值3是false。
上面介绍了二次确认模块利用标签确认模块确定各个候选视觉媒体对应的布尔值3的过程,下面将继续介绍二次确定模块利用白名单阈值模块,确定候选视觉媒体与过滤搜索语句是否匹配的过程。
S417e、二次确认模块将过滤搜索语句的文本特征向量、候选视觉媒体与过滤搜索语句之间的相似度输入至白名单阈值模块,得到白名单阈值模块输出的各个候选视觉媒体对应的布尔值4。
本申请实施例中,二次确认模块可以通过白名单阈值模块判断过滤搜素语句是否命中字典,以判断是否存在与过滤搜索语句对应的相似度阈值2,实现相似度阈值的准确确定。示例性的,白名单阈值模块可以判断字典是否存在过滤搜索语句。如果存在,白名单阈值模块生效,白名单阈值模块可以将字典中过滤搜索语句所对应的相似度阈值作为过滤搜索语句对应的相似度阈值2,从而利用相似度阈值2筛选与过滤搜索语句匹配的候选视觉媒体。如果不存在,白名单阈值模块不生效,也即无需利用白名单阈值模块确定各个候选视觉媒体对应的布尔值4。其中,字典包括key和key对应的value,key表示预设搜索文本,value是该预设搜索文本对应的相似度阈值,字典中的key可以是用户经常输入的搜索文本,即是预先测试好的搜索语句。
在一些实施例中,微调模型和基模型对应的分支存在对应的字典。如图14A所示,在过滤搜索语句是对应基模型所对应的分支的情况下,白名单阈值模块可以判断基模型对应的字典是否包括过滤搜索语句,也即判断基模型对应的字典是否存在与过滤搜索语句相同的key。
在基模型对应的字典包括过滤搜索语句的情况下,表明该过滤搜索语句命中基模型对应的字典,即基模型对应的字典存在与过滤搜索语句相同的key,则白名单阈值模块可以将该基模型对应的字典中该过滤搜索语句所对应的value作为相似度阈值2。
之后,对于m个候选视觉媒体中的每个候选视觉媒体,白名单阈值模块可以比较基模型对应的该候选视觉媒体与过滤搜索阈值之间的相似度与相似度阈值2之间的大小。在基模型对应的该候选视觉媒体与过滤搜索阈值之间的相似度小于相似度阈值2的情况下,白名单阈值模块可以确定该候选视觉媒体对应的布尔值4是false,在该相似度大于或等于相似度阈值2的情况下,表明该候选视觉媒体的视觉内容与过滤搜索语句相似程度很高,白名单阈值模块可以确定该候选视觉媒体对应的布尔值是true。
相应的,在过滤搜索语句是对应基模型所对应的分支的情况下,上述S418可以是,对于每个候选视觉媒体,在该候选视觉媒体对应的布尔值存在true的情况下,二次确认模块(如二次确认模块中的融合模块)可以将该候选视觉媒体作为视觉媒体1。其中,候选视觉媒体对应的布尔值包括上述布尔值1、布尔值2、布尔值3和布尔值4,也就是说,二次确认模块可以对候选视觉媒体对应的布尔值1、布尔值2、布尔值3和布尔值4取并集,得到候选视觉媒体对应的布尔值。
在该候选视觉媒体对应的布尔值均是false的情况下,表明候选视觉媒体对应的布尔值1、布尔值2、布尔值3和布尔值4均是false,二次确认模块(如二次确认模块中的融合模块)可以不将该候选视觉媒体作为视觉媒体1。
需要说明的是,由于上述白名单阈值模块和上述动态阈值模块均是确认过滤搜索语句对应的相似度阈值,白名单阈值模块确定的相似度阈值更加准确,因此,在上述白名单阈值模块生效的情况下,也就是利用过滤搜索语句对应的相似度阈值2确定候选视觉媒体对应的布尔值的情况下,动态阈值模块可以不生效,二次确认模块可以不利用过滤搜索语句对应的相似度阈值1确定候选视觉媒体对应的布尔值,避免进行不必要的相似度阈值的确定,从而避免进行不必要候选视觉媒体的筛选。
在一些实施例中,上述二次确认模块中的二分类模块、动态阈值模块、标签确认模块和白名单阈值模块可以是并行确定候选视觉媒体对应的布尔值,也可以是串行确定候选视觉媒体对应的布尔值。无论是并行还是串行确定,在二次确定模块中的一个模块确定候选视觉媒体对应的布尔值是ture的情况下,其它模块无需再继续确定该候选视觉媒体对应的布尔值,也即无需将该候选视觉媒体的相关信息输入至其它模型,避免进行不必要的布尔值的确定,保证传输代价。
另外,上述二次确认模块包括二分类模块、动态阈值模块、标签确认模块和白名单阈值模块仅是一种示例,二次确认模块可以包括二分类模块、动态阈值模块、标签确认模型和白名单阈值模块中的一个或多个,以提高视觉媒体的搜索效率。例如,二次确认模块包括二分类模块、动态阈值模块、标签确认模块和白名单阈值模块中的一个,如该二次确认模块包括二分类模块,相应的,上述候选视觉媒体对应的布尔值可以包括布尔值1。又例如,二次确认模块包括二分类模块、动态阈值模块、标签确认模块和白名单阈值模块中的两个,如该二次确认模块包括二分类模块和动态阈值模块。相应的,上述候选视觉媒体对应的布尔值可以包括布尔值1和布尔值2。又例如,二次确认模块包括二分类模块、动态阈值模块、标签确认模块和白名单阈值模块中的三个,如二次确认模块包括二分类模块、动态阈值模块、标签确认模块。相应的,上述候选视觉媒体对应的布尔值可以包括布尔值1、布尔值2和布尔值3。
以及,上述候选视觉媒体的图像信息和过滤搜索语句的信息所包括的内容,也即二次确认模块的输入参数仅是一种示例,其可以根据二次确定模块所包括的模块进行适应性设置。例如,二次确认模块包括二分类模型,上述候选视觉媒体的图像信息可以包括候选视觉媒体的图像特征向量,上述过滤搜索语句的信息可以包括过滤搜索语句的文本特征向量。
上面介绍了过滤搜索语句对应基模型所对应的分支的情况下,二次确认模块可以依次利用二分类模块、动态阈值模块、标签确认模块和白名单阈值模块确定候选视觉媒体对应的布尔值的过程。下面将继续介绍过滤搜索语句对应微调模型所对应的分支的情况下,二次确认模块可以依次利用标签确认模块和白名单阈值模块确定候选视觉媒体对应的布尔值的过程。
S417f、二次确认模块将上述过滤搜索语句的分词结果、过滤搜索语句包括的标签1和各个候选视觉媒体的标签2输入至标签确认模块,得到标签确认模块输出的各个候选视觉媒体对应的布尔值5。
其中,S417f的实现过程可以参考上述S417d的实现过程,此处不再进行赘述。
S417g、二次确认模块将过滤搜索语句、候选视觉媒体与过滤搜索语句之间的相似度输入至白名单阈值模块,得到白名单阈值模块输出的各个候选视觉媒体对应的布尔值4。
其中,S417g的实现过程可以参考上述S417e的实现过程。如图14B所示,在过滤搜索语句是对应微调模型所对应的分支的情况下,白名单阈值模块可以判断微调模型对应的字典是否包括过滤搜索语句,也即判断微调模型对应的字典是否存在与过滤搜索语句相同的key,从而确定白名单阈值模块是否生效。
在白名单阈值模块生效后,二次确认模块可以将微调模型对应的候选视觉媒体与过滤搜索语句之间的相似度,与微调模型对应的字典中的过滤搜索语句所对应的value进行比较,以确定该候选视觉媒体对应的布尔值。
相应的,在过滤搜索语句是对应微调模型所对应的分支的情况下,上述S418可以是,对于每个候选视觉媒体,在该候选视觉媒体对应的布尔值存在true的情况下,二次确认模块(如二次确认模块中的融合模块)可以将该候选视觉媒体作为视觉媒体1。其中,候选视觉媒体对应的布尔值包括上述布尔值5和上述布尔值6,也就是说,二次确认模块可以对候选视觉媒体对应的布尔值5和布尔值6取并集,得到候选视觉媒体对应的布尔值。
本申请实施例中,在得到候选视觉媒体后,手机利用二次确认模块继续确定候选视觉媒体对应的布尔值,以判断候选视觉媒体与过滤搜索语句是否匹配,从而可以从候选视觉媒体中选取与过滤搜索语句匹配的候选视觉媒体,得到相应的搜索结果,保证搜索结果的准确性,从而可以保证用户使用满意度。
需要说明的是,上述模块或模型所执行的操作仅是一种示例,上述模块所执行的操作也可以是手机中的其它模块执行的,本申请不对其限制。另外,上述模块或模型所执行的操作实际上是手机执行的。
在一些实施例中,手机在确定候选视觉媒体或对候选视觉媒体进行二次确认过程中,也可以先不过滤搜索语句中的非视觉语义主体,而是直接利用搜索语句的文本特征向量确定候选视觉媒体,或者对候选媒体进行二次确认。
在一些实施例中,上述视觉媒体的搜索、存储均是在用户授权下进行的,包括但不限于在用户使用该功能前,通知并提醒用户阅读相关用户协议(通知),并签署包括授权相关用户信息的该协议(授权)。
在一些实施例中,本申请提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如上所述的方法。
在一些实施例中,本申请提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
应理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下UE或者基站会做出相应的处理,并非是限定时间,且也不要求UE或基站实现时一定要有判断的动作,也不意味着存在其它限定。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。
本申请中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。本申请中,在没有特别说明的情况下,“至少一个”旨在用于表示“一个或者多个”,“多个”旨在用于表示“两个或两个以上”。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A可以是单数或者复数,B可以是单数或者复数。
本文中术语“……中的至少一个”或“……中的至少一种”,表示所列出的各项的全部或任意组合,例如,“A、B和C中的至少一种”,可以表示:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在B和C,同时存在A、B和C这六种情况,其中A可以是单数或者复数,B可以是单数或者复数,C可以是单数或者复数。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上所述的本申请实施方式并不构成对本申请保护范围的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种视觉媒体搜索方法,适用于电子设备,其特征在于,所述方法包括:
获取P个样本数据对,其中,所述P个样本数据对中的每个样本数据对包括样本图像及对应的描述文本;
对于每个样本图像,从所述样本图像对应的文本集合中选取第一文本元素,得到所述样本图像对应的第一文本元素;其中,所述样本图像对应的文本集合包括所述样本图像对应的描述文本和所述描述文本中的第一子文本;
对P个样本图像和P个样本图像对应的第一文本元素进行图文匹配,得到P*P的样本矩阵;
根据所述样本矩阵和所述样本图像,训练得到图文匹配模型;
显示第一界面;所述第一界面包括搜索框;
接收在所述搜索框内输入的搜索语句;所述搜索语句包括一个或多个子文本;
显示搜索结果,所述搜索结果对应第一视觉媒体;所述第一视觉媒体表示通过图文匹配模型确定的视觉内容与所述搜索语句匹配的视觉媒体。
2.根据权利要求1所述的方法,其特征在于,所述对P个样本图像和P个样本图像对应的第一文本元素进行图文匹配,得到P*P的样本矩阵,包括:
对于每个样本图像,将所述P个样本图像对应的第一文本元素作为所述样本图像对应的样本文本元素;
基于各个样本图像对应的样本文本元素,生成所述样本矩阵;其中,所述样本矩阵中的第i行元素表示第i个样本图像对应的各个样本文本元素;所述样本矩阵中的任一样本文本元素与所述样本文本元素所在行对应的样本图像形成一个样本。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述样本矩阵和所述样本图像,训练得到图文匹配模型,包括:
根据所述样本矩阵、所述样本图像对应的文本集合和所述样本图像,确定正负样本;
基于所述正负样本,训练得到图文匹配模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述样本矩阵、所述样本图像对应的文本集合和所述样本图像,确定正负样本,包括:
对于所述样本矩阵中的各个样本文本元素,在所述样本文本元素属于与所述样本文本元素所在行对应的样本图像对应的文本集合的情况下,确定所述样本文本元素和所述样本文本元素所在行对应的样本图像属于正样本;
在所述样本文本元素不属于与所述样本文本元素所在行对应的样本图像对应的文本集合的情况下,确定所述样本文本元素和所述样本文本元素所在行对应的样本图像属于负样本。
5.根据权利要求3所述的方法,其特征在于,所述根据所述样本矩阵、所述样本图像对应的文本集合和所述样本图像,确定正负样本,包括:
对第一文本交集矩阵和所述样本矩阵求交,得到第二文本交集矩阵;所述第一文本交集矩阵是基于任意两个所述样本图像对应的文本集合中的相同元素确定的;
在所述第二文本交集矩阵中的第t行中的第s个交集元素是空的情况下,确定所述样本矩阵中的所述第t行中的第s个交集元素和第t个样本图像属于负样本;
在所述第二文本交集矩阵中的第t行中的第s个交集元素不是空的情况下,确定所述样本矩阵中的所述第t行中的第s个交集元素和第t个样本图像属于正样本。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述对P个样本图像和P个样本图像对应的第一文本元素进行图文匹配,得到P*P的样本矩阵之前,所述方法还包括:
确定各个样本图像对应的文本集合的并集;
为所述文本集合的并集中的各个文本元素分配编号;
所述对P个样本图像和P个样本图像对应的第一文本元素进行图文匹配,得到P*P的样本矩阵,包括:
对P个样本图像和P个样本图像对应的第一文本元素所对应的编号进行图文匹配,得到P*P的样本矩阵。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述对于每个样本图像,从所述样本图像对应的文本集合中选取第一文本元素,包括:
按照预设比例,从所述每个样本图像对应的文本集合中随机选取文本元素;其中,预设比例包括选取的第一文本元素是描述文本的比例,选取的第一文本元素是第一子文本的比例。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一视觉媒体表示通过图文匹配模型确定的,视觉内容与所述搜索语句匹配的候选视觉媒体;所述候选视觉媒体表示与所述搜索语句之间的相似度大于第一阈值的视觉媒体。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一视觉媒体表示通过图文匹配模型确定的,视觉内容与过滤搜索语句匹配的视觉媒体;所述过滤搜索语句是过滤所述搜索语句中的非视觉语义主体得到的,所述非视觉语义主体不对应视觉内容。
10.一种电子设备,其特征在于,所述电子设备包括显示屏、存储器和一个或多个处理器;所述显示屏、所述存储器和所述处理器耦合;所述显示屏用于显示所述处理器生成的图像,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
11.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311589198.7A CN120067395A (zh) | 2023-11-23 | 2023-11-23 | 一种视觉媒体搜索方法及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311589198.7A CN120067395A (zh) | 2023-11-23 | 2023-11-23 | 一种视觉媒体搜索方法及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120067395A true CN120067395A (zh) | 2025-05-30 |
Family
ID=95806281
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311589198.7A Pending CN120067395A (zh) | 2023-11-23 | 2023-11-23 | 一种视觉媒体搜索方法及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120067395A (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116226688A (zh) * | 2023-05-10 | 2023-06-06 | 粤港澳大湾区数字经济研究院(福田) | 数据处理、图文检索、图像分类方法及相关设备 |
| CN116226353A (zh) * | 2023-03-29 | 2023-06-06 | 北京百度网讯科技有限公司 | 图文检索模型的训练方法、图文检索方法、装置及设备 |
| CN116432026A (zh) * | 2023-03-07 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 视觉语言理解任务处理方法和系统 |
-
2023
- 2023-11-23 CN CN202311589198.7A patent/CN120067395A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116432026A (zh) * | 2023-03-07 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 视觉语言理解任务处理方法和系统 |
| CN116226353A (zh) * | 2023-03-29 | 2023-06-06 | 北京百度网讯科技有限公司 | 图文检索模型的训练方法、图文检索方法、装置及设备 |
| CN116226688A (zh) * | 2023-05-10 | 2023-06-06 | 粤港澳大湾区数字经济研究院(福田) | 数据处理、图文检索、图像分类方法及相关设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113453040B (zh) | 短视频的生成方法、装置、相关设备及介质 | |
| CN111465918B (zh) | 在预览界面中显示业务信息的方法及电子设备 | |
| CN109189879B (zh) | 电子书籍显示方法及装置 | |
| CN112163428B (zh) | 语义标签的获取方法、装置、节点设备及存储介质 | |
| WO2019109245A1 (zh) | 一种故事相册的显示方法及装置 | |
| WO2022100221A1 (zh) | 检索处理方法、装置及存储介质 | |
| US12216704B2 (en) | Context-based organization of digital media | |
| CN111881315A (zh) | 图像信息输入方法、电子设备及计算机可读存储介质 | |
| CN113486260B (zh) | 互动信息的生成方法、装置、计算机设备及存储介质 | |
| CN117689974B (zh) | 图像分类模型的训练方法、电子设备及可读存储介质 | |
| CN113497835A (zh) | 多屏交互方法、电子设备及计算机可读存储介质 | |
| WO2024051730A1 (zh) | 跨模态检索方法、装置、设备、存储介质及计算机程序 | |
| CN120067395A (zh) | 一种视觉媒体搜索方法及电子设备 | |
| CN113806469A (zh) | 语句意图识别方法及终端设备 | |
| CN120067394A (zh) | 一种视觉媒体搜索方法及电子设备 | |
| CN120067393A (zh) | 一种视觉媒体搜索方法及电子设备 | |
| CN117499797A (zh) | 图像处理方法及相关设备 | |
| CN117131213A (zh) | 图像处理方法及相关设备 | |
| CN120067371B (zh) | 视觉媒体搜索方法、设备及存储介质 | |
| US11500937B1 (en) | Data retrieval system | |
| CN120067368A (zh) | 视觉媒体搜索方法、设备及存储介质 | |
| CN120067369A (zh) | 视觉媒体搜索方法、设备及存储介质 | |
| CN120067370A (zh) | 视觉媒体搜索方法、设备及存储介质 | |
| CN118445435B (zh) | 媒体数据查找方法和电子设备 | |
| WO2025108044A1 (zh) | 视觉媒体搜索方法、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |