RubyでYahoo日本語形態素解析Webサービスを使ってみる
テキスト解析:日本語形態素解析API - Yahoo!デベロッパーネットワーク
Yahooから日本語形態素解析Webサービスが出たとか。MeCabとか使って昔にやったこともあるなぁと思いながらRubyでちょちょっと書いてみました。ほうほう、これはWebアプリ屋には便利。
$KCODE="u" require 'rexml/document' require 'open-uri' def Yahoo_TextAnalyze(text) appid = 'YahooDemo' #自分のAPI_IDと置き換え uri = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse' result = Array.new() body = open("#{uri}?appid=#{appid}&results=ma&sentence="+URI.encode("#{text}")) doc = REXML::Document.new(body).elements['ResultSet/ma_result/word_list/'] doc.elements.each('word') {|item| word = Hash.new() item.elements.each {|property| word["#{property.name}"] = property.text } result << word } result end result = Yahoo_TextAnalyze("坊主が屏風に上手にジョーズの絵を描いた") result.each {|item| p item["reading"]+" "+item["pos"] }
"ぼうず 名詞"
"が 助詞"
"びょうぶ 名詞"
"に 助詞"
"じょうず 名詞"
"に 助詞"
"じょーず 名詞"
"の 助詞"
"え 名詞"
"を 助詞"
"えがい 動詞"
"た 助動詞"
こんな感じで。形態素解析情報のだけさくっと書いてみました。ちょっと変更すれば出現頻度情報のuniq_resultもいけますね。ページ内の広告とか検索へのリンクとか作るのに便利かな。サイトに直接実装するには制限が(1日5万件)があるけど、更新時とかクロールとかに使う分には十分な気がします。
後で時間があったらちょっとAPI風に書き直そう。