MeCab_Dictionary
_ MeCab?への辞書追加
詳細は http://taku910.github.io/mecab/dic.htmlを参照してください
例えば Ubuntu であれば
基広,-1,-1,1000,名詞,固有名詞,人名,名,*,*,基広,モトヒロ,モトヒロ
を ishida.csv として作成し,以下を実行. \\ は改行を表しますが, 改行せず, 1 行にまとめて実行してください
$ /usr/local/libexec/mecab/mecab-dict-index \\ -d/usr/local/lib/mecab/dic/ipadic -u ishida.dic \\ -f utf-8 -t utf-8 ishida.csv
作成された ishida.dic を利用できるか, まずコマンドラインで試し
$ mecab -u ishida.dic 石田基広 石田 名詞,固有名詞,人名,姓,*,*,石田,イシダ,イシダ 基広 名詞,固有名詞,人名,名,*,*,基広,モトヒロ,モトヒロ EOS
うまく行っているようだったら,
$ cp /usr/local/etc/mecabrc ~/.mecabrc
として ishida.dic を以下のように追加する
$ vi ~/.mecabrc ; ; Configuration file of MeCab ; ; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $; ; dicdir = /usr/local/lib/mecab/dic/ipadic userdic = /home/ishida/git/Document/ishida.dic ; output-format-type = wakati ; input-buffer-size = 8192 ; node-format = %m\n ; bos-format = %S\n ; eos-format = EOS\n
なお RMeCab? 上で辞書を指定するには関数で dic 引数を指定します
> library(RMeCab) > x <- docMatrix("/Users/ishida/tmp", dic = "/Users/ishida/R/data/ishida.dic")
_ Mac で辞書を作成し,RMeCab? で利用する
64Bit R on Snow Leopard で 実行してみました.
MacBook:~ ishida$ mecab 石田基広 石田 名詞,固有名詞,人名,姓,*,*,石田,イシダ,イシダ 基 名詞,固有名詞,人名,名,*,*,基,ハジメ,ハジメ 広 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,広い,ヒロ,ヒロ EOS ^C
MacBook:data ishida$ vi ishida.csv 基広,-1,-1,1000,名詞,固有名詞,人名,名,*,*,基広,モトヒロ,モトヒロ
MacBook:data ishida$ /usr/local/libexec/mecab/mecab-dict-index -d/usr/local/lib/mecab/dic/ipadic -u ishida2.dic -f utf-8 -t utf-8 ishida.csv reading ishida.csv ... 1 emitting double-array: 100% |###########################################| done!
MacBook:data ishida$ mecab -u ishida2.dic 石田基広 石田 名詞,固有名詞,人名,姓,*,*,石田,イシダ,イシダ 基広 名詞,固有名詞,人名,名,*,*,基広,モトヒロ,モトヒロ EOS
MacBook:~ ishida$ R R version 2.13.0 (2011-04-13) Copyright (C) 2011 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
> library(RMeCab) > x <- docMatrix("/Users/ishida/tmp", dic = "/Users/ishida/R/data/ishida2.dic") file = /Users/ishida/tmp/test.txt file = /Users/ishida/tmp/test2.txt Term Document Matrix includes 2 information rows! whose names are [[LESS-THAN-1]] and [[TOTAL-TOKENS]] if you remove these rows, run result[ row.names(result) != "[[LESS-THAN-1]]" , ] result[ row.names(result) != "[[TOTAL-TOKENS]]" , ] > x docs terms test.txt test2.txt [[LESS-THAN-1]] 0 0 [[TOTAL-TOKENS]] 7 6 基広 1 1 石田 1 1 大学 1 0 出張 0 1 明日 0 1
Link: RMeCab(669d)
Last-modified: 2020-06-17 (水) 08:54:04 (1629d)