Download - リクルート式 自然言語処理技術の適応事例紹介
リクルート式自然言語処理技術の適応事例紹介
株式会社リクルートテクノロジーズITソリューション統括部 ビッグデータ部
池田 裕一
2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
趣味etc
学歴
略歴
所属
氏名
自己紹介
RTC ITソリューション統括部ビッグデータ部
池田 裕一
東京大学大学院工学系研究科精密機械工学専攻
社会人6年目。某大手メーカー系SIerで3年間、Java・C++を使った位置情報サービスの開発やAndroidアプリの開発に従事。2014年4月からリクルートテクノロジーズ入社。レコメンド施策開発のディレクション、自然言語処理やグラフ解析の技術開発に従事。
テニス旅行クラフトビール起業
3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
本日覚えて帰って頂きたい事
word2vecのレコメンドへの活用
doc2vecの文書要約への活用
4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
1
2
3
4
word2vecを使ったレコメンドシステム
doc2vecを使った文書要約
リクルートについて
最近のデータ活用状況紹介
アジェンダ
5 まとめ
5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リクルートについて
6Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リクルートのビジネスモデル
Matching Business
HR
Bridal
GroupBuying
UsedCars
TravelReal
Estate
Beauty Gourmet
Social Games
E-Commerce
Ad Network
New Business
Consumers Enterprise
7Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リクルートの事業領域
「選択」 をサポートするような情報サービスを展開
Life event area Lifestyle Area
Travel
IT/ TrendLifestyle
Health & Beauty
Job Hunt
Marriage
Job Change
Home Purchase
Car Purchase
Child Birth
Education
8Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リクルートテクノロジーズの立ち位置
InfrastructureLarge project promotions
UI design/SEOBig Data
Department
Technology R&D
IT Promotion
Recruit Holdings
Recruit Career
Recruit Sumai Company
Recruit Lifestyle
Recruit Jobs
Recruit Staffing
Recruit Marketing Partners
Staff service Holdings
Recruit Technologies
Recruit Administration
Recruit Communications
Operation
Service
9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
最近のデータ活用状況紹介
10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Server Database
数値で見るデータ解析環境
エコシステム
本番165台/開発24台 1342.2TB
11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
数値で見るHadoopの使われ方
28,344
1038万
1日あたりの全JOBの数
1日あたりの全Hbaseクエリの数
12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
数値で見るデータ解析案件状況
約200 データ解析案件数(年間)
ビッグデータ部の案件従事人数 240
13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecを使ったレコメンドシステム
14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
各単語を表現するベクトルを学習
単語から文書中でその単語の前後に現れる単語を予測できるような表現を学習
単語を表す1-of-k表現のベクトルを入力とし、その単語の前後にある単語の出現確率を出力とするニューラルネットを学習させ、その中間層の値を単語を表現するベクトルとして用いる
w(t)
w(t-1)
w(t+1)
w(t+2)
w(t-2)
INPUT PROJECTION OUTPUT
INPUT:単語の1-of-k表現
PROJECTION:単語
線形変換階層的
soft-max
OUTPUT: 前後の単語の出現確率
𝑝(𝑤(𝑡+𝑖)|𝑤(𝑡))
目的関数
15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
While expanding its channel for distribution information from paper publication to the net and mobile, the company has been pushing for a shift of their revenue from … … …
文書データ
17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
While expanding its channel for distribution information from paper publication to the net and mobile, the company has been pushing for a shift of their revenue from … … …
文書データ
word2vec
18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
While expanding its channel for distribution information from paper publication to the net and mobile, the company has been pushing for a shift of their revenue from … … …
while(0.1, 0.4, 0.3, 0.7, …)
expanding(0.2, 0.5, 0.7, 0.7, …)
its(0.1, 0.1, 0.9, 0.6, …)
channel(0.6, 0.4, 0.9, 0.5, …)
for(0.5, 0.8, 0.2, 0.1, …)
distribution(0.8, 0.4, 0.1, 0.2, …)
information(0.3, 0.7, 0.3, 0.6, …)
…
…
…
…
文書データ ベクトルデータ
word2vec
19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecとは
While expanding its channel for distribution information from paper publication to the net and mobile, the company has been pushing for a shift of their revenue from … … …
while(0.1, 0.4, 0.3, 0.7, …)
expanding(0.2, 0.5, 0.7, 0.7, …)
its(0.1, 0.1, 0.9, 0.6, …)
channel(0.6, 0.4, 0.9, 0.5, …)
for(0.5, 0.8, 0.2, 0.1, …)
distribution(0.8, 0.4, 0.1, 0.2, …)
information(0.3, 0.7, 0.3, 0.6, …)
…
…
…
…
文書データ ベクトルデータ
word2vec
文書データを元に単語毎のベクトルデータを生成する
20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 word2vecをレコメンドに使う着眼点
21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 word2vecをレコメンドに使う着眼点
ベクトル
レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?
22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 word2vecをレコメンドに使う着眼点
精度
単語間の文脈の純度を高めれば、類似度の精度が高まるのでは?
ベクトル
レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?
23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 word2vecをレコメンドに使う着眼点
アイテムベクトルの近さがアイテムの類似度として見なせるのではないか?
精度
単語間の文脈の純度を高めれば、類似度の精度が高まるのでは?
ベクトル
レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?
24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
wikipediaなどの
テキストデータ
26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
wikipediaなどの
テキストデータ
ノイズが混じる
必要なアイテム全てを網羅できない
27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
サービスユーザーの
アクションログデータ
ノイズが混じる
必要なアイテム全てを網羅できない
user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …
wikipediaなどの
テキストデータ
28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
サービスユーザーの
アクションログデータ
ノイズが混じる
必要なアイテム全てを網羅できない
user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …
アイテムの関係性を内包する
必要なアイテム全てを網羅できる
wikipediaなどの
テキストデータ
29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドに適したword2vecのインプットデータとは
インプットデータとしてユーザーアクションログを使用する
サービスユーザーの
アクションログデータ
ノイズが混じる
必要なアイテム全てを網羅できない
user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …
アイテムの関係性を内包する
必要なアイテム全てを網羅できる
wikipediaなどの
テキストデータ
30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文章と単語の作り方
31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文章と単語の作り方
I am a cat. As yet I have no name.
32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文章と単語の作り方
I am a cat. As yet I have no name.
文章 文章
33Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文章と単語の作り方
I am a cat. As yet I have no name.
文章 文章
単語
34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
ユーザー毎のアイテムに対するアクションログ
36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
User-1 :
User-2 :
User-3 :
item-A item-B item-C item-D item-E …
item-V item-W item-X item-Y item-Z …
item-O item-P item-Q item-R item-S …
ユーザー毎のアイテムに対するアクションログ
…
37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
User-1 :
User-2 :
User-3 :
時系列
item-A item-B item-C item-D item-E
item-V item-W item-X item-Y item-Z
item-O item-P item-Q item-R item-S
ユーザー毎のアイテムに対するアクションログ
…
…
…
…
38Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
User-1 :
User-2 :
User-3 :
時系列
item-A item-B item-C item-D item-E
item-V item-W item-X item-Y item-Z
item-O item-P item-Q item-R item-S
ユーザー毎のアイテムに対するアクションログ
…
文章
…
…
…
39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
User-1 :
User-2 :
User-3 :
時系列
item-A item-B item-C item-D item-E
item-V item-W item-X item-Y item-Z
item-O item-P item-Q item-R item-S
ユーザー毎のアイテムに対するアクションログ
…
文章 単語
…
…
…
40Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
アクションログを使った時の文章と単語の作り方
1ユーザーのアクション履歴を1文章、アイテムを単語、と置き換える
User-1 :
User-2 :
User-3 :
時系列
item-A item-B item-C item-D item-E
item-V item-W item-X item-Y item-Z
item-O item-P item-Q item-R item-S
ユーザー毎のアイテムに対するアクションログ
…
…
…
…
41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
アクション
ログデータ
word2vec
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
アクション
ログデータ
word2vec
itemベクトル
データ
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
item-A (0.1, 0.9, 0.6, 0.4, ……)
item-B (0.2, 0.5, 0.1, 0.8, ……)
item-C (0.7, 0.3, 0.3, 0.4, ……)
item-D (0.5, 0.9, 0.8, 0.2, ……)
… … …
44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
アクション
ログデータ
word2vec
itemベクトル
データ
cos類似度
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
item-A (0.1, 0.9, 0.6, 0.4, ……)
item-B (0.2, 0.5, 0.1, 0.8, ……)
item-C (0.7, 0.3, 0.3, 0.4, ……)
item-D (0.5, 0.9, 0.8, 0.2, ……)
… … …
45Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
アクション
ログデータ
word2vec
itemベクトル
データ
item類似度
データ
cos類似度
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
item-A (0.1, 0.9, 0.6, 0.4, ……)
item-B (0.2, 0.5, 0.1, 0.8, ……)
item-C (0.7, 0.3, 0.3, 0.4, ……)
item-D (0.5, 0.9, 0.8, 0.2, ……)
… … …
item-A, item-B, 0.976
item-A, item-C, 0.329
item-A, item-D, 0.743
item-A, item-E, 0.552
… … …
46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
word2vecで出来上がったベクトルデータでアイテム間のcos類似度を算出
アクション
ログデータ
word2vec
itemベクトル
データ
item類似度
データ
cos類似度
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
item-A (0.1, 0.9, 0.6, 0.4, ……)
item-B (0.2, 0.5, 0.1, 0.8, ……)
item-C (0.7, 0.3, 0.3, 0.4, ……)
item-D (0.5, 0.9, 0.8, 0.2, ……)
… … …
item-A, item-B, 0.976
item-A, item-C, 0.329
item-A, item-D, 0.743
item-A, item-E, 0.552
… … …
47Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
word2vecのアウトプットデータ
アクション
ログデータ
word2vec
itemベクトル
データ
item類似度
データ
cos類似度
user1 item-A item-B item-C…
user2 item-D item-E item-F…
user3 item-G item-Q item-X…
user4 item-L item-K item-V…
… … …
item-A (0.1, 0.9, 0.6, 0.4, ……)
item-B (0.2, 0.5, 0.1, 0.8, ……)
item-C (0.7, 0.3, 0.3, 0.4, ……)
item-D (0.5, 0.9, 0.8, 0.2, ……)
… … …
item-A, item-B, 0.976
item-A, item-C, 0.329
item-A, item-D, 0.743
item-A, item-E, 0.552
… … …
アイテム間の類似度の計算は億オーダの回数必要になるため、分散処理している
word2vecで出来上がったベクトルデータでアイテム間のcos類似度を算出
48Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
ユーザー
50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
ユーザー
item-A item-B item-C item-D item-E
時系列
①
ユーザーが最直近でアクションしたアイテムを10件抽出
51Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
ユーザー
item-A item-B item-C item-D item-E
時系列
① ②
ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムに対して、cos類似度の高いアイテムを抽出
item-Q item-I item-O item-P item-L
item-X item-T item-U item-S item-M
item-R item-G item-F item-W item-Z
52Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
ユーザー
item-A item-B item-C item-D item-E
時系列
① ② ③
ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムに対して、cos類似度の高いアイテムを抽出
リストを作成
(重複したアイテムを除く)
item-Q item-I item-O item-P item-L
item-X item-T item-U item-S item-Mレコメンド
item-R item-G item-F item-W item-Z
53Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドリストの作成 〜 実サービスへの適用
word2vecを元に作られたベクトルデータを使ってレコメンドリストを作成
ユーザー
item-A item-B item-C item-D item-E
時系列
① ② ③
ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムに対して、cos類似度の高いアイテムを抽出
リストを作成
(重複したアイテムを除く)
item-Q item-I item-O item-P item-L
item-X item-T item-U item-S item-Mレコメンド
item-R item-G item-F item-W item-Z
54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験① 〜 オフラインテスト
55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験① 〜 オフラインテスト
概要
過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う
56Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験① 〜 オフラインテスト
概要
過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う
0
0.5
1
1.5
2
2.5
従来ロジックとword2vecによるKPIの比較
(従来ロジックを1とした時の比較)
従来ロジック
word2vec
57Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験① 〜 オフラインテスト
従来のレコメンドエンジンと比較して、効果が約1.6倍高い事が分かった
0
0.5
1
1.5
2
2.5
従来ロジックとword2vecによるKPIの比較
(従来ロジックを1とした時の比較)
従来ロジック
word2vec
概要
過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う
58Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験② 〜 ABテスト
59Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験② 〜 ABテスト
概要
オンラインで、ユーザーを2つのグループに分け、従来ロジックとword2vecロジックのレコメンドリストを提示し、CVRの違いを調査する
60Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験② 〜 ABテスト
サービスY
CVRが 156% 改善
3.57% ⇒ 9.15%
サービスX
CVRが 31% 改善
46.59%⇒ 61.13%
概要
オンラインで、ユーザーを2つのグループに分け、従来ロジックとword2vecロジックのレコメンドリストを提示し、CVRの違いを調査する
61Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験② 〜 ABテスト
サービスY
CVRが 156% 改善
3.57% ⇒ 9.15%
サービスX
CVRが 31% 改善
46.59%⇒ 61.13%
概要
オンラインで、ユーザーを2つのグループに分け、従来ロジックとword2vecロジックのレコメンドリストを提示し、CVRの違いを調査する
オンラインでもword2vecロジックによるレコメンドの方が効果が高い
62Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 仮説
63Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 仮説
ベクトル
ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?
64Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 仮説
ベクトル
ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?
item-A
item-B
User-Vec
item-D
item-C
65Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 仮説
ベクトルを足し合わせれば、志向ベクトルを作れる!?
ベクトル
ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?
item-A
item-B
User-Vec
item-D
item-C
66Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
67Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザー
68Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザー
item-A item-B item-C item-D item-E
時系列
①ユーザーが最直近でアクションしたアイテムを10件抽出
69Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザー
item-A item-B item-C item-D item-E
時系列
① ②ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムのベクトルを足し、合成ベクトルを作成
Int-Vec
70Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザー
item-A item-B item-C item-D item-E
時系列
① ②ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムのベクトルを足し、合成ベクトルを作成
item-Q
item-I
item-O
Int-Vec
③
合成ベクトルと類似度の高いアイテムを抽出
71Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザー
item-A item-B item-C item-D item-E
時系列
① ② ④ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムのベクトルを足し、合成ベクトルを作成
リストを作成
item-Q
item-I
item-O
レコメンド
Int-Vec
③
合成ベクトルと類似度の高いアイテムを抽出
72Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 ベクトル足し算
ユーザーがアクションしたアイテムの合成ベクトルを志向ベクトルと見なす
ユーザー
item-A item-B item-C item-D item-E
時系列
① ② ④ユーザーが最直近でアクションしたアイテムを10件抽出
それぞれのアイテムのベクトルを足し、合成ベクトルを作成
リストを作成
item-Q
item-I
item-O
レコメンド
Int-Vec
③
合成ベクトルと類似度の高いアイテムを抽出
73Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 効果検証
74Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 効果検証
概要
オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する
75Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 効果検証
サービスZ
CVRが 27% 改善
21.56% ⇒ 27.29%
概要
オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する
76Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンの更なる進化 〜 効果検証
ベクトルを足し合わせる事によってユーザーの志向を捉える事が出来た
サービスZ
CVRが 27% 改善
21.56% ⇒ 27.29%
概要
オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する
77Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
レコメンドエンジンへの実装 〜 Hadoop活用
Hadoop
レコメンド生成バッチ
ユーザー行動ログ
集計バッチユーザー情報
行動ログ
ユーザー毎のレコメンド
ユーザー毎のパーソナライズレコメンドを日次で実施(主にHive)
78Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ユーザー
Web
HBase
レコメンドテーブルの参照API
Hadoop
行動ログ集計バッチ
検索API
APIリクエスト
検索行動
レコメンド取得
レコメンド
バルクロード
テーブル参照
リアルタイムレコメンドへの実装 〜 HBase活用
ユーザーの志向をリアルタイムで捉え、リアルタイムにレコメンドを実施
79Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ここまでのまとめ
• ユーザーのアクションログをword2vecのインプットに使用し、アイテムをベクトル化している
→文章を1ユーザーのログ、単語をアイテムと見なす
• ベクトル同士のcos類似度を計算することで、レコメンドエンジンに活用している
• 類似度計算ではHadoopを使って分散処理を行い高速化している
• ベクトルを足し合わせることでユーザーの志向を捉える事ができる
80Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
doc2vecを使った文書要約
81Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
doc2vecとは
文章をベクトル化する
1. I am a cat. 2. As yet I have no name.3. ……
1. I am a cat. (0.2, 0.4, 0.9, …) 2. As yet I have no name. (0.5, 0.7, 0.8, …) 3. ……
doc2vec
82Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 doc2vecを文書要約に使う着眼点
83Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 doc2vecを文書要約に使う着眼点
ベクトル領域
複数の文章ベクトルによって作られた領域は、その中に入るベクトルを意味的に内包するのではないか?
84Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
仮説 〜 doc2vecを文書要約に使う着眼点
一番大きな領域を作る文章ベクトルを取れば、文書のまとめが作れる!?
ベクトル領域
複数の文章ベクトルによって作られた領域は、その中に入るベクトルを意味的に内包するのではないか?
85Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
86Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
87Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
文章をベクトル化して
プロットする
88Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
文章をベクトル化して
プロットする
89Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
文章をベクトル化して
プロットする文章1
文章10
文章7
文章6
文章3
文章2
文章9 文章5
文章4
文章8
90Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
文章をベクトル化して
プロットする文章1
文章10
文章7
文章6
文章3
文章2
文章9 文章5
文章4
文章8
【参考論文】
http://www.cs.cmu.edu/~dyogatam/papers/yogatama+liu+smith.emnlp2015.pdf
91Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
文書要約のイメージ
文章1
文章2
文章10
文書
…
文章3
文章をベクトル化して
プロットする文章1
文章10
文章7
文章6
文章3
文章2
文章9 文章5
文章4
文章8
【参考論文】
http://www.cs.cmu.edu/~dyogatam/papers/yogatama+liu+smith.emnlp2015.pdf
文書1,3,6,7,10は
文書2,4,5,8,9を意味的に内包するのではないか?
92Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験 〜 プレミア12に関する投稿をまとめてみる
93Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験 〜 プレミア12に関する投稿をまとめてみる
実験手順
記事の内容の把握、及びクレンジング
プレミア12準々決勝 日本vsプエルトリコの試合のニュース記事に関するコメント(計161件)
投稿のベクトル化、及びまとめに使用する投稿の抽出
今回は5つのコメントを抽出して要約を試みる
94Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験 〜 プレミア12に関する投稿をまとめてみる
ちなみに試合の内容は…
・4番の中村選手が欠場
・先発の前田投手が好投(7回無失点)
・打線は13安打9得点
・坂本選手が16打席ぶりのヒットを含む2安打3打点
・9回にプエルトリコが3ランホームラン
etc…
実験手順
記事の内容の把握、及びクレンジング
プレミア12準々決勝 日本vsプエルトリコの試合のニュース記事に関するコメント(計161件)
投稿のベクトル化、及びまとめに使用する投稿の抽出
今回は5つのコメントを抽出して要約を試みる
95Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験 〜 プレミア12に関する投稿をまとめてみる
結果
前田健太はもう決勝投げないだろうな今日7回まで行かしたってことはそういうことだな。
来季メジャーもあるし無理はさせない。
先発は 大谷と菅野か武田中継ぎは山崎・則本・牧田
炎上組 松井・増井・西・小川微妙組 大野・澤村
なんか炎上組は使いたくないし大野と澤村も内容悪いし
やっぱ中継ぎ全然足りてないわ
CS見てない人にはわからないかもしれんが、大谷は間隔が空きすぎるとダメになる。
ましてや東京ドームが苦手。初戦でボコられた韓国サイドは研究に
研究を重ねてリベンジして来ると考えると炎上して大敗するのが妥当。
よって戦犯大谷ということになる。まあ、野手が頑張って打撃戦に持ち込
めば話は別だが、相手の先発は何があっても負けないイデウンだから無理でしょう。
仮に大谷が炎上して負けても大谷一人のせいにしないで欲しいです(涙)。
調整登板させなかった首脳陣にも問題があるんだから(震え声)
ツイッター上のハムファン全員が増井燃えると予言してて草生えたわw
やはり増井はセーブかホールド機会で投げさせないとアカンな
平田三塁打→松田犠牲フライで実質試合終了なものだろ
ここで一番温い試合してしまったのは問題あるわ
増井に不安がある以上マッスルミュージカルは覚悟しとかないとな
マエケンは7回90球、中4日で決勝先発は十分ありうる
中村外して中村入れる打線は悪くはないんだが中田が案の定6番外れたら内容が悪くなった
どうすりゃいいんかね?
今まできつい試合ばかりだったからね、こんな試合もたまにはいいでしょ。でも、気は弛めないで!
96Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実証実験 〜 プレミア12に関する投稿をまとめてみる
特定の偏ったコメントではなく、満遍なくコメントが拾う事が可能
結果
前田健太はもう決勝投げないだろうな今日7回まで行かしたってことはそういうことだな。
来季メジャーもあるし無理はさせない。
先発は 大谷と菅野か武田中継ぎは山崎・則本・牧田
炎上組 松井・増井・西・小川微妙組 大野・澤村
なんか炎上組は使いたくないし大野と澤村も内容悪いし
やっぱ中継ぎ全然足りてないわ
CS見てない人にはわからないかもしれんが、大谷は間隔が空きすぎるとダメになる。
ましてや東京ドームが苦手。初戦でボコられた韓国サイドは研究に
研究を重ねてリベンジして来ると考えると炎上して大敗するのが妥当。
よって戦犯大谷ということになる。まあ、野手が頑張って打撃戦に持ち込
めば話は別だが、相手の先発は何があっても負けないイデウンだから無理でしょう。
仮に大谷が炎上して負けても大谷一人のせいにしないで欲しいです(涙)。
調整登板させなかった首脳陣にも問題があるんだから(震え声)
ツイッター上のハムファン全員が増井燃えると予言してて草生えたわw
やはり増井はセーブかホールド機会で投げさせないとアカンな
平田三塁打→松田犠牲フライで実質試合終了なものだろ
ここで一番温い試合してしまったのは問題あるわ
増井に不安がある以上マッスルミュージカルは覚悟しとかないとな
マエケンは7回90球、中4日で決勝先発は十分ありうる
中村外して中村入れる打線は悪くはないんだが中田が案の定6番外れたら内容が悪くなった
どうすりゃいいんかね?
今まできつい試合ばかりだったからね、こんな試合もたまにはいいでしょ。でも、気は弛めないで!
97Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
98Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
MROC(Marketing Research Online Community)
ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法
99Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
MROC(Marketing Research Online Community)
ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法
一つのテーマにつき、数百のコメントが付く
100Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
MROC(Marketing Research Online Community)
ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法
どのような事が話されているかを整理する事が非常に大変
一つのテーマにつき、数百のコメントが付く
101Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
102Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
アットホームな式にしたい
リゾート挙式がしたい
極力シンプルにしたい
沢山のゲストに来て欲しい
103Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 口コミのまとめ
アットホームな式にしたい
リゾート挙式がしたい
極力シンプルにしたい
沢山のゲストに来て欲しい
テーマに対してどのようなコメントが来ているのかをまとめる
104Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
105Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
106Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
①既存の口コミで領域を作成
107Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
①既存の口コミで領域を作成
108Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
① ②既存の口コミで領域を作成
新規の口コミをプロット
109Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
① ② ③既存の口コミで領域を作成
新規の口コミをプロット 領域に含まれるか否かを判定
110Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実サービスへの展望 〜 新規コメントの抽出
新規の口コミが「新しい内容を含むかどうか」の判別を行う
① ② ③既存の口コミで領域を作成
新規の口コミをプロット 領域に含まれるか否かを判定
111Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
まとめ
112Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
本日のまとめ
• ユーザーのアクションログをword2vecのインプットに使用し、アイテムをベクトル化している
• ベクトル同士のcos類似度を計算することで、レコメンドエンジンに活用している
• ベクトルを足し合わせることでユーザーの志向を捉える事ができる
• 文書要約にdoc2vecを活用している
• 定性的に見て、doc2vecを使った文書要約が有用であることが分かった
• doc2vecを口コミの整理や、新たなコメントの内容が新規であるかどうかの判断ロジックとして活用を検討
113Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
今後の展望
リアルタイムでのユー
ザー志向分析
グラフ分析及び
グラフDBの導入
AB
C
D
E
w(t)
w(t+1)
w(t+5)
・・・
w(t-1)
w(t-5)・・・
114Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ビジネスを踏まえて泥臭くかつアグレッシブに分析・エンジニアリングができる方。
ご連絡ください。
戦友をさがしています。
Yes, We Are Hiring!池田 裕一
ご清聴ありがとうございました