7. (C) Gunosy Inc. All Rights Reserved. PAGE |7
システムアーキテクチャ
スコアリングデータ生成
推薦API
記事、ユーザベクトルの更新
8. (C) Gunosy Inc. All Rights Reserved. PAGE |8
システムアーキテクチャ
記事、ユーザベクトルの更新
9. (C) Gunosy Inc. All Rights Reserved. PAGE |9
アイテムベクトルとユーザベクトルの更新
記事ベクトルとユーザベクトルをリアルタイムに更新
10. (C) Gunosy Inc. All Rights Reserved. PAGE |10
アイテムベクトルとユーザベクトルの更新
記事ベクトルとユーザベクトルをリアルタイムに更新
記事ベクトルの更新
ユーザベクトルの更新
11. (C) Gunosy Inc. All Rights Reserved. PAGE |11
アイテムベクトルとユーザベクトルの更新
記事ベクトルとユーザベクトルをリアルタイムに更新
記事ベクトルの更新
Crawlerが新着記事を取得
ArticleVectorizerがベクトル生成し、dynamoに書き込む
12. (C) Gunosy Inc. All Rights Reserved. PAGE |12
アイテムベクトルとユーザベクトルの更新
記事ベクトルとユーザベクトルをリアルタイムに更新
ユーザベクトルの更新
ユーザのクリックをトリガーに、クリックした記事IDをDynamoDBに保存
DynamoDBへの書き込みをトリガーにラムダを発火
ラムダで記事ベクトルを取得、ユーザベクトル生成して保存
13. (C) Gunosy Inc. All Rights Reserved. PAGE |13
システムアーキテクチャ
スコアリングデータ生成
14. (C) Gunosy Inc. All Rights Reserved. PAGE |14
スコアリング
ユーザの興味関心に応じたスコアリング
時間減衰
ユーザの興味に応じたスコア
興味ベクトルとユーザベクトルの距
離に応じて重み付け
パーソナライズスコア
15. (C) Gunosy Inc. All Rights Reserved. PAGE |15
時間減衰
● ニュースの価値
○ 時間が経つにつれて減衰する
○ 1度見たニュースはもう見られない
■ リスト面にだすのはできれば1度だけにしたい
■ ユーザごとの全インプレッションを保存し、リアルタイムに処理するのは難し
い
● 時間減衰関数を用意
○ 記事配信日から時間が経つにつれスコア減衰
○ ユーザの前回リクエスト時間によってスコア減衰
イメージ
16. (C) Gunosy Inc. All Rights Reserved. PAGE |16
システムアーキテクチャ
推薦API
17. (C) Gunosy Inc. All Rights Reserved. PAGE |17
推薦API(リスト表示)
● ユーザのリクエストごとにスコアリング
○ 50msec or die
○ 行列演算のみ
■ データのI/Oは極力なくす
■ プロセスキャッシュ
リクエスト
ユーザベクトル取
得
スコアリング 記事リスト生成
興味ベクトル
記事スコア
backgroundで定期的に