SlideShare a Scribd company logo
SmartNews の Webmining を支えるプラットフォーム
第48回 データマイニング+WEB @東京
( #TokyoWebmining 48th )
ーAWS上での分析基盤アーキテクチャ最前線 祭りー
西岡悠平 (スマートニュース株式会社)
1
マネージャ データサイエンス・マシンラーニング担当
スマートニュース
● 2003年 京都大学大学院情報学研究科複雑系科学コース修了。
● ネットワーク機器メーカーに入社、 2005年上半期の未踏ソフトウェア創造事業
「スーパークリエータ」に認定される。
● その後、株式会社四次元データ Web技術研究部を経て、 2008年に楽天株式会社に入社。レ
コメンデーションエンジンをはじめとした先端技術の研究開発をリードする。
● 2014年9月にスマートニュース社入社。
西岡悠平
2
アイスブレイク
3
4
後ほど、アップロード
5
後ほど、アップロード
6
後ほど、アップロード
1. Overview
2. News Engine
a. History & Overview
b. Inside News Engine
3. News Engine + Analytics
Agenda
7
Overview
8
9
10
11
SmartNews の紹介
12
Engineer Scientist
13
http://aws.amazon.com/jp/solutions/case-studies/smartnews/
today's
main topic
today's
sub topic
14
News Engine
15
News Engine
History and Overview
16
スタートアップあるある
創業者が偉大すぎる
17
Crowsnest
[Ref]
SmartNews Compass Keynote Session
http://about.smartnews.com/ja/compass_2014/
18
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
Before After
Monolithic Microservices
Develop
Original Database & Queue
Use Manged Services
as much as possilble
DynamoDB CloudSearch Kinesis
20
Seasar Spring Boot
[告知]
Seasar Conference 2015
2015年9月26日(土)
● Great Eco System
● Microservices Friendly
21
API ( Swagger UI )
(ref) http://petstore.swagger.io
22
アルゴリズムの改善
プラットフォームの面倒
アルゴリズムにまつわる話
( deploy や test )
Cloud
アルゴリズムの改善
Managed Service
Cloud
プラットフォームの面倒
アルゴリズムにまつわる話
Before After
23
News Engine
Inside News Engine
24
Article
Analysis
Scorer
News
Ranking
API
News Engine System Overview
metadata
score
(a)
(b)
(c)
(d) (e)
Data
Importer
(f) (g)
Crawler
external signals
internal
signals
article inventory article index
25
(a)Crawler
● マナーを守って
● 秘伝のタレがギッシリ
○ (例) robots.txt で OutOfMemory Error
26
(b)Article Analysis
HTML
Article
Analysis
Metadata
(Structured Data)
pipeline process
- title
- content
- thumbnail
- category
- (person)
- (location)
● Natural Language Processing
● Machine Learning
● Apache UIMA vs. Original
Framework
27
(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
(c)Scorer
Score
Top-N
in
CloudSearch
Ranking
Process
スコアリングの詳細は極秘
internal
signals
exnternal
signals
29
(d) article inventory
URL
metadata
features for score
[...]
{a: 3, b:4....}
良いところ
● scalable
● stable
● JSON で複雑なデータ構造を扱える
● 要素の中身を atomic に変更可能
出来ないこと
● 高度な検索
30
(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
(f) CloudSearch - Basic
...
...
...
...
Filter
Sort
by score function
top-n
High
Score
Low
Score
n
32
(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
(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
(f) CloudSearch
残念なこと
(1) partial update が出来ない
(2) instance 数の変更時の挙動
(3) Solr のプラグイン( dedupe 処理など ) 使えない
35
(g) News Ranking API
● top-n に対して
○ より詳細な scoring
■ ( CloudSearch の score, その他の要素)
○ Diversification
○ Context
image similarity
36
Engine + Analytics
37
News Engine
Analytics
model
improve
ad-hoc
analysis
reporting
use
38
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
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
Spark Straeming for News Engine
Signals Scorer
Kinesis
Advanced Scorer
● Spark 1.3 は厳しい
● Spark 1.4 からが良い
41
Summary
42
43
良質な情報を届けるために
● プラットフォームを進化させている
● より良質な情報を探すアルゴリズム開発に
集中できるようになってきている
44
人材募集
こんなプラットフォームの上で、
ガツガツとアルゴリズムを作りたい人!
もちろんプラットフォームを進化させる人も!
45

More Related Content

PDF
データレイクを基盤としたAWS上での機械学習サービス構築
PDF
Pythonによる黒魔術入門
PPTX
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
PDF
Motpy ros rosjp
PPTX
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
PDF
SolrとElasticsearchを比べてみよう
PDF
エスイーが要件定義でやるべきたったひとつのこと
PPTX
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
データレイクを基盤としたAWS上での機械学習サービス構築
Pythonによる黒魔術入門
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
Motpy ros rosjp
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
SolrとElasticsearchを比べてみよう
エスイーが要件定義でやるべきたったひとつのこと
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...

What's hot (20)

PDF
大規模データに基づく自然言語処理
PDF
オープンソース SLAM の分類
PPTX
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
PPTX
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
PPTX
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
PDF
WindowsではじめるROSプログラミング
PDF
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PDF
Semantic segmentation
PDF
合成変量とアンサンブル:回帰森と加法モデルの要点
PPTX
自然言語処理
PDF
[DL輪読会]Feature Interaction Interpretability: A Case for Explanining Ad-Recomm...
PPTX
【DL輪読会】Scaling Laws for Neural Language Models
PDF
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
PPTX
Texture-Aware Superpixel Segmentation
PDF
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
PDF
論文読み会(DeMoN;CVPR2017)
PDF
NEDO講座 MoveIt! チュートリアル 第1部
PDF
強化学習その2
PDF
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
大規模データに基づく自然言語処理
オープンソース SLAM の分類
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
WindowsではじめるROSプログラミング
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
三次元点群を取り扱うニューラルネットワークのサーベイ
Semantic segmentation
合成変量とアンサンブル:回帰森と加法モデルの要点
自然言語処理
[DL輪読会]Feature Interaction Interpretability: A Case for Explanining Ad-Recomm...
【DL輪読会】Scaling Laws for Neural Language Models
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
Texture-Aware Superpixel Segmentation
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
論文読み会(DeMoN;CVPR2017)
NEDO講座 MoveIt! チュートリアル 第1部
強化学習その2
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
Ad

Viewers also liked (20)

PDF
AWSでのビッグデータ分析
PDF
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
PDF
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
PPTX
Tokyo r49 beginner
PDF
○○でかんたんお部屋探し!
PDF
「Japan.R開催のお知らせ 」と 「Rでワンライナー」
PDF
lubridateパッケージ入門
PDF
RStanとShinyStanによるベイズ統計モデリング入門
PDF
機械の体を手に入れるのよ、 鉄郎!!!
PDF
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
PDF
Amazon Redshiftによるリアルタイム分析サービスの構築
PDF
NLP in SmartNews
PDF
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
PDF
SmartNews's journey into microservices
PDF
Spring で実現する SmartNews のニュース配信基盤
PDF
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
PDF
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
PDF
AWSの進化とSmartNewsの裏側
PDF
Stream Processing in SmartNews #jawsdays
PDF
Smartnews Product Manager Night
AWSでのビッグデータ分析
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
Tokyo r49 beginner
○○でかんたんお部屋探し!
「Japan.R開催のお知らせ 」と 「Rでワンライナー」
lubridateパッケージ入門
RStanとShinyStanによるベイズ統計モデリング入門
機械の体を手に入れるのよ、 鉄郎!!!
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
Amazon Redshiftによるリアルタイム分析サービスの構築
NLP in SmartNews
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
SmartNews's journey into microservices
Spring で実現する SmartNews のニュース配信基盤
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
AWSの進化とSmartNewsの裏側
Stream Processing in SmartNews #jawsdays
Smartnews Product Manager Night
Ad

Similar to SmartNews の Webmining を支えるプラットフォーム (20)

PDF
AWS初心者向けWebinar AWSでBig Data活用
PDF
SmartNews Ads System - AWS Summit Tokyo 2015
PDF
AWSの様々なアーキテクチャ
PDF
AWS Summit New York 2017 Keynote Recap
PPTX
Game Architecture Trends in Tokyo Kansai Social Game Study#5
PDF
AWS Blackbelt 2015シリーズ AWS Summit Tokyo 2015 ふりかえり&最新アップデート
PDF
スマートニュースの世界展開を支えるログ解析基盤
PPTX
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
PDF
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
PDF
20180703 AWS Black Belt Online Seminar Amazon Neptune
PPT
Hadoop~Yahoo! JAPANの活用について~
PDF
2015 0710 東京鯱光会月例会_公開用.pptx
PDF
Serverless services on_aws_dmm_meetup_20170801
PDF
AI_IoTを活用する企業のあり方
PDF
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
PDF
Data Engineering at VOYAGE GROUP #jawsdays
PDF
Data Engineering at VOYAGE GROUP #jawsdays
PPTX
WebDB Forum 2012 基調講演資料
PPT
Big data解析ビジネス
PDF
メディアコンテンツを支えるデータストアサービスをAWSで
AWS初心者向けWebinar AWSでBig Data活用
SmartNews Ads System - AWS Summit Tokyo 2015
AWSの様々なアーキテクチャ
AWS Summit New York 2017 Keynote Recap
Game Architecture Trends in Tokyo Kansai Social Game Study#5
AWS Blackbelt 2015シリーズ AWS Summit Tokyo 2015 ふりかえり&最新アップデート
スマートニュースの世界展開を支えるログ解析基盤
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
20180703 AWS Black Belt Online Seminar Amazon Neptune
Hadoop~Yahoo! JAPANの活用について~
2015 0710 東京鯱光会月例会_公開用.pptx
Serverless services on_aws_dmm_meetup_20170801
AI_IoTを活用する企業のあり方
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
WebDB Forum 2012 基調講演資料
Big data解析ビジネス
メディアコンテンツを支えるデータストアサービスをAWSで

More from SmartNews, Inc. (8)

PDF
SmartNewsを支えるデータパイプラインとその運用
PDF
エンジニアからプロダクトマネージャーへ
PDF
Building a Sustainable Data Platform on AWS
PDF
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
PDF
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
PDF
SmartNews TechNight vol5 SmartNews Ads大図解
PDF
AWS meetup「Apache Spark on EMR」
PDF
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
SmartNewsを支えるデータパイプラインとその運用
エンジニアからプロダクトマネージャーへ
Building a Sustainable Data Platform on AWS
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight vol5 SmartNews Ads大図解
AWS meetup「Apache Spark on EMR」
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法

SmartNews の Webmining を支えるプラットフォーム