一種文檔推薦方法及裝置的製作方法
2023-10-08 22:51:49 3
專利名稱:一種文檔推薦方法及裝置的製作方法
技術領域:
本發明涉及計算機應用技術領域,特別是涉及一種文檔推薦方法及裝置。
背景技術:
隨著網際網路技術的發展,網際網路上的信息量呈爆炸式增長。為了讓用戶能夠更方便快捷地獲得這些信息,推薦技術在信息系統得到了廣泛應用。其中,關聯推薦技術又成為推薦技術的一個重要組成部分,關聯推薦技術的基本思想是,基於信息的一個或多個特徵,找到不同信息之間的相關性,並進一步建立信息之間的聯繫關係,當用戶瀏覽某一信息時,推薦系統會將與該信息具有聯繫關係的信息也推薦給用戶。
對於關聯推薦技術的研究重點,除了挖掘更多可用於推薦的特徵之外,還在於如何在實際應用中根據這些特徵建立起信息之間的關係。目前,較為常用的方式是根據用戶行為建立信息之間的關係,以文檔推薦為例,可以根據用戶對文檔的瀏覽、搜索等歷史行為記錄,分析用戶的興趣,然後根據單個或多個用戶的興趣相似程度,建立文檔之間的聯繫關係,最後根據所建立的關係進行文檔推薦。但是,現有關聯推薦方法,存在著很嚴重的冷啟動問題與數據稀疏問題,所謂冷啟動是指新發布的信息,數據稀疏則是指對於有些信息,其本身的相關用戶行為記錄很少(或為0),因此難以根據用戶行為產生推薦結果。目前常用的解決方案是通過人工幹預的方式為新發布的信息預置一些推薦結果,但是這種方式需要消耗人力成本,並且要求操作人員具有豐富的先驗知識,推薦結果也存在著較大的局限性和主觀性,在實際應用中經常無法滿足信息瀏覽者的實際需求。
發明內容
為解決上述技術問題,本發明實施例提供一種文檔推薦方法及裝置,以解決文檔相關推薦中的冷啟動問題與數據稀疏問題。具體技術方案如下一種文檔推薦方法,包括在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇;根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。在本發明的一種具體實施方式
中,所述文檔關聯信息為根據與文檔相關的用戶行為記錄所建立的不同文檔之間的關聯信息。在本發明的一種具體實施方式
中,所述文檔關聯信息為根據文檔所歸屬的類別所建立的不同文檔之間的關聯信息。在本發明的一種具體實施方式
中,所述以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇,包括對文檔內容進行判重,將與文檔A內容重複度超過預設閾值的文檔聚合為一個文檔簇。在本發明的一種具體實施方式
中,所述根據文檔內容的相似程度對文檔進行聚簇,包括利用文檔A進行檢索,根據檢索結果,將與文檔A內容相關度超過預設閾值的文檔聚合為一個文檔簇。在本發明的一種具體實施方式
中,該方法還包括利用文檔A的同簇文檔,構成文檔A的第二推薦結果。一種文檔推薦裝置,包括
聚簇單元,用於在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇;關聯單元,用於根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;推薦單元,用於利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。在本發明的一種具體實施方式
中,所述文檔關聯信息為根據與文檔相關的用戶行為記錄所建立的不同文檔之間的關聯信息。在本發明的一種具體實施方式
中,所述文檔關聯信息為根據文檔所歸屬的類別所建立的不同文檔之間的關聯信息。在本發明的一種具體實施方式
中,所述聚簇單元,具體用於對文檔內容進行判重,將與文檔A內容重複度超過預設閾值的文檔聚合為一個文檔簇。在本發明的一種具體實施方式
中,所述聚簇單元,具體用於利用文檔A進行檢索,根據檢索結果,將與文檔A內容相關度超過預設閾值的文檔聚合為一個文檔簇。在本發明的一種具體實施方式
中,所述推薦單元,還用於利用文檔A的同簇文檔,構成文檔A的第二推薦結果。本發明實施例所提供的技術方案,基於文檔具體內容的相似程度,對文檔進行聚簇,然後根據聚簇結果進行文檔推薦。相當於將內容相似的若干個文檔,視為相同的一個點進行處理。這樣即便是新發布的文檔,也可以為其生成推薦結果,另一方面,對於當前已經具有推薦結果的文檔,也可以根據聚簇情況對推薦結果做進一步的優化。與現有技術相比,應用本發明所提供的技術方案,不需要人工對新發布文檔進行預處理,從而有效地節省了人力成本。此外,假設文檔間當前已有的關聯關係是合理的,那麼基於內容相似性聚簇後的推薦結果仍然是合理的,也就是說,本發明方案在推薦過程中,能夠在不引入操作人員個人主觀因素影響的前提下,對新發布的文檔給出高置信度的推薦結果,從而進一步提升推薦系統的性能。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。圖I為本發明實施例文檔推薦方法的一種流程圖;圖2為本發明實施例文檔推薦裝置的一種結構示意圖。
具體實施例方式首先對本發明實施例所提供的一種文檔推薦方法進行說明,該方法可以包括以下步驟在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇; 根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。本發明實施例中的文檔,可以表現為多種形式,例如可以是TXT、DOC、PDF等文件形式的文檔,也可以是網頁形式的文檔,這些並不影響本發明方案的實現。本發明實施例所提供的文檔推薦方法,是在一定的文檔範圍內進行,也就是說,根據不同的應用環境,都存在一個預置的文檔集合。例如在網絡文庫內進行推薦,則文庫中所有的用戶上傳文件構成預置的文檔集合;在知識平臺進行推薦,則該平臺中所有的知識主題構成預置的文檔集合;在新聞網站進行推薦,則該網站中所有的新聞網頁構成預置的文檔集合。當然,根據實際的應用需要,可以靈活設置推薦範圍的大小,小至某個具體的文檔主題類別,大至全網際網路範圍,本發明對此並不需要進行限定。本發明實施例所提供的技術方案,首先基於文檔具體內容的相似程度,對文檔進行聚簇,然後根據聚簇結果進行文檔推薦。相當於將內容相似的若干個文檔,視為相同的一個點進行處理。假設A是新發布文檔,通過以文檔A為中心進行聚簇後,將與文檔A內容近似的文檔B、文檔C、文檔D聚為相同的簇。這樣,如果B、C、D本身具有關聯文檔,那麼就可以將B、C、D的關聯文檔作為A的推薦結果反饋給用戶。與現有技術相比,應用本發明所提供的技術方案,不需要人工對新發布文檔進行預處理,從而有效地節省了人力成本。此外,假設文檔間當前已有的關聯關係是合理的,那麼基於內容相似性聚簇後的推薦結果仍然是合理的,也就是說,本發明方案在推薦過程中,能夠在不引入操作人員個人主觀因素影響的前提下,對新發布的文檔給出高置信度的推薦結果,從而進一步提升推薦系統的性能。為了使本領域技術人員更好地理解本發明中的技術方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於本發明保護的範圍。圖I所示為本發明實施例所提供的一種文檔推薦方法的流程圖,該方法可以包括以下步驟S101,在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇;
目前,網際網路中的信息量很大,但是通過研究發現,這其中會存在很多相似甚至完全重複的內容,例如,針對同一熱門事件,可能有很多內容相似的新聞報導;不同用戶可能會將內容相同的文檔上傳至文庫平臺,等等。對於內容相似的文檔,出於多方面原因(例如發布時間的早晚、發布者自身所擁有的資源數量不同,發布方式不同等等),可能導致兩者所擁有的關聯文檔數據量不同。例如,文檔A和文檔B內容相同,其中文檔A為剛剛發布的文檔,不具有任何可以用於建立關聯關係的數據,而文檔B已經擁有了大量的關聯數據積累。那麼,從「內容相似」的角度考慮,將文檔B的關聯文檔也作為文檔A的推薦結果,是完全合理的。根據上述原理,本發明對於任意文檔A,採用以文檔A為中心、根據文檔內容相似程度進行聚簇的方式,將文檔集中所有與文檔A內容近似的文檔找到,然後根據將簇中其他成員的關聯文檔作為文檔A的推薦候選,生成文檔A的推薦結果。在本發明的一種具體實施方式
中,可以利用文本判重技術對文檔進行聚簇。 基於網際網路的客觀應用環境,必然會存在大量的內容重複的文檔,為了對這些重複文檔進行有效的管理,相應產生了很多文本判重技術,例如基於文檔級別的籤名算法進行判重,常用算法包括MD5算法、simhash算法等等。在本申請所提供的方案中,可以直接利用這些成熟的文檔判重技術,對預置文檔集中不同的文檔進行判重處理,將內容相同的文檔歸到一起。在具體實施過程中,可以首先對文檔進行分句,例如按找換行符、句號、嘆號、問號等切分標識對文檔進行切分;然後切分後的句子進行歸一化處理,例如如全半角轉化、大小寫轉化、繁簡體轉化、去除噪聲字符、多空白符歸一等;最後對句子進行籤名,並計算兩文檔籤名向量的公共長度或相似度,以公共長度或相似度表示內容重合度。可以理解的是,以上所提供的文檔判重流程僅作為一種示意性說明,不應該構成對本發明方案的限制。在實際應用中,由於用戶改動等原因,有些文檔之間的內容可能會有一些細節上的區別,但是整體上的內容仍然趨於一致。而本發明的目的是基於文檔的內容相似程度進行推薦件,因此,可以預先設定一個內容重複度閾值(例如80%、90%等),在判重過程中,如果文檔間的相似度超過這個閾值,則認為文檔之間的差異很小,可以聚和成為同一個文檔簇,進而在同簇成員之間,關聯文檔可以互相通用。在本發明的另一種具體實施方式
中,還可以利用檢索技術對文檔進行聚簇。搜尋引擎的基本功能,就是根據給定的搜索關鍵詞,找出與該關鍵詞內容相同或相似的其他網絡資源。根據搜尋引擎的基本功能,在本發明中,可以利用文檔A (即聚簇中心)的內容構成搜索關鍵詞輸入搜尋引擎,在預置的文檔集範圍內進行搜索,然後根據搜索結果確定聚簇的成員。一種最基本的實現方案是可以將文檔A的標題直接作為搜索關鍵詞輸入搜尋引擎,如果搜索結果的標題與文檔A相同或相似,則可以將該搜索結果聚入以A為中心的文檔簇。例如,文檔A的標題為「中考閱讀(語文)」,通過檢索得到另一篇文檔B的標題為「中考語文閱讀」,那麼可以直接將該文檔B聚入簇內。當然在實際應用中,如果搜索結果的正文內容與文檔A的標題相似,也可以認為滿足聚簇條件,並不一定僅限定為「標題相似」。在理論上,除了標題之外,文檔A的其他部分都可以用於檢索,例如作者、摘要等等。在構成檢索關鍵詞的過程中,還可以進行如分詞、去除停用詞等等預處理。另外,目前很多搜尋引擎已經非常智能,例如搜尋引擎本身會自動進行分詞、去除停用詞等預處理,而且搜索結果一般也都會根據與關鍵詞的相關(相似)程度進行排序,因此可以直接取搜索結果的前η (η為正整數)位,作為A的同簇成員。總之,本領域技術人員可以根據實際應用需求和應用場景,靈活設置利用搜索結果聚簇的具體策略,本發明對此並不需要進行限定。與基於判重技術進行聚簇的方法相比,基於搜索技術的聚簇方法在相似程度判斷的精確度上有所欠缺,但是可以直接利用現有的搜尋引擎,因此實現成本較低。在實際應用中,兩種方案既可以獨立使用,也可以結合使用。當然,在不脫離本發明的基本思想的前提下,本領域技術人員也可以採用其他的聚簇方法,並且這些方法既可以獨立使用,也可以與本發明實施例所提供的方法結合使用。S102,根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;
通過聚簇得到與文檔A內容相似的文檔之後,為了針對文檔A進行推薦,需要首先確定相似文檔的關聯文檔。本發明方案基於這樣的假設在預置的文檔集中,存在一部分文檔,這些文檔本身已經具有關聯信息。那麼,如果這類文檔與文檔A被聚在同一簇中,則可以利用這些已有的關聯信息來生成文檔A的推薦結果。在本發明的一種具體實施方式
中,可以根據與文檔相關的用戶行為記錄,建立的不同文檔之間的關聯信息。對於文檔B和文檔BI,在用戶的訪問過程中,體現出了相關性,則可以建立文檔B和文檔BI的關聯關係。其中「用戶的訪問」可以包括瀏覽、搜索、主動推薦等行為。例如,某用戶在某次瀏覽過程中,先瀏覽了文檔B 「中考語文閱讀」,然後又瀏覽了文檔BI 「中考語文作文」,則可以建立文檔B和文檔BI的關聯關係。在一種具體實施方式
中,可以將預置的文檔集合初始化為一個圖(graph),文檔集合中的每一篇文檔構成該圖的點集合,後續如果有新文檔加入集合,則在圖中相應增加一個點。圖的初始邊集合為空(即任意兩點間的邊權重為0),對於任意的兩個點,如果在一名用戶的訪問行為中體現出了相關性,則在這兩個點之間增加一條邊,如果在另一名用戶的訪問行為中也體現了相關性,則增加已有邊的權重……如此反覆,通過分析大量用戶的歷史行為記錄,逐步增加邊的數量與權重。最終得到文檔集合內所有文檔的關聯信息。在實際應用中,還可以給不同的用戶行為賦予不同的權重值。例如對於「搜索」行為所體現的相關性,賦予O. 5單位的權重;對於「瀏覽」行為所體現的相關性,賦予I單位的權重;對於「用戶主動推薦」行為所體現的相關性,賦予2單位的權重,等等。在本發明的一種具體實施方式
中,還可以根據文檔所歸屬的類別,建立的不同文檔之間的關聯信息。文檔分類是指按照根據文檔或內容的屬性,對文檔集合中的每一個文檔確定一個類別。這樣,用戶不但能夠方便地在特定的類別瀏覽文檔,而且可以通過限制搜索範圍來使文檔的查找更為容易。對於文檔B和文檔BI,如果二者本身處於相同的類別,則可以建立文檔B和文檔BI的關聯關係。例如,文檔B 「中考語文閱讀」和文檔BI 「中考語文作文」都屬於「中考語文」的類別,則可以建立文檔B和文檔BI的關聯關係。可以理解的是,文檔的「已有的關聯信息」可以是以任何方式獲得的,上述兩種方案僅作示意性說明。在實際應用中,兩種方案既可以獨立使用,也可以結合使用,例如將「屬於相同類別」賦予一定的加權值,與「用戶訪問行為所體現的相關性」共同作用。當然,在不脫離本發明的基本思想的前提下,本領域技術人員也可以採用其他的建立關聯信息的方法,並且這些方法既可以獨立使用,也可以與本發明實施例所提供的方法結合使用。S103,利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。對於文檔A,假設通過以文檔A為中心進行聚簇後,將與文檔A內容近似的文檔B、文檔C、文檔D聚為相同的簇。並且,B、C、D的分別具有以下關聯文檔B的關聯文檔為B1、B2、B3、B4 (按關聯權重排序,下同); C的關聯文檔為Cl、C2、C3 ;D的關聯文檔為D1、D2 ;那麼,作為六的同簇成員的關聯文檔,81、(1、02、03、01、02就構成了 A的推薦候選集合,可以根據該集合生成文檔A的推薦結果。根據實際需求,利用推薦候選集合生成推薦結果可以有不同的策略,例如可以分別選取每個同簇成員的前N位關聯文檔生成推薦結果;也可以根據簇成員到簇中心的距離遠近,選取不同數量的關聯文檔生成推薦結果,例如對於距離最近的簇成員,選取3個關聯文檔加入推薦結果,對於距離次近的簇成員,選取2個關聯文檔加入推薦結果,對於剩餘簇成員,分別選取I個關聯文檔加入推薦結
裡坐坐此外,如果在生成推薦結果的過程中,發現不同簇成員之間存在著相同的關聯文檔,則認為這樣的文檔關聯置信度較高,可以優先加入推薦結果。例如B 的關聯文檔為 B1、B2、B3、B4 ;C的關聯文檔為C1、C2、C3、X ;D的關聯文檔為D1、D2、X ;根據已有的關聯信息,文檔X同時構成文檔C和文檔D的關聯文檔,則在生成推薦結果的過程中,可以根據文檔X的共現程度,給予文檔X額外的排名加權。另外,考慮到B、C、D本身就是與A內容近似的文檔,因此在實際推薦過程中,也可以考慮將B、C、D也進一步加入推薦結果中。應用上述技術方案,假設A是新發布文檔,那麼就可以將B、C、D的關聯文檔作為A的推薦結果反饋給用戶。另一方面,如果文檔A原本已經具有一些關聯文檔可供推薦,那麼在聚簇之後,A就具有了更多的推薦候選,這也有利於對推薦結果做進一步的優化。相應於上面的方法實施例,本發明還提供一種文檔推薦裝置,參見圖2所示,該裝置包括聚簇單元110,用於在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇;本發明對於任意文檔A,採用以文檔A為中心、根據文檔內容相似程度進行聚簇的方式,將文檔集中所有與文檔A內容近似的文檔找到,然後根據將簇中其他成員的關聯文檔作為文檔A的推薦候選,生成文檔A的推薦結果。在本發明的一種具體實施方式
中,可以利用文本判重技術對文檔進行聚簇。基於網際網路的客觀應用環境,必然會存在大量的內容重複的文檔,為了對這些重複文檔進行有效的管理,相應產生了很多文本判重技術,例如基於文檔級別的籤名算法進行判重,常用算法包括MD5算法、simhash算法等等。在本申請所提供的方案中,可以直接利用這些成熟的文檔判重技術,對預置文檔集中不同的文檔進行判重處理,將內容相同的文檔歸到一起。在具體實施過程中,可以首先對文檔進行分句,例如按找換行符、句號、嘆號、問號等切分標識對文檔進行切分;然後切分後的句子進行歸一化處理,例如如全半角轉化、大小寫轉化、繁簡體轉化、去除噪聲字符、多空白符歸一等;最後對句子進行籤名,並計算兩文檔籤名向量的公共長度或相似度,以公共長度或相似度表示內容重合度。
可以理解的是,以上所提供的文檔判重流程僅作為一種示意性說明,不應該構成對本發明方案的限制。在實際應用中,由於用戶改動等原因,有些文檔之間的內容可能會有一些細節上的區別,但是整體上的內容仍然趨於一致。而本發明的目的是基於文檔的內容相似程度進行推薦件,因此,可以預先設定一個內容重複度閾值(例如80%、90%等),在判重過程中,如果文檔間的相似度超過這個閾值,則認為文檔之間的差異很小,可以聚和成為同一個文檔簇,進而在同簇成員之間,關聯文檔可以互相通用。在本發明的另一種具體實施方式
中,還可以利用檢索技術對文檔進行聚簇。搜尋引擎的基本功能,就是根據給定的搜索關鍵詞,找出與該關鍵詞內容相同或相似的其他網絡資源。根據搜尋引擎的基本功能,在本發明中,可以利用文檔A (即聚簇中心)的內容構成搜索關鍵詞輸入搜尋引擎,在預置的文檔集範圍內進行搜索,然後根據搜索結果確定聚簇的成員。一種最基本的實現方案是可以將文檔A的標題直接作為搜索關鍵詞輸入搜尋引擎,如果搜索結果的標題與文檔A相同或相似,則可以將該搜索結果聚入以A為中心的文檔簇。例如,文檔A的標題為「中考閱讀(語文)」,通過檢索得到另一篇文檔B的標題為「中考語文閱讀」,那麼可以直接將該文檔B聚入簇內。當然在實際應用中,如果搜索結果的正文內容與文檔A的標題相似,也可以認為滿足聚簇條件,並不一定僅限定為「標題相似」。在理論上,除了標題之外,文檔A的其他部分都可以用於檢索,例如作者、摘要等等。在構成檢索關鍵詞的過程中,還可以進行如分詞、去除停用詞等等預處理。另外,目前很多搜尋引擎已經非常智能,例如搜尋引擎本身會自動進行分詞、去除停用詞等預處理,而且搜索結果一般也都會根據與關鍵詞的相關(相似)程度進行排序,因此可以直接取搜索結果的前η (η為正整數)位,作為A的同簇成員。總之,本領域技術人員可以根據實際應用需求和應用場景,靈活設置利用搜索結果聚簇的具體策略,本發明對此並不需要進行限定。與基於判重技術進行聚簇的方法相比,基於搜索技術的聚簇方法在相似程度判斷的精確度上有所欠缺,但是可以直接利用現有的搜尋引擎,因此實現成本較低。在實際應用中,兩種方案既可以獨立使用,也可以結合使用。當然,在不脫離本發明的基本思想的前提下,本領域技術人員也可以採用其他的聚簇方法,並且這些方法既可以獨立使用,也可以與本發明實施例所提供的方法結合使用。關聯單元120,用於根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;通過聚簇得到與文檔A內容相似的文檔之後,為了針對文檔A進行推薦,需要首先確定相似文檔的關聯文檔。本發明方案基於這樣的假設在預置的文檔集中,存在一部分文檔,這些文檔本身已經具有關聯信息。那麼,如果這類文檔與文檔A被聚在同一簇中,則可以利用這些已有的關聯信息來生成文檔A的推薦結果。在本發明的一種具體實施方式
中,可以根據與文檔相關的用戶行為記錄,建立的不同文檔之間的關聯信息。
對於文檔B和文檔BI,在用戶的訪問過程中,體現出了相關性,則可以建立文檔B和文檔BI的關聯關係。其中「用戶的訪問」可以包括瀏覽、搜索、主動推薦等行為。例如,某用戶在某次瀏覽過程中,先瀏覽了文檔B 「中考語文閱讀」,然後又瀏覽了文檔BI 「中考語文作文」,則可以建立文檔B和文檔BI的關聯關係。在一種具體具體實施方式
中,可以將預置的文檔集合初始化為一個圖(graph),文檔集合中的每一篇文檔構成該圖的點集合,後續如果有新文檔加入,則相應增加一個點。圖的初始邊集合為空,對於任意的兩個點,如果在一名用戶的訪問行為中體現出了相關性,則在這兩個點之間增加一條邊,如果在另一名用戶的訪問行為中也體現了相關性,則增加已有邊的權重……如此反覆,通過分析大量用戶的歷史行為記錄,逐步增加邊的數量與權重。最終得到文檔集合內所有文檔的關聯信息。在實際應用中,還可以給不同的用戶行為賦予不同的權重值。例如對於「搜索」行為所體現的相關性,賦予O. 5單位的權重;對於「瀏覽」行為所體現的相關性,賦予I單位的權重;對於「用戶主動推薦」行為所體現的相關性,賦予2單位的權重,等等。在本發明的一種具體實施方式
中,還可以根據文檔所歸屬的類別,建立的不同文檔之間的關聯信息。文檔分類是指按照根據文檔或內容的屬性,對文檔集合中的每一個文檔確定一個類別。這樣,用戶不但能夠方便地在特定的類別瀏覽文檔,而且可以通過限制搜索範圍來使文檔的查找更為容易。對於文檔B和文檔BI,如果二者本身處於相同的類別,則可以建立文檔B和文檔BI的關聯關係。例如,文檔B 「中考語文閱讀」和文檔BI 「中考語文作文」都屬於「中考語文」的類別,則可以建立文檔B和文檔BI的關聯關係。可以理解的是,文檔的「已有的關聯信息」可以是以任何方式獲得的,上述兩種方案僅作示意性說明。在實際應用中,兩種方案既可以獨立使用,也可以結合使用,例如將「屬於相同類別」賦予一定的加權值,與「用戶訪問行為所體現的相關性」共同作用。當然,在不脫離本發明的基本思想的前提下,本領域技術人員也可以採用其他的建立關聯信息的方法,並且這些方法既可以獨立使用,也可以與本發明實施例所提供的方法結合使用。推薦單元130,用於利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。對於文檔A,假設通過以文檔A為中心進行聚簇後,將與文檔A內容近似的文檔B、文檔C、文檔D聚為相同的簇。並且,B、C、D的分別具有以下關聯文檔B的關聯文檔為B1、B2、B3、B4 (按關聯權重排序,下同);C的關聯文檔為C1、C2、C3 ;D的關聯文檔為D1、D2 ;那麼,作為六的同簇成員的關聯文檔,81、(1、02、03、01、02就構成了 A的推薦候選集合,可以根據該集合生成文檔A的推薦結果。根據實際需求,利用推薦候選集合生成推薦結果可以有不同的策略,例如可以分別選取每個同簇成員的前N位關聯文檔生成推薦結果;也可以根據簇成員到簇中心的距離遠近,選取不同數量的關聯文檔生成推薦結 果,例如對於距離最近的簇成員,選取3個關聯文檔加入推薦結果,對於距離次近的簇成員,選取2個關聯文檔加入推薦結果,對於剩餘簇成員,分別選取I個關聯文檔加入推薦結
裡坐坐此外,如果在生成推薦結果的過程中,發現不同簇成員之間存在著相同的關聯文檔,則認為這樣的文檔關聯置信度較高,可以優先加入推薦結果。例如B 的關聯文檔為 B1、B2、B3、B4 ;C的關聯文檔為C1、C2、C3、X ;D的關聯文檔為D1、D2、X ;根據已有的關聯信息,文檔X同時構成文檔C和文檔D的關聯文檔,則在生成推薦結果的過程中,可以根據文檔X的共現程度,給予文檔X額外的排名加權。另外,考慮到B、C、D本身就是與A內容近似的文檔,因此在實際推薦過程中,也可以考慮將B、C、D也進一步加入推薦結果中。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本發明時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。應用上述技術方案,假設A是新發布文檔,那麼就可以將B、C、D的關聯文檔作為A的推薦結果反饋給用戶。另一方面,如果文檔A原本已經具有一些關聯文檔可供推薦,那麼在聚簇之後,A就具有了更多的推薦候選,這也有利於對推薦結果做進一步的優化。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目統或設備的分布式計算環境等等。
本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。以上所述僅是本發明的具體實施方式
,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍 。
權利要求
1.ー種文檔推薦方法,其特徵在於,包括 在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇; 根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔; 利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。
2.根據權利要求I所述的方法,其特徵在於,所述文檔關聯信息為 根據與文檔相關的用戶行為記錄所建立的不同文檔之間的關聯信息。
3.根據權利要求I所述的方法,其特徵在於,所述文檔關聯信息為 根據文檔所歸屬的類別所建立的不同文檔之間的關聯信息。
4.根據權利要求I所述的方法,其特徵在於,所述以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇,包括 對文檔內容進行判重,將與文檔A內容重複度超過預設閾值的文檔聚合為ー個文檔簇。
5.根據權利要求I所述的方法,其特徵在於,所述根據文檔內容的相似程度對文檔進行聚簇,包括 利用文檔A進行檢索,根據檢索結果,將與文檔A內容相關度超過預設閾值的文檔聚合為ー個文檔簇。
6.根據權利要求I所述的方法,其特徵在於,該方法還包括 利用文檔A的同簇文檔,構成文檔A的第二推薦結果。
7.ー種文檔推薦裝置,其特徵在於,包括 聚簇單元,用於在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇; 關聯單元,用於根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔; 推薦單元,用於利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。
8.根據權利要求7所述的裝置,其特徵在於,所述文檔關聯信息為 根據與文檔相關的用戶行為記錄所建立的不同文檔之間的關聯信息。
9.根據權利要求7所述的裝置,其特徵在於,所述文檔關聯信息為 根據文檔所歸屬的類別所建立的不同文檔之間的關聯信息。
10.根據權利要求7所述的裝置,其特徵在於,所述聚簇単元,具體用於 對文檔內容進行判重,將與文檔A內容重複度超過預設閾值的文檔聚合為ー個文檔簇。
11.根據權利要求7所述的裝置,其特徵在於,所述聚簇単元,具體用於 利用文檔A進行檢索,根據檢索結果,將與文檔A內容相關度超過預設閾值的文檔聚合為ー個文檔簇。
12.根據權利要求7所述的裝置,所述推薦単元,還用於 利用文檔A的同簇文檔,構成文檔A的第二推薦結果。
全文摘要
本發明公開了一種文檔推薦方法及裝置,一種文檔推薦方法包括在預置的文檔集合中,以文檔A為中心,根據文檔內容的相似程度對文檔進行聚簇;根據當前存在的文檔關聯信息,確定與文檔A同簇文檔的關聯文檔;利用所確定的與文檔A同簇文檔的關聯文檔,構成文檔A的第一推薦結果。與現有技術相比,應用本發明所提供的技術方案,不需要人工對新發布文檔進行預處理,從而有效地節省了人力成本。這樣即便是新發布的文檔,也可以為其生成推薦結果,有效解決了冷啟動問題與數據稀疏問題。
文檔編號G06F17/30GK102855282SQ20121027276
公開日2013年1月2日 申請日期2012年8月1日 優先權日2012年8月1日
發明者徐興軍 申請人:北京百度網訊科技有限公司