Yahooテキスト解析のルビ振りAPIをRubyから使う

スポンサーリンク

日本語の文字列に Ruby で Ruby 振りしますよー・・・。利用したのは、Yahoo テキスト解析のルビ振りAPI。

テキスト解析:ルビ振りAPI – Yahoo!デベロッパーネットワーク

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

当初、KAKASI – 漢字→かな(ローマ字)変換プログラム というライブラリを使っていたのですが、Yahoo API も良さそうだったので併用することにして試してみました。

Yahooルビ振りAPIを使うRubyコード

XML 解析に Nokogiri ライブラリを使います。YAHOO_API_ID は取得したご自分のものに変更して下さい。

Yahooルビ振りAPIのXML仕様

Yahoo ルビ振り API はご親切に、形態素解析して分解した品詞ごとにふりがなデータを XML で返してくれます。なので、単純に日本語の文字列を投げれば、自動でふりがなが返ってくるわけではありません。

//word/furigana, //word/roman というノードに、各々分解された品詞に対応する、ひらがな・ローマ字のふりがなが含まれています。ローマ字でふりがなを付ける時は、形態素解析のおかげでスペースで分けられるので読みやすいです。

以上の点を考慮して書いたのが上記の Ruby コードです。ひらがなとローマ字のふりがなを配列のペアで返します。以下 pry での実験。

おお!良い感じに、ひらがなとローマ字で各々ふりがなが返ってきました。

句読点、エクスクラメーションなど記号では、//word/furigana, //word/roman は返ってきません。

アルファベットも、//word/furigana, //word/roman は返ってきません。

以上ですが、とりあえず日本語の文字列に、ひらがな・ローマ字でルビ振りするには十分ですね。

スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
 
スポンサーリンク

Leave Your Message!