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

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

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

スポンサーリンク

当初、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は入門を超える内容で難しめです。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!