software のバックアップ(No.10) - アールメカブ

アールメカブ


software のバックアップ(No.10)


管理者

RMeCab?パッケージ

統計解析・グラフィックス作成環境 R から日本語形態素解析ソフト和布蕪( MeCab )を呼び出して使うインターフェイス

Rここ から,自分のOSにあったファイルをダウンロードしてください.例えばWindows版なら,[Windows]->[base]とクリックし,R-2.6.2-win33.exeをダウンロードします.後はダブルクリックを繰り返せばインストールできます.なお、Windows版の場合は起動直後に日本語の設定をしてください。メニューの [編集]->[GUIプリファレンス]->[Font] で MS Gothic を選び [save] を押して、保存先はデフォルトそのままにマイドキュメントに保存します。その後は [OK] を押して操作を続行します。なおRを終了させる際、workspace(作業情報)を保存するかと聞いてきますが,Yes でも No でもどちらでもお好みで。

古いバージョン

_ 注意

ダウンロードの際、ファイル名を一切変更しないください! . Rはインストール時に、ファイル名と中身のチェックを行います.ファイル名が中身の情報と一致しない場合、インストールを拒否します.特に Internet Explorer 6 はファイル名に [1] を付記することがあります.この場合は手作業でファイル名を元通りに変更してください.

_ Windows 版バイナリ : &ref(): File not found: "RMeCab_0.33.zip" at page "SoftArchive";

インストール手順

  1. まずMeCab?をインストールしてください.ここ から win32バイナリmecab-0.97.exe をダウンロードしてインストールします.インストール先は標準の C:\Program Files\MeCab で構いません.また文字コードは Shit-Jis のままで構いません.
  2. 次にwin32 用Rパッケージ RMeCab_***.zip をRにインストールします.*** の部分はバージョン番号です.Rのメニューから[パッケージ][ローカルにあるzipファイルからのパッケージのインストール]を選んで,ダウンロードした RMeCab_***.zipファイルを指定します.
  3. RMeCab? パッケージをインストールしたら,ここで,いったん R を終了させます
  4. 続いて,次の作業をしてください. C:\Program Files\MeCab\binlibmecab.dll というファイルがありますので,これを R のライブラリ関連フォルダにインストールされた RMeCab?パッケージ用のライブラリフォルダ libs にコピーします.具体的には C:\Program Files\R\R-2.6.2\library の中に RMeCab\libs? というフォルダができているはずですので,そのフォルダの中に libmecab.dll をコピーしてください.
    1. なお Vistaの場合 (場合によっては XP でも) 、Rのインストール後にユーザーが追加したRライブラリ類は、個人フォルダにインストールされていることがあります.例えば個人名のフォルダの中に「ドキュメント」->「R」->「win-library」->「2.6」があり,その中に RMeCab?\libs フォルダがあるかもしれません。
  1. 再びRを起動して,メニューから[パッケージの読み込み]を選んで RMeCab? を読み込みます.さっそく機能を試してみてください.

_ Macintosh 版バイナリ : &ref(): File not found: "RMeCab_0.33.tgz" at page "SoftArchive";

インストール手順

  1. まずMeCab?をインストールしてください.ここからソース版 mecab-0.97.tar.gz を取得します.同じく辞書 mecab-ipadic-2.7.0-20070801.tar.gz もダウンロードしてください.バージョンを表す数字は適当に読み替えてください.
  2. terminalを起動して,ダウンロードしたフォルダに移動します.仮にこれを Downloads フォルダとします.
    $ cd Downloads
    $ tar zxvf mecab-0.97.tar.gz
    $ cd mecab-0.97
    $ ./configure --with-charset=utf-8
    $ make
    $ sudo make install
    1. もしも sudo make install を実行すると make Error , Permission denied などと表示される場合は次のようにしてください.
      $ chmod 700 install-sh
      $ sudo make install
  3. 辞書もインストールします
    $ tar zxf mecab-ipadic-2.7.0-20070****.tar.gz
    $ cd mecab-ipadic-2.7.0-20070****
    $ ./configure --with-charset=utf-8
    $ make
    $ sudo make install
  4. 次に R を起動します. メニューから [パッケージとデータ]→[パッケージインストーラ]を選びます.一番上のCRANと表示されているメニューを[このコンピューター上のバイナリパッケージ]に変更します.右下の installボタンを押して,ダウンロードした RMeCab_***.tgzを選びます.*** の部分はバージョン番号です.
    1. インストールする権限がないといわれた場合は,自分のホームに例えば RLibs などというフォルダを新規作成します。そして,やはりホームに .Renvironというファイルを作成し,中身を次のように編集してください.
      R_LIBS=/Users/ishida/Rlibs
      ishida の部分は terminal 画面の $ マークの前に表示されているログイン名に変えてください.terminal上では以下のようにしても作成できます.
      $ echo 'R_LIBS=/Users/ishida/Rlibs' > .Renviron
      $ cat .Renviron
    2. その上で,Rを起動しなおして,再びRMeCab? パッケージをインストールする手続きを行い、ファイルを選ぶ前に ウィンドウ下の [ユーザーエリア] にチェックを入れておきます.
  5. これで準備は完了です.さっそく機能を試してみてください.
    1. 万が一文字化けするような場合は,
      > Sys.getlocale()
      > Sys.setlocale("LC_CTYPE", "ja_JP.UTF-8")
      を実行してみてください.

_ Linux 版バイナリ : &ref(): File not found: "RMeCab_0.33_R_i686-pc-linux-gnu.tar.gz" at page "SoftArchive";

_ 機能について

  1. RMeCab? パッケージを利用するには以下のコードを画面の > の右に入力して、Enter を押して実行します.

_ RMeCabC()関数 :短文の処理

> library(RMeCab)
> kekka <- RMeCabC("すもももももももものうち")
> unlist(kekka)

# 第二引数 1 を加えると形態素原型を返します.

> kekka <- RMeCabC("ご飯を食べた",1)
> unlist(kekka)
#    名詞     助詞     動詞   助動詞 
#  "ご飯"     "を" "食べる"     "た" 
#
> kekka <- RMeCabC("ご飯を食べた",0)
> unlist(kekka)
#    名詞     助詞     動詞   助動詞 
# "ご飯"   "を" "食べ"   "た" 
> unlist(kekka) [names(unlist(kekka)) == "名詞"]
# ご飯

# 入力する文章が長い場合は第三引数を指定してください

# 目安は入力する文章の文字数の2倍です。
> kekka <- RMeCabC("...を食べた",0, 2056)

_ RMeCabDF()関数: データフレームの指定列を解析

No,Reply
1,写真撮ってくれよ
2,写真とってください
3,写真とってね
4,写真とってください
5,写真とってね

と言うファイルが c:/work/photo.csv にあったとして

dat <- read.csv("c:/test/photo.csv", head = T)

#と読み込んで

RMeCabDF(dat, 2)

# datという読み込んだデータの二列目に日本語がある とすると,二列目のデータをすべて形態素解析にかけます.

[[1]]
 名詞   動詞   助詞   動詞   助詞 
"写真" "撮っ"   "て" "くれ"   "よ" 
[[2]]
     名詞       動詞       助詞       動詞 
   "写真"     "とっ"       "て" "ください" 

# また

RMeCabDF(dat, 2, 1)

# とすると,形態素原型を返します.

# 入力する文章が長い場合は第四引数を指定してください

RMeCabDF(dat, 2, 1, 5120) # 全角2560文字 (5120/2)を想定

_ RMeCabFreq?()関数 : ファイルから頻度表を作成

# カレントディレクトリ(getwd()で確認できます)にこんな中身のファイル sushi.txt &ref(): File not found: "sushi.txt" at page "software"; があったとして

#昨日寿司を食べたけど,今日も寿司を食べたいな.明日も寿司を食べたいな.寿司は体にとても良い.きっと頭にも良いだろう.

> kekka <- RMeCabFreq("sushi.txt")
> kekka
    Term Morph1     Morph2 Freq
1  きっと   副詞       一般    1
2  とても   副詞 助詞類接続    1
3      う 助動詞          *    1
4      た 助動詞          *    1
5    たい 助動詞          *    2
6      だ 助動詞          *    1
7      は   助詞     係助詞    1
8      も   助詞     係助詞    3
9    けど   助詞   接続助詞    1
10     に   助詞     格助詞    2
11     を   助詞     格助詞    3
12     な   助詞     終助詞    2
13 食べる   動詞       自立    3
14     体   名詞       一般    1
15   寿司   名詞       一般    4
16     頭   名詞       一般    1
17   今日   名詞   副詞可能    1
18   明日   名詞   副詞可能    1
19   昨日   名詞   副詞可能    1
20   良い 形容詞       自立    2
21     .   記号       句点    4
22     ,   記号       読点    1

_ RMeCabText?()関数 : 和布蕪の出力をそのまま得る

# その他,和布蕪の出力をそのままリスト形式で出力する関数

>  RMeCabText("test.txt")
[[1]]
[1] "昨日"     "名詞"     "副詞可能" "*"        "*"        "*"       
[7] "*"        "昨日"     "キノウ"   "キノー"  
[[2]]
[1] "寿司" "名詞" "一般" "*"    "*"    "*"    "*"    "寿司" "スシ" "スシ"