Help us understand the problem. What is going on with this article?

Macにmecabインストール

More than 5 years have passed since last update.

インストール

$ 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の形態素解析で利用できるようになる

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away