赤心慶福

talk about rss feed #5

前回の記事はちょっととりとめがなかった。

目的は「英単語に対応するカタカナでの読みを得たい。」である。
そのために英語→日本語の翻訳や辞書サービスの api なんかを調べているのだけど、あくまでやりたいのは読みを得ることであって、翻訳や辞書で英単語の意味を得ることではないのだ…。

それに、とりあえず Bing のサービスを用いて英単語を変換するスクリプトは書いた(まだフィードリーダーには組み込んでいない)が、なんか単語によっては英単語をそのまま返してくる。固有名詞扱いなのか?

うーん。

よし! わかった。ちょっと見方を変えてみる。英単語の発音記号列が得られれば、それをもとに無理やりカタカナをひねり出すことは可能なはず。ということで、フリーの発音辞書を参照してみる。おお、CMU だ。メロメロメロンだ。夕張バリアだ。

この辞書をもとに英単語→カタカナのテーブルをローカルの sqlite データベースあたりに作って、読み上げ前にそれを参照しつつ英単語の変換をする。このテーブルには 13 万語くらいあるはずだが、もしこのテーブルにないナウい英単語であれば、Bing を参照する…という 2 段構えの構成にしようかと思う。

* * *

というわけで作って組み込んでみた。…のだが、まあ大体動いているのだけど。たとえばですね、apple をその発音記号にしたがって無理やりカタカナをひねり出すと、「アパル」というのが出てくる。なんだアパルて。いや変換アルゴリズムが悪いといえばそれまでなのだが。

それと、確かにネイティブはそういう感じに発声するだろうけど、なに気取ってんだ!欧米か! というのもある。sushi が「スーシー」とか。

まあ全体的に変というわけではなくて、変なのもあるという感じなのだけど。

うーん。

よし! わかった。前の記事で教えていただいた edict も併用しよう。こちらは読みの辞書ではなく和英辞書なのだが、カタカナに対して 1 単語だけで説明されているもののみ抜き出し、それもデータベースにおいておくことにする。edict を優先して、edict にないものは cmudict を参照し、それもなければ Bing に頼るという形だ。

talk about rss feed #4talk about rss feed #6