Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
112
Help us understand the problem. What is going on with this article?
@ysk_1031

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

参考

112
Help us understand the problem. What is going on with this article?
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
ysk_1031
Software Engineer at Atrae, Inc.
atrae
People Techカンパニーとして、転職サイトGreen, ビジネスマッチングアプリyenta, 組織改善プラットフォームwevoxなどのサービスを運営。全ての社員が誇りを持てる組織と事業の創造にこだわり、関わる人々がファンとして応援したくなるような魅力ある会社であり続けることを目指しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
112
Help us understand the problem. What is going on with this article?