两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種快速檢測重復(fù)抄襲文本的方法與流程

文檔序號:12597329閱讀:663來源:國知局
本發(fā)明涉及文本處理以及搜索引擎領(lǐng)域,特別涉及一種快速檢測重復(fù)抄襲文本的方法。
背景技術(shù)
::互聯(lián)網(wǎng)中的信息數(shù)量,每天正在以爆炸式的速度增長。通過分析互聯(lián)網(wǎng)上海量的文章,統(tǒng)計表明,文章上大部分相同的頁面占29%,而主體內(nèi)容完全相同的占22%;也就是說,互聯(lián)網(wǎng)上全部文章中,約有1/4是重復(fù)的文章。對一些論壇、BBS、博客頁面來說,由于大量文本來自轉(zhuǎn)帖或者抄襲,重復(fù)文章的比例更高。這些重復(fù)的文章存在多種表現(xiàn)形式:有的是沒有一點改動的拷貝;有的在內(nèi)容上稍作修改,比如增加少量點評,或刪除少許文字,或改變文字段落順序;有的進行細微格式變化,比如改變字體,修改標(biāo)點,文字大小寫等。由上可知,需要一種能夠判定文本是否重復(fù)的方法(即文本除重),提供給系統(tǒng)使用,在判定抄襲、重復(fù)時有重大作用。另外,由于判定工作需要處理的數(shù)據(jù)規(guī)模巨大,需要處理效率足夠高,因此系統(tǒng)的運算速度非常重要。技術(shù)實現(xiàn)要素:本發(fā)明要解決的技術(shù)問題是,提供在秒級時間內(nèi)完成重復(fù)抄襲文本的檢測,能用于大量應(yīng)用場景的快速檢測重復(fù)抄襲文本的方法。以下是對文中出現(xiàn)的英文的對應(yīng)說明,便于理解文中的內(nèi)容:current_para_buf——候選文本塊current_feature_buf——候選特征文本塊current_feature_len——候選文本塊長度feature_para_len——全局特征文本長度feature_para_buf——全局特征文本塊解決上述技術(shù)問題,本發(fā)明提供了一種快速檢測重復(fù)抄襲文本的方法,包括如下步驟:1)識別經(jīng)過預(yù)處理后文本的長度,若所述文本的長度小于設(shè)定閾值,則進行簽名計算;2)若所述文本的長度大于第一閾值,則進行進入如下步驟:2-1)設(shè)置第一類型特征句分隔符列表和第二類型特征句分隔符列表;2-2)從上述文本的頭部開始依次遍歷后續(xù)字符,并在上述分隔符列表中尋找是否存在對應(yīng)分隔符;2-3)若是,則將遍歷得到的分隔符保存至候選文本塊current_para_buf中;2-4)提取得到所述步驟2-3)中獲得的候選文本塊中的特征字符;3)將提取后的全部有效的特征字符,依次存放入字符串current_feature_buf候選特征文本塊中,并記錄得到current_feature_len候選文本塊長度;以及比較所述current_feature_len候選文本塊長度和所述feature_para_len全局特征文本長度;若current_feature_len>feature_para_len,則將current_feature_len賦值給feature_para_len,并將字符串current_feature_buf保存入特征句字符串feature_para_buf中,再繼續(xù)遍歷文本;4)當(dāng)所述文本全部遍歷完成后,得到feature_para_len和feature_para_buf全局特征文本塊,將feature_para_buf作為所述文本的組合特征句;5)判斷所述步驟4)中feature_para_len是否低于第二閾值,若是則將預(yù)處理后的文本代替組合特征句存放入feature_para_buf;6)對所述步驟5)中feature_para_buf進行簽名計算,并和哈希表中已有的文本進行對比,如果存在重復(fù)則認(rèn)為是重復(fù)文本。更進一步,所述預(yù)處理進一步包括:進行文本歸一化,將編碼轉(zhuǎn)換為UTF-8編碼,然后再將原始文本中全角字符轉(zhuǎn)換為半角字符,同時將所有大寫字符轉(zhuǎn)換為小寫字符。更進一步,所述第一閾值進一步為:文本的長度是否大于第一閾值MIN_CONTENT_LEN=80;所述第二閾值進一步為:判斷feature_para_len是否低于第二閾值MIN_PARA_LEN=100。更進一步,所述第一類型特征句分隔符列表包括以下字符:{!}、{?}、{;}、{。}。更進一步,所述第二類型特征句分隔符列表包括以下字符:{,}、{:}、{-}、{+}、{=}、{~}、{‘}、{“}、{[]}、{{}}、{()}、{《》}、{<}、{>}、{/}、{\}。更進一步,所述步驟2-2)中的遍歷方法具體為:從文本頭部開始,設(shè)定指針start_pos,并依次遍歷后續(xù)字符,尋找是否存在上述分隔符,如果存在,則保存由start_pos到tail_pos之間的文本段至current_para_buf,并繼續(xù)遍歷。更進一步,所述遍歷進一步包括:步驟2-2-1)將遍歷tail_pos+1;作為下次遍歷的start_pos步驟2-2-2)若遇到文本尾端仍未出現(xiàn)分隔符,則將文本尾端字符設(shè)為tail_pos;步驟2-2-3)若遍歷過程中,已遍歷文本的長度大于閾值MAX_PARA_LEN=1200,則tail_pos的位置將由下一次出現(xiàn)第一類型特征句分隔符列表或第二類型特征句分隔符列表中的分隔符的位置決定。更進一步,所述步驟2-4)中提取的特征字符具體為:去除空格、提取UTF-8中中文字符、提取數(shù)字0~9、提取英文字符a~z。更進一步,在所述步驟3)進一步包括:3-1)若feature_para_len之前不存在,則預(yù)設(shè)為03-2)若current_feature_len<=feature_para_len,則丟棄當(dāng)前字符串,繼續(xù)遍歷文本。更進一步,所述步驟6)中feature_para_buf進行簽名計算具體為:計算feature_para_buf的MD5簽名,并使用所述MD5的128bit簽名生成對應(yīng)的哈希表。本發(fā)明的有益效果:1)本發(fā)明提出快速檢測重復(fù)抄襲文本的方法,并且具備較強的穩(wěn)定性,對文章中少量文字修改、對換等,具備抗干擾能力。2)本發(fā)明通過生成組合特征句的方法,能在超大數(shù)據(jù)集中進行快速去重的新技術(shù),能夠極為快速的進行重復(fù)抄襲的檢測。3)考慮到重復(fù)的文章存在多種表現(xiàn)形式:有的是沒有一點改動的拷貝;有的在內(nèi)容上稍作修改,比如增加少量點評,或刪除少許文字,或改變文字段落順序;有的進行細微格式變化,比如改變字體,修改標(biāo)點,文字大小寫等。采用本發(fā)明的方法能夠處理文本擾動問題,對小幅度噪音擾動有抗干擾能力,具備較強魯棒性。附圖說明圖1是本發(fā)明一實施例中的一種快速檢測重復(fù)抄襲文本的方法流程示意圖。圖2是本發(fā)明一優(yōu)選實施例中的一種快速檢測重復(fù)抄襲文本的方法流程示意圖。圖3(a)-圖3(b)是采用本發(fā)明中的方法處理文本擾動問題的示意圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。請參考圖1是本發(fā)明一實施例中的一種快速檢測重復(fù)抄襲文本的方法流程示意圖。本實施例中的一種快速檢測重復(fù)抄襲文本的方法,包括如下步驟:步驟S1識別經(jīng)過預(yù)處理后文本的長度,若所述文本的長度小于設(shè)定閾值,則進行簽名計算;作為本實施例中的優(yōu)選,所述預(yù)處理進一步包括:進行文本歸一化,將編碼轉(zhuǎn)換為UTF-8編碼,然后再將原始文本中全角字符轉(zhuǎn)換為半角字符,同時將所有大寫字符轉(zhuǎn)換為小寫字符。步驟S2-1若所述文本的長度大于第一閾值,設(shè)置第一類型特征句分隔符列表和第二類型特征句分隔符列表;作為本實施例中的優(yōu)選,所述第一閾值進一步為:文本的長度是否大于第一閾值MIN_CONTENT_LEN=80;所述第二閾值進一步為:判斷feature_para_len是否低于第二閾值MIN_PARA_LEN=100。作為本實施例中的優(yōu)選,所述第一類型特征句分隔符列表包括以下字符:{!}、{?}、{;}、{。}。作為本實施例中的優(yōu)選,所述第二類型特征句分隔符列表包括以下字符:{,}、{:}、{-}、{+}、{=}、{~}、{‘}、{“}、{[]}、{{}}、{()}、{《》}、{<}、{>}、{/}、{\}。上述特征的有益效果在在于:使用第一類型特征句分隔符列表和第二類型特征句分隔符列表中的字符,可以靈活的根據(jù)文本特點,使用相應(yīng)的分隔符來獲取合適長度的特征句。步驟S2-2從上述文本的頭部開始依次遍歷后續(xù)字符,并在上述分隔符列表中尋找是否存在對應(yīng)分隔符;作為本實施例中的優(yōu)選,所述步驟S2-2中的遍歷方法具體為:從文本頭部開始,設(shè)定指針start_pos,并依次遍歷后續(xù)字符,尋找是否存在上述分隔符,如果存在,則保存由start_pos到tail_pos之間的文本段至current_para_buf,并繼續(xù)遍歷。在一些實施例中,所述遍歷進一步包括:步驟2-2-1)將遍歷tail_pos+1;作為下次遍歷的start_pos;步驟2-2-2)若遇到文本尾端仍未出現(xiàn)分隔符,則將文本尾端字符設(shè)為tail_pos;步驟2-2-3)若遍歷過程中,已遍歷文本的長度大于閾值MAX_PARA_LEN=1200,則tail_pos的位置將由下一次出現(xiàn)第一類型特征句分隔符列表或第二類型特征句分隔符列表中的分隔符的位置決定。步驟S2-3若是,則將遍歷得到的分隔符保存至候選文本塊current_para_buf中;步驟S2-4提取得到所述步驟S2-3中獲得的候選文本塊中的特征字符;作為本實施例中的優(yōu)選,所述步驟S2-4中提取的特征字符具體為:去除空格、提取UTF-8中中文字符、提取數(shù)字0~9、提取英文字符a~z。步驟S3將提取后的全部有效的特征字符,依次存放入字符串current_feature_buf候選特征文本塊中,并記錄得到current_feature_len候選文本塊長度;以及比較所述current_feature_len候選文本塊長度和所述feature_para_len全局特征文本長度;若current_feature_len>feature_para_len,則將current_feature_len賦值給feature_para_len,并將字符串current_feature_buf保存入特征句字符串feature_para_buf中,再繼續(xù)遍歷文本;在一些實施例中,在所述步驟3進一步包括以下判斷:3-1)若feature_para_len之前不存在,則預(yù)設(shè)為03-2)若current_feature_len<=feature_para_len,則丟棄當(dāng)前字符串,繼續(xù)遍歷文本。步驟S4當(dāng)所述文本全部遍歷完成后,得到feature_para_len和feature_para_buf全局特征文本塊,將feature_para_buf作為所述文本的組合特征句;步驟S5判斷所述步驟S4中feature_para_len是否低于第二閾值,若是則將預(yù)處理后的文本代替組合特征句存放入feature_para_buf;步驟S6對所述步驟S5中feature_para_buf進行簽名計算,并和哈希表中已有的文本進行對比,如果存在重復(fù)則認(rèn)為是重復(fù)文本。在一些實施例中,所述步驟6中feature_para_buf進行簽名計算具體為:計算feature_para_buf的MD5簽名,并使用所述MD5的128bit簽名生成對應(yīng)的哈希表。本實施例中的技術(shù)效果在于:本實施例中的快速檢測重復(fù)抄襲文本的方法,具備較強的穩(wěn)定性,對文章中少量文字修改、對換等,具備抗干擾能力。通過在本實施例中生成的組合特征句,能在超大數(shù)據(jù)集中進行快速去重的新技術(shù),能夠極為快速的進行重復(fù)抄襲的檢測。在本實施例中,充分考慮到了由于待比對的文章庫的數(shù)量通常極為龐大,甚至多達億級甚至十億級。龐大的文章數(shù)量,對本文比對的效果提出了嚴(yán)峻的挑戰(zhàn),對一個新獲取的文章A來說,需要判斷在已有的千萬文章中,是否存在一篇文章B或者多篇文章B、C、D與之重復(fù),如果重復(fù)則去除。在這種前提下,直接將文章A和已有的千萬文章逐一進行比對是不現(xiàn)實的,原因是計算復(fù)雜度過高:假設(shè)文檔數(shù)為n,文檔平均長度為m,如果相似度計算復(fù)雜度為m的某一個復(fù)雜度函數(shù):T=T(m),文檔兩兩比較的復(fù)雜度是O(n^2),合起來是O(n^2*T(m)).這個復(fù)雜度是相當(dāng)高的,想搜索引擎這樣處理海量數(shù)據(jù)的系統(tǒng),這樣的復(fù)雜度是完全不能接受的。通過在本實施例中生成的組合特征句的方法,能在超大數(shù)據(jù)集中進行快速去重的新技術(shù),夠極為快速的進行重復(fù)抄襲的檢測。經(jīng)過驗證,組合特征句簽名的算法提取了文本中最具代表性的內(nèi)容(選擇了最長句),并且設(shè)置了最短閾值,因此有很強的描述能力,適用于判定文本重復(fù)。請參考圖2是本發(fā)明一優(yōu)選實施例中的一種快速檢測重復(fù)抄襲文本的方法流程示意圖。●提取文本后,首先進入文本歸一化階段,將編碼轉(zhuǎn)換為UTF-8編碼,再將原始文本中全角字符轉(zhuǎn)換為半角字符,再將所有大寫字符轉(zhuǎn)換為小寫字符。經(jīng)過以上預(yù)處理后,可以避免由于編碼或大小寫不一致帶來的文本重復(fù)誤判●判定轉(zhuǎn)換后的文本長度:如果小于閾值(MIN_CONTENT_LEN=80)則直接進行后續(xù)的MD5算法簽名計算步驟。如果大于等于閾值,則進入以下步驟:●設(shè)置A類特征句分隔符列表(即第一類型特征句分隔符列表),包括4類字符:?。?。;●設(shè)置B類特征句分隔符列表(即第一類型特征句分隔符列表),包括以下字符:,~《:‘》-“<+[>=]/\{}()●從文本頭部開始,設(shè)定指針start_pos,并依次遍歷后續(xù)字符,尋找是否存在上述分隔符,如果存在,則保存由start_pos到tail_pos之間的文本段至current_para_buf,并繼續(xù)遍歷,規(guī)則為:A以上次遍歷tail_pos+1作為下次遍歷的start_posB如果遇到文本尾端仍未出現(xiàn)分隔符,則將文本尾端字符設(shè)為tail_posC如果遍歷過程中,已遍歷文本的長度大于閾值MAX_PARA_LEN=1200,則將下一次分隔符列表升級為A類分隔符與B類分隔符的總和,即tail_pos的位置將由下一次出現(xiàn)A類或B類分隔符的位置決定●對當(dāng)前獲得的current_para_buf進行處理,提取其中特征字符,規(guī)則為:去除空格、提取UTF-8中中文字符、提取數(shù)字0~9、提取英文字符a~z●將提取后的全部有效字符,依次存放入字符串current_feature_buf中,并記錄其長度為current_feature_len●比較current_feature_len和feature_para_len的大小,存在以下幾種情況:A若feature_para_len之前不存在,則預(yù)設(shè)為0B若current_feature_len<=feature_para_len,則丟棄當(dāng)前字符串,繼續(xù)遍歷文本C若current_feature_len>feature_para_len,則將current_feature_len賦值給feature_para_len,并將字符串current_feature_buf保存入特征句字符串feature_para_buf中,再轉(zhuǎn)入上步驟繼續(xù)遍歷文本●是否已到文本尾部,若是則全部文本遍歷完成后,得到feature_para_len和feature_para_buf作為該文本的組合特征句;若否則繼續(xù)遍歷●判斷feature_para_len的長度是否低于閾值MIN_PARA_LEN=100,如果低于該閾值,則將原始文本代替原組合特征句存放入feature_para_buf●計算feature_para_buf的MD5簽名,并使用該128bit簽名生成Hash_table●對所有需要判定的文本,使用上述流程計算128bit的組合特征句簽名,并和Hash_table中已有的巨量文本進行對比,如果存在重復(fù)則認(rèn)為是重復(fù)文本。計算生成的128bit數(shù)字簽名能保證特征的唯一性,可實現(xiàn)海量數(shù)據(jù)的快速除重。組合特征句提取流程能保證文本出現(xiàn)擾動時,計算獲取的128bit簽名不變,從而獲得了良好的抗干擾能力。請參考圖3(a)-圖3(b)是采用本發(fā)明中的方法處理文本擾動問題的示意圖。文章文本在被轉(zhuǎn)載或修改時,可能會存在文本內(nèi)容的部分調(diào)整變化,給文本判定帶來障礙,例如以下兩段來自不同文章的文本:引用網(wǎng)址http://news.xhby.net/system/2010/06/01/010763191.shtml目前,我國探月工程二期中的“嫦娥二號”任務(wù)已基本完成了火箭和衛(wèi)星產(chǎn)品的研制,預(yù)計2010年底前發(fā)射。在昨天舉行的世界月球大會上,中國航天科技集團公司有關(guān)人士介紹了我國深空探測的現(xiàn)狀及未來展望。據(jù)悉,雖然我國目前還沒有明確計劃,但相關(guān)單位和科技人員正在進行論證開展載人登月和建立月球基地的研究與探索。引用網(wǎng)址http://news.qq.com/a/20100601/000062.htm晨報訊(記者韓娜)目前,我國探月工程二期中的“嫦娥二號”任務(wù)已基本完成了火箭和衛(wèi)星產(chǎn)品的研制,預(yù)計2010年底前發(fā)射。在昨天舉行的世界月球大會上,中國航天科技集團公司有關(guān)人士介紹了我國深空探測的現(xiàn)狀及未來展望。據(jù)悉,雖然我國目前還沒有明確計劃,但相關(guān)單位和科技人員正在進行論證開展載人登月和建立月球基地的研究與探索。通過本實施例中可以看出:兩段文本的內(nèi)容幾乎相同,但是第二段文本開頭有少許文字與第一段文本有差異,這種情況在文章抄襲中經(jīng)常出現(xiàn),因此在判定去重時,算法必須具備魯棒性——即對小幅度噪音擾動有抗干擾能力。所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上,所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇平县| 武城县| 岳阳市| 肇东市| 治县。| 伊宁县| 嵊州市| 会泽县| 若羌县| 新昌县| 普陀区| 恩平市| 通榆县| 肥西县| 大英县| 崇文区| 余江县| 福泉市| 汉阴县| 彰化县| 肃南| 宜兰市| 东乌| 米泉市| 桂阳县| 德阳市| 长寿区| 清丰县| 信阳市| 闽侯县| 全椒县| 哈尔滨市| 望江县| 敦化市| 炉霍县| 宜黄县| 宿松县| 安宁市| 平山县| 河源市| 根河市|