リクルート式 自然言語処理技術の適応事例紹介

Post on 08-Jan-2017

892 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

リクルート式自然言語処理技術の適応事例紹介

株式会社リクルートテクノロジーズ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!池田 裕一

ご清聴ありがとうございました

top related