smartnews の webmining を支えるプラットフォーム
TRANSCRIPT
![Page 1: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/1.jpg)
SmartNews の Webmining を支えるプラットフォーム
第48回 データマイニング+WEB @東京( #TokyoWebmining 48th ) ーAWS上での分析基盤アーキテクチャ最前線 祭りー
西岡悠平 (スマートニュース株式会社)
1
![Page 2: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/2.jpg)
マネージャ データサイエンス・マシンラーニング担当 スマートニュース
● 2003年 京都大学大学院情報学研究科複雑系科学コース修了。
● ネットワーク機器メーカーに入社、 2005年上半期の未踏ソフトウェア創造事業
「スーパークリエータ」に認定される。
● その後、株式会社四次元データ Web技術研究部を経て、2008年に楽天株式会社に入社。レ
コメンデーションエンジンをはじめとした先端技術の研究開発をリードする。
● 2014年9月にスマートニュース社入社。
西岡悠平
2
![Page 3: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/3.jpg)
アイスブレイク
3
![Page 4: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/4.jpg)
4
後ほど、アップロード
![Page 5: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/5.jpg)
5
後ほど、アップロード
![Page 6: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/6.jpg)
6
後ほど、アップロード
![Page 7: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/7.jpg)
1. Overview
2. News Engine
a. History & Overview
b. Inside News Engine
3. News Engine + Analytics
Agenda
7
![Page 8: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/8.jpg)
Overview
8
![Page 9: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/9.jpg)
9
![Page 10: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/10.jpg)
10
![Page 11: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/11.jpg)
11
![Page 12: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/12.jpg)
SmartNews の紹介
12
![Page 13: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/13.jpg)
Engineer Scientist
13
![Page 14: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/14.jpg)
http://aws.amazon.com/jp/solutions/case-studies/smartnews/
today's main topic
today's sub topic
14
![Page 15: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/15.jpg)
News Engine
15
![Page 16: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/16.jpg)
News EngineHistory and Overview
16
![Page 17: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/17.jpg)
スタートアップあるある
創業者が偉大すぎる
17
![Page 18: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/18.jpg)
Crowsnest
[Ref]SmartNews Compass Keynote Sessionhttp://about.smartnews.com/ja/compass_2014/
18
![Page 19: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/19.jpg)
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 今日
CrowsnestSmartNews APIアプリ
19
![Page 20: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/20.jpg)
Before After
Monolithic Microservices
DevelopOriginal Database & Queue
Use Manged Servicesas much as possilble
DynamoDB CloudSearch Kinesis
20
![Page 21: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/21.jpg)
Seasar Spring Boot
[告知]Seasar Conference 20152015年9月26日(土)
● Great Eco System● Microservices Friendly
21
![Page 22: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/22.jpg)
API ( Swagger UI )
(ref) http://petstore.swagger.io 22
![Page 23: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/23.jpg)
アルゴリズムの改善
プラットフォームの面倒
アルゴリズムにまつわる話( deploy や test )
Cloud
アルゴリズムの改善
Managed Service
Cloud
プラットフォームの面倒
アルゴリズムにまつわる話
Before After
23
![Page 24: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/24.jpg)
News EngineInside News Engine
24
![Page 25: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/25.jpg)
ArticleAnalysis
Scorer
News Ranking
API
News Engine System Overview
metadata
score(a)
(b)
(c)
(d) (e)
DataImporter
(f) (g)
Crawler
external signals
internal signals
article inventory article index
25
![Page 26: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/26.jpg)
(a)Crawler
● マナーを守って
● 秘伝のタレがギッシリ○ (例) robots.txt で OutOfMemory Error
26
![Page 27: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/27.jpg)
(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
![Page 28: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/28.jpg)
(b)Article Analysis - Classification
Globally Scalable Web Document Classification Using Word2Vechttp://www.slideshare.net/kouheinakaji/smart-news-documentclassification?qid=c9b6df62-1fdd-4bf8-9543-bff0fba92dac&v=default&b=&from_search=2
28
![Page 29: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/29.jpg)
(c)Scorer
ScoreTop-N
in CloudSearch
Ranking Process
スコアリングの詳細は極秘
internal signals
exnternal signals
29
![Page 30: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/30.jpg)
(d) article inventoryURL
metadata
features for score
[...]
{a: 3, b:4....}
良いところ● scalable● stable● JSON で複雑なデータ構造を扱える● 要素の中身を atomic に変更可能
出来ないこと● 高度な検索
30
![Page 31: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/31.jpg)
(e) DynamoDB から CloudSearch へ
TransformerFilterFilterTransformerFilterTransformerCosumer Uploader
byte stream JSON Objectfor DynamoDB
JSON Object for CloudSearch SDF format
DataImporterService
DocuentConverterService
IRecordProcessr called by Worker
31
![Page 32: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/32.jpg)
(f) CloudSearch - Basic
...
... ...
...
Filter Sortby score function top-n
High Score
Low Score
n
32
![Page 33: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/33.jpg)
(f) CloudSearch - score functionExamples
● 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
![Page 34: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/34.jpg)
(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
![Page 35: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/35.jpg)
(f) CloudSearch 残念なこと
(1) partial update が出来ない
(2) instance 数の変更時の挙動
(3) Solr のプラグイン( dedupe 処理など ) 使えない
35
![Page 36: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/36.jpg)
(g) News Ranking API● top-n に対して
○ より詳細な scoring ■ ( CloudSearch の score, その他の要素)
○ Diversification○ Context
image similarity
36
![Page 37: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/37.jpg)
Engine + Analytics
37
![Page 38: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/38.jpg)
News Engine
Analytics
model
improve
ad-hocanalysis
reporting
use
38
![Page 39: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/39.jpg)
Presto Hive Spark
Hive MetaStore
Data in S3 (RCfile, JSONー2012年 からのログ)
SparkSQL/MLlibSmartNews UDF, UDAF(user defined function)Chartio / Shib
ad-hocanalysis reporting pre-process model
creationrealtimeanalysis
StreamingData
news engine
Hive
Azkaban
SparkHive Spark
39
![Page 40: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/40.jpg)
Spark MLlib
● Collaborative filtering○ ALS (Alternating Least Squares)
Pre Processon Hive SpakSQLData
in S3 RDD ALS MLlibon Spark
Apache Spark on EMRhttp://www.slideshare.net/smartnews/aws-meetupapache-spark-on-emr
40
![Page 41: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/41.jpg)
Spark Straeming for News Engine
Signals Scorer
Kinesis
Advanced Scorer
● Spark 1.3 は厳しい● Spark 1.4 からが良い
41
![Page 42: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/42.jpg)
Summary
42
![Page 43: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/43.jpg)
43
![Page 44: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/44.jpg)
良質な情報を届けるために
● プラットフォームを進化させている
● より良質な情報を探すアルゴリズム開発に集中できるようになってきている
44
![Page 45: SmartNews の Webmining を支えるプラットフォーム](https://reader031.vdocuments.net/reader031/viewer/2022020119/58f9add1760da3da068b9c3b/html5/thumbnails/45.jpg)
人材募集
こんなプラットフォームの上で、
ガツガツとアルゴリズムを作りたい人!
もちろんプラットフォームを進化させる人も!
45