Diqtバージョン1仕様書

Copyright (C) 2000-2006 Mikio Hirabayashi
Last Update: Sat, 15 Apr 2006 15:55:29 +0900

目次

  1. 概要
  2. インストール
  3. 検索方法
  4. よく聞かれる質問
  5. ライセンス

概要

Diqtは、Webベースの多言語辞書検索ツールです。つまり、多くの言語の辞書をWebブラウザを使って検索することができます。辞書データさえあれば、どんな言語の辞書でも利用することができます。例えば、英和辞書と英独辞書と英仏辞書と和英辞書を同時に検索することができます。


インストール

準備

Diqtは、ほとんどのUNIXおよびその互換をうたうOSで動作させることができます。ソースパッケージを用いてDiqtをインストールするには、GCCのバージョン2.8以降と `make' が必要です。

Diqtの配布用アーカイブファイルを展開したら、生成されたディレクトリに入ってインストール作業を行います。

ビルド

ビルド環境を設定します。

./configure

プログラムをビルドします。

make

一連の作業が終ると、`mkdiqt' と `search.cgi' が生成されているはずです。

インストール

DiqtはWebサーバ上で動作します。Apache等の、CGIを利用できるWebサーバを用意してください。CGIの環境設定の方法については各Webサーバのマニュアルを御覧ください。

`search.cgi' をCGIが利用できる場所にコピーしてください。設定ファイルや辞書ファイルもその場所に置くことになります。

データベースの作成

TSV(タブ区切りのテキスト)をインポートして辞書のデータベースを作成します。TSVファイルの各行は二つのフィールドからなり、第一フィールドに見出し語、第二フィールドにその説明文が書かれていることが期待されます。例えば、英英辞書なら以下のようになるでしょう。見出し語と説明の区切りはスペース文字でなくタブ文字です。

pearl   gem in the shells of certain mollusks
Perl    practical extraction and report language
Ruby    object-oriented scripting language
ruby    gem of deep red mineral corundum

TSVファイルの文字コードは、US-ASCIIと衝突しないものであること期待されます。少なくとも、UTF-8、ISO-8859-1、EUC-JPは許容されます。複数の言語の辞書を利用する場合には、それらの文字コードを統一しておく必要があります。日本語と英語だけならEUC-JP、ヨーロッパの主要言語のみならISO-8859-1、その他世界中の辞書を扱うならUTF-8を利用するとよいでしょう。

TSVファイルをDiqtのデータベースに変換するには、コマンド `mkdiqt' を実行します。第一引数に作成する辞書の名前を指定します。TSVファイルは標準入力から読み込みます。例えば、`eiwa.tsv' から `English-Japanese' を作成し、`waei.tsv' から `Japanese-English' を作成するには、以下のコマンドを実行します。

mkdiqt English-Japanese < eiwa.tsv
mkdiqt Japanese-English < waei.tsv

設定ファイルの作成

`search.conf' という名前の設定ファイルを作成します。以下のように、文字コード、言語、ページのタイトル、そして一つ以上の辞書ファイルの名前を指定します。`auto' と `list' と `path' はオプションです。

encoding: UTF-8
lang: ja
title: English-Japanese/Japanese-English Dictionaries
dict: English-Japanese
dict: Japanese-English
auto: English-Japanese,Japanese-English
list: list.txt
path: /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/home/mikio/bin

`auto' を指定した場合、自動辞書選択が有効になります。検索語がASCII文字のみであれば、カンマ区切りの第1フィールドの辞書が選択され、そうでなければ第2フィールドの辞書が選択されます。

`list' を指定した場合、`agrep' コマンドを使って曖昧検索ができるようになります。ここで指定したファイルに候補の単語のリストを改行区切りで格納してください。`path' は `agrep' コマンドを実行するためのパスを指定します。

`search.css' という名前のスタイルシートファイルを作成します。これはページのスタイルをCSS言語で指定するものです。さらに、`search.top' という名前で最初に表示されるHTMLのファイルを作成します。その内容は検索語が何も指定されていない場合に入力フォームの下にそのまま挿入されます。

各種設定ファイルと辞書ファイルは `search.cgi' と同じ場所に置いてください。それらのサンプルが配付アーカイブに含まれているので、参考にしてください。


検索方法

Webブラウザで`search.cgi' のURLアクセスしてください。

入力フォームの左端にある。テキストボックスには、検索フレーズを入力します。その隣のセレクトボックスでは辞書の一覧から検索対象を選択します。`ALL' だと全ての辞書を対象にします。その隣のセレクトボックスは検索方法を指定します。`Forward Matching' は見出しが検索フレーズで始まる項を抽出します。`Backword Matching' は見出しが検索フレーズで終わる項を抽出します。`Include Matching' は見出しに検索フレーズが含まれる項を抽出します。`Full Matchng' は見出しと検索フレーズが完全に一致する項を抽出します。`Full-text Search' は見出しと説明文のどちらかに検索フレーズが含まれる項を抽出します。その隣のセレクトボックスでは結果の最大表示件数を指定します。

`Forward Matching' と `Full Matching' は、データベースのインデックスが利用されるので、非常に高速に行うことができます。`Backward Matching' and `Include Matching' は、全ての見出しを走査するので遅いです。`Full-text Search' は、全ての見出しと説明文を走査するのでさらに遅いです。


よく聞かれる質問

Q. : 辞書データはどこで手にいれればよいですか。
A. : 英英辞書に関して言えば、WordNetを入手するとよいでしょう。英和辞書と和英辞書に関して言えば、英辞郎を入手するとよいでしょう。Gene95とEDICTもなかなかです。各々の辞書には独自のライセンスがありますので注意してください。英辞郎については、Diqtに付録するスクリプト `eijiro2tsv' を使うと、TSVファイルを簡単に作ることができます。詳しくは `eijiro2tsv' を御覧下さい。
Q. : 各種の辞書データからどうやってTSVファイルを作ればよいですか。
A. : 大抵は `sed' というコマンドでできます。それで駄目なら `awk' や `perl' について勉強してください。
Q. : Diqtのデータベースの形式はどうなっていますか。
A. : DiqtはQDBMのB+木データベースを利用します。データベースファイルの各レコードのキーは、見出しに含まれるASCIIのアルファベットを全て対応する小文字に変換したものです。各レコードの値は、見出しと説明文をタブ文字で区切ったものです。
Q. : 辞書データベースの更新はできますか。
A. : QDBMに付属するコマンド `vlmgr' を利用してデータベースファイルの更新を行うことができます。しかし、TSVファイルを編集してからデータベースを作り直した方が楽です。

ライセンス

Diqtはフリーソフトウェアです。あなたは、Free Software Foundationが公表したGNU General Public Licenseのバージョン2あるいはそれ以降の各バージョンの中からいずれかを選択して、そのバージョンが定める条項に従ってDiqtを再頒布または変更することができます。

Diqtは有用であると思いますが、頒布にあたっては、市場性及び特定目的適合性についての暗黙の保証を含めて、いかなる保証も行ないません。詳細についてはGNU General Public Licenseを読んでください。

あなたは、Diqtと一緒にGNU General Public Licenseの写しを受け取っているはずです(`COPYING' ファイルを参照)。そうでない場合は、Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA へ連絡してください。

Diqtは平林幹雄が作成しました。作者と連絡をとるには、<mikio@users.sourceforge.net> 宛に電子メールを送ってください。感想や改善案やバグレポートなどを寄せると作者は喜びます。