English Version
Wnnについての基礎知識
Wnn の概要を、フリーソフトのWnn4.2 と商品のWnn6 の2つをポイント
にして説明します。
Wnn(うんぬ)とは?
京都大学、オムロン株式会社、株式会社アステックによって共同開発され、
1987年に完成した UNIX上のかな漢字変換システム。Watashino Namaeha
Nakanodesu(私の名前は中野です)という文章の一括変換ができる
(当時は、文章を一括変換できることは画期的だった!)システム
ということで、その文の各文節の頭文字をとって名付けられた。
C言語で
書かれたソースコードが無料で配布されたことから、多くのワークステーショ
ン上で使われるようになり、現在では、UNIX上のかな漢字変換システムの
デファクト・スタンダード(事実上の標準)となっている。
一番の特徴はクライアント・サーバ方式を採用していることで、
サーバ部分(jserver)は、
X Window System 上の入力システムであるxwnmoの
かな漢字変換エンジンとしてや、Nemacs/
Mule のたまご(egg)
のかな漢字変換エンジンとして、使われている。
図:Wnnのモジュール構成
1991年に公開された Wnn4.1 からは中国語、各種
ヨーロッパ語の入力システムの機能が付加され、多言語入力システムと
なった。フリーで提供されている最新版は、1994年にリリースされた
Wnn4.2 で、このバージョンには、韓国語連文節変換の機能 と X11R6
サポートの機能とが加わっている。
図:Wnnのバージョンの流れ
(
書籍「マルチリンガル環境の構築」2章 p.44 より抜粋)
そして、1995年にリリースされた Wnn6 、1996年にリリースされた Windows95
用のマルチリンガルWnn95(日本語版、中国語版、韓国語版がある)は、商品と
して、オムロンソフトウェア(株)から販売された。
*クライアント・サーバ構成のWnn
Wnnは、サーバ部分の jserever(ジェーサーバ)、クライアント部分の
uumなどから構成される。サーバとクライアントはそれぞれ独立していて、
TCP/IPと呼ばれるプロトコルで通信しているため、それぞれを
別のマシン上に置くことができる。
図:クライアント・サーバ方式のWnnの構成
書籍「マルチリンガル環境の構築」2章 p.45 より抜粋)
たとえば、ユーザが「わたしのなまえはなかのです」などと入力した文字列
は、クライアント(uum、egg など)からサーバに渡される。文字列を渡された
サーバは、辞書などの情報を参照しながら変換結果を探し出し、「私の名前は
中野です」という結果をクライアントに返すというしくみになっている。
*サーバに接続されるクライアントの種類
jserver のクライアントとして、一般的に次のものが使われている。
- ・uum(うーむ)
- Wnn の標準のフロントエンドプロセッサ。wnn を180度回転させて命名された。
- ・xwnmo(えっくすうんも)
- X Window System から Wnn を使う場合に使われる。
- ・たまご(egg)
- GNU Emacs の日本語版の Nemacs、
多国語版の Mule の中でかな漢字変換環境を提供している。
*Wnnの持つ6つの特徴
Wnn(うんぬ)が初めて登場した 1987年から、
Wnn 以下の6つの特長を持っていた。それから長い年月が流れ、Wnnに、
中国語、韓国語、台湾語に対応した変換サーバ(それぞれ、
cserver、kserver、tserver)と各言語用の辞書が追加されたり、
X Window System の標準の多言語入力システムとして使われるようになったりと、
Wnn は成長を続けたが、これらの特長は守り続けられた。
- (1)文章一括変換の実現
- かな漢字変換の主流は単文節変換であった時代に、開発者の中野秀治さん
(オムロン社員)
の「これから開発するのだから、『私の(Watashino) 名前は(Namaeha)
中野です(Nakanodesu)』くらいの文章は一発で変換できるものにしよう!」
という一言で、文章一括変換のシステムが開発されることになった。
1985年のことであった。
- (2)クライアント・サーバ方式の採用
- 複数のマシンから同じユーザ辞書や学習結果を参照したり、メモリ領域
を節約したりするため。
- (3)他のシステムや他の人とのやりとりを可能にすること
- システム辞書とユーザ辞書の形式などの情報をすべて公開。
- (4)いろいろなマシンで共通に使えること
- ソースコードを移植性の高いC言語で記述することで、多くのマシンへの
移植を容易に。
- (5)ユーザーが独自のアプリケーションを開発できるようにすること
- 変換ルーチンなどをライブラリで提供し、内部構造も公開することで、
ユーザーが独自のアプリケーションを開発できるようした。この結果、
Wnn のサーバ部分を利用して日本語入力を実現する「たまご(egg)」
が、電総研にて誕生した。
- (6)できるだけ広めて多くの人が使えるようにすること
- ソースコードを無料で提供することで、多くの人が使えるようにした。
しかし1995年4月に登場したWnn6は、フリーソフトの Wnn が持ち続けてきた
上記の6つの特長のうち(1)~(4)を強化し、(5)の内部公開と(6)の無料配布 を
あきらめることによって誕生したものであった。開発を担当したのは、オムロン
(株)のIT研究所、販売を担当しているのはオムロンソフトウェア
(株)である。
*Wnn6 で強化された機能とは
Wnn6 で強化された機能を、上記のWnnの特長と対応させて説明してみる。
- (1)文章一括変換の実現
- → FI機能の導入により変換効率が大幅に向上
- キーワードとなっている FI とは、フレキシブル・インテリジェンス
(Flexible Intelligence)のことで、flexible は「融通のきく、適応性の
ある、弾力的な」という意味である。Wnn6 の持つFI機能の中心となっている
のが、格情報を持つ文節と述語文節との接続関係を考慮して変換するFI変換
機能と、文節間の関係を学習して変換するFI学習機能である。
このために使われるのが、270万用例からなる「FI関係システム辞書」と、
ユーザーごとに存在するFI関係のユーザー辞書ファイル群である。なお、Wnn6
は「FI関係システム辞書」以外に、20万語のシステム辞書(ちなみに Wnn4
の辞書 pubdic は3万5000語)も使って変換をおこなっている。
- (2)クライアント・サーバ方式の採用
- → クライアント・サーバ方式の活用
- 現在では、クライアント・サーバ方式を採用しているということ自体は当り
前で、それをいかに活用できるしくみを持っているかが大切である。Wnn6 は、
クライアント・サーバ方式を活用することで実現された、次の機能を持ってい
る。
- ・オフライン学習機能
- 変換効率の向上と資源の節約を目的として、自動的にユーザー辞書ファイ
ル群の持つ頻度値を最適化したり、複数のユーザ辞書に登録されている単
語を調査してマージ辞書に登録したりする機能がある。
- ・サーバの管理者向け機能
- アクセス認可情報の設定によりクライアントを制限したり、変換サーバ
のホストマシンを指定したりする、システム管理者向けの機能である。
- ・パラメータの自動チューニング機能
- 変換に大きく影響する17種類のパラメータの中から、7種類のパラメー
タの値を自動的に、最適化する機能である。
- ・複数のサーバを利用する機能
- ポート番号をずらすことによって、一つのマシンに複数の jserver を置く
ことができる。
- (3)他のシステムや他の人とのやりとりを可能にすること
- → 他の日本語入力システムや他人の辞書の利用が可能
- 他の日本語入力システム(ATOK7、ATOK8、VJE-Delta、EGBRIDGE)で作成さ
れたユーザ辞書も、Wnn6 で準備されている辞書コンバータ(otow)を利用す
ることで、Wnn6 で使える辞書に変換して利用することができる。もちろん、
Wnn4 で使っていた辞書も流用することができる。
- (4)いろいろなマシンで共通に使えること
- → UNIXワークステーション上だけでなく、Windows95 などでも使える
- Wnn6 を Windows95 上で使うための「Wnn95 for Windows95」も販売されて
いる。そして、1997年7月には、「Wnn6 for Linux/FreeBSD」も発売された。
参考文献:
- [1] 「UNIX の日本語処理がわかる本 ~最新Wnn活用ガイド」
- 栗林博監修、よしだともこ著、日刊工業新聞社 1993年発行、3,800円
- [2] 「UNIX USER 誌」1995.7 月号記事「かな漢字変換システム Wnn6」
- よしだともこ著
- [3 「マルチリンガル環境の構築 ~X Window/Wnn/Mule/WWWブラウザでの
多言語環境~」
- 錦見美貴子、高橋直人、戸村哲、半田剣一、桑理聖二、向川信一、吉田智子著、
プレンティスホール発行、1996年9月発行、4,300円
用語説明:
- uum(うーむ)
- Wnn の持つキャラクタ端末用のFEPで、端末の最下行を使って入力、変換を
行う。日本語用がuum、中国語(簡体字)用が cuum、中国語(繁体字)
用が tuum、韓国語用が kuum という名前である。これらモジュールは独立
しているが、それを構築するソースコードは一本化されており、コンパイル
オプションで作成するモジュールが選択できるようになっている。
- xwnmo
- Wnn の持つ、X Window System 上の多言語入力システムである。Wnn が
中国語入力の機能を持つ Wnn4.1 になったのと同時に、xwnmo も
マルチリンガル対応のものが開発された。Wnn4.2 の xwnmo は、
中国語、韓国語、各種ヨーロッパ言語の入力システムとして使われる。
uum とは異なり、1つのモジュールで、複数の変換サーバと接続する
ことができる。
- Nemacs
- Nihongo Emacs
- 1987年6月に最初のバージョンが公開された Nemacs は、
通産省工業技術院 電子技術総合研究所で開発されたもので、
日本語と英語の二カ国語のみを取り扱うことのできる、ローカライズ
されたエディタであった。1988年6月の バージョン2.1からは、
Wnn の jserver と直接通信してかな漢字変換を行なうシステム「たまご」
が組み込まれ、容易な日本語入力が可能になった。
なお、Nemacs は1990年6月の Ver. 3.3.2 (藤娘バージョン)を最後に
開発を終了し、以降は Mule がこれに取って代わった。
- Mule(みゅーる)
- MULtilingual Enhancement to GNU Emacs
- 複数の文字集合を取り扱えるように GNU Emacs を拡張したエディタで、
通産省工業技術院 電子技術総合研究所で開発された。
ISO 2022 を満たす文字集合を中心に、多くの文字集合を扱える仕組みを
持つと同時に、拡張もできる。
1991年暮れから開発がスタートした Mule は、1993年8月にはMule Ver.1.0
(桐壷)が公開された。1995年7月24日公開の Ver.2.3
(末摘花)は、GNU Emacs 19.28 をベースにしている。その後、
Mule と GNU Emacs との統合を目指した作業が進行し、1997年には、
Mule と GNU Emacs を統合しemacs20 が登場している。1997年10月現在の
最新バージョンは、emacs20.2 である。
- たまご
- Mule/Nemacs で使われる多言語入力メソッドの一つ。ネットワーク
上の変換サーバとの通信を用いて入力文字の変換を行なうものである。
Mule で使われる「たまご」は、正確には「たまご(たかなバージョン)」で、
Mule 2.3 では、日本語、韓国語および中国語簡体字について、これを
用いることができる。
ちなみに、たまごの語源は、「たくさん・またせて・ごめんなさい。」
たかなの語源は、「たまごよ・かしこく・な~れ。」である。
Wnnについてさらに詳しく知りたい方は、「Wnn関連用語集」を、参照のこと。
Last Update : Aug 25 2004 by T.Yoshida
このページは、よしだともこ
が作成しました。