#author("2020-06-17T08:52:34+09:00","","") #author("2020-06-17T08:54:04+09:00","","") [[RMeCab]] #contents * MeCabへの辞書追加 [#q468c95c] 詳細は [[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 上で辞書を指定できる仕様を追加する予定です(RMeCab_0.89 から実装予定). なお RMeCab 上で辞書を指定するには関数で dic 引数を指定します > library(RMeCab) > x <- docMatrix("/Users/ishida/tmp", dic = "/Users/ishida/R/data/ishida.dic") * Mac で辞書を作成し,RMeCab で利用する [#va34eef1] 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