1.本发明涉及数据库技术领域,尤其涉及一种基于图文网络关系的自更新图文检索方法。
背景技术:
2.图文检索一般包括两个方面,一方面是给定一段文本信息,在文本和图片数据库中分别匹配并返回相关联的文本和图片;另一方面是给定一个图片信息,在文本和图片数据库中分别匹配并返回相关联的文本和图片。图文数据库往往信息量较大,采用直接遍历的检索方法导致检索效率较低。在实际应用中,面对不断更新换代的海量数据,返回的相关结果不唯一且存在变化性。检索结果的时效性以及对结果排序的合理性和会直接影响到用户体验和满意程度,所以及时更新、合理、有序地输出结果尤为重要。
技术实现要素:
3.针对现有技术的不足,本发明提供一种基于图文网络关系的自更新图文检索方法,具体包括以下步骤:
4.步骤1:获取图像和文本数据集并对该数据集进行预处理,建立数据库中样本之间的联系;
5.步骤2:数据库接收用户输入文本或图片,如果输入为图片,为输入的图片打标签,提取图片特征和类标签,将图片编码成向量形式;如果输入为文本,将文本编码成句向量形式;
6.步骤3:将数据库以及输入的图片和文本向量映射到同一纬度空间,处理好特征向量后,设定k值,k值表示相关程度最高的前k类,将接收到的向量和句向量在数据库中分别进行检索,并计算相关度最高的前m张图片或者前n段文本存入数据库cache;其中数据库分为图数据库以及文本数据库;
7.步骤s1:在图数据库中对向量形式的图片进行检索,包括两个阶段,第一阶段类别中心图,第二阶段匹配相关度高的前k个类别中的每张图片。
8.所述类别中心图,即计算“用户输入—类别中心图”;在每一类图片中,采用平均池化法,求得“类别中心图”的向量表示。
9.所述匹配相关度高的前k个类别中的每张图片,即计算“用户输入—相关度高的前k个类别中的每张图片”的向量间的余弦相似度,先计算用户输入与每个类别中“类别中心图”的余弦相似度进行排序,相似度越大,表示用户输入与“类别中心图”越相似。根据步骤3中设置的k值,取相似度最高的前k类,再计算用户输入与这k个类别中的每张图片的余弦相似度,将相关度最高的前m张图片存入cache中;
10.所述平均池化法为计算规定区域池内数据的平均值作为该区域池化后的值;
11.所述余弦相似度为通过计算两个向量的夹角余弦值来评估他们的相似度,如下式所示:
[0012][0013]ai
表示向量a中第i个维度的值,bi表示向量b中第i个维度的值,n为维度;
[0014]
步骤s2:在文本数据库中进行检索,分为两个阶段:第一阶段匹配聚类中心文本,第二阶段匹配相关度最高的前h个主题中的每段文本;
[0015]
所述匹配聚类中心文本,即计算“用户输入—主题”的向量间的余弦相似度;
[0016]
所述匹配相关度最高的前h个主题中的每段文本,即计算“用户输入—相关度最高的前h的主题中的每段文本”的向量间的余弦相似度,将相关度最高的前n段文本存入cache;
[0017]
步骤4:输出图数据库和文档数据库cache中的图片和文本,将步骤3中计算得到的相关度最高的前m张图片或者前n段文本先存入数据库cache中,计算完成后,对cache中的图片和文本分别进行排序后,再一起按顺序输出。
[0018]
当输入为图片时,计算图片相关度质量piwtj,i表示图片i,j表示第j次迭代,数据库中各图片初始图片相关度质量相同且加和为1,得到该类别中的图连接矩阵r,对连接矩阵r进行归一化处理;图片按照相关度质量从大到小的顺序输出。
[0019]
当输入为文本时,计算文本推荐指数,文本按文本推荐指数从大到小输出。
[0020]
步骤5:将输入的文本以及图片分别加入文本或图数据库中,邀请用户对返回结果进行评分,关注在检索中返回的文本以及图片,实现数据库的扩充与检索。
[0021]
当输入为图片的检索时,重新迭代计算每张图片的图片相关度质量,作为下一次检索输出的参考;当输入为文字的检索时,重新迭代计算每段文本的文本推荐指数。
[0022]
采用上述技术方案所产生的有益效果在于:
[0023]
本发明提出了一种基于图文网络关系的自更新图文检索方法,采用两阶段检索模式,在保证检索准确率的同时,提高了检索效率。系统的自更新包括系统数据的自我扩充和检索的自我优化两个方面。一方面是指系统具有自我扩充的功能,在接收检索输入同时,也将检索内容加入数据库,实现数据库的自我增长。另一方面在检索完成后,系统会邀请用户对检索结果进行评分,同时也会关注在检索中多次被检索到的图片,并将这些都作为检索改进的相关指标,实现系统检索的自我优化。
[0024]
本发明在保证检索质量的同时,也提高了检索效率。系统将用户检索的数据也添加到数据库中,实现了数据库的自我扩充。邀请用户对输出结果进行评分并反馈给系统,作为检索改进的参考。另外,系统增加对在检索中多次返回的图片和文本的关注,这些图片和文本在一定程度上代表了检索热点,增加关注有助于提升检索结果的时效性,这对于数据不断更新换代的今天具有重要意义。
附图说明
[0025]
图1基于图文网络关系的自更新图文检索方法流程图;
[0026]
图2图数据库中不同类别图片间的关系示例图;
[0027]
图3文本数据库中不同主题文本间的关系示例图;
[0028]
图4基于图文网络关系的自更新图文检索整体结构图;
[0029]
图5图数据库内部数据存储及分布图;
[0030]
图6文本数据库内部数据存储及分布情况图。
具体实施方式
[0031]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0032]
本实施方式的基于图文网络关系的自更新图文检索方法,如图1所示,包括以下步骤:
[0033]
步骤1:获取图像和文本数据集并对该数据集进行预处理,建立数据库中样本之间的联系。
[0034]
提取图片特征并结合图标签,编码成向量形式,训练得到图片分类模型。提取的图片特征表示从一定程度上包含了图片的内在信息。同时考虑类标签,将类标签表示与图片特征直接拼接,作为图片的向量。
[0035]
类标签表示的每一维都代表一个类别,按照每一维度的0/1值划分类别,以类标签向量索引为0的列为例,假设图片1类标签向量索引为0的列取值为1,则表示图片1属于“animal”这一类别。按照这种划分规则,在每一类别中会包含多张图片。针对类别中包含的多张图片,对图片向量的每一维度进行平均池化,作为这一类图片的“类别中心图”的向量表示。需要注意的是,“类别中心图”只是一种说法,是对一类图片特征的一个表示,可能并不是存在于图数据库中的某一真实图片。结合图标签,编码成向量形式。
[0036]
计算图数据库中同一类别下图片间的相似度,当相似度大于阈值β,建立两图片之间的连接。由于图片类别按照类标签每一维度进行划分,所以可能存在一张图片属于多个类别的情况,即类别间存在交叉,如附图2所示。在图2中,图片2既属于类别1,又属于类别2,所以图片2会同时和类别1和类别2中的图片产生连接。在类间存在交叉的前提下,通过逐类别建立图片间联系的方法,不仅建立同一类别中图片的关联,还考虑了类别间的联系。
[0037]
对于文本数据,采用一种广泛使用的主题提取方法,该方法是由david等在《latent dirichlet allocation》中提出。该方法提取得到的主题以单词加权求和的方式呈现,如下式所示。
[0038]
topicm=a1w1+
…
+anwn[0039]
topicm表示第m个主题,wn表示词典中第n个单词的词向量。最基本的文本词向量方法是采用one-hot编码的方法,但这种方法缺乏对单词间关系的考虑,各单词之间相互独立。另外,当词库中单词数量增加时,会引起向量稀疏和维度爆炸的问题。
[0040]
因此,采用一种被广泛证明有效的文本编码方法,该方法被jacob devlin等在《bert:pre-training of deep bidirectional transformers for language understanding》中提出。使用该方法编码文本,得到的词向量,解决了向量稀疏和维度爆炸问题,同时在词向量中融入了上下文的信息。所以,主题的向量表示可以由上式和词向量计算得到。
[0041]
使用该方法进行文本主题提取后,可得到多个文本主题,每一段文本可能涉及一个或多个主题。一段文本的写作往往表达一个或几个主要观点而不会零散的分布,所以针
对每段文本,选取前五个相关性最大的主题作为这段文本的主题。
[0042]
计算文本数据库中同一主题下文本间的相似度,当相似度大于阈值β,建立两段文本之间的连接。由于一段文本可能涉及多个主题,所以可能存在主题间的交叉,如图3所示。在图3中,文本2既属于主题1,又属于主题2,所以文本2会同时和主题1和主题2中的文本产生连接。在主题间存在交叉的前提下,通过逐个主题建立文本间联系的方法,不仅建立同一主题中文本的关联,还考虑了文本间的联系。
[0043]
根据上述做法构建了带有数据连接关系的图数据库和文本数据库,方便接下来的检索处理。
[0044]
步骤2:数据库接收用户输入文本或图片,如果输入为图片,转步骤2.1;如果输入为文本,转步骤2.2。
[0045]
步骤2.1:按照步骤1中的方法和划分规则,提取图片特征,使用步骤1中训练得到的图片分类模型,为用户输入的图片打标签,结合图片的特征表示和类标签,得到图片最终的向量表示。
[0046]
步骤2.2:文本编码成句向量形式,仍然采用jacob devlin等在《bert:pre-training of deep bidirectional transformers for language understanding》中提出的方法,也可以编码得到文本的句向量表示。句向量表示是从句子的整体层面出发,挖掘句子内在语义特征,对句子进行编码。
[0047]
步骤3:在图数据库中的检索,分为两个阶段。第一阶段匹配类别中心图,第二阶段匹配相关度高于k(需要用户自行设定)的类别中的每张图片。
[0048]
根据步骤2中的方法,可以获得用户输入的图片或文本的向量表示。由于图片向量和文本向量表示不在同一维度空间下,首先需要将数据库以及输入的图片和文本向量借助一个全连接层,映射到同一纬度空间。
[0049]
全连接层(fully connected layers,fc)是前馈神经网络的一种特殊形式,网络中当前层的每个结点都和其上一层的所有结点相连,综合上一层的特征信息。由于全连接层网络结构中层与层之间是两两相连的全连接形式,所以通常全连接层的网络参数相比其他网络而言是最多的。
[0050]
处理好特征向量后,根据用户自身需求,由用户来设定k值,k值表示相关程度最高的前k类。用以方便取出前k类,继续进行下一步计算。
[0051]
步骤4:按照步骤2中的匹配过程,分别计算“用户输入—类别中心图”、“用户输入—相关度最高的前k个类别中的每张图片”的向量间的相似度,将相似度最高的前m张图片存入cache中(可根据用户需求自行设定,默认m=5)。
[0052]
经过步骤3,在图数据库中,针对图片特征的每一列,在每一类图片中,采用平均池化的方式,求得“类别中心图”的向量表示。先计算用户输入与每个类别中“类别中心图”的余弦相似度进行排序,相似度越大,表示用户输入与“类别中心图”越相似。根据步骤3中设置的k值,取相似度最高的前k类,再计算用户输入与这k个类别中的每张图片的余弦相似度,将相似度最高的前m张图片存入cache中。m可根据用户需求自行设定,如果用户没有指定m的值,则默认m=5。
[0053]
平均池化(global average pooling)是计算规定区域池内数据的平均值作为该区域池化后的值,是两种常用的池化方法之一。特征提取的误差主要来源于邻域大小受限
造成的估计值方差增大以及卷积层参数误差造成估计均值的偏移两个方面,平均池化一般可以减小第一种误差。
[0054]
余弦相似度(cosine similarity)通过计算两个向量的夹角余弦值来评估他们的相似度,如下式所示。
[0055][0056]ai
表示向量a中第i个维度的值,bi表示向量b中第i个维度的值。根据向量坐标值,求得他们夹角所对应的余弦值,此余弦值就可以用来表征这两个向量的相似程度。夹角越小,余弦值越接近于1,两个向量的方向越接近,说明两个向量相似程度越高。
[0057]
步骤5:在文本数据库中进行检索,分为两个阶段。第一阶段将匹配聚类中心文本,第二阶段匹配相关度最高的前h个(需要用户自行设定)主题中的每段文本。根据步骤2和步骤3中的方法,获得处理好的输入的图片或文本的最终向量表示。
[0058]
步骤6:分别计算“用户输入—主题”和“用户输入—相关度最高的前h的主题中的每段文本”的向量间的余弦相似度,将相关度最高的前n段文本存入cache(可根据用户需求自行设定,默认n=5)。
[0059]
步骤7:输出图数据库和文本数据库cache中的图片和文本。在步骤4到步骤6的阶段中,计算得到的相似度高的图片和文本,先存入数据库cache中,计算完成后,对cache中的图片和文本分别进行排序后,再一起按顺序输出。
[0060]
根据图5和图6的数据库内部数据分布,以图数据库为例,每个类别之间可能存在交叉,图5和图6只是呈现了数据库的某种可能状态。据此,对步骤7中的输出排序问题进行详细描述。
[0061]
以图数据库为例,在每个类别中构建图网络关系,当两个图片的相似度大于某一阈值β时,定义两个图片之间的连接,注意图片本身不存在自连接。当一个图片被多个图片连接时,说明图片内容相对丰富。定义图片相关度质量piwtj,i表示图片i,j表示第j次迭代,数据库中各图片初始图片相关度质量相同且加和为1。根据每个类别中构建的图网络关系,可以得到该类别中的图连接矩阵r,需要对连接矩阵r进行归一化处理。以附图5中图数据库类别1中的图网络关系为例,假设类别1中仅包含四张图片且与其他类别和如图所示的连接关系。则类别1中的初始图片相关度质量向量pwt1和图连接矩阵r如下式所示:
[0062][0063][0064]
定义并计算pwt
j+1
=pwtj·
r,不断迭代直至收敛,此时类别1中每张图片都获得一个相应的图片相关度质量,记为piwt。
[0065]
首次对图数据库进行检索时,返回的图片结果按照图片相关度质量从大到小的顺序输出,反馈给用户。当经过首次检索后,用户会对返回的每张图片进行评分,评分将会反馈给系统。同时,多次检索中被返回的图片将受到系统的关注。因此,定义图片热度p
i-hot、用户评分si以及图片推荐指数p
i-re。统计各类别中每张图片在多次检索中的返回次数,对每个类别中所有图片的返回次数进行归一化,作为每张图片的图片热度p
i-hot;计算每张图片获得的用户评分的平均值,对每个类别中所有图片的用户评分进行归一化,作为每张图片的用户评分si;由于在不同时间的检索中,用户对于相同的返回会给出不同的评分,如果系统在某次检索中优先返回了非常陈旧的图片,用户可能会给出很低分分数。所以,将图片推荐指数定义为p
i-re=si×
p
i-hot+piwt,这也表示系统将会优先重视图片相关度质量,同时关注图片热度和用户评分。系统每次在图数据库中的检索会根据图片推荐指数p
i-re来确定要返回的图片应按照怎样的顺序输出。
[0066]
文本数据库的方式来计算文本推荐指数,用来确定要返回的文本应该按照怎样的顺序输出反馈给用户。
[0067]
步骤8:将输入的文本(图片)加入文本(图)数据库中,邀请用户对返回结果进行评分,关注在检索中返回的文本(图片),实现数据库的扩充与检索。自更新图文检索整体结构图如图4所示。
[0068]
当有输入为图片的检索时,图数据库都会加入新的图片,此时,在图网络关系中加入新图片,更新pwt1和r,重新迭代计算每张图片的图片相关度质量,作为下一次检索输出的参考。这样,每经过一次输入为图片的检索,图数据库都会进行自我扩充,并且各图片推荐指数也会进行更新,优化检索,保证系统检索的准确性和时效性。针对文本数据库的自我扩充和检索优化与图数据库类似。
[0069]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:
1.一种基于图文网络关系的自更新图文检索方法,其特征在于,包括:步骤1:获取图像和文本数据集并对该数据集进行预处理,建立数据库中图像和文本数据样本之间的联系;步骤2:数据库接收用户输入的待测文本或图片;步骤3:将数据库以及输入的图片和文本向量映射到同一纬度空间,处理好特征向量后,设定k值,k值表示相关程度最高的前k类,将接收到的图片和文本向量在数据库中分别进行检索,并计算相关度最高的前m张图片或者前n段文本存入数据库cache;其中数据库分为图数据库以及文本数据库;步骤4:输出图数据库和文档数据库cache中的图片和文本,将步骤3中计算得到的相关度最高的前m张图片或者前n段文本先存入数据库cache中,计算完成后,对cache中的图片和文本分别进行排序后,再按顺序输出;步骤5:将输入的待测文本或图片分别加入文本或图数据库中,邀请用户对返回结果进行评分,实现数据库的扩充与检索。2.根据权利要求1所述的基于图文网络关系的自更新图文检索方法,其特征在于,步骤2中所述待测文本或图片,如果输入为图片,为输入的图片打标签,提取图片特征和类标签,将图片编码成向量形式;如果输入为文本,将文本编码成句向量形式。3.根据权利要求1所述的基于图文网络关系的自更新图文检索方法,其特征在于,所述步骤3具体包括以下步骤:步骤s1:在图数据库中对向量形式的图片进行检索,包括两个阶段,第一阶段类别中心图,第二阶段匹配相关度高的前k个类别中的每张图片;步骤s2:在文本数据库中进行检索,分为两个阶段:第一阶段匹配聚类中心文本,第二阶段匹配相关度最高的前h个主题中的每段文本。4.根据权利要求3所述的基于图文网络关系的自更新图文检索方法,其特征在于,步骤s1中所述类别中心图,即计算“用户输入—类别中心图”;在每一类图片中,采用平均池化法,求得“类别中心图”的向量表示其中所述平均池化法为计算规定区域池内数据的平均值作为该区域池化后的值;所述匹配相关度高的前k个类别中的每张图片,即计算“用户输入—相关度高的前k个类别中的每张图片”的向量间的余弦相似度,先计算用户输入与每个类别中“类别中心图”的余弦相似度进行排序,相似度越大,表示用户输入与“类别中心图”越相似,根据步骤3中设置的k值,取相似度最高的前k类,再计算用户输入与这k个类别中的每张图片的余弦相似度,将相关度最高的前m张图片存入cache中;其中余弦相似度为通过计算两个向量的夹角余弦值来评估他们的相似度,如下式所示:a
i
表示向量a中第i个维度的值,b
i
表示向量b中第i个维度的值,n为维度。5.根据权利要求3所述的基于图文网络关系的自更新图文检索方法,其特征在于,步骤
s2中所述匹配聚类中心文本,即计算“用户输入—主题”的向量间的余弦相似度;所述匹配相关度最高的前h个主题中的每段文本,即计算“用户输入—相关度最高的前h的主题中的每段文本”的向量间的余弦相似度,将相关度最高的前n段文本存入cache。6.根据权利要求1所述的基于图文网络关系的自更新图文检索方法,其特征在于,步骤4中所述按序输出为,当输入为图片时,计算图片相关度质量p
i
wt
j
,i表示图片i,j表示第j次迭代,数据库中各图片初始图片相关度质量相同且加和为1,得到该类别中的图连接矩阵r,对连接矩阵r进行归一化处理;图片按照相关度质量从大到小的顺序输出;当输入为文本时,计算文本推荐指数,文本按文本推荐指数从大到小输出。7.根据权利要求1所述的基于图文网络关系的自更新图文检索方法,其特征在于,所述步骤5中当输入为图片的检索时,重新迭代计算每张图片的图片相关度质量,作为下一次检索输出的参考;当输入为文字的检索时,重新迭代计算每段文本的文本推荐指数。
技术总结
本发明提供一种基于图文网络关系的自更新图文检索方法,涉及数据库技术领域。本发明采用两阶段检索模式,将文本划归主题,图片进行分类,并在每个主题和分类内部根据相关度构建网络关系。在每个分类中构建图网络关系,当两个图片的相似度大于某一阈值β时,定义两个图片之间的连接。文本数据库则是将文本划分主题,在每个主题中构建文本网络关系。当两段文本的相似度大于某一阈值β时,定义两个文本之间的连接,在检索完成后,邀请用户对检索结果进行评分,并将评分反馈给系统,作为检索改进的指标,实现检索的优化。同时,将检索内容加入相应的数据库主题或类别中,实现数据库的自我扩充。扩充。
技术研发人员:杨晓春 郑晗 李晓静 王斌 张晓红
受保护的技术使用者:东北大学
技术研发日:2021.11.24
技术公布日:2022/3/7