2013年7月31日水曜日

Rubyで楽しい形態素解析(JUMAN編)

こんにちは!B4のmozukuです!
今回紹介するのは

RubyでJUMANによる形態素解析をやってみよう

です。

JUMANって?

京都大学の黒橋・河原研究室で作られた日本語形態素解析機です。
新バージョン7.0では
  • 非反復形オノマトペ、長音記号による非標準表記などの自動認識
  • Wikipediaから抽出した辞書の拡張
  • 自動辞書(Webテキストから自動獲得された辞書)
などが備わっており、今までの解析機ではうまく解析できなかった文章を解析できる
ようになっています。

そんなJUMANを今回はrubyで使ってみるということをやってみたいと思います。

JUMANの起動

JUMANにはサーバモードという機能が備わっており
juman -S
というコマンドでクライアントからの通信を受けて解析するサーバモードを立ち上げることができます。

こいつをrubyで使って解析結果を得てみましょう。

JUMANとのソケット接続

JUMANとの接続のためには以下のようなrubyのソースを書きます。
require 'socket'
juman_s = nil
until juman_s
  begin 
    juman_s = TCPSocket.open("localhost", 32000)
  rescue
    STDERR.print "Juman Connection Error Reconnection...\n"
    sleep 5
    retry
  end
end

STDERR.print "connect!"
接続が正しく行われればconnect!というメッセージがコンソール上に表示されるはずです。

JUMANで解析する

次に解析部についてみてみましょう。
juman_s.write("RUN -e2\n")
while f = gets
  juman_s.write(f)
  while true
    f = juman_s.gets
    print f
    break if f.to_s == "EOS\n"
  end
end
上のソースは標準入力を受け取り、形態素解析し出力するというものです。

実際に解析してみる

解析結果はこのような感じで取得できると思います!
すごい!こんな簡単に連動ができちゃった!!!
あとはもう使いたい方法にあわせて使い方をカスタマイズするだけです。

おわりに

今回は自分が使ってみたJUMAN-rubyの連動についてまとめました。
いろいろはしょり過ぎて伝わってるかは微妙ですが、記事を見て「簡単そうだし触ってみようかな!」とかおもってもらえたら嬉しいなって思います!
以上mozukuでした!

2 件のコメント:

  1. Mohon ijin berpromosi. service Ac segala jenis merk. kami service Ac mencakup wilayah coverage seluruh Surabaya, Gresik, Sidoarjo. kami juga menerima jasa service perbaikan AC bongkar dan pasang AC. pekerjaan kami cepat, tepat, profesional, harga kompetitif di banding harga jasa luaran.
    service ac split sidoarjo
    tukang service ac sidoarjo
    service ac surabaya sidoarjo
    service ac surabaya selatan
    service ac surabaya timur
    service ac surabaya barat
    service ac surabaya utara
    service ac kota surabaya

    SPLIT-TYPE AIR CONDITIONERS
    MULTI-SPLIT AIR CONDITIONERS
    CHILLED WATER FAN COIL UNITS
    VRF AIR CONDITIONERS
    CHILLERS
    WINDOW-TYPE AIR CONDITIONERS

    http://jualjasaacsurabaya.blogspot.com
    Segera hubungi kami, dan kami akan datang kerumah Anda 24 Jam Non Stop.
    (Hari Sabtu / Minggu / Hari Libur buka)
    PIN BBM : 54BE0B4B / 5474CD93 / TELP : 085645475574

    返信削除
  2. Thanks for sharing! Nice post!

    Vong dien tu dong hay võng điện cho bé hay máy đưa võng em bé giúp bé ngủ ngon mà máy đưa võng tự động không tốn sức ru võng. Võng tự động hay vong em be tu dong chắc chắn, gọn gàng, dễ tháo xếp, dễ di chuyển và may dua vong dễ dàng bảo quản.
    Chia sẻ mẹ cho bé ăn dặm đúng cách hay giải mã giấc mơ thấy người chết hay mơ thấy mình có bầu là điềm gì hay cách chống nắng bằng trà xanh hay Collagen trị mụn được không hay chữa mất ngủ bằng gừng đơn giản, bí quyết làm trắng da bằng cà phê và dầu dừa hay giảm cân nhanh bằng gạo lứt hq hay mẹo giúp tăng cường trí nhớ hiệu quả, những thực phẩm giúp cải thiện trí nhớ hiệu quả, mẹo hay giúp trẻ thích ăn rau hay cách giúp trẻ hạ sốt nhanh hiệu quả, bệnh viêm khớp không nên ăn gì hay mẹo giúp giảm độ cận thị cho bạn, bí quyết chống nắng với cà chua cực hiệu quả, cách giúp bé ngủ ngon giấcthực phẩm giúp bé ngủ ngon mẹ nên biết, chia sẻ cách làm trắng da toàn thân bằng thực phẩm, những món ăn chữa bệnh mất ngủ hay mách mẹ mẹo giúp bé không sốt khi mọc răng hiệu quả
    Những thực phẩm tốt cho tại http://thucphamtotcho.blogspot.com/
    Những thực phẩm tốt cho da tại http://thucphamtotchoda.blogspot.com/
    Chăm sóc da mặt ở http://chamsocdamato.blogspot.com/
    Cách chăm sóc da mặt bằng http://cachchamsocdamatbang.blogspot.com/

    返信削除