1: 2016-05-27 (金) 11:24:05 njf[5] [6] [7] | 現: 2018-07-15 (日) 17:07:53 njf[5] [8] [9] | ||
---|---|---|---|
Line 44: | Line 44: | ||
いる 動詞,自立,*,*,一段,基本形,いる,イル,イル | いる 動詞,自立,*,*,一段,基本形,いる,イル,イル | ||
EOS | EOS | ||
+ | |||
+ | *辞書の更新 [#j6833905] | ||
+ | |||
+ | 残念ながらデフォルトのままでは辞書の単語数が少なすぎて、あまり正確に解析できない。 | ||
+ | 自分でも単語を追加できるが、精度をあげるには相当数を追加する必要があり、ちょっと難しい。 | ||
+ | 幸いこちら([[http://diary.overlasting.net/2015-03-13-1.html]])で新語などを追加している方がいるので、ありがたく使わせていただく。 | ||
+ | 辞書のインストールと使い方はリンク先参照のこと。 | ||
*pythonのMeCabバインディングのインストール [#v0090cc9] | *pythonのMeCabバインディングのインストール [#v0090cc9] | ||
Line 63: | Line 70: | ||
print res.feature | print res.feature | ||
res = res.next | res = res.next | ||
+ | |||
結果は | 結果は | ||
+ | |||
BOS/EOS,*,*,*,*,*,*,*,* | BOS/EOS,*,*,*,*,*,*,*,* | ||
庭 | 庭 | ||
Line 83: | Line 90: | ||
いる | いる | ||
動詞,自立,*,*,一段,基本形,いる,イル,イル | 動詞,自立,*,*,一段,基本形,いる,イル,イル | ||
+ | |||
BOS/EOS,*,*,*,*,*,*,*,* | BOS/EOS,*,*,*,*,*,*,*,* | ||
つまり、「surface」にもとの単語が入り、「feature」に品詞や活用などがコンマ区切りのCSVのテキストで入っている。 | つまり、「surface」にもとの単語が入り、「feature」に品詞や活用などがコンマ区切りのCSVのテキストで入っている。 | ||
- | featureにどういう物が入ってくるかは、[[形態素解析ツールの品詞体系:http://www.unixuser.org/~euske/doc/postag/]]を参照のこと。 | + | featureは、「品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音」と入っている。 |
+ | 品詞細分類については[[形態素解析ツールの品詞体系:http://www.unixuser.org/~euske/doc/postag/]]を参照のこと。 | ||
+ | |||
+ | |||
+ | |||
+ | ここでMeCabへの入力はstr型で無くてはならない。 | ||
+ | |||
+ | >>> res = meCabTagger.parseToNode(u"庭には二羽鶏がいる") | ||
+ | Traceback (most recent call last): | ||
+ | File "<stdin>", line 1, in <module> | ||
+ | File "/Library/Python/2.7/site-packages/MeCab.py", line 282, in parseToNode | ||
+ | def parseToNode(self, *args): return _MeCab.Tagger_parseToNode(self, *args) | ||
+ | TypeError: in method 'Tagger_parseToNode', argument 2 of type 'char const *' | ||
+ | |||
+ | |||
+ | Mecabの初期化ではオプションを使える。つまり例えば他の辞書を使いたければ、 | ||
+ | |||
+ | mecabTagger = MeCab.Tagger("-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/") | ||
+ | |||
+ | とする。 |
(This host) = https://njf.jp