金子邦彦研究室プログラミングRuby プログラミングRuby で MeCab を使ってみる

Ruby で MeCab を使ってみる

前準備

■ mecab のインストールo

次のコマンドを実行.

  1. ubutnu のパッケージを使い mecab をインストール。ついでに chasen, namazu もインストールしている

    sudo apt -y update
    sudo apt -y install  chasen
    sudo apt -y install  libchasen-dev
    sudo apt -y install  chasen-dictutils
    sudo apt -y install  libtext-chasen-perl
    sudo apt -y install  naist-jdic-utf8
    sudo apt -y install  mecab
    sudo apt -y install  mecab-utils
    sudo apt -y install  mecab-naist-jdic
    sudo apt -y install  libmecab-dev
    sudo apt -y install  libmecab-ruby
    sudo apt -y install  namazu2
    sudo apt -y install  namazu2-index-tools
    sudo apt -y install  libnmz7-dev
    

    次のコマンドを実行.(例)(ソースパッケージを用いてビルドとインストールを行う場合

    mkdir /tmp/mecab
    cd /tmp/mecab
    
    sudo apt-get source mecab
    sudo apt-get -yV build-dep mecab
    cd mecab-0.97
    sudo dpkg-buildpackage -rfakeroot 
    cd ..
    sudo dpkg -i *.deb
    

    mecab-ruby のインストール

    cd /tmp
    wget http://sourceforge.net/projects/mecab/files/mecab-ruby/0.98/mecab-ruby-0.98.tar.gz
    tar -xvzof mecab-ruby-0.98.tar.gz
    cd mecab-ruby-0.98
    ruby extconf.rb
    make
    sudo make install
    

    ◆ Fedora の場合のインストール手順(例)

    gem ではインストールできないみたいなので,yum を使ってインストールする.

    1. 「yum install *mecab」の実行

      yum install *mecab
      

      [image]
    2. 「yum install mecab*」の実行

      yum install mecab*
      

      [image]

      Windows の Cygwin の場合のインストール手順(例)

      Mecab のインストール

      1. libiconv, libtool のインストール
      2. Mecab の入手

        cd /tmp
        wget http://sourceforge.net/projects/mecab/files/mecab/0.98/mecab-0.98.tar.gz
        tar -xvzof mecab-0.98.tar.gz
        cd mecab-0.98
        
      3. ソースコードの調整
        • src/common.h

          「#include<sstream>」を末尾に移動

        • configure.in AC_CHECK_LIB(iconv,libiconv_open) を AC_CHECK_LIB(iconv,iconv_open) に書き換える
      4. ./configure --with-charset=utf-8
      5. make
      6. sudo make install

      ipadic のインストール

      cd /tmp
      wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-iadic-2.7.0-20070801.tar.gz
      tar -xvzof mecab-ipadic-2.7.0-20070801.tar.gz
      cd mecab-ipadic-2.7.0-20070801
      ./configure --with-charset=utf8
      make
      sudo make install
      

      MeCab Ruby のインストール

      cd /tmp
      wget http://sourceforge.net/projects/mecab/files/mecab-ruby/0.98/mecab-ruby-0.98.tar.gz
      tar -xvzof mecab-ruby-0.98.tar.gz
      cd mecab-ruby-0.98
      ruby extconf.rb
      ここでできた Makefile を書き換える
      ===
      ldflags = -L. -L/usr/local/lib
      LIBS = $(LIBRUBYARG_SHARED) -lstdc++ -ldl -lcrypt -lmecab
      ===
      make
      sudo make install
      

      実行例

      起動チェック

      irb を使用."I have a pen." という英文を解析してみる.これは起動チェックを兼ねる.

      irb
      
      require 'MeCab'
      c = MeCab::Tagger.new()
      parsed = c.parse("I have a pen")
      

      実行結果の例

      Linux の irb を使用.ターミナルの文字コードは UTF-8 に設定

      [image]

      UTF-8 形式日本語ファイルの解析

      今度も irb を使用.ファイル hoge2.txt の中身を解析してみる.ファイルの文字コードは UTF-8 にしておく.

      irb
      
      require 'pp'
      require 'MeCab'
      
      c = MeCab::Tagger.new()
      File.open("hoge2.txt", "r") do |f|
        parsed = c.parse(f.read)
        print parsed
      end
      

      実行結果の例

      Linux の irb を使用.ターミナルの文字コードは UTF-8 に設定

      [image]

      [image]