正文 基於同義詞擴展的文本檢索改進研究(1 / 2)

摘要 目前的文本檢索係統多數是基於關鍵詞的檢索,關鍵詞檢索是依賴於字符串機械匹配的檢索模式,由於用戶的生活背景不同,對同一概念可能會產生不同的表述,從而導致用戶輸入關鍵詞而查找不到相應文本的情況。試圖通過同義擴展查詢對傳統文本檢索係統進行改進,從而提高檢索係統的整體性能。

關鍵詞 同義詞擴展;查全率;查準率;文本檢索

中圖分類號:TP319 文獻標識碼:B 文章編號:1671-489X(2010)18-0095-02

1 同義詞擴展的算法與實現

同義詞擴展就是用人工構造同義詞庫、蘊含詞庫等輔助詞庫,或是從語料庫中自動取得同義詞關係,使得檢索係統能自動“聯想”到與其同義或者意思相近的詞,提高信息匹配的準確度,從而提高檢索係統的整體性能[1]。本文把意義相同或相近的詞稱為同義詞,當用戶輸入預想的關鍵詞時,檢索係統將自動進行一係列的預處理,從而得到單個的關鍵詞。這些預處理包括分詞、過濾無效詞和去除非法字符等,然後對預處理後的關鍵詞進行同義詞擴展。本文進行同義擴展的基礎是手工建立的同義詞詞典,該詞典依據《哈工大信息檢索研究室同義詞詞林擴展版》(以下簡稱《同義詞詞林》)編製。

1.1 同義詞詞典的建立

《同義詞詞林》按照樹狀的層次結構把所有收錄的詞條組織到一起,把詞彙分成大、中、小3類,大類有12個,中類有97個,小類有1 400個。每個小類裏都有很多的詞,這些詞又根據詞義的遠近和相關性分成若幹個詞群(段落)。每個段落中的詞語又進一步分成若幹個行,同一行的詞語要麼詞義相同(有的詞義十分接近),要麼詞義有很強的相關性[2]。按照《同義詞詞林》的編碼規則,可以分出具體的3種情況,分別是“=”“#”“@”。“=”代表“相等”“同義”;“#”代表“不等”“同類”,屬於相關詞語;末尾的“@”代表“自我封閉”“獨立”,它在詞典中既沒有同義詞,也沒有相關詞。這三類詞語中,前兩類對本係統而言用處不大,選取最後一類詞作為同義詞詞典擴展的原始詞。

組織同義詞詞典的格式表示為“同義詞1:同義詞2:……:同義詞n”,然後,把包含n個同義詞的一組同義詞變成n組同義詞,並保證n個同義詞在n組同義詞的第一個位置上分別出現一次。例如,對“電腦:計算機:微機”展開,得到滿足條件的同義詞“計算機:電腦:微機”“微機:計算機:電腦”。同義詞詞典按照詞語首字在漢字區位碼表中的位置順序組織,首字相同的同義詞組集中在一起並按首詞詞長由長到短依次排列。

1.2 同義詞擴展的實現

同義詞擴展的核心代碼是用Visual Basic編寫的一個動態鏈接庫(dll)文件,通過代碼調用同義詞詞典。dll文件需要先注冊後使用,注冊的命令為“regsvr32文件路徑\*.dll”。檢索係統通過asp代碼調用dll文件。