XML 程式設計思想:查詢 XML 格式的 WordNet(轉)
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML 程式設計思想:XML語義(轉)XML程式設計
- XML 程式設計思想:XML和語義(轉)XML程式設計
- XML 程式設計思想: 研讀XML Hacks(轉)XML程式設計
- XML 程式設計思想: XML 語義錨(轉)XML程式設計
- XML 程式設計思想: Harold 的高效 XML 設計原則(轉)XML程式設計
- XML 程式設計思想:XML 建模藝術描述(轉)XML程式設計
- XML 程式設計思想: 專利編檔遭遇 XML(轉)XML程式設計
- XML 程式設計思想: XMLOpen 會議,再評 XML Hacks(轉)XML程式設計
- XML 程式設計思想:XML和語義:XML 會兌現其承諾嗎?(轉)XML程式設計
- XML 程式設計思想:從書本學習 XML Topic Maps(轉)XML程式設計
- XML 程式設計思想:Thinking XML: 通用商業語言(UBL)(轉)XML程式設計Thinking
- XML 程式設計思想:將檔案合併到 RDF 模型和基本的 RDF 查詢(轉)XML程式設計模型
- XML 程式設計思想:重新審視 XML 中的語義透明性(轉)XML程式設計
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術(7)(轉)XML程式設計
- XML 程式設計思想:使用 XSLT 生成 RDF(轉)XML程式設計
- XML 程式設計思想:踏著語義的節拍(轉)XML程式設計
- XML 程式設計思想: 學習物件後設資料(轉)XML程式設計物件
- XML 程式設計思想: 使用 Atom 格式連鎖新聞及其他內容(轉)XML程式設計
- XML 程式設計思想:用 MusicBrainz 管理後設資料(轉)XML程式設計AI
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術:語義知識(轉)XML程式設計
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術:問題跟蹤程式模式(轉)XML程式設計模式
- XML 程式設計思想: UBL 1.0(以及 ebXML Core Components 等)(轉)XML程式設計
- XML 程式設計思想:定義 RDF 和 DAML+OIL 圖示(轉)XML程式設計
- XML程式設計例項(二) (轉)XML程式設計
- XML與ASP程式設計(一) (轉)XML程式設計
- XML 程式設計思想:利用模式標準化實現自上而下的語義透明(轉)XML程式設計模式
- 通用查詢設計思想
- Open Office XML 格式中的 Style 設計原理XML
- Oracle XQuery查詢、構建和轉換XML(1)(轉)OracleXML
- 使用 Oracle XQuery 查詢、構建和轉換 XMLOracleXML
- shell vbscript xml程式設計XML程式設計
- 使用xml http為網站增加域名查詢功能(轉)XMLHTTP網站
- LINQ系列:LINQ to XML查詢XML
- xsl中,對xml文件查詢的結果再次查詢XML
- Java XML程式設計例項解析JavaXML程式設計
- 使XML程式設計更簡單---JDOM介紹及程式設計指南 (轉)XML程式設計
- Python將xml格式轉換為json格式PythonXMLJSON
- XML卷之實戰錦囊(2)動態查詢(轉)XML