XML 程式設計思想:查詢 XML 格式的 WordNet(轉)

amyz發表於2007-08-12
XML 程式設計思想:查詢 XML 格式的 WordNet(轉)[@more@]

  WordNet 是普林斯頓大學的一個研究專案,目標是建立英語詞彙及其詞法關係的資料庫。這樣的工具可以為 XML 語義應用程式建立很好的基礎,比如 Uche Ogbuji 在本專欄以前文章中所提到的能識別同義詞的搜尋的例子。本期文章中他回顧了基本原理,給出了查詢 XML 文件格式的 WordNet 2.0 的程式碼,這是構建更通用的 XML WordNet 應用程式的第一步。

  我曾經在以前的一期文章中提到過 WordNet,主要討論了在 RDF 格式中的應用。從那以後,又發生了很多變化:WordNet 專案從 1.7 版發展到了 2.0 版,詞彙的分類有一些細微的變化;以前討論的 RDF 表示仍然停留在 WordNet 1.6 ;其間 2.0 版發生了一些變化,不能保持以前所有版本的向後相容性。

  隨著越來越多的開發人員開始關注解決語義透明性問題的方法——這也是整個 Thinking XML 專欄的核心,語義 Web 技術悄然成為主流。在這一領域,更多地討論從這類技術的實用性轉移到了最佳實踐和應用程式介面問題。一些有興趣的團體,包括我本人,繼續尋找利用語義 Web 技術但又不把一切都明確用 RDF 序列化編碼的方法。WordNet 是一個很大的基於資料的專案,資料的基礎都有非常嚴格的定義。其應用也非常廣泛。(以前的文章中我曾經介紹過如何使用 WordNet 為特定的應用程式搜尋功能增加更多的智慧。)因此,它也不可避免地成為了關於應用語義 Web 技術的討論焦點。

  我們將透過一系列文章來重新考察 WordNet 2.0 及其在 XML 和 RDF 技術中的應用,這是第一部分。

  建立 WordNet 基礎設施

  很多 WordNet 專案由於過時的資料版本而日漸衰微,很多情況是因為沒有解決資料庫格式的轉化問題。我認為,這正說明了討論可重用的建立格式方法的必要性,比如 XML WordNet 檔案(可能包括 XML/RDF)。一種好辦法是編寫程式碼,從喜歡的程式語言中利用訪問 WordNet 資料庫的很多專案。對於我而言,這種語言自然就是 Python。在 Python 中有兩個適用於 WordNet 的 Python 專案,PyWN 是其中的一個,它也是基於老版本的,因此我選擇使用 PyWordNet(請參閱參考資料)。我已經安裝了 Python 2.4, 下載 PyWordNet 2.0.1 之後使用 python setup.py install 安裝它。

  PyWordNet 沒有附帶 WordNet 資料庫檔案,這些檔案必須單獨下載。不需要構建 WordNet 包,只要將下載的檔案解壓到適當位置就足夠了。PyWordNet 需要的檔案放在 dict 子目錄中。 PyWordNet 在 WNHOME 環境變數所指定的位置查詢 WordNet 檔案,如果沒有在 UNIX 機器上指定該變數,則在預設位置 /usr/local/wordnet2.0 中查詢。設定好這些之後,可以執行 python -c "from wntools import *" 看看是否正常。我在執行中發現了 4 個以下顯然無害的錯誤訊息:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950159/,如需轉載,請註明出處,否則將追究法律責任。

相關文章