一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng),該方法包括如下步驟:用戶提供所需的文本類別體系,網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理,用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配,語料庫去噪,輸出語料庫。本發(fā)明的技術(shù)效果是:利用互聯(lián)網(wǎng)上各類網(wǎng)站上存在的類別標(biāo)注信息,無需專業(yè)的人員手工標(biāo)注,自適應(yīng)不同用戶的分類體系需求。它改變了傳統(tǒng)的語料庫構(gòu)建系統(tǒng)需要大量的具有一定專業(yè)知識(shí)的人員加入標(biāo)注的方式,采用對(duì)互聯(lián)網(wǎng)上的豐富信息進(jìn)行自動(dòng)的抽取和挖掘的方式,可快速的構(gòu)建出大容量的精準(zhǔn)的文本分類語料庫。
【專利說明】一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)信息的高速增長,搜索引擎已成為人們?yōu)g覽網(wǎng)絡(luò)信息必不可少的工具。2012年7月發(fā)布的《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示:在網(wǎng)民日常使用中,搜索引擎雖然排名有所下滑,但依然超越了網(wǎng)絡(luò)音樂和新聞,成為規(guī)模第二大的應(yīng)用。
[0003]目前,基于人工編撰目錄并對(duì)其進(jìn)行索引和維護(hù)的第一代搜索引擎技術(shù)基本退出歷史舞臺(tái),取代它的是基于向量空間模型、概率語言模型等模型的第二代信息檢索技術(shù),在其中由于引入了 PageRank和LinkAnalysis等技術(shù),利用機(jī)群對(duì)大量互聯(lián)網(wǎng)網(wǎng)頁進(jìn)行索引和檢索,滿足了用戶對(duì)于檢索系統(tǒng)的基本要求。不過,現(xiàn)有系統(tǒng)最大的問題是用戶的需求是通過關(guān)鍵詞來進(jìn)行描述的,很多情況下很難找到準(zhǔn)確描述檢索目標(biāo)的關(guān)鍵詞,因此嚴(yán)重影響了返回結(jié)果的準(zhǔn)確率。同時(shí),由于需要索引的網(wǎng)頁數(shù)目過于龐大,為了兼顧準(zhǔn)確率與召回率,傳統(tǒng)的通用搜索引擎往往返回屬于不同主題的搜索結(jié)果,這種策略很難滿足單個(gè)用戶的檢索需求。為了緩解這個(gè)問題,出現(xiàn)了專注于某一領(lǐng)域的垂直搜索引擎,如學(xué)術(shù)搜索、金融搜索、音樂搜索等。這類搜索引擎通過限定爬取和索引的網(wǎng)頁范圍來達(dá)到較高的檢索精度,通過用戶指定的分類來進(jìn)行搜索,可以更好的滿足用戶的不同需求。
[0004]然而,對(duì)于某個(gè)概念進(jìn)行分類的方法往往是多樣的,比如計(jì)算機(jī)學(xué)科,可以分為軟件和硬件,也可以按照涉及的不同子學(xué)科分為體系結(jié)構(gòu),操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò)等等?,F(xiàn)有的垂直搜索引擎,一般是根據(jù)領(lǐng)域?qū)<沂孪榷x好的分類方式,通過人工的方法標(biāo)注出訓(xùn)練語料來訓(xùn)練分類器。這個(gè)過程費(fèi)時(shí)費(fèi)力,結(jié)果容易受到標(biāo)注人個(gè)人傾向的影響,而且一旦分類方式發(fā)生變化,這一切又得從頭再來。所以,這樣的分類方式難以滿足人們對(duì)不同領(lǐng)域的分類需求,更無法隨用戶需求的改變進(jìn)行靈活調(diào)整。同時(shí),網(wǎng)絡(luò)上有一些網(wǎng)頁是具有某些標(biāo)注信息的或者是已經(jīng)經(jīng)過初步分類的,比如門戶網(wǎng)站的導(dǎo)航欄一般都分為新聞、軍事、博客等等很多子版塊,關(guān)注于某個(gè)特定領(lǐng)域的網(wǎng)站一般都會(huì)按照相關(guān)領(lǐng)域的某種分類方式來構(gòu)造。如何構(gòu)造一種方法,使其能夠自動(dòng)利用這些已有的網(wǎng)頁分類信息來自動(dòng)構(gòu)建分類語料庫,是本發(fā)明要重點(diǎn)研究和探討的問題。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術(shù)中的問題,本發(fā)明提供了一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法。
[0006]本發(fā)明提供了一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,包括如下步驟:
[0007]用戶提供所需的文本類別體系:即包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域;
[0008]網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理:從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息;[0009]用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配:將用戶輸入的文本類別與網(wǎng)站內(nèi)容結(jié)構(gòu)進(jìn)行自動(dòng)匹配,一個(gè)網(wǎng)站中與某個(gè)文本類別匹配上的網(wǎng)站內(nèi)容單元所包含的網(wǎng)頁作為該文本類別的候選語料;
[0010]語料庫去噪:將從多個(gè)網(wǎng)站中匹配上的同一文本類別的候選語料合并成每個(gè)類別的候選語料庫,并對(duì)候選語料庫中每個(gè)類別下的文本進(jìn)行去噪處理,提高語料庫的質(zhì)量;
[0011]輸出語料庫:輸出去噪后的類別標(biāo)準(zhǔn)文本語料。
[0012]本發(fā)明的進(jìn)一步技術(shù)方案是:在網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理中,包括如下步驟:
[0013]初始種子鏈接獲取:使用門戶網(wǎng)站和領(lǐng)域內(nèi)的網(wǎng)站作為初始種子鏈接,或者由用戶指定;
[0014]網(wǎng)頁數(shù)據(jù)爬取和存儲(chǔ):設(shè)置參數(shù),參數(shù)包括并行通信數(shù),每個(gè)站點(diǎn)的訪問時(shí)間間隔,遞歸爬取深度,對(duì)上述初始種子鏈接進(jìn)行遞歸抓取,同時(shí)記錄頁面間的跳轉(zhuǎn)信息,將爬取得到的網(wǎng)頁的源碼文件存儲(chǔ)在本地,用于后續(xù)對(duì)網(wǎng)頁的離線分析和處理;
[0015]導(dǎo)航欄提取:識(shí)別提取體現(xiàn)網(wǎng)站內(nèi)部組織結(jié)構(gòu)的導(dǎo)航欄;
[0016]有效鏈接提取:統(tǒng)計(jì)各鏈接被賦予類別的次數(shù),設(shè)置閾值,被賦予類別次數(shù)多于閾值的作為無效鏈接過濾掉,其余作為和頁面主題相關(guān)的鏈接即有效鏈接;
[0017]網(wǎng)頁內(nèi)容提取:根據(jù)非標(biāo)簽字符和標(biāo)簽數(shù)的比值來提取網(wǎng)頁的正文。
[0018]本發(fā)明的進(jìn)一步技術(shù)方案是:在導(dǎo)航欄提取步驟中,包括如下步驟:
[0019]網(wǎng)頁的頁面分割:根據(jù)網(wǎng)頁的DOM樹將其分割成若干個(gè)塊;
[0020]基于規(guī)則過濾的導(dǎo)航欄抽取:通過制定規(guī)則對(duì)網(wǎng)頁的各個(gè)分塊進(jìn)行過濾和排序來提取導(dǎo)航欄;
[0021]基于圖結(jié)構(gòu)的導(dǎo)航欄抽取:將網(wǎng)頁之間的鏈接關(guān)系組織成圖結(jié)構(gòu),尋找極大連通子圖,根據(jù)子圖信息對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來提取導(dǎo)航欄。
[0022]本發(fā)明的進(jìn)一步技術(shù)方案是:在網(wǎng)頁的頁面分割步驟中,包括如下步驟:
[0023]網(wǎng)頁DOM樹構(gòu)造:利用DOM解析器將網(wǎng)頁解析成DOM樹;
[0024]網(wǎng)頁DOM樹化簡:利用三個(gè)規(guī)則對(duì)網(wǎng)頁DOM樹進(jìn)行化簡。
[0025]本發(fā)明的進(jìn)一步技術(shù)方案是:在基于規(guī)則過濾的導(dǎo)航欄抽取步驟中,包括如下步驟:
[0026]網(wǎng)頁塊過濾:根據(jù)鏈接類型、鏈接唯一性、樣式表、錨文本在源碼中的距離、每個(gè)錨文本包含的最大詞數(shù)特征對(duì)網(wǎng)頁塊進(jìn)行過濾;
[0027]網(wǎng)頁剩余塊排序:通過制定公式對(duì)網(wǎng)頁中過濾后剩余的塊進(jìn)行打分并排序;
[0028]輸出候選導(dǎo)航欄:根據(jù)網(wǎng)頁剩余各塊的排名和各個(gè)塊的得分置信度來輸出候選導(dǎo)航欄。
[0029]本發(fā)明的進(jìn)一步技術(shù)方案是:在基于圖結(jié)構(gòu)的導(dǎo)航欄抽取步驟中,包括如下步驟:
[0030]構(gòu)造頁面的鏈接關(guān)系圖:將網(wǎng)頁之間的鏈接指向關(guān)系表不成圖;
[0031]獲取極大完全子圖:從頁面的鏈接關(guān)系圖中找出所有的極大完全子圖,即:子圖中任意兩個(gè)節(jié)點(diǎn)直接相鄰,并且此子圖不被其他具有上述屬性的子圖包含;
[0032]識(shí)別候選導(dǎo)航欄:根據(jù)極大完全子圖對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來得到候選導(dǎo)航欄。[0033]本發(fā)明的進(jìn)一步技術(shù)方案是:在網(wǎng)頁內(nèi)容提取步驟中,包括如下步驟:
[0034]網(wǎng)頁源碼行特征抽取:對(duì)網(wǎng)頁源碼中的每一行抽取二維特征,即:標(biāo)簽比和標(biāo)簽比導(dǎo)數(shù);
[0035]網(wǎng)頁源碼行聚類獲取正文:利用抽取出的二維特征和k-Means方法對(duì)網(wǎng)頁源碼中的所有行進(jìn)行聚類,保證對(duì)非正文的去除效果。
[0036]本發(fā)明的進(jìn)一步技術(shù)方案是:在網(wǎng)頁源碼行特征抽取步驟中,包括如下步驟:
[0037]計(jì)算行標(biāo)簽比,即:行包含的非HTML標(biāo)簽字符數(shù)和同一行標(biāo)簽數(shù)目的比值;
[0038]行標(biāo)簽比平滑:采用高斯過濾器對(duì)標(biāo)簽比的數(shù)據(jù)進(jìn)行過濾歸一,用這個(gè)過濾器與標(biāo)簽比進(jìn)行卷積運(yùn)算來平滑行標(biāo)簽比;
[0039]行標(biāo)簽比求導(dǎo):計(jì)算行標(biāo)簽比的近似導(dǎo)數(shù)。
[0040]本發(fā)明的進(jìn)一步技術(shù)方案是:在用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配步驟中,包括如下步驟:
[0041]相似度計(jì)算:向量化每個(gè)導(dǎo)航項(xiàng)和每個(gè)類別,計(jì)算它們之間的余弦相似度;
[0042]獲取導(dǎo)航項(xiàng)所屬類別:根據(jù)導(dǎo)航項(xiàng)和類別之間的相似度,結(jié)合導(dǎo)航項(xiàng)的鏈接URL決定導(dǎo)航項(xiàng)所屬的類別。
[0043]本發(fā)明還提供了一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的系統(tǒng),包括:
[0044]用戶文本分類體系獲取單元,用于提供所需的文本類別體系,包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域;
[0045]網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理單元,用于從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息;
[0046]用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配單元,用于將用戶輸入的文本類別與網(wǎng)站內(nèi)容結(jié)構(gòu)進(jìn)行自動(dòng)匹配,一個(gè)網(wǎng)站中與某個(gè)文本類別匹配上的網(wǎng)站內(nèi)容單元所包含的網(wǎng)頁作為該文本類別的候選語料;
[0047]語料庫去噪單元,用于將從多個(gè)網(wǎng)站中匹配上的同一文本類別的候選語料合并成每個(gè)類別的候選語料庫,并對(duì)候選語料庫中每個(gè)類別下的文本進(jìn)行去噪處理,提高語料庫的質(zhì)量;
[0048]輸出語料庫單元,用于輸出去噪后的類別標(biāo)準(zhǔn)文本語料。
[0049]本發(fā)明的技術(shù)效果是:本發(fā)明提出一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng),利用互聯(lián)網(wǎng)上各類網(wǎng)站上存在的類別標(biāo)注信息,無需專業(yè)的人員手工標(biāo)注,自適應(yīng)不同用戶的分類體系需求。它改變了傳統(tǒng)的語料庫構(gòu)建系統(tǒng)需要大量的具有一定專業(yè)知識(shí)的人員加入標(biāo)注的方式,采用對(duì)互聯(lián)網(wǎng)上的豐富信息進(jìn)行自動(dòng)的抽取和挖掘的方式,可快速的構(gòu)建出大容量的精準(zhǔn)的文本分類語料庫。
【專利附圖】
【附圖說明】
[0050]圖1為本發(fā)明流程圖。
[0051]圖2為本發(fā)明網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理的流程圖。
[0052]圖3為本發(fā)明導(dǎo)航欄提取的流程圖。
[0053]圖4為本發(fā)明網(wǎng)頁頁面分割的流程圖。
[0054]圖5為本發(fā)明經(jīng)過簡化后的百度首頁源碼實(shí)例圖。[0055]圖6為本發(fā)明使用DOM解析器解析后的DOM樹的實(shí)例圖。
[0056]圖7為本發(fā)明網(wǎng)頁DOM樹化簡規(guī)則的示意圖。
[0057]圖8為本發(fā)明基于規(guī)則過濾的導(dǎo)航欄提取的流程圖。
[0058]圖9為本發(fā)明基于圖結(jié)構(gòu)的導(dǎo)航欄提取的流程圖。
[0059]圖10為本發(fā)明極大完全子圖的實(shí)例圖。
[0060]圖11為本發(fā)明網(wǎng)頁內(nèi)容提取的流程圖。
[0061]圖12為本發(fā)明網(wǎng)頁源碼行特征抽取的流程圖。
[0062]圖13為本發(fā)明用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配的流程圖。
[0063]圖14為本發(fā)明的系統(tǒng)原理圖。
【具體實(shí)施方式】
[0064]下面結(jié)合具體實(shí)施例,對(duì)本發(fā)明技術(shù)方案進(jìn)一步說明。
[0065]如圖1所示,本發(fā)明的【具體實(shí)施方式】是:提供一種自動(dòng)構(gòu)建文本分類語料庫的方法,包括如下步驟:
[0066]步驟1000:用戶提供所需的文本類別體系,即:包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域。
[0067]步驟2000:網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理,S卩:從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息。
[0068]如圖2所示,在網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理步驟中,包括如下步驟:
[0069]步驟2100:初始種子鏈接獲取:使用門戶網(wǎng)站和領(lǐng)域內(nèi)的網(wǎng)站作為初始種子鏈接,或者由用戶指定;
[0070]步驟2200:網(wǎng)頁數(shù)據(jù)爬取和存儲(chǔ):設(shè)置參數(shù),參數(shù)包括并行通信數(shù),每個(gè)站點(diǎn)的訪問時(shí)間間隔,遞歸爬取深度,對(duì)初始種子鏈接進(jìn)行遞歸抓取,同時(shí)記錄頁面間的跳轉(zhuǎn)信息,將爬取得到的網(wǎng)頁的源碼文件存儲(chǔ)在本地,用于后續(xù)對(duì)網(wǎng)頁的離線分析和處理。
[0071]步驟2300:導(dǎo)航欄提取,即:識(shí)別提取體現(xiàn)網(wǎng)站內(nèi)部組織結(jié)構(gòu)的導(dǎo)航欄。如圖3所示,具體在導(dǎo)航欄提取步驟中,包括如下步驟:
[0072]步驟2310:網(wǎng)頁的頁面分割,即:根據(jù)網(wǎng)頁的DOM樹將其分割成若干個(gè)塊。如圖4所示,具體在網(wǎng)頁的頁面分割步驟中,包括如下步驟:
[0073]步驟2311:網(wǎng)頁DOM樹構(gòu)造,即:利用DOM解析器將網(wǎng)頁解析成DOM樹。DOM是一種獨(dú)立于使用平臺(tái)和語言的接口標(biāo)準(zhǔn),它由W3C組織提出,目的是為程序提供一種在運(yùn)行過程中動(dòng)態(tài)訪問并改變其中的內(nèi)容、結(jié)構(gòu)或樣式的方法。一個(gè)網(wǎng)頁文件經(jīng)過DOM解析器后形成的DOM呈樹形結(jié)構(gòu),因此也有文獻(xiàn)將其稱為DOM樹(DOM tree)。圖5采用縮進(jìn)形式顯示了經(jīng)過簡化后的百度首頁源碼。
[0074]使用DOM解析器解析后的DOM樹將會(huì)具有如圖6所示的樹形結(jié)構(gòu)。樹中的每個(gè)內(nèi)部節(jié)點(diǎn)都有具有指定名稱(在網(wǎng)頁源碼的標(biāo)簽中定義)和屬性。這些節(jié)點(diǎn)也可以通過一條從根節(jié)點(diǎn)到該節(jié)點(diǎn)的路徑進(jìn)行訪問。
[0075]將網(wǎng)頁解析成DOM樹以后,可以很方便的利用XPath來查找具有指定屬性的節(jié)點(diǎn),比如鏈接節(jié)點(diǎn)和文本節(jié)點(diǎn)。也可以直接通過遍歷樹中節(jié)點(diǎn),對(duì)其進(jìn)行操作(增、刪、改等)。
[0076]步驟2312:網(wǎng)頁DOM樹化簡,即:利用三個(gè)規(guī)則對(duì)網(wǎng)頁DOM樹進(jìn)行化簡。涉及如下三個(gè)規(guī)則:
[0077](I)刪掉葉子節(jié)點(diǎn)中非鏈接節(jié)點(diǎn)的部分。
[0078](2)如果某節(jié)點(diǎn)是其父節(jié)點(diǎn)唯一的孩子節(jié)點(diǎn),則將其父節(jié)點(diǎn)刪除,直接將該節(jié)點(diǎn)與其祖先節(jié)點(diǎn)連接起來。
[0079](3)如果某節(jié)點(diǎn)有兩個(gè)孩子節(jié)點(diǎn),并且第一個(gè)孩子節(jié)點(diǎn)是鏈接節(jié)點(diǎn),而另一個(gè)不是,則將該節(jié)點(diǎn)刪除,并將兩個(gè)孩子節(jié)點(diǎn)與其祖先節(jié)點(diǎn)連接起來。
[0080]圖7形象化的闡釋了上面三條規(guī)則,其中左上角表示規(guī)則(1),右上角表示規(guī)則
(2),下部表示規(guī)則(3)。
[0081]網(wǎng)頁的DOM樹經(jīng)過上述化簡以后,將具有相同父節(jié)點(diǎn)的葉子節(jié)點(diǎn)合并為一個(gè)塊,就完成了將整個(gè)頁面進(jìn)行分割的任務(wù)。
[0082]步驟2320:基于規(guī)則過濾的導(dǎo)航欄抽取,即:通過制定規(guī)則對(duì)網(wǎng)頁的各個(gè)分塊進(jìn)行過濾和排序來提取導(dǎo)航欄。如圖8所示,具體在基于規(guī)則過濾的導(dǎo)航欄提取步驟中,包括以下步驟:
[0083]步驟2321:網(wǎng)頁塊過濾:根據(jù)鏈接類型、鏈接唯一性、樣式表、錨文本在源碼中的距離、每個(gè)錨文本包含的最大詞數(shù)、塊內(nèi)最少項(xiàng)目數(shù)等特征對(duì)網(wǎng)頁塊進(jìn)行過濾;
[0084]步驟2322:網(wǎng)頁剩余塊排序:通過制定公式對(duì)網(wǎng)頁中過濾后剩余的塊進(jìn)行打分并排序。
[0085]二、塊內(nèi)錨文本所含詞數(shù)的一致性:導(dǎo)航欄中的每個(gè)項(xiàng)目所含的單詞數(shù)一般是一致的,外觀越整齊的項(xiàng)目,越有可能屬于同一導(dǎo)航欄.[0086]三、塊內(nèi)剩余的錨文本所占比例:從前面的過濾過程可以發(fā)現(xiàn),如果屬于一個(gè)頁面塊的某些項(xiàng)被去掉了,那么這個(gè)塊是導(dǎo)航欄的可能性應(yīng)該會(huì)降低,而且該塊中被過濾掉的項(xiàng)目越多,該塊是導(dǎo)航欄的可能性就應(yīng)該越低。
[0087]步驟2323:輸出候選導(dǎo)航欄:根據(jù)網(wǎng)頁剩余各塊的排名和各個(gè)塊的得分置信度來輸出候選導(dǎo)航欄;
[0088]步驟2330:基于圖結(jié)構(gòu)的導(dǎo)航欄抽取,即:將網(wǎng)頁之間的鏈接關(guān)系組織成圖結(jié)構(gòu),尋找極大連通子圖,根據(jù)子圖信息對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來提取導(dǎo)航欄。
[0089]步驟2331:構(gòu)造頁面的鏈接關(guān)系圖,即:將網(wǎng)頁之間的鏈接指向關(guān)系表示成圖。每個(gè)頁面用一個(gè)節(jié)點(diǎn)表示,如果頁面A中存在一條指向頁面B的鏈接,則用一條由A指向B的有向邊表示。將所有相關(guān)的頁面都處理完以后可以生成整個(gè)網(wǎng)站的頁面鏈接關(guān)系圖。具有公共導(dǎo)航欄的頁面將會(huì)是雙向鏈接的方式呈現(xiàn)在圖中,那么刪掉圖中的單向邊,保留雙向邊,為了簡化計(jì)算可以把具有雙向邊的有向圖簡化成無向圖的方式進(jìn)行處理。
[0090]步驟2332:獲取極大完全子圖,即:從頁面的鏈接關(guān)系圖中找出所有的極大完全子圖,即:子圖中任意兩個(gè)節(jié)點(diǎn)直接相鄰,并且此子圖不被其他具有上述屬性的子圖包含。如圖10所示,極大完全子圖有{1,2, 3}, {2, 3,4}和{4,5}。
[0091]步驟2333:識(shí)別候選導(dǎo)航欄,即:根據(jù)極大完全子圖對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來得到候選導(dǎo)航欄。由于尋找最大完全子圖的算法本質(zhì)上是NP問題,當(dāng)頁面的鏈接關(guān)系圖中雙向鏈接的頂點(diǎn)超過一定數(shù)量,算法運(yùn)行時(shí)間將變得不可接受,所以從復(fù)雜度的角度考慮,鏈接關(guān)系圖中雙向連接的頂點(diǎn)數(shù)少于100個(gè)時(shí),該發(fā)明具體實(shí)施例中此部分采用但不限于如下的導(dǎo)航欄識(shí)別提取方法:[0092]輸入:子圖隊(duì)列MCQueuePage,首頁的塊集合PageSec ;
[0093]輸出:候選導(dǎo)航欄集合CandNav ;
[0094]Stepl:將MCQueuePage中的所有元素標(biāo)識(shí)為未處理。
[0095]Step2:從MCQueuePage中選取一個(gè)未處理的子圖SubGraph,如果全部處理完,貝丨J
轉(zhuǎn)步驟4。
[0096]St印3:對(duì)PageSec中的所有元素進(jìn)行過濾,將不在SubGraph的元素去掉,結(jié)果存A CandNav,轉(zhuǎn)步驟 2。
[0097]Step4:將CandNav中的各個(gè)塊,按照包含的元素從多到少排序。
[0098]Step5:從頭到尾查看CandNav中的各個(gè)塊,如果當(dāng)前塊包含當(dāng)前位置以后的某個(gè)塊Sec的所有元素,則將Sec刪除。
[0099]St印6:結(jié)束。
[0100]雙向連接的頂點(diǎn)數(shù)多于100個(gè)的時(shí)候,導(dǎo)航欄識(shí)別提取的方法為先投票再聚類的近似方法,該方法具體實(shí)施例中此部分過程如下但并不限于如下方法:
[0101]輸入:首頁指向的所有頁面集合SetPages,每個(gè)頁面有URL和入度兩個(gè)屬性。
[0102]輸出:形成導(dǎo)航欄的頂點(diǎn)集合SetNav。
[0103]Stepl:將SetPages中所有頁面的入度置為1,并將集合SetPages中的所有元素讀入隊(duì)列QueuePages中。
[0104]St印2:若隊(duì)列為空,轉(zhuǎn)到St印4 ;否則轉(zhuǎn)到St印3。
[0105]St印3:從隊(duì)列中取出一個(gè)頁面,分析該頁面包含的所有鏈接,如果當(dāng)前頁面包含的某個(gè)鏈接URLi在SetPages中,則SetPages中URLi對(duì)應(yīng)的入度加I。轉(zhuǎn)到St印2。
[0106]St印4:將SetPages中每個(gè)頁面的入度進(jìn)行聚類,方法為k_Means,聚類中心數(shù)為
3。將所有屬于中間簇的頁面讀入到SetNav中。
[0107]Step5:結(jié)束。
[0108]步驟2400:有效鏈接提取,即:提取和頁面主題相關(guān)的鏈接。一般情況下導(dǎo)航欄中的每個(gè)錨文本都是指向另一個(gè)鏈接型頁面(頁面本身沒有明顯正文,而是某一主題下的鏈接的集合)。這樣一個(gè)頁面的類別實(shí)際上代表了內(nèi)部包含的有效鏈接的類別。所謂有效鏈接是指跟頁面本身主題相關(guān)的鏈接,像Login、About Us、Sitemap等鏈接就不屬于有效鏈接,下文稱之為無效鏈接。一般地,指向站外的鏈接不會(huì)是有效鏈接,可以把它們過濾掉。將剩余的鏈接與鏈入本頁的導(dǎo)航欄錨文本賦予相同的類別。在網(wǎng)站內(nèi)部,指向Login、Sitemap等無效鏈接的錨文本非常多,因此,無效鏈接被賦予的類別的次數(shù)也將明顯多于有效鏈接?;诖?,我們可以統(tǒng)計(jì)各鏈接被賦予類別的次數(shù),設(shè)置一定的閾值,將被賦予類別次數(shù)多于閾值的作為無效鏈接過濾掉,其余的作為有效鏈接。
[0109]步驟2500:網(wǎng)頁內(nèi)容提取:根據(jù)非標(biāo)簽字符和標(biāo)簽數(shù)的比值來提取網(wǎng)頁的正文。如圖11所示,具體在網(wǎng)頁內(nèi)容提取步驟中,包括如下步驟:
[0110]步驟2510:網(wǎng)頁源碼行特征抽取:對(duì)網(wǎng)頁源碼中的每一行抽取二維特征,即:標(biāo)簽比和標(biāo)簽比導(dǎo)數(shù)。如圖12所示,具體在網(wǎng)頁源碼行特征抽取步驟中,包括如下步驟:
[0111]步驟2511:計(jì)算行標(biāo)簽比,S卩:行包含的非HTML標(biāo)簽字符數(shù)和同一行標(biāo)簽數(shù)目的比值。
[0112]步驟2512:行標(biāo)簽比平滑,即:采用高斯過濾器對(duì)標(biāo)簽比的數(shù)據(jù)進(jìn)行過濾歸一。[0113]步驟2513:行標(biāo)簽比求導(dǎo):計(jì)算行標(biāo)簽比的近似導(dǎo)數(shù)。
[0114]步驟2520:網(wǎng)頁源碼行聚類獲取正文:利用抽取出的二維特征和k-Means方法對(duì)網(wǎng)頁源碼中的所有行進(jìn)行聚類,保證對(duì)非正文的去除效果。將一個(gè)聚類中心始終固定在原點(diǎn)(坐標(biāo)0,O)處,迭代的終止條件是達(dá)到最大迭代次數(shù)或者兩次迭代間的簇中心變化幅度小于閾值。最后將屬于中心的原點(diǎn)的簇的行去掉,將其他行中的正文信息保存下來,作為正文提取的結(jié)果。
[0115]步驟3000:用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配,即:計(jì)算每個(gè)導(dǎo)航項(xiàng)和各個(gè)類別之間的相似度,根據(jù)相似度以及導(dǎo)航項(xiàng)鏈接URL決定導(dǎo)航項(xiàng)所屬的類別。如圖13所示,具體在用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配步驟中,包括如下步驟:
[0116]步驟3100:相似度計(jì)算:向量化每個(gè)導(dǎo)航項(xiàng)和每個(gè)類別,計(jì)算它們之間的相似度。
[0117]步驟3200:獲取導(dǎo)航項(xiàng)所屬類別:根據(jù)導(dǎo)航項(xiàng)和類別之間的相似度,結(jié)合導(dǎo)航項(xiàng)的鏈接URL決定導(dǎo)航項(xiàng)所屬的類別。首先將導(dǎo)航項(xiàng)與各個(gè)類別的相似度進(jìn)行計(jì)算,并對(duì)相似度進(jìn)行排序。如果最大相似度唯一,則將對(duì)應(yīng)類別作為錨文本類別,并將錨文本和分類信息存儲(chǔ)起來;否則,需要將該錨文本對(duì)應(yīng)的鏈接輸入到一個(gè)URL類別判定模塊。如果該模塊輸出非空,則將該錨文本及其對(duì)應(yīng)的分類信息存儲(chǔ)起來。
[0118]步驟4000:語料庫去噪:將候選語料庫中的各個(gè)類別下的文本進(jìn)行聚類,去除類別內(nèi)部的噪音,提高語料庫的質(zhì)量。理想情況下,候選語料庫中的所有網(wǎng)頁文本應(yīng)該都是屬于相關(guān)類別的。而由于網(wǎng)站本身權(quán)威程度和網(wǎng)站管理人員員水平的差異,一些原本不屬于某個(gè)主題的頁面也可能被劃分到該類別下。另外,某些與指定主題不相關(guān)的信息也可能被引入,有些登錄或者網(wǎng)站協(xié)議等界面由于錨文本的表述與過濾條件不同,從而可能被保留下來。這些噪聲網(wǎng)頁的存在令候選語料庫的質(zhì)量大大下降,因此需要對(duì)候選語料庫進(jìn)行去噪。
[0119]由于噪聲文本與所在主題并無太大關(guān)聯(lián),因此它們?cè)谖谋镜奶卣飨蛄靠臻g中會(huì)以離群點(diǎn)的形式出現(xiàn)。而聚類能夠去除集合中的離群點(diǎn),所以本文采用文本聚類算法對(duì)每個(gè)類別下剩余的網(wǎng)頁文本進(jìn)行聚類,保留聚類結(jié)果中的較大的簇,將較小的簇作為噪聲去掉。在本發(fā)明的實(shí)施例中使用了 k-means算法聚類,但具體實(shí)踐中并不限于k-means聚類方法。
[0120]步驟5000:輸出語料庫:輸出最終的各個(gè)類別下的標(biāo)準(zhǔn)文本語料。
[0121]如圖14所示,本發(fā)明還公開了一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的系統(tǒng),包括:
[0122]用戶文本分類體系獲取單元11,用于提供所需的文本類別體系,包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域;
[0123]網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理單元21,用于從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息;
[0124]用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配單元22,用于將用戶輸入的文本類別與網(wǎng)站內(nèi)容結(jié)構(gòu)進(jìn)行自動(dòng)匹配,一個(gè)網(wǎng)站中與某個(gè)文本類別匹配上的網(wǎng)站內(nèi)容單元所包含的網(wǎng)頁作為該文本類別的候選語料;
[0125]語料庫去噪單元23,用于將從多個(gè)網(wǎng)站中匹配上的同一文本類別的候選語料合并成每個(gè)類別的候選語料庫,并對(duì)候選語料庫中每個(gè)類別下的文本進(jìn)行去噪處理,提高語料庫的質(zhì)量;[0126]輸出語料庫單元12,用于輸出去噪后的類別標(biāo)準(zhǔn)文本語料。
[0127]本發(fā)明提出一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法及系統(tǒng),利用互聯(lián)網(wǎng)上各類網(wǎng)站上存在的類別標(biāo)注信息,無需專業(yè)的人員手工標(biāo)注,自適應(yīng)不同用戶的分類體系需求。它改變了傳統(tǒng)的語料庫構(gòu)建系統(tǒng)需要大量的具有一定專業(yè)知識(shí)的人員加入標(biāo)注的方式,采用對(duì)互聯(lián)網(wǎng)上的豐富信息進(jìn)行自動(dòng)的抽取和挖掘的方式,可快速的構(gòu)建出大容量的精準(zhǔn)的文本分類語料庫。
[0128]本發(fā)明解決的技術(shù)問題是:傳統(tǒng)的通過人工標(biāo)注來對(duì)文檔進(jìn)行分類的方式需要不同程度的專業(yè)知識(shí),耗費(fèi)大量的人力物力,并且缺乏靈活性,不能很好的適應(yīng)用戶需求的變化。本發(fā)明提供了一種借助互聯(lián)網(wǎng)中包含的形式各樣的網(wǎng)站結(jié)構(gòu)和內(nèi)容信息、豐富的鏈接關(guān)系,自動(dòng)尋找到高質(zhì)量的網(wǎng)站信息源作為候選,從中獲得相關(guān)網(wǎng)頁,并利用導(dǎo)航欄識(shí)別、內(nèi)容抽取、文本聚類等過程構(gòu)建滿足用戶分類需求的語料庫。用戶只需提供確定的分類體系,自動(dòng)構(gòu)建文本分類語料庫系統(tǒng)將會(huì)幫助用戶搜集到大量精準(zhǔn)的各個(gè)類別的語料。
[0129]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,包括如下步驟: 用戶提供所需的文本類別體系:即包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域; 網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理:從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息; 用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配:將用戶輸入的文本類別與網(wǎng)站內(nèi)容結(jié)構(gòu)進(jìn)行自動(dòng)匹配,一個(gè)網(wǎng)站中與某個(gè)文本類別匹配上的網(wǎng)站內(nèi)容單元所包含的網(wǎng)頁作為該文本類別的候選語料; 語料庫去噪:將從多個(gè)網(wǎng)站中匹配上的同一文本類別的候選語料合并成每個(gè)類別的候選語料庫,并對(duì)候選語料庫中每個(gè)類別下的文本進(jìn)行去噪處理,提高語料庫的質(zhì)量; 輸出語料庫:輸出去噪后的類別標(biāo)準(zhǔn)文本語料。
2.根據(jù)權(quán)利要求1所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理步驟中,對(duì)網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理包括如下步驟: 初始種子鏈接獲取:使用門戶網(wǎng)站和領(lǐng)域內(nèi)的網(wǎng)站作為初始種子鏈接,或者由用戶指定; 網(wǎng)頁數(shù)據(jù)爬取和存儲(chǔ):設(shè)置參數(shù),參數(shù)包括并行通信數(shù),每個(gè)站點(diǎn)的訪問時(shí)間間隔,遞歸爬取深度;對(duì)上述初始種子鏈接進(jìn)行遞歸抓取,同時(shí)記錄頁面間的跳轉(zhuǎn)信息,將爬取得到的網(wǎng)頁的源碼文件存儲(chǔ)在本地,用于后續(xù)對(duì)網(wǎng)頁的離線分析和處理; 導(dǎo)航欄提取:識(shí)別提取體現(xiàn)`網(wǎng)站內(nèi)部組織結(jié)構(gòu)的導(dǎo)航欄; 有效鏈接提取:統(tǒng)計(jì)各鏈接被賦予類別的次數(shù),設(shè)置閾值,被賦予類別次數(shù)多于閾值的作為無效鏈接過濾掉,其余作為和頁面主題相關(guān)的鏈接即有效鏈接; 網(wǎng)頁內(nèi)容提取:根據(jù)非標(biāo)簽字符和標(biāo)簽數(shù)的比值來提取網(wǎng)頁的正文。
3.根據(jù)權(quán)利要求2所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在導(dǎo)航欄提取步驟中,包括如下步驟: 網(wǎng)頁的頁面分割:根據(jù)網(wǎng)頁的DOM樹將其分割成若干個(gè)塊; 基于規(guī)則過濾的導(dǎo)航欄抽取:通過制定規(guī)則對(duì)網(wǎng)頁的各個(gè)分塊進(jìn)行過濾和排序來提取導(dǎo)航欄; 基于圖結(jié)構(gòu)的導(dǎo)航欄抽取:將網(wǎng)頁之間的鏈接關(guān)系組織成圖結(jié)構(gòu),尋找極大連通子圖,根據(jù)子圖信息對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來提取導(dǎo)航欄。
4.根據(jù)權(quán)利要求3所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在網(wǎng)頁的頁面分割步驟中,包括如下步驟: 網(wǎng)頁DOM樹構(gòu)造:利用DOM解析器將網(wǎng)頁解析成DOM樹; 網(wǎng)頁DOM樹化簡:利用三個(gè)規(guī)則對(duì)網(wǎng)頁DOM樹進(jìn)行化簡。
5.根據(jù)權(quán)利要求3所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在基于規(guī)則過濾的導(dǎo)航欄抽取步驟中,包括如下步驟: 網(wǎng)頁塊過濾:根據(jù)鏈接類型、鏈接唯一性、樣式表、錨文本在源碼中的距離、每個(gè)錨文本包含的最大詞數(shù)特征對(duì)網(wǎng)頁塊進(jìn)行過濾; 網(wǎng)頁剩余塊排序:通過制定公式對(duì)網(wǎng)頁中過濾后剩余的塊進(jìn)行打分并排序; 輸出候選導(dǎo)航欄:根據(jù)網(wǎng)頁剩余各塊的排名和各個(gè)塊的得分置信度來輸出候選導(dǎo)航欄。
6.根據(jù)權(quán)利要求3所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在基于圖結(jié)構(gòu)的導(dǎo)航欄抽取步驟中,包括如下步驟: 構(gòu)造頁面的鏈接關(guān)系圖:將網(wǎng)頁之間的鏈接指向關(guān)系表示成圖; 獲取極大完全子圖:從頁面的鏈接關(guān)系圖中找出所有的極大完全子圖,即:子圖中任意兩個(gè)節(jié)點(diǎn)直接相鄰,并且此子圖不被其他具有上述屬性的子圖包含; 輸出候選導(dǎo)航欄:根據(jù)極大完全子圖對(duì)頁面的塊結(jié)構(gòu)進(jìn)行過濾來得到候選導(dǎo)航欄。
7.根據(jù)權(quán)利要求2所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在網(wǎng)頁內(nèi)容提取步驟中,包括如下步驟: 網(wǎng)頁源碼行特征抽取:對(duì)網(wǎng)頁源碼中的每一行抽取二維特征,即:標(biāo)簽比和標(biāo)簽比導(dǎo)數(shù); 網(wǎng)頁源碼行聚類獲取正文:利用抽取出的二維特征和k-Means方法對(duì)網(wǎng)頁源碼中的所有行進(jìn)行聚類,保證對(duì)非正文的去除效果。
8.根據(jù)權(quán)利要求7所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在網(wǎng)頁源碼行特征抽取步驟中,包括如下步驟: 計(jì)算初始行標(biāo)簽比,即:行包含的非HTML標(biāo)簽字符數(shù)和同一行標(biāo)簽數(shù)目的比值;行標(biāo)簽比平滑:采用高斯過濾器對(duì)標(biāo)簽比的數(shù)據(jù)進(jìn)行過濾歸一,用這個(gè)過濾器與標(biāo)簽比進(jìn)行卷積運(yùn)算來平滑 行標(biāo)簽比; 行標(biāo)簽比求導(dǎo):計(jì)算行標(biāo)簽比的近似導(dǎo)數(shù)。
9.根據(jù)權(quán)利要求1所述的借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的方法,其特征在于,在用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配步驟中,包括如下步驟: 相似度計(jì)算:向量化每個(gè)導(dǎo)航項(xiàng)和每個(gè)類別,計(jì)算它們之間的余弦相似度; 獲取導(dǎo)航項(xiàng)所屬類別:根據(jù)導(dǎo)航項(xiàng)和類別之間的相似度,結(jié)合導(dǎo)航項(xiàng)的鏈接URL決定導(dǎo)航項(xiàng)所屬的類別。
10.一種借助互聯(lián)網(wǎng)自動(dòng)構(gòu)建文本分類語料庫的系統(tǒng),其特征在于,包括: 用戶文本分類體系獲取單元,用于提供所需的文本類別體系,包含一個(gè)或多個(gè)層次的文本類別樹,用戶可以指定或不指定所涉及的領(lǐng)域; 網(wǎng)站結(jié)構(gòu)與內(nèi)容的采集整理單元,用于從互聯(lián)網(wǎng)中采集大量網(wǎng)站,提取并分析網(wǎng)站的內(nèi)容層次結(jié)構(gòu)和每個(gè)主題詞對(duì)應(yīng)的網(wǎng)頁內(nèi)容信息; 用戶輸入類別與網(wǎng)站結(jié)構(gòu)的匹配單元,用于將用戶輸入的文本類別與網(wǎng)站內(nèi)容結(jié)構(gòu)進(jìn)行自動(dòng)匹配,一個(gè)網(wǎng)站中與某個(gè)文本類別匹配上的網(wǎng)站內(nèi)容單元所包含的網(wǎng)頁作為該文本類別的候選語料; 語料庫去噪單元,用于將從多個(gè)網(wǎng)站中匹配上的同一文本類別的候選語料合并成每個(gè)類別的候選語料庫,并對(duì)候選語料庫中每個(gè)類別下的文本進(jìn)行去噪處理,提高語料庫的質(zhì)量; 輸出語料庫單元,用于輸出去噪后的類別標(biāo)準(zhǔn)文本語料。
【文檔編號(hào)】G06F17/30GK103823824SQ201310314269
【公開日】2014年5月28日 申請(qǐng)日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】陳清財(cái), 張亮, 王丹丹, 王曉龍 申請(qǐng)人:哈爾濱工業(yè)大學(xué)深圳研究生院