日本語形態素解析

http://developer.yahoo.co.jp/jlp/MAService/V1/parse.html
日本語文を形態素に分割し、品詞、読みがなの付与、統計情報を取得できる機能を提供します。

require "rexml/document"
require 'open-uri'
require "jcode"
$KCODE = 'UTF8'
require "cgi"

class YahooMAService
  def initialize(app_id = "your_apikey", base_url="http://api.jlp.yahoo.co.jp/MAService/V1/parse")
    @base_url = base_url
    @app_id = app_id
  end
  
  def parse(sentence)
    @sentence = sentence
    @result = get_request
    @parsed_xml = parse_xml(@result)
  end
  
  private
  def get_request
    rq_url = @base_url + "?" + "appid=" + @app_id + "&" + "sentence=" + CGI.escape(@sentence)
    open(rq_url)
  end
  
  def parse_xml xml
    REXML::Document.new(xml)
  end
end

庭には二羽ニワトリがいる。

result = (YahooMAService.new).parse("庭には二羽ニワトリがいる。")
result.elements['ResultSet/ma_result/word_list'].each {|element|
  print element.elements["reading"].text()
}
にわには2わにわとりがいる。

欲望のままに真実を、偽りを。

result = (YahooMAService.new).parse("欲望のままに真実を、偽りを。")
result.elements['ResultSet/ma_result/word_list'].each {|element|
  print element.elements["reading"].text()
}
よくぼうのままにしんじつを、いつわりを。