More Related Content Similar to SmartNews の Webmining を支えるプラットフォーム (20) More from SmartNews, Inc. (9) SmartNews の Webmining を支えるプラットフォーム1. SmartNews の Webmining を支えるプラットフォーム
第48回 データマイニング+WEB @東京
( #TokyoWebmining 48th )
ーAWS上での分析基盤アーキテクチャ最前線 祭りー
西岡悠平 (スマートニュース株式会社)
1
2. マネージャ データサイエンス・マシンラーニング担当
スマートニュース
● 2003年 京都大学大学院情報学研究科複雑系科学コース修了。
● ネットワーク機器メーカーに入社、 2005年上半期の未踏ソフトウェア創造事業
「スーパークリエータ」に認定される。
● その後、株式会社四次元データ Web技術研究部を経て、 2008年に楽天株式会社に入社。レ
コメンデーションエンジンをはじめとした先端技術の研究開発をリードする。
● 2014年9月にスマートニュース社入社。
西岡悠平
2
7. 1. Overview
2. News Engine
a. History & Overview
b. Inside News Engine
3. News Engine + Analytics
Agenda
7
19. News Engine History
● 2011.5 - Crowsnest release
● 2012.12 - SmartNews release
● 2013 - 2014 ... fork して改善し続けたが
○ Crowsnest 部分、辛い部分も増えてきて、アーキテクチャ刷新したかった・・・。
たぶん、どの会社もたどる道・・・。
● 2015.3
○ SmartNews News Office で初めて Tokyo WebMining !
○ 自分も参加。Tokyo Web運営者でもある小宮氏 (SmartNews)から「発表しろ」プレッシャー。
○ 発表を決める(刷新を決める)。発表に間に合うように、アーキテクチャの刷新を始める。
● 2015.4 - 7 Platform 刷新
● 2015.8.1 今日
Crowsnest
SmartNews
API
アプリ
19
28. (b)Article Analysis - Classification
Globally Scalable Web Document Classification Using Word2Vec
http://www.slideshare.net/kouheinakaji/smart-news-documentclassification?qid=c9b6df62-1fdd-4bf8-9543-
bff0fba92dac&v=default&b=&from_search=2
28
31. (e) DynamoDB から CloudSearch へ
TransformerFilterFilter
TransformerFilterTransformerCosumer Uploader
byte stream
JSON Object
for DynamoDB
JSON Object
for CloudSearch
SDF format
DataImporterService
DocuentConverterService
IRecordProcessr called by Worker
31
32. (f) CloudSearch - Basic
...
...
...
...
Filter
Sort
by score function
top-n
High
Score
Low
Score
n
32
33. (f) CloudSearch - score function
Examples
● relevence x popularity : (0.3*popularity)+(0.7*_score)
● decay : pow(e, _time - created)
(例) http://www.slideshare.net/AmazonWebServices/enrich-search-user-experience-using-amazon-
cloudsearch-svc302-aws-reinvent-2013
33
34. (f) CloudSearch - personalization
feature.1 feature.2 ... feature.n
doc.1 0.8 0.7 ... 0.3
doc.2 0.2 0.6 ... 0.7
... ... ... ... ...
doc.n 0.4 0.5 ... 0.3
= { feature.1 : 0.6, feature.2, ... feature.n : 0.7}
[exression]
user_feature_1 x doc_feature_1 + user_feature_2 x doc_feature_2 .. + user_feaure_n xdoc_feature_n
e.g. ) 0.6 x 0.8 + 0.2 X 0.7 + ... + 0.7 x 0.3
34
36. (g) News Ranking API
● top-n に対して
○ より詳細な scoring
■ ( CloudSearch の score, その他の要素)
○ Diversification
○ Context
image similarity
36
39. Presto Hive Spark
Hive MetaStore
Data in S3
(RCfile, JSONー2012年 からのログ)
SparkSQL/MLlib
SmartNews UDF, UDAF
(user defined function)Chartio / Shib
ad-hoc
analysis
reporting pre-process
model
creation
realtime
analysis
Streaming
Data
news
engine
Hive
Azkaban
SparkHive Spark
39
40. Spark MLlib
● Collaborative filtering
○ ALS (Alternating Least Squares)
Pre Process
on Hive
SpakSQL
Data
in S3
RDD
ALS MLlib
on Spark
Apache Spark on EMR
http://www.slideshare.net/smartnews/aws-meetupapache-spark-on-emr
40
41. Spark Straeming for News Engine
Signals Scorer
Kinesis
Advanced Scorer
● Spark 1.3 は厳しい
● Spark 1.4 からが良い
41