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

116
リクルート式 自然 言語処理技術の適応事例紹介 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 池田 裕一

Upload: recruit-technologies

Post on 08-Jan-2017

892 views

Category:

Technology


2 download

TRANSCRIPT

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

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

株式会社リクルートテクノロジーズITソリューション統括部 ビッグデータ部

池田 裕一

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

2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

趣味etc

学歴

略歴

所属

氏名

自己紹介

RTC ITソリューション統括部ビッグデータ部

池田 裕一

東京大学大学院工学系研究科精密機械工学専攻

社会人6年目。某大手メーカー系SIerで3年間、Java・C++を使った位置情報サービスの開発やAndroidアプリの開発に従事。2014年4月からリクルートテクノロジーズ入社。レコメンド施策開発のディレクション、自然言語処理やグラフ解析の技術開発に従事。

テニス旅行クラフトビール起業

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

3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

本日覚えて帰って頂きたい事

word2vecのレコメンドへの活用

doc2vecの文書要約への活用

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

4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

1

2

3

4

word2vecを使ったレコメンドシステム

doc2vecを使った文書要約

リクルートについて

最近のデータ活用状況紹介

アジェンダ

5 まとめ

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

5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

リクルートについて

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

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

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

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

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

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

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

9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

最近のデータ活用状況紹介

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

10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

Server Database

数値で見るデータ解析環境

エコシステム

本番165台/開発24台 1342.2TB

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

11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

数値で見るHadoopの使われ方

28,344

1038万

1日あたりの全JOBの数

1日あたりの全Hbaseクエリの数

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

12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

数値で見るデータ解析案件状況

約200 データ解析案件数(年間)

ビッグデータ部の案件従事人数 240

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

13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

word2vecを使ったレコメンドシステム

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

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: 前後の単語の出現確率

𝑝(𝑤(𝑡+𝑖)|𝑤(𝑡))

目的関数

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

15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

word2vecとは

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

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 … … …

文書データ

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

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

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

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

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

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

文書データを元に単語毎のベクトルデータを生成する

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

20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 word2vecをレコメンドに使う着眼点

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

21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 word2vecをレコメンドに使う着眼点

ベクトル

レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?

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

22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 word2vecをレコメンドに使う着眼点

精度

単語間の文脈の純度を高めれば、類似度の精度が高まるのでは?

ベクトル

レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?

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

23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 word2vecをレコメンドに使う着眼点

アイテムベクトルの近さがアイテムの類似度として見なせるのではないか?

精度

単語間の文脈の純度を高めれば、類似度の精度が高まるのでは?

ベクトル

レコメンドしたいアイテムをベクトル化して、類似度を求められるのでは?

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

24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

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

25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

wikipediaなどの

テキストデータ

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

26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

wikipediaなどの

テキストデータ

ノイズが混じる

必要なアイテム全てを網羅できない

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

27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

サービスユーザーの

アクションログデータ

ノイズが混じる

必要なアイテム全てを網羅できない

user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …

wikipediaなどの

テキストデータ

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

28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

サービスユーザーの

アクションログデータ

ノイズが混じる

必要なアイテム全てを網羅できない

user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …

アイテムの関係性を内包する

必要なアイテム全てを網羅できる

wikipediaなどの

テキストデータ

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

29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドに適したword2vecのインプットデータとは

インプットデータとしてユーザーアクションログを使用する

サービスユーザーの

アクションログデータ

ノイズが混じる

必要なアイテム全てを網羅できない

user1 time1 ~~~~~~user2 time2 ~~~~~~user3 time3 ~~~~~~… … …

アイテムの関係性を内包する

必要なアイテム全てを網羅できる

wikipediaなどの

テキストデータ

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

30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文章と単語の作り方

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

31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文章と単語の作り方

I am a cat. As yet I have no name.

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

32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文章と単語の作り方

I am a cat. As yet I have no name.

文章 文章

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

33Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文章と単語の作り方

I am a cat. As yet I have no name.

文章 文章

単語

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

34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

アクションログを使った時の文章と単語の作り方

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

35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

アクションログを使った時の文章と単語の作り方

ユーザー毎のアイテムに対するアクションログ

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

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 …

ユーザー毎のアイテムに対するアクションログ

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

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

ユーザー毎のアイテムに対するアクションログ

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

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

ユーザー毎のアイテムに対するアクションログ

文章

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

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

ユーザー毎のアイテムに対するアクションログ

文章 単語

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

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

ユーザー毎のアイテムに対するアクションログ

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

41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

word2vecのアウトプットデータ

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

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…

… … …

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

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, ……)

… … …

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

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, ……)

… … …

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

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

… … …

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

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

… … …

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

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類似度を算出

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

48Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドリストの作成 〜 実サービスへの適用

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

49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドリストの作成 〜 実サービスへの適用

ユーザー

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

50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドリストの作成 〜 実サービスへの適用

ユーザー

item-A item-B item-C item-D item-E

時系列

ユーザーが最直近でアクションしたアイテムを10件抽出

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

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

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

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

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

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

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

54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験① 〜 オフラインテスト

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

55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験① 〜 オフラインテスト

概要

過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う

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

56Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験① 〜 オフラインテスト

概要

過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う

0

0.5

1

1.5

2

2.5

従来ロジックとword2vecによるKPIの比較

(従来ロジックを1とした時の比較)

従来ロジック

word2vec

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

57Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験① 〜 オフラインテスト

従来のレコメンドエンジンと比較して、効果が約1.6倍高い事が分かった

0

0.5

1

1.5

2

2.5

従来ロジックとword2vecによるKPIの比較

(従来ロジックを1とした時の比較)

従来ロジック

word2vec

概要

過去のユーザログデータを用いてバックミラー分析を行い、従来ロジックとword2vecロジックのレコメンド精度の比較を行う

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

58Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験② 〜 ABテスト

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

59Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験② 〜 ABテスト

概要

オンラインで、ユーザーを2つのグループに分け、従来ロジックとword2vecロジックのレコメンドリストを提示し、CVRの違いを調査する

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

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の違いを調査する

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

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ロジックによるレコメンドの方が効果が高い

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

62Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 仮説

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

63Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 仮説

ベクトル

ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?

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

64Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 仮説

ベクトル

ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?

item-A

item-B

User-Vec

item-D

item-C

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

65Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 仮説

ベクトルを足し合わせれば、志向ベクトルを作れる!?

ベクトル

ベクトルを足し合わせると、ユーザーの志向を捉える事が出来るのではないか?

item-A

item-B

User-Vec

item-D

item-C

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

66Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 ベクトル足し算

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

67Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 ベクトル足し算

ユーザー

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

68Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 ベクトル足し算

ユーザー

item-A item-B item-C item-D item-E

時系列

①ユーザーが最直近でアクションしたアイテムを10件抽出

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

69Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 ベクトル足し算

ユーザー

item-A item-B item-C item-D item-E

時系列

① ②ユーザーが最直近でアクションしたアイテムを10件抽出

それぞれのアイテムのベクトルを足し、合成ベクトルを作成

Int-Vec

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

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

合成ベクトルと類似度の高いアイテムを抽出

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

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

合成ベクトルと類似度の高いアイテムを抽出

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

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

合成ベクトルと類似度の高いアイテムを抽出

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

73Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 効果検証

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

74Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 効果検証

概要

オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する

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

75Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 効果検証

サービスZ

CVRが 27% 改善

21.56% ⇒ 27.29%

概要

オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する

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

76Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンの更なる進化 〜 効果検証

ベクトルを足し合わせる事によってユーザーの志向を捉える事が出来た

サービスZ

CVRが 27% 改善

21.56% ⇒ 27.29%

概要

オンラインで、ユーザーを2つのグループに分け、word2vecロジックとword2vec足し合わせロジックでのレコメンドリストを提示し、CVRの違いを調査する

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

77Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

レコメンドエンジンへの実装 〜 Hadoop活用

Hadoop

レコメンド生成バッチ

ユーザー行動ログ

集計バッチユーザー情報

行動ログ

ユーザー毎のレコメンド

ユーザー毎のパーソナライズレコメンドを日次で実施(主にHive)

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

78Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ユーザー

Web

HBase

レコメンドテーブルの参照API

Hadoop

行動ログ集計バッチ

検索API

APIリクエスト

検索行動

レコメンド取得

レコメンド

バルクロード

テーブル参照

リアルタイムレコメンドへの実装 〜 HBase活用

ユーザーの志向をリアルタイムで捉え、リアルタイムにレコメンドを実施

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

79Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ここまでのまとめ

• ユーザーのアクションログをword2vecのインプットに使用し、アイテムをベクトル化している

→文章を1ユーザーのログ、単語をアイテムと見なす

• ベクトル同士のcos類似度を計算することで、レコメンドエンジンに活用している

• 類似度計算ではHadoopを使って分散処理を行い高速化している

• ベクトルを足し合わせることでユーザーの志向を捉える事ができる

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

80Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

doc2vecを使った文書要約

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

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

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

82Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 doc2vecを文書要約に使う着眼点

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

83Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 doc2vecを文書要約に使う着眼点

ベクトル領域

複数の文章ベクトルによって作られた領域は、その中に入るベクトルを意味的に内包するのではないか?

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

84Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

仮説 〜 doc2vecを文書要約に使う着眼点

一番大きな領域を作る文章ベクトルを取れば、文書のまとめが作れる!?

ベクトル領域

複数の文章ベクトルによって作られた領域は、その中に入るベクトルを意味的に内包するのではないか?

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

85Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文書要約のイメージ

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

86Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文書要約のイメージ

文章1

文章2

文章10

文書

文章3

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

87Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文書要約のイメージ

文章1

文章2

文章10

文書

文章3

文章をベクトル化して

プロットする

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

88Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文書要約のイメージ

文章1

文章2

文章10

文書

文章3

文章をベクトル化して

プロットする

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

89Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

文書要約のイメージ

文章1

文章2

文章10

文書

文章3

文章をベクトル化して

プロットする文章1

文章10

文章7

文章6

文章3

文章2

文章9 文章5

文章4

文章8

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

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

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

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を意味的に内包するのではないか?

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

92Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験 〜 プレミア12に関する投稿をまとめてみる

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

93Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験 〜 プレミア12に関する投稿をまとめてみる

実験手順

記事の内容の把握、及びクレンジング

プレミア12準々決勝 日本vsプエルトリコの試合のニュース記事に関するコメント(計161件)

投稿のベクトル化、及びまとめに使用する投稿の抽出

今回は5つのコメントを抽出して要約を試みる

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

94Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験 〜 プレミア12に関する投稿をまとめてみる

ちなみに試合の内容は…

・4番の中村選手が欠場

・先発の前田投手が好投(7回無失点)

・打線は13安打9得点

・坂本選手が16打席ぶりのヒットを含む2安打3打点

・9回にプエルトリコが3ランホームラン

etc…

実験手順

記事の内容の把握、及びクレンジング

プレミア12準々決勝 日本vsプエルトリコの試合のニュース記事に関するコメント(計161件)

投稿のベクトル化、及びまとめに使用する投稿の抽出

今回は5つのコメントを抽出して要約を試みる

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

95Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験 〜 プレミア12に関する投稿をまとめてみる

結果

前田健太はもう決勝投げないだろうな今日7回まで行かしたってことはそういうことだな。

来季メジャーもあるし無理はさせない。

先発は 大谷と菅野か武田中継ぎは山崎・則本・牧田

炎上組 松井・増井・西・小川微妙組 大野・澤村

なんか炎上組は使いたくないし大野と澤村も内容悪いし

やっぱ中継ぎ全然足りてないわ

CS見てない人にはわからないかもしれんが、大谷は間隔が空きすぎるとダメになる。

ましてや東京ドームが苦手。初戦でボコられた韓国サイドは研究に

研究を重ねてリベンジして来ると考えると炎上して大敗するのが妥当。

よって戦犯大谷ということになる。まあ、野手が頑張って打撃戦に持ち込

めば話は別だが、相手の先発は何があっても負けないイデウンだから無理でしょう。

仮に大谷が炎上して負けても大谷一人のせいにしないで欲しいです(涙)。

調整登板させなかった首脳陣にも問題があるんだから(震え声)

ツイッター上のハムファン全員が増井燃えると予言してて草生えたわw

やはり増井はセーブかホールド機会で投げさせないとアカンな

平田三塁打→松田犠牲フライで実質試合終了なものだろ

ここで一番温い試合してしまったのは問題あるわ

増井に不安がある以上マッスルミュージカルは覚悟しとかないとな

マエケンは7回90球、中4日で決勝先発は十分ありうる

中村外して中村入れる打線は悪くはないんだが中田が案の定6番外れたら内容が悪くなった

どうすりゃいいんかね?

今まできつい試合ばかりだったからね、こんな試合もたまにはいいでしょ。でも、気は弛めないで!

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

96Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実証実験 〜 プレミア12に関する投稿をまとめてみる

特定の偏ったコメントではなく、満遍なくコメントが拾う事が可能

結果

前田健太はもう決勝投げないだろうな今日7回まで行かしたってことはそういうことだな。

来季メジャーもあるし無理はさせない。

先発は 大谷と菅野か武田中継ぎは山崎・則本・牧田

炎上組 松井・増井・西・小川微妙組 大野・澤村

なんか炎上組は使いたくないし大野と澤村も内容悪いし

やっぱ中継ぎ全然足りてないわ

CS見てない人にはわからないかもしれんが、大谷は間隔が空きすぎるとダメになる。

ましてや東京ドームが苦手。初戦でボコられた韓国サイドは研究に

研究を重ねてリベンジして来ると考えると炎上して大敗するのが妥当。

よって戦犯大谷ということになる。まあ、野手が頑張って打撃戦に持ち込

めば話は別だが、相手の先発は何があっても負けないイデウンだから無理でしょう。

仮に大谷が炎上して負けても大谷一人のせいにしないで欲しいです(涙)。

調整登板させなかった首脳陣にも問題があるんだから(震え声)

ツイッター上のハムファン全員が増井燃えると予言してて草生えたわw

やはり増井はセーブかホールド機会で投げさせないとアカンな

平田三塁打→松田犠牲フライで実質試合終了なものだろ

ここで一番温い試合してしまったのは問題あるわ

増井に不安がある以上マッスルミュージカルは覚悟しとかないとな

マエケンは7回90球、中4日で決勝先発は十分ありうる

中村外して中村入れる打線は悪くはないんだが中田が案の定6番外れたら内容が悪くなった

どうすりゃいいんかね?

今まできつい試合ばかりだったからね、こんな試合もたまにはいいでしょ。でも、気は弛めないで!

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

97Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

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

98Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

MROC(Marketing Research Online Community)

ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法

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

99Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

MROC(Marketing Research Online Community)

ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法

一つのテーマにつき、数百のコメントが付く

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

100Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

MROC(Marketing Research Online Community)

ある特定の商品やテーマなど共通の興味を持った人々をメンバー限定のコミュニティに招待し、自由にディスカッションしてもらいながら、消費者のニーズを探る調査手法

どのような事が話されているかを整理する事が非常に大変

一つのテーマにつき、数百のコメントが付く

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

101Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

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

102Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

アットホームな式にしたい

リゾート挙式がしたい

極力シンプルにしたい

沢山のゲストに来て欲しい

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

103Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 口コミのまとめ

アットホームな式にしたい

リゾート挙式がしたい

極力シンプルにしたい

沢山のゲストに来て欲しい

テーマに対してどのようなコメントが来ているのかをまとめる

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

104Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

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

105Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

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

106Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

①既存の口コミで領域を作成

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

107Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

①既存の口コミで領域を作成

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

108Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

① ②既存の口コミで領域を作成

新規の口コミをプロット

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

109Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

① ② ③既存の口コミで領域を作成

新規の口コミをプロット 領域に含まれるか否かを判定

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

110Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

実サービスへの展望 〜 新規コメントの抽出

新規の口コミが「新しい内容を含むかどうか」の判別を行う

① ② ③既存の口コミで領域を作成

新規の口コミをプロット 領域に含まれるか否かを判定

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

111Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

まとめ

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

112Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

本日のまとめ

• ユーザーのアクションログをword2vecのインプットに使用し、アイテムをベクトル化している

• ベクトル同士のcos類似度を計算することで、レコメンドエンジンに活用している

• ベクトルを足し合わせることでユーザーの志向を捉える事ができる

• 文書要約にdoc2vecを活用している

• 定性的に見て、doc2vecを使った文書要約が有用であることが分かった

• doc2vecを口コミの整理や、新たなコメントの内容が新規であるかどうかの判断ロジックとして活用を検討

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

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)・・・

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

114Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ビジネスを踏まえて泥臭くかつアグレッシブに分析・エンジニアリングができる方。

ご連絡ください。

戦友をさがしています。

Yes, We Are Hiring!池田 裕一

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

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

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