網絡語料正文的識別/抽取規則 標籤密度判定法

在確定了對不同的URL進行的不同的操作之後,自然就進入到了本軟件的核心部分:如何判定HTML源碼中,哪一部分是正文。只有確定了正文部分,才能夠確定操作集中的對象,才能夠進行抽取。

在各種網絡文本中,最容易獲得的,就是網絡新聞之類。這類文章,甚至包括很多的非新聞類的網上文章,特點都是具有一個標題,這個標題一般會放在正文開頭在<h1> </h1>標籤中,有些網站也會放在<title> </title>標籤中;另外,在一般的網上文章中,正文往往都是用<p> </p>來進行段落劃分。同時,正文成分在網頁源代碼中,分佈往往較爲集中。因此,本文提出一種正文判定法則,即標籤密度判定法,即,首先判斷一個<p> </p>代碼塊中的標籤密度,如果低於某一閾值,就認爲其標籤含量很低,是正文的可能性就比較大。下面舉兩個例子來論證標籤密度是否能成爲判定正文的標準:代碼片段A是一篇新聞網頁的源碼中,正文部分的Fragment,而代碼片段B,則是非正文部分的Fragment。這兩段網頁源代碼,是隨機地從某一搜索引擎結果集中抽取的,因而具有相當的代表性:

 

<P>  對於吉林石化爆炸污染松花江水源的說法,吉林省委宣傳部表示目前還沒有聽說這個情況。吉林市市委宣傳處一位人士更是表示,由於哈爾濱處於松花江下游,哈爾濱多年來一直抓住水指標的問題,作水污染的文章,這次停水是否因爲吉林石化爆炸所導致還不好說。他告訴記者,自1114下午開始,吉林市松花江江北在恢復供水後一直保持正常。

</P>

<P>  吉林石化方面人士強調,爆炸產生的是二氧化碳和水,絕對不會污染到水源,而吉林石化也有自己的污水處理廠,不合格的污水是不會排放到松花江的。本報記者翟宇許

金晶王婷婷 發自哈爾濱 北京<A href="http://weather.qq.com/preend.htm?dc80.htm"

target=_blank> <IMG alt=點擊查看北京及更多城市天氣預報

src="http://weather.qq.com/images/endnew/weather_icon.gif"

border=0> </A> </P>

 

3-1 代碼片段A,從某HTML頁面源文件中摘取的片斷

 

 

<DD class="nadlinkB  marginupdown"> <!--廣告 -->

  <DD class=focus>

  <DIV class="focustit px14">焦點關注 </DIV>

  <DD class=foucscnt>

  <DIV class=foucscnt1> <A href="http://news.qq.com/a/20051124/000309.htm"

  target=new> <IMG class=marginupdown height=88 alt="交友廣告在高校派發 尋伊啓事專盯單身美女"

  src="http://img1.qq.com/news/20051124/2719358.jpg" width=130

  border=1> </A> <BR>交友廣告專盯單身美女<BR> <BR> <A

  href="http://ent.qq.com/a/20051124/000048.htm" target=new> <IMG

  class= marginupdown height=88 src="http://img1.qq.com/ent/20051124/2720851.jpg"

  width=130 border=0> </A> <BR> 懷孕王菲遭媒體“圍堵”<BR> </DIV>

  <DIV class=foucscnt2> · <A href="http://news.qq.com/a/20051120/000704.htm"

  target=_blank> 小泉談中日關係 稱不擔心中日交惡() </A> <BR> · <A

  href="http://news.qq.com/a/20051119/000757.htm" target=_blank> 戒毒所警察強姦女生被判10

  不服判決 </A> <BR> · <A href="http://news.qq.com/a/20051118/001595.htm"

  target=_blank> 甘肅省委宣傳部原副部長石星光遇害< /A> <BR> · <A

  href="http://news.qq.com/a/20051116/001154.htm" target=_blank> 按下劫警鍵五分鐘獲救

  新版GPS救下的姐命 </A> <BR> · <A href="http://news.qq.com/a/20051110/001447.htm"

  target=new>全國中小學後勤工作論壇上鼾聲一片(組圖) </A> <BR> · <A

  href="http://news.qq.com/a/20051110/000472.htm" target=_blank> 孕婦被打流產索賠81

  被告提異議 </A> <BR> <BR> · <A href="http://news.qq.com/a/20051124/000469.htm"

  target=new> 女子結婚3年未孕 醫院檢查才知是男兒身 </A> <BR> · <A

  href="http://news.qq.com/a/20051124/000540.htm" target=new> 變性美女返家

  3萬鄉親敲鑼打鼓迎接() </A> <BR> · <A href="http://news.qq.com/a/20051124/000833.htm"

  target=new> 女教師多次性騷擾14歲男生被判軟禁() </A> <BR> · <A

  href="http://news.qq.com/a/20051119/000154.htm"

  target=new> 網絡工程師網上散發前女友裸照() </A> <BR> · <A

  href="http://news.qq.com/a/20051110/001756.htm"

  target=new> 丈夫迷網絡色情與老婆演淫穢真人秀() </A> <BR> </DIV>

  <DIV class=foucscnt3> <A href="http://sports.qq.com/a/20051124/000243.htm"

  target=new> <IMG class=marginupdown height=88 alt=魯尼偷腥事件女主角裸照

  src="http://img1.qq.com/sports/20051124/2720121.jpg"

  width=130> </A> <BR> 魯尼偷腥事件女主角裸照 <BR> <BR> <A

  href="http://news.qq.com/a/20051124/001281.htm" target=new> <IMG

  class=marginupdown height=88 alt="千萬富豪駕寶馬高校徵婚 傳單散10所高校"

  src="http://img1.qq.com/news/20051124/2723345.jpg" width=130

border=1> </A> <BR> 千萬富豪駕寶馬高校徵婚 <BR> </DIV>

 

3-2 代碼片段B,從同一HTML頁面源文件中摘取的片斷

 

 

這代碼片段A指示的就是我們要提取的正文。如何把這樣的代碼,與代碼段B這 樣的代碼區分開呢?首先從語言內容角度是行不通的,目前電腦很難理解自然語言;也不能從是否是超級鏈接入手,前面已經說了,正文中有時也會出現不能隨意整 個去除的超級鏈接,必須判斷出哪裏是正文,才能對正文中的超級鏈接進行處理。筆者在這個問題上也曾徘徊很久,最後的突破在於尋找到了這樣一個規律:正文部 分的HTML標籤密度,遠遠大於非正文部分。爲了驗證這個規律,我們統計分析一下上面的兩個例子(HTML標籤:這裏指所有在HTML源代碼中出現的,尖括號(<>)中的內容,每對尖括號,連同其內容,算作一個標籤,每個類似於<html> </html>的兩個標籤,其中一個標示標籤內容開始,另一個標誌標籤內容結束的,稱爲一個標籤對。):

代碼片段A的統計分析:

 

正文字數:242字(正文字數: 指的是非標籤的文本字數,標點符號計在內。)

標籤數:7個(標籤數:只計算標籤的個數,忽略標籤內文本的多少。)

標籤密度:28.93/千字(標籤密度:指的是前面定義的標籤數與正文數的商,單位規定爲“個/千字”,計算公式爲“標籤密度=1000*標籤數/字數”。)

代碼片段B的統計分析:

 

正文字數(非標籤文本):221

標籤數:69

標籤密度:312.22/千字

從上面的兩組統計數據可以看出,網絡文本源代碼中,正文部分的HTML標籤密度遠遠小於非正文部分,同時,對於更多的網絡文本的統計數據分析可以知道,按照上文的方法所算出的標籤密度,正文部分與非正文部分,存在着極大的差異。從而我們可以得出初步結論:可以依據對HTML標籤密度的統計分析來指出在一份HTML源代碼中,文章正文的位置。

於是,在對更多的文本進行類似的統計後,筆者得出一個正式的統計的結論,正文部分的HTML標籤密度大於50/千字的概率接近於零,而非正文部分的標籤密度小於200/千字的機率也幾乎爲零。所以,理論上,在50/千字和200/千 字這個統計得出標籤密度數據的“真空區”中選擇任何一個數值作爲正文與非正文部分的分界線都是可以的。但是,爲了保證不遺漏正文(不遺漏正文:對於標註對 象來說,正文的缺失是難以接受的,而少量的冗餘資料則被認爲是對工作無害的。所以,在提取正文時,寧可放行一些無用的資料,也不能把絲毫的正文過濾掉), 筆者建議選擇的分界值是150/千字(150/千 字:這是針對網絡新聞資料得出的建議分界值,可能並不適用於其他類型的資料)。當然,在其後的設計分析中,我們可以知道,對於不同網站的文本語料,存在不 同的設計風格差異,體現在源碼上,就是正文部分與非正文部分的標籤密度存在一定的波動。我們可以通過對這個閾值進行調整,來達到最適合的抽取精度。當然, 在軟件中,會存在一個Scroll Bar,對這個閾值進行調整。

發佈了33 篇原創文章 · 獲贊 0 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章