随分間が開いてしまいましたが、その間に翻訳システムの開発が進んだかというとそういうわけでもなく、有り体に書くなら単に仕事に追われていました。あまりにも更新がないと死亡認定されてしまいそうで心配なので、小手先の実装の話も芸がないということもあって、この辺で設計について少々論じてみます。
主題は、およそ自然言語処理に携わる以上は避けては通れない道、語彙(語義)・構文・文意・文脈等の曖昧性解消を如何にすべきか、というものです。
エスペラントは日本語と同様に語順が比較的自由です。対格(akuzativo; 英accusative)の名詞句は述語(predikato; 英predicate)の目的語(objekto; 英object)であり、主格の名詞句は主語(subjekto; 英subject, nominative)となることによります。よって、以下のいずれも非文(nefrazo, 英nonsentence)とはなりません。
歯の浮くような例を挙げましたが、それはそれとして、エスペラント語日本語翻訳システム「Ermitejo」では、構文解析と意味解析に主辞駆動句構造文法(HPSG: Head-driven Phrase Structure Grammar)という近代的な文法を採用しています。より正直に述べるなら、採用を決めて実現可能性調査を終えた段階で、まさに文法を記述し始めて間もない段階です。
さてそこで問題となるのは、HPSGにこの自由語順言語をどう実装していくかというものです。
御多分に漏れず、HPSGは英語の実装についての研究が最も盛んであり、英語は語順が比較的固定されているので、英語のHPSGの文法(規則・制約・語彙辞書)をそのまま用いることは出来ません。日本語のHPSGによる実装の研究もありますが、限られた公開物を拝見する限りでは私の頭では理解が追いつきかねました。
そこで、備忘録を兼ねて以下に実装方法の考察を述べてみます。
「開発日誌」と銘打っておきながら、そういえばこのブログでは本サイトの使命の保守本流であるエスペラント語日本語翻訳システム(Ermitejo)自体の開発状況等を殆ど全く書いていませんでした。
遅まきながら気付いたというよりは、なかなか趣味のプログラミングの時間を取れないままに世界エスペラント大会が過ぎてしまったことを無意識的に頭から消していたのかも知れません。世界エスペラント大会のような節目に、せめてβ版でも公開出来ればと考えていたのですが、流石にそう甘くはありませんでした。
そこで、開発の過去を振り返りつつ、現在の状況を明らかにし、未来への展望を開いていく一環として、「開発記」という分類をブログに設け、投稿を行って行くことにしました。自然言語処理関連の検索語を用いて検索エンジンを経由して本サイトにお越しになる方もいらっしゃいますが、本サイトがそのご参考になるかどうかは怪しいものです。なお、ttt.ermitejo.comのトップページに掲げていた文書も、「開発記」の分類に属するものとして、過去に遡ってこのブログに取り込んでおきました。
あまり時系列に沿って過去・現在・未来を書けた物でもないので、まずは今回はこれまでの形態素解析を簡単に振り返りつつ、目下開発中の構文解析について述べて参ります。
いわゆる世間一般で言うところの「翻訳サイト」(excite等のアレ)としての機能をアルファリリース出来る時期が数年先になる見通しで、その先の(オフラインアプリ然とした)「翻訳ソフト」並みのエスペラント語対訳翻訳であるとか、「ウェブサイト翻訳」等は見通しがまだ立たないという状況に戦々恐々とする今日この頃です。
まさか数年間もこのウェブサイトを塩漬けする訳にもいかないので、生存報告がてら基礎中の基礎の機能のみアルファリリースする予定です。具体的には、以下のような機能です。
| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
|---|---|---|---|---|---|---|
| « 9 月 | ||||||
| 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 | 30 |