魚楠さんからこんな提案があった。

せっかく作るのだからコンピュータで扱いやすい書式を定めないかい?
前々から汎用の書式を考えていたのでついでに提案したい。

案は二つあって CSV 形式と FDIC 風形式。

CSV はエクセルなどで扱えるので汎用性が高い。
そもそも辞書専用のソフトがいらないくらい。
しかし検索で使いそうなデータは決まったフィールドに書かないといけない。

FDIC 風とは頻繁に検索するであろう見出し語と訳語に印を付ける方式。
今の FDIC では見出し語は行頭で末尾に <> が付くので「見出し語<>」という文字列を検索すればプログラマもコンピュータも楽。
訳語は「[]…訳語…<>」で検索している。
これを次のように改良したい:
・一データ一行。
・見出し語は「行頭+見出し語+マーカー(区切り記号)」とする。
・訳語は「訳語マーカー+訳語」とする。
これを CSV で実現すると例えば次のようになる:
vet,[言語]@語、@単語,[反意語]vok,古
eld,[言語]@言葉,17:制:ertから。古アルカで……
ここで , は区切り記号兼改行記号、@ は訳語マーカーになる。
表示するときは , や @ は消すことになる。
見出し語は m/^vet,/ や m/^eld,/ で調べる。
訳語は m/@語/, m/@単語/, m/@言葉/ で調べる。
この場合 m/@単/ や m/@言/ でもヒットすることになる。

もっと厳密に何番目のフィールドは品詞、何番目は訳語、何番目は用例と決めてもいいが、辞書を作る際に窮屈に感じるかも知れない。



これには賛同できる。今回のオンライン幻日の作業で痛切に感じたことだが、辞書形式は重要だ。
CSVにすればもっと機能が多く、訳語検索のコードももっと楽だったのにとどれだけ思ったことか。
アルバザード政府が作っている以上、幻日のようなただのテキストの集合体というわけにはいくまい。
さて、アルバザード政府といっても、どの省庁が作成したのかを明示せねばなるまい。

lemir
[政治][言語]レミール言語庁、レミール、言語庁
20:lens/miir(智恵と論理)
[アクセント]lemir'
[文化]
アルバ一世が召喚省の下に立てた庁。魔導師が操る呪文を管理監督することが当初の目的であった。セルメル中期では社会の安定に伴い、呪文としてだけでなく言語として言葉を見るようになる。アルディアでは国際語として機能していたアルバレンの隆盛を背景に、国定辞書が作られる。アルディアが終わって魔法が世の中から消えると、ちょうど入れ替わるようにアルカができていたことから、呪文の管理という側面は失われ、言語の研究、とりわけ国語審議会として機能するようになる。国定辞書は作られ続け、アレイユやランジュでも作られた。日本では辞書は民間が作るものだが、アルバザードでは国定辞書があり、その規範データを基に各出版社が使いやすくしたヴァリアントを出す。
国定辞書diaklelを作成するのは言語庁lemirである。lemirはそのほかにも言語の揺れや変化を観測したりといった仕事をしている。国定辞書を作るのは文学部言語学科出身の選りすぐりのエリートで、文系の頂点に立つ人間である。よって事実上アルナ大学の学生で占められ、文学部の学生にとってlemirへの入庁は名誉の頂点に相当する。
個人主義のアルバザード人は単なる権力の強さより、自分が価値を認める地位に就きたがる傾向があり、この傾向は特にインテリ層に多い。よって、ほかの省の長官になるよりは、自分の望む庁の長官になることを望むことが多く、自然と適材適所がなされている。
なお、『紫苑の書』に登場するレイン=ユティアはアルバザードでは実在の人物で、アルナ大学を首席で卒業した後、大学院も首席で卒業し、ストレートでlemirに入所し、辞書科の編集者となり、生涯を過ごした。働きぶりは真面目の一言につき、楽しむのが苦手で、結婚も恋愛もすることなく勤め上げた。アルバザード人としてはやや珍しい人種である。



このように、レミール言語庁が国定辞書の作成を行っている。
国がかりなので、当然システマティックなデータになっていると思われる。

データは恐らくフィールドごとに分けられ、検索性能を上げていることだろう。
見出し語、語源、訳語などに分かれ、別々のフィールドに記載される。
それらは1単語1行になっており、まず見出し語と本文に2分される。
見出し語をキーとしたハッシュに本文が入れられ、さらに本文は語源や訳語など、フィールドごとにハッシュに入れられてく入れ子構造を持つのが最も合理的だろう。

当然アルバザードにもスクリプト言語があるだろうから、それをもとにDBを構成するものと思われる。
そのとき、CSVでデータを扱うのが最も合理的で、魚楠さんに賛同できるというのはそういう意味においてだ。
恐らく、ツンクは本文で使っていることを考えると、フィールドごとに区切り文字として自動挿入するのはタブだろう。
diaklelはTSVになっているのではないか。

フィールドごとにハッシュを分けておけば、オンラインOEDのように、ボタンひとつで表示・非表示が分けられる。
見たいと思えば語源をオンにし、邪魔だと思えばオフにすればいい。
地球でPerlでdiaklelを作る際にも、この方法でやっておけば表示・非表示が分けられる。

さて、となると次はどのフィールドにするかだ。
そして何よりエディタが必要だ。
見出し語、語源、対訳、類義、反義などが必要だが、フィールドが多すぎても煩雑だ。

語義と用例は交互に繰り返すので、どういうフィールドにするか難しい。
フィールドをエディタで作る場合、要するに上から順にテキストエリアをおいていくだけだから、語義と用例が繰り返す場合、フォームの配置だけでは対応できない。
語義の分だけフォームを増設することも可能だが、エディットが面倒で、毎年新しい辞書を発行せねばならないレミール言語庁が行うとは思えない。

よって、語義と用例についてはひとつのフィールドに放り込み、それぞれ識別タグを付けておき、スクリプト言語にどれが用例かを判断させ、用例に<em>などをかければよい。
すなわち、フィールドを利用したTSVと、従来の手法であるタグによる分析の両方を行うのが、最も合理的ではないかと思われる。

ところで問題なのはテキストファイルだ。
PDICの.dicを.txtにすると、おおむね2倍近くに容量が膨らむ。
もちろんレミールは辞書データを独自の形式でエンコードしているだろうが、これは水面下の作業なので、地球では特にエンコードする必要がない。

ただ、そうなると問題は.txtの容量だ。
今の幻日が1万語強で2Mだ。
1行テキストをワードに入れてみたらA4で840ページあった。
文字カウントをしたところ、130万文字と出た。原稿用紙換算で3250枚。
ん……?意外と多くないな。そうか、新生にしたときに作り直したからだ。1年半で3250枚ということか。

しかし、5万を当座の目標としても、10Mだ。
そんなのメモ帳で開けるのか?Perlは読み込めるのか?
その点が少し引っかかるが、フリーソフトで250Mでも読み込めるエディタがあるというし、まぁ可能かもしれない。