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
    
  2. 「yum install mecab*」の実行
    yum install mecab*
    

    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 に設定

    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 に設定