ホーム  >   ブログ  >   自然言語処理 / プログラミング   >   igo-rubyを新語辞書NEologdでナウい感じにする

2017-09-17

igo-rubyを新語辞書NEologdでナウい感じにする

このエントリーをはてなブックマークに追加

はてなキーワードを使ってigo-ruby(MeCab)用の辞書をナウい感じにする』に4年ぶりの続編です。

igo-ruby はJava製の形態素解析器 Igo のRuby版で、4年前から動いている僕のtwitter botでも使っている。

4年前の記事では『人工知能』や『ニコニコ動画』といった新語をigo-rubyでナウく分かち書きするために、Wikipediaタイトルやはてなキーワードのデータを使って独自に辞書をカスタマイズした。

今回はもっと簡単に、継続的にメンテナンスされている新語辞書 NEologd を使って同様のことを実現する。もはや最近はこっちのほうが自然なアプローチですなぁ。

NEologdのビルド

リポジトリを取ってきて、手順通りビルドする:

$ cd /path/to/neologd/mecab-ipadic-neologd
$ ./bin/install-mecab-ipadic-neologd -n

すると build/mecab-ipadic-2.7.0-20070801-neologd-YYYYMMDD といったディレクトリができる。

これが4年前の記事で自前で生成した辞書を置いた mecab-ipadic-2.7.0-20070801 というディレクトリに対応していて、以後の手順は全く変わらない。外部データを整形して独自にコストを計算していた手間をNEologdが肩代わりしてくれた形。感謝〜。

辞書生成

igo.jar を取ってきて:

$ wget 'http://osdn.jp/frs/redir.php?m=jaist&f=%2Figo%2F52344%2Figo-0.4.3.jar' -O igo.jar

igo用辞書 ipadic-neologd をつくる:

$ java -cp igo.jar net.reduls.igo.bin.BuildDic ipadic-neologd /path/to/neologd/mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-YYYYMMDD utf-8

オリジナルのIPA辞書のエンコーディングがEUCだったのに対し、NEologdはUTF-8であることに注意。

ためす

require 'igo-ruby'

tagger = Igo::Tagger.new('/path/to/ipadic-neologd')

p tagger.wakati('人工知能')
# ["人工知能"]

p tagger.wakati('ニコニコ動画')
# ["ニコニコ動画"]

p tagger.wakati('10日放送の「中居正広のミになる図書館」(テレビ朝日系)で、SMAPの中居正広が、篠原信一の過去の勘違いを明かす一幕があった。')
# ["10日", "放送", "の", "「", "中居正広のミになる図書館", "」", "(", "テレビ朝日", "系", ")", "で", "、", "SMAP", "の", "中居正広", "が", "、", "篠原信一", "の", "過去", "の", "勘違い", "を", "明かす", "一幕", "が", "あっ", "た", "。"]

めでたい。

僕の子 @yootakuti が動いているさくらVPSから契約更新の案内が届いて、久しぶりに存在を思い出していろいろ振り返っていた次第。辞書をNEologdに変えて、久しぶりにコードを更新して賢くしてあげても良いかもしれない。マルコフ連鎖生成用ライブラリもNEologd対応させてみたりしてね。

  書いた人: たくち

たくちです。トレジャーデータでデータサイエンス・機械学習のプロダクト化および顧客への導入支援・コンサルティング、そして関連分野のエバンジェリズムを担っています。趣味は旅行、マラソン、登山。コーヒーとお酒とハンバーガーが好き。長野県出身、東京都在住。ブログへのご意見・ご感想、お仕事のご依頼など、@takuti または [email protected] までいつでもお気軽にご連絡ください。

※当サイト上での発言は個人の見解です

  過去の人気記事

2017-12-16
データサイエンスプロジェクトのディレクトリ構成どうするか問題
2017-06-10
Amazonの推薦システムの20年
2017-03-31
修士課程で機械学習が専門ではない指導教員の下で機械学習を学ぶために

  サポートする

  コーヒーを贈る

  ほしい物リスト

このエントリーをはてなブックマークに追加

  あわせて読みたい

2017-05-14
推薦システムのためのOSSたち
2013-07-29
はてなキーワードを使ってigo-ruby(MeCab)用の辞書をナウい感じにする
2013-07-28
マルコフ連鎖でTwitter Botをつくりました
  もっと見る