本發明實施例涉及大數據分析技術領域,尤其涉及一種重復文本的檢測方法及裝置。
背景技術:
在互聯網大規模普及的今天,各種資源呈爆炸式增長,越來越龐大的互聯網促進了搜索引擎技術的不斷發展,使它越來越成為人們從網絡上獲取信息的主要手段。但是,互聯網上有大量的重復網頁信息。為了提高搜索引擎提供的搜索結果的有效性,文本的重復檢測就成為了互聯網企業提高搜索引擎質量的關鍵技術。
在文本的重復檢測技術中,一種十分常用的技術就是基于哈希算法而完成的。這種技術已經相當成熟,運行效率和魯棒性都是能夠滿足搜索引擎目前的需要。當時,利用哈希算法完成的文本重復檢測有一個缺點,就是在面對短文本的重復檢測時,會出現運行效率不高的情況。
技術實現要素:
針對上述技術問題,本發明實施例提供了一種重復文本的檢測方法及裝置,以實現對短文本的有效的重復檢測處理。
一方面,本發明實施例提供了一種重復文本的檢測方法,所述方法包括:
獲取待檢測文本;
將所述待檢測文本區分為短文本及長文本;
對所述短文本采用基于文本關聯的重復檢測;
對所述長文本采用基于局部敏感哈希算法的重復檢測。
另一方面,本發明實施例還提供了一種重復文本的檢測裝置,所述裝置包括:
文本獲取模塊,用于獲取待檢測文本;
文本區分模塊,用于將所述待檢測文本區分為短文本及長文本;
短文本檢測模塊,用于對所述短文本采用基于文本關聯的重復檢測;
長文本檢測模塊,用于對所述長文本采用基于局部敏感哈希算法的重復檢測。
本發明實施例提供的重復文本的檢測方法及裝置,通過獲取待檢測文本,將所述待檢測文本區分為短文本及長文本,對所述短文本采用基于文本關聯的重復檢測,對所述長文本采用基于局部敏感哈希算法的重復檢測,實現了對短文本的有效的重復檢測處理。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
圖1是本發明第一實施例提供的重復文本的檢測方法的流程圖;
圖2是本發明第二實施例提供的重復文本的檢測裝置的結構圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部結構。
第一實施例
本實施例提供了重復文本的檢測方法的一種技術方案。
參見圖1,重復文本的檢測方法包括:
S11,獲取待檢測文本。
上述對待檢測文本的獲取可以是通過網絡爬蟲程序由互聯網獲取,也可以是從指定的語料數據庫中獲取。
如果通過上述獲取手段獲取到的待檢測文本的正確性難以判斷,則一般在獲取到原始的待檢測文本之后還需要對原始的文本進行一次數據清洗的操作。經過數據清洗之后,保留下來的待檢測文本就是進行重復文本檢測的原始語料。
S12,將所述待檢測文本區分為短文本及長文本。
優選的,可以根據實際的檢測需要預先構造對短文本及長文本進行區分的區分規則。在實際進行短文本及長文本區分時,應用上述規則。
更為優選的,可以預先設定一個區分短文本及長文本的文本長度閾值,當待檢測文本的文本長度大于這個長度閾值時,待檢測文本是長文本,而當待檢測文本的文本長度小于或者這個等于這個長度閾值時,待檢測文本是短文本。
需要理解的是,構建的區分規則可以不僅僅以上述列舉的長度參數作為判定要素,還可以引入除文本長度以外的其他參數作為判定要素。比如,可以將文本內容作為上述區分規則中的判定要素之一。
另外,還可以以預先構建的分類器完成對短文本及長文本的區分。如果以分類器完成長短文本的區分,則分類器的輸入參數可以有多種。比如,分類器的輸入參數可以包括:文本長度、特征語段等。
S13,對所述短文本采用基于文本關聯的重復檢測。
由于對待檢測的短文本直接應用哈希算法,會出現運行效率不高的情況,在本實施例中,采用首先將待檢測的短文本關聯至一個長文本,再根據對長文本應用哈希算法的重復檢測結果,判斷待檢測的短文本是否出現了重復。
上述文本關聯是指對同一主題的文本進行關聯。例如,微博的主帖和該主帖所有的回帖可以關聯;或者論壇的主帖和該主帖所有的回帖可以關聯到一起。然后對同一主題的短文本,通過hash算法進行重復性檢測。
采用上述的方式實現對短文本的重復檢測,不僅克服了在短文本上直接應用哈希算法而造成的運行效率問題,而且重復檢測的準確性也十分有保障。
S14,對所述長文本采用基于局部敏感哈希算法的重復檢測。
遇到待檢測文本是長文本的情況時,采用局部敏感哈希(Local sensitive hash,LSH)算法對待檢測文本進行重復檢測。上述局部敏感哈希算法包括:MinHash算法,或者SimHash算法。具體的,對長文本的重復檢測可以是:基于MinHash算法,或者SIMHash算法生成長文本的文件指紋,并基于所述文件指紋進行重復檢測。
本實施例通過獲取待檢測文本,將所述待檢測文本區分為短文本及長文本,對所述短文本采用基于文本關聯的重復檢測,以及對所述長文本采用基于局部敏感哈希算法的重復檢測,實現了對短文本的有效的重復檢測處理。
第二實施例
本實施例提供了重復文本的檢測裝置的一種技術方案。在該技術方案中,所述重復文本的檢測裝置包括:文本獲取模塊21、文本區分模塊22、短文本檢測模塊23,以及長文本檢測模塊24。
所述文本獲取模塊21用于獲取待檢測文本。
所述文本區分模塊22用于將所述待檢測文本區分為短文本及長文本。
所述短文本檢測模塊23用于對所述短文本采用基于文本關聯的重復檢測。
所述長文本檢測模塊24用于對所述長文本采用基于局部敏感哈希算法的重復檢測。
進一步的,所述文本區分模塊22具體用于:基于規則或者分類器,將所述待檢測文本區分為短文本及長文本。
進一步的,所述短文本檢測模塊23包括:文本關聯單元,以及檢測單元。
所述文本關聯單元用于對所述短文本進行短文本關聯。
所述檢測單元用于對關聯后的文本進行基于哈希算法的重復檢測。
進一步的,所述長文本檢測模塊24具體用于:采用局部敏感哈希算法生成所述長文本的文件指紋,并基于所述文件指紋進行重復檢測。
進一步的,所述局部敏感哈希算法包括:MinHash算法,以及S imHash算法。
本領域普通技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,他們可以用計算機裝置可執行的程序代碼來實現,從而可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件的結合。
以上所述僅為本發明的優選實施例,并不用于限制本發明,對于本領域技術人員而言,本發明可以有各種改動和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。