XSLTを使ってXMLデータからオープン拡張辞書形式に変換する方法(3)
実際に変換してみよう
最後にXSLファイルとWikipediaのXMLを組み合わせて、拡張辞書を生成しましょう。変換処理はWindows7に付属しているPowerShellを使用します。PowerShellは「アクセサリ」の下に「Windows PowerShell」があるので起動してください。PowerShellスクリプトは次の通りです。なお、WikipediaのXMLファイルサイズが大きいため、変換処理には1GB以上のメモリが必要になります。
実行する前に、XSLファイルとXMLファイルが置いてあるフォルダに移動し、以下のプログラムをコピー&ペーストしてください。フォルダの移動はcdコマンドを使います。
[sourcecode language="powershell"]
#
# XSLTの準備
#
[IO.Directory]::SetCurrentDirectory((pwd).Path)
$xslt = new-object System.Xml.Xsl.XslCompiledTransform
$setting = new-object System.Xml.Xsl.XsltSettings
$setting.EnableScript = $true
#
# XSLファイルの読み込みの準備
#
$reader = [system.xml.XmlReader]::Create("wiki2oed.xsl")
#
# オープン拡張辞書を書き出すための設定
#
$writer_setting = new-object System.Xml.XmlWriterSettings
$writer_setting.Indent = $true
$writer = [System.Xml.XmlWriter]::Create("WikipediaDictionary.dctx", $writer_setting)
$resolver = new-object System.Xml.XmlUrlResolver
#
# XSLファイルの読み込み
#
$xslt.Load($reader, $setting, $resolver)
#
# 変換
#
$xslt.Transform("jawiki-latest-abstract.xml", $writer)
$reader.Close()
$writer.Close()
[/sourcecode]
WikipediaDictionary.dctxというファイルが出来上がり、ダブルクリックすれば無事辞書がインストールされます。例えば「おたてのらん」を変換してみてください。以下のようにコメントが出るようになります。また、リンクをクリックすればWikipediaのページに飛ぶこともできます。
まとめ
本記事ではXSLTを使ってオープン拡張辞書を作成する方法を説明しました。例題として、abstractのみを収録したファイルから変換しました。文書全体をさらに解析することでもう少し語彙を増やせるかもしれません。また、今回は「あ」~「と」ではじまる単語のみを変換してみました。「な」以降のものについては皆様ぜひチャレンジしてみてください。
今回紹介したXSLTファイルとPowerShellスクリプトをこちらに置いておきました。 なお、スクリプトはご自由にお使いいただいて構いませんが、スクリプトや本記事が原因によるいかなる損害について無保証です。ご了承ください。
最後に、もしこの説明を読んで実際に作成した Wikipedia の辞書を再配布したりする場合は、Wikipedia の引用に関する規定を熟読してください。