log

IRCクライアントの無用なnotifyをmecabで判別する

Twitter 環境として TIG + tiarra + LimeChat を使ってるわけですが、最近よくあるのが「リプライを使わずに名前を呼ぶ」ってパターン。

で、それに対応するために LimeChat や TIG の単語マッチ機能を使うわけですが、そうすると今度は不要な(意味的にマッチしない)ツイートまで拾ってくることが多々有ります。

そこで、 mecab形態素解析することで精度を上げられないか?とのアイデアをいただきまして、ちょろっとだけ試してみました。

今回は「ともちゃん」と呼ばれてる友人のケースで試してみました。

例文は以下の二つ。

  • それともちゃんとやったほうがいいよ →マッチしてほしい
  • 福島第2は温度が4つともちゃんと出てるんだな。第1は温度が出てない。 →マッチしてほしくない
単純に mecab で解析してみるとこういう結果になります。
% mecab
それともちゃんとやったほうがいいよ
それとも 接続詞,*,*,*,*,*,それとも,ソレトモ,ソレトモ
ちゃんと 副詞,一般,*,*,*,*,ちゃんと,チャント,チャント
やっ 動詞,自立,*,*,五段・ラ行,連用タ接続,やる,ヤッ,ヤッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
ほう 名詞,非自立,一般,*,*,*,ほう,ホウ,ホー
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いい 形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
よ 助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
EOS
福島第2は温度が4つともちゃんと出てるんだな。第1は温度が出てない。
福島 名詞,固有名詞,地域,一般,*,*,福島,フクシマ,フクシマ
第 接頭詞,数接続,*,*,*,*,第,ダイ,ダイ
2 名詞,数,*,*,*,*,*
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
温度 名詞,一般,*,*,*,*,温度,オンド,オンド
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
4つ 名詞,一般,*,*,*,*,4つ,ヨッツ,ヨッツ
とも 助詞,副助詞,*,*,*,*,とも,トモ,トモ
ちゃんと 副詞,一般,*,*,*,*,ちゃんと,チャント,チャント
出 動詞,自立,*,*,一段,連用形,出る,デ,デ
てる 動詞,非自立,*,*,一段,基本形,てる,テル,テル
ん 名詞,非自立,一般,*,*,*,ん,ン,ン
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
な 助詞,終助詞,*,*,*,*,な,ナ,ナ
。 記号,句点,*,*,*,*,。,。,。
第 接頭詞,数接続,*,*,*,*,第,ダイ,ダイ
1 名詞,数,*,*,*,*,*
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
温度 名詞,一般,*,*,*,*,温度,オンド,オンド
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
出 動詞,自立,*,*,一段,連用形,出る,デ,デ
て 動詞,非自立,*,*,一段,未然形,てる,テ,テ
ない 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ
。 記号,句点,*,*,*,*,。,。,。
EOS
どちらも単語として「ともちゃん」は抽出できませんでした。 そこで、ユーザ辞書を作成してみます。 公式ページを参考に CSV ファイルを作成し、.dic ファイルを生成します。

% cat tomochan.csv
ともちゃん,1223,1223,0,名詞,固有名詞,人名,名,*,*,ともちゃん,トモチャン,トモチャン
% /opt/local/libexec/mecab/mecab-dict-index -d/opt/local/lib/mecab/dic/ipadic -u tomochan.dic -f utf-8 -t utf-8 tomochan.csv

作成したユーザ辞書を使用する設定を mecabrc に記述します。

% cat /opt/local/etc/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /opt/local/lib/mecab/dic/ipadic

; userdic = /home/foo/bar/user.dic
; 以下の行を追加
userdic = /Users/yono/tomochan.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n

もう一度 mecab で解析してみます。
% mecab
それともちゃんとやったほうがいいよ
それとも 接続詞,*,*,*,*,*,それとも,ソレトモ,ソレトモ
ちゃんと 副詞,一般,*,*,*,*,ちゃんと,チャント,チャント
やっ 動詞,自立,*,*,五段・ラ行,連用タ接続,やる,ヤッ,ヤッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
ほう 名詞,非自立,一般,*,*,*,ほう,ホウ,ホー
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いい 形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
よ 助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
EOS
福島第2は温度が4つともちゃんと出てるんだな。第1は温度が出てない。
福島 名詞,固有名詞,地域,一般,*,*,福島,フクシマ,フクシマ
第 接頭詞,数接続,*,*,*,*,第,ダイ,ダイ
2 名詞,数,*,*,*,*,*
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
温度 名詞,一般,*,*,*,*,温度,オンド,オンド
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
4つ 名詞,一般,*,*,*,*,4つ,ヨッツ,ヨッツ
ともちゃん 名詞,固有名詞,人名,名,*,*,ともちゃん,トモチャン,トモチャン
と 助詞,格助詞,引用,*,*,*,と,ト,ト
出 動詞,自立,*,*,一段,連用形,出る,デ,デ
てる 動詞,非自立,*,*,一段,基本形,てる,テル,テル
ん 名詞,非自立,一般,*,*,*,ん,ン,ン
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
な 助詞,終助詞,*,*,*,*,な,ナ,ナ
。 記号,句点,*,*,*,*,。,。,。
第 接頭詞,数接続,*,*,*,*,第,ダイ,ダイ
1 名詞,数,*,*,*,*,*
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
温度 名詞,一般,*,*,*,*,温度,オンド,オンド
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
出 動詞,自立,*,*,一段,連用形,出る,デ,デ
て 動詞,非自立,*,*,一段,未然形,てる,テ,テ
ない 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ
。 記号,句点,*,*,*,*,。,。,。
EOS

期待してたのとは真逆の結果に……。

とりあえずこのへんで一旦終了。