本發(fā)明涉及信息處理技術(shù)領(lǐng)域,具體涉及一種網(wǎng)頁(yè)正文抽取方法及裝置,尤其是涉及一種結(jié)合標(biāo)點(diǎn)符號(hào)權(quán)值和結(jié)構(gòu)特征的網(wǎng)頁(yè)正文抽取方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)空間存儲(chǔ)著越來越多的信息資源,Web頁(yè)面是其中的一種主要展現(xiàn)形式,其數(shù)量越來越龐大。根據(jù)第35次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告,中國(guó)網(wǎng)頁(yè)數(shù)量達(dá)1899億個(gè),年增長(zhǎng)26.6%。近年來,如何對(duì)這些海量的Web數(shù)據(jù)進(jìn)行分析處理,從中挖掘出有價(jià)值的信息成為研究的一個(gè)熱點(diǎn)問題。以Hadoop為代表的大數(shù)據(jù)技術(shù)給海量Web數(shù)據(jù)存儲(chǔ)和分析提供了有效手段,但是網(wǎng)頁(yè)上的內(nèi)容除了主題內(nèi)容外,通常都會(huì)在頁(yè)面中放置導(dǎo)航條以方便用戶訪問,還有如廣告、版權(quán)信息、關(guān)聯(lián)連接等與主題無關(guān)的內(nèi)容,我們稱之為“噪音”,這些噪音信息會(huì)給Web數(shù)據(jù)分析處理帶來很大影響,嚴(yán)重影響分析結(jié)果的準(zhǔn)確性。怎樣去除這些噪音,將網(wǎng)頁(yè)中的正文內(nèi)容提取出來,對(duì)Web數(shù)據(jù)分析有重要意義。
然而,目前的網(wǎng)頁(yè)正文抽取方法還存在著一些問題,需要進(jìn)一步改進(jìn)和完善。比如基于模板的方法需要給不同的網(wǎng)頁(yè)格式指定對(duì)應(yīng)的抽取模板,雖然具有很高的抽取精度,但是可擴(kuò)展性較差,維護(hù)成本很高,無法大規(guī)模運(yùn)用。比如基于視覺特征的方法實(shí)現(xiàn)復(fù)雜,效率較低,難以應(yīng)對(duì)海量Web數(shù)據(jù)的處理。比如基于統(tǒng)計(jì)的方法則抽取精度較低。
技術(shù)實(shí)現(xiàn)要素:
因此,本發(fā)明實(shí)施例要解決的技術(shù)問題在于現(xiàn)有技術(shù)中的網(wǎng)頁(yè)正文抽取方法可擴(kuò)展性較差、實(shí)現(xiàn)復(fù)雜、抽取精度較低。
為此,本發(fā)明實(shí)施例的一種網(wǎng)頁(yè)正文抽取方法,包括以下步驟:
獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容;
獲取網(wǎng)頁(yè)HTML源碼中所有文本塊的路徑,并建立文本塊路徑列表;
將標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容進(jìn)行比較,獲得標(biāo)題內(nèi)容所在的文本塊;
根據(jù)路徑在列表中的順序,從標(biāo)題內(nèi)容所在文本塊對(duì)應(yīng)路徑的下一個(gè)路徑開始,計(jì)算每個(gè)路徑對(duì)應(yīng)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值;
根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊。
優(yōu)選地,所述獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容的步驟包括:
分別獲取網(wǎng)頁(yè)HTML源碼中title標(biāo)簽和h1標(biāo)簽的內(nèi)容;
使用分隔符對(duì)title標(biāo)簽的內(nèi)容進(jìn)行字符串切分,并將切分結(jié)果順序保存在數(shù)組中;
分別判斷數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容是否是常規(guī)非標(biāo)題性文本;
當(dāng)數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容中存在任何一個(gè)內(nèi)容不是常規(guī)非標(biāo)題性文本時(shí),獲得標(biāo)題內(nèi)容為第一個(gè)不是常規(guī)非標(biāo)題性文本的內(nèi)容。
優(yōu)選地,所述將標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容進(jìn)行比較,獲得標(biāo)題內(nèi)容所在的文本塊的步驟包括:
比較標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容的編輯距離的大?。?/p>
獲得標(biāo)題內(nèi)容所在的文本塊為最小編輯距離對(duì)應(yīng)的文本塊。
優(yōu)選地,所述根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊的步驟包括:
分別判斷每個(gè)標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第一閾值;
當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第一閾值時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,所述根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊的步驟還包括:
當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值小于第一閾值時(shí),判斷標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值,所述第二閾值小于第一閾值;
當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值時(shí),分別判斷此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中是否包含結(jié)束標(biāo)點(diǎn)符號(hào)、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾以及此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾;
當(dāng)此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中包含結(jié)束標(biāo)點(diǎn)符號(hào)、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值均大于或等于第二閾值、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中的任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,在所述獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容的步驟之前,還包括以下步驟:
移除網(wǎng)頁(yè)HTML源碼中與文本結(jié)構(gòu)無關(guān)的內(nèi)容。
優(yōu)選地,在所述根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊的步驟之后,還包括以下步驟:
根據(jù)文本塊的路徑,對(duì)已標(biāo)記為正文的文本塊的邊界進(jìn)行裁剪,獲得精確的正文內(nèi)容。
本發(fā)明實(shí)施例的一種網(wǎng)頁(yè)正文抽取裝置,包括:
第一獲取單元,用于獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容;
第二獲取單元,用于獲取網(wǎng)頁(yè)HTML源碼中所有文本塊的路徑,并建立文本塊路徑列表;
第一標(biāo)題文本塊獲得單元,用于將標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容進(jìn)行比較,獲得標(biāo)題內(nèi)容所在的文本塊;
標(biāo)點(diǎn)符號(hào)權(quán)值計(jì)算單元,用于根據(jù)路徑在列表中的順序,從標(biāo)題內(nèi)容所在文本塊對(duì)應(yīng)路徑的下一個(gè)路徑開始,計(jì)算每個(gè)路徑對(duì)應(yīng)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值;
第一正文文本塊獲得單元,用于根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊。
優(yōu)選地,所述第一獲取單元包括:
第三獲取單元,用于分別獲取網(wǎng)頁(yè)HTML源碼中title標(biāo)簽和h1標(biāo)簽的內(nèi)容;
切分單元,用于使用分隔符對(duì)title標(biāo)簽的內(nèi)容進(jìn)行字符串切分,并將切分結(jié)果順序保存在數(shù)組中;
第一判斷單元,用于分別判斷數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容是否是常規(guī)非標(biāo)題性文本;
標(biāo)題內(nèi)容獲得單元,用于當(dāng)數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容中存在任何一個(gè)內(nèi)容不是常規(guī)非標(biāo)題性文本時(shí),獲得標(biāo)題內(nèi)容為第一個(gè)不是常規(guī)非標(biāo)題性文本的內(nèi)容。
優(yōu)選地,所述第一標(biāo)題文本塊獲得單元包括:
比較單元,用于比較標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容的編輯距離的大?。?/p>
第二標(biāo)題文本塊獲得單元,用于獲得標(biāo)題內(nèi)容所在的文本塊為最小編輯距離對(duì)應(yīng)的文本塊。
優(yōu)選地,所述第一正文文本塊獲得單元包括:
第二判斷單元,用于分別判斷每個(gè)標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第一閾值;
第二正文文本塊獲得單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第一閾值時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,所述第一正文文本塊獲得單元還包括:
第三判斷單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值小于第一閾值時(shí),判斷標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值,所述第二閾值小于第一閾值;
第四判斷單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值時(shí),分別判斷此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中是否包含結(jié)束標(biāo)點(diǎn)符號(hào)、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾以及此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾;
第三正文文本塊獲得單元,用于當(dāng)此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中包含結(jié)束標(biāo)點(diǎn)符號(hào)、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值均大于或等于第二閾值、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中的任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,在所述第一獲取單元之前,還包括:
移除單元,用于移除網(wǎng)頁(yè)HTML源碼中與文本結(jié)構(gòu)無關(guān)的內(nèi)容。
優(yōu)選地,在所述第一正文文本塊獲得單元之后,還包括:
精確正文獲得單元,用于根據(jù)文本塊的路徑,對(duì)已標(biāo)記為正文的文本塊的邊界進(jìn)行裁剪,獲得精確的正文內(nèi)容。
本發(fā)明實(shí)施例的技術(shù)方案,具有如下優(yōu)點(diǎn):
1.本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)正文抽取方法及裝置,通過將標(biāo)題內(nèi)容與文本塊內(nèi)容進(jìn)行比較,找到標(biāo)題內(nèi)容所在的文本塊,再根據(jù)路徑列表中的順序,計(jì)算出標(biāo)題內(nèi)容所在文本塊的下一文本塊及其以后文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值,利用標(biāo)點(diǎn)符號(hào)權(quán)值來判斷文本塊是否為正文,找出了是正文的連續(xù)文本塊,可見上述方法及裝置對(duì)網(wǎng)頁(yè)HTML源碼均可適用,無需特定的抽取模板,可擴(kuò)展性好;且判斷是否為正文時(shí)利用了標(biāo)點(diǎn)符號(hào)權(quán)值的計(jì)算,其實(shí)現(xiàn)方法簡(jiǎn)單且提高了抽取精度。
2.本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)正文抽取方法及裝置,通過獲取標(biāo)簽<title>和<h1>的內(nèi)容,充分考慮了HTML源碼中標(biāo)題可能存在的標(biāo)簽,提高了標(biāo)題獲取的準(zhǔn)確性。通過判斷獲取到的標(biāo)題內(nèi)容中是否匹配特定非標(biāo)題正則式,排除了如論壇、博客、新聞周刊等非實(shí)質(zhì)性的、非標(biāo)題性的標(biāo)題,進(jìn)一步提高了獲取到的標(biāo)題內(nèi)容的準(zhǔn)確性。
3.本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)正文抽取方法及裝置,通過大小不等的兩個(gè)閾值的設(shè)置,將標(biāo)點(diǎn)符號(hào)權(quán)值與其分別進(jìn)行比較判斷,并且基于前后文本塊、結(jié)束標(biāo)點(diǎn)符號(hào)等正文結(jié)構(gòu)特征的實(shí)際特征,從而準(zhǔn)確地標(biāo)記出了是正文的文本塊,整個(gè)過程清晰、明了、簡(jiǎn)潔,并且對(duì)所有網(wǎng)頁(yè)均適用,準(zhǔn)確率高、應(yīng)用范圍廣。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式中的技術(shù)方案,下面將對(duì)具體實(shí)施方式描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例1中網(wǎng)頁(yè)正文抽取方法的一個(gè)具體示例的流程圖;
圖2為本發(fā)明實(shí)施例1中標(biāo)記正文文本塊的一個(gè)具體示例的流程圖;
圖3為本發(fā)明實(shí)施例2中網(wǎng)頁(yè)正文抽取裝置的一個(gè)具體示例的原理框圖。
具體實(shí)施方式
下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明的描述中,需要說明的是,術(shù)語(yǔ)“第一”、“第二”、“第三”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
此外,下面所描述的本發(fā)明不同實(shí)施方式中所涉及的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互結(jié)合。
實(shí)施例1
本實(shí)施例提供一種網(wǎng)頁(yè)正文抽取方法,該方法結(jié)合了標(biāo)點(diǎn)符號(hào)權(quán)值和結(jié)構(gòu)特征,針對(duì)網(wǎng)頁(yè)HTML源碼中的信息做正文抽取,如圖1所示,該方法包括如下步驟:
S1、獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容title;
S2、獲取網(wǎng)頁(yè)HTML源碼中所有文本塊特征信息,包括路徑,并建立包括路徑列表的文本塊特征信息列表listBlock;
S3、在文本塊特征信息列表listBlock中,將標(biāo)題內(nèi)容title與每個(gè)文本塊的文本塊內(nèi)容進(jìn)行比較,獲得標(biāo)題內(nèi)容所在的文本塊blockTitle;
S4、根據(jù)路徑在列表中的順序,從標(biāo)題內(nèi)容所在文本塊blockTitle對(duì)應(yīng)路徑的下一個(gè)路徑開始,計(jì)算每個(gè)路徑對(duì)應(yīng)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight;
S5、根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊。
上述網(wǎng)頁(yè)正文抽取方法,通過步驟S1-S5,通過將標(biāo)題內(nèi)容與文本塊內(nèi)容進(jìn)行比較,找到標(biāo)題內(nèi)容所在的文本塊,再根據(jù)路徑列表中的順序,計(jì)算出標(biāo)題內(nèi)容所在文本塊的下一文本塊及其以后文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值,利用標(biāo)點(diǎn)符號(hào)權(quán)值來判斷文本塊是否為正文,找出了是正文的連續(xù)文本塊,可見上述方法對(duì)網(wǎng)頁(yè)HTML源碼均可適用,無需特定的抽取模板,可擴(kuò)展性好;且判斷是否為正文時(shí)利用了標(biāo)點(diǎn)符號(hào)權(quán)值的計(jì)算,其實(shí)現(xiàn)方法簡(jiǎn)單且提高了抽取精度。上述方法維護(hù)成本低、可大規(guī)模運(yùn)用且準(zhǔn)確率較高,為大規(guī)模互聯(lián)網(wǎng)開源情報(bào)獲取提供了支撐。
優(yōu)選地,上述步驟S1的獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容title的步驟包括:
S11、分別獲取網(wǎng)頁(yè)HTML源碼中標(biāo)簽<title>和標(biāo)簽<h1>的內(nèi)容oriTitle和h1。例如,獲取時(shí)可以通過正則表達(dá)式:(?is)<title.*?>(.+?)</title>以及(?is)<h1.*?>(.*?)</h1>。
S12、使用分隔符SplitStr對(duì)oriTitle進(jìn)行字符串切分,并將切分結(jié)果順序保存在數(shù)組titleArray中。例如分隔符可以是-、_、«等。
S13、分別判斷數(shù)組titleArray的第一個(gè)元素titleArray[1]的內(nèi)容、最后一個(gè)元素titleArray[last]的內(nèi)容和h1是否是常規(guī)非標(biāo)題性文本,即是否匹配特定非標(biāo)題正則式ExcludeTitlePattern,例如[^\s]{1,5}(論壇|博客|新聞(周刊|中心|網(wǎng)(站)?)?|要聞|首頁(yè)|網(wǎng))。
S14、當(dāng)數(shù)組titleArray的第一個(gè)元素titleArray[1]的內(nèi)容、最后一個(gè)元素titleArray[last]的內(nèi)容和h1中存在任何一個(gè)內(nèi)容不是常規(guī)非標(biāo)題性文本時(shí),獲得標(biāo)題內(nèi)容title為順序判斷的數(shù)組titleArray的第一個(gè)元素titleArray[1]的內(nèi)容、最后一個(gè)元素titleArray[last]的內(nèi)容和h1中的第一個(gè)不是常規(guī)非標(biāo)題性文本的內(nèi)容。選取的方式可以是:先判斷數(shù)組titleArray的第一個(gè)元素titleArray[1]的內(nèi)容是否是常規(guī)非標(biāo)題性文本,當(dāng)不是時(shí),取標(biāo)題內(nèi)容title為titleArray[1],當(dāng)是時(shí),再判斷數(shù)組titleArray的最后一個(gè)元素titleArray[last]的內(nèi)容是否是常規(guī)非標(biāo)題性文本,當(dāng)不是時(shí),取標(biāo)題內(nèi)容title為titleArray[last],當(dāng)是時(shí),再判斷h1是否是常規(guī)非標(biāo)題性文本,當(dāng)不是時(shí),取標(biāo)題內(nèi)容title為h1,當(dāng)是時(shí),取標(biāo)題內(nèi)容title為空。
S15、當(dāng)數(shù)組titleArray的第一個(gè)元素titleArray[1]的內(nèi)容、最后一個(gè)元素titleArray[last]的內(nèi)容和h1都是常規(guī)非標(biāo)題性文本時(shí),取標(biāo)題內(nèi)容title為空。
上述網(wǎng)頁(yè)正文抽取方法,通過步驟S11-S15,通過獲取標(biāo)簽<title>和<h1>的內(nèi)容,充分考慮了HTML源碼中標(biāo)題可能存在的標(biāo)簽,提高了標(biāo)題獲取的準(zhǔn)確性。通過判斷獲取到的標(biāo)題內(nèi)容中是否匹配特定非標(biāo)題正則式,排除了如論壇、博客、新聞周刊等非實(shí)質(zhì)性的、非標(biāo)題性的標(biāo)題,進(jìn)一步提高了獲取到的標(biāo)題內(nèi)容的準(zhǔn)確性。
優(yōu)選地,上述步驟S2的具體方法包括以下步驟:
S21、實(shí)現(xiàn)一個(gè)類HtmlParserHandler,繼承tagSoup的DefaultHandler類;
S22、在類HtmlParserHandler的startElement()方法中,將當(dāng)前處理對(duì)象element的標(biāo)簽名和編號(hào)信息壓入棧stack,編號(hào)從1開始,每處理一個(gè)標(biāo)簽,編號(hào)加1;
S23、在類HtmlParserHandler的characters()方法中,記錄該文本塊的文本內(nèi)容,同時(shí),對(duì)棧stack中的內(nèi)容進(jìn)行拼接,得到該文本塊的路徑特征信息,文本塊路徑特征信息格式為從根節(jié)點(diǎn)到該文本塊所在標(biāo)簽的路徑,如/html_1/body_2/div_54/div_55/div_58/h1_59,將該文本塊路徑特征信息記錄到listBlock中。
S24、在類HtmlParserHandler的endElement()方法中,調(diào)用棧stack的出棧方法,如先入后出的方法,將當(dāng)前處理結(jié)束的對(duì)象element出棧。
本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,獲得文本塊特征信息的方法并不限于上述通過類HtmlParserHandler的方法,也可以由其他能夠獲得文本塊特征信息的方法來實(shí)現(xiàn)。
優(yōu)選地,上述步驟S3包括:
S31、比較標(biāo)題內(nèi)容title與每個(gè)文本塊的文本塊內(nèi)容的編輯距離的大小,例如可以使用Levenshtein距離。
S32、獲得標(biāo)題內(nèi)容title所在的文本塊blockTitle為最小編輯距離對(duì)應(yīng)的文本塊,標(biāo)記blockTitle為該文本塊的序號(hào)。
上述網(wǎng)頁(yè)正文抽取方法,通過步驟S31-S32,通過編輯距離來比較標(biāo)題內(nèi)容與文本塊內(nèi)容,從而能夠快速地找到標(biāo)題內(nèi)容所在文本塊,不僅處理方法簡(jiǎn)單、有效,而且處理效率較快。
優(yōu)選地,上述步驟S4中,計(jì)算文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight的方法可以是通過以下公式來計(jì)算:
PuncWeight=K1*S1+K2*S2
+K3*isEndPunc+K4*isLink
其中,S1代表文本塊中所有,,。;;符號(hào)的個(gè)數(shù)之和;S2代表文本塊中所有:?。。??符號(hào)的個(gè)數(shù)之和;isEndPunc代表文本塊是否以任一結(jié)束標(biāo)點(diǎn)符號(hào).。?。。??;;結(jié)尾,如果是,則isEndPunc=1,否則isEndPunc=-1;isLink代表文本塊整體是否是超鏈接,如果文本塊在標(biāo)簽<a>中,即如果是,則isLink=-1,否則isLink=0;K1~K4分別代表公式右邊四部分的權(quán)值,K1~K4分別可設(shè)為0.3-1.2,例如,K1=1.0,K2=0.4,K3=1.0,K4=1.0。計(jì)算出每個(gè)文本塊PuncWeight后可將每個(gè)文本塊PuncWeight保存到listBlock中對(duì)應(yīng)的文本塊信息中。
優(yōu)選地,上述步驟S5包括:
S51、分別判斷每個(gè)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight是否大于或等于第一閾值,例如第一閾值可以取3。
S52、當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight大于或等于第一閾值時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊為正文。
S53、當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight小于第一閾值時(shí),判斷標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight是否大于或等于第二閾值,第二閾值小于第一閾值,例如第二閾值可以取1。
S54、當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight大于或等于第二閾值時(shí),分別判斷此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊中是否包含結(jié)束標(biāo)點(diǎn)符號(hào)(包括符號(hào).。?。。??;;(中、英文的句號(hào)、感嘆號(hào)、問號(hào)、分號(hào)))、此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾以及此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的后一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾。
S55、當(dāng)此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊中包含結(jié)束標(biāo)點(diǎn)符號(hào)、或者此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值均大于或等于第二閾值、或者此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中的任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊為正文。
上述步驟S54-S55中,判斷的順序可以是多種的,例如一種具體方法如圖2所示,具體為:先判斷此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊中是否包含結(jié)束標(biāo)點(diǎn)符號(hào),當(dāng)是時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊為正文,當(dāng)不是時(shí),再判斷此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否均大于或等于第二閾值,當(dāng)是時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊為正文,當(dāng)不是時(shí),再判斷此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中是否有任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊是以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾,當(dāng)是時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊為正文,當(dāng)不是時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊不是正文。
S56、當(dāng)此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊中不包含結(jié)束標(biāo)點(diǎn)符號(hào)、且此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值中的任一小于第二閾值、且此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中的任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊未以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊不是正文。
S57、當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight小于第二閾值時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight對(duì)應(yīng)的文本塊不是正文。
進(jìn)一步地,上述步驟S5還可以包括:
S58、判斷從發(fā)現(xiàn)的上一個(gè)正文文本塊開始,之后超過N個(gè)文本塊是否都不是正文文本塊,其中,N設(shè)為2-25,例如N取20。若是,則進(jìn)入步驟S59;若不是,則維持現(xiàn)進(jìn)行中的過程。
S59、判斷過程結(jié)束,獲得網(wǎng)頁(yè)HTML源碼中全部連續(xù)文本塊。
上述網(wǎng)頁(yè)正文抽取方法,通過步驟S51-S59,通過大小不等的兩個(gè)閾值的設(shè)置,將標(biāo)點(diǎn)符號(hào)權(quán)值與其分別進(jìn)行比較判斷,并且基于前后文本塊、結(jié)束標(biāo)點(diǎn)符號(hào)等正文結(jié)構(gòu)特征的實(shí)際特征,從而準(zhǔn)確地標(biāo)記出了是正文的文本塊,整個(gè)過程清晰、明了、簡(jiǎn)潔,并且對(duì)所有網(wǎng)頁(yè)均適用,準(zhǔn)確率高、應(yīng)用范圍廣。
優(yōu)選地,在上述步驟S1之前,還包括以下步驟:
S0、移除網(wǎng)頁(yè)HTML源碼中與文本結(jié)構(gòu)無關(guān)的內(nèi)容。移除這些內(nèi)容后,即消除了大量網(wǎng)頁(yè)HTML源碼中的噪聲,從而可以簡(jiǎn)化后續(xù)的處理步驟,提高后續(xù)步驟的準(zhǔn)確率。
具體來說,上述步驟S0包括:
S01、移除標(biāo)簽<head>及其包含內(nèi)容;
S02、替換 以及其他類似以&開頭的特殊字符為空;
S03、移除標(biāo)簽<!DOCTYPE>;
S04、移除注釋信息標(biāo)簽<!---->;
S05、移除標(biāo)簽<script>及其包含腳本信息;
S06、移除標(biāo)簽<style>及其包含CSS樣式信息;
S07、移除標(biāo)簽<select>及其包含內(nèi)容;
S08、移除標(biāo)簽<font><strike><u><b><i><em><strong><sub><code><tt><sup><var><abbr><ACRONYM><center><ignore_js_op>;
S09、替換<span>為空格。
優(yōu)選地,在上述步驟S5之后,還包括以下步驟:
S6、根據(jù)文本塊的路徑,對(duì)已標(biāo)記為正文的文本塊的邊界進(jìn)行裁剪,獲得精確的正文內(nèi)容。通過裁剪,對(duì)這些文本塊的HTML結(jié)構(gòu)信息進(jìn)行學(xué)習(xí)分析,進(jìn)一步確定正文內(nèi)容的確切范圍,從而抽取出精確網(wǎng)頁(yè)的正文內(nèi)容,進(jìn)一步提高了抽取正文的準(zhǔn)確性。
具體來說,上述步驟S6包括:
S61、按父節(jié)點(diǎn)路徑對(duì)所有正文文本塊進(jìn)行分組,具有相同父節(jié)點(diǎn)路徑的文本塊分為一組;
S62、計(jì)算每一個(gè)分組中所有文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值PuncWeight之和sumPuncWeight;
S63、選擇具有最大sumPuncWeight的分組,查找出該組所有文本塊中出現(xiàn)次數(shù)最多的路徑信息pathM,查找的時(shí)候不考慮路徑中最后一個(gè)節(jié)點(diǎn)的序號(hào)信息;
S64、將pathM與所有已標(biāo)記為是正文的文本塊的路徑信息進(jìn)行比較,選出具有與pathM相同路徑的開始文本塊startBlock和結(jié)束文本塊endBlock;
S65、統(tǒng)計(jì)startBlock和endBlock中出現(xiàn)的所有路徑信息setPath;
S66、從第標(biāo)題所在文本塊blockTitle的后一個(gè)文本塊開始,從listBock中,逐個(gè)判斷文本塊的路徑信息是否在setPath中,如果在則標(biāo)記;
S67、記錄上一步中標(biāo)記的開始文本塊contenStartBlock和結(jié)束文本塊contenEndBlock;
S68、按照l(shuí)istBlock中的順序,拼接contenStartBlock和contenEndBlock及其之間的所有文本塊的內(nèi)容,拼接結(jié)果即為精確正文內(nèi)容。
上述網(wǎng)頁(yè)正文抽取方法,通過步驟S61-S68,通過根據(jù)文本塊的路徑特征信息,結(jié)合文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值,將已標(biāo)記的正文文本塊進(jìn)行進(jìn)一步裁剪,找出了精確的正文開始文本塊和結(jié)束文本塊,從而拼接出其之間的精確正文內(nèi)容,進(jìn)一步提高了網(wǎng)頁(yè)正文抽取精度。
實(shí)施例2
對(duì)應(yīng)于實(shí)施例1,本實(shí)施例提供一種網(wǎng)頁(yè)正文抽取裝置,如圖3所示,包括:
第一獲取單元1,用于獲取網(wǎng)頁(yè)HTML源碼中的標(biāo)題內(nèi)容;
第二獲取單元2,用于獲取網(wǎng)頁(yè)HTML源碼中所有文本塊的路徑,并建立文本塊路徑列表;
第一標(biāo)題文本塊獲得單元3,用于將標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容進(jìn)行比較,獲得標(biāo)題內(nèi)容所在的文本塊;
標(biāo)點(diǎn)符號(hào)權(quán)值計(jì)算單元4,用于根據(jù)路徑在列表中的順序,從標(biāo)題內(nèi)容所在文本塊對(duì)應(yīng)路徑的下一個(gè)路徑開始,計(jì)算每個(gè)路徑對(duì)應(yīng)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值;
第一正文文本塊獲得單元5,用于根據(jù)標(biāo)點(diǎn)符號(hào)權(quán)值進(jìn)行判斷,根據(jù)判斷結(jié)果標(biāo)記出是正文的文本塊。
上述網(wǎng)頁(yè)正文抽取裝置,通過將標(biāo)題內(nèi)容與文本塊內(nèi)容進(jìn)行比較,找到標(biāo)題內(nèi)容所在的文本塊,再根據(jù)路徑列表中的順序,計(jì)算出標(biāo)題內(nèi)容所在文本塊的下一文本塊及其以后文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值,利用標(biāo)點(diǎn)符號(hào)權(quán)值來判斷文本塊是否為正文,找出了是正文的連續(xù)文本塊,可見上述裝置對(duì)網(wǎng)頁(yè)HTML源碼均可適用,無需特定的抽取模板,可擴(kuò)展性好;且判斷是否為正文時(shí)利用了標(biāo)點(diǎn)符號(hào)權(quán)值的計(jì)算,其實(shí)現(xiàn)方法簡(jiǎn)單且提高了抽取精度。上述裝置維護(hù)成本低、可大規(guī)模運(yùn)用且準(zhǔn)確率較高,為大規(guī)模互聯(lián)網(wǎng)開源情報(bào)獲取提供了支撐。
優(yōu)選地,第一獲取單元1包括:
第三獲取單元,用于分別獲取網(wǎng)頁(yè)HTML源碼中title標(biāo)簽和h1標(biāo)簽的內(nèi)容;
切分單元,用于使用分隔符對(duì)title標(biāo)簽的內(nèi)容進(jìn)行字符串切分,并將切分結(jié)果順序保存在數(shù)組中;
第一判斷單元,用于分別判斷數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容是否是常規(guī)非標(biāo)題性文本;
標(biāo)題內(nèi)容獲得單元,用于當(dāng)數(shù)組的第一個(gè)元素的內(nèi)容、最后一個(gè)元素的內(nèi)容和h1標(biāo)簽的內(nèi)容中存在任何一個(gè)內(nèi)容不是常規(guī)非標(biāo)題性文本時(shí),獲得標(biāo)題內(nèi)容為第一個(gè)不是常規(guī)非標(biāo)題性文本的內(nèi)容。
優(yōu)選地,第一標(biāo)題文本塊獲得單元3包括:
比較單元,用于比較標(biāo)題內(nèi)容與每個(gè)文本塊的文本塊內(nèi)容的編輯距離的大??;
第二標(biāo)題文本塊獲得單元,用于獲得標(biāo)題內(nèi)容所在的文本塊為最小編輯距離對(duì)應(yīng)的文本塊。
優(yōu)選地,第一正文文本塊獲得單元5包括:
第二判斷單元,用于分別判斷每個(gè)標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第一閾值;
第二正文文本塊獲得單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第一閾值時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,第一正文文本塊獲得單元5還包括:
第三判斷單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值小于第一閾值時(shí),判斷標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值,第二閾值小于第一閾值;
第四判斷單元,用于當(dāng)標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值時(shí),分別判斷此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中是否包含結(jié)束標(biāo)點(diǎn)符號(hào)、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值是否大于或等于第二閾值、此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾以及此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的后一個(gè)文本塊是否以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾;
第三正文文本塊獲得單元,用于當(dāng)此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊中包含結(jié)束標(biāo)點(diǎn)符號(hào)、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值均大于或等于第二閾值、或者此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)文本塊的前一個(gè)文本塊和后一個(gè)文本塊中的任一文本塊的標(biāo)點(diǎn)符號(hào)權(quán)值大于或等于第二閾值且此任一文本塊以結(jié)束標(biāo)點(diǎn)符號(hào)結(jié)尾時(shí),標(biāo)記此標(biāo)點(diǎn)符號(hào)權(quán)值對(duì)應(yīng)的文本塊為正文。
優(yōu)選地,在第一獲取單元1之前,還包括:
移除單元,用于移除網(wǎng)頁(yè)HTML源碼中與文本結(jié)構(gòu)無關(guān)的內(nèi)容。
優(yōu)選地,在第一正文文本塊獲得單元5之后,還包括:
精確正文獲得單元,用于根據(jù)文本塊的路徑,對(duì)已標(biāo)記為正文的文本塊的邊界進(jìn)行裁剪,獲得精確的正文內(nèi)容。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,上述實(shí)施例僅僅是為清楚地說明所作的舉例,而并非對(duì)實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動(dòng)仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。