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