日本語とグロンギ語の相互翻訳やってみた

Twitterでの「オンドゥル語なんかよりグロンギ語を」との声を受け、日本語とグロンギ語の翻訳をやってみました。
Githubに上げてあります。

https://github.com/shogo82148/Grongish

これを使うには少しプログラムを組む必要があります。少しだけ遊んでみたいと言う方は、
http://twitter.com/JO_RI_bot
にこの翻訳モジュールを組み込んだTwitterボットをおいておきました。現在ボットは停止中です。復活したらお知らせします。復活したよ!「○○をグロンギ語訳して」「○○を和訳して」とリプライを送ると相互変換の結果を返してくれます。

グロンギ語とは「特撮テレビドラマ『仮面ライダークウガ』に登場する架空の言語。」(Wikipedia)です。オンドゥル語とは違って公式の設定なので、「あ行をガ行に変換する」といった単純な置換えのみで、翻訳が可能です。変換の詳細はグロンギ語 - Wikipediaを参照。



数詞や助詞の扱いが少し面倒なところがありますが、日本語からグロンギ語への翻訳は比較的簡単です。今回はそれに加えて、グロンギ語から日本語への翻訳にもチャレンジしてみました!

日本語からグロンギ語への変換の際、あ行とが行がどちらもガ行に変換されるなど、日本語の複数の音がグロンギ語では同じ音になってしまうため、単純な置換ではうまくいきません。例えば、「ホロ」と「泥(どろ)」はどちらもグロンギ語では「ゾソ」になってしまうため区別ができません。音の並びから意味を正しく読み取って日本語に翻訳する必要があります。

でも、全く別のものが同じ音になるという現象はグロンギ語に限ったことじゃないですよね?
日本語にだって同音異義語があって、同じ音だけど意味が異なるということが頻繁に起こります。「ホロ」だってキャラクタの名前だったり、「幌」だったり、「火炉」だったりします。同じ音でも人間はこれを文脈によって適切に判断することができます。グロンギ語がわかりにくいのは単に慣れの問題です。


さて、これを機械にやらせるにはどうするか。実はパソコンを使っている人なら「音の並びから意味を正しく読み取って日本語に翻訳する」機能にお世話になっているはずです。そう、MS-IMEGoogle IMEATOKなどのかな漢字変換ソフトですね。これらのソフトは音の並びでしかない仮名の羅列から、意味を推定し、正しい(と思われる)漢字を当てはめ、日本語の文章を生成します。グロンギ語の和訳も音の並びを日本語の文章に変換すると言う点では大して変わりません。チョットだけ、読み方が違う。それだけです。

元となるかな漢字変換ソフトにはmecab-skkservを使用しました。これはSKKと呼ばれるかな漢字変換サーバを実現するためのソフトですが、裏で実際に変換を行なっているのはMeCabです。そのため、MeCabとの連携ができる言語であれば、手軽にかな漢字変換ができます。このプロジェクトから辞書だけ拝借してきました。


辞書には「『どろ』を『泥』に変換する」と言ったような規則が書いてあります。この読みの部分を「『ゾソ』を『泥』に変換する」のようにグロンギ語に変換してしまいます。こうすることとでかな漢字変換ソフトを、グロンギ語漢字変換ソフトに変身させることができるというわけです。

拗音の扱いなど、少し面倒なところは少しありましたが、やっていることはこれだけです。グロンギ語に変換することによって同音異義語が増えるので、そのぶん少し間違いが多い気がしますが、まあまあの精度で翻訳することができます。




グロンギ語-日本語訳ができたなら、オンドゥル語-日本語訳も同じ方法でできそうです。と思って、実はやってみたのですが、グロンギ語のような単純な置換では無いため、思ったような結果がえられませんでした。読みを単純に置き換えるだけでは不十分で、単語の生起コストとか隣接コストを調整する必要がありそうです。これについてはまたできたらここに書きたいと思います。