[0032] S1、首先,獲取領(lǐng)域知識(shí)點(diǎn),知識(shí)點(diǎn)是表示某一類信息的基本單元。一般知識(shí)點(diǎn)W 領(lǐng)域?yàn)榛A(chǔ)分類,如歷史領(lǐng)域、軍事領(lǐng)域。如需要獲取歷史領(lǐng)域的知識(shí)點(diǎn),則可W通過歷史 百科全書獲取其中的詞條作為該領(lǐng)域內(nèi)的知識(shí)點(diǎn)。
[0033] S2、然后,選擇參考文本,對(duì)所述參考文本進(jìn)行分詞,得到分詞結(jié)果。將分詞結(jié)果中 的詞作為知識(shí)點(diǎn),由于選擇參考文本為盡量多的文本,所W送些知識(shí)點(diǎn)中包含了上述的領(lǐng) 域知識(shí)點(diǎn),此外還有一些其他知識(shí)點(diǎn)。
[0034] 由于知識(shí)點(diǎn)W領(lǐng)域?yàn)榛A(chǔ)分類,因此選擇參考文本時(shí),選擇領(lǐng)域內(nèi)的數(shù)字資源,女口 選擇歷史領(lǐng)域的數(shù)字資源,如上下五千年、歷代朝代史等。在送些數(shù)字資源中抽取文本作為 參考文本。為了對(duì)參考文本進(jìn)行分詞時(shí),對(duì)本領(lǐng)域內(nèi)的詞語分詞效果更好,可W通過歷史領(lǐng) 域百科全書將其中的詞條作為知識(shí)點(diǎn)名稱加入分詞器詞典中,對(duì)本領(lǐng)域內(nèi)的詞進(jìn)行更加合 理的劃分。本實(shí)施例中選用IK分詞器,在其他實(shí)施方式中可W選擇其他的分詞器如Ans j 分詞器等。對(duì)參考文本分詞后,得到分詞結(jié)果,分詞結(jié)果中為一系列的詞語的集合,將分詞 結(jié)果中的送些詞語作為知識(shí)點(diǎn),送些知識(shí)點(diǎn)中包含了步驟S1中的領(lǐng)域知識(shí)點(diǎn),還包含一些 除此之外的其他知識(shí)點(diǎn),其他知識(shí)點(diǎn)中即有如"你"、"我"等送些常用詞,也有其他的不屬于 領(lǐng)域知識(shí)點(diǎn)的分詞結(jié)果中的詞。。
[0035] S3、依次為分詞結(jié)果中的每個(gè)知識(shí)點(diǎn)建立索引。
[0036] 本步驟中,可W為每個(gè)知識(shí)點(diǎn)建立唯一的一個(gè)數(shù)字編號(hào),作為索引。在其他的實(shí)施 方式中,還可W建立每個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的唯一向量,作為索引。該向量均為η列向量,η為所有 知識(shí)點(diǎn)的個(gè)數(shù),在該向量中,除該知識(shí)點(diǎn)對(duì)應(yīng)的位置為1,其余位置為0。如第1個(gè)知識(shí)點(diǎn)〇1 的向量為 〇1= [1,0,0,0...,0],η 2= [0,1,0,0,...,0],......,η。= [0,0,0,0,......, 1],每個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的向量都為η列向量,η就是所有知識(shí)點(diǎn)的個(gè)數(shù)。將每個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的 向量作為索引。
[0037] S4、根據(jù)所述知識(shí)點(diǎn)的索引和所述知識(shí)點(diǎn)的順序確定每個(gè)領(lǐng)域知識(shí)點(diǎn)的語義向 量;。
[0038] 首先,創(chuàng)建一個(gè)Η層神經(jīng)網(wǎng)絡(luò)模型。此處的神經(jīng)網(wǎng)絡(luò)模型可w選擇現(xiàn)有技術(shù)中的 NPLM模型(Neural Prob油ilistic Language Model)來實(shí)現(xiàn)。此處選擇NPLM模型,該神經(jīng) 網(wǎng)絡(luò)模型包括輸入層、隱含層和輸出層,原理為通過當(dāng)前詞的多個(gè)詞語預(yù)測(cè)下一個(gè)詞,從而 訓(xùn)練得到語言模型和合適的詞向量。
[0039] 然后,W所有知識(shí)點(diǎn)的索引作為訓(xùn)練樣本,將所有知識(shí)點(diǎn)的索引按照在參考文本 中出現(xiàn)的先后順序依次輸入所述神經(jīng)網(wǎng)絡(luò)模型,通過隨機(jī)梯度下降法訓(xùn)練模型。
[0040] 訓(xùn)練完成后,通過訓(xùn)練可W得到一個(gè)語義向量矩陣。再根據(jù)每個(gè)領(lǐng)域知識(shí)點(diǎn)的索 引從訓(xùn)練得到的從語義向量矩陣中得到該領(lǐng)域知識(shí)點(diǎn)的詞向量,W該詞向量作為該領(lǐng)域知 識(shí)點(diǎn)的語義向量。
[0041] 由于本實(shí)施例中,只關(guān)注屬于領(lǐng)域知識(shí)點(diǎn)的知識(shí)點(diǎn),因此只獲取了送些領(lǐng)域知識(shí) 點(diǎn)的語義向量,實(shí)際上所有知識(shí)點(diǎn)的語義向量都可W通過該方法獲取。
[0042] S5、接著,對(duì)于每個(gè)領(lǐng)域知識(shí)點(diǎn),根據(jù)其語義向量確定該領(lǐng)域知識(shí)點(diǎn)與其他領(lǐng)域知 識(shí)點(diǎn)的相似度。
[0043] 對(duì)于每個(gè)領(lǐng)域知識(shí)點(diǎn),根據(jù)其語義向量確定該領(lǐng)域知識(shí)點(diǎn)與其他領(lǐng)域知識(shí)點(diǎn)的相 似度的過程,包括:
[0044] 所述相似度的計(jì)算方法為:
[0045]
[0046] 其中,Χ、Υ為需要比較相似度的兩個(gè)m列的向量,也就是兩個(gè)領(lǐng)域知識(shí)點(diǎn)的語義向 量。
[0047] 送樣,通過上述方式,就可W計(jì)算出每個(gè)領(lǐng)域知識(shí)點(diǎn)與其他領(lǐng)域知識(shí)點(diǎn)的所有相 似度。
[0048] S6、最后,根據(jù)所述相似度確定每個(gè)領(lǐng)域知識(shí)點(diǎn)的相關(guān)知識(shí)點(diǎn)。將該領(lǐng)域知識(shí)點(diǎn)與 其他領(lǐng)域知識(shí)點(diǎn)的相似度降序排列,選擇排序在前的預(yù)設(shè)數(shù)量的其他領(lǐng)域知識(shí)點(diǎn)如10個(gè) 或20個(gè)知識(shí)點(diǎn)作為該領(lǐng)域知識(shí)點(diǎn)的相關(guān)知識(shí)點(diǎn)。確定相關(guān)知識(shí)點(diǎn)的數(shù)量根據(jù)需要來選擇。
[0049] 作為其他可W替換的實(shí)施方式,上述相似度的計(jì)算方法還可W通過下面的公式來 計(jì)算,即:
[0050]
[0051] 其中,Χ、Υ為需要比較相似度的兩個(gè)m列的向量,也就是兩個(gè)領(lǐng)域知識(shí)點(diǎn)對(duì)應(yīng)的語 義向量。
[0052] 作為其他可W替換的實(shí)施方式,根據(jù)相似度確定每個(gè)領(lǐng)域知識(shí)點(diǎn)的相關(guān)知識(shí)點(diǎn) 時(shí),還可W采用如下方式;預(yù)先設(shè)置一個(gè)相似度闊值如60% 70%或80%或90%,選取與該 領(lǐng)域知識(shí)點(diǎn)的相似度大于該闊值的其他領(lǐng)域知識(shí)點(diǎn)作為該領(lǐng)域知識(shí)點(diǎn)的相關(guān)知識(shí)點(diǎn)。送樣 就可w得到相似度大于一定程度的相關(guān)知識(shí)點(diǎn)。
[0053] 該方式中將知識(shí)點(diǎn)的語義信息通過量化的方式來表示,然后通過數(shù)學(xué)運(yùn)算的方 式,來確定哪些知識(shí)點(diǎn)更相關(guān),該方式計(jì)算簡(jiǎn)單方便,且能根據(jù)語義間的相關(guān)程度,得出的 相關(guān)知識(shí)點(diǎn)具有更好的準(zhǔn)確性,適用于推薦、檢索等方面。
[0054] 連施例2:
[0055] 本實(shí)施例中提供一種計(jì)算領(lǐng)域知識(shí)點(diǎn)的相關(guān)知識(shí)點(diǎn)的方法,利用該相關(guān)知識(shí)點(diǎn)進(jìn) 行知識(shí)點(diǎn)推薦。具體的步驟如下。
[0056] 第一步,從領(lǐng)域百科全書中抽取領(lǐng)域知識(shí)點(diǎn)的名稱集合0= {〇1,〇2, ···,ο。},領(lǐng)域 知識(shí)點(diǎn)名稱數(shù)目為η。將領(lǐng)域知識(shí)點(diǎn)的名稱加入分詞器詞典。
[0057] 第二步,從領(lǐng)域數(shù)字出版資源中選擇一定數(shù)量的電子書,并從選擇的電子書中抽 取文本。
[0058] 第Η步,使用分詞器對(duì)抽取的文本進(jìn)行分詞,將分詞后得到所有的詞作為知識(shí)點(diǎn), 由于選擇的領(lǐng)域數(shù)字資源足夠多,因此所述知識(shí)點(diǎn)中包含了領(lǐng)域知識(shí)點(diǎn),還包含除此之外 的一些其他知識(shí)點(diǎn)。將所有的送些知識(shí)點(diǎn)都存儲(chǔ)在文件F'中,文件F'實(shí)際上就是存儲(chǔ)了 分詞后所有得到的知識(shí)點(diǎn)的集合。
[0059] 第四步,統(tǒng)計(jì)F'中的所有知識(shí)點(diǎn),為每一個(gè)知識(shí)點(diǎn)分配一個(gè)唯一的索引,此處的索 引為數(shù)字編號(hào),如對(duì)于第一個(gè)知識(shí)點(diǎn),編號(hào)為1,第二個(gè)知識(shí)點(diǎn),編號(hào)為2,依次類推。使用上 述索引表示F'中的所有知識(shí)點(diǎn),形成文件F。
[0060] 第五步,創(chuàng)建一個(gè)Η層的神經(jīng)網(wǎng)絡(luò)語言模型如圖2。該模型包括輸入層,隱藏層 和輸出層,用于訓(xùn)練語言模型并得到詞向量。主要原理是通過當(dāng)前的多個(gè)詞語預(yù)測(cè)下一個(gè) 詞,從而訓(xùn)練得到語言模型和合適的詞向量表示,使用的訓(xùn)練方法為隨機(jī)梯度下降方法, 輸入為文本數(shù)據(jù),根據(jù)訓(xùn)練得到的結(jié)果可W獲取詞向量。圖1最下方輸入的是η-1個(gè)詞 wt。+1,. . .,wt 2,wt 1的索引,模型根據(jù)送η-1個(gè)詞預(yù)測(cè)下一個(gè)詞W t。C(w)表示詞W所對(duì)應(yīng)的 詞向量。整個(gè)模型中使用一套唯一的詞向量,該套詞向量存在一個(gè)IVI Xm的矩陣C中,其 中IVI表示詞表的大小,m表示詞向量的維度。W到C(w)的轉(zhuǎn)化就是從該矩陣中取出一行。
[0061] 網(wǎng)絡(luò)的第一層(輸入層)將C(Wt,. . .,C(Wt 2),C(Wt 1)送n-1個(gè)向量首尾相接 形成一個(gè)(n-l)m 維的向量 X = (C(Wt 1),C(Wt 2),…,C(Wt。4))。
[0062] 網(wǎng)絡(luò)的第二層(隱藏層)使用d+Hx計(jì)算得到,其中d是一個(gè)偏置項(xiàng)。在此之后, 使用tanh作為激活函數(shù)。
[0063] 網(wǎng)絡(luò)的第Η層(輸出層)一共有IVI個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)表示下一個(gè)詞為i的未 歸一化log概率,最后使用softmax激活函數(shù)將輸出值y歸一化成概率。
[0064] 最終,y的計(jì)算公式為