Elasticsearch 2016/03/15 その1 #elasticsearchjp
今日はこれに来てます
第15回elasticsearch勉強会 #elasticsearch #elasticsearchjp - elasticsearch勉強会 | Doorkeeper
その2はこちら
一応メモっては見たものの、結構適当
Preferred Networks America, Inc. CTO 久保田展行(Kubota Nobuyuki) さん
タイトル:Elasticsearchと機械学習を実際に連携させる
実際に検索アプリケーションを作成 機械学習とは データによって賢くなるアルゴリズムの研究 データから知識や人間が定義するようなルールを自動的に
前回
t.co
今日は「文書分類」 新聞やブログ記事のカテゴリ推定したり 年齢・性別・地域 キーワードについてポジネガを判定するなど ツイートに含まれる製品名を取得 コールセンター向けのデモ どの製品話?どんな障害? コールセンターの人が入力する情報のお助け
どうやって検索エンジンとつなげるのか SensorBee 会社がリリースした ネットワークデバイス上で発生した非構造化データ向けのETLを低レイテンシで適用することを目的としたツール 情報を抽出する処理=ETL 情報を変換:トランスフォーム ← ここにフォーカス ロードして転送 大部分をFluentDでやってる
Oracle.CQLを元にしたBQLというSQLに似たものでデータを取得する
機会学習でストリーム処理をする際、状態を持ちたかった
センサービーのその他の特徴
Go言語で書かれている
StaticLinkだけど、設定ファイル+Buildコマンドでカバー
Python連携あり(B版)
Chainer連携用 社内稼働実績豊富
たまたまベストなインターフェイスがないのでB版
FluentD連携
Windowsサポート
ほとんど画像解析
自動で動く車が、ぶつからずに動いてくれるように(これすごい!!!
車の位置情報→強化学習に入れて・・・ループさせる
この部分にSensorBeeを利用
TwitterからPublicなツイートを取得 SencorBeeがやる
年齢や性別を分類する(文書分類) SencorBeeがやる
→FluentDに入れる SencorBeeがやる
→E/Sに入れる
→Kibanaで可視化
分類するラベルを決める
SampleAPI(TwitterのAPI)
教師データを作成
人間が手動でがんばる
年齢5000
性別12000
学習のステップ 少し難しい
前処理
全部小文字にして正規化
記号を取り除く
メカブ使えば日本語もOK
トップワードを取得
特徴抽出 → 特徴ベクトルを作成
単語の出現頻度を重みとして利用
TF 検索エンジンを作っている人には馴染み深い?
文字列の配列を入れると、単語がいくつ出てきたかマップされる
学習
特徴ベクトルを使って学習させる
AROW チュートリアルの中で使っているアルゴリズム
オンライン線形分類アルゴリズム
適用する
出来上がったモデルを利用して分類する
データ一つ一つをオンラインで分類していくことも可能
↑ 全てSencorBeeのチュートリアルに書いてる
まとめ 前回の機械学習から続いて SencorBeeを利用してElasticsearchまで入れる BQLを使っている JSONに対してクエリーを投げるのが流行ってる カウチベースというDBも N1QL
パイソンとユバタスの組み合わせと違うところは? ユバタスに問い合わせるレイテンシーに相当する箇所がない なのでIOTにも有効
このセッションのスライドはこちら
www.slideshare.net