Digital Hermeneutics Systemのインストール

version 0.1
2008.4.4 村井 源

目次

  1. はじめに
  2. DHSの設定
  3. ライブラリーの設定
  4. DHSの起動

はじめに

Digital Hermeneutics System(以下DHS)はGPLライセンスのソフトウェアです。GPLライセンスに基づく限り、利用・改変・配布は無償で自由に行えます。
DHSは以下の環境で動作します。これらのソフトウェアはいずれも無償で提供されているものです。DHSの利用にはこれらのソフトウェアをあらかじめインストールする必要があります。各ソフトウェアの設定などは付属のマニュアルを参照してください。 また、DHS内部で以下のGPLライセンスのソフトウェア・ライブラリを使わせていただいています。

DHSの設定

フォルダ

DHSの圧縮ファイルを展開してできたフォルダ(DHS)をコピーします。

コピー先は、通常は Tomcat4.1 > webapps の下です。それ以外の場所にコピーする場合、 Tomcat4.1 > conf > server.xml を編集してContext pathを追加する必要があります。詳しくはTomcatのマニュアルを参照してください。

Javaのポリシー

DHSでは環境変数の参照やファイルの書き込みなどを行うため、JAVAにこれらの権限を与える必要があります。
設定の必要なファイルは、以下の二つです。

サンプルの設定ファイルをつけていますので、そちらを上書きコピーすることもできます。上書きコピーの前に元のファイルのバックアップを取っておいたほうが安全です。 両サンプルファイル中のpermission java.io.FilePermissionのフォルダの箇所は、DHSをインストールしたフォルダに変更してください。<<ALL FILES>>の設定はセキュリティ上推奨されません。

データベース

引用解析機能を使うためには、MySQLをインストールしたあと、DHS用のデータベースとユーザを作る必要があります。
MySQL Command上で以下のようなコマンドを実行してください。

create database dhssample;
grant all on dhssample.* to dhsuser identified by 'dhspassword';
grant all on dhssample.* to dhsuser@localhost identified by 'dhspassword';

設定ファイル

DHSの基本的な設定を、DHS > WEB-INF > libraryconfig.xml に記述します。

<folder>の中の<library>

DHSのデータフォルダ名を指定しますDHS > WEB-INF の下に好きな名前のライブラリーフォルダを作ることができます。
ライブラリーフォルダの名前は<library>要素中に設定します。
また、ライブラリーフォルダの中に、以下の4つのフォルダを作成します。

<database>の中の<name>、<user>、<password>

DHSのデータベースの設定を指定します。これらの要素中にはそれぞれ、データベース名、ユーザー名、パスワードを記述します。

<configuration>の中の<password>

DHSの設定画面用のパスワードを設定します。

<menu>の中の<language>

DHSのメニューの言語を設定します。(未実装)

ライブラリーの設定

フォルダ構成

DHSで扱うテキストは、本などの単位ごとに一つのXMLファイルにします。複数のXMLファイルをまとめて一つのフォルダに入れることができます。また複数のフォルダもまとめて一つのフォルダに入れることができます。これら階層的に構築されたXMLの全体を一つのライブラリとして管理します。 階層関係になったフォルダは、ライブラリーフォルダの下のbooksフォルダの下に保存します。フォルダの階層関係を使うことで多数のXMLファイルを整理できるようになっています。 DHSでは、一つのテキストに複数のバージョンがあることが前提となっているため、最下層のフォルダは必ずバージョンを示すものとしています。例えば、聖書の場合以下のようになります。

Hierarchical Book Folder

XMLファイル

DHSで用いるテキストのXMLファイルは、テキストを階層的構造に分割した構造を表現するのに適した形式になっています。例えば、部>章>節 などの本文構成や、段落>文>文節 などの文章構造を、何層にもわたって階層的に記述できます。 要素のプロパティ部分には半角英数文字のみを用いることができます。ファイルのエンコードはUTF8になっている必要があります。



Hierarchical Book Folder


各階層を示す<bookdivision>タグには、階層ごとに同じdivisionプロパティを設定します。また、階層ごとに固有のidプロパティを設定します。


<bookdivision division="chapter" id="1" >

このようなタグがあった場合、chapter階層の中でidが1であることを示しています。
最下層の<bookdivision>要素は、abbreviationプロパティを持ち、また子要素として<text>要素を中に持つ必要があります。abbreviationプロパティはXMLファイル中でこの箇所をユニークに特定するための略号である必要があります。
またオプションとして<title>要素を<text>要素の前に含めることができます。<text>要素と<title>要素の中にはUTF8で表記可能な文字を用いることができます。


<bookdivision division="verse" id="5" abbreviation="chapter1verse2"><title>この箇所のタイトル</title><text>この箇所の本文</text></bookdivision>

<text>要素を含めることのできる最下層の<bookdivision>は、一つのXMLファイル中で全て同じ階層である必要があります。XMLの前半では2階層目にテキストがあり、後半では3階層目にテキストがあるというようなことはできません。また、同じテキストの異なるバージョン間では、テキストの階層構造とdivisionプロパティ、対応する箇所の各idが等しい必要があります。

テキスト設定ファイル

各XMLファイルのフォルダ階層と、バージョン間の関係を記述するのが、ライブラリーフォルダ > books > books.xml です。
books.xmlはテキストのXMLと類似の構成ですが、<bookdivision>の代わりに<corpusdivision>が階層構造を示します。最下層以外の<corpusdivision>は子要素として<location>と<corpusdivision>を持つことができます。最下層の<corpusdivision>は子要素として<filename>と<unifiedname>、<language>を持ち、プロパティにabbreviationを設定する必要があります。
<location>はその階層のファイルシステム上でのフォルダ名を示します。<filename>はファイルシステム上でのXMLファイル名、<unifiedname>はDHSシステム上でのテキスト名で、同じテキストの別バージョンは同じ名前にする必要があります。<language>はそのXMLファイルの言語です。abbreviationプロパティは、テキストを全XMLファイル中でユニークに特定するための略号です。
最下層の<corpusdivision>も、それ以外の<corpusdivision>も、nameとidプロパティを持ちます。

言語設定ファイル

DHSには、ユーザーが使用したい言語の単語の原形と変化形の辞書を作成するだけで、初歩的な形態素解析を行う機能がついています。また、JAVA用の形態素解析エンジンを入手したり、独自にJAVAのクラスを作成することで高精度の形態素解析を実現することも可能です。DHSで用いることのできる言語と、各言語が用いる形態素解析機能の設定はライブラリーフォルダ > dictionary > language.cfgで行います。サンプルを動かすだけの場合、およびサンプルに含まれている言語のみを用いる場合には、この変更は必要ありません。


DHSの起動

Apache Tomcatの起動

DHSを利用するためには、Apache TomcatなどのJAVAアプリケーションコンテナが必要です。Apache Tomcatはマニュアルに従って起動してください。 Apache Tomcatが正常に起動している場合、ブラウザ上でhttp://localhost:8080/とURLを入力するとApache Tomcatの画面が出ます。(8080の部分は、設定によって違う番号の場合もあります)
Tomcat4.1 > webapps の下にDHSのシステムをインストールした場合、特に設定をしていなければ、http://localhost:8080/dhs/と入力すると、DHSのメニュー画面が起動するはずです。 Tomcat4.1 > conf > server.xml を編集してContext pathを設定した場合は、dhsの部分を設定したパス名に変更すると起動するはずです。

Apacheの起動

インターネット上での公開や、ローカルネットワーク内での公開を行う場合はApacheなどのWebサーバーの設定が必要です。ローカルのマシン上でDHSを利用する場合、Webサーバーの設定は必要ありません。 Webサーバーの設定はネットワーク環境によって大きく異なりますので、ネットワーク管理者に問い合わせ、ApacheなどWebサーバーアプリケーションのマニュアルに従って起動してください。 起動に成功すると、ネットワーク内からDHSを閲覧できるようになります。

ブラウザからの設定

DHSのシステムを起動してから、まずはじめにブラウザ上でいくつかの設定をする必要があります。ブラウザ上のconfigメニューをクリックしてください。パスワードの入力画面が出ますので、libraryconfig.xml で設定したconfig用のパスワードを入力してください。

XMLからテキストへのコンバート

システム運用の最初、および、テキストの構成を変えたときに必ず「Make Links between Texts」のボタンを押してください。 システムの運用上、XMLファイルは動作が遅いため運用時には独自のテキスト形式に変換する必要があります。また、XMLでは直接テキスト間にハイパーリンクを張れないため、この操作をすることで、ライブラリーフォルダ > citations > replacelist.txtの指示に従い、ライブラリー内のテキストにハイパーリンクを自動的に張ります。 この処理は、DHSのテキストの構成を変えるたびに行う必要があります。

検索用インデックスの作成

検索システムを使うためには、検索用のインデックスを作成する必要があります。通常の単語レベルでのインデックス作成には、インデックスを作成する言語を指定した上で「Make Index」のボタンを押してください。また、日本語のbigramのインデックスを作成する場合には「Make Bigram Index of Japanese」を押してください。 この処理は、DHSのテキストの構成を変えるたびに行う必要があります。

引用解析データの取り込み

引用解析データをデータベースに取り込む場合、直接データベースに入力する方法と、CSV形式のデータを作ってDHS経由でデータベースに登録する方法があります。DHS経由でデータベースに登録する場合、「Load All Citation Data from CSV to MySQL」か「Add Citation Data from CSV to MySQL」を使います。所定の形式のCSVファイルを作成し、これらのボタンを押してロードしてください。データベースに直接入力する場合に比較して時間がかかります。 すでにデータベースに入力したデータをバックアップしたり、別のシステムに移す場合、以下のようなMySQLのバックアップコマンドが便利です。
Back up from old database
>mysqldump --opt -c -udhsuser -pdhspassword dhssample > backupfilename.txt

Copy to new database
>mysql -udhsuser -pdhspassword dhssample < backupfilename.txt