一種快速計算評論相似度的方法、裝置及系統的製作方法
2023-06-01 17:29:01
專利名稱:一種快速計算評論相似度的方法、裝置及系統的製作方法
技術領域:
本發明屬於文本相似度分析技術領域,尤其涉及ー種快速計算評論相似度的方法、裝置及系統。
背景技術:
在信息網絡的互動領域,用戶往往希望對所接收到的信息發表評論,由於評論中往往存在部分相似度很高的評論,所以分析評論相似度對於評論的數據分析處理有重要作用,例如有助於精華評論萃取、垃圾評論內容分析等。現有的評論計算方式普遍採用直接使用相似度算法計算任意兩個評論之間的相似度,進而計算相似度最高的評論的相似度得分,進而找出相似度較高的評論。然而,該種評論計算方式需要用新評論與歷史評論逐一進行比較,計算量較大。如此,一方面導致了服 務器的處理速度比較慢;另ー方面,也増加了對伺服器的存儲評論內容資料庫的訪問次數。
發明內容
鑑於現有技術中存在的問題,本發明的目的在於提供ー種快速計算評論相似度的方法、裝置及系統,用於針對網際網路信息,特別是網際網路信息的評論、回復等。針對這類短文本,採用適合短文本的相似度計算方法,可以實現減少對伺服器CPU的運算依賴度和對伺服器的存儲評論內容資料庫的訪問次數,以此提高伺服器的系統處理效能。為了達到上述目的,本發明提供了ー種快速計算評論相似度的方法,其特徵在於包括如下步驟SI、提取新評論關鍵字;S2、為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;S3、計算新評論文本與索引文本間相同關鍵字的數量;S4、根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;S5、獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本。進ー步,本發明所述的快速計算評論相似度的方法,其特徵在於還包括步驟S6,將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。進ー步,本發明所述的快速計算評論相似度的方法,其特徵在於步驟SI具體包括如下步驟SI I,將評論原始文本轉化為可用處理文本;S12,接著使用分詞程序對已處理的評論文本進行分詞;S13,根據文本分詞結果,抽取句子主幹;S14,根據停用詞詞表進ー步過濾步驟S13所得到特徵關鍵字,最終提取得到有用的新的評論關鍵字。進ー步,本發明所述的快速計算評論相似度的方法,其特徵在於步驟S4的具體過程包括步驟S21,採用採用布爾權重的方法計算特徵關鍵字權重;步驟S22,根據步驟SI獲得的各個關鍵字的權重,採用Dice係數計算文本相似度,以兩個文本間相同關鍵字的個數以及各個關鍵字的權重來衡量文本間的相似程度。此外,本發明還提供ー種快速計算評論相似度的裝置,其特徵在於包括如下模塊關鍵字提取ホ吳塊,用於提取新評論的關鍵字;倒排索引模塊,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論 文本有相同關鍵字的文本;相同關鍵字計算模塊,用於計算新評論文本與索引文本間相同關鍵字的數量;相似度計算模塊,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;相似度文本確定模塊,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本;索引添加模塊,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。此外,本發明還提供ー種快速計算評論相似度的系統,其特徵在於包括如下裝置:關鍵字提取裝置,用於提取新評論的關鍵字;倒排索引裝置,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;相同關鍵字計算裝置,用於計算新評論文本與索引文本間相同關鍵字的數量;相似度計算裝置,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;相似度文本確定裝置,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本;索引添加裝置,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。本發明所述的快速分析計算評論相似度的方法、裝置及系統可以快速計算短文本相似度,運算程序以空間換時間,減少CPU計算時間,具體而言;I、採用倒排索引方式存儲文本特徵關鍵字,增強相似度文本查找速度,不需要文本之間逐一相似度計算,減少計算量;2、保留每個文本相似度計算時的中間計算值,文本相似度計算時直接使用,不需要多次計算。
圖I是本發明所述的快速計算評論相似度的方法的流程圖2是本發明所述的快速計算評論相似度的裝置的框圖;圖3是本發明所述的快速計算評論相似度的系統的框圖。
具體實施例方式為使本發明的上述目的、特徵和優點更加明顯易懂,下面結合附圖和具體實施例對本發明作進ー步詳細的說明圖I是本發明所述的快速計算評論相似度的方法的流程圖。如圖I所示,本發明方法具體執行過程如下SI、提取新評論關鍵字;具體提取過程如下步驟S11,將評論原始文本轉化為可用處理文本,如去掉內部標籤、表情等信息;轉化程序可以使用自身程序來進行文本處理,例如,對於對於微博這類短文本,可以將短文本中的內部標籤、新浪微博標籤去掉,在轉發中出現的人名「//ぎ』,話題標答「##」等都去掉,僅抽取評論的自身內容,此外,也通過在資料庫中存儲"[]"如[贊]等表情標籤,可以將短文本中的表情標籤信息去掉步驟S12,接著使用分詞程序對已處理的評論文本進行分詞;該過程可以使用自身程序實現,也可以使用第三方中文分詞程序,詞典從網際網路上抓取,從而可以不斷豐富了本地分詞詞庫;分詞算法採用最大逆向匹配原則,根據詞典中的詞對文本進行分詞。步驟S13,根據文本分詞結果,抽取名詞、動詞等句子主幹;抽取名詞、動詞、形容詞等是根據程序進行詞性標註得來的,使用外部程序完成。比如「黃曉明哈哈劇情發展」標記後得「黃曉明/nh哈哈/o劇情/n發展/V」。如果對於一些複雜句子結構,有可能出現標記錯誤情況,導致抽取會出現錯誤。根據測試詞性標註的準確率會在95%以上,存在少部分錯誤可能影響最後相似度得分,但由於高準確率得分範圍變化不會太大。所以能夠比較準確地抽取到句子主幹。步驟S14,最後根據停用詞詞表進ー步過濾步驟S13所得到特徵關鍵字,最終提取得到有用的新的評論關鍵字。停用詞詞表中的詞,表不這些詞對文本意思的影響不大,可以忽略。停用詞詞表部分來源於網際網路,少部分使用統計方法得出,比如統計大規模評論中發現後「沙發」這個關鍵字得分非常低,可以加入停用詞詞表。此外,更多的停用詞,例如似乎、的、當然等等。S2、為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;對每個關鍵字建立ー個索引,索引文本為需要做相似度分析的文本。倒排索引的目的以便於快速查找文本及文本信息;排索引是搜尋引擎中使用的一種技術方法。倒排索引實質是根據文本中的關鍵詞建立一個查找機制,來查找文本的ー種方法。這種索引表中的每ー項都包括ー個屬性值和具有該屬性值的各記錄的地址。由於不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引(inverted index)。帶有倒排索引的文件我們稱為倒排索引文件,簡稱倒排文件。本發明建立倒排索引具體過程如下
定義兩張表a和b ;其中,表a的每一行存儲評論的文本、抽取的特徵關鍵字信息、以及ー個代表文本的卩隹ー id號;表b是姆一行存儲關鍵字及ー組id序列。根據表a的文本所生成關鍵字對應ー個文本的id序列。表b生成規則是遍歷表a中所有文本,對每ー個文本中出現的關鍵字,將id號添加到表b關鍵字對應的id序列中,如果沒有該關鍵字則加入一組新的關鍵字。倒排索引使用過程,例如,找出含有關鍵字「你好」的文檔,可以根據表b快速定位到關鍵字「你好」,並獲取到對應的id序列,根據id查找表a中id對應的文檔。S3、計算新評論文本與索引文本間相同關鍵字的數量;具體過程如下根據S2步驟中新評論文本與其他所有文本中包含相同的關鍵字的索引文本, 算新評論文本與所有文本的關鍵字個數,由於S2步驟已經找出了與新文本有相同關鍵字的文本,所以本步驟中「所有文本」是ー個被簡化的區間,所得到的結果為文本間相同關鍵字的個數,這個關鍵字個數就是下面相似度計算公式Dice方法中comm(sl, s2)值。統計各文本與新文本之間相同特徵的信息,這一信息可以是關鍵字,本發明的文本特徵只使用文本中的關鍵字來表示,所以計算相似度的時候只使用Si步驟中抽取出來的特徵關鍵字,其他的方法可能出現ー些信息,如文本長度、符號信息等也算是文本特徵,也可以作為對文本進行分析的特徵信息。評論特徵信息指公式中Ieng (s2)這個值,這個值表示使用特種關鍵字計算的ー個文本信息值,如本發明中使用Dice方法計算文本相似度,那麼該值為文本中特徵關鍵字的個數即可。這個值可以保存在S2的表a中,以方便與其他文本進行相似度時使用。S4、根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;該步驟的具體實現過程如下步驟S41,採用採用布爾權重的方法計算特徵關鍵字權重;由於評論內容為短文本,文本包含的特徵詞數量較少,所以採用布爾權重的方法計算特徵權重;常用的特徵權重方法有布爾權重、詞頻(tf)權重、tf-idf權重。根據實驗表明如果使用tf-idf方法計算特徵權重,會相對增加計算量,且計算相似度的效果沒有明顯變化,所以採用布爾權重的方法計算特徵權重。步驟S42,根據步驟S41獲得的各個關鍵字的權重,採用Dice係數計算文本相似度,以兩個文本間相同關鍵字的個數以及各個關鍵字的權重來衡量文本間的相似程度;Dice係數計算公式為Dice (si, s2) = 2Xcomm(sl, s2)/(leng(si)+Ieng(s2))其中,comm(sl, s2)是si、s2中相同字符的個數,leng(sl), leng(s2)是字符串sl、s2的長度。舉例說明如下,例如已經經過提取關鍵字處理之後的句子為新文本Cl :電影黃曉明扮演小明;已有索引文本包括索引文本C2 :電影黃曉明演技索引文本C3 :趙薇扮演小薇索引文本C4:小薇女孩首先,根據「電影」、「黃曉明」,「扮演」,「小明」等關鍵字找出倒排索引中對應文檔C2和C3(C2、C3、C4已經加入倒排索引)。然後,計算Cl與C2、C1與C3關鍵字相同的個數,即公式中的comm(sl,s2)。最後,使用Dice相似度計算公式,計算Cl與C2的相似度,Cl與C3的相似度。S5、獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本。最終得到相似度的ー個分數,該分數在0-1之間,I表示文本內容最相近,O表示最不相近;得到新評論相似度得分的目的是判斷該新的評論是否是抄襲,也可以基於此確定被引用次數最多的評論為精華評論,從而降低抄襲評論的精華評論得分。S6、將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。本發明技術方案可以在ー単獨裝置中實現,由此也可以獲得一種能夠完成此技術 方案的實體裝置,圖2是本發明所述的快速計算評論相似度的裝置的框圖;具體包括如下模塊關鍵字提取模塊,用於提取新評論的關鍵字;具體工作過程與方法步驟SI的具體過程相同。倒排索引模塊,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;具體工作過程與方法步驟S2的具體過程相同。相同關鍵字計算模塊,用於計算新評論文本與索引文本間相同關鍵字的數量;具體工作過程與方法步驟S3的具體過程相同。相似度計算模塊,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;具體工作過程與方法步驟S4的具體過程相同。相似度文本確定模塊,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本;具體工作過程與方法步驟S5的具體過程相同。索引添加模塊,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。此外,本發明也可以通過分離的各個裝置來協同完成,由此可以獲得ー種能夠完成此技術方案的系統,圖3是本發明所述的快速計算評論相似度的系統的框圖,具體包括如下裝置關鍵字提取裝置,用於提取新評論的關鍵字;具體工作過程與方法步驟SI的具體過程相同。倒排索引裝置,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;具體工作過程與方法步驟S2的具體過程相同。相同關鍵字計算裝置,用於計算新評論文本與索引文本間相同關鍵字的數量;具體工作過程與方法步驟S3的具體過程相同。相似度計算裝置,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;具體工作過程與方法步驟S4的具體過程相同。相似度文本確定裝置,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本;具體工作過程與方法步驟S5的具體過程相同。索引添加裝置,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。
綜上所述,本發明的快速計算評論相似度的方法、裝置及系統,由於評論內容為短文本,文本包含的特徵詞數量較少,所以採用布爾權重的方法計算特徵權重,採用Dice係數計算兩個字符串的相似度,對相似度計算複雜做出優化,其具有以下優點可以快速計算短文本相似度,運算程序以空間換時間,減少CPU計算時間。採用倒排索引方式存儲文本特徵關鍵字,增強相似度文本查找速度,不需要文本之間逐一相似度計算,減少計算量。以上是對本發明的優選實施例進行的詳細描述,但本領域的普通技術人員應該意識到,在本發明的範圍內和精神指導下,各種改進、添加和替換都是可能的,例如調整接ロ 調用順序、改變消息格式和內容、使用不同的程式語言(如C、C++、Java等)實現等。這些都在本發明的權利要求所限定的保護範圍內。
權利要求
1.ー種快速計算評論相似度的方法,其特徵在於包括如下步驟 51、提取新評論關鍵字; 52、為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本; 53、計算新評論文本與索引文本間相同關鍵字的數量; 54、根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度; 55、獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本。
2.根據權利要求I所述的快速計算評論相似度的方法,其特徵在於還包括步驟S6,將新評論文本加入索引,生產新索引,進而當計算下一條評論時,所有已知評論都要加入倒排索引中。
3.根據權利要求I或2所述的快速計算評論相似度的方法,其特徵在於步驟SI具體包括如下步驟 SI I,將評論原始文本轉化為可用處理文本; S12,接著使用分詞程序對已處理的評論文本進行分詞; S13,根據文本分詞結果,抽取句子主幹; S14,根據停用詞詞表進ー步過濾步驟S13所得到特徵關鍵字,最終提取得到有用的新的評論關鍵字。
4.根據權利要求I或2所述的快速計算評論相似度的方法,其特徵在於步驟S4的具體過程包括 S21,採用採用布爾權重的方法計算特徵關鍵字權重; S22,根據步驟SI獲得的各個關鍵字的權重,採用Dice係數計算文本相似度,以兩個文本間相同關鍵字的個數以及各個關鍵字的權重來衡量文本間的相似程度。
5.ー種快速計算評論相似度的裝置,其特徵在於包括如下模塊 關鍵字提取ホ吳塊,用於提取新評論的關鍵字; 倒排索引模塊,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本; 相同關鍵字計算模塊,用於計算新評論文本與索引文本間相同關鍵字的數量; 相似度計算模塊,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度; 相似度文本確定模塊,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本; 索引添加模塊,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論吋,所有已知評論都要加入倒排索引中。
6.ー種快速計算評論相似度的系統,其特徵在於包括如下裝置 關鍵字提取裝置,用於提取新評論的關鍵字; 倒排索引裝置,用於為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本; 相同關鍵字計算裝置,用於計算新評論文本與索引文本間相同關鍵字的數量;相似度計算裝置,用於根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度; 相似度文本確定裝置,用於獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文 本; 索引添加裝置,用於將新評論文本加入索引,生產新索引,進而當計算下一條評論吋,所有已知評論都要加入倒排索引中。
全文摘要
一種快速計算評論相似度的方法、裝置及系統,其首先提取新評論關鍵字;然後,為提取的每個關鍵字查倒排索引及文本信息,找出與新評論文本有相同關鍵字的文本;進而計算新評論文本與索引文本間相同關鍵字的數量;並根據新評論文本與索引文本間相同關鍵字的數量計算新文本與索引中文本的相似度;最終獲取新文本最高相似度得分,從而找出與新評論文本中最相似的文本。本發明尤其適合針對影視評論這類短文本內容的相似度分析,可以快速計算短文本相似度,運算程序以空間換時間,減少CPU計算時間。
文檔編號G06F17/30GK102693279SQ201210132078
公開日2012年9月26日 申請日期2012年4月28日 優先權日2012年4月28日
發明者盧述奇, 姚鍵, 張宇峰, 潘柏宇, 陳學文 申請人:合一網絡技術(北京)有限公司