吳月萍 陳玉泉
[摘 要] 針對現(xiàn)今通用搜索引擎存在信息量大、查詢不準確、深度不夠的問題,提出概念分析的方法。它是用于研究信息檢索的一條重要思路,它所倡導的以疊置原理為核心的語義分析技術,目標是自動地解析復合概念的語義,解決從簡單的符號處理走向詞的意義處理。通過實現(xiàn)基于Web的屬性抽取,以支持基于概念的搜索模型。最終使用實驗來分析驗證算法,所獲得的查全率隨著迭代的遞增,不斷增加;相反,準確率卻相應下降,這個評測結果說明屬性抽取方法的可行性。
[關鍵詞] 屬性抽??;概念;過濾;查全率;準確率
doi:10.3969/j.issn.1673-0194.2009.10.033
[中圖分類號]F270.7;TP391[文獻標識碼]A[文章編號]1673-0194(2009)10-0098-04
0引言
全球調(diào)查顯示,在互聯(lián)網(wǎng)上搜索引擎的使用率僅次于電子郵箱,搜索引擎服務能成為最受歡迎的服務是因為它解決了用戶在浩瀚的互聯(lián)網(wǎng)海量快速定位信息瓶頸的問題,在海量的網(wǎng)頁里找信息,按照傳統(tǒng)方式需要用戶一個網(wǎng)站一個網(wǎng)站、一級目錄一級目錄往下找,要耗費大量的精力和時間,而且互聯(lián)網(wǎng)的信息量呈爆炸趨勢增長,幾年前全球式搜索引擎收錄的網(wǎng)頁量只有幾千萬頁,而現(xiàn)在已經(jīng)達到幾十億頁,數(shù)量增加帶來的是搜索服務的品質(zhì)下降,查詢的結果集是海量的,且結果里存在大量的重復信息和垃圾信息,用戶越來越難迅速地找到符合的信息。
本文所研究的屬性抽取基于概念分析方法,它所倡導的以疊置原理為核心的語義分析技術,目標是自動地解析復合概念的語義。同一概念可以用不同的語言表現(xiàn)形式來表達,也就是“一義多詞”,如“計算機”和“電腦”就表示同一個概念。而相同的詞也可以表示不同概念,也就是“一詞多義”,如“蘋果”,既可以表示水果,也可以表示美國的一家著名的電腦公司,也就是詞匯與概念之間的非一一對應。在特定的檢索目的下,如果限制“紅蘋果”和“紅顏色的蘋果”都是在說明“具有紅色屬性值的蘋果(水果)”這樣的實體時,兩個檢索表達式是等價的。這樣就可以避免單純的字符匹配所帶來的查準率,查全率不高的問題,也就是說,要從簡單的符號處理走向詞的意義處理。
1國內(nèi)外研究狀況
近幾年,國內(nèi)外研究人員在信息模型的基礎上,加入了自然語言處理(NLP)以及機器學習的方法,從而使信息檢索系統(tǒng)更為“智能”。NLP技術試圖通過將某個查詢的語義信息與文檔的語義信息進行匹配來提高查詢的性能。它通常用于自由文本的信息抽取,即把文本分割成多個句子,對一個句子的成分進行標記,然后將分析好的句子語法結構和事先定制的語言模式匹配,獲得句子的內(nèi)容。NLP技術已經(jīng)被應用于大規(guī)模文本檢索(Text Retrieval Conference,TREC)語料庫,并獲得了一定程度的成功。盡管人們聲稱,要使信息檢索達到其最佳潛能,必須對文本和查詢進行更深層次的語義分析,所做的努力就包括潛在語義分析(Latent Semantic Analysis,LSI)的方法,它可以運用統(tǒng)計技術去除文本中的“噪聲”,讓和文本更相關的語義特征凸現(xiàn)出來,而且也取得了不錯的應用效果。
如Hearst和Caraballo從語料庫中抽取詞匯概念間的上下位(isa)關系[1-2], Berland ,Charniak和Poesio等人從中抽取part-of關系[3-4], Almuhareb 和 Poesio 使用普通英語模板從Web中識別屬性[5]。但應用本文的方法基于Web抽取概念屬性的方法還是首例。
2屬性抽取算法整體流程
實現(xiàn)基于Web的屬性抽取首先要得出兩個結果:一為分類規(guī)則;二為原始屬性集。所謂原始屬性集就是通過一個給定的模板和一個具體的產(chǎn)品基于Web首次抽取出的屬性集合,但這個集合還存在一些垃圾屬性,需要將它過濾掉,那么就要通過分類規(guī)則來測試原始屬性以實現(xiàn)過濾。分類規(guī)則是基于分類算法得到的,使用最大熵分類器,匹配兩個字典模板組和人工標注后的屬性獲得PMI特征值,由人工標注后的屬性和屬性標記詞素生成詞素特征值,分類器通過這兩個特征訓練,得到分類模型,即為分類規(guī)則,以作為過濾的依據(jù)[6]。屬性抽取算法的整體流程如圖1所示,對原始屬性通過獲得的分類模型進行過濾之后得到的屬性集需進一步實現(xiàn)擴展,因為在自然語言中是不可能抽取完那些已用的屬性,這里使用連接短語模板抽取屬性的并列詞,并對并列詞進行驗證,以判定并列詞是否為屬性。符合屬性條件的放入屬性集中,再對這個屬性進行擴展、過濾,這是一個迭代的過程。
2.1分類模型
實現(xiàn)分類過濾屬性首先要建立一個模型,描述預定的數(shù)據(jù)類集或概念集, 使其滿足所有已知的事實。通過分析由屬性描述的數(shù)據(jù)庫元組來構造模型。假定每個元組屬于一個預定義的類,由一個稱作類標號屬性(0或1)的屬性確定。對于分類,數(shù)據(jù)元組也稱作樣本、實例或?qū)ο蟆榻⒛P投环治龅臄?shù)據(jù)元組形成訓練數(shù)據(jù)集即特征,通過最大熵分類器,執(zhí)行命令[7]:
Maxent train_data.txt –i 200 –m model –v
其中train_data.txt為由PMI值和詞素值形成的訓練數(shù)據(jù)集,model為所創(chuàng)建的模型,參數(shù)- i 200指迭代200次,通過參數(shù)–v顯示訓練的過程。
根據(jù)已知屬性分類事實,尋找其中的規(guī)則,所建立的模型即可對未知屬性進行判斷。并且可以測試分類算法的準確率,仍使用命令行:
Maxent –m model –p test_data.txt
其中model即為訓練時所得的模型,test_data.txt是從訓練集中隨機選取的數(shù)據(jù)。
對未知屬性的判斷同樣使用的命令行:
Maxent –m model –p test_data.txt –o output.txt
test_data.txt是測試數(shù)據(jù)量,即為未知屬性的特征值,自動判斷的結果存于output.txt文本中,從中過濾掉標注為“0”的非屬性,圖1每次循環(huán)中的過濾就是通過model模型使用命令行實現(xiàn)對擴展后的屬性特征值分類過濾。
2.2基于Web擴展基礎屬性組
在自然語言中是不可能抽取完那些已用的屬性。這主要是因為屬性詞可能是復合的,且新的復合的屬性每天都在出現(xiàn)。例如,屬性“能力”能與“飛行”和“語言”復合形成新的屬性,分別為“飛行能力”和“語言能力”。因此,在獲取基礎屬性集后還要進行屬性擴展。
本文擴展屬性組的方法使用連接短語模板一。
的x和NP(模板一)
使用這樣一個短語模板的目的是基于Resniks的假設[8],并列部分在語義上是類似的。
給予一個可知的屬性x,可以設想在模板一中的并列部分NP也是一個屬性。例如,如果x是感光度,連接短語一顯示了快門速度也是一個屬性。
的感光度和快門速度(連接短語一)
在連接短語一顯示了快門速度也是一個屬性確認之前要確認兩個問題:{1}并列部分NP是否是個名詞短語;{2}并列的界限確定。
解決第一個問題,可以使用名詞知識識別器來判定并列部分是否是名詞,前提確定是名詞再來確定并列的界限;另一種方法,限定并列部分的字符數(shù)為不超過6個,再查看并列部分中是否有所給定的標點符號(" , ; . , - ; 。 、 ! ! ~ ”)(( 》 ? ?: “ "等),如果有的話就過濾掉包括標點符號右邊的文本,最后獲得的為并列名詞。
使用以上連接短語模板擴展屬性獲取的主要困難在于確定并列的界限。例如連接短語一,因為快門和速度都是一個名詞,所以感光度和快門速度結構模糊,如連接短語二中所說明的。
a.[感光度和快門]速度
b.[感光度]和[快門速度] (連接短語二)
在a中,感光度的并列部分是快門,而在b中,相應并列部分是快門速度?,F(xiàn)可以使用稱為位置交換搜索(PES)的方法來解決這個問題。PES假設,如果A和B在并列句“A和B”是并列部分,那么很可能有“B和A”結構的語句。那么,給予一個已知的屬性a和通過名詞識別器所驗證得到的一個可能的并列部分b。通過Web搜索短語“的b和a”來測試b成為候選屬性是否合適。如果b通過了PES測試,那么將它送到Web過濾器以進一步驗證。
3實驗分析與結果
3.1實驗設計
以Visual C++ 6.0為實驗環(huán)境, 建立4個實驗模塊,其中第一個模塊是計算分類特征值[6],第二個模塊實現(xiàn)讀入擴展后的屬性集(人工認為標注都為“1”的屬性)和通過分類器自動產(chǎn)生的屬性標注,凡是自動產(chǎn)生的標注為“1”的屬性都以正確的屬性保存下來,并作為下階段擴展屬性模塊的種子。本模塊基于抽取屬性的迭代數(shù),來決定調(diào)用次數(shù)。
第三個,筆者通過Google查詢配置出針對具體產(chǎn)品實體相對應的屬性的最佳匹配模板,并通過語言專家組的認可,最終確定“打印機的A為”這樣一個模板,基于這個模板在Web上抽取出其中的A,再過濾掉結果中的非短語結構,最后形成原始屬性集。以此為基礎進行下面的擴展和過濾,過濾的算法是基于第一個模塊中得出的分類模型。
Google搜索限制查詢結果最多1 000項,且每頁面最多可顯示100項。根據(jù)模板“打印機的”作為Google關鍵字獲取1 000項查詢結果,并精確定位于HTML標記“<td class=”j”><font size=-1>”和“</b><br><span”之間的內(nèi)容,且過濾掉HTML標記“<” 和“>”之間及 “&”和 “;”之間的內(nèi)容,以獲得純文本信息作為下一步查詢“打印機的”“為”字符串中間內(nèi)容的語料庫。使用字符數(shù)、標點符號來過濾掉其中的一些垃圾:判斷語料庫 “打印機的”與“為”間隔是否超過6個字,若不超過,那6個字中是否帶有標點,如有標點符號,就過濾掉包括標點以后的文本。最終獲得的文本再通過短語識別器過濾掉結果中的非短語結構,最終獲得的A集作為原始屬性集。
第四個,筆者基于連接短語模板擴展屬性種子,利用連接短語的并列特性,抽取出連接詞“和”右邊的并列詞,作為候選屬性。此模塊關鍵在于如何確定并列詞的長度界限,一般地,都要通過名詞短語識別器,首先確定是一個名詞,并且可通過PES實現(xiàn)與連接詞“和”之前的屬性位置交換后,仍能在Web中查找到結果。但本文是根據(jù)特定的產(chǎn)品實體抽取出屬性,其連接模板為“(產(chǎn)品實體)的x和NP”,增加了一個產(chǎn)品實體的限定,在這種情況抽出的數(shù)據(jù)比較稀疏,能擴展的屬性有限,若再增加一個條件,需通過PES交換,那結果數(shù)據(jù)將更稀疏,因此在這里省去PES交換。這里獲取并列詞與抽取原始屬性一樣,首先限定了長度,不超過6個字,且判斷6個字中是否有給定的標點符號,如果有的話,就過濾掉標點符號右邊的文本。經(jīng)過這兩個條件的篩選后,獲得的文本再通過短語識別器過濾,最后的結果作為擴展到的候選屬性。
3.2實驗結果
根據(jù)“打印機的A為”這樣一個模板,基于Web抽取出9個屬性的原始屬性集,然后基于以上得出的分類模型進行過濾,得到真正的屬性數(shù)為7,通過語言專家對這7個屬性進行評測,以確定得出其中合理的有3個屬性,4個為非屬性,這樣就得出準確率0.43,如表1所示。以后每次迭代都對屬性進行一次擴展,再對它進行過濾,根據(jù)過濾后的屬性,由語言專家確定其間的合理屬性數(shù),由此得出準確率。P=人工判定的屬性數(shù)/過濾后的屬性數(shù)。
對于另一指標查全率R,首先由語言專家根據(jù)特定的產(chǎn)品實體“打印機”選出20個最具代表的屬性,如表2所示,每次迭代后,查看這些屬性在過濾后的屬性中的覆蓋程度,即為查全率。這樣多次迭代后便得出一個準確率與查全率的關聯(lián)變化的曲線圖。整個迭代過程所得數(shù)據(jù)由圖2所示,圖2是6次迭代獲得的擴展屬性數(shù)、過濾后的屬性數(shù)以及根據(jù)過濾后的屬性數(shù)語言專家判定的合理屬性數(shù)。根據(jù)這幾次數(shù)據(jù)獲得如表3所示的準確率P、查全率R和F綜合指標,圖3是相應的準確率與查全率的關聯(lián)變化的曲線圖,從圖中可看出準確率與查全率是一對矛盾的評價指標,隨著迭代的遞增,查全率會增加,而準確率就相應下降,F(xiàn)值隨著準確率P與查全率R的變化而變化。
4總結與展望
隨著Internet的迅猛發(fā)展,人們對高效率的信息獲取技術的需要越來越迫切,對海量信息進行采集、分析、整理,得到高質(zhì)量的分門別類的結構化信息,方便用戶快捷地瀏覽查詢,是極具現(xiàn)實意義的重大課題。本文就是基于這個現(xiàn)狀集中研究其中的一個分支,實現(xiàn)基于Web的屬性抽取,以支持基于概念的搜索模型。
在基于Web實現(xiàn)概念屬性抽取的整個方法所獲得的查全率隨著迭代的遞增,不斷增加;相反,準確率卻相應下降,這個評測結果說明屬性抽取方法的可行性。
由于時間的有限,本文在基于網(wǎng)頁表格和模板的識別屬性的兩種方法上未進行實驗性比較,只是鑒于前人的總結經(jīng)驗作出的選擇。包括在分類算法的選擇上也是如此。另要想成為一個真正的實用系統(tǒng),本文提出的方法還需要很多改進工作要做:{1}缺乏全面性;{2}未建立可視化界面。針對上面的不足,我們可以在以后作進一步的深入研究,并在屬性抽取基礎上擴展對應的屬性值,以真正能運用于商業(yè)領域搜索引擎中。
主要參考文獻
[1] M A Hearst.Automatic Acquisition of Hyponyms from Large Text corpora[C]// Proceedings of the 14th Conference on Computational Linguistics,1992:539-545.
[2] S A Caraballo.Automatic Construction of a Hypernym-labeled Noun Hierarchy from Text[C]//.Proceedings of the 37th Annual Meeting of the Association for Computational Linguistic on Computational Linguistics,1999:120-126.
[3] M Berland and E Charniak.Finding Parts in Very Large Corpora[C]//Proceedings of the 37th Annual Meeting of the Association for Computational Linguistics,on Computational 57-64.
[4] M Poesio, T Ishikawa,etal.Acquiring Lexical Knowledge for Anaphora Resolution[C]//Proceedings of the 3rd Conference on Language Resources and Evaluation (LREC),2002.
[5] A Almuhareb and M Poesio.Attribute-Based and Value-Based Clustering:An Evaluation[C]//Proc of EMNLP,2004:158-165.
[6] 吳月萍. 基于Web屬性抽取訓練分類模型的方法研究[J].上海第二工業(yè)大學學報,2008(1).
[7] Zhang Le. Maximum Entropy Modeling Toolkit for Python and C++[EB、OL]. URL http://homepages.inf.ed.ac.uk/s0450736//maxent-toolkit.html.
[8] P Resnik.Semantic Similarity in a Taxonomy:An Information-Based Measure and its Application to Problems of Ambiguity in Natural Language[J]. Journal of Artificial Intelligence, 1999(11):95-130.