基于plsa算法判斷文檔相關(guān)性的方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種基于PLSA算法判斷文檔相關(guān)性的方法及裝置。該方法包括:根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類;將元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù);通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值;根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。由此解決了現(xiàn)有技術(shù)中存在的計(jì)算耗時(shí)長(zhǎng)的問題。
【專利說明】基于PLSA算法判斷文檔相關(guān)性的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,具體涉及一種基于PLSA算法判斷文檔相關(guān)性的方法及裝置。
【背景技術(shù)】
[0002]目前,在判斷兩個(gè)文檔的相關(guān)性時(shí)所采用的傳統(tǒng)方法是通過查看兩個(gè)文檔共同出現(xiàn)的詞匯的多少進(jìn)行判斷,例如可以米用TF-1DF (term frequency -1nverse documentfrequency)等算法來判斷。但是,這種方法只是采用簡(jiǎn)單的詞匯匹配方式進(jìn)行判斷,并沒有考慮到文字背后的語義關(guān)聯(lián),有時(shí),可能在兩個(gè)文檔中共同出現(xiàn)的詞匯很少甚至沒有,但由于這兩個(gè)文檔的語義相關(guān),導(dǎo)致這兩個(gè)文檔實(shí)質(zhì)上是相似的。因此,為了提高判斷結(jié)果的準(zhǔn)確率,在判斷文檔相關(guān)性的時(shí)候還需要考慮詞匯的語義關(guān)聯(lián)問題。通常,采用主題模型來進(jìn)行語義挖掘,進(jìn)而判斷語義是否相關(guān)。常用的主題模型算法為PLSA(PiObabilistiC LatentSemantic Analysis,概率潛在語義分析)算法。
[0003]PLSA算法屬于模糊聚類算法,其目的在于從文本中發(fā)現(xiàn)隱含的主題,具有處理一詞多義和一義多詞的能力。通過PLSA算法進(jìn)行計(jì)算時(shí),需要用到兩個(gè)初始矩陣,第一個(gè)初始矩陣表示文檔與主題之間的對(duì)應(yīng)關(guān)系,第二個(gè)初始矩陣表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。具體地,先要對(duì)這兩個(gè)初始矩陣進(jìn)行初始化,然后,在后續(xù)的計(jì)算過程中,不斷地根據(jù)輸入數(shù)據(jù),一輪一輪地進(jìn)行迭代,從而對(duì)這兩個(gè)初始矩陣進(jìn)行修正,直到計(jì)算結(jié)果收斂(即符合輸入數(shù)據(jù)的真實(shí)概率分布)為止。
[0004]目前,在對(duì)上述的兩個(gè)初始矩陣進(jìn)行初始化時(shí),通常假設(shè)每篇文檔都以相同的概率屬于各個(gè)主題,即:如果指定了共有T個(gè)主題,則每篇文檔在每個(gè)主題下的概率均為1/T,因此,第一個(gè)初始矩陣中各個(gè)矩陣數(shù)據(jù)的初始值均為1/T。同理,假設(shè)每個(gè)詞都會(huì)出現(xiàn)在每個(gè)主題中,并且出現(xiàn)的概率相同,即:如果共有W個(gè)詞,則每個(gè)主題下,每個(gè)詞的出現(xiàn)概率均為1/W,因此,第二個(gè)初始矩陣中各個(gè)矩陣數(shù)據(jù)的初始值均為1/W。采用上述初始化方式時(shí),由于每個(gè)初始矩陣的各個(gè)數(shù)據(jù)所表示的概率都是相同的,而這往往與實(shí)際情況相去甚遠(yuǎn),所以,在后續(xù)的迭代過程中往往需要迭代計(jì)算較多的輪數(shù)(通常情況下超過200輪),才能使計(jì)算結(jié)果收斂。所以計(jì)算耗時(shí)非常長(zhǎng),數(shù)據(jù)量大的情況下往往需要一整天的時(shí)間。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于PLSA算法判斷文檔相關(guān)性的方法及裝置。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種基于PLSA算法判斷文檔相關(guān)性的方法,包括:根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類;將元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù);通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值;根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
[0007]可選地,文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,則待處理的元素為文檔標(biāo)號(hào),分類為文檔所屬的主題,則計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系O
[0008]可選地,文檔信息包括:文檔所屬的主題以及文檔中的詞匯,則待處理的元素為文檔中的詞匯,分類為文檔所屬的主題,計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
[0009]可選地,硬聚類算法為MinHash算法或SimHash算法。
[0010]可選地,每個(gè)元素在各個(gè)分類下的隸屬度取值為O或1,則根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化的步驟具體包括:當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I;進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
[0011]依據(jù)本發(fā)明的另一方面,提供了一種基于PLSA算法判斷文檔相關(guān)性的裝置,包括:確定單元,適于根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類,將元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù);聚類單元,適于通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值;計(jì)算單元,適于根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
[0012]可選地,文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,則待處理的元素為文檔標(biāo)號(hào),分類為文檔所屬的主題,則計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系O
[0013]可選地,文檔信息包括:文檔所屬的主題以及文檔中的詞匯,則待處理的元素為文檔中的詞匯,分類為文檔所屬的主題,計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
[0014]可選地,硬聚類算法為MinHash算法或SimHash算法。
[0015]可選地,每個(gè)元素在各個(gè)分類下的隸屬度取值為O或1,則計(jì)算單元具體適于:當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I ;進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
[0016]在本發(fā)明提供的基于PLSA算法判斷文檔相關(guān)性的方法及裝置中,首先根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類,并通過計(jì)算矩陣的形式表示元素與分類之間的對(duì)應(yīng)關(guān)系;然后,通過硬聚類算法對(duì)待處理的各個(gè)元素進(jìn)行分類,并根據(jù)硬聚類的分類結(jié)果來確定計(jì)算矩陣的初始值。由于在上述方式中,先通過硬聚類算法確定了各個(gè)元素的分類結(jié)果,該結(jié)果是接近于真實(shí)情況的分類結(jié)果,因而,計(jì)算矩陣的初始值能夠大致反映各個(gè)元素的真實(shí)分類情況,所以,在后續(xù)通過迭代運(yùn)算判斷文檔是否相關(guān)的過程中,能夠顯著降低迭代運(yùn)算的計(jì)算量,提高運(yùn)算效率。由此解決了現(xiàn)有技術(shù)中存在的計(jì)算耗時(shí)長(zhǎng)的問題。
[0017]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說明】
[0018]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0019]圖1示出了根據(jù)本發(fā)明實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的方法的流程圖;
[0020]圖2示出了根據(jù)本發(fā)明另一實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的方法的流程圖;
[0021]圖3示出了根據(jù)本發(fā)明實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0023]本發(fā)明實(shí)施例提供了一種基于PLSA算法判斷文檔相關(guān)性的方法及裝置,用以解決現(xiàn)有技術(shù)中存在的計(jì)算耗時(shí)長(zhǎng)的問題。
[0024]圖1示出了本發(fā)明實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的方法流程圖,如圖1所示,該方法起始于步驟S110,在步驟SllO中,根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類。
[0025]在步驟S120中,將待處理的元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù)。
[0026]在步驟S130中,通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值。其中,硬聚類算法例如可以是MinHash算法或SimHash
算法等。
[0027]在步驟S140中,根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
[0028]其中,在本實(shí)施例的一種情況中,文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,其中,文檔標(biāo)號(hào)用以唯一地標(biāo)識(shí)一個(gè)文檔,文檔所屬的主題反映了文檔的中心內(nèi)容。相應(yīng)地,步驟SllO中待處理的元素為文檔標(biāo)號(hào),步驟SllO中提到的分類為文檔所屬的主題,則步驟S120中提到的計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系。
[0029]在本實(shí)施例的另一種情況中,文檔信息包括:文檔所屬的主題以及文檔中的詞匯。相應(yīng)地,步驟SllO中待處理的元素為文檔中的詞匯,步驟SllO中提到的分類為文檔所屬的主題,則步驟S120中提到的計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
[0030]其中,通過硬聚類算法得到的每個(gè)元素在各個(gè)分類下的隸屬度取值為O或1,相應(yīng)地,在步驟S140中根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化的過程具體包括:當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I ;進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
[0031]由于在上述方式中,先通過硬聚類算法確定了各個(gè)元素的分類結(jié)果,該結(jié)果是接近于真實(shí)情況的分類結(jié)果,因而,計(jì)算矩陣的初始值能夠大致反映各個(gè)元素的真實(shí)分類情況,所以,在后續(xù)通過迭代運(yùn)算判斷文檔是否相關(guān)的過程中,能夠顯著降低迭代運(yùn)算的計(jì)算量,提聞運(yùn)算效率。
[0032]圖2示出了本發(fā)明另一個(gè)具體實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的方法流程圖。圖2所示的判斷文檔相關(guān)性的方法具體包括如下步驟:
[0033]步驟S210:根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類。
[0034]其中,待處理的元素以及元素對(duì)應(yīng)的分類主要用于構(gòu)造后續(xù)步驟中所需的計(jì)算矩陣。在本實(shí)施例中,要用到兩個(gè)計(jì)算矩陣,一個(gè)是“文檔-主題”計(jì)算矩陣,另一個(gè)是“詞匯-主題”計(jì)算矩陣:對(duì)于“文檔-主題”計(jì)算矩陣來說,步驟S210中待處理的元素為文檔標(biāo)號(hào),步驟S210中提到的分類為文檔所屬的主題,則“文檔-主題”計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系;對(duì)于“詞匯-主題”計(jì)算矩陣來說,步驟S210中待處理的元素為文檔中的詞匯,步驟S210中提到的分類為文檔所屬的主題,則“詞匯-主題”計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
[0035]步驟S220:將步驟S210中確定的元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù)。
[0036]例如,以“文檔-主題”計(jì)算矩陣為例來說,假設(shè)元素的個(gè)數(shù)(即文檔的個(gè)數(shù))為2,分類的個(gè)數(shù)(即主題的個(gè)數(shù))為3,則該計(jì)算矩陣為一個(gè)兩行三列的矩陣。同理,對(duì)于“詞匯-主題”計(jì)算矩陣,也可以采用相同的方式確定該矩陣的行數(shù)和列數(shù)。
[0037]步驟S230:通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值。其中,硬聚類算法例如可以是MinHash算法或SimHash算法
坐寸ο
[0038]具體地,在通過硬聚類算法對(duì)元素進(jìn)行分類的過程中,可通過多種方式進(jìn)行,例如,對(duì)于上文提到的兩行三列的“文檔-主題”計(jì)算矩陣來說,需要通過硬聚類算法將兩個(gè)文檔匯聚為三類。其中,兩個(gè)文檔分別通過文檔標(biāo)號(hào)(文檔一和文檔二)來區(qū)分,三個(gè)主題例如可以是“科普”、“娛樂”和“新聞”這三個(gè)主題。通常情況下,每個(gè)文檔必然屬于三個(gè)主題中的某一主題,且每個(gè)文檔僅屬于一個(gè)主題,一般不會(huì)出現(xiàn)一個(gè)文檔同時(shí)屬于兩個(gè)主題的情況。因此,通過MinHash算法或SimHash算法可以得出文檔一屬于“科普”主題,文檔二屬于“新聞”主題這一分類結(jié)果。其中,MinHash算法或SimHash算法的具體計(jì)算細(xì)節(jié)為本領(lǐng)域技術(shù)人員所熟知,因此,此處不再贅述。
[0039]介紹完將文檔分為若干主題的分類方法之后,接下來,著重介紹一下將詞匯分為若干主題的分類方法。在本實(shí)施例中提到的“詞匯”,并不是一個(gè)單一的字詞,而是一個(gè)包含上下文的詞組。為了獲取這些詞組,需要將每篇文檔中出現(xiàn)的字詞以及與該字詞相鄰的字詞(即上下文詞)都記錄下來。例如,對(duì)于“電影”這個(gè)字詞,假設(shè)在一篇文檔中出現(xiàn)了“近期好萊塢電影精品推薦”的內(nèi)容,根據(jù)該處內(nèi)容,可以知道“電影”的上下文詞為“好萊塢”和“精品”;假設(shè)在該文檔中還出現(xiàn)了 “今年暑期電影觀眾熱評(píng)”的內(nèi)容,則根據(jù)該處內(nèi)容,可以知道“電影”的上下文詞還包括“暑期”和“觀眾”。假設(shè)在該文檔中“電影” 一詞僅在上述兩處內(nèi)容中出現(xiàn),則可以確定“電影”對(duì)應(yīng)的上下文詞組為“好萊塢精品暑期觀眾”。因此,通過由“電影”及其對(duì)應(yīng)的上下文詞組構(gòu)成的集合{電影好萊塢精品暑期觀眾}就可以綜合表示“電影”這一詞匯。
[0040]為了便于計(jì)算,在本實(shí)施例中,需要將各個(gè)詞匯對(duì)應(yīng)的集合分別表示為數(shù)學(xué)向量的形式。下面以集合{電影好萊塢精品暑期觀眾}為例,介紹一下集合的向量化表示方法:首先,為文檔中出現(xiàn)的所有字詞賦予唯一的數(shù)字編號(hào),例如,假設(shè)文檔中出現(xiàn)了如下九個(gè)字詞(實(shí)際情況中字詞數(shù)一定大于九個(gè),本實(shí)施例中為了便于描述假定文檔中只有九個(gè)字詞):近期好萊塢電影精品推薦今年暑期觀眾熱評(píng),為上述的每個(gè)字詞依次賦予編號(hào)I至9,則各個(gè)字詞及編號(hào)的對(duì)應(yīng)關(guān)系如下:近期(I)好萊塢(2)電影(3)精品(4)推薦(5)今年
(6)暑期(7)觀眾(8)熱評(píng)(9)。然后,對(duì)于文檔中的每個(gè)詞匯對(duì)應(yīng)的集合,都可以通過一個(gè)九維稀疏向量表示,例如,由于集合{電影好萊塢精品暑期觀眾}中的五個(gè)字詞的編號(hào)依次為3、2、4、7、8,因此,該集合的向量化表示方式為{0,1,1,1,0,0,1,1,0}。由此可見,該向量中的每個(gè)分量依次表示文檔中包含的各個(gè)字詞,如果對(duì)應(yīng)字詞出現(xiàn)在了該集合里,則在向量化表示時(shí)將對(duì)應(yīng)位置的元素賦值為1,如果對(duì)應(yīng)字詞未出現(xiàn)在該集合里,則在向量化表示時(shí)將對(duì)應(yīng)位置的元素賦值為O。通過上面的方式,就可以將文檔中的每個(gè)詞匯對(duì)應(yīng)的集合都通過向量進(jìn)行表示。
[0041]接下來,通過硬聚類算法確定各個(gè)詞匯對(duì)應(yīng)的主題的過程,也就是將表示各個(gè)詞匯的向量進(jìn)行聚類的過程。所謂硬聚類,其實(shí)質(zhì)上是一種相似度計(jì)算,即:將相似的向量聚在一起,由此將向量所代表的詞匯聚在一起從而分成若干類。例如,以MinHash實(shí)現(xiàn)硬聚類的方式為例來說,可以在各個(gè)向量中,按照預(yù)設(shè)規(guī)則抽取若干個(gè)元素值,將這些抽取出來的元素值構(gòu)造為一個(gè)短向量,如果兩個(gè)或更多個(gè)向量的短向量相等,則這兩個(gè)或更多個(gè)向量為一類。例如,以上述的向量{0,1,1,1,0,0,1,1,0}為例來說,假設(shè)抽取其中的第三個(gè)、第五個(gè)以及第七個(gè)元素的元素值構(gòu)成短向量,則相應(yīng)的短向量為{1,0,1},這時(shí),假設(shè)還有一個(gè)詞組對(duì)應(yīng)的向量為{1,0,1,1,0,0,1,0,0},則其對(duì)應(yīng)的短向量也為{1,0,1},因此,可以確定這兩個(gè)向量屬于同一個(gè)分類,即:這兩個(gè)向量所表示的詞匯屬于同一個(gè)主題。通過上述方式,就可以將N個(gè)詞匯聚為M個(gè)主題。通常情況下,每個(gè)詞匯屬于且僅屬于一個(gè)主題。當(dāng)一個(gè)詞匯屬于一個(gè)主題時(shí),則該詞匯在該主題下的隸屬度取值為I ;當(dāng)一個(gè)詞匯不屬于一個(gè)主題時(shí),則該詞匯在該主題下的隸屬度取值為O。
[0042]除了上面介紹的聚類方式之外,本領(lǐng)域技術(shù)人員還可以靈活采用其它的硬聚類方式對(duì)各個(gè)元素進(jìn)行聚類,經(jīng)過聚類之后,通常情況下,對(duì)于任一元素來說,其在某一分類下的隸屬度取值為1,在其他分類下的隸屬度取值為O。
[0043]步驟S240:根據(jù)步驟S230中得到的每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)步驟S220中提到的計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化。
[0044]例如,以上文提到的兩行三列的“文檔-主題”計(jì)算矩陣來說,該計(jì)算矩陣中包含六個(gè)矩陣數(shù)據(jù),每個(gè)矩陣數(shù)據(jù)用于表示相應(yīng)的文檔與主題之間的對(duì)應(yīng)關(guān)系。假設(shè)該計(jì)算矩陣中的六個(gè)矩陣數(shù)據(jù)按照如下方式排布:
[0045]All A12 A13
[0046]A21 A22 A23
[0047]其中,每個(gè)矩陣數(shù)據(jù)的行下標(biāo)用于表示該矩陣數(shù)據(jù)所對(duì)應(yīng)的文檔標(biāo)號(hào),例如,行下標(biāo)為I的矩陣數(shù)據(jù)對(duì)應(yīng)于文檔一,行下標(biāo)為2的矩陣數(shù)據(jù)對(duì)應(yīng)于文檔二 ;每個(gè)矩陣數(shù)據(jù)的列下標(biāo)用于表示該矩陣數(shù)據(jù)所對(duì)應(yīng)的分類,即主題,例如,行下標(biāo)為I的矩陣數(shù)據(jù)對(duì)應(yīng)于“科普”這一主題,行下標(biāo)為2的矩陣數(shù)據(jù)對(duì)應(yīng)于“娛樂”這一主題,行下標(biāo)為3的矩陣數(shù)據(jù)對(duì)應(yīng)于“新聞”這一主題。假設(shè)文檔一屬于“科普”主題,則表示文檔一在“科普”主題對(duì)應(yīng)的分類下的隸屬度取值為1,在其他兩個(gè)主題對(duì)應(yīng)的分類下的隸屬度取值均為O ;假設(shè)文檔二屬于“新聞”主題,則表示文檔二在“新聞”主題對(duì)應(yīng)的分類下的隸屬度取值為1,在其他兩個(gè)主題對(duì)應(yīng)的分類下的隸屬度取值均為O。相應(yīng)地,在對(duì)該計(jì)算矩陣中的六個(gè)矩陣數(shù)據(jù)進(jìn)行初始化時(shí),直接將各個(gè)矩陣數(shù)據(jù)所對(duì)應(yīng)的文檔在相應(yīng)主題下的隸屬度取值賦值給各個(gè)矩陣數(shù)據(jù)即可,因此,該矩陣中的六個(gè)矩陣數(shù)據(jù)的初始化結(jié)果如下:
[0048]I O O
[0049]O O I
[0050]通常情況下,在對(duì)矩陣數(shù)據(jù)進(jìn)行初始化之后,每一行的矩陣數(shù)據(jù)之和等于一,但是,在某些特殊情況下(例如,某一元素同時(shí)屬于兩個(gè)分類的特殊情況)可能會(huì)出現(xiàn)某一行的矩陣數(shù)據(jù)之和大于一的情況,在這種情況下,為了方便后續(xù)的計(jì)算過程,可以先對(duì)數(shù)據(jù)之和大于I的行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
[0051]上面是以“文檔-主題”計(jì)算矩陣為例進(jìn)行介紹的,對(duì)于“詞匯-主題”計(jì)算矩陣來說,也可以根據(jù)詞匯與主題的對(duì)應(yīng)關(guān)系進(jìn)行初始化,其具體過程與“文檔-主題”計(jì)算矩陣的初始化過程相同,此處不再贅述。
[0052]步驟S250:根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算。
[0053]在本實(shí)施例中,由于涉及到兩個(gè)計(jì)算矩陣,因此,需要分別對(duì)每個(gè)計(jì)算矩陣進(jìn)行迭代運(yùn)算:首先,分別輸入初始化的“文檔-主題”計(jì)算矩陣、“詞匯-主題”計(jì)算矩陣。然后,根據(jù)一篇篇文檔以及每篇文檔中包含的各個(gè)詞匯與主題之間的對(duì)應(yīng)關(guān)系,對(duì)初始化的“文檔-主題”計(jì)算矩陣、“詞匯-主題”計(jì)算矩陣進(jìn)行PLSA運(yùn)算,該運(yùn)算過程是一個(gè)迭代過程,在迭代過程中不斷地修正這兩個(gè)計(jì)算矩陣中的矩陣數(shù)據(jù)值,使其與真實(shí)情況相符合。通俗地說,在同一篇文檔中出現(xiàn)的詞,它們之間屬于同一個(gè)主題的概率更大;或者更廣泛地說,由于一篇文檔只會(huì)涉及有限的主題,那么這篇文檔中的所有詞,也只會(huì)屬于這幾個(gè)有限的主題,迭代過程就是基于這樣的推論來運(yùn)算的。具體地,在數(shù)學(xué)實(shí)現(xiàn)上,可以通過求解概率分布的最大似然值的迭代計(jì)算過程,即可在每一輪迭代中使上述兩個(gè)矩陣的概率分布值更加符合輸入的一篇篇文檔中真實(shí)的情況。當(dāng)?shù)^程收斂時(shí),所得到的兩個(gè)計(jì)算矩陣中的矩陣數(shù)據(jù)能夠反映最佳的概率分布情況。
[0054]步驟S260:根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
[0055]具體地,通過步驟S250中得到的矩陣數(shù)據(jù)的最終結(jié)果來計(jì)算兩篇文檔之間的相似度時(shí),可以先根據(jù)矩陣數(shù)據(jù)的最終結(jié)果確定出這兩篇文檔的主題分布情況(可通過向量形式來表示),然后,通過一些常用于計(jì)算兩個(gè)向量相似度的方法(例如余弦距離)進(jìn)行計(jì)算,由此反映出這兩篇文檔的相似度。
[0056]例如,對(duì)于上文的步驟S240中提到的文檔一和文檔二對(duì)應(yīng)的“文檔-主題”計(jì)算矩陣來說,假設(shè)該矩陣的最終計(jì)算結(jié)果如下:
[0057]0.6 0.1 0.3
[0058]0.4 0.2 0.4
[0059]由此可見,文檔一的主題分布情況為:文檔一屬于第一個(gè)主題的概率為0.6,屬于第二個(gè)主題的概率為0.1,屬于第三個(gè)主題的概率為0.3,因此,可以通過向量(0.6 0.1
0.3)來表不文檔一的主題分布情況。同理,可以通過向量(0.4 0.2 0.4)來表不文檔二的主題分布情況。通過余弦距離進(jìn)行相似度計(jì)算,得到文檔一和文檔二之間的相似度為
0.6*0.4+0.1*0.2+0.3*0.4=0.38,將0.38與預(yù)設(shè)的相似度閾值進(jìn)行比較,即可確定出兩篇文檔是否相似。
[0060]上面介紹了通過“文檔-主題”計(jì)算矩陣判斷兩篇文檔是否相關(guān)的方法,對(duì)于“詞匯-主題”計(jì)算矩陣來說,也可以通過上面的方式判斷兩篇文檔是否相關(guān)。通過“文檔-主題”以及“詞匯-主題”這兩個(gè)計(jì)算矩陣來判斷文檔是否相關(guān),可以提高判斷的準(zhǔn)確性。
[0061]另外,在本實(shí)施例中,是以計(jì)算矩陣為兩個(gè),然后,分別通過硬聚類算法對(duì)這兩個(gè)計(jì)算矩陣進(jìn)行初始化為例進(jìn)行介紹的,實(shí)際上,在本發(fā)明其他的實(shí)施例中,也可以僅通過硬聚類算法對(duì)其中的一個(gè)計(jì)算矩陣進(jìn)行初始化,而對(duì)于另一個(gè)計(jì)算矩陣則直接采用現(xiàn)有技術(shù)中的方式進(jìn)行初始化?;蛘?,在本發(fā)明其他的實(shí)施例中,也可以僅采用其中的任意一個(gè)計(jì)算矩陣來判斷文檔是否相關(guān)。而且,上述的兩個(gè)計(jì)算矩陣中的元素及其分類并不限于上面介紹的“文檔-主題”以及“詞匯-主題”的對(duì)應(yīng)方式,也可以靈活采用“主題-詞匯”或“主題-文檔”等各種形式實(shí)現(xiàn),本發(fā)明對(duì)此不作限定。
[0062]在本實(shí)施例介紹的上述方式中,先通過硬聚類算法確定了各個(gè)元素的分類結(jié)果,由于該結(jié)果是接近于真實(shí)情況的分類結(jié)果,因而,計(jì)算矩陣的初始值能夠大致反映各個(gè)元素的真實(shí)分類情況,所以,在后續(xù)通過迭代運(yùn)算判斷文檔是否相關(guān)的過程中,能夠顯著降低迭代運(yùn)算的計(jì)算量,提高運(yùn)算效率。例如,如果采用現(xiàn)有技術(shù)中的初始化方式,則后續(xù)往往需要200輪的迭代運(yùn)算才能使計(jì)算結(jié)果收斂,而采用本發(fā)明的方法之后,一般只需要30輪的迭代運(yùn)算就可以使計(jì)算結(jié)果收斂,由此可見,硬聚類的耗時(shí)時(shí)間加上30輪的迭代運(yùn)算的耗時(shí)時(shí)間遠(yuǎn)遠(yuǎn)小于200輪的迭代運(yùn)算的耗時(shí)時(shí)間。
[0063]另外,由于PLSA算法本身是一種模糊聚類算法,因此,在本發(fā)明實(shí)施例中,還實(shí)現(xiàn)了硬聚類算法和模糊聚類算法的有效結(jié)合。下面簡(jiǎn)單介紹一下硬聚類算法和模糊聚類算法的區(qū)別:聚類分析如果按照隸屬度的取值范圍可以分為兩類,一類叫硬聚類算法,另一類就是模糊聚類算法。其中,隸屬度的概念是從模糊集理論里引申出來的。傳統(tǒng)硬聚類算法的隸屬度只有O和I這兩個(gè)值,也就是說一個(gè)樣本只能完全屬于某一個(gè)類或者完全不屬于某一個(gè)類。舉個(gè)例子,把溫度分為兩類,大于10度為熱,小于或者等于10度為冷,這就是典型的“硬隸屬度”概念,這樣,不論是5度還是負(fù)100度都屬于冷這個(gè)類,而不屬于熱這個(gè)類的。硬聚類算法能夠清晰地反映出樣本的最優(yōu)分類情況,但是這種非此即彼的分類方式不能有效反映出某一樣本屬于一個(gè)分類的概率大小。而模糊聚類算法的隸屬度則是一個(gè)取值在[0,1]區(qū)間內(nèi)的數(shù),也就是說一個(gè)樣本同時(shí)屬于所有的類,但是通過隸屬度的大小來區(qū)分其差異,因此,對(duì)于溫度來說,5度可能屬于冷這個(gè)類的隸屬度值為0.7,而屬于熱這個(gè)類的隸屬度值為0.3。模糊聚類算法能夠有效反映出某一樣本屬于一個(gè)分類的概率大小,但是卻無法清晰地給出樣本的最優(yōu)分類情況。因此,在本實(shí)施例中,將硬聚類算法應(yīng)用于模糊聚類PLSA算法的初始化過程中,能夠充分發(fā)揮兩種算法的優(yōu)勢(shì),以使計(jì)算性能達(dá)到最優(yōu)。
[0064]圖3示出了本發(fā)明實(shí)施例提供的基于PLSA算法判斷文檔相關(guān)性的裝置的結(jié)構(gòu)圖。如圖3所示,該裝置300包括:確定單元31、聚類單元32以及計(jì)算單元33。
[0065]確定單元31根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類,將元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將分類的個(gè)數(shù)M確定為計(jì)算矩陣的行數(shù),其中,計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù)。
[0066]聚類單元32通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值。其中,硬聚類算法為MinHash算法或SimHash算法。
[0067]計(jì)算單元33根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
[0068]其中,所述文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,則待處理的元素為文檔標(biāo)號(hào),分類為文檔所屬的主題,則計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系?;蛘撸臋n信息包括:文檔所屬的主題以及文檔中的詞匯,則待處理的元素為文檔中的詞匯,分類為文檔所屬的主題,計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
[0069]其中,每個(gè)元素在各個(gè)分類下的隸屬度取值為O或I,則計(jì)算單元33具體用于:當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I ;進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
[0070]在本發(fā)明提供的基于PLSA算法判斷文檔相關(guān)性的方法及裝置中,首先根據(jù)文檔信息確定待處理的元素以及元素對(duì)應(yīng)的分類,并通過計(jì)算矩陣的形式表示元素與分類之間的對(duì)應(yīng)關(guān)系;然后,通過硬聚類算法對(duì)待處理的各個(gè)元素進(jìn)行分類,并根據(jù)硬聚類的分類結(jié)果來確定計(jì)算矩陣的初始值。由于在上述方式中,先通過硬聚類算法確定了各個(gè)元素的分類結(jié)果,該結(jié)果是接近于真實(shí)情況的分類結(jié)果,因而,計(jì)算矩陣的初始值能夠大致反映各個(gè)元素的真實(shí)分類情況,所以,在后續(xù)通過迭代運(yùn)算判斷文檔是否相關(guān)的過程中,能夠顯著降低迭代運(yùn)算的計(jì)算量,提高運(yùn)算效率。由此解決了現(xiàn)有技術(shù)中存在的計(jì)算耗時(shí)長(zhǎng)的問題。
[0071]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。[0072]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0073]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0074]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0075]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0076]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP )來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0077]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
【權(quán)利要求】
1.一種基于PLSA算法判斷文檔相關(guān)性的方法,包括: 根據(jù)文檔信息確定待處理的元素以及所述元素對(duì)應(yīng)的分類; 將所述元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將所述分類的個(gè)數(shù)M確定為所述計(jì)算矩陣的行數(shù),其中,所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù); 通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值; 根據(jù)所述每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)所述計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
2.如權(quán)利要求1所述的方法,其中,所述文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,則所述待處理的元素為所述文檔標(biāo)號(hào),所述分類為所述文檔所屬的主題,則所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系。
3.如權(quán)利要求1所述的方法,其中,所述文檔信息包括:文檔所屬的主題以及文檔中的詞匯,則所述待處理的元素為所述文檔中的詞匯,所述分類為所述文檔所屬的主題,所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
4.如權(quán)利要求1-3中任一所述的方法,其中,所述硬聚類算法為MinHash算法或SimHash 算法。
5.如權(quán)利要求1-4中任一所述的方法,其中,每個(gè)兀素在各個(gè)分類下的隸屬度取值為O或1,則所述根據(jù)每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)所述計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化的步驟具體包括: 當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將所述計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將所述計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I ; 進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
6.一種基于PLSA算法判斷文檔相關(guān)性的裝置,包括: 確定單元,適于根據(jù)文檔信息確定待處理的元素以及所述元素對(duì)應(yīng)的分類,將所述元素的個(gè)數(shù)N確定為PLSA算法中所需的計(jì)算矩陣的列數(shù),將所述分類的個(gè)數(shù)M確定為所述計(jì)算矩陣的行數(shù),其中,所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示元素與分類之間的對(duì)應(yīng)關(guān)系,N和M均為自然數(shù); 聚類單元,適于通過硬聚類算法將N個(gè)待處理的元素匯聚為M個(gè)分類,得到每個(gè)元素在各個(gè)分類下的隸屬度取值; 計(jì)算單元,適于根據(jù)所述每個(gè)元素在各個(gè)分類下的隸屬度取值,對(duì)所述計(jì)算矩陣中的矩陣數(shù)據(jù)進(jìn)行初始化,并根據(jù)PLSA算法對(duì)初始化之后的矩陣數(shù)據(jù)進(jìn)行迭代運(yùn)算,根據(jù)運(yùn)算結(jié)果判斷文檔是否相關(guān)。
7.如權(quán)利要求6所述的裝置,其中,所述文檔信息包括:文檔標(biāo)號(hào)以及文檔所屬的主題,則所述待處理的元素為所述文檔標(biāo)號(hào),所述分類為所述文檔所屬的主題,則所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示文檔標(biāo)號(hào)與主題之間的對(duì)應(yīng)關(guān)系。
8.如權(quán)利要求6所述的裝置,其中,所述文檔信息包括:文檔所屬的主題以及文檔中的詞匯,則所述待處理的元素為所述文檔中的詞匯,所述分類為所述文檔所屬的主題,所述計(jì)算矩陣中的矩陣數(shù)據(jù)表示詞匯與主題之間的對(duì)應(yīng)關(guān)系。
9.如權(quán)利要求6-8中任一所述的裝置,其中,所述硬聚類算法為MinHash算法或SimHash 算法。
10.如權(quán)利要求6-9中任一所述的裝置,其中,每個(gè)元素在各個(gè)分類下的隸屬度取值為O或I,則所述計(jì)算單元具體適于: 當(dāng)一個(gè)元素在指定分類下的隸屬度取值為O時(shí),將所述計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為O ;當(dāng)一個(gè)元素在指定分類下的隸屬度取值為I時(shí),將所述計(jì)算矩陣中相應(yīng)的矩陣數(shù)據(jù)初始化為I ; 進(jìn)一步判斷每一行的矩陣數(shù)據(jù)之和是否大于1,并在大于I時(shí)對(duì)該行數(shù)據(jù)進(jìn)行歸一化,使該行數(shù)據(jù)之和等于I。
【文檔編號(hào)】G06F17/30GK103678599SQ201310684227
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】何銳邦, 唐會(huì)軍 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司