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

アールメカブ


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


管理者

RMeCab?パッケージ

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

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

古いバージョン

_ 注意

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

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

インストール手順

  1. まずMeCab?をインストールしてください.ここ から win32バイナリmecab-0.97.exe をダウンロードしてインストールします.インストール先は標準の C:\Program Files\MeCab で構いません.また文字コードは Shit-Jis のままで構いません.
  2. 次にwin32 用Rパッケージ &ref(): File not found: "RMeCab_0.32.zip" at page "SoftArchive"; を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? を読み込みます.以下を画面の > の右に入力して、Enter を押して実行してみてください.

_ RMeCabC関数 : 短文の処理

> 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)

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

# c:\work に,こんな中身のファイル sushi.txt &ref(): File not found: "sushi.txt" at page "software"; があったとして

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

> kekka <- RMeCabFreq("c:/work/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] "寿司" "名詞" "一般" "*"    "*"    "*"    "*"    "寿司" "スシ" "スシ"

_ Macintosh 版バイナリ &ref(): File not found: "RMeCab_0.32.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ボタンを押して,ダウンロードした &ref(): File not found: "RMeCab_0.32.tgz" at page "SoftArchive";を選びます.
    1. インストールする権限がないといわれた場合は,自分のホームに例えば RLibs などというフォルダを新規作成します。そして,やはりホームに .Renvironというファイルを作成し,中身を次のように編集してください.
      R_LIBS=/Users/ishida/Rlibs
      ishida の部分は terminal 画面の $ マークの前に表示されているログイン名に変えてください.terminal上では以下のようにしても作成できます.
      $ echo 'R_LIBS=/Users/ishida/Rlibs' > .Renviron
      $ cat .Renviron
    2. その上で,Rを起動しなおして,再びRMeCab? パッケージをインストールする手続きを行い、ファイルを選ぶ前に ウィンドウ下の [ユーザーエリア] にチェックを入れておきます.
  5. 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)

_ 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] "寿司" "名詞" "一般" "*"    "*"    "*"    "*"    "寿司" "スシ" "スシ"
  1. 万が一文字化けするような場合は,
    > Sys.getlocale()
    > Sys.setlocale("LC_CTYPE", "ja_JP.UTF-8")
    を実行してみてください.

_ Linux 版

  • 基本的に Mac 版と変わりません