[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

第33回 天文学者が日本語処理に興味を持った理由



1997年10月号 UNIX USER誌掲載「ルート訪問記」の過去記事

第33回 天文学者が日本語処理に興味を持った理由

今回は、京都大学理学部宇宙物理学教室 [注1] の馬場 肇(ばば 
はじめ)さんを訪ね、同教室のシステム管理や、個人的に興味を持っ
ていらっしゃる日本語処理の話をお聞きしました。

==========
[馬場 肇さんからの新規コメント]  

久しぶりに記事を読み返した印象は、「ネットワーク管理者を徒弟
制度で育てなければならない問題はいっこうに改善されないな」と
いうものです。

一般論ですが、最近のユーザの多くには、ネットワーク管理のよう
な「きちんと動いて当たり前、止まれば文句を言われる」という地
味で割に合わない作業を、(その重要性は認識しつつも)避ける傾向
があるようです。近年のユーザ数の増大にも関わらず、後継者難に
悩む部局の苦労話は良く聞くところです。当教室では幸いにも優秀
な後継を確保して鍛え上げることができましたが、その後の見通し
には依然として暗いものがあるのが実情です。

ですから、黒子の立場であるべきネットワーク管理者の実態に焦点
を当て、この仕事ならではの苦労や楽しさの一部始終を平易な言葉
で紹介し続けてきた「ルート訪問記」のような存在は貴重なんです。
一人でも多くのユーザの関心を管理者へと引き付けるきっかけにな
ることを願っています。(1999.8.2、馬場 肇)
==========


*教室内の共用計算機群のシステム管理

私(以下Y):はじめまして。馬場さんは宇宙物理学教室のシステ
ム管理を担当されているそうですが、どれくらいの規模の教室なの
でしょうか。

馬場さん(以下B):教官が10名、大学院生が50名程度の規模です。
ここには、学部生は所属していません。

Y:宇宙物理学とは、どのような学問なのでしょうか。

B:以前、ルート訪問記で「みさと天文台」を訪ねて [注2] いらっ
しゃいましたが、やっていることはあれと似ています。つまり、宇
宙物理学というのは天文学のことです。

Y:ということは、宇宙物理学教室の方々は天文学者なんですね。

B:まあ、そうですね。この教室の研究グループは、実際に天体を
観測するもの、観測装置を開発するもの、そして重力多体問題 [注3]
や降着円盤 [注4] の数値シミュレーションなどの理論計算をす
るものの、3つに分けることができます。

観測グループの中でも、対象天体別に、太陽を研究するもの、各種
の恒星を研究するもの、そして遠方の銀河について研究するものな
どに分かれています。大学構内には天体を観測する際に使う望遠鏡
がないので、奈良や岡山、木曾、野辺山などの観測所に出かけて行っ
て観測することになります。

 私の研究テーマは、激変星(げきへんせい)というタイプの恒星
の観測と、その観測結果を基にした数値シミュレーションです。激
変星は、明るさが準周期的に激しく変化する天体の総称で、近接連
星系という連星系の一種と考えられています。

 一般に、天体のタイム・スケールは人間のそれと比べて圧倒的に
長く、通常は時間的にまったく変化しないと考えて差し支えありま
せん。しかし、激変星は少し事情が異なって、その名のとおり比較
的短い期間で突然100倍に明るくなったりします。いろいろと変化
があるので、けっこう面白いんです:-)。

Y:宇宙物理学教室のネットワークについて説明していただけます
か。

B:主力となる計算機群は共用計算機群と呼ばれており、5階の計
算機室に配置されています。これらは、主に観測グループのための
Ultra 1×5台、理論グループの数値計算用AlphaStation×3台、
およびそのほかの各種マシンで構成されています。とくにUltra 1
×5台は、イーサネット(10BASE5)の教室内LANを通じて京都大学
の学内LAN(KUINS-I)に接続しているのと同時に、 ’96年から新
たに学内LANとして導入されたATM網(KUINS-II)にも直接接続して
います。共用計算機群の管理と教室LAN内のIPアドレスの割り当て
などの管理作業は、私と中西康一郎君の2人で担当しています。

 共用計算機群以外にも、SPARCclassicからSPARCstation 5相当の
WSが20台程度、PCおよびMacintoshが50台程度あり、PC上では
Windows 95やLinuxなどが動作しています。これらの各マシンの半
分は私や中西君が、残りは使用する本人が、それぞれ管理していま
す。詳しいマシンの構成と接続形態については、図1を参照してく
ださい。

 60Gバイトのディスク・アレイ(SPARC storage Array:RAID 5
[注5] で運用)やATMスイッチ(ATOMIS 5)が導入されたのは比較
的最近です。天体はCCD [注6] で観測しているのですが、最近の
CCDサイズはどんどん大型化しているので、1つの画像サイズが2〜
4Mバイトにもなってしまいます。しかも、天候によっては一晩で
100枚以上観測するので、取得した画像のデータ解析のためには、
どうしても大容量のディスクと高速なネットワークが必要になるわ
けです。ディスク・アレイが導入されディスク容量が一挙に増えた
ので、みんな喜んでいます。

Y:ところで、馬場さんがシステム管理者になられたのは、いつご
ろですか。

B:大学院生になる前年に、手持ちのPC-9801シリーズに
386BSD(98)をインストールしたのがきっかけで計算機にはまりまし
た。修士課程一回生としてここに入ってきて、すぐに管理者になり
ましたので、今年で3年目になりますね。当時、ここのネットワー
ク環境は比較的古かった [注7] のですが、SPARCstation 5が2台
新規導入される機会を捕えて「サーバーの構成などを変えるべきだ」
などと前任の管理者の方に主張していたら、「じゃあ、お前もやれ」
といわれ管理者になりました。

 前任の方はUNIXシステムにかなり詳しかったので、いろいろ教え
てもらいました。ただ、私が修士課程一回生のときに博士課程三回
生だったので、博士論文の準備のために忙しく、できるだけ早く私
を管理者に仕立て上げて、全部任せてしまおうということになった
のです。

 どこの大学でも、「コンピュータに詳しい大学院生が、ネットワー
クの管理作業を事実上ボランティアで引き受ける」ことが一般化し
ていますからね。よいこととはいえませんが、自分の経験からは
「ネットワーク管理者は、徒弟制度で伝わっていくものなのだな」
と思います。

 現在、基本的なネットワーク・サービスをWSにインストールする
作業のほとんどは、私が担当しています。インストールしたツール
は、次のとおりです。

Webサーバー	Apache-1.2.1
Anonymous FTP 	wu-ftpd-2.4.2-beta13
Mail		sendmail-8.8.5 + WIDE パッチ
Mailing List	majordomo-1.93 + distribute-2.1pl20
DNS		bind-4.9.5
NetNews		Inn-1.5.1 + セキュリティパッチ
WAIS		freeWAIS-sf-2.1.2 + SFgate-5.111


Y:細かいバージョンまで、すらすらいえるものなんですね。

B:それはそうでしょう。イヤでも覚えますよ:-)。

 これ以外の細かいものとしては、WSの時間を合わせるためのNTP
(Network Time Protocol)サーバーxntpdを導入したり、PCからメー
ルを取り込むためのPOP(Post Office Protocol)サーバーqpopper、
UNIX上のファイルやプリンタをWindows環境から共有するための
Samba、同様にMacintoshから共有するためのCAPなどがインストー
ルしてあります。

 研究に関連するものとしては、天体画像解析用のソフトウェア
IRAF [注8](アイラフ)やIDL(アイディーエル)などもインストー
ルしています。ちなみに、IRAFはフリー・ソフトウェア、IDLは商
用ソフトウェアです。

 また、私たちの研究グループでは、専門分野の研究のために「突
発天体に関するメーリング・リスト [注9]」を運営しています。
このメーリング・リストには、約40か国から400人ほどの研究者が
参加しています。なお、前述の激変星も、この突発天体の中に含ま
れます。

 一般に、突発天体は突然明るくなっても数日後には暗くなってし
まうので、明るい間は何とかして観測を継続していたいのです。こ
のメーリング・リストでは、「その短い期間を通して、いかに世界
中で協力して有効に観測するか」を目的の1つとしています。たと
えば、先に夜になるアメリカから「ある星が明るくなった」という
情報が流れてくると、地球の裏側(昼間)にいる日本の私たちが、
時差を利用して即座に準備し観測します。これで、国際共同観測が
実現されるわけです。

 実際に何度かそういった例があり、その中のある天体の観測とデー
タ解析は、私の修士論文 [注10] のネタになりました。もちろん、
私たちから地球の裏側に情報を流すというケースもあります。この
ようなやり方で、すでにこれまでにも数多くの研究成果をあげてき
ています。インターネットが発達してきたからこそ、手軽に「即時
性のある情報交換が行えるようになった」といえるのでしょうね。



*広域分散情報検索システムを日本語化

Y:突発天体を専門とされている馬場さんが、Wnnを含む日本語処
理全般に興味を持たれた理由を教えていただけますか。

B:WAIS [注11] という広域分散情報検索システムをご存じですか?
 

これは、WWWやGopherと同様に情報検索のためのシステムですが、
WAISには全文を対象にキーワードを付ける機能があるため、簡単に
全文検索ができます。WAISのフリーのパッケージにfreeWAIS-sfと
いうものがありますが、私はこれの日本語化パッチを作成し、 ’
96年7月に公開 [注12] しました。このパッチ作りが、日本語処理
に興味を持ち始めたきっかけです。[新規注]

==========
[新規注]  日本語処理に興味を持ち始めた

この後、趣味が高じて :-) 、『日本語全文検索システムの構築と
活用』(通称、なまず本)を執筆しました。(1999.7.30、馬場 肇)

『日本語全文検索システムの構築と活用』馬場 肇 著、
1998年9月、ソフトバンク発行、2800円、ISBN4-7973-0691-2
http://www.kusastro.kyoto-u.ac.jp/~baba/namazubook/support.html
==========

 もともとは、自分の持っているファイル、とくに過去に送受信し
たメールの中から、ある文字列の含まれるものを検索するために
WAISの日本語化に着手 [注13] しました。もちろん、grepコマンド
でも検索は可能ですが、量が多いときに検索速度が問題となり実用
的ではありませんでした。また、商用の検索エンジンは値段が高す
ぎて気軽に導入できませんので、フリーのfreeWAIS-sfを日本語化
する価値は高いと判断したのです。

 freeWAIS-sfの使用例としては、Linux-Users-MLとMkLinux-jp-ML
という2つのメーリング・リストの記事の全文検索システム
があります。ここでは、WAISインデックスそのものは、ある2つの
サイトに別々に分散しており、インデックス管理も完全に分散して
います。ところが、SFgateで両方のインデックスを指定して検索し
た場合、検索式は両方のインデックスに送られ、検索結果はマージ
して表示されます。これは、WAISによる広域分散データベース・シ
ステムの特徴を生かしている例だといえます。

Y:これは便利ですね。ところで最近、「日本語の文字コードにつ
いて知りたい」という人が増えているようですが、どのようにして
勉強したらよいのか分からない人が多いと思います。馬場さんは、
どのようにして学習されたのですか。

B:数少ない書籍 [注14] や雑誌記事 [注15]、Webページ [注16] 
を参考にした以外には、ネット・ニュースの過去の記事をまとめて
読みました。fj.kanjiやfj.kanakan.wnnの記事を、一度に数年分読
めば、おおよその流れは分かりますからね。

 通常、ネット・ニュースの過去の記事は、一定期間がたつと消え
てしまいますが、JAIST(Japan Advanced Institute of Science
and Technology Hokuriku:北陸先端科学技術大学院大学)の
anonymous FTPサイト [注17] には、月ごとにtar.gzの形で保存さ
れていますのでそれを利用しました。

 このアーカイブ記事を展開すれば、GNUSなどのニュース・リーダー
で読むことが可能です。GNUS 4.1の場合、普通に「M-x gnus」とす
ると、ニュース・サーバーにニュースを取りにいきますが、「C-u
M-x gnus」とすると“NNTP server: ”のようにサーバー名の入力
画面になります。ここで、サーバー名として“:News”のように“:
ディレクトリ名”を入力すれば、そのディレクトリの下に置かれて
いる記事を、通常のニュースと同様に読むことができます。

Y:なるほど。私は、JAISTの“NetNews Archive Service”という
Webページを利用していたのですが、fj.kanjiやfj.kanakan.wnnの
記事をまとめて読みたい場合は、GNUSを利用した方がよさそうです
ね。


*Mule用各種Emacs Lispで遊んでみよう

Y:Wnn Users MLで「Wnnの用語集を作ろう!」(コラム1参照)
ということになりましたよね。結局、初版は馬場さんが作成された
わけですが、このときの主な情報源は’92年のfj.kanakan.wnnの記
事だったということですね。

B:あの用語集の中の「便利な(?)Emacs Lisp編」には、Muleで
日本語入力する際のEmacs Lispとしてboiled-egg、mlh、egg-mix、
omelet [注18] を紹介しています。boiled-egg、mlh、egg-mixでは、
(Muleで)[CTRL-\]に割り当てられているモード切り替えが不要
となり、アルファベットと日本語を混在して入力する場合に便利な
ものとなっています。私の一番のお気に入りはboiled-eggで、これ
がないと日本語入力できないほどにはまっています。現在は、
[CTRL-\]にboiled-eggをバインドしています。

記述行は次の通りです。

;; boiled-egg
; C-\ にバインド
(global-set-key "\C-\\"	'boil)
; boiled-egg を load
(autoload 'boil "boiled-egg" "boiled EGG" t)


Y:boiled-egg、mlh、egg-mixは、便利そうですから要チェックで
すね(コラム2参照)。それに、さまざまなEmacs Lispをロードし
て使ってみるのは楽しいですよね。

B:そうですね。

Y:今月号のCD-ROMにegg-mixとmlhを収録しましたので、読者の方
も遊んでほしいと思います。

B:インストールも、各ツールのREADMEを読めば簡単にできるので
はないでしょうか。

Y:Emacs Lispを読み込むことで、ユーザー・インタフェースが簡
単に変更できるという自由さがUNIXらしいですね。UNIX以外だと、
なかなかそうはいかないと思います。たとえば、私は[CTRL-w]で
変換して[CTRL-i]と[CTRL-o]で文節の長さを決めるWnn系のキー・
バインドに慣れていたのですが、Windows 95上のFEPではそれが使
えず、苦労した経験があります。Windows 95用Wnn6ともいえる
Wnn95が発売されて(Wnnキー・バインドが使える)、何とか救われ
ましたが……。「Wnn95のおかげで、Windows 95が少しだけフレン
ドリーになった」というUNIXユーザー、とくにWnnユーザーは、私
以外にも多いようです:-)。


*well-knownな情報の収集

Y:Wnn4まではフリーでしたが、Wnn6からは売り物になってしまい
ましたね。

B:幸いなことに、京都大学の場合はWnn6のキャンパス・ライセン
スを取得しているので、この教室でもUltra 1上でWnn6のjserverを
起動させて、各クライアント・マシンから利用しています。Wnn6の
辞書は、これまでよりも圧倒的に強化されて賢くなっていますね。
利用者の評判も上々です。

Y:「発売元のオムロンソフトウェアが、Wnn6対応Muleの各種マシ
ン用バイナリまで用意すればいいのに」と思うのですが、クライア
ント側のサポートまではしていませんね。

B:まあ、「クライアント側のサポートまで始めてしまうときりが
ない」という理屈も分かるので、あまり無理はいえません。ただ
Wnn6のクライアントはほとんど(90パーセント以上?)がMuleだと
思うのですが、バージョン2.3は少し古くなっているせいでコンパ
イルするのに手間がかかりますよね。

 たとえば、Linuxでコンパイルする際には、JEに含まれているパッ
チ(mule-2.3+lx.diff)を当ててからコンパイルしないとエラーが
出ます。ほかにも、Solaris 2.5.1でのコンパイルが難しい [注19] 
のは周知のことですし、DEC OSF/1 V3.2でも [注20] 一筋縄ではい
きませんでした。

 私が個人的にオムロンソフトウェアさんにお願いしたいのは、こ
ういう情報のポインタ集だけでも、Wnn6のWebページ [注21] に載
せておくか、製品のドキュメントに付属させてほしいということで
す。

Y:そのとおりですね。ある人にとってはwell-knownなことも、1
か所に情報が集約されていないために、別の人にとっては知らない
情報となることもあるでしょう。最近、「Wnn6 for Linux/FreeBSD
を使う」 [注22] という記事を書いたのですが、前述の「Linux上
でWnn6対応のMule 2.3をコンパイルする前にはパッチを当てておく」
ということを知らず、丸1日、四苦八苦してしまいました。

B:この教室のマシンで使うために作ったWnn6に対応したMule 2.3
のバイナリ [注23] を、anonymousFTPサイトに置いています。

==========
[新規注]  Wnn6に対応したMule 2.3のバイナリを置いている

これは今でもおいてありますが、たとえば、Linuxの場合でも、
Plamo, Vine, Debian その他主要ディストリビューションはとっく
の昔にすでに対応済です。つまり、「もう古い」です。
(1999.7.30、馬場 肇)
==========


 このバイナリは、「これまではMule+Wnn4という組み合わせで使っ
ていたけど、Wnn6を入れたのでMuleを再コンパイルしなければなら
ない。うーん、面倒くさいぜ!」という人のためのものなので、
Emacs Lispや付属の実行ファイルおよびドキュメントは含んでおら
ず、バイナリ本体だけです。インストール方法などは、
00readme.docファイルに書いてあります。

Y:バイナリの提供は、ほんとうにありがたいです。このバイナリ
は、私の新しいLinuxマシン [注24] 上でも元気に動いています。

==========
[新規注]  私の新しいLinuxマシン上でも元気に動いている

今でも私は、'97年夏に、ぷらっとホームの通信販売で購入した
PC-UNIXスタンダードシステム(198,000円)を使い続けています。
さらに、馬場さんが作られたMuleのバイナリ(Linux用のWnn4とWnn6
の両方のjserverが利用できるように作られたもの)を使って、日々、
原稿やメールを書いています。(1999.7.30、よしだともこ)
==========

 最後に、Wnn6に対する要望などを聞かせていただきましょうか。

B:日本語の変換効率を向上させるアルゴリズムの研究は、すでに
しつくされているのではないかと思います。今後、変換効率をさら
に上げようとすると、次は辞書の問題になるのではないでしょうか。
UNIX上の各変換サーバー対応の「専門用語辞書」を販売してほしい
ですね。

Y:たとえば、天文学の専門用語辞書ですか。

B:それをやってくれるとありがたいんですが、天文学の研究者は
少ないので商売にはならないかもしれませんね。Wnnは品詞情報が
難しいですから、ユーザーが自分で辞書を整備するのは大変です。
普通の人が品詞情報や語幹を理解したうえで辞書に登録できるのは、
固有名詞とサ変動詞 [注25] ぐらいですよね。

Y:そうですね。もともと現代語の文法は、英文法に比べると中学
や高校できちんと勉強していない(日本語文法よりも英文法の方が
詳しいのは、私だけではないですよね)こともあって、単語登録時
の品詞の選択に困りますね。

B:また、Wnn6の変換効率は高くなっていますが、口語体の変換効
率はまだ低いと思います。そのあたりの強化も今後の課題でしょう。

Y:そのとおりですね。今日は、興味深いお話をどうもありがとう
ございました。私も興味があるテーマなので楽しかったです。今後
もWnn Users MLなどでお世話になると思いますが、どうぞよろしく
お願いします。


 なお、今回の取材行程はWebページ
http://web.kyoto-inet.or.jp/people/tomoko-y/process/
で公開しています。興味がある方は、ご覧になってください。



[注1] 京都大学 理学部 宇宙物理学教室

宇宙物理学教室はもともと、1907年(明治40年)、物理学教室に新
設された物理学第四講座に始まり、1921年(大正10年)に宇宙物理
学科として独立した。現在は、宇宙物理学教室(
http://www.kusastro.kyoto-u.ac.jp/index-j.html )として京都
大学北部キャンパスの理学部4号館4、5階に存在する。馬場 肇
さんは、同教室の博士課程一回生(1997年8月現在)。

馬場さんの研究内容や活動などについては、
http://www.kusastro.kyoto-u.ac.jp/~baba/ を参照。


[注2]  「みさと天文台」を訪ねて

本誌’96年6月号で、和歌山県海草郡美里町にある「みさと天文台」
をルート訪問した。同天文台については、
http://www.obs.jp を参照。


[注3]  重力多体問題

星や銀河などの天体の運動は、お互いの間に働く重力(引力)によっ
て決定する。2つの天体がお互いに重力を及ぼし合って起こる運動
は簡単に調べられるが、3つ以上の天体の集団では運動が非常に複
雑になり、数値シミュレーションに頼らざるを得ない。これを重力
多体問題という。球状星団・銀河・銀河団の形成や進化などの研究
には欠かすことができないもの。


[注4]  降着円盤

白色矮星や中性子星・ブラックホールなどの天体の重力によって、
周りからガスが引き寄せられ、天体を中心とした円盤を形成したも
の。激変星や活動銀河中心核などの活動的な天体において、その活
動性の中心的な役割を担っていると考えられている。


[注5] RAID 5

Redundant Arrays of Inexpensive Diskの略。ディスク・アレイと
も呼ばれている。磁気ディスク装置の一種であり、データを数バイ
ト単位に分解し、複数のドライブに対して並列に読み書きする。ミ
ラーリング/デュプレキシング、ストライピング/パリティ、および
スパニング/スキャッタリングの方法とその実装方法によって、
RAID 0〜RAID 5までの種類が存在する。


[注6]  CCD

Change Coupled Deviceの略であり、日本語では電荷結合素子。電
荷をアレイ状に転送するMOS構造のデバイスで、イメージ・センサー
やアナログ遅延線などの用途がある。最近の天文学の研究用には、
写真ではなく、望遠鏡の焦点面にCCDを取り付けてデジタル・デー
タを取得する方式が一般的である。技術の急速な進歩により、従来
と比較して画素数が多くなってきている。


[注7]  ここのネットワーク環境は比較的古かった

当時(’95年)、どのように古かったかを馬場さんから具体的に教
えていただいた。

(1)マシンが古かった(当時の主力機はSun 4/370
で、後はSPARCstation 1+とSPARCclassicが各2台、SPARCstation
10という構成)。
(2)一部しかNIS環境になってなかった。現在は、
/homeなどかなりの部分をNFSとautomountで共有しているが、当時
はそうではなかった。
(3)X11R6の時代だったが、SunViewを使っている人がいた。
(4)入っているフリー・ソフトウェアのバージョンが古かった。


[注8] IRAF

米国立光学天文台(NOAO)が開発・配布している天体画像解析用ソ
フトウェア。 ’96年6月号の本連載では、IRAFで表示された「M81
うずまき銀河」の画像を掲載した。


[注9]  突発天体に関するメーリング・リスト

メーリング・リスト名は、VSNET(Variable Star Network)であり、
すべての議論は英語で行われている。


[注10]  修士論文

馬場さんの修士論文のタイトルは、「食のあるSU UMa型矮新星HT
Casの降着円盤表面輝度分布の二次元的再構成」。詳細は、
http://www.kusastro.kyoto-u.ac.jp/~baba/ 参照。


[注11]  WAIS

Wide Area Information Serversの略。ウェイズと呼ばれる。分散
環境において、蓄積された情報の検索を行うために開発されたネッ
トワーク・サービス。クライアント/サーバー・モデルに基づいて
いる。WAISでは、Z39.50と呼ばれる検索プロトコルを利用して情報
の検索を行う。これは、 ’80年代後半から開発されたものであり、
その歴史はWWWなどよりも古い。


[注12]  ’96年7月に公開

freeWAIS-sfはクライアント/サーバー・モデルに基づいたフリー・
ソフトウェアで、SFgateはWAISのクライアントとして動作する
freeWAIS-sf用CGIインタフェースである。全文検索システムを構築
するために必要なソフトウェアが、
ftp://ftp.kusastro.kyoto-u.ac.jp/pub/baba/wais/ の下にまとめ
られている。日本語化パッチを当てたものは、ほとんどのOSで動作
確認されているため、日本語化パッチに含まれるドキュメントを参
照することで、インターネット/イントラネット上に全文検索シス
テムが構築できる。詳しくは、
http:// www.kusastro.kyoto-u.ac.jp/~baba/wais/ を参照。


[注13]  WAISの日本語化に着手

全文検索システムを構築するために必要なソフトウェアは、
freeWAIS-sf-2.1.2. tar.gz、kakasi-2.2.5.tar.gz、
kakasidict-940620.gz、SFgate-5.1/SFgate-5.111.tar.gz、
SFgate-5.1/Wais-2.118.tar.gz と、日本語化パッチの
2.1.2-jp6.tar.gzである。

インストールについては、2.1.2-jp6.tar.gzのドキュメントを参照
のこと。また馬場さんは、Software Designの’97年8月号で「フ
リーソフトで構築する全文検索システム 〜freeWAIS-sfとSFgateを
用いた構築例〜」という記事を書いており、その原稿は
http://www.kusastro.kyoto-u.ac.jp/~baba/SDarticle/sd1997_08.html
で読むことができる。


[注14]  数少ない書籍

Ken Lunde氏によって書かれた“Understanding Japanese
Information Processing”,O'Reilly発行の日本語訳「日本語情報
処理」(ソフトバンク)が、広く読まれている。筆者が著者の一人
でもある「マルチリンガル環境の実現」(プレンティスホール)も、
数少ない書籍の中の一冊だろう。


[注15]  雑誌記事

日経バイト’96年5月号「土台揺らぐ日本語処理」やbit’95年6
月号「文字コードと国際化」(太田昌孝著)が参考になるだろう。
古いところでは、Software Design’92年7月号と同12月号「平成
こだわり倶楽部」、UNIX MAGAZINE’94年3月号と同7月号
「Nemacs入門」などがある。


[注16] Webページなど

代表的なものとして、
ftp://ds.internic.net/rfc/rfc1468.txt (ISO-2022-JPについて)、
ftp://ds.internic.net/rfc/rfc1554.txt (ISO-2022-JP-2について)、
http://turbine.kuee.kyoto-u.ac.jp/FAQ/kanji-code.html 
(新出尚之氏による、文字コードと文字集合の説明文)などがある。


[注17] anonymous FTPサイト

ftp://ftp.jaist.ac.jp/pub/news-archive/ の下に、
ニュース・グループ名のディレクトリがあり、その下に過去の記事が
置かれている。


[注18]  omelet (おむれっと)

親指シフト入力をするためのMule 2/Wnn4用Emacs-Lisp。 ’95年10
月に、箕浦さんによってfj.sourcesに投稿されたもの。ftp://ftp.
lab.kdd.co.jp/Usenet/fj.sources/1995/aug/omelet-1.0.tar.gz
から入手できる。

その後、omlet 1.17 が、1998年10月にリリースされている。
入手先: http://www.eva.hi-ho.ne.jp/~minoura/keyboard.html


[注19]  Solaris 2.5.1でのコンパイルが難しい

Solaris 2.5.1上でWnn6対応Muleをコンパイルした場合、コンパイ
ルが通っても動作しない。これは、Mule 2.3がSolaris 2.5をサポー
トしていないことが原因である。対処方法としては、Solaris 2.5
をサポートしたemacs-19.34からsrc/unexelf.cとsrc/s/ sol2-5.h
を取ってきて、configureスクリプトの“opsys=sol2”を
“opsys=sol2-5”に変更すればよい。


[注20]  DEC OSF/1 V3.2 でも

馬場さんによると、
ftp://ftp.dec-j.co.jp/pub/DEC/unix/freeware40/archive/gnu/mule-2.3/50mule.patch
を当てて、同じところに置いてある20compileファイル(OSF/1
V4.0用)に書いてあるconfigureのオプションを参考にしたことで、
Wnn6+Canna対応版Mule 2.3が作成できるそうだ。また、gccを使用
していたことも失敗の原因らしい。


[注21]  Wnn6のWebページ

http://www.omronsoft.co.jp/SP/ 


[注22]  「Wnn6 for Linux/FreeBSD を使う」

この記事は、Linux Japan Vol.4(’97年8月30日発行)に掲載さ
れた。


[注23]  Wnn6対応Mule 2.3のバイナリ

これらは、ftp://ftp.kusastro.kyoto-u.ac.jp/pub/baba/mule-2.3-for-Wnn6/
に置かれている。この中のOSF/1 V3.2用、FreeBSD 2.2.2RELEASE用、
Linux 2.0.30用、IRIX 5.3用、Solaris 2.5.1用、SunOS 4.1.3C
JLE1.1.3C用バイナリとドキュメント・ファイル00readme.docは、
今月号のCD-ROMにも収録されている。なお、OSF/1 V3.2用、IRIX
5.3用、Solaris 2.5.1用のバイナリは、オムロンソフトウェアにて
正常に動作することが確認されている。


[注24]  私の新しいLinuxマシン

最近('97年夏)、筆者は、ぷらっとホームの通信販売でPC-UNIXスタ
ンダードシステム(198,000円)を購入した。希望のPC UNIXがプレ
インストール可能なので、Slackware+JE(Linux 2.0.29)をイン
ストールしてもらった。詳しくは、http://www.plathome.co.jp/
参照。


[注25]  サ変動詞

「名詞+する」という動詞が、サ変(サ行変格)動詞である。たと
えば、「握手する」というサ変動詞の場合、握手しナイ(未然形)、
握手しマス(連用形)、握手する(終止形)、握手するトキ(連体
形)、握手すれバ(仮定形)、握手せよ(命令形)のように活用す
る。Wnnの単語登録では、握手(する)の場合、(する)の部分が
語尾となるため、登録する部分には含まない。


===================================================================
コラム1 

Wnn Users MLから生まれた「Wnn関連用語集」


 ’93年8月にスタートした「Wnnユーザーのメーリングリスト
(Wnn Users ML)」は、サーバーの不調で中断していたが、 ’97
年4月に新しいものが再スタートした。

 この新生Wnn Users MLの中で、 ’97年5月、筆者が「Wnn関連用
語集を作りませんか?」と提案したところ、何人かの賛同を得るこ
とができた。その中でも、「お手伝いしますよ」といってくださっ
たのが馬場さんである。結局、馬場さんが初版を作成し、メンバー
からの情報提供を反映させたものが、第一版として’97年8月に完
成した。主な内容は以下のとおりである。

 ・Wnn概論(歴史・種類)編

「Wnnとは」、「jserver とは」、「Wnn2/Wnn3/ Wnn4/Wnn5/Wnn6と
は」、「マルチリンガルWnn95とは」、「Wnn for Macintosh 2.0と
は」他

 ・一般用語編
「逆変換」、「大文節と小文節」、「変換パラメータ」、「FI変換」、
「変換率95.63%」、「Wnn4/Wnn6のシステム管理」、「辞書操作コ
マンド」他

 ・辞書編
「pubdic」、「pubdic+」、「岩波辞書の語彙数比較」、「gerodic」、
「Wnn4.109で追加された辞書」、「Wnn4.2で追加された辞書」他

 ・クライアント編
「uum」、「xwnmo」、「kinput2」、「たまご(egg)」、「たかな」、
「日本語ワープロdp/NOTE」

 ・たまご(egg)に関する情報編
「たまごのローマ字入力規則」、「『zX』が『:-)』に変換される?!」他

 ・便利な(?)Emacs Lisp編
「boiled-egg」、「egg-mix」、「mlh」、「omelet」

 ・書籍編

 ・論文・雑誌記事・その他のドキュメント編

 なお、この用語集の最新版は、
http://web.kyoto-inet.or.jp/people/tomoko-y/wnn-yogo.html
に置いてある。


===================================================================
コラム2 

Emacs Lispの使い比べ体験記

 Mule/Nemacsの言語入力メソッド、たまご(egg)を使って入力す
る場合、一般的に日本語と英字は[CTRL-\]で、いちいちモードを
切り替えながら入力する。とくに、TeXやHTMLのようなタグ交じり
の文章を入力する際には、数秒ごとにモードを切り替えなければな
らず、非常に面倒である。

 その煩わしさを解決すべく、モード切り替えせずに日本語と英字
をスムーズに入力させるEmacs Lispが、boiled-egg(ぼいるど・えっ
ぐ)、mlh(えむえるえっち)、egg-mix(えっぐ・みっくす)であ
る。ちなみに、たまご自体もEmacs Lispで書かれている(通常、
$MULE/lisp/wnn-egg.el)。

●boiled-egg

 boiled-eggはMiura Kin'yaさんが作成したもので、ローマ字から
いきなり漢字に変換するようなユーザー・インタフェースを持って
いる。入力手順は、たとえば、「私は emacs を使っています。」
としたい場合は、

watasiha[CTRL-j][RET][SPC]emacs[SPC]
wotukatteimasu.[CTRL-j][RET]

と入力すればよい。変換キーとしては、[CTRL-j]で日本語変換、[RET](リターン)あるいは[CTRL-l]で文字列を確定する。[CTRL-_]のUndoを実行すると、確定後でも変換キーを入力する前の状態に戻すことが可能。

 なお、Cannaにおいてはboiled-cannaというものが存在する。

 このEmacs Lispは、
ftp://ftp.kuis.kyoto-u.ac.jp/GNU/mule/contrib/boiled-egg.tar.gz
などで入手できる(Muleのcontribに置かれている)。

●mlh

 MRIの新部 裕(にいべ ゆたか)さんが作成したもので、
boiled-egg同様、ローマ字入力文字列をいきなり漢字に変換する形
式のインタフェースを持っている。最大の特徴は、一気に英単語交
じりの日本語文章を入力して変換できることである。入力手順は、
たとえば、「私は emacs を使っています。」としたい場合は、

watasiha/emacss/wotukatteimasu./[SPC]

 日本語変換キーは、/[SPC]で、これを基本にしながらスペース
の前の文字を変化させて、さまざまな変換を実現する。“s/”で無
変換、“f/”でひらがな変換、“k/”でカタカナ変換である。これ
らのマークを付けながら文字を入力しておき、[SPC]で一気に変
換する。

 また、mlh(MultiLingual Henkan)という名前のとおり、日本語
以外の言語にも対応しており、たとえば“g/”でギリシャ語変換、
“h/”でハングルに変換する(詳しくはドキュメント参照)。また、
Undoを実行すると、確定後でも[SPC]を入力する前の状態に戻る。
Wnn以外に、Canna、Sj3にも対応している。

 このEmacs Lispは
ftp://ftp.mri.co.jp/pub/mlh/mlh-1_002.tar.gz で入手できる。

●egg-mix

 boiled-eggやmlhとは異なり、入力中の日本語(ローマ字)はす
ぐにローマ→かな変換されてかなで画面に表示され、ローマ字文字
列ではない文字は、そのまま英字で画面に表示される。すなわち、
boiled-eggやmlhが透過モードのまま日本語を入力できるのに対し
て、egg-mixはローマ字かなモードのまま日本語以外のものを入力
できる。作者は、シャープ(当時、九州大学)の西村武司さん。入
力手順は、たとえば、「私は emacs を使っています。」としたい
場合は、

わたしは[SPC][RET][SPC]emacs[SPC]
をつかっています。[SPC][RET]

と入力すればよい。

 変換キーとしては、egg同様、[SPC]あるいは[CTRL-w]で日本
語変換、[RET]あるいは[CTRL-l]で文字列を確定する。また、
強制英字変換は、[CTRL-r]で行う。日本語でないと判別している
場合、通常“[あ]”となっているモード・ライン表示が“[★]”
(辞書内に発見)、“[◆]”(ローマ字でない)、“[◇]”
(不完全なローマ字である)と変化して、状態を知らせてくれる。

 また、「CL-x C-k SPC」あるいは「C-x C-k C-SPC」と入力する
ことで、直前に確定したものを元の状態に戻す機能も備わっている。

 基本はWnn用であるが、egg-mix.elの、

(set-egg-henkan-mode-format ...)

を、

(set-egg-henkan-mode-format "" "" " " 'underline nil)

のように修正すると、sj3-eggでも使えるようになる。

 このEmacs Lispは、
http://www.orions.ne.jp/snara/nisimura/egg-mix/egg-mix-0330.tar.gz
で入手できる。


●3つのインタフェースを比較して

 [CTRL-\]でいちいちモードを切り替えなくてよいのは非常に便
利なので、「3つの中に気に入るものがあればいいな」という大き
な期待を持って、それぞれを使用してみた。

 まず、boiled-eggとegg-mixはこまめに変換キーを押すタイプの
人に向いており、mlhは英字交じりの一文を入力し終わってから変
換キーを押すタイプの人に向いていることが分かった。

 そのほか、mlhの、

watasiha/emacss/wotukatteimasu./[SPC]

という入力が、一気に「私は emacs を使っています。」と変換さ
れる様子には、とても驚いた。また、boiled-eggとmlhでは、これ
から日本語に変換する文字列が画面にはローマ字で表示され、通常
のeggのようにひらがなが表示されるのはegg-mixだけだった。

 さて、この3つのシステムの中で私が一番気に入ったのは、
egg-mixである。というのも、これから日本語変換する文字列がロー
マ字表示されることに抵抗を感じてしまったからだ。その点、
egg-mixだけはひらがな表示されるので、通常使っているeggと同じ
感覚で入力できる。egg-mixは、mlhのように一文全部を入力してい
くことはできないが、筆者は、もともと文節ごとに変換し確定して
いくタイプなので、egg-mixでも心地よく使えたのだ。

 そのほか、egg-mixでは入力された単語が英単語なのか日本語な
のか、自動的に判断して表示してくれる。mule、emacs、directory、
chmodなど、思いつく英単語を入力してみた限りでは、正確に英文
字だと認識された。そこで、次に“tomoko-y@mbox.kyoto-inet.
or.jp”というメール・アドレスを入力してみた。

当然、最初は「ともこーy@んぼ……」というように画面に表示され
たが、そのまま強制英字確定の[CTRL-r]を押して、
“tomoko-y@mbox.kyoto-inet.or.jp”と確定すると、2度目の入力
からは“tomoko-y@”から始まる文字列は自動的に英字だと判断し
始めた。

 1度、英字で確定した文字列は、egg-mixが使用する英単語頻度
辞書のファイル(~/.egg-mix-freq)に保存されるため、自分が英
字に変換したい文字列が正確に変換される確率は次第に上がってい
く。同ファイルは、エディタで直接編集することも可能である。

 結論として、私はegg-mixを使い続けることに決め、その日のう
ちに、

(load "egg-mix")

という行が、~/.emacsファイルに加わった。

 筆者はたまたまegg-mixが気に入ったが、これは好みの問題なの
でどれが優れているということではない。boiled-egg愛好者、mlh
愛好者も多いはずだ。3つのシステムに共通する点は、「Emacs
Lispで書かれていることで、その仕組みが100パーセント利用者か
ら見える点」だろう。もし、この3つ中に気に入るものがなかった
場合でも、これらを比較しながら使ってみたり、Emacs Lispファイ
ルを眺めて記述方法を理解したりしているうちに、オリジナルのユー
ザー・インタフェースが書けるかもしれない。皆さんも、よいもの
ができたら公開してほしい。

===================================================================







(UNIX USER誌連載「よしだともこのルート訪問記」より)
http://www.tomo.gr.jp/root/ に戻る