圖書交叉閱讀方法
2023-10-04 08:40:39
圖書交叉閱讀方法
【專利摘要】本發明公開了一種圖書交叉閱讀方法。圖書交叉閱讀推薦技術本質上是一種基於文檔的檢索,即將一個文檔作為查詢,去檢索語義相似的其他文檔,圖書交叉閱讀推薦技術首先將每個圖書章節通過語義相似敏感哈希算法生成文檔指紋,並保證兩個語義相似的圖書章節的文檔指紋其海明距離也相近,然後將文檔指紋和圖書元數據、章節標題等異構信息統一建立索引,最後基於用戶的訪問日誌和圖書元數據信息,重排序候選推薦文檔。本發明將圖書章節投影到語義相關的文檔指紋中,並將文檔指紋、元數據信息、章節標題、用戶點擊等異構信息融入到統一索引中,基於用戶的閱讀章節,快速有效地推薦語義相關的其他章節,輔助用戶對圖書內容的理解、實現交叉閱讀。
【專利說明】圖書交叉閱讀方法
【技術領域】
[0001]本發明涉及圖書內容檢索方法,尤其涉及一種圖書交叉閱讀方法。
【背景技術】
[0002]隨著數字圖書館的日益發展,用戶在閱讀圖書時,希望能夠閱讀與當前內容相關的其他圖書章節,迫切希望數字圖書館中能夠提供一種圖書交叉閱讀推薦服務。
[0003]圖書交叉閱讀本質上是一種基於文檔的查詢(query by document),即將一個文檔作為查詢(query),去檢索內容相似的其他文檔。傳統的文本檢索系統一般設計為基於關鍵詞的檢索,也就是查詢詞一般較短。如果直接採用傳統的文本檢索方法,則性能會下降。比如,如果採用倒排索引的方法,那麼由於查詢文檔中含有較多的詞彙,於是合併每個詞彙的檢索結果需要耗費較長的時間。
[0004]文檔也可以表達成高維向量,於是query by document可以轉化為高維向量的檢索問題。哈希方法已在高維向量的檢索中被廣泛使用。比如,相似度哈希算法可以將相似的文檔投影為相似的指紋(即,壓縮的二進位碼),可用於文檔相似檢測和檢索。然而,在相似度哈希算法中,所有的單詞被同等看待,而不考慮單詞的語義信息。然而,文檔的單詞可以被分為文檔相關單詞、主題相關單詞以及背景單詞。一般而言,越能反映文檔語義的單詞越重要,所以需要把這些信息也融入到文檔指紋中,使得文檔指紋更加能反映主題。
[0005]此外,即使把圖書章節都轉化為了二進位碼形式的文檔指紋,從海量的文檔指紋中查找相似的文檔也是個極大的挑戰。假設每本書有50個章節(以小節為單位),則100萬冊圖書可形成5000萬個指紋,傳統採用線性掃描的文檔指紋檢索方式將不再適用。另外,除了文檔內容外,圖書的元數據信息、章節標題、用戶的點擊等信息在文檔相似檢索中也非常有用。但是很難將這些異構的信息融入到同一個索引中進行統一檢索。
[0006]在圖書交叉閱讀中,不僅需要將圖書章節投影到語義相關的指紋中,還需要將文檔指紋、元數據信息、章節標題、用戶點擊等信息融入到了同一個索引中。
【發明內容】
[0007]本發明的目的是為克服上述現有方法未能考慮文檔單詞的語義性,不能有效檢索海量哈希編碼等缺點,提供一種圖書交叉閱讀方法。
[0008]本發明解決其技術問題採用的技術方案如下:
[0009]圖書交叉閱讀方法的步驟如下:
[0010](I)構建圖書章節指紋:融合圖書章節特徵向量和圖書類別特徵向量,為圖書的每個章節構建主題敏感向量,然後再用相似度哈希算法構建圖書章節指紋;
[0011](2)構建統一索引:將圖書章節指紋轉變為語義單詞集合,並用全文檢索方法為語義單詞集合、圖書章節名稱、圖書分類信息建立統一索引;
[0012](3)圖書章節推薦:依據圖書章節間的距離,為用戶推薦相關圖書章節,並基於用戶的訪問行為,利用流形排序算法進行重排序。[0013]所述的步驟(1)包括:[0014]2.1對於所有的圖書,根據目錄將一本圖書拆分為章節集合,每個章節作為一個文檔進行保存,同時將章節的名稱、圖書的名稱、圖書的分類信息作為章節的元數據保存;
[0015]2.2對所有的章節進行自然語言處理,通過分詞、詞性標註、停用詞去除和詞組檢測步驟提取章節包含的名詞和名詞短語,將章節轉變為單詞的集合;
[0016]2.3根據章節所在圖書的分類,構建每個分類的章節集合,分別計算每個章節中所有單詞的tfidf (t, d)值和每個分類中所有單詞的tfidf (t, c)值:
[0017]tfidf (t, d) =tf (t, d) *idf (t, D), d e D
[0018]tfidf (t, c) =tf (t, c) *idf (t, C), c e C
[0019]其中tf(t,d)是指單詞t在文檔d中出現的次數,idf(t,D)被稱為逆文檔頻率,可以由總文檔數目|d|除以包含單詞t的文檔的數目,再將得到的商取對數,tf(t, c)是指單詞t在分類c中出現的次數,idf(t,C)則可以由總分類數|c|除以包含單詞t的分類的數目,再將得到的商取對數,當tfidf (t,c)大時,表示單詞t在分類c中常出現,而在其他的分類中則不常出現,此時單詞t被認為是分類C的主題相關詞,當tfidf (t, d)大而tfidf (t, c)小時,則單詞t被認為是文檔d的文檔相關詞,而tfidf (t,d)小時,則單詞t被認為是背景單詞或停用詞;選擇tfidf (t,c)大於閾值δ的單詞作為類別的主題相關詞,即T(c) = {t|tfidf(t,c)>S,cec},其中δ e [O, I);
文檔特徵向量用d = (W1Cd), W2(Cl)l表示,其中Wi (d)表示文檔主題
相關詞的tfidf (t, d)值,類別特徵向量用5 = (W1(C)iW2Cc), ,,,,Wn(C)1:表示,其中Wi (C)表示類別主題相關詞的tfidf (t,c)值,最後根據I和g ,調節文檔向量為...................> 1-
d* = {w\(d), w'2(d),…,w^Cd)},其中vv丨(d) = Wi(Ci) * wj(c);
[0020]2.4構建圖書章節指紋F的相似度哈希算法的步驟包括:首先輸入文檔d的特徵向量王,並初始化向量V,向量V每個元素置為零,然後對於文檔d中的每個單詞Wi,
應用哈希函數Θ,得到向量M= θ (Wi),對於M中的每個元素如果= I,那麼
Vj = Vj + Wi' (d),否則Vj ~ —- yy (d), 最後處理完文檔d中的所有單詞後,對於所
有的U=I……1},I是向量V的長度,如果ViX),那麼Fi=I,否則Fi=0。
[0021]所述的步驟(2)包括:
[0022]3.1對一個長度為z的文檔指紋F,分割為m個子串,每個子串的長度是z/m,每個子串標識為P1, P2,…,Pm ;
[0023]3.2通過翻Rpi的第j位,獲得新的子串Pi^,其中 '是第j位的位置,子串的權重是^ =會』其中τ e [O, I);
[0024]3.3 通過公式 I (Pi) += ν(ρ.?)+ (j^ | * 2i/m^子串Pi和卩〃轉換為整數,其中V (Pi)和ν(ρ/?)分別是二進位子串PjP Pi11*的相應的十進位數值;
[0025]3.4返回語義單詞及其權重:
【權利要求】
1.一種圖書交叉閱讀方法,其特徵在於包括它的步驟如下: (1)構建圖書章節指紋:融合圖書章節特徵向量和圖書類別特徵向量,為圖書的每個章節構建主題敏感向量,然後再用相似度哈希算法構建圖書章節指紋; (2)構建統一索引:將圖書章節指紋轉變為語義單詞集合,並用全文檢索方法為語義單詞集合、圖書章節名稱、圖書分類信息建立統一索引; (3)圖書章節推薦:依據圖書章節間的距離,為用戶推薦相關圖書章節,並基於用戶的訪問行為,利用流形排序算法進行重排序。
2.根據權利要求1所述的圖書交叉閱讀方法,其特徵在於所述的步驟(1)包括: 2.1對於所有的圖書,根據目錄將一本圖書拆分為章節集合,每個章節作為一個文檔進行保存,同時將章節的名稱、圖書的名稱、圖書的分類信息作為章節的元數據保存; 2.2對所有的章節進行自然語言處理,通過分詞、詞性標註、停用詞去除和詞組檢測步驟提取章節包含的名詞和名詞短語,將章節轉變為單詞的集合; 2.3根據章節所在圖書的分類,構建每個分類的章節集合,分別計算每個章節中所有單詞的tfidf(t, d)值和每個分類中所有單詞的tfidf (t, c)值:tf idf (t, d) =tf (t, d) *idf (t, D), d e Dtfidf (t, c) =tf (t, c) *idf (t, C), c e C 其中tf(t,d)是指單詞t在文檔d中出現的次數,idf(t,D)被稱為逆文檔頻率,可以由總文檔數目|D|除以包含單詞t的文檔的數目,再將得到的商取對數,tf(t, c)是指單詞t在分類C中出現的次數,idf(t,c)則可以由總分類數Icl除以包含單詞t的分類的數目,再將得到的商取對數,當tfidf (t,C)大時,表示單詞t在分類C中常出現,而在其他的分類中則不常出現,·此時單詞t被認為是分類c的主題相關詞,當tfidf (t,d)大而tfidf (t, c)小時,則單詞t被認為是文檔d的文檔相關詞,而tfidf (t, d)小時,則單詞t被認為是背景單詞或停用詞;選擇tfidf(t,c)大於閾值δ的單詞作為類別的主題相關詞,即T(c) = {t|tfidf (t, c)> δ,c e C},其中δ e [O, I);文檔特徵向量用d = (W1Cd)., Wli((I ),.,.., Wn ((I)}表示,其中 Wi (d)表示文檔主題相關詞的 tfidf (t, d)值,類別特徵向量用? = (W1(C)j W2(C),..., Wn(C))表示,其中Wi(C)表示類別主題相關詞的tfidf (t,c)值,最後根據 3 和g ,調節文檔向量為 Cf = (Wi1 (d),Wf2(d), , W^Cd)}?其中 w; (d) = W| (d) * Wi (C); 2.4構建圖書章節指紋F的相似度哈希算法的步驟包括:首先輸入文檔d的特徵向量S7,並初始化向量V,向量V每個元素置為零,然後對於文檔d中的每個單詞Wi,應用哈希函數Θ,得到向量M= Θ (Wi),對於.M中的每個元素關〗,如果滅丨=那麼Vj = V〗+W;漢),否則Vl = Vj-Wi (d),最後處理完文檔d中的所有單詞後,對於所有的U=I……1},I是向量V的長度,如果ViX),那麼Fi=I,否則Fi=0。
3.根據權利要求1所述的圖書交叉閱讀方法,其特徵在於所述的步 驟(2)包括:. 3.1對一個長度為z的文檔指紋F,分割為m個子串,每個子串的長度是z/m,每個子串標識為P1, P2,…,Pm ; .3.2通過翻Rpi的第j位,獲得新的子串Pp,其中 '是第j位的位置,子串的權重是 W(PiN) = 5,其中 τ e [O, I); . 3.3 通過公式
4.根據權利要求1所述的圖書交叉閱讀方法,其特徵在於所述步驟 (3)包括: . 4.1系統從統一索引中返回K個相似文檔,記為候選文檔D=W1, d2,…dK},其中Cl1是查詢文檔,兩個文檔間的距離用
【文檔編號】G06F17/30GK103714118SQ201310601627
【公開日】2014年4月9日 申請日期:2013年11月22日 優先權日:2013年11月22日
【發明者】魯偉明, 楊善松, 魏寶剛, 莊越挺 申請人:浙江大學