Ermitejo - エスペラント語日本語翻訳

#BLOGO
サーバ引っ越し完了のご挨拶 >
2007/12/31

2007年の回顧と展望

分類: 雑記 / タグ:

Ermitejoの運営を行う最初の年である2007年もつつがなく暮れそうですので、この年を開発者の私の観点から振り返りつつ、新たな年の動向を見渡してみることにします。

翻訳システム開発全般

試験的なコード等を除いて、現在に繋がっているコードを実際に書き始めたのは2006年の11月頃でした。といってもその頃のコードはかなりリファクタリングされているのですが、ともあれ稼働中の辞書引き機能等をはじめとして、遅々とした歩みではありますが進展することが出来ました。

形態素解析処理・辞書引き機能

5月20日 …… 辞書引き機能α版の公開

5月の連休中に色々とコードを書けたことがあって、連休明けしばらく経った頃には形態素解析機能の原型が出来上がりました。その成果を括り出す形で、副産物として辞書引き機能を公開するに至りました。「なんちゃって辞書引き機能」であると逃げ道を作っての公開でしたが、Ajaxによる見出し語インクリメンタル検索などは好評を博しました。

7月10日/11日 …… 独自辞書の追加とPEJVo 1.5版への対応

採用させていただいた辞書『実用エスペラント小辞典』の改版に対応し、また、当サイト独自の辞書へも対応しました。後者については、最終的にはWikipediaの様に、ユーザ自身が編集出来るようにする布石として設けています。なお、7月15日にはランダムで見出し語を表示するフォーチュンクッキーも公開しました。

9月6日 …… 国際音声記号(IPA)とカタカナ読みの追加

形態論から少々遠足をして音韻論に手を広げ、発音関連情報を追加しました。慣用読み以外は容易に実装出来ました。IPAに字訳するだけで済んだり、カタカナ発音もそれに準じて構築するだけで済んだりと、エスペラントの規則性の素晴らしさを再確認することが出来ました。

その一方で、色々とバグを潰し込めておらず、その後しばらくは修正リリースに追われたのも苦い思い出です。エスペラントの学力があれば容易に気付いたテストケースも当初は作成できておらず、エスペラント自体の学習も力を入れねばと思いました。

9月23日 …… 文章内単語訳機能の公開

単語毎にぶつ切りで検索するのはいかにも手間が掛かります。そこで、エスペラント文を与え、それぞれについて辞書引きを行う文章内単語訳機能を新設しました。

11月13日 …… 辞書引き機能の正式版の公開

まだまだ未実装項目は多々ありますが、 見出し語にないハイフン区切りの合成語を解析出来るようになったことを以て、ひとまずの第1版を刻むこととしました。

まだまだ色々修正すべき点はありますが、一つの区切りを設けられたことは素直に嬉しかったです。

12月29日 …… メール辞書引き機能の公開

第4四半期に公開すると予告していたこのメール辞書引き機能ですが、公開は随分遅れてしまいました。11月28日に「近日公開」と予告した後、実証実験自体は(後述の)サーバ移転後すぐの12月4日に終え、その名残が現在の辞書引きメールアドレスにになっています。しかし、それから先は仕事から帰ってきても寝るだけのような非文化的な生活を送ってしまいました。仕事納め後の12月29日なってようやく公開することが出来、第4四半期には何とか間に合わせることが出来ました。

稼業のしわ寄せが来ること自体は趣味のプログラミングの世界ですからお目こぼしいただくとしても、実際の試作に取りかかるまでの技術調査に時間が掛かったことは反省点です。「近日公開」を宣言した上記記事でも書いていますが、ホスティングサービス提供会社のサポートから回答をなかなかいただけなかったことも多少響いています。などと責任転嫁をするのも大人気ないので、もう少し早め早めの行動を心掛けようと思います。

構文解析機能

壁はいと高し 

Ermitejoとしての最初の壁として構文解析が屹立することが分かったということが最大の出来事です。

形態素解析についてもエスペラントでなければ深遠な設計・大量のコードを用意しなければならないところですが、 比較的早期に(正味設計・開発時間としてであって、実時間ではありませんが……)開発の目処を立てることが出来ました。それは以下の理由によります。

  • エスペラントの規則性におんぶにだっこであった
  • 「実用エスペラント小辞典」というデータが揃っていた

翻って構文解析では、流石にエスペラントが記号から成り立つような無味乾燥な言語ではないこともあり民族言語と同様の実装が必要となります。かつ、データが全く存在しない状態であるため、文法データをゴリゴリと書かなければなりません。

正直なところ、今冬にはそれなりの動くコードが出来上がると考えていたのですが、甘過ぎました。

基幹部品の作成は完了 ~ 今後はエスペラントをHPSGへ実装する

ただし、(まだ明示的に公開していなかったと記憶していますのでここで紹介しますが)CKY法に基づく解析コードや、HPSGの単一化処理コード等の基幹部品の作成は終えています。

HPSGの素性構造はPerlでいうところのハッシュで、素性構造の入れ子もハッシュ内ハッシュので実現出来ます。素直にLiLFeSでも使えばよいのでしょうが、そこはそれ、勉強を兼ねた興味本意の車輪の再発明というものです。 その片手間にデバッグ用の各種ツール類、例えばAVM(attribute-value matrix; 属性・値行列表記)の表示ツール等も作りました。

そうとなればあとはデータ部を揃えるだけですが、これは一筋縄では参りません。

例えば単語であれば動詞・名詞・形容詞・副詞等の品詞毎にいくつかデータを作れば実証実験に移れますが、文法はそれほど単純な話ではありません。まして、HPSGのように型により継承を行える仕組みの文法では、「一通り」の言語現象を実現するだけの文法を揃えるだけでかなりのデータ量になってしまいます。

こうして、目下のところHPSG自体の勉強を行ったり、エスペラントをHPSGで記述する作業を行っているところです。これもまた車輪の再発明ではありますが。

今年の開発を振り返って

この分野の諸先輩方からメールをいただいたことが一番嬉しかったです。開発が終わってから公開するのではなく、「開発中」と宣言してウェブサイトを立ち上げたり、一部機能を副産物として括りだして公開する

それでは、次のページでは、ウェブサイトの歩み・エスペラント界の話題・その他の私事等について振り返ってみます。

#77 (2007/12/31 04:50:29), Gardejo

コメントはまだありません »

コメントはまだありません。

このコメント欄の RSS フィード トラックバック URL

ご意見・ご感想をお寄せください

サーバ引っ越し完了のご挨拶 >
< 脇書非表示 > 脇書表示