Canna用かな漢字変換Lsd3 国立感染症研究所 石川 淳 $Id: README,v 1.4 1998/04/17 07:33:51 jun Exp $ はじめに参考としてATOK用Lsd辞書をCannaで処理できるように変換し た過程を簡単に説明しますが、興味の無い方は 8.からお読み下さい。 変換作業は1.のテキスト化を除いてすべてUnix (SunOS-4.1.4)上で行 いました。また、以下の記述はCanna-3.2を想定していますので、3.5 の場合には辞書ファイルのsuffixなどを適宜読み代えて下さい(3.5で も利用できる事を確認しています)。 1. UT.EXE (ATOK8に同梱)の[一覧表示]でファイルに出力しテキスト化。 2. nkf -ZX で半角カナ(JISX0201)を全角に変換(nkf-1.5以上が必要)。 3. qkc -eu で文字コードをEUC、改行コードをunix(^J)に変換。 4. awk -F, '{printf "%s %s %s\n",$1,$3,$2}' で順番を入れ換え。 5. sedでATOK品詞をCannaの品詞コード(#T35など)に置換。 sed -f conv.sed < infile > outfile 変換規則は以下の通り: -------------------------------------- ATOK Canna 品詞 コード 品詞 -------------------------------------- 一般名詞 #T35 名詞 名詞サ変 #T30 サ変名詞 固有人名 #JN 人名 固有組織 #KK 団体・会社名 固有地名 #CN 地名 固有一般 #KK 団体・会社名 単漢字 #KJ 単漢字 形容動詞 #T05 形容動詞 名詞形動 #T05 形容動詞 連体詞 #RT 連体詞 接頭語 #KJ 単漢字 -------------------------------------- 備考:接頭語は#PREがあるが機能しないので単漢字にする。 接尾語は分類が面倒なのでとりあえず無視^^; 6. mule (with canna)で読みを平仮名に変換: japanese-mode (C-o)にしてから M-x ( C-SPC ESC-f C-SPC C-p RET C-a C-n M-x ) このkbdマクロを繰り返す (sedやperlならもっと簡単かも) 7. grep '#' で置換できたものだけを抜き出す。 以上の操作で28,790語のうち28,684語を変換できました(Lsd3の場合)。 ここから先が配布したlsd3.tを実際に使えるようにするための方法で す。Cannaは/usr/local/cannaにインストールされているものとします。 8. lsd3.tを/usr/local/canna/lib/dic/cannaにコピー: % cp lsd3.t /usr/local/canna/lib/dic/canna/lsd3.t 9. cannaに付属のmkbindicでバイナリー形式に変換: % /usr/local/canna/bin/mkbindic lsd3.t (lsd3.tをバイナリー形式にするとlsd3.mwdという子辞書名になる。) 9. 辞書目録(/usr/local/canna/lib/dic/canna/dics.dir)にエントリー を追加: Canna 3.2の場合 # Life Science Dictionary lsd3.d(lsd3.mwd) -lsd--- lsd3.fq(lsd3.mwd) -lsd--- Canna 3.5の場合 # Life Science Dictionary lsd3.cbd(lsd3.mwd) -lsd--- lsd3.cld(lsd3.mwd) -lsd--- (辞書名はわざとlsd3とせずにlsdとしました。理由は後述。) 10. /usr/local/canna/lib/default.cannaにlsdを追加: (use-dictionary "iroha" "fuzokugo" (中略) "lsd" :user "user") 11. cannaserverを再起動する: % cannakill % cannaserver ここではサーバーのデフォルトとしてlsd辞書を使うための設定を書き ましたが、各ユーザーごとに設定したい場合には$HOME/.cannaに 10. で説明した設定をして下さい。$HOME/.cannaが存在するとサーバーの default.cannaは読み込まれなくなりますので、必ず"iroha"と "fuzokugo"の記述も必要です。このような使われ方をした場合、バー ジョンアップするたびにユーザーが設定を書き換えなければならなく なるので、辞書名はlsdのようにバージョン番号を含まない名前にして おいた方がいいでしょう。また、lsd辞書を基本辞書にマージすること も可能です。詳細はCannaのマニュアルを参照して下さい。さらに、 CannaにはCannaのテキスト形式辞書をWnnで使えるように変換するため のctowというコマンドが付属していますので、lsd3.tをWnnで利用する ことも出来ると思います。 12. 追加情報 かな漢字変換Lsd3には「飢餓」がサ変名詞として登録されているとい うバグがありますが、Canna用かな漢字変換Lsd3ではこれを一般名詞に 修正してあります。