RubyでYahoo!の形態素解析APIをつかってみました
こんにちは。
最近,「集合知プログラミング」っていう本の第6章を試してみたくて,うずうずしていたkitakです。
でも,この本,サンプルがPythonで書かれてるんですよね・・・
というわけで,まずはRubyの勉強がてら,日本語処理の書かれた付録Cのsplit関数をRubyで書いてみました。
# coding: utf-8 require 'open-uri' require 'rexml/document' def split(text) appid = 'Your AppID' filter = '1|2|4|5|9|10' uri = 'http://jlp.yahooapis.jp/MAService/V1/parse' result = [] body = open("#{uri}?appid=#{appid}&results=ma&filter=#{URI.escape(filter)}&sentence="+URI.encode(text)) doc = REXML::Document.new(body).elements['ResultSet/ma_result/word_list/'] doc.elements.each('word/surface') do |item| result.push(item.text) end return result end result = split("すもももももももものうち"); result.each do |word| puts word end
Pythonでforを使うところが,Rubyではeachになるんですね。
あとはXMLパーサの使い方を調べたりしました。
Rubyだとこう書くんだよ!っていうツッコミがあったら,コメントください
参考にしたサイト
yahoo!の日本語形態素解析をrubyから使おうとしたらはまった - 歩くパンケーキたち
- 作者: Toby Segaran,當山仁健,鴨澤眞夫
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/07/25
- メディア: 大型本
- 購入: 81人 クリック: 2,050回
- この商品を含むブログ (262件) を見る