論文概要
- 様々なタスクを解くことができる汎用的なembeddingモデル(StarSpaceと呼ぶ)を提案した。
- 文書分類のようなラベリング
- 文書探索やWeb検索のようなランキング
- 協調フィルタリングやコンテンツベースの推薦システム
- マルチリレーショングラフのembedding
- 単語、文、文書のembedding
- それぞれのタスクに応じて、離散的な特徴量からなるエンティティを埋め込み、それらを互いに比較し、類似度を学習する。
- 数値実験では、StarSpaceは多くのタスクで他の手法と比べ十分競争力のある結果を示している。
この論文を読む私のモチベーション
- 様々なタスクを業務で解く必要があり、汎用的な方法を活用することでベースラインモデル構築のコストを下げたい。
- 特に文書間の類似度や情報探索に興味がある。
モデル
- 離散的な特徴量(bag-of-features)を使ってエンティティのembeddingを学習する。
- 例えば、テキストに対してbag-of-word、n-gram、ユーザーに対して評価したアイテムなど
- 異なるエンティティ間でも比較することができる。
- 同じ空間でメトリックに応じてembeddingを計算する。
- 例えばユーザーとアイテム(推薦に使える)。アイテムとラベル(分類に使える)
- 損失関数
- $E^+$: positive entity pairs
- $E^-$: negative entity pairs. ランダムに$k$個選ぶ。
- $k$の選び方によるインパクトは後述。
- 例えば、文書分類の場合は$a$が文書で$b$がラベル
- $sim$: 類似度関数。cos類似や内積など。ハイパーパラメータとして調整する。
- $L_{batch}$: 損失関数。下記2つを試す。
- margin ranking loss: $\max(0, \mu - sim(a, b))$
- negative log loss of softmax
- (※ 数値実験ではmargin ranking lossのほうが良かった)
- 学習方法
- SGD
- Adagrad
- Hogwild(SGDの高速並列化手法)
- embeddingのmax normを使って半径$r$の円内にvectorを制限
Multiclass Classification(e.g. Text Classification)
- ドキュメントのfeatureとしてbag-of-wordsを使う。
- positive pairは訓練データから作る
- negative pairは正解ラベル以外のラベルからサンプリングする。
Multilabel Classification
- $a$に対して$b$をSGDのステップごとにサンプリングする。
Collaborative Filtering-based Recommendation
- ユーザーのセットと各ユーザーが評価したアイテムの集合
- ユーザーとアイテムのID embeddingを行う。
Collaborative Filtering-based Recommendation with out-of-sample user extension
- 古典的な方法では新しいユーザーに対応できない(ID embeddingされていないから)
- 1つを除いてユーザーが評価したアイテム全てを$a$とし、除いた1つを$b$とする。
- ユーザーのembeddingは評価したアイテムのembeddingの合計とする。
Content-based Recommendation
- 1つを除いてユーザーが評価したアイテム全てを$a$とし、除いた1つを$b$とする。
- ドキュメントの場合、bag-of-wordを特徴量として使う。
- wordのembeddingの合計をドキュメントのembeddingとして使う
Multi-Relational Knowledge Graph (e.g. Link Prediction)
- $(h, r, t)$
- $h$: head concept (e.g. Beyonce)
- $r$: relation (e.g. born-in)
- $t$: tail concept (e.g. Houston)
- $(a, b)$の選び方は2パターンある
- $a$として$(h, r)$, $b$として$t$
- $a$として$h$, $b$として$(r, t)$
Information Retrieval (e.g. Document Search) and Document Embeddings
- 教師あり学習の場合、$a$はquery keyword、$b$はドキュメント、$b^-$は無関係のドキュメント
- 教師なし学習の場合、ドキュメントからランダムに選んだ単語を$a$として使う
Learning Word Embeddings
- 教師なしで単語のembeddingを学習する。
- $a$は言語の単語、$b$は真ん中の単語とする。
Leaning Sentence Embedding
- positive例として、同じ文書から選んだ2つの文を$(a, b)$として使う。他の文書から選んだ文を$b^-$として使う。
Multi-Task Learning
- 前述のタスクを同時に解くこともできる。