まず、wikipediaのタイトルとハテナワードをゲット:
wget http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz
wget http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv
次に,辞書用CSVファイルに変換
例えば、
http://sugamasao.hatenablog.com/entry/2014/11/17/000355 をまるまるコピーさせていただいて、
make_dict.rbとして保存.
require 'csv' original_data = { wikipedia: 'jawiki-latest-all-titles-in-ns0', hatena: 'keywordlist_furigana.csv' } CSV.open("onomasticon.csv", 'w') do |csv| original_data.each do |type, filename| next unless File.file? filename open(filename).each do |title| title.strip! next if title =~ %r(^[+-.$()?*/&%!"'_,]+) next if title =~ /^[-.0-9]+$/ next if title =~ /曖昧さ回避/ next if title =~ /_\(/ next if title =~ /^PJ:/ next if title =~ /の登場人物/ next if title =~ /一覧/ title_length = title.length if title_length > 3 score = [-36000.0, -400 * (title_length ** 1.5)].max.to_i csv << [title, nil, nil, score, '名詞', '一般', '*', '*', '*', '*', title, '*', '*', type] end end end end
ruby make_dict.rb
最後に、これを参考に辞書のコンパイル
http://kzy52.com/entry/2014/10/05/195534
/usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u onomasticon.dic -f utf-8 -t utf-8 onomasticon.csv
利用例)
$mecab -u onomasticon.dic
クッキングパパ
クッキングパパ 名詞,一般,*,*,*,*,クッキングパパ,*,*,wikipedia
EOSEOS
^
$ mecab
クッキングパパ
クッキング 名詞,一般,*,*,*,*,クッキング,クッキング,クッキング
パパ 名詞,一般,*,*,*,*,パパ,パパ,パパ