SlideShare a Scribd company logo
1 of 40
Download to read offline
Elasticsearchと機械学習を
実際に連携させる
Preferred  Networks,  Inc.
2016/03/16
⾃自⼰己紹介
l  久保⽥田展⾏行行(@nobu_̲k)
–  CTO@Preferred  Networks,  Inc.  (PFN)
u  US勤務  (Preferred  Networks  America,  Inc.  in  San  Mateo)
–  元々Preferred  Infrastructure  (PFI)のチーフアーキテクト
u  分散全⽂文検索索レコメンドエンジンSedueの開発者
l  専⾨門
–  検索索エンジン(作る⽅方の⼈人)、データベース、分散システム
l  趣味
–  ⾳音ゲー:beatmania  IIDX  SP/DP皆伝、右⽚片⼿手九段
2
前回のテーマ:機械学習で全⽂文検索索をリッチにする
l  機械学習によって検索索対象の情報を増やす
–  ⽣生データからそのままでは分からない情報を得る
l  増えた情報を検索索エンジンで活⽤用する
–  ナビゲーションの軸にする
–  全⽂文検索索と組み合わせてキーワード毎に集計・可視化する
3
前回のテーマ:PFIのデモ
4
l  年年齢
–  5段階+ボット
l  性別
–  男⼥女女+ボット
l  職業
l  地域
–  今いる場所
l  情報を提供して
いないユーザの
個⼈人情報を機械
学習で推定(怖い
今回のテーマ
l  前回できなかった話
–  実際にどうやって機械学習を適⽤用すれば良良いのか
l  PFNが2016/3/14にリリースしたOSSを使って実演
5
機械学習 Elasticsearchデータソース
データをElasticsearchに入れる前に
機械学習を適用し、データをリッチにする	
ここ実際どうすんの?
その前に・・・
6
復復習:機械学習とは
l  経験(データ)によって賢くなるアルゴリズムの研究
–  データから知識識や⼈人間が定義するようなルールを⾃自動的に獲得する
–  ⼈人⼯工知能(AI)の分野の⼀一つ
7
学習データ
今⽇日扱う機械学習の問題設定:⽂文書分類
l  教師あり学習の⼀一種
–  ⼈人が正解を教え、機械学習のアルゴリズムがそれを元に学習する
l  よくあるタスク
–  新聞記事やブログ記事のカテゴリ推定
l  先ほどのデモでの活⽤用例例
–  年年齢や性別をラベルとして分類
u  年年齢分類、性別分類などを独⽴立立したタスクとして解いている
‒  注:年年齢を"回帰"として推定することも可能だが、今⽇日は説明しない
l  機械学習を使う⼿手順なども後ほど改めて復復習説明
8
全⽂文検索索+機械学習のユースケース
l  どの企業について
つぶやいているか
l  年年齢・性別
l  ポジネガ
l  ユーザの地域
l  +固有表現抽出
–  ⼈人名
–  地名
9
全⽂文検索索+機械学習のユースケース
l  VOC向け
l  商品種別の分類
l  既存情報
–  事故内容
–  傷病内容
–  デモグラ
l  コールセンターの
対応内容の情報を、
オペレータの負担
なく増やす
10
Confidential
ツールの紹介
11
12
Lightweight Stream Processing Engine for IoT
http://sensorbee.io/
(特に)ネットワークのエッジ/フォグで
ストリームデータに対して
機械学習(特にDeep Learning)を利用した
非構造化データ向けのETLを
低レイテンシで適用することを目的としたツール
{
"id": 123,
"age": "35",
"gender": "male",
"location": {
"x": 252.1,
"y": 179.3
},
…
}
SensorBee™:  Stream  processing  engine  for  IoT
13
Camera
Vehicle
Router
Sensor
fluentd
RDBMS
Search
Engine
NoSQL
Data Sources Data Destinations
SensorBee™ focuses on transformation of and information extraction
from structured and unstructured streaming data at the edge of the
network, in the Fog, and in the Cloud. Machine learning and Deep
Learning perform data transformation and information extraction.
SensorBee™ enriches information content and adds new value prior to
data being loaded to data processing systems.
ETL くらいのバランス
SensorBee™:  Transform
14
Camera
Vehicle
Router
Sensor
fluentd
RDBMS
Search
Engine
NoSQL
Data Sources Data DestinationsSensorBee™
BQL, an SQL-like language
•  Filter
•  Aggregate
•  Join
Data processing flow by a SQL-like language
BQL is designed for stream
processing. It is schema-less and
uses JSON as its internal data model.
CREATE	
 SOURCE	
 camera	
 TYPE	
 webcam_mjpeg	
 WITH	
 uri="http://host:port/path/to/video";	
 
CREATE	
 STREAM	
 frames	
 AS	
 
	
 	
 SELECT	
 RSTREAM	
 snowflake_id("general_id")	
 AS	
 id,	
 *	
 FROM	
 camera1	
 [RANGE	
 1	
 TUPLES];	
 
	
 
CREATE	
 STREAM	
 regions	
 AS	
 
	
 	
 SELECT	
 RSTREAM	
 id	
 AS	
 frame_id,	
 snowflake_id("general_id")	
 AS	
 id,	
 *	
 
	
 	
 FROM	
 detect_people("frames",	
 "detection_config_parameters")	
 [RANGE	
 1	
 TUPLES];	
 
	
 
CREATE	
 STREAM	
 regions_with_metainfo	
 AS	
 
	
 	
 SELECT	
 RSTREAM	
 classify("age_model",	
 image)	
 AS	
 age,	
 
	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 classify("gender_model",	
 image)	
 AS	
 gender,	
 *	
 
	
 	
 FROM	
 regions	
 [RANGE	
 1	
 TUPLES];	
 
	
 
CREATE	
 STREAM	
 male_average_ages	
 AS	
 
	
 	
 SELECT	
 RSTREAM	
 avg(age)	
 AS	
 age	
 FROM	
 regions_with_metainfo	
 [RANGE	
 5	
 MINUTES]	
 
	
 	
 WHERE	
 gender	
 =	
 "male";
SensorBee™:  Flexibility  and  Extensibility
Camera
Vehicle
Router
Sensor
fluentd
RDBMS
Search
Engine
NoSQL
Data Sources Data DestinationsSensorBee™
Plug-in Plug-in
UDF
Custom functionalities are added as
User Defined Functions (UDFs) and User
Defined States (UDSs) of BQL, such as
Deep Learning transformations.
Machine learning
•  Classification
•  Regression
•  Object recognition
•  Anomaly detection
Machine learning algorithms
supported in DIMo are online and do
not require local storage.
UDS
SensorBee™:  in  Deep  Intelligence  in  Motion
16
Camera
Vehicle
Router
Sensor
fluentd
RDBMS
Search
Engine
NoSQL
Data Sources Data DestinationsSensorBee™
Deep	
  Learning	
  
DeepIntelligence

in-Motion(DIMo)	
Sta-s-cs	
  
Computer	
  
vision	
  
Detect/Track/
Recognize	
  
Reinforcement	
  
learning	
  
Distributed/
Curriculum	
  
Time-­‐series	
  
RNN	
  /	
  
Representa-on	
  
Sensor	
  
fusion	
  
Mul--­‐modal	
  
Feedback/Ac-on	
  
…	
  
Libraries	
Plug-in Plug-in
UDF
UDF
DIMo provides various libraries that
use machine learning to support
complex data processing flow.
UDS
SensorBeeその他の特徴
l  Go製
–  今は全部static  linkだけど設定ファイル+buildコマンドでカバー
–  Goのpluginパッケージ的なのができたら活⽤用の幅が広がる予定
l  Python連携のβ版あり
–  Chainer連携⽤用!社内稼働実績豊富
u  ただまだベストなinterfaceが分からないのでβ(v0)扱い
l  fluentd連携
–  トリビア:fluentd-‐‑‒forwarderはライブラリとしても使える
u  moriyoshiさん&stanakaさん++
l  Raspi,  Windowsサポート
17
CES  2016のデモ
18
実演
19
内容
l  英語のツイートに対して年年齢と性別のラベルを振る
l  そのうち⽇日本語ツイート版のチュートリアルも⽤用意する予定
–  今⽇日はひとまず英語をターゲットに・・・
20
システム構成
21
利用規約が非デザイナーに辛い	
github.com/ChimeraCoder/anacondaをベースにした
source plugin: github.com/sensorbee/twitter/plugin
今のところとりあえずSample APIから取得可能	
Extract&Transform担当
前処理&特徴抽出&機械学習	
Load担当
もちろんElasticsearch以外にもLoadできる
全文検索&データ分析担当
最終的にここがないと話にならない
なにはともあれとりあえず動かしてみる
l  http://docs.sensorbee.io/en/latest/tutorial.html#using-‐‑‒machine-‐‑‒learning
–  詳しいドキュメントは全部ここに
l  go  get  github.com/sensorbee/tutorial/...
–  機械学習のモデル(30MBくらい)が⼊入っているのでちょっと時間がかかる
l  BQLは  
https://github.com/sensorbee/tutorial/blob/master/ml/config/twitter.bql
22
$ cd %GOPATH/src/github.com/sensorbee/tutorial/ml/config!
# 本当はディレクトリのコピーを作ってからの法外良いんだけど手抜きして・・・!
$ build_sensorbee!
$ ./sensorbee run –c sensorbee.yaml!
!
# 別のターミナルで!
$ ./sensorbee shell –t twitter!
Twitter>!
Twitter  API周り
l  Twitter  plugin  source:  https://github.com/sensorbee/twitter
23
CREATE SOURCE public_tweets TYPE twitter_public_stream!
WITH key_file = "api_key.yaml";!
!
CREATE STREAM en_tweets AS!
SELECT RSTREAM!
"sensorbee.tweets" AS tag, id_str AS id, lang, text,!
user.screen_name AS screen_name,!
user.description AS description!
FROM public_tweets [RANGE 1 TUPLES]!
WHERE lang = "en";	
Twitter Source English Tweets
Elasticsearch周り
l  デフォルトではlocalhostのin_̲forwardに向けて転送
l  fluentdからはelasticsearchプラグインでデータ投⼊入
24
CREATE SINK fluentd TYPE fluentd;!
!
INSERT INTO fluentd from labeled_tweets;!
labeled_tweets fluentd SInk…
機械学習周り
l  前回説明した機械学習の適⽤用⼿手順に沿って説明
25
復復習:機械学習を使うために必要な5ステップ
l  問題設定:バッチ/オンラインの教師あり学習による⽂文書分類
–  特定のライブラリやツールに依存しない⼀一般的な⼿手順を説明
1.  分類するラベル(カテゴリ)を決める
2.  分類対象のデータを集める
3.  教師データ(正解データ)を作成する
4.  学習する
5.  適⽤用する
26
1.  分類するラベル(カテゴリ)を決める
l  今回⽤用意したラベルは2種類
l  age
–  10-‐‑‒19
–  20-‐‑‒29
–  30-‐‑‒39
–  40-‐‑‒49
–  50<
l  gender
–  female
–  male
27
2.  分類対象のデータを集める
l  Sample  APIからデータを沢⼭山取ってきましょう
l  SensorBeeを使っても集められる
l  SensorBeeを起動したdirのraw_̲training_̲data.jsonlに貯まる
28
twitter> CREATE STREAM en_raw_tweets AS!
SELECT RSTREAM * FROM public_tweets [RANGE 1 TUPLES]!
WHERE lang = "en";!
twitter> CREATE SINK training_data TYPE file!
WITH path = "raw_training_data.jsonl";!
twitter> INSERT INTO training_data FROM en_raw_tweets;!
機械学習のチュートリアルを起動してからsensorbee shellで:
3.  教師データを作る
l  ⾒見見本(会場限定)
l  のようなJSONを1⾏行行1オブジェクトの形式で⽤用意
l  アノテーション(正解を付ける作業)は苦⾏行行ですので頑張りまし
ょう!!!!!
29
{
"age": "ラベル or 空",
"gender": "ラベル or 空",
… TwitterのAPIのレスポンス …
}
4.  学習する
l  学習のステップ
–  前処理理と特徴抽出  →  特徴ベクトルを作成
–  学習処理理
30
4.  学習する:前処理理
l  それっぽい前処理理を施す
31
CREATE STREAM preprocessed_tweets AS!
SELECT RSTREAM!
filter_stop_words( -- stop_wordsの処理!
nlp_split( -- スペースで単語分割、↓小文字化+記号除去!
nlp_to_lower(filter_punctuation_marks(text)),!
" ")) AS text_vector,!
filter_stop_words( -- descriptionにも同じ処理を適用!
nlp_split(!
nlp_to_lower(filter_punctuation_marks(description)),!
" ")) AS description_vector,!
*!
FROM en_tweets [RANGE 1 TUPLES];!
!
例: "I wanna eat sushi!! :(" -> ["i", "wanna", "eat", "sushi"]
4.  学習する:特徴ベクトル
l  単語の出現頻度度を重みとして利利⽤用
32
CREATE STREAM fv_tweets AS!
SELECT RSTREAM!
{!
"text": nlp_weight_tf(text_vector),!
"description": nlp_weight_tf(description_vector)!
} AS feature_vector,!
tag, id, screen_name, lang, text, description!
FROM preprocessed_tweets [RANGE 1 TUPLES];!
"feature_vector": {!
"text": {!
"word1": 2,!
"word2": 1,!
...!
},!
"description": {... 似たようなデータ ...}!
}!
4.  学習する:モデルの作成
l  チュートリアルの中で使っているアルゴリズム:  AROW
–  オンライン線形分類アルゴリズム
–  Jubatusのjubatus_̲coreの実装をGoに移植
l  モデルはBQLのUser-‐‑‒Defined  State(UDS)として実現
33
CREATE STREAM age_labeled_tweets AS!
SELECT RSTREAM * FROM fv_tweets [RANGE 1 TUPLES]!
WHERE age != "";!
!
CREATE STATE age_model TYPE jubaclassifier_arow!
WITH label_field = "age", regularization_weight = 0.001;!
CREATE SINK age_model_trainer TYPE uds WITH name = "age_model";!
INSERT INTO age_model_trainer FROM age_labeled_tweets;!
genderも同様
5.  適⽤用する
l  学習してできあがったモデルを利利⽤用して分類する
–  データ1つ1つをオンラインで分類していくことも可能
34
CREATE STREAM labeled_tweets AS!
SELECT RSTREAM!
juba_classified_label(!
jubaclassify("age_model", feature_vector)) AS age,!
juba_classified_label(!
jubaclassify("gender_model", feature_vector)) AS gender!
tag, id, screen_name, lang, text, description!
FROM fv_tweets [RANGE 1 TUPLES];!
jubaclassify("age_model", feature_vector)	
{!
"male": maleラベルのスコア,!
"female": femaleラベルのスコア!
}
その他
l  機械学習のチュートリアルにより詳しい情報が!
–  http://docs.sensorbee.io/en/latest/tutorial.html#using-‐‑‒machine-‐‑‒learning
l  BQLはこちら
–  https://github.com/sensorbee/tutorial/blob/master/ml/config/twitter.bql
35
まとめ
36
まとめ
l  機械学習を利利⽤用すると検索索の幅が広がる
–  ⽣生データからはそのままでは分からない情報を取得する
–  ナビゲーションや集計の軸を増やす
l  SensorBeeを使うとストリームデータに機械学習を適⽤用できる
–  その結果をElasticsearchやデータベースに⼊入れられる
u  fluentdのおかげでね!
l  時代はJSON  compatibility
–  BQLはJSONをネイティブに扱えるSQL-‐‑‒likeな⾔言語
–  CouchbaseもN1QLと⾔言うJSON向けのSQL-‐‑‒likeな⾔言語をサポート!
37
是⾮非使ってみてください!(スター付けてくださいw
38
https://github.com/sensorbee
http://sensorbee.io/
We're  Hiring!!
l  Deep  Learning系
–  ビジョン、⾳音声、時系列列データ、強化学習
l  データベース/ストリーム処理理系
–  ストリーム処理理のデファクトを⾃自分で切切り開きたい⼈人
–  エキスパートが少ないので⾃自分がエキスパートになるしかない
–  ないものは⾃自分で作るしかない・・・!
39
Copyright  ©  2014-‐‑‒2016
Preferred  Networks  All  Right  Reserved.

More Related Content

What's hot

SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOpsMariOhbuchi
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれからcyberagent
 
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話Kentaro Yoshida
 
Elasticsearchの機械学習機能を使ってみた
Elasticsearchの機械学習機能を使ってみたElasticsearchの機械学習機能を使ってみた
Elasticsearchの機械学習機能を使ってみたYuichiArisaka
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
MLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめMLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめKenichi Sonoda
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 

What's hot (20)

SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから
 
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話
 
Elasticsearchの機械学習機能を使ってみた
Elasticsearchの機械学習機能を使ってみたElasticsearchの機械学習機能を使ってみた
Elasticsearchの機械学習機能を使ってみた
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
MLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめMLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめ
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 

Similar to Elasticsearchと機械学習を実際に連携させる

機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索nobu_k
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Preferred Networks
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainerKeisuke Umezawa
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep LearningTadaichiro Nakano
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)Sho Nakamura
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1Shunsuke Nakamura
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with MahoutKatsuhiro Takata
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームPreferred Networks
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門Daiyu Hatakeyama
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?Keiichiro Ono
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題Kenta Oono
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMachiko Ikoma
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
Deep Learning development flow
Deep Learning development flowDeep Learning development flow
Deep Learning development flowryuz88
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Preferred Networks
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING健司 亀本
 

Similar to Elasticsearchと機械学習を実際に連携させる (20)

機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
 
Overview and Roadmap
Overview and RoadmapOverview and Roadmap
Overview and Roadmap
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
stapy_028_talk1
stapy_028_talk1stapy_028_talk1
stapy_028_talk1
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdf
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
Deep Learning development flow
Deep Learning development flowDeep Learning development flow
Deep Learning development flow
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING
 

More from nobu_k

4th PFI System reading
4th PFI System reading4th PFI System reading
4th PFI System readingnobu_k
 
Goraft and InfluxDB
Goraft and InfluxDBGoraft and InfluxDB
Goraft and InfluxDBnobu_k
 
Transactional Information Systems入門
Transactional Information Systems入門Transactional Information Systems入門
Transactional Information Systems入門nobu_k
 
Riak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang ClientRiak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang Clientnobu_k
 
Suffix Array@Solr勉強会
Suffix Array@Solr勉強会Suffix Array@Solr勉強会
Suffix Array@Solr勉強会nobu_k
 
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディングnobu_k
 

More from nobu_k (7)

4th PFI System reading
4th PFI System reading4th PFI System reading
4th PFI System reading
 
Goraft and InfluxDB
Goraft and InfluxDBGoraft and InfluxDB
Goraft and InfluxDB
 
Transactional Information Systems入門
Transactional Information Systems入門Transactional Information Systems入門
Transactional Information Systems入門
 
Riak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang ClientRiak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang Client
 
Paxos
PaxosPaxos
Paxos
 
Suffix Array@Solr勉強会
Suffix Array@Solr勉強会Suffix Array@Solr勉強会
Suffix Array@Solr勉強会
 
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング
 

Elasticsearchと機械学習を実際に連携させる