第6回 X-Tech JAWSのトップバッターはNewsTech
スマートニュース、動画チャンネルでのMLサービス活用を語る
2019年01月18日 07時00分更新
2019年1月10日、渋谷のスマートニュースにおいて、第6回となる「X-Tech JAWS」が開催された。「あなたの身近な生活を支えるAWSを使ったサービスの秘密」をテーマにした今回も、さまざまな業界でのAWS活用事例がビジネスとテクノロジーの両面から語られた。
3500万人がダウンロードするニュースアプリを支えるシステム
第6回目のX-Tech JAWSトップを飾ったのは、会場提供元のスマートニュース。ソフトウェアエンジニアの真幡康徳さんが「スマートニュースにおけるニュースパイプラインの進化」というタイトルでニュース配信の舞台裏を語った。
ご存じSmartNewsは日米で3500万人がダウンロードするニュースアプリで、旬なニュースを「スマートビュー」でさくさく読めるという特徴を持つ。社長が漫画喫茶にこもって書いていたと言われる創業期は、ニュースの収集や分析、インデックス化などを単一の配信サーバーが担うというアーキテクチャだったが、近代ではEC2やDynamoDB、CloudSearchなど複数のAWSサービスを複数組み合わせている。
SmartNewsにおけるニュース配信は、記事の収集と分析を行なう「オフライン処理」と記事配信や検索を行なう「オンライン処理」の大きく2つに分けられる。
オフライン処理では、契約した媒体のニュース記事をクロールしたり、ポピュラリティ(注目度)を分析したり、機械学習での記事カテゴリ判定、人名や地名、組織名など固有表現判定などを行なっている。クローラーで集められた記事はKinesis経由でインデクサーに渡され、必要なものがデータ分析にかけられ、結果はDynamoDBに格納される。
一方、アプリに対してニュースを配信するオンライン処理はユーザー体験に直結されるため、リアルタイム性が要求されるという。SmartNewsの場合は1日4回のプッシュがあり、これをトリガにピークタイムが訪れるため、APIサーバーのスケールアウトが容易なアーキテクチャになっている。「検索エンジンを挟んでオンライン処理とオフライン処理に分かれているけど、オンライン側から見た検索エンジンは最後の砦。なるべくクエリは投げたくない」と真幡さんは語る。
オンライン・オフライン処理ともEC2インスタンスはすべてASG(Auto Scaling Group)で管理されており、一部はECS(Elastic Container Service)も導入されている。また、CPUやメモリの使用率など各種メトリクスはDatadogで収集しており、障害につながりそうな場合はSlackやPagerDutyに通知させている。パフォーマンス監視に関してはNew Relicを採用。ただ、コスト面の問題から全面的にはなく、小規模なASGでの検証にとどまるという。
MLサービスはAWSとGoogleの両刀遣い
創業期、近代に続いていよいよ“現代”は、動画ニュース用の専用チャンネルを追加され、システム面でもいくつかの変更が行なわれた。とはいえ、このときは抜本的なシステム刷新は行なわず、既存のシステムにSageMakerやElasticsearch、Google Cloud Vision APIを追加するという形でスピーディにリリースした。
このうち機械学習(ML:Machine Learning)用のプラットフォームであるSageMakerは、今までニュース専用だった分類器を、動画でも利用えきるようにするためのもの。開発はカリフォルニアの部隊が担当したが、エンドポイントがオートスケールでき、検証やモデル変更の影響を受けない点がメリットだったという。
Elasticserachの導入に関しては、今使っているCloudSearchの将来に不安を感じたから。真幡さんは、「利用できるインスタンスがm3.2xlarge止まりだし、公式サイトも2015年3月以来更新されていない」と指摘する。また、Elasticsearchを使うことで、既存のニュースとビデオをシステム的に分けてリスクを分散できるほか、今後のアーキテクチャ刷新を見据えた試金石としても試す価値はあったという。
Google Cloud Vision APIはTwitterなどでバズッた動画を収集し、ラベルを付けるのに用いられている。なぜGoogle Cloud Vision APIを選んだかというと、少なくとも半年前の時点では、もっとも精度が高いラベルを戻してくれたからだという。「たとえば、ゲーム実況動画であれば、Google Cloud Vision APIはゲームのタイトルまで返してくれる。他のサービスだとゲーム動画であることを返してくれればまだいい方なので、ゲームのタイトルまで返してくれるのは、ちょっとすごすぎるレベル」と真幡さんは評価した。
最後、真幡さんは海外渡航や英語学習の補助、専属マッサージなどの社内制度で採用アピールし、セッションを終えた。身近なニュースアプリの舞台裏を垣間見られた興味深いセッションだった。
この連載の記事
-
第26回
デジタル
コロナ禍で社会インフラとなった保育園 ルクミーはこうして支えている -
第25回
デジタル
オンライン診療の規制緩和にいち早く対応したMICINの新機能開発 -
第24回
デジタル
「Cariot」のリアルタイム性を強化するKinesis、Lambda、DynamoDBの整え方 -
第23回
デジタル
Timers、POL、PIAZZAなどがビジネスと技術を語る第10回X-Tech JAWS -
第22回
デジタル
メンヘラ彼女向けのサービスを1週間で開発させられた話 -
第21回
デジタル
教育市場を盛り上げる「AWS EdStart」と「AWS Educate」 -
第20回
デジタル
AIで時事クイズと高校野球の戦評記事を作ってみた -
第19回
デジタル
おやつのサブスク「snaq.me」でのLambda活用術 -
第18回
デジタル
X-Tech JAWSで聞いたナビタイム、Resola、千のAWSの使いこなし -
第17回
デジタル
契約書のレビューを支援するLegalForce、CTOと事業開発担当が語る -
第16回
デジタル
「SQL書きたい」のリクエストにukkaのエンジニアはどう応えたのか? - この連載の一覧へ