全文検索システム『ひまわり』

1.はじめに

  • 青空文庫で配布されている XHTML 形式の文書から『ひまわり』検索用データを作成する方法について説明します。
  • Windows 環境での作業を想定しています。
    • 今回は,変換作業を自動化するツール「あおまめ」を使った方法を説明します。
    • Windows 以外の OS をお使いの方,より詳しい変換方法を知りたい方は,「4.変換処理の内容」を参照してください。

2.準備

  1. 『ひまわり』 ver.1.3 のインストール
  2. 検索対象の作品のダウンロード
    • 青空文庫から検索対象の作品をダウンロードしてください。
    • ダウンロードする際,ファイル形式が「XHTML 形式」となっているファイルをダウンロードしてください。XHTML 形式以外の形式については,ここでは扱いません。
    • ダウンロードの方法は,「青空文庫」の解説 (ダウンロードと解凍)を御覧ください。
  3. 「あおまめ」パッケージのダウンロードと解凍
    • file「あおまめ」パッケージをダウンロードしてください。このファイルは,LZH 形式で圧縮されています。Lhasa32 などの解凍ソフトを利用して,解凍してください。
    • なお,本パッケージ中の「AOMAME.hta」は明海大学の小木曽 智信氏(togiso@meikai.ac.jp)が作成されたスクリプトです。著作権は小木曽 智信氏にあります。
    • 本ページでは,GPL ライセンスに基づいて,「あおまめ」パッケージを配布しています。

3.作成手順

3.1 資料用フォルダの作成

 「青空文庫」からダウンロードしたファイルを,一つのフォルダにまとめてください。フォルダの名前は,なんでも構いません。ここでは,デスクトップ上の「aozora」というフォルダに,ダウンロードしたファイルをまとめることを前提に説明します。

3.2 「あおまめ」パッケージの解凍

 「あおまめ」パッケージを解凍すると,「aomame」というフォルダができます。まず,「aomame」フォルダに次のファイルがあるか確認してください。

  • README.TXT ... 最初に読んでください。ライセンスなどの説明があります。
  • AOMAME.hta ... 「あおまめ」本体
  • SimpleText フォルダ ... 『ひまわり』用データ
  • config_simpleText.xml ... 『ひまわり』設定ファイル

3.3 変換の実行

 「AOMAME.hta」をダブルクリックして,「あおまめ」を起動してください。「あおまめ」が起動したら,次の二つのフォルダを指定してください。

  • (a)「青空文庫」からダウンロードした作品を格納しているフォルダ(下図の上の欄)
  • (b) 変換結果のファイル(『ひまわり』検索用データ)を出力するフォルダ(下図の下の欄)

「あおまめ」

 上の図では,(a) はフォルダをデスクトップ上にある「aozora」フォルダ,(b) はデスクトップになっています。なお,(a), (b) の指定で,「taro」となっている部分は,ユーザ名であり,使用する環境により異なります。

 「作成」ボタンを押して,デスクトップに「corpus.xml」というファイルができれば,変換は終了です。これが,『ひまわり』検索用のデータとなります。

3.4 検索用データのインストール

 次に,『ひまわり』検索用データ(corpus.xml)を『ひまわり』にインストールします。『ひまわり』がまだインストールされていない場合は,『ひまわり』利用者マニュアルを参照して,『ひまわり』のインストールを完了させてください。最新版の『ひまわり』はダウンロードのページにあります。

 corpus.xml のインストールは,次の手順で行ってください。

  1. 『ひまわり』がインストールしてあるフォルダに,「Corpora」フォルダがあるはずです(なければ,作成してください)。この中に,『あおまめ』パッケージに含まれている「SimpleText」フォルダを移動してください。
  2. 同様に,『ひまわり』がインストールしてあるフォルダに,config_simpleText.xml を移動してください。
  3. 作成された corpus.xml を,1 の「SimpleText」フォルダに移動してください。

3.5 索引付け

 次に,作成した corpus.xml に対して,「索引付け」を行います。「索引付け」は,高速に全文検索するために必要な処理です。

 索引付けの手順は,次のとおりです。

  1. 『ひまわり』を起動してください。
  2. [ファイル]→[新規] で,設定ファイルの config_simpleText.xml を読み込んでください。
  3. [ツール]→[インデックス生成]を実行してください。
  4. 「インデックス生成が終了しました。」と表示されれば,索引付けは終了です。

 以上で,検索用データ作成は終了です。実際に検索してみてください。検索方法は,[ 3.検索してみよう」を参照してください。

4.変換処理の内容

 この節は,詳しい変換処理の内容を知りたい方や Windows 以外の OS をお使いの方のために設けてありますので,適宜,読み飛ばしてください。

 青空文庫の XHTML ファイルから『ひまわり』で検索できる XML 文書への変換は,aozora.xsl で行っています。変換処理の内容は,aozora.xsl を参照してください。

 3.3 節で実行する「AOMAME.hta」は,Windows 環境以外では動作しません。しかし,AOMAME.hta は,aozora.xsl を呼び出して,変換処理を行っていますので,手動で aozora.xsl を実行すれば,(Java が動作する環境であれば)変換を行うことができます。具体的な手順は,次のとおりです。

  1. JRE など Java の実行環境を,お使いの PC にインストールしてください。
  2. 「あおまめ」パッケージ中の aozora.xsl で,青空文庫の XHTML ファイルを『ひまわり』で検索できる XML 文書に変換します。変換するには,次のコマンドを実行します(下の例では見やすさを重視して改行していますが,つなげて書いてください)。このコマンドの出力結果を適当なファイルに保存してください。なお,出力結果の文字コードは UTF-16(Little Endian) になります。
    • Proxy を使っていない場合
      java org.apache.xalan.xslt.Process -in 変換対象ファイル名 -xsl aozora.xsl
    • Proxy を使っている場合
      java -Dhttp.proxyHost=Proxy のIPアドレス -Dhttp.proxyPort=Proxy のポート番号
            org.apache.xalan.xslt.Process
            -in 変換対象ファイル名 -xsl aozora.xsl
  3. 青空文庫の XHTML ファイルが複数ある場合は,それぞれのファイルに対して,上記の処理を実行します。そして,すべての結果を一つの corpus.xml として,連結してください。連結は,個々のファイルを単純に連結するだけでもかまいません(ただし,正しい (valid な) XML 文書ではありませんのでご注意ください)。
  4. corpus.xml 全体を aozora 要素としてください。具体的には,corpus.xml の先頭行に <aozora>,最終行に </aozora> を挿入してください。
  5. 文字コードが UTF-16(Little Endian),改行コードが LF となるように,corpus.xml を保存してください。

以上で,corpus.xml が作成されました。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-18 (月) 00:00:00 (3563d)