機械学習ランチ会を始めたので雑談用エントリを集めてくれるslack botを作りました

4行概要

  • 最近社内で機械学習勉強会(ランチ会)をやっている
  • 紹介するエントリを毎回頑張って探すのは大変
  • spreadsheet上で教師データを作り、機械学習モデルを学習、おすすめエントリをslackに投稿
  • 砂場ができて便利!

Google Spreadsheet上でみんなでわいわいアノテーションして、裏側で能動学習が動いて次にアノテーションするべきものを教えてくれるので、簡単に効率よく学習データが作れます。他の似たような分類器を作るのに使えそうです。

社内で機械学習勉強会をやっている

小ネタです。ここ最近、はてなで機械学習の勉強会を開催しています。色々な話を勉強会でしていますが、大きく分けると以下の2種類に分かれます。

  • 誰かがテーマを持ってきて話す会
    • 能動学習、クラウドソーシング/ヒューマンコンピュテーション、他社の機械学習事例(アルゴリズムやデータ解析の基盤について)の紹介
    • いわゆる勉強会的な感じ
  • 最近話題になったエントリを中心に雑談するランチ会

特にランチ会はアプリケーションエンジニアだけではなくオペレーションエンジニア、ディレクターなど色々な職種の人が参加しており、盛り上がっています。ランチを食べながら雑談形式というのが盛り上がる一因なのかもしれません。Google Hangoutで東京ともつないでやっています。なお、ランチ会はフロントエンド会という別のグループがあって、そちらでうまくいっていたので真似しました。Podcastも配信中、すごい。

課題: 定期的にネタを探してくる時間を減らしたい

ランチ会、盛り上がっていてよいのですが、毎回のネタをどうやって持ってこようかというのは割と頭を痛くする課題です。前回まではtwitterやはてブからネタを持ってきていましたが、張り付いてチェックするのも面倒です。機械学習勉強会なんだから機械学習で解決するか...、ということで就業後の小ネタプロジェクトとしてやってみました。

色々試す(砂場を作る)

やってることは単純ですが、試したいことがいくつかあったので、以下のことを試してみました。

  • ElasticSearchに溜め込んだデータを有効活用する
  • 教師データを共同編集できる仕組みを作る/最新のデータからモデルが作られるようにする
  • 能動学習を使ってデータのアノテーション時間をなるべく少なくする

ただただ2値分類器を作るだけだと飽き飽きしてしまうので、ついでに色々新しいことやっていく気持ちです。

結果: Slack botで便利になった

半日に一回、こんな感じでbotが知らせてくれるようになったので、自分でネタ探しに行く回数が減らせそうです。 f:id:syou6162:20161114202148p:plain 一覧を見て「これは違う」と思うエントリがあったらGoogle Spreadsheetに反映すれば次からは間違いにくくなるので、段々いいやつを勧めてくれるようになるはず。slackのreactionのボタンを押すとspreadsheetに勝手に反映されるとうれしそうですが、そこはまだやっていない...。

やってることは単純なことばかりですが、機械学習をやる上でワークフローに組み込みたいこと(データ作成、結果の通知から改善するワークフローなど)を試す砂場としてもいい感じになったかなと思います。

実行環境からデータ分析の実例まで 機械学習入門(仮)

実行環境からデータ分析の実例まで 機械学習入門(仮)