月別アーカイブ: 2015年10月

Debian上でmecab-ipadicをベースに単語を追加する

今時のMeCabには、新しく追加した単語だけコストを計算させる機能があるので、実際に動かしてみました。

参考となるURLはhttps://taku910.github.io/mecab/dic.htmlです。Web上には古いgoogle code上のページがまだ残っており、Googleで検索するとそちらが上位に引っかかるので注意が必要です。

前提として、mecab-utilsとmecab-ipadic(EUC-JP版、UTF-8は不可)がインストールされている必要があります。

次に、登録する単語のエントリーを用意します。諸事情により、EUC-JPで保存しておきます。以下は実際の例です。foo.csvという名前で保存しておきます。

日生協,,,,名詞,固有名詞,組織,*,*,*,にっせいきょう,ニッセイキョウ,ニッセイキョウ

次にモデルファイルを前述のページから取得します。リンク先はGoogle Driveのようです。この記事を書いている2015年10月の時点では、mecab-ipadic-2.7.0-20070801.modelというファイル名になっています。

必要なファイルが集まったら、以下を実行します。

$ mkdir tmp
$ cp /var/lib/mecab/dic/ipadic/* /usr/share/mecab/dic/ipadic/* tmp/
$ /usr/lib/mecab/mecab-dict-index -m ./mecab-ipadic-2.7.0-20070801.model \
  -d ./tmp -u foo2.csv -f euc-jp -t euc-jp -a foo.csv

すると、foo2.csvに単語のコストが記録された新しい結果が出力されます。

日生協,1292,1292,3062,名詞,固有名詞,組織,*,*,*,にっせいきょう,ニッセイキョウ,ニッセイキョウ

元のmecab-ipadicのソース(/var/lib/mecab/dic/ipadic/*.csv)とモデルmecab-ipadic-2.7.0-20070801.model)がEUC-JPであるため、新しい辞書の文字コードもEUC-JPに合わせる必要があります。

歌舞伎座.tech 番外編「C++11/14コア言語」出版記念 参加 #kbkz_tech

先日、書籍「C++11/14コア言語」が発売された記念のイベントに参加してきました。

当日の発表はニコニコ生放送でも中継されており、アカウントがあればタイムシフト視聴が可能です。また、内容をツイッター上でツイートしていたので、ハッシュタグ#kbkz_techで検索すればある程度情報を得ることができます。Togetterでも「歌舞伎座.tech 番外編「C++11/14コア言語」出版記念 #kbkz_tech ツイートまとめ」として記録してあります。

私個人のC++に対する理解はあまり深くありません。もっともよく使っていた時期でもLinux Zaurusを使っていた2004~2006年代ごろと10年近く前のことです。当時はgcc 2.95と3.xの移行期にぶつかっていて、ABI非互換の問題を抱えていたことをよく覚えています。Linux Zaurusで閉じた環境だったため、標準ライブラリはほとんど使わずQtのサブセットであるQtEmbeddedばかり使っていました。QtEmbedded自体は今でも電子書籍のKobo方面で利用され続けているようです。

会場では紙の書籍が値引きされて販売されていましたが、私は電子書籍の方を達人出版会で購入しました。紙よりも安価なうえにDRMのないPDFで個人的には満足しています。

書籍の内容はまだ読み始めたばかりですが、きちんと体形だったモダンな仕様を理解していない自分にとってはよさそうな書籍だなあという感触を得ています(メモリーモデルの項目を読みながら)。

この書籍はhttps://github.com/EzoeRyou/cpp-bookにて、CC-BY-SA 4.0で公開されている。誤植を見つけた時、githubのフローに従って指摘が可能なのも便利かもしれません。