この前のゴールデン ステイ ホーム ウィークでThunderbirdの拡張機能を作りました。今回はちょっとAIチックにメールを自動判定して振り分けする拡張機能です。
目次
何をしてくれる拡張機能なのか?
メールの文面からメールを自動で分類しタグをつけてくれます。Thunderbirdにも標準でついている迷惑メール機能がありますが、それとやってることはほぼ同じです。ただ、違うのは迷惑メールかそうじゃないかの2択では無くて複数の分類ができるということです。
ダウンロード
まだ自分も使いはじめて間もないので予想外の問題もあるかもしれませんが、ダウンロードは公式Thunderbirdアドオンサイトから。
https://addons.thunderbird.net/ja/thunderbird/addon/autobucket/
Thunderbirdのアドオンページから検索でもいけますけど、まだ「実験的拡張機能」という扱いにしているので検索結果のだいぶ後ろに方にしかでてきません。
使い方はこちら↓
https://a-tak.github.io/auto-bucket/README_ja
ただ、正直使い勝手的には微妙で、メールを受信した後に手動でこの拡張機能を実行する必要があります(一応ショートカット叩けば一瞬ですが)。最近のThunderbirdのWeb Extensionという拡張機能開発環境が発展途上中という状況なのでこういう仕様になってます。
何が便利なのか
メールソフトのフィルタ機能でメールをフォルダにわけている人は多いと思いますが、差出人や件名などを駆使しなくても分類を学習させることで自動で仕訳できます。例えば「メルマガ」、「Aプロジェクト」、「Bプロジェクト」と分類を作っていくつかメールを学習させると、それ以降は自動でメールの内容から推測して仕訳してくれます。
この拡張機能ではタグを付けるまでしかできないので、タグ毎にフォルダに仕分けるルールは最初にフィルタに追加しないといけませんが、一度タグ毎の仕訳ルールを作ってしまえば、たとえやりとりする相手が増えてもちょっと学習しなおせば、イチイチ操作しづらいThunderbirdのフィルタ機能を触ってルールを増やしまくらなくてイイ感じに仕訳してくれます。
どういう原理?
迷惑メールフィルターと同じでベイジアンフィルターというものを使っています。これはメールの中で使われている各単語の出現回数をカウントして「この単語がたくさんでているなら、たぶんこの分類だ!」という感じで分類をする仕組みです。メールの本文と差出人と宛先を元にこのような処理を行っています。どういう判断がされたかはメールを右クリックしてAutoBucketの中にある判定ログを表示するを選ぶと確認できます。
精度はいかほど?
こういう原理なので100%の精度ではないのですが、いろいろと学習方法を工夫したところわりと精度はよくなりました。数件学習するだけでも大半は意図した通りに振り分けられている感じです。
次回は開発の経緯など
これの開発でGWほぼぶっ潰れましたが、その甲斐あって満足いくものができあがった感じです。次回以降はせっかくなので開発の経緯や技術的なことも書いていきたいと思います。
a-tak/auto-bucket
Automatic mail classification extension with Bayesian filter for Thunderbird – a-tak/auto-bucket
AutoBucket
メールをベイジアンフィルターで複数のバケツに分類してタグを付ける拡張機能です。