《用于海量文本匹配的方法.pdf》由会员分享,可在线阅读,更多相关《用于海量文本匹配的方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201310418114.3(22)申请日 2013.09.13G06F 17/30(2006.01)(71)申请人中国银联股份有限公司地址 200135 中国上海市浦东新区含笑路36号银联大厦(72)发明人刘军 冯兴(74)专利代理机构中国专利代理(香港)有限公司 72001代理人方世栋 汤春龙(54) 发明名称用于海量文本匹配的方法(57) 摘要本发明提出了用于海量文本匹配的方法。其中,所述方法包括:分别将数据库文档和外部文档分组,并确定数据库文档的分组数s;分别计算数据库文档的总数目n和外部文档的总数目m,并用k个实矩阵M表示所述数。
2、据库文档的向量空间,以及用k2个稀疏矩阵P表示所述外部文档的向量空间;取未针对其进行相应的计算操作的稀疏矩阵P作为当前目标稀疏矩阵P,并针对所述当前目标稀疏矩阵P执行相应的计算操作以获得相似度矩阵S,以及随后基于所述相似度矩阵S确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档。本发明所公开的用于海量文本匹配的方法节省存储空间、时间消耗较小并且能够进行并行处理。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书4页 附图2页(10)申请公布号 CN 104462088 A(43)申请公布日 2015.03.25CN 10446。
3、2088 A1/2页21.一种用于海量文本匹配的方法,所述用于海量文本匹配的方法包括下列步骤:(A1)分别将数据库文档和外部文档分组,并确定数据库文档的分组数s;(A2)分别计算数据库文档的总数目n和外部文档的总数目m,并用k个实矩阵M表示所述数据库文档的向量空间,以及用k2个稀疏矩阵P表示所述外部文档的向量空间;(A3)判断是否存在未针对其进行相应的计算操作的稀疏矩阵P,并且如果不存在未针对其进行相应的计算操作的稀疏矩阵P,则终止匹配过程,而如果存在未针对其进行相应的计算操作的稀疏矩阵P,则进入步骤(A4);(A4)取下一个未针对其进行相应的计算操作的稀疏矩阵P作为当前目标稀疏矩阵P,并针对。
4、所述当前目标稀疏矩阵P执行相应的计算操作以获得相似度矩阵S,以及随后基于所述相似度矩阵S确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档并返回步骤(A3)。2.根据权利要求1所述的用于海量文本匹配的方法,其特征在于,所述外部文档的分组数t是所述数据库文档的分组数s的倍数。3.根据权利要求2所述的用于海量文本匹配的方法,其特征在于,所述步骤(A2)进一步包括:通过分词和/或统计词频得到数据库文档的词包W及其词条个数w;用k个实矩阵M表示所述数据库文档的向量空间,其中k=n/s,并且每个实矩阵M由s个文档向量组成,其中,每个实矩阵M具有s行w列,并且每一行表示一个文档向量;将每。
5、个实矩阵M编号并存储。4.根据权利要求3所述的用于海量文本匹配的方法,其特征在于,所述步骤(A2)进一步包括:对外部文档进行分词操作后剔除不在所述数据库文档的词包W之内的词条;将剔除不在所述数据库文档的词包W之内的词条后词条数为0的外部文档丢弃;用k2个稀疏矩阵P表示所述外部文档的向量空间,其中k2=m/t,并且每个稀疏矩阵P由t个文档向量组成;将每个稀疏矩阵P编号并存储。5.根据权利要求4所述的用于海量文本匹配的方法,其特征在于,所述稀疏矩阵P包括下列项:行数、列数、行号向量、列号向量、非零值向量。6.根据权利要求5所述的用于海量文本匹配的方法,其特征在于,所述步骤(A4)进一步包括:将所述。
6、当前目标稀疏矩阵P与k个实矩阵M的匹配任务分配到z个工作站中,其中z是k的整除数。7.根据权利要求6所述的用于海量文本匹配的方法,其特征在于,所述步骤(A4)进一步包括:所述z个工作站中的每个计算所述当前目标稀疏矩阵P与所分配的实矩阵M之间的相似度以得到相应的相似度矩阵S,其中,所述相似度矩阵S具有t行s列,并且其第i行是所述当前目标稀疏矩阵P的第i个文档与实矩阵M的s个文档的相似度。8.根据权利要求7所述的用于海量文本匹配的方法,其特征在于,以下式计算所述相似度矩阵S:S=SC/PM,并且其中,以如下方式确定所述PM:设=,其中是由s个数据库文档向量长度组成的向量,则所述PM是t行s列的矩阵。
7、,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量的长度与的乘积,并且以如下方式确定所述SC:权 利 要 求 书CN 104462088 A2/2页3其中,所述SC是t行s列的矩阵,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量与实矩阵M的s个文档向量的点乘结果值。9.根据权利要求8所述的用于海量文本匹配的方法,其特征在于,以如下迭代方法求解所述SC:(1)将SC初始化为t行s列的零矩阵;(2)遍历所述当前目标稀疏矩阵P的非零值向量,从而迭代更新所述SC,即设所述当前目标稀疏矩阵P在值v时对应的行号为i、列号为j,则以如下方式更新SC的第i行:将v乘以实矩阵M的第j列的值并加上S。
8、C的第i行的原值作为SC第i行的新值。10.根据权利要求9所述的用于海量文本匹配的方法,其特征在于,所述步骤(A4)进一步包括:收集所有工作站输出的相似度矩阵S,并对所收集的相似度矩阵S按行求最大值,以确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档。权 利 要 求 书CN 104462088 A1/4页4用于海量文本匹配的方法技术领域0001 本发明涉及文本匹配的方法,更具体地,涉及用于海量文本匹配的方法。背景技术0002 目前,随着信息数据处理需求的日益增长以及不同领域的业务种类的日益丰富,将外部文档与海量的数据库文档进行匹配变得越来越重要。0003 在现有的用于文档匹。
9、配的方法中,通常采用如下方式:建立外部文档和数据库文档的向量空间模型;逐个地计算每个外部文档对应的向量与数据库文档对应的向量的相似度;选取针对特定的一个外部文档具有最大相似度的数据库文档作为与该外部文档最佳匹配的数据库文档,以此循环直至得到与每个外部文档最佳匹配的数据库文档。0004 然而,现有的用于文档匹配的方法存在如下问题:(1)由于通常向量化后的外部文档是稀疏的,故采用向量的方式存储外部文档会占用较大的存储空间;(2)由于需要逐步地计算每两个向量之间的点积,故计算点积的次数非常多,从而导致计算过程所花费的时间消耗较大;(3)难以进行并行计算。0005 因此,存在如下需求:提供节省存储空间。
10、、时间消耗较小并且能够进行并行处理的用于海量文本匹配的方法。发明内容0006 为了解决上述现有技术方案中所存在的问题,本发明提出了节省存储空间、时间消耗较小并且能够进行并行处理的用于海量文本匹配的方法。0007 本发明的目的是通过以下技术方案实现的:0008 一种用于海量文本匹配的方法,所述用于海量文本匹配的方法包括下列步骤:0009 (A1)分别将数据库文档和外部文档分组,并确定数据库文档的分组数s;0010 (A2)分别计算数据库文档的总数目n和外部文档的总数目m,并用k个实矩阵M表示所述数据库文档的向量空间,以及用k2个稀疏矩阵P表示所述外部文档的向量空间;0011 (A3)判断是否存在。
11、未针对其进行相应的计算操作的稀疏矩阵P,并且如果不存在未针对其进行匹配操作的稀疏矩阵P,则终止匹配过程,而如果存在未针对其进行匹配操作的稀疏矩阵P,则进入步骤(A4);0012 (A4)取下一个未针对其进行匹配操作的稀疏矩阵P作为当前目标稀疏矩阵P,并针对所述当前目标稀疏矩阵P执行相应的计算操作以获得相似度矩阵S,以及随后基于所述相似度矩阵S确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档并返回步骤(A3)。0013 在上面所公开的方案中,优选地,所述外部文档的分组数t是所述数据库文档的分组数s的倍数。0014 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:通过。
12、分词和/或统计词频得到数据库文档的词包W及其词条个数w;用k个实矩阵M表示所述数据库文档的向说 明 书CN 104462088 A2/4页5量空间,其中k=n/s,并且每个实矩阵M由s个文档向量组成,其中,每个实矩阵M具有s行w列,并且每一行表示一个文档向量;将每个实矩阵M编号并存储。0015 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:对外部文档进行分词操作后剔除不在所述数据库文档的词包W之内的词条;将剔除不在所述数据库文档的词包W之内的词条后词条数为0的外部文档丢弃;用k2个稀疏矩阵P表示所述外部文档的向量空间,其中k2=m/t,并且每个稀疏矩阵P由t个文档向量组成;将每个稀。
13、疏矩阵P编号并存储。0016 在上面所公开的方案中,优选地,所述稀疏矩阵P包括下列项:行数、列数、行号向量、列号向量、非零值向量。0017 在上面所公开的方案中,优选地,所述步骤(A4)进一步包括:将所述当前目标稀疏矩阵P与k个实矩阵M的匹配任务分配到z个工作站中,其中z是k的整除数。0018 在上面所公开的方案中,优选地,所述步骤(A4)进一步包括:所述z个工作站中的每个计算所述当前目标稀疏矩阵P与所分配的实矩阵M之间的相似度以得到相应的相似度矩阵S,其中,所述相似度矩阵S具有t行s列,并且其第i行是所述当前目标稀疏矩阵P的第i个文档与实矩阵M的s个文档的相似度。0019 在上面所公开的方案。
14、中,优选地,以下式计算所述相似度矩阵S:S=SC/PM,并且其中,以如下方式确定所述PM:设=,其中是由s个数据库文档向量长度组成的向量,则所述PM是t行s列的矩阵,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量的长度与的乘积,并且以如下方式确定所述SC:0020 0021 其中,所述SC是t行s列的矩阵,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量与实矩阵M的s个文档向量的点乘结果值。0022 在上面所公开的方案中,优选地,以如下迭代方法求解所述SC:(1)将SC初始化为t行s列的零矩阵;(2)遍历所述当前目标稀疏矩阵P的非零值向量,从而迭代更新所述SC,即设所述当前目标稀。
15、疏矩阵P在值v时对应的行号为i、列号为j,则以如下方式更新SC的第i行:将v乘以实矩阵M的第j列的值并加上SC的第i行的原值作为SC第i行的新值。0023 在上面所公开的方案中,优选地,所述步骤(A4)进一步包括:收集所有工作站输出的相似度矩阵S,并对所收集的相似度矩阵S按行求最大值,以确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档。0024 本发明所公开的用于海量文本匹配的方法具有如下优点:(1)由于用稀疏矩阵P表示外部文档的向量空间,故显著地节省了存储空间;(2)由于在稀疏矩阵中同时存储了非零元素及其行号、列号,故在进行相似度计算时能够根据行号快速定位到SC矩阵的行以。
16、及根据列号快速定位到实矩阵M的列,由此显著地加快了相似度的计算过程;(3)由此采用了多个工作站分组并行、协同工作的方式,故极大地提高了针对海量文本的文档匹配操作的效率。附图说明说 明 书CN 104462088 A3/4页60025 结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:0026 图1是根据本发明的实施例的用于海量文本匹配的方法的流程图;0027 图2是根据本发明的实施例的计算SC矩阵的示意性实例。具体实施方式0028 图1是根据本发明的实施例的用于海量文本匹配的方法的流程图。如图1所示,本发明所公开的用于海量文本匹配的方法包括下列步骤:(A1)分别将数据库文。
17、档和外部文档分组,并确定数据库文档的分组数s(即数据库文档的分组的数量)和外部文档的分组数t(即外部文档的分组的数量);(A2)分别计算数据库文档的总数目n和外部文档的总数目m,并用k个实矩阵M表示所述数据库文档的向量空间,以及用k2个稀疏矩阵P表示所述外部文档的向量空间;(A3)判断是否存在未针对其进行相应的计算操作的稀疏矩阵P(即判断是否仍存在待匹配的外部文档),并且如果不存在未针对其进行相应的计算操作的稀疏矩阵P,则终止匹配过程,而如果存在未针对其进行相应的计算操作的稀疏矩阵P,则进入步骤(A4);(A4)取下一个未针对其进行相应的计算操作的稀疏矩阵P作为当前目标稀疏矩阵P,并针对所述当。
18、前目标稀疏矩阵P执行相应的计算操作以获得相似度矩阵S,以及随后基于所述相似度矩阵S确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档并返回步骤(A3)。0029 示例性地,在本发明所公开的用于海量文本匹配的方法中,所述外部文档的分组数t是所述数据库文档的分组数s的倍数。0030 优选地,在本发明所公开的用于海量文本匹配的方法中,所述步骤(A2)进一步包括:通过分词和/或统计词频得到数据库文档的词包W及其词条个数w;用k个实矩阵M表示所述数据库文档的向量空间,其中k=n/s,并且每个实矩阵M由s个文档向量组成,其中,每个实矩阵M具有s行w列,并且每一行表示一个文档向量;将每个实。
19、矩阵M编号并存储。0031 优选地,在本发明所公开的用于海量文本匹配的方法中,所述步骤(A2)进一步包括:对外部文档进行分词操作后剔除不在所述数据库文档的词包W之内的词条(即对相应的计算操作而言无用的词条);将剔除不在所述数据库文档的词包W之内的词条后词条数为0的外部文档丢弃;用k2个稀疏矩阵P表示所述外部文档的向量空间,其中k2=m/t,并且每个稀疏矩阵P由t个文档向量组成;将每个稀疏矩阵P编号并存储。0032 优选地,在本发明所公开的用于海量文本匹配的方法中,所述稀疏矩阵P包括下列项:行数(即文档数,为t)、列数(即词条个数,为w)、行号向量(其元素为文档编号)、列号向量(其元素为词条编号。
20、)、非零值向量(其元素为对应的文档和词条在向量空间中的值)。0033 优选地,在本发明所公开的用于海量文本匹配的方法中,所述步骤(A4)进一步包括:将所述当前目标稀疏矩阵P与k个实矩阵M的匹配任务分配到z个工作站中,其中z是k的整除数(示例性地,z=k)。0034 优选地,在本发明所公开的用于海量文本匹配的方法中,所述步骤(A4)进一步包括:所述z个工作站中的每个计算所述当前目标稀疏矩阵P与所分配的实矩阵M之间的相似度以得到相应的相似度矩阵S,其中,所述相似度矩阵S具有t行s列,并且其第i行是所述当前目标稀疏矩阵P的第i个文档与实矩阵M的s个文档的相似度。说 明 书CN 104462088 A。
21、4/4页70035 优选地,在本发明所公开的用于海量文本匹配的方法中,以下式计算所述相似度矩阵S:S=SC/PM(即S中的元素是由SC和PM中对应的元素相除而得,其中,S、SC和PM均是t行s列矩阵),并且其中,以如下方式确定所述PM:设=,其中是由s个数据库文档向量长度组成的向量,则所述PM是t行s列的矩阵,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量的长度与的乘积,并且以如下方式确定所述SC:0036 0037 其中,所述SC是t行s列的矩阵,其第i行的元素是所述当前目标稀疏矩阵P的第i个文档向量与实矩阵M的s个文档向量的点乘结果值。0038 优选地,在本发明所公开的用于海量文本。
22、匹配的方法中,以如下迭代方法求解所述SC:(1)将SC初始化为t行s列的零矩阵;(2)遍历所述当前目标稀疏矩阵P的非零值向量,从而迭代更新所述SC,即设所述当前目标稀疏矩阵P在值v时对应的行号为i、列号为j,则以如下方式更新SC的第i行:将v乘以实矩阵M的第j列的值并加上SC的第i行的原值作为SC第i行的新值(即0039 SCi,hSCi,h十v*Mh,j,h1.s0040 )。0041 图2是根据本发明的实施例的计算SC矩阵的示意性实例。如图2所示,其显示了在遍历所述当前目标稀疏矩阵P的第一个值时SC的第一行由0变成了新值。0042 优选地,在本发明所公开的用于海量文本匹配的方法中,所述步骤。
23、(A4)进一步包括:收集所有工作站输出的相似度矩阵S,并对所收集的相似度矩阵S按行求最大值,以确定与所述当前目标稀疏矩阵P所代表的各个外部文档最佳匹配的数据库文档(即,如果第r行的最大值对应列c,则指示第r个外部文档的最佳匹配文档是第c个数据库文档)。0043 由上可见,本发明所公开的用于海量文本匹配的方法具有下列优点:(1)由于用稀疏矩阵P表示外部文档的向量空间,故显著地节省了存储空间;(2)由于在稀疏矩阵中同时存储了非零元素及其行号、列号,故在进行相似度计算时能够根据行号快速定位到SC矩阵的行以及根据列号快速定位到实矩阵M的列,由此显著地加快了相似度的计算过程;(3)由此采用了多个工作站分组并行、协同工作的方式,故极大地提高了针对海量文本的文档匹配操作的效率。0044 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。说 明 书CN 104462088 A1/2页8图 1说 明 书 附 图CN 104462088 A2/2页9图 2说 明 书 附 图CN 104462088 A。