CN103678599A - 基于plsa算法判断文档相关性的方法及装置 - Google Patents

基于plsa算法判断文档相关性的方法及装置 Download PDF

Info

Publication number
CN103678599A
CN103678599A CN201310684227.8A CN201310684227A CN103678599A CN 103678599 A CN103678599 A CN 103678599A CN 201310684227 A CN201310684227 A CN 201310684227A CN 103678599 A CN103678599 A CN 103678599A
Authority
CN
China
Prior art keywords
document
classification
matrix
theme
algorithm
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
CN201310684227.8A
Other languages
English (en)
Other versions
CN103678599B (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310684227.8A priority Critical patent/CN103678599B/zh
Publication of CN103678599A publication Critical patent/CN103678599A/zh
Application granted granted Critical
Publication of CN103678599B publication Critical patent/CN103678599B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3331Query processing
    • G06F16/334Query execution
    • 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/35Clustering; Classification

Landscapes

  • Engineering & Computer 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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于PLSA算法判断文档相关性的方法及装置。该方法包括:根据文档信息确定待处理的元素以及元素对应的分类;将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。由此解决了现有技术中存在的计算耗时长的问题。

Description

基于PLSA算法判断文档相关性的方法及装置
技术领域
本发明涉及网络通信技术领域,具体涉及一种基于PLSA算法判断文档相关性的方法及装置。
背景技术
目前,在判断两个文档的相关性时所采用的传统方法是通过查看两个文档共同出现的词汇的多少进行判断,例如可以采用TF-IDF(termfrequency–inverse document frequency)等算法来判断。但是,这种方法只是采用简单的词汇匹配方式进行判断,并没有考虑到文字背后的语义关联,有时,可能在两个文档中共同出现的词汇很少甚至没有,但由于这两个文档的语义相关,导致这两个文档实质上是相似的。因此,为了提高判断结果的准确率,在判断文档相关性的时候还需要考虑词汇的语义关联问题。通常,采用主题模型来进行语义挖掘,进而判断语义是否相关。常用的主题模型算法为PLSA(Probabilistic Latent Semantic Analysis,概率潜在语义分析)算法。
PLSA算法属于模糊聚类算法,其目的在于从文本中发现隐含的主题,具有处理一词多义和一义多词的能力。通过PLSA算法进行计算时,需要用到两个初始矩阵,第一个初始矩阵表示文档与主题之间的对应关系,第二个初始矩阵表示词汇与主题之间的对应关系。具体地,先要对这两个初始矩阵进行初始化,然后,在后续的计算过程中,不断地根据输入数据,一轮一轮地进行迭代,从而对这两个初始矩阵进行修正,直到计算结果收敛(即符合输入数据的真实概率分布)为止。
目前,在对上述的两个初始矩阵进行初始化时,通常假设每篇文档都以相同的概率属于各个主题,即:如果指定了共有T个主题,则每篇文档在每个主题下的概率均为1/T,因此,第一个初始矩阵中各个矩阵数据的初始值均为1/T。同理,假设每个词都会出现在每个主题中,并且出现的概率相同,即:如果共有W个词,则每个主题下,每个词的出现概率均为1/W,因此,第二个初始矩阵中各个矩阵数据的初始值均为1/W。采用上述初始化方式时,由于每个初始矩阵的各个数据所表示的概率都是相同的,而这往往与实际情况相去甚远,所以,在后续的迭代过程中往往需要迭代计算较多的轮数(通常情况下超过200轮),才能使计算结果收敛。所以计算耗时非常长,数据量大的情况下往往需要一整天的时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于PLSA算法判断文档相关性的方法及装置。
依据本发明的一个方面,提供了一种基于PLSA算法判断文档相关性的方法,包括:根据文档信息确定待处理的元素以及元素对应的分类;将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
可选地,文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
可选地,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
可选地,硬聚类算法为MinHash算法或SimHash算法。
可选地,每个元素在各个分类下的隶属度取值为0或1,则根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化的步骤具体包括:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
依据本发明的另一方面,提供了一种基于PLSA算法判断文档相关性的装置,包括:确定单元,适于根据文档信息确定待处理的元素以及元素对应的分类,将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;聚类单元,适于通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;计算单元,适于根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
可选地,文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
可选地,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
可选地,硬聚类算法为MinHash算法或SimHash算法。
可选地,每个元素在各个分类下的隶属度取值为0或1,则计算单元具体适于:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
在本发明提供的基于PLSA算法判断文档相关性的方法及装置中,首先根据文档信息确定待处理的元素以及元素对应的分类,并通过计算矩阵的形式表示元素与分类之间的对应关系;然后,通过硬聚类算法对待处理的各个元素进行分类,并根据硬聚类的分类结果来确定计算矩阵的初始值。由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。由此解决了现有技术中存在的计算耗时长的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例提供的基于PLSA算法判断文档相关性的方法的流程图;
图2示出了根据本发明另一实施例提供的基于PLSA算法判断文档相关性的方法的流程图;
图3示出了根据本发明实施例提供的基于PLSA算法判断文档相关性的装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于PLSA算法判断文档相关性的方法及装置,用以解决现有技术中存在的计算耗时长的问题。
图1示出了本发明实施例提供的基于PLSA算法判断文档相关性的方法流程图,如图1所示,该方法起始于步骤S110,在步骤S110中,根据文档信息确定待处理的元素以及元素对应的分类。
在步骤S120中,将待处理的元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
在步骤S130中,通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法例如可以是MinHash算法或SimHash算法等。
在步骤S140中,根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
其中,在本实施例的一种情况中,文档信息包括:文档标号以及文档所属的主题,其中,文档标号用以唯一地标识一个文档,文档所属的主题反映了文档的中心内容。相应地,步骤S110中待处理的元素为文档标号,步骤S110中提到的分类为文档所属的主题,则步骤S120中提到的计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
在本实施例的另一种情况中,文档信息包括:文档所属的主题以及文档中的词汇。相应地,步骤S110中待处理的元素为文档中的词汇,步骤S110中提到的分类为文档所属的主题,则步骤S120中提到的计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
其中,通过硬聚类算法得到的每个元素在各个分类下的隶属度取值为0或1,相应地,在步骤S140中根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化的过程具体包括:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。
图2示出了本发明另一个具体实施例提供的基于PLSA算法判断文档相关性的方法流程图。图2所示的判断文档相关性的方法具体包括如下步骤:
步骤S210:根据文档信息确定待处理的元素以及元素对应的分类。
其中,待处理的元素以及元素对应的分类主要用于构造后续步骤中所需的计算矩阵。在本实施例中,要用到两个计算矩阵,一个是“文档-主题”计算矩阵,另一个是“词汇-主题”计算矩阵:对于“文档-主题”计算矩阵来说,步骤S210中待处理的元素为文档标号,步骤S210中提到的分类为文档所属的主题,则“文档-主题”计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系;对于“词汇-主题”计算矩阵来说,步骤S210中待处理的元素为文档中的词汇,步骤S210中提到的分类为文档所属的主题,则“词汇-主题”计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
步骤S220:将步骤S210中确定的元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
例如,以“文档-主题”计算矩阵为例来说,假设元素的个数(即文档的个数)为2,分类的个数(即主题的个数)为3,则该计算矩阵为一个两行三列的矩阵。同理,对于“词汇-主题”计算矩阵,也可以采用相同的方式确定该矩阵的行数和列数。
步骤S230:通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法例如可以是MinHash算法或SimHash算法等。
具体地,在通过硬聚类算法对元素进行分类的过程中,可通过多种方式进行,例如,对于上文提到的两行三列的“文档-主题”计算矩阵来说,需要通过硬聚类算法将两个文档汇聚为三类。其中,两个文档分别通过文档标号(文档一和文档二)来区分,三个主题例如可以是“科普”、“娱乐”和“新闻”这三个主题。通常情况下,每个文档必然属于三个主题中的某一主题,且每个文档仅属于一个主题,一般不会出现一个文档同时属于两个主题的情况。因此,通过MinHash算法或SimHash算法可以得出文档一属于“科普”主题,文档二属于“新闻”主题这一分类结果。其中,MinHash算法或SimHash算法的具体计算细节为本领域技术人员所熟知,因此,此处不再赘述。
介绍完将文档分为若干主题的分类方法之后,接下来,着重介绍一下将词汇分为若干主题的分类方法。在本实施例中提到的“词汇”,并不是一个单一的字词,而是一个包含上下文的词组。为了获取这些词组,需要将每篇文档中出现的字词以及与该字词相邻的字词(即上下文词)都记录下来。例如,对于“电影”这个字词,假设在一篇文档中出现了“近期好莱坞电影精品推荐”的内容,根据该处内容,可以知道“电影”的上下文词为“好莱坞”和“精品”;假设在该文档中还出现了“今年暑期电影观众热评”的内容,则根据该处内容,可以知道“电影”的上下文词还包括“暑期”和“观众”。假设在该文档中“电影”一词仅在上述两处内容中出现,则可以确定“电影”对应的上下文词组为“好莱坞精品暑期观众”。因此,通过由“电影”及其对应的上下文词组构成的集合{电影 好莱坞 精品 暑期 观众}就可以综合表示“电影”这一词汇。
为了便于计算,在本实施例中,需要将各个词汇对应的集合分别表示为数学向量的形式。下面以集合{电影好莱坞精品暑期观众}为例,介绍一下集合的向量化表示方法:首先,为文档中出现的所有字词赋予唯一的数字编号,例如,假设文档中出现了如下九个字词(实际情况中字词数一定大于九个,本实施例中为了便于描述假定文档中只有九个字词):近期好莱坞电影精品推荐今年暑期观众热评,为上述的每个字词依次赋予编号1至9,则各个字词及编号的对应关系如下:近期(1) 好莱坞(2) 电影(3) 精品(4) 推荐(5) 今年(6) 暑期(7) 观众(8) 热评(9)。然后,对于文档中的每个词汇对应的集合,都可以通过一个九维稀疏向量表示,例如,由于集合{电影好莱坞精品暑期观众}中的五个字词的编号依次为3、2、4、7、8,因此,该集合的向量化表示方式为{0,1,1,1,0,0,1,1,0}。由此可见,该向量中的每个分量依次表示文档中包含的各个字词,如果对应字词出现在了该集合里,则在向量化表示时将对应位置的元素赋值为1,如果对应字词未出现在该集合里,则在向量化表示时将对应位置的元素赋值为0。通过上面的方式,就可以将文档中的每个词汇对应的集合都通过向量进行表示。
接下来,通过硬聚类算法确定各个词汇对应的主题的过程,也就是将表示各个词汇的向量进行聚类的过程。所谓硬聚类,其实质上是一种相似度计算,即:将相似的向量聚在一起,由此将向量所代表的词汇聚在一起从而分成若干类。例如,以MinHash实现硬聚类的方式为例来说,可以在各个向量中,按照预设规则抽取若干个元素值,将这些抽取出来的元素值构造为一个短向量,如果两个或更多个向量的短向量相等,则这两个或更多个向量为一类。例如,以上述的向量{0,1,1,1,0,0,1,1,0}为例来说,假设抽取其中的第三个、第五个以及第七个元素的元素值构成短向量,则相应的短向量为{1,0,1},这时,假设还有一个词组对应的向量为{1,0,1,1,0,0,1,0,0},则其对应的短向量也为{1,0,1},因此,可以确定这两个向量属于同一个分类,即:这两个向量所表示的词汇属于同一个主题。通过上述方式,就可以将N个词汇聚为M个主题。通常情况下,每个词汇属于且仅属于一个主题。当一个词汇属于一个主题时,则该词汇在该主题下的隶属度取值为1;当一个词汇不属于一个主题时,则该词汇在该主题下的隶属度取值为0。
除了上面介绍的聚类方式之外,本领域技术人员还可以灵活采用其它的硬聚类方式对各个元素进行聚类,经过聚类之后,通常情况下,对于任一元素来说,其在某一分类下的隶属度取值为1,在其他分类下的隶属度取值为0。
步骤S240:根据步骤S230中得到的每个元素在各个分类下的隶属度取值,对步骤S220中提到的计算矩阵中的矩阵数据进行初始化。
例如,以上文提到的两行三列的“文档-主题”计算矩阵来说,该计算矩阵中包含六个矩阵数据,每个矩阵数据用于表示相应的文档与主题之间的对应关系。假设该计算矩阵中的六个矩阵数据按照如下方式排布:
A11 A12 A13
A21 A22 A23
其中,每个矩阵数据的行下标用于表示该矩阵数据所对应的文档标号,例如,行下标为1的矩阵数据对应于文档一,行下标为2的矩阵数据对应于文档二;每个矩阵数据的列下标用于表示该矩阵数据所对应的分类,即主题,例如,行下标为1的矩阵数据对应于“科普”这一主题,行下标为2的矩阵数据对应于“娱乐”这一主题,行下标为3的矩阵数据对应于“新闻”这一主题。假设文档一属于“科普”主题,则表示文档一在“科普”主题对应的分类下的隶属度取值为1,在其他两个主题对应的分类下的隶属度取值均为0;假设文档二属于“新闻”主题,则表示文档二在“新闻”主题对应的分类下的隶属度取值为1,在其他两个主题对应的分类下的隶属度取值均为0。相应地,在对该计算矩阵中的六个矩阵数据进行初始化时,直接将各个矩阵数据所对应的文档在相应主题下的隶属度取值赋值给各个矩阵数据即可,因此,该矩阵中的六个矩阵数据的初始化结果如下:
1 0 0
0 0 1
通常情况下,在对矩阵数据进行初始化之后,每一行的矩阵数据之和等于一,但是,在某些特殊情况下(例如,某一元素同时属于两个分类的特殊情况)可能会出现某一行的矩阵数据之和大于一的情况,在这种情况下,为了方便后续的计算过程,可以先对数据之和大于1的行数据进行归一化,使该行数据之和等于1。
上面是以“文档-主题”计算矩阵为例进行介绍的,对于“词汇-主题”计算矩阵来说,也可以根据词汇与主题的对应关系进行初始化,其具体过程与“文档-主题”计算矩阵的初始化过程相同,此处不再赘述。
步骤S250:根据PLSA算法对初始化之后的矩阵数据进行迭代运算。
在本实施例中,由于涉及到两个计算矩阵,因此,需要分别对每个计算矩阵进行迭代运算:首先,分别输入初始化的“文档-主题”计算矩阵、“词汇-主题”计算矩阵。然后,根据一篇篇文档以及每篇文档中包含的各个词汇与主题之间的对应关系,对初始化的“文档-主题”计算矩阵、“词汇-主题”计算矩阵进行PLSA运算,该运算过程是一个迭代过程,在迭代过程中不断地修正这两个计算矩阵中的矩阵数据值,使其与真实情况相符合。通俗地说,在同一篇文档中出现的词,它们之间属于同一个主题的概率更大;或者更广泛地说,由于一篇文档只会涉及有限的主题,那么这篇文档中的所有词,也只会属于这几个有限的主题,迭代过程就是基于这样的推论来运算的。具体地,在数学实现上,可以通过求解概率分布的最大似然值的迭代计算过程,即可在每一轮迭代中使上述两个矩阵的概率分布值更加符合输入的一篇篇文档中真实的情况。当迭代过程收敛时,所得到的两个计算矩阵中的矩阵数据能够反映最佳的概率分布情况。
步骤S260:根据运算结果判断文档是否相关。
具体地,通过步骤S250中得到的矩阵数据的最终结果来计算两篇文档之间的相似度时,可以先根据矩阵数据的最终结果确定出这两篇文档的主题分布情况(可通过向量形式来表示),然后,通过一些常用于计算两个向量相似度的方法(例如余弦距离)进行计算,由此反映出这两篇文档的相似度。
例如,对于上文的步骤S240中提到的文档一和文档二对应的“文档-主题”计算矩阵来说,假设该矩阵的最终计算结果如下:
0.6 0.1 0.3
0.4 0.2 0.4
由此可见,文档一的主题分布情况为:文档一属于第一个主题的概率为0.6,属于第二个主题的概率为0.1,属于第三个主题的概率为0.3,因此,可以通过向量(0.6 0.1 0.3)来表示文档一的主题分布情况。同理,可以通过向量(0.4 0.2 0.4)来表示文档二的主题分布情况。通过余弦距离进行相似度计算,得到文档一和文档二之间的相似度为0.6*0.4+0.1*0.2+0.3*0.4=0.38,将0.38与预设的相似度阈值进行比较,即可确定出两篇文档是否相似。
上面介绍了通过“文档-主题”计算矩阵判断两篇文档是否相关的方法,对于“词汇-主题”计算矩阵来说,也可以通过上面的方式判断两篇文档是否相关。通过“文档-主题”以及“词汇-主题”这两个计算矩阵来判断文档是否相关,可以提高判断的准确性。
另外,在本实施例中,是以计算矩阵为两个,然后,分别通过硬聚类算法对这两个计算矩阵进行初始化为例进行介绍的,实际上,在本发明其他的实施例中,也可以仅通过硬聚类算法对其中的一个计算矩阵进行初始化,而对于另一个计算矩阵则直接采用现有技术中的方式进行初始化。或者,在本发明其他的实施例中,也可以仅采用其中的任意一个计算矩阵来判断文档是否相关。而且,上述的两个计算矩阵中的元素及其分类并不限于上面介绍的“文档-主题”以及“词汇-主题”的对应方式,也可以灵活采用“主题-词汇”或“主题-文档”等各种形式实现,本发明对此不作限定。
在本实施例介绍的上述方式中,先通过硬聚类算法确定了各个元素的分类结果,由于该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。例如,如果采用现有技术中的初始化方式,则后续往往需要200轮的迭代运算才能使计算结果收敛,而采用本发明的方法之后,一般只需要30轮的迭代运算就可以使计算结果收敛,由此可见,硬聚类的耗时时间加上30轮的迭代运算的耗时时间远远小于200轮的迭代运算的耗时时间。
另外,由于PLSA算法本身是一种模糊聚类算法,因此,在本发明实施例中,还实现了硬聚类算法和模糊聚类算法的有效结合。下面简单介绍一下硬聚类算法和模糊聚类算法的区别:聚类分析如果按照隶属度的取值范围可以分为两类,一类叫硬聚类算法,另一类就是模糊聚类算法。其中,隶属度的概念是从模糊集理论里引申出来的。传统硬聚类算法的隶属度只有0和1这两个值,也就是说一个样本只能完全属于某一个类或者完全不属于某一个类。举个例子,把温度分为两类,大于10度为热,小于或者等于10度为冷,这就是典型的“硬隶属度”概念,这样,不论是5度还是负100度都属于冷这个类,而不属于热这个类的。硬聚类算法能够清晰地反映出样本的最优分类情况,但是这种非此即彼的分类方式不能有效反映出某一样本属于一个分类的概率大小。而模糊聚类算法的隶属度则是一个取值在[0,1]区间内的数,也就是说一个样本同时属于所有的类,但是通过隶属度的大小来区分其差异,因此,对于温度来说,5度可能属于冷这个类的隶属度值为0.7,而属于热这个类的隶属度值为0.3。模糊聚类算法能够有效反映出某一样本属于一个分类的概率大小,但是却无法清晰地给出样本的最优分类情况。因此,在本实施例中,将硬聚类算法应用于模糊聚类PLSA算法的初始化过程中,能够充分发挥两种算法的优势,以使计算性能达到最优。
图3示出了本发明实施例提供的基于PLSA算法判断文档相关性的装置的结构图。如图3所示,该装置300包括:确定单元31、聚类单元32以及计算单元33。
确定单元31根据文档信息确定待处理的元素以及元素对应的分类,将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
聚类单元32通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法为MinHash算法或SimHash算法。
计算单元33根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
其中,所述文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。或者,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
其中,每个元素在各个分类下的隶属度取值为0或1,则计算单元33具体用于:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
在本发明提供的基于PLSA算法判断文档相关性的方法及装置中,首先根据文档信息确定待处理的元素以及元素对应的分类,并通过计算矩阵的形式表示元素与分类之间的对应关系;然后,通过硬聚类算法对待处理的各个元素进行分类,并根据硬聚类的分类结果来确定计算矩阵的初始值。由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。由此解决了现有技术中存在的计算耗时长的问题。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种基于PLSA算法判断文档相关性的方法,包括:
根据文档信息确定待处理的元素以及所述元素对应的分类;
将所述元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将所述分类的个数M确定为所述计算矩阵的行数,其中,所述计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;
通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;
根据所述每个元素在各个分类下的隶属度取值,对所述计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
2.如权利要求1所述的方法,其中,所述文档信息包括:文档标号以及文档所属的主题,则所述待处理的元素为所述文档标号,所述分类为所述文档所属的主题,则所述计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
3.如权利要求1所述的方法,其中,所述文档信息包括:文档所属的主题以及文档中的词汇,则所述待处理的元素为所述文档中的词汇,所述分类为所述文档所属的主题,所述计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
4.如权利要求1-3中任一所述的方法,其中,所述硬聚类算法为MinHash算法或SimHash算法。
5.如权利要求1-4中任一所述的方法,其中,每个元素在各个分类下的隶属度取值为0或1,则所述根据每个元素在各个分类下的隶属度取值,对所述计算矩阵中的矩阵数据进行初始化的步骤具体包括:
当一个元素在指定分类下的隶属度取值为0时,将所述计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将所述计算矩阵中相应的矩阵数据初始化为1;
进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
6.一种基于PLSA算法判断文档相关性的装置,包括:
确定单元,适于根据文档信息确定待处理的元素以及所述元素对应的分类,将所述元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将所述分类的个数M确定为所述计算矩阵的行数,其中,所述计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;
聚类单元,适于通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;
计算单元,适于根据所述每个元素在各个分类下的隶属度取值,对所述计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
7.如权利要求6所述的装置,其中,所述文档信息包括:文档标号以及文档所属的主题,则所述待处理的元素为所述文档标号,所述分类为所述文档所属的主题,则所述计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
8.如权利要求6所述的装置,其中,所述文档信息包括:文档所属的主题以及文档中的词汇,则所述待处理的元素为所述文档中的词汇,所述分类为所述文档所属的主题,所述计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
9.如权利要求6-8中任一所述的装置,其中,所述硬聚类算法为MinHash算法或SimHash算法。
10.如权利要求6-9中任一所述的装置,其中,每个元素在各个分类下的隶属度取值为0或1,则所述计算单元具体适于:
当一个元素在指定分类下的隶属度取值为0时,将所述计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将所述计算矩阵中相应的矩阵数据初始化为1;
进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
CN201310684227.8A 2013-12-13 2013-12-13 基于plsa算法判断文档相关性的方法及装置 Expired - Fee Related CN103678599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310684227.8A CN103678599B (zh) 2013-12-13 2013-12-13 基于plsa算法判断文档相关性的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310684227.8A CN103678599B (zh) 2013-12-13 2013-12-13 基于plsa算法判断文档相关性的方法及装置

Publications (2)

Publication Number Publication Date
CN103678599A true CN103678599A (zh) 2014-03-26
CN103678599B CN103678599B (zh) 2016-10-26

Family

ID=50316144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310684227.8A Expired - Fee Related CN103678599B (zh) 2013-12-13 2013-12-13 基于plsa算法判断文档相关性的方法及装置

Country Status (1)

Country Link
CN (1) CN103678599B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615767A (zh) * 2015-02-15 2015-05-13 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
CN111512304A (zh) * 2017-12-18 2020-08-07 国际商业机器公司 在二维方面立方体上对文本挖掘进行方面聚类
CN111723206A (zh) * 2020-06-19 2020-09-29 北京明略软件系统有限公司 文本分类方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112128A1 (en) * 2004-11-23 2006-05-25 Palo Alto Research Center Incorporated Methods, apparatus, and program products for performing incremental probabilitstic latent semantic analysis
CN102314610A (zh) * 2010-07-07 2012-01-11 北京师范大学 一种基于概率潜语义分析模型的面向对象影像聚类方法
CN103365978A (zh) * 2013-07-01 2013-10-23 浙江大学 基于lda主题模型的中医药数据挖掘方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112128A1 (en) * 2004-11-23 2006-05-25 Palo Alto Research Center Incorporated Methods, apparatus, and program products for performing incremental probabilitstic latent semantic analysis
CN102314610A (zh) * 2010-07-07 2012-01-11 北京师范大学 一种基于概率潜语义分析模型的面向对象影像聚类方法
CN103365978A (zh) * 2013-07-01 2013-10-23 浙江大学 基于lda主题模型的中医药数据挖掘方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YOUNG-MIN KIM ET AL.: "An extension of PLSA for document clustering", 《CIKM ‘08 PROCEEDINGS OF THE 17TH ACM CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT》, 31 October 2008 (2008-10-31), pages 1345 - 1346 *
张玉芳等: "改进的概率潜在语义分析下的文本聚类算法", 《计算机应用》, vol. 31, no. 3, 31 March 2011 (2011-03-31) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615767A (zh) * 2015-02-15 2015-05-13 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
CN104615767B (zh) * 2015-02-15 2017-12-29 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
CN111512304A (zh) * 2017-12-18 2020-08-07 国际商业机器公司 在二维方面立方体上对文本挖掘进行方面聚类
CN111512304B (zh) * 2017-12-18 2023-09-19 国际商业机器公司 在二维方面立方体上进行方面聚类的方法和系统
CN111723206A (zh) * 2020-06-19 2020-09-29 北京明略软件系统有限公司 文本分类方法、装置、计算机设备和存储介质
CN111723206B (zh) * 2020-06-19 2024-01-19 北京明略软件系统有限公司 文本分类方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103678599B (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
US11227118B2 (en) Methods, devices, and systems for constructing intelligent knowledge base
WO2020192401A1 (en) System and method for generating answer based on clustering and sentence similarity
CN106844341B (zh) 基于人工智能的新闻摘要提取方法及装置
AU2014315619B2 (en) Methods and systems of four-valued simulation
US9734238B2 (en) Context based passage retreival and scoring in a question answering system
CN112256822A (zh) 文本搜索方法、装置、计算机设备和存储介质
CN110276009B (zh) 一种联想词的推荐方法、装置、电子设备及存储介质
Hossny et al. Feature selection methods for event detection in Twitter: a text mining approach
CN109657116A (zh) 一种舆情搜索方法、搜索装置、存储介质和终端设备
CN103886092A (zh) 一种提供终端故障问题解决方案的方法及装置
CN113204953A (zh) 基于语义识别的文本匹配方法、设备及设备可读存储介质
CN103678599A (zh) 基于plsa算法判断文档相关性的方法及装置
CN104778159A (zh) 一种基于词权重进行分词的方法和装置
Tovar et al. Identification of Ontological Relations in Domain Corpus Using Formal Concept Analysis.
Zhang et al. SemRe-Rank: Incorporating semantic relatedness to improve automatic term extraction using personalized pagerank
CN113792131B (zh) 一种关键词的提取方法、装置、电子设备及存储介质
CN114722400A (zh) 一种侧信道漏洞检测的方法、系统、介质、设备及终端
CN111625579B (zh) 一种信息处理方法、装置及系统
CN113297854A (zh) 文本到知识图谱实体的映射方法、装置、设备及存储介质
CN110175331B (zh) 专业术语的识别方法、装置、电子设备及可读存储介质
CN111476037B (zh) 文本处理方法、装置、计算机设备和存储介质
CN111448561B (zh) 用于基于聚类和句子相似度来生成答案的系统和方法
CN114386384B (zh) 一种大规模长文本数据的近似重复检测方法、系统及终端
He et al. Improved conditional random fields model with multi-trigger embedding for Chinese event extraction
Kieu-Do-Nguyen et al. High-speed FPGA-based Design and Implementation of Text Search Processor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220801

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161026

CF01 Termination of patent right due to non-payment of annual fee