search
LoginSignup
112

More than 5 years have passed since last update.

Organization

Macにmecabインストール

インストール

$ brew install mecab
$ brew install mecab-ipadic
$ mecab
(入力) 毎日が土曜日だと良いのになあ
毎日  名詞,固有名詞,組織,*,*,*,毎日,マイニチ,マイニチ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
土曜日   名詞,副詞可能,*,*,*,*,土曜日,ドヨウビ,ドヨービ
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
と 助詞,接続助詞,*,*,*,*,と,ト,ト
良い  形容詞,非自立,*,*,形容詞・アウオ段,基本形,良い,ヨイ,ヨイ
の 名詞,非自立,一般,*,*,*,の,ノ,ノ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なあ  助詞,終助詞,*,*,*,*,なあ,ナア,ナー
EOS

こんな感じで形態素解析ができるように。

辞書追加

本来入っている辞書を追加

上記のやり方だと、/usr/local/Cellar/mecab/0.996/lib/mecab/dic下にipadicが入る。

brewでインストールしたせいなのか、辞書の構成が最小限のものになってしまっているので、こちらからオリジナルをダウンロード。

$ cp ~/Downloads/mecab-ipadic-2.7.0-20070801/* /usr/local/Cellar/mecab/0.996/lib/mecab/dic/ipadic/

これで移せばOK。

wikipediaのタイトルを辞書に追加

こちらからwikipediaのタイトルリストをダウンロード。jawiki-latest-all-titles-in-ns0.gzみたいな名前。

Rubyでとりあえず以下の様なスクリプトを書く。単語のコスト(スコア)部分の公式は、ネットに落ちているのを拾ったので要確認。

store_wikipedia_title_to_csv.rb
open($*[0]).each do |title|
  title.strip!
  next if title =~ /[\+\-\.\$\(\)\?\*!"'_,]+/

  title_length = title.split(//u).length
  score = [-36000.0, -400 * (title_length ** 1.5)].max.to_i

  if title_length > 3
    print"#{title},0,0,#{score},名詞,固有名詞,*,*,*,*,#{title},*,*,wikipedia,\n"
  end
end

さっきダウンロードしてきたファイルを引数にして実行、CSVに出力。

$ ruby store_wikipedia_title_to_csv.rb jawiki-latest-all-titles-in-ns0 | nkf -e > wikipedia_title.csv

※nkfコマンドはMacになかったので、homebrewでインストールした
※フォーマットに関しては、EUC-JPに敢えてする必要があるのかはよくわからない

辞書の再構築

/usr/local/Cellar/mecab/0.996/lib/mecab/dic/ipadic/下に辞書用のCSVを移す

$ cd /usr/local/Cellar/mecab/0.996/lib/mecab/dic/ipadic/
$ /usr/local/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8 

これでwikipediaのタイトルもmecabの形態素解析で利用できるようになる

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
112