概要

Tumblrのユーザの興味と性別を推定して広告のターゲティングに活かすという論文.興味の推定にはSkip-gramを拡張した半教師あり学習を,性別の推定にはロジスティック回帰を用いており,実運用としてデプロイするところまで行っている.

内容的にも著者的にも,実質WWW2015で発表されたqueryCategorizr: A Large-Scale Semi-Supervised System for Categorization of Web Search Queriesの手法をTumblrのデータに適用した論文といえる.

Tumblrの広告について

Tumblrの広告は少し特殊で,実際の記事が並ぶページに運営側から広告が差し込まれるわけではなく,アカウントを持つユーザのダッシュボードにネイティブアドとして広告が流れてくる.ユーザが興味を持ってその広告を踏むほかに,通常の記事と同様にリブログしたりライクしたりできるので,ブログ経由でシェアされた広告を他のユーザが踏む場合もある.論文中の記述によると通常のユーザが作成した記事が平均14回リブログされるのに対し,広告ポストは平均10,000回くらいリブログされるらしい.広告への流入量としては,全体の40%はリブログやライクされたもの経由という.

以上のような理由により,ユーザの趣向に合わせた広告をマッチングさせる必要がある.今回はデモグラフィック属性のうち性別と興味を対象としている.

1. 興味の推定

ユーザの興味を推定するために,記事に付けられたタグから興味のカテゴリに落としこむ方法を考える.これには前述のqueryCategorizrで考案されたSkip-gramの拡張として,タグのベクトル表現とカテゴリのベクトル表現を同じ特徴空間に落とす方法を用いている.タグ$g_{j}$について考えるときに,通常のSkip-gramの$\sum_{-n \le m \le n, m \neq 0} \log p(g_{j+m}|g_j)$に加えて,タグ$g_j$においてカテゴリ$c$が与えられた時の周りのタグを表現するために$\sum_{-n \le m \le n, m \neq 0} \log p(g_{j+m}|c)$を考える.感覚としては以下の図を参照.そして,カテゴリの推論する際にはタグのベクトル表現でk-NNを用いる.既存手法との比較は,通常のSkip-gramからロジスティック回帰とk-NNので分類したものと比較し,precision,recallともに上回った.実際にこれらをユーザの興味の推定に使うときには式(5.5)に示されているようにカテゴリごとに時間経過で減衰するようなinterest scoreを設定.

(Figure 6: grbovic2015kddA.pdf

2. 性別の推定

そもそもTumblrではアカウント開設時に性別の情報を取得していない.そのためまずはユーザと性別を対応させた正解セットを用意する必要がある.これにはブログの説明文(description)の中から正規表現でTable 7のような”my name is *“みたいな自己紹介文を取ってきて,US国勢調査から名前と性別の変換を行って正解セットを作成した.学習と予測には,ブログの記事などから作成した特徴量をもとに,L1正則化のロジスティック回帰を用いた.

個人的な感想

今回はSemi-supervised skip-gramをTumblrの記事に適用した論文だったが,タグとカテゴリの関係を別のものに置き換えれば,割といろんなところで応用できそうな印象.あと,word2vecのようなベクトル表現として可能になった加法構成性が今回の場合でも適用できるのかどうか気になるところ.

参考