この度、辞書引き機能を正式版として改めて公開する運びとなりましたので、謹んでご連絡申し上げます。形態素解析機能に関連した副産物として2007/05/20に公開し、半年間に及ぶ試験稼働を終えることが出来ました。構文解析の研究・設計を行っていたり、或いは翻訳システム自体の開発に飛び石的に携わざるをえなかったりと、辞書引き機能に常に目を向けられていた訳ではありませんが、30回に及ぶ改版を経て、半年間の間に十分に揉んでいただいた辞書引き機能は着実に歩みを重ねて来られたと考えています。
本サイトの本来の使命は翻訳システムの開発ですが、その副産物としての辞書引き機能がこれほどまでにご利用いただけているとは、開発者自身予想だにしておりませんでした。しかしこうして栄えあるversio 1を刻めたことは、ひとえに、まだまだ発展途上であるこの辞書引き機能をご利用いただいた皆様あっての帰結であろうと感謝しております。改めてご利用者の方々にお礼を申し上げます。
現在は形態素解析処理の結果を素に辞書中の日本語訳語をそのまま用いているだけであり、日本語の訳語としては甚だ不十分な状態であることは認識しております。これは日本語の文字列生成処理を加えていない所為でありますが、次版に向けては勿論、新たに発見された不具合(バグ)の修正や、上記以外の機能追加についても積極的に取り組んで参る所存です。ご意見・ご感想・ご要望等も楽しみにお待ちしております。
次版は半年後とは言わず、ご案内出来る日が遠からずまたやって来ようかと見通しておりますので、今後ともどうぞよろしくお願い申し上げます。
なお、最近の修正点は以下の通りです。
(「単語辞書引き機能の正式版公開 (versio 1.0.0)」の続きを読む)
文章内単語訳機能を公開しました。これまでの単語辞書引き機能と違い、エスペラント語の「文章」を与え、それぞれの単語の辞書引き結果を連続的に表示する機能です。
「翻訳」「逐語訳」ではなく「単語訳」ですので、構文解析の成果は一切、これっぽっちも反映されていません。また、エスペラント単語に該当する日本語も、訳し分け(複数の訳語がある場合の取捨選択)や形態素生成(格・数・時制等々を考慮して訳語を一部変換する処理)も、少なくとも初版の現在は全く対応していません。
ですが、これまでちまちまと単語訳を繰り返していたことと比べ、例えばエスペラント文を他のウェブページからコピペして一斉に辞書引きすることが出来るため、散文的な文章、特に技術的な文書や、エスペラント版ウィキペディアのような文書では、訳された単語を並べてみるだけでもそれなりに理解が出来ようかと思います。「荒訳」という程のものではありませんが、造語解析の成果によって、未知語が殆ど存在しないことに驚かれるかも知れません。これこそまさにエスペラントの真髄です。
なお、これにあわせ、辞書引き機能のトップページを新たに設けました。これまではサブドメインを直接指定しても、単語辞書引き機能のページへリダイレクトしていましたが、単語辞書引き・文章内単語訳の両方のフロントエンドとするべくページを新設したものです。その他、ドキュメント類(ヘルプ等)はこれから整理して参ります。
この新味に乏しいけれども効果は少なからぬ機能が、エスペラントを介した相互理解やエスペラント学習の一助となれば幸いです。
とはいえ、まだまだα版という趣が強く、エラー処理や特殊処理等は殆ど手つかずであり、往々にしてエラーを吐くこともあろうかと存じます。これについては、今後の改版を見守っていただければと考えています。
改めて語るまでもなく本サイトの使命はエスペラント日本語翻訳システムの完成・運用にありますが、その副産物として運用している辞書引き機能について、考えあぐねていることがあります。アクセス統計を見る限りでは、少なからぬ割合(3割前後)で、エス和ではなく和エスの単語検索を試みていらっしゃいます。こうした逆引きは、「エスペラント語の文書から日本語の文章へ翻訳する」という方向とは正反対であるため、これまで開発・提供しておりませんでした。
しかし、使う側の立場に立ってみれば、辞書引き機能がどのような計画の副産物であるかは気にしないはずです。ヘルプを見れば逆引きが出来ない旨は記載してありますし、Ajaxによって逆引きと思われる要求は画面遷移なしに提供対象外機能である旨を表示していますが、これも利用者にとってみれば、一般的にはどうでもよいことです。
送り手側の事情をつまびらかにすると、実のところ構文解析機能はそれなりに大変で、目新しい機能の提供はこの先短い期間では望めないということがあります。他機能への少々の浮気というか脱線の一つも出来ない甲斐性なしでは、開発継続の気分を高揚出来ないのではないかと思っています。また、エス和方向の訳語絞り込み方法の着想を、逆引きの和エス方向の開発で得ることが出来れば嬉しいなとも思っています。
このような辺境のドメインには、お越しになる方はあまり多くはないかも知れませんが、もしご希望・ご意見・その他がありましたら、コメント欄等にでもその旨を記載いただければ幸いです。
発音関連のモジュールの開発に於いては、母音省略という要件をすっかり忘れていたので、せこせこと修正を重ねる羽目となりました。散文については文字通り書き散らかすことは苦ではなく、呼吸するように(少なくとも手書きよりは早く)書けるのですが、芸術的感性といったものを人生の道の途中に落として来たらしく、韻文を書くことが日常生活で皆無でしたので、考えからすっかり漏れていました。というところで、電車に揺られる朝の通勤時間帯に思い付きでメモした機能は、要件定義と外部設計は勢いで書けたとしても、詳細設計ともなるとなおざりになってしまいました。
それはさて措き、こうした開発をしていると、目下話題急上昇中の初音ミクに、エスペラントで歌わせることが出来るのではないかと思うようになりましたので、以下に考察を述べてみました。
ようやくversio 0.9.0で実装を始めた音韻関連の機能が整いつつあります。直近で更新した内容は、韻文中での発音に関する二点です。
前者では、アクセントを変更しないという点が曲者です。エスペラントの規則性ゆえに、実装も極めて論理的かつ簡素なものとなっていたのですが、こういう特例の存在により、優雅さとは程遠い泥臭い実装を行う羽目になります。前者ではl’を「ル」と読めるようになるのですが、l’armoをルアーモと読んでしまうために、ここでも特例を設けてラーモと読めるように処理を書き加えました。
良い機会なので、発音をカタカナやIPAで転記する処理の概要をご紹介します。あまり変なことを考えず、人間の頭の中で行っている処理を素直にコード化することが一番と言えます。
('sam', 'ide', 'an', 'o', 'j', 'n')は('sam', 'ideanojn')になります。これはまだ文法上の区切りですが、続け読みが出来るように配慮された配列になっています。'sam'は('sa', 'm')に、'ideanojn'は('i', 'de', 'a', 'no', 'j', 'n')に分解されます。これで、それぞれの要素が一つの音に対応するような配列になりました。('sa', 'm', 'i', 'de', 'a', 'n', 'o', 'j', 'n')というリストを得て、配列に突っ込みます。trすれば事足ります。アクセント位置には長母音の記号を与えて完成です。samとideanojとの間は空白を入れておきます。'sa'は$japana->{'s'}{'a'}で「サ」が求まりますし、母音のみや子音のみの場合にはダミーのキーを与えて$japana->{'m'}{'_'}で「ム」、$japana->{'_'}{'i}で「イ」が求まるという次第です。長母音で「ー」を与えて完成です。このように可能な限り手を抜いて楽をして発音させている無邪気な実装なので、世知辛いesper’などという文字列を与えたら、まず「’」なんてハッシュキーがないのでこけますし、これを無視したら母音が一つ足りないわけでエスペル(エがアクセント)と読もうとするしで大変です。
そこで、以下のように機能追加することによって、こうした言語現象にも対応出来るようにしました。
| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
|---|---|---|---|---|---|---|
| « 5 月 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||