Python
mecab
自然言語処理

MeCabとNEologdの使い方

-Ochasenを指定するとChaSenと呼ばれる形態素解析器で解析します。

http://chasen-legacy.osdn.jp/

import MeCab

text = 'メロスは激怒した。必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意した。メロスには政治がわからぬ。メロスは、村の牧人である。'
tagger = MeCab.Tagger("-Ochasen")
result = tagger.parse(text)
print(result, "\n")

出力結果

メロス   メロス   メロス   名詞-一般       
は ハ は 助詞-係助詞        
激怒  ゲキド   激怒  名詞-サ変接続     
し シ する  動詞-自立   サ変・スル 連用形
た タ た 助動詞   特殊・タ    基本形
。 。 。 記号-句点       
必ず  カナラズ    必ず  副詞-助詞類接続      
、 、 、 記号-読点       
かの  カノ  かの  連体詞       
邪智  ジャチ   邪智  名詞-一般       
暴虐  ボウギャク 暴虐  名詞-形容動詞語幹       
じ ジ じ 助動詞   不変化型    基本形
ゃちぼうぎゃくの    ゃちぼうぎゃくの    ゃちぼうぎゃくの    名詞-一般       
王 オウ  王 名詞-接尾-一般        
を ヲ を 助詞-格助詞-一般     
除か  ノゾカ   除く  動詞-自立   五段・カ行イ音便    未然形
なけれ   ナケレ   ない  助動詞   特殊・ナイ 仮定形
ば バ ば 助詞-接続助詞     
なら  ナラ  なる  動詞-非自立    五段・ラ行 未然形
ぬ ヌ ぬ 助動詞   特殊・ヌ    基本形
と ト と 助詞-格助詞-引用     
決意  ケツイ   決意  名詞-サ変接続     
し シ する  動詞-自立   サ変・スル 連用形
た タ た 助動詞   特殊・タ    基本形
。 。 。 記号-句点       
メロス   メロス   メロス   名詞-一般       
に ニ に 助詞-格助詞-一般     
は ハ は 助詞-係助詞        
政治  セイジ   政治  名詞-一般       
が ガ が 助詞-格助詞-一般     
わから   ワカラ   わかる   動詞-自立   五段・ラ行 未然形
ぬ ヌ ぬ 助動詞   特殊・ヌ    基本形
。 。 。 記号-句点       
メロス   メロス   メロス   名詞-一般       
は ハ は 助詞-係助詞        
、 、 、 記号-読点       
村 ムラ  村 名詞-一般       
の ノ の 助詞-連体化        
牧人  ボクジン    牧人  名詞-一般       
で デ だ 助動詞   特殊・ダ    連用形
ある  アル  ある  助動詞   五段・ラ行アル   基本形
。 。 。 記号-句点       

-Owakatiで分かち書きした結果が返ってきます。

import MeCab

text = 'メロスは激怒した。必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意した。メロスには政治がわからぬ。メロスは、村の牧人である。'
#分かち書き
tagger = MeCab.Tagger("-Owakati")
result = tagger.parse(text)
print(result, "\n")

出力結果

メロス は 激怒 し た 。 必ず 、 かの 邪智 暴虐 じ ゃちぼうぎゃくの 王 を 除か なけれ ば なら ぬ と 決意 し た 。 メロス に は 政治 が わから ぬ 。 メロス は 、 村 の 牧人 で ある 。 

NEologdを組み込む

NEologdを使うことで新語や流行語に強い形態素解析ができます。

text = 'アサヒ飲料は4月下旬から、凍る直前のマイナス5℃まで冷やした『三ツ矢サイダー』を提供する“氷点下自販機”を全国で展開中。'
MeCab.Tagger ('-Owakati -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
result = tagger.parse(text)
print(result)

出力結果

アサヒ飲料 は 4月下旬 から 、 凍る 直前 の マイナス 5℃ まで 冷やし た 『 三ツ矢サイダー 』 を  提供 する “ 氷点下 自販機 ” を 全国 で 展開 中 。 \n

NEologdを使わないで分かち書きすると、このような出力結果になります。

アサヒ 飲料 は 4 月 下旬 から 、 凍る 直前 の マイナス 5 ℃ まで 冷やし た 『 三ツ矢 サイダー 』 を 提供 する “ 氷点下 自販機 ” を 全国 で 展開 中 。 \n

NEologdでアサヒ飲料と表示されている箇所が、ただの分かち書きだとアサヒ 飲料となります。

詳しい解析結果を出力する

-Owakatiを-Ochasenに変更するだけです。

text = 'アサヒ飲料は4月下旬から、凍る直前のマイナス5℃まで冷やした『三ツ矢サイダー』を提供する“氷点下自販機”を全国で展開中。'
tagger = MeCab.Tagger ('-Ochasen -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
result = tagger.parse(text)
print(result)

出力結果

アサヒ飲料      アサヒインリョウ        アサヒ飲料      名詞-固有名詞-組織
は      ハ      は      助詞-係助詞
4月下旬 ヨンガツゲジュン        4月下旬 名詞-固有名詞-一般
から    カラ    から    助詞-格助詞-一般
、      、      、      記号-読点
凍る    コオル  凍る    動詞-自立       五段・ラ行      基本形
直前    チョクゼン      直前    名詞-一般
の      ノ      の      助詞-連体化
マイナス        マイナス        マイナス        名詞-一般
5℃      ゴドシー        5度     名詞-固有名詞-一般
まで    マデ    まで    助詞-副助詞
冷やし  ヒヤシ  冷やす  動詞-自立       五段・サ行      連用形
た      タ      た      助動詞  特殊・タ        基本形
『      『      『      記号-括弧開
三ツ矢サイダー  ミツヤサイダー  三ツ矢サイダー  名詞-固有名詞-一般
』      』      』      記号-括弧閉
を      ヲ      を      助詞-格助詞-一般
提供    テイキョウ      提供    名詞-サ変接続
する    スル    する    動詞-自立       サ変・スル      基本形
“       “       “       記号-括弧開
氷点下  ヒョウテンカ    氷点下  名詞-一般
自販機  ジハンキ        自販機  名詞-一般
”       ”       ”       記号-括弧閉
を      ヲ      を      助詞-格助詞-一般
全国    ゼンコク        全国    名詞-一般
で      デ      で      助詞-格助詞-一般
展開    テンカイ        展開    名詞-サ変接続
中      チュウ  中      名詞-接尾-副詞可能
。      。      。      記号-句点

参考

http://taku910.github.io/mecab/
https://ykonishi.tokyo/install-mecab-neologd/
https://qiita.com/taroc/items/b9afd914432da08dafc8