CN107291895A - 一种快速的层次化文档查询方法 - Google Patents

一种快速的层次化文档查询方法 Download PDF

Info

Publication number
CN107291895A
CN107291895A CN201710476244.0A CN201710476244A CN107291895A CN 107291895 A CN107291895 A CN 107291895A CN 201710476244 A CN201710476244 A CN 201710476244A CN 107291895 A CN107291895 A CN 107291895A
Authority
CN
China
Prior art keywords
mrow
document
word
msub
mtd
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.)
Granted
Application number
CN201710476244.0A
Other languages
English (en)
Other versions
CN107291895B (zh
Inventor
陈珂
王伟迪
胡天磊
陈刚
伍赛
寿黎但
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201710476244.0A priority Critical patent/CN107291895B/zh
Publication of CN107291895A publication Critical patent/CN107291895A/zh
Application granted granted Critical
Publication of CN107291895B publication Critical patent/CN107291895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/325Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种快速的层次化文档查询方法。对文档集中的每个文档建立数据模型,对文档进行格式化处理获得文档质心向量和文档标签;生成的文档质心向量作为高维向量空间中的一个点,为每个文档集采用局部敏感哈希方法在内存中构建哈希索引结构;依据查询文本的文档质心向量,采用基于局部敏感哈希思想的查询方法在哈希索引结构中获取一个候选文档集;依据查询文本的文档标签,采用过滤‑细化的层次化框架在候选文档集中获取词移动距离度量下的最近邻文档。本发明设计的层次化查询方法应用于文档分类和检索时在效率和效果上获得了良好的平衡,使得用户在进行词移动距离度量下的文档查询时能够在保证准确性的情况下快速地获取目标文档。

Description

一种快速的层次化文档查询方法
技术领域
本发明涉及了一种快速的层次化文档查询方法,具体涉及到了机器学习领域中的Word2Vec模型、数据库领域中的局部敏感哈希方法以及推土机距离度量下的过滤-细化框架。
背景技术
随着信息技术的发展,人们生产、收集和存储信息的能力不断增强。其中一种主要的信息载体是文档,精确地表示两篇文档之间的相似性在文档检索、文档分类和文档聚类等方向具有广泛的应用。潜在语义分析方法是通过矩阵分解来抽取低维语义信息,主题模型是对文字中隐含主题进行建模的方法。最近,随着深度学习的发展,Word2Vec模型与Doc2Vec模型相继被提出,它们分别是在大规模语料库上学习单词向量与文档向量的表示方式,该表示在一定程度上包含了单词或文档的语义信息。为了有效地使用词向量,词移动距离被提出;遗憾的是,它在效率上存在一定的缺陷。
数据库领域的局部敏感哈希方法是解决高维空间中的近邻查询问题的一种有效方法。局部敏感哈希的基本思想是通过局部敏感哈希函数来进行实现的,它保证了高维空间中距离较近的数据点在局部敏感哈希函数作用下相互碰撞的概率更大而距离较远的数据点相互碰撞的概率更小。对于较小的数据规模,内存中的基于局部敏感哈希思想的哈希表,可以用于在内存中快速地获取目标k近邻;对于较大的数据规模,结合局部敏感哈希思想与B+树的特殊索引结构可以用于在磁盘中快速地获取目标k近邻。
推土机距离是两个概率分布之间距离的一个度量。作为一种相似性度量方式,它已经被广泛应用到信息检索、数据库、多媒体、机器学习等诸多领域。由于推土机距离通常被形式化为一个线性优化问题并可以建模成二分网络的最小费用流,所以它需要一个较大的时间复杂度。推土机距离度量下的索引问题的解决方法主要是基于过滤-细化框架。在过滤阶段,通过推土机距离的下界来确定数据记录是否能够被过滤掉;在细化阶段,通过计算推土机距离来确定是否需要对目标集合进行更新。这些下界主要包括质心与投影、降维、原始-对偶空间、正态分布等等。
发明内容
本发明的目的在于针对现有技术的不足,提供一种快速的层次化文档查询方法。
本发明解决其技术问题采用的技术方案如下:
本发明针对一系列的多个文档集进行处理和查询,一个文档集是多篇文档构成。
本发明采用Word2Vec模型词向量对文档进行处理,然后采用局部敏感哈希的思想在内存中为文档集构建索引结构,并用层次化的文档查询方式从索引结构获得所对应的文档。
所述方法的步骤如下:
1)对文档集中的每个文档建立数据模型,一篇文档的数据模型主要由单词、词向量和单词权重的三部分组成;
2)对文档进行格式化处理获得文档质心向量和文档标签;
3)步骤2)中生成的文档质心向量作为高维向量空间中的一个点,为每个文档集采用局部敏感哈希方法在内存中构建哈希索引结构;
4)用户所输入的查询文本,依据查询文本的文档质心向量,采用基于局部敏感哈希思想的查询方法在哈希索引结构中获取一个候选文档集;
5)依据查询文本的文档标签,采用过滤-细化框架在候选文档集中获取词移动距离度量下的k个最近邻文档,完成查询。
所述步骤1)中,单词为文档经过预处理后剩下的有效单词,词向量为Google NewsWord2Vec模型的单词向量表示,单词权重为单词所对应的TF-IDF值。预处理包括依次进行的分词、去停用词和去高低频词等步骤。
所述步骤2)具体为:通过计算词向量对单词权重的加权均值得到文档的文档质心向量,通过对单词权重进行归一化处理并与对应的词向量一起构成文档的文档标签,将文档质心向量与文档标签存储于内存的特定数据结构中。
所述步骤2)具体是将一个文档标签以一个结构体数组形式存储,将一个文档质心向量以一个数组形式存储。具体实施所采用的词向量是300维,因此文档质心向量存储于大小为300的数组中。
所述的候选文档集中包含文档的数量为mk,k表示最近邻文档的数量,m表示倍数取值。
所述步骤3)中为每个文档集采用局部敏感哈希方法在内存中构建哈希索引结构是采用局部敏感哈希函数簇方式构建多个哈希表,具体为:
3.1)对于文档集中每个文档,采用以下公式生成多个局部敏感哈希函数:
其中,h(o)表示局部敏感哈希函数,表示取整数下限;a表示一个随机数向量,a的维数和文档质心向量的维数相同,a每一维的随机数是基于高斯分布独立选取;o是高维向量空间中的文档质心向量,b是随机参数,是基于数值范围[0,1]的均匀分布进行选取,W表示局部敏感哈希函数宽度的实数;
3.2)将得到的所有局部敏感哈希函数复合构成一个复合函数,并作为一个哈希表,一个哈希表对应一个复合函数,文档集中每一个文档根据复合函数映射到哈希表的哈希桶中,
3.3)重复步骤3.1)和3.2)构建获得多个哈希表。
所述步骤4)中查询文本的文档质心向量和所述步骤5)中查询文本的文档标签是以查询文本作为文档进行步骤1)和2),获得查询文本的文档质心向量和文档标签。
所述步骤4)中的基于局部敏感哈希思想的查询方法为Multi-probe LSH查询方法。
Multi-probe LSH查询方法具体是采用文献《Lv Q,Josephson W,Wang Z,etal.Multi-probe LSH:efficient indexing for high-dimensional similarity search[C]//International Conference on Very Large Data Bases.VLDB Endowment,2007:950-961.》中的方法实施。
所述步骤5)具体是先新建空白的目标文档集并以堆数据结构形式存储,以堆数据结构形式存储的目标文档集具有按词移动距离从小到大排序的特性,然后对于候选文档集中所有候选文档,以每次一个文档采用以下方式处理,包括过滤阶段和细化阶段:
5.1)若目标文档集中的文档数量小于等于k,k表示预先设定的查询文档数值,将候选文档依次加入目标文档集,多篇候选文档加入后目标文档集会将该多篇候选文档按词移动距离从小到大排序来存储;
若目标文档集中的文档数量大于k,则进行以下过滤阶段的步骤;
5.2)过滤阶段
计算查询文本与候选文档之间词移动距离的三个下界值,三个下界值分别为文档质心距离和两个松弛词移动距离,用文档质心距离、两个松弛词移动距离来判断候选文档是否剔除;
若三个下界值中的任何一个大于阈值θ,阈值θ表示查询文本与目标文档集中第k篇文档之间的词移动距离,则将候选文档从目标文档集剔除,返回步骤5.1)对下一个候选文档进行处理;
若三个下界值全部不大于阈值θ,则进入以下细化阶段的步骤;
5.3)过滤阶段
计算查询文本与目标文档集中各个文档之间的词移动距离,在目标文档集的堆数据结构中按词移动距离从小到达排序,将词移动距离最大对应的文档剔除,直到目标文档集中的文档数量保持在k个,并更新阈值θ与目标文档集的堆数据结构,再返回步骤5.1)对下一个候选文档进行处理。
所述步骤5.2)中,文档质心距离和松弛词移动距离分别采用以下方式计算:
a)文档质心距离用高维向量空间中的欧式距离来表示,计算公式为:
‖Xd1-Xd2
其中,Xd1与Xd2分别表示查询文本和候选文档的文档质心向量;
b)第一个松弛词移动距离形式化为以下公式所示的线性优化问题,即采用以下公式计算;
其中,为松弛词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w2j表示文档标签中归一化处理后的单词权重;T表示流动权重矩阵作为最优解的最优矩阵,Tij表示单词i与单词j之间的流动权重值;n表示一个文档中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
b)第二个松弛词移动距离形式化为以下公式所示的线性优化问题,即采用以下公式计算;
其中,为松弛词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w1i表示查询文本标签中归一化处理后的单词权重;T表示流动权重矩阵作为最优解的最优矩阵,Tij表示单词i与单词j之间的流动权重值;m表示一个查询文本中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
上述w下标的2代表了文档,1代表了查询文本。
所述步骤5.3)中,词移动距离采用以下方式计算:
其中,为词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w1i表示查询文本标签中归一化处理后的单词权重,w2j表示文档标签中归一化处理后的单词权重;T表示流动权重矩阵作为最优解的最优矩阵,Tij表示单词i与单词j之间的流动权重值;n表示一个文档中单词的总数;m表示一个查询文本中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
词移动距离可以看作是文献《Tang Y,Leong H U,Cai Y,et al.Earth mover'sdistance based similarity search at scale[J].Proceedings of the VldbEndowment,2013,7(4):313-324.》中推土机距离的一个特例,可以具体等效描述成二分网络的最小费用流问题,单词i与单词j之间的流动权重值Tij可以通过文献中描述的连续最短路径算法计算。
本发明具有的有益效果是:
本发明采用Word2Vec模型词向量对文档进行格式化处理,并采用局部敏感哈希的思想为文档集构建索引。
本发明层次化查询方法应用于文档分类和检索时在效率和效果上获得了良好的平衡,使得用户在进行词移动距离度量下的文档查询时能够在保证准确性的情况下快速地获取目标文档。
附图说明
图1是本发明文档格式化处理流程图。
图2是本发明一个文档质心向量的索引构建例子。
图3是本发明的文档层次化查询流程图。
图4是本发明的过滤-细化框架的实施示例。
图5是本发明的词移动距离计算问题对应的二分网络流。
具体实施方式
本发明的实施例及其实施过程如下:
具体实施是以文档数据集Reuters-21578(Reuters)和示意图对本发明的技术方案作进一步说明;其中,Reuters是Newswire新闻文档集的一个分支,并可以从互联网上公开获取,它包含65个主题、8293篇文档,2347篇文档是用于测试的,5946篇训练文档用于构建哈希表。
文档格式处理阶段
步骤1:建立每篇文档的数据模型,一篇文档的数据模型主要由单词、词向量和单词权重的三部分组成;单词为文档经过预处理后剩下的有效单词,词向量为互联网上可公开获取的Google News Word2Vec模型词向量,单词权重为单词所对应的TF-IDF值。
步骤2:对文档进行格式处理。如图1所示,通过计算词向量对TF-IDF值的加权均值得到文档的文档质心向量;通过对TF-IDF值进行归一化处理并与对应的词向量一起构成文档的标签;文档质心向量与标签都可以存储于特定的数据结构中。将一个文档标签以一个结构体数组形式存储,将一个文档质心向量以一个数组的形式存储。
构建哈希索引阶段
步骤3:步骤2中生成的文档质心向量可以表示为高维向量空间中的一个点,那么,文档质心向量间的距离可以用高维向量空间中的欧式距离来计算。基于此,局部敏感哈希方法通过局部敏感哈希函数簇来构建哈希索引,具体是:
3.1)首先,采用以下公式生成m个局部敏感哈希函数,具体表示为h1,h2,…,hm与一个m维的局部敏感哈希函数hm+1(局部敏感哈希函数的维度与文档质心向量的维度相同),这m+1个局部敏感哈希函数中的参数W具有相同的配置数值。
其中,h(o)表示局部敏感哈希函数,表示取整数下限;o是高维向量空间中的文档质心向量,a表示一个随机数向量,它的维数和文档质心向量o的维数相同,a每一维的随机数是基于高斯分布独立选取;b是随机参数,是基于数值范围[0,1]的均匀分布进行选取,W表示局部敏感哈希函数宽度的实数;
3.2)将生成的所有局部敏感哈希函数h1,h2,…,hm,hm+1复合形成一个复合哈希函数g。一个特定的文档质心向量o的具体复合方式是:
依据前m个局部敏感哈希函数h1,h2,…,hm生成文档质心向量o的一个复合哈希键(即m维向量)K=<h1(o),h2(o),…,hm(o)>,那么文档质心向量o在复合哈希函数g作用下的哈希值可以被表示为g(o)=hm+1(K);其中一张哈希表对应于一个复合哈希函数,复合哈希函数值对应于哈希表中的一个哈希桶,而一个哈希桶会对应一个链表数据结构。
3.3)重复步骤3.1)和3.2)L次,可以获得L个复合哈希函数g1,g2,…,gL;它们分别对应内存中的哈希表table1,table2,…,tableL;其中每一个复合哈希函数对应一张哈希表中的函数映射。
3.4)依据步骤3.3)中生成的每一个复合哈希函数gi(i属于范围1~L),将文档数据集Reuters中的5946篇训练文档的每一篇文档映射到内存中哈希表tablei对应的哈希桶中;重复L次可以完成L张哈希表的构建。
图2给出了一个构建哈希索引的例子,其中L=8。
文档数据集中的每一篇文档,经过文档格式处理阶段后,可以被表示成文档质心向量o的形式。
L=8对应着8个复合哈希函数与8张哈希表,那么文档质心向量o可以被8个复合哈希函数g1,g2,…,g8映射到相应哈希表中的哈希桶上;其中g1(o)=2,g2(o)=6,…,g8(o)=4表示哈希桶的编号。
对Reuters文档数据集中的5946篇训练文档应用相似的处理可以将每一篇文档都映射到相应哈希表中的哈希桶上。
文档查询阶段
步骤4:查询文本作为文档经过文档格式处理阶段的步骤可以获得查询文本的文档质心向量和文档标签。
图3给出了文档层次化查询的流程。
为文档集Reuters构建的哈希表存放于内存,依据文档质心向量的表示而采用Multi-probe LSH查询方法在L张哈希表中来获取候选文档集;它主要包括生成探测序列、挑选内存中最相似的哈希桶以及在哈希桶中对文档进行验证这三个部分。其中,候选文档集包含文档的数量为mk,k为最近邻文档的数量,m表示倍数取值。
步骤5:依据查询文本的标签格式而采用过滤-细化框架在候选文档集中获取词移动距离度量下的k个最近邻文档;这里,k个最近邻文档以目标文档集形式全部存储在堆数据结构中,并维护一个阈值θ表示所输入的查询文本与最近的第k篇文档之间的词移动距离。
先新建空白的目标文档集并以堆数据结构形式存储,以堆数据结构形式存储的目标文档集可以设置按词移动距离从小到大排序的特性,然后对于候选文档集中所有候选文档,以每次一个文档采用以下方式处理,包括过滤阶段和细化阶段:
5.1)若目标文档集中的文档数量小于等于k,k表示预先设定的目标文档数值,将候选文档依次加入目标文档集,多篇候选文档加入后目标文档集会将该多篇候选文档按词移动距离从小到大排序来存储;
若目标文档集中的文档数量大于k,则进行以下过滤阶段的步骤;
5.2)过滤阶段
计算查询文本与候选文档之间词移动距离的三个下界值,三个下界值分别为文档质心距离和两个松弛词移动距离1与2,用文档质心距离、两个松弛词移动距离来判断候选文档是否剔除;
若三个下界值中的任何一个大于阈值θ,阈值θ表示查询文本与目标文档集中第k篇文档之间的词移动距离,则将候选文档剔除,返回步骤5.1)对下一个候选文档进行处理;
若三个下界值全部不大于阈值θ,则进入以下细化阶段的步骤;
5.3)细化阶段
计算查询文本与候选文档之间的词移动距离,将候选文档插入到目标文档集所在的堆数据结构,堆数据结构可以设置为按词移动距离从小到大排序,将词移动距离最大的文档剔除,使得目标文档集中的文档数量保持在k个,并更新阈值θ与目标文档集的堆数据结构,再返回步骤5.1)对下一个候选文档进行处理。
图4给出一个过滤-细化框架的例子,其中m=3、k=3、候选文档集包含9篇文档。首先,构建一个空的目标文档集并通过堆数据结构在内存中进行存储,堆数据结构存储的文档设置为按词移动距离从小到大排序。
目标文档集包含的文档数目为0,经过步骤5.1),候选文档集中的前面3篇文档依次存放于目标文档集中,阈值θ1表示查询文本与第3篇最近的文档的词移动距离,即查询文本与3号文档的词移动距离。
在处理候选文档集中的4号文档时,由于存在一个查询文本与4号文档的词移动距离的下界松弛词移动距离或者文档质心距离大于阈值θ1,所以4号文档在步骤5.2)过滤阶段中直接被过滤掉,阈值θ1不变,并继续处理下一篇文档。
在处理候选文档集中的5号文档时,由于查询文本与5号文档的词移动距离的下界松弛词移动距离和文档质心距离都不大于阈值θ1,那么步骤5.2)过滤阶段无法将5号文档过滤掉;在步骤5.3)细化阶段中,计算查询文本与5号文档间的词移动距离,该词移动距离小于1号文档与查询文本之间的词移动距离,所以3号文档会被移除目标文档集,并更新阈值为θ2,它为查询文本与1号文档间的词移动距离。
对候选文档集中的6~9号文档,重复步骤5.2)与5.3);最后目标文档集中包含2号、5号、9号这3篇文档,它们与查询文本之间的词移动距离依次增加。
在这一阶段,本发明需要计算查询文本与文档之间的词移动距离,它作为推土机距离的一个特例,可以具体等效描述成图5所展示的二分网络的最小费用流问题,并可以通过连续最短路径算法计算得到最终结果;其中每一个word表示文档中单词所对应的Word2Vec词向量,每一个w表示文档中单词所对应的归一化TF-IDF值。
总结
经过文档格式处理阶段和构建哈希索引阶段后,本发明创建了L张哈希表用于索引文档集Reuters中的5946篇训练文档。
在文档查询阶段,对于查询文本,本发明所述的层次化查询通过Multi-probe LSH查询方法计算哈希函数的方式来选取文档,而步骤5中所述的过滤-细化框架是一种线性查询方法。这里是本发明层次化查询最重要的一个优化,Multi-probe LSH查询方法将文档集Reuters中5946篇训练文档限制在mk篇候选文档中,从而避免了步骤5中大规模的线性查询,提高了词移动距离度量下的文档查询效率。

Claims (10)

1.一种快速的层次化文档查询方法,其特征在于:
所述方法的步骤如下:
1)对文档集中的每个文档建立数据模型,一篇文档的数据模型主要由单词、词向量和单词权重的三部分组成;
2)对文档进行格式化处理获得文档质心向量和文档标签;
3)步骤2)中生成的文档质心向量作为高维向量空间中的一个点,为每个文档集采用局部敏感哈希方法在内存中构建哈希索引结构;
4)依据查询文本的文档质心向量,采用基于局部敏感哈希思想的查询方法在哈希索引结构中获取一个候选文档集;
5)依据查询文本的文档标签,采用过滤-细化框架在候选文档集中获取词移动距离度量下的k个最近邻文档,完成查询。
2.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤2)具体为:通过计算词向量对单词权重的加权均值得到文档的文档质心向量,通过对单词权重进行归一化处理并与对应的词向量一起构成文档的文档标签,将文档质心向量与文档标签存储于内存的特定数据结构中。
3.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤2)具体是将一个文档标签以一个结构体数组形式存储,将一个文档质心向量以一个数组形式存储。
4.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述的候选文档集中包含文档的数量为mk,k表示最近邻文档的数量,m表示倍数取值。
5.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤3)中为每个文档集采用局部敏感哈希方法在内存中构建哈希索引结构是采用局部敏感哈希函数簇方式构建多个哈希表,具体为:
3.1)对于文档集中每个文档,采用以下公式生成多个局部敏感哈希函数:
其中,h(o)表示局部敏感哈希函数,表示取整数下限;a表示一个随机数向量,a的维数和文档质心向量的维数相同,a每一维的随机数是基于高斯分布独立选取;o是高维向量空间中的文档质心向量,b是随机参数,是基于数值范围[0,1]的均匀分布进行选取,W表示局部敏感哈希函数宽度的实数;
3.2)将得到的所有局部敏感哈希函数复合构成一个复合函数,并作为一个哈希表,文档集中每一个文档根据复合函数映射到哈希表的哈希桶中,
3.3)重复步骤3.1)和3.2)构建获得多个哈希表。
6.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤4)中查询文本的文档质心向量和所述步骤5)中查询文本的文档标签是以查询文本作为文档进行步骤1)和2),获得查询文本的文档质心向量和文档标签。
7.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤4)中的基于局部敏感哈希思想的查询方法为Multi-probe LSH查询方法。
8.根据权利要求1所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤5)具体是先新建空白的目标文档集并以堆数据结构形式存储,以堆数据结构形式存储的目标文档集具有按词移动距离从小到大排序的特性,然后对于候选文档集中所有候选文档,以每次一个文档采用以下方式处理,包括过滤阶段和细化阶段:
5.1)若目标文档集中的文档数量小于等于k,k表示预先设定的查询文档数值,将候选文档依次加入目标文档集;
若目标文档集中的文档数量大于k,则进行以下过滤阶段的步骤;
5.2)过滤阶段
计算查询文本与候选文档之间词移动距离的三个下界值,三个下界值分别为文档质心距离和两个松弛词移动距离,用文档质心距离、两个松弛词移动距离来判断候选文档是否剔除;
若三个下界值中的任何一个大于阈值θ,阈值θ表示查询文本与目标文档集中第k篇文档之间的词移动距离,则将候选文档从目标文档集剔除,返回步骤5.1)对下一个候选文档进行处理;
若三个下界值全部不大于阈值θ,则进入以下细化阶段的步骤;
5.3)过滤阶段
计算查询文本与目标文档集中各个文档之间的词移动距离,在目标文档集的堆数据结构中按词移动距离从小到达排序,将词移动距离最大对应的文档剔除,直到目标文档集中的文档数量保持在k个,并更新阈值θ与目标文档集的堆数据结构,再返回步骤5.1)对下一个候选文档进行处理。
9.根据权利要求8所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤5.2)中,文档质心距离和松弛词移动距离分别采用以下方式计算:
a)文档质心距离计算公式为:
‖Xd1-Xd2
其中,Xd1与Xd2分别表示查询文本和候选文档的文档质心向量;
b)第一个松弛词移动距离形式化为以下公式所示的线性优化问题,即采用以下公式计算;
<mrow> <msub> <mi>min</mi> <mrow> <mi>T</mi> <mo>&amp;GreaterEqual;</mo> <mn>0</mn> </mrow> </msub> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>c</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>w</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>&amp;ForAll;</mo> <mi>j</mi> <mo>&amp;Element;</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,为松弛词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w2j表示文档标签中归一化处理后的单词权重;T表示流动权重矩阵,Tij表示单词i与单词j之间的流动权重值;n表示一个文档中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
<mrow> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mi>w</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mi> </mi> <mi>i</mi> <mo>=</mo> <msub> <mi>argmin</mi> <mi>i</mi> </msub> <mi>c</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
b)第二个松弛词移动距离采用以下公式计算;
<mrow> <msub> <mi>min</mi> <mrow> <mi>T</mi> <mo>&amp;GreaterEqual;</mo> <mn>0</mn> </mrow> </msub> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>c</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>w</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>&amp;ForAll;</mo> <mi>i</mi> <mo>&amp;Element;</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>m</mi> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,为松弛词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w1i表示查询文本标签中归一化处理后的单词权重;T表示流动权重矩阵,Tij表示单词i与单词j之间的流动权重值;m表示一个查询文本中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
<mrow> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mrow> <mo>{</mo> <mrow> <mtable> <mtr> <mtd> <msub> <mi>w</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mi> </mi> <mi>j</mi> <mo>=</mo> <msub> <mi>argmin</mi> <mi>j</mi> </msub> <mi>c</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> <mo>.</mo> </mrow> </mrow> </mrow>
10.根据权利要求8所述的一种快速的层次化文档查询方法,其特征在于:
所述步骤5.3)中,词移动距离采用以下方式计算:
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>w</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>&amp;ForAll;</mo> <mi>j</mi> <mo>&amp;Element;</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>w</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>&amp;ForAll;</mo> <mi>j</mi> <mo>&amp;Element;</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>m</mi> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,为词移动距离;c(i,j)表示单词i与j之间的移动代价,等于Word2Vec词向量间的欧式距离,单词i属于查询文本,单词j属于文档;w1i表示查询文本标签中归一化处理后的单词权重,w2j表示文档标签中归一化处理后的单词权重;T表示流动权重矩阵作为最优解的最优矩阵,Tij表示单词i与单词j之间的流动权重值;n表示一个文档中单词的总数;m表示一个查询文本中单词的总数;
单词i与单词j之间的流动权重值Tij采用以下公式计算:
<mrow> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mi>W</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mi> </mi> <mi>j</mi> <mo>=</mo> <msub> <mi>argmin</mi> <mi>j</mi> </msub> <mi>c</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> </mrow> 3
CN201710476244.0A 2017-06-21 2017-06-21 一种快速的层次化文档查询方法 Active CN107291895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710476244.0A CN107291895B (zh) 2017-06-21 2017-06-21 一种快速的层次化文档查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710476244.0A CN107291895B (zh) 2017-06-21 2017-06-21 一种快速的层次化文档查询方法

Publications (2)

Publication Number Publication Date
CN107291895A true CN107291895A (zh) 2017-10-24
CN107291895B CN107291895B (zh) 2020-05-26

Family

ID=60097746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710476244.0A Active CN107291895B (zh) 2017-06-21 2017-06-21 一种快速的层次化文档查询方法

Country Status (1)

Country Link
CN (1) CN107291895B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729557A (zh) * 2017-11-08 2018-02-23 北京大学 一种编目信息的分类、检索方法和装置
CN108595706A (zh) * 2018-05-10 2018-09-28 中国科学院信息工程研究所 一种基于主题词类相似性的文档语义表示方法、文本分类方法和装置
CN109299097A (zh) * 2018-09-27 2019-02-01 宁波大学 一种基于哈希学习的在线高维数据最近邻查询方法
CN109977294A (zh) * 2019-04-03 2019-07-05 三角兽(北京)科技有限公司 信息/查询处理装置、查询处理/文本查询方法、存储介质
CN110309294A (zh) * 2018-03-01 2019-10-08 优酷网络技术(北京)有限公司 内容集合的标签确定方法及装置
CN111291177A (zh) * 2018-12-06 2020-06-16 中兴通讯股份有限公司 一种信息处理方法、装置和计算机存储介质
CN116028618A (zh) * 2022-12-27 2023-04-28 百度国际科技(深圳)有限公司 文本处理、文本检索方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281520A (zh) * 2007-04-05 2008-10-08 中国科学院自动化研究所 基于非监督学习和语义匹配特征交互式体育视频检索方法
US20100179933A1 (en) * 2009-01-12 2010-07-15 Nec Laboratories America, Inc. Supervised semantic indexing and its extensions
CN103631928A (zh) * 2013-12-05 2014-03-12 中国科学院信息工程研究所 一种基于局部敏感哈希的聚类索引方法及系统
CN104317838A (zh) * 2014-10-10 2015-01-28 浙江大学 一种基于耦合鉴别性字典的跨媒体哈希索引方法
CN104834735A (zh) * 2015-05-18 2015-08-12 大连理工大学 一种基于词向量的文档摘要自动提取方法
CN104866471A (zh) * 2015-06-05 2015-08-26 南开大学 一种基于局部敏感哈希策略的实例匹配方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281520A (zh) * 2007-04-05 2008-10-08 中国科学院自动化研究所 基于非监督学习和语义匹配特征交互式体育视频检索方法
US20100179933A1 (en) * 2009-01-12 2010-07-15 Nec Laboratories America, Inc. Supervised semantic indexing and its extensions
CN103631928A (zh) * 2013-12-05 2014-03-12 中国科学院信息工程研究所 一种基于局部敏感哈希的聚类索引方法及系统
CN104317838A (zh) * 2014-10-10 2015-01-28 浙江大学 一种基于耦合鉴别性字典的跨媒体哈希索引方法
CN104834735A (zh) * 2015-05-18 2015-08-12 大连理工大学 一种基于词向量的文档摘要自动提取方法
CN104866471A (zh) * 2015-06-05 2015-08-26 南开大学 一种基于局部敏感哈希策略的实例匹配方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729557A (zh) * 2017-11-08 2018-02-23 北京大学 一种编目信息的分类、检索方法和装置
CN110309294A (zh) * 2018-03-01 2019-10-08 优酷网络技术(北京)有限公司 内容集合的标签确定方法及装置
CN110309294B (zh) * 2018-03-01 2022-03-15 阿里巴巴(中国)有限公司 内容集合的标签确定方法及装置
CN108595706A (zh) * 2018-05-10 2018-09-28 中国科学院信息工程研究所 一种基于主题词类相似性的文档语义表示方法、文本分类方法和装置
CN108595706B (zh) * 2018-05-10 2022-05-24 中国科学院信息工程研究所 一种基于主题词类相似性的文档语义表示方法、文本分类方法和装置
CN109299097A (zh) * 2018-09-27 2019-02-01 宁波大学 一种基于哈希学习的在线高维数据最近邻查询方法
CN109299097B (zh) * 2018-09-27 2022-06-21 宁波大学 一种基于哈希学习的在线高维数据最近邻查询方法
CN111291177A (zh) * 2018-12-06 2020-06-16 中兴通讯股份有限公司 一种信息处理方法、装置和计算机存储介质
CN109977294A (zh) * 2019-04-03 2019-07-05 三角兽(北京)科技有限公司 信息/查询处理装置、查询处理/文本查询方法、存储介质
CN116028618A (zh) * 2022-12-27 2023-04-28 百度国际科技(深圳)有限公司 文本处理、文本检索方法、装置、电子设备及存储介质
CN116028618B (zh) * 2022-12-27 2023-10-27 百度国际科技(深圳)有限公司 文本处理、文本检索方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN107291895B (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
CN107291895B (zh) 一种快速的层次化文档查询方法
CN105653706B (zh) 一种基于文献内容知识图谱的多层引文推荐方法
Santra et al. Genetic algorithm and confusion matrix for document clustering
Aliwy et al. Comparative study of five text classification algorithms with their improvements
CN107066599A (zh) 一种基于知识库推理的相似上市公司企业检索分类方法及系统
CN110674407A (zh) 基于图卷积神经网络的混合推荐方法
CN106951498A (zh) 文本聚类方法
Nguyen et al. SLINT: a schema-independent linked data interlinking system
CN105787097A (zh) 一种基于文本聚类的分布式索引构建方法及系统
CN106372122B (zh) 一种基于维基语义匹配的文档分类方法及系统
CN102012915A (zh) 一种文档共享平台的关键词推荐方法及系统
CN110543595A (zh) 一种站内搜索系统及方法
CN103778206A (zh) 一种网络服务资源的提供方法
CN103761286B (zh) 一种基于用户兴趣的服务资源检索方法
CN105843925A (zh) 一种基于改进bow算法的相似图片搜索方法
CN111797267A (zh) 一种医学图像检索方法及系统、电子设备、存储介质
Costache et al. Categorization based relevance feedback search engine for earth observation images repositories
Saha et al. A large scale study of SVM based methods for abstract screening in systematic reviews
Gupta et al. Feature selection: an overview
Schenker et al. A comparison of two novel algorithms for clustering web documents
Zaw et al. Web document clustering using Gauss distribution based cuckoo search clustering algorithm
Zhao et al. MapReduce-based clustering for near-duplicate image identification
Giglou et al. ParsSimpleQA: The Persian Simple Question Answering Dataset and System over Knowledge Graph
Wang et al. Edcleaner: Data cleaning for entity information in social network
CN111966780A (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
GR01 Patent grant
GR01 Patent grant