SlideShare a Scribd company logo
1 of 46
Distributed Representations of
Sentences and Documents
Proceedings of The 31st International Conference on
Machine Learning (ICML 2014), pp. 1188 – 1196, 2014
スライド作成:吉田 朋史
工学院大学大学院 工学研究科 情報学専攻
インタラクティブメディア研究室
Quoc Le, Tomas Mikolov
Google Inc.
1/46
論文紹介
概要
文書をベクトルで表現 → Bag-of-Words (BOW) が一般的
⇒ 2つの大きな欠点
1. 単語の語順情報が失われる
2. 単語の意味を表現する事が苦手
2/46
提案手法:Paragraph Vector(doc2vec の中身)
◦ 可変長の文書 → 文書の固定長特徴ベクトル
◦ 文書中に出現する単語を予測するよう学習 → 特徴ベクトルを獲得
◦ 学習にはニューラルネットワークを使用
評価実験: 文書の極性(肯定 or 否定)判定 & 文書検索
◦ 短文・長文それぞれで既存手法を大幅に上回る
◦ 世界最先端の精度(筆者談)
本資料の構成
3/46
word2vecの説明:40%
◦ doc2vecの基本アイデアはword2vecの発展系(筆者の以前の研究)
◦ 文書に応用させただけで違いはちょっとだけだよ!(筆者談)
doc2vecの説明: 20%
◦ word2vecと対比しながら解説
◦ 圧倒的な実験結果をご紹介するぜ!!
前提となる基本知識の説明:40%
◦ Bag-of-Words(ベクトル空間モデル)
◦ ニューラルネットワーク
※注意
◦ 機械学習の細かいアルゴリズムはすっ飛ばします
◦ 引用元の記載が無い図は紹介論文本文中の図を使用しています
背景
4/46
文書のクラスタリング → 自然言語処理の重要なテーマ
◦ ウェブ検索・スパムフィルタリングなどの中核技術
◦ 文書をベクトルとして扱うアルゴリズムが多数
◦ K-means †
◦ ロジスティック回帰 ††
† HTTP://TECH.NITOYON.COM/JA/BLOG/2009/04/09/KMEANS-VISUALISE/
†† HTTP://QIITA.COM/HIK0107/ITEMS/9B6E1E989F4EAEFDC31D
Bag-of-Words (BoW)
5/46
文書をベクトルで表す最もポピュラーな方法
◦ 行:文書中に各単語が何回出現したか(単語頻度)
◦ 列:各文書を表すベクトル
𝒅 𝟏 =
2
2
1
1
0
0
0 仕事
世話
日課
散歩
私
犬
猫
𝒅 𝟐 =
2
0
0
0
2
1
1 仕事
世話
日課
散歩
私
犬
猫
𝑫 =
2 2
2 0
1 0
1 0
0 2
0 1
0 1 仕事
世話
日課
散歩
私
犬
猫
𝒅 𝟏 𝒅 𝟐
文書1(𝒅 𝟏)=「私は犬を飼っていて,犬の散歩は私の日課だ」
文書2(𝒅 𝟐)=「私は猫を飼っていて,猫の世話は私の仕事だ」
例)
Bag-of-Words の欠点
6/46
単語の語順情報が失われる
◦ 全く同じ単語が同じ頻度で含まれる → 同じ文書と判定
◦ bag-of-n-gramsは語順も考慮 → しかし疎&高次元になりやすい
単語の意味関係を表現出来ない
◦ 文書1(𝒅 𝟏)=「私は犬が好き」
◦ 文書2(𝒅 𝟐)=「僕はポメラニアンが好き」
好き
ポメラニアン
が
犬
私
は
僕
𝑫 =
1 0
1 1
1 0
1 1
1 1
0 1
0 1
𝒅 𝟏 𝒅 𝟐
n-gram
7/46
𝑛 単語を最小単位 → 1単語ずつずらして文章を分割
例)「This is a good pen」
◦ 𝑛 = 2 :This is / is a / a good / good pen
◦ 𝑛 = 3 :This is a / is a good / a good pen
日本語文章: 𝑛 文字を最小単位として文を分割
例)「今日は大雨です。」
◦ 𝑛 = 2 :今日/日は/は大/大雨/雨で/です/す。/。
◦ 𝑛 = 3 :今日は/日は大/は大雨/大雨で/雨です/です。/す。/ 。
◦ 形態素解析:今日/は/大雨/です/。
◦ 𝑛 = 2 → bigram と呼んだりする
単語のベクトル表現
8/46
ニューラルネットワークで単語ベクトルを得る方法が確立
◦ 筆者が考えた word2vec など
◦ 文章は単語の組み合わせ → 単語ベクトルで文書も表現できないか?
手法1:文書内の全単語ベクトルの重み付き平均
→ 単純に足し合わせると BOW と同様に語順を反映できない
手法2:構文解析で単語間の関係や順序を考慮して重み付き平均
◦ 構文解析:文の主語動詞,修飾関係などを分析
◦ 単文単位にしか適応できない
→ フレーズ(文より短い)やパラグラフ(複数文)に対応できない
単語ベクトルを組み合わせるだけでは文書を上手く表現できない
提案手法
9/46
word2vec と同様のアイデアで文書を表現するベクトルを獲得
◦ 文書を表現するベクトル → パラグラフベクトル
◦ パラグラフ:複数文の集まり(≒ 段落)
◦ パラグラフ中に出現する単語を予測するよう学習
既存手法と比べた利点
◦ どんな長さの入力文にも対応できる
◦ 入力の長さによって処理が変わらない&構文解析も必要ない
なぜ「パラグラフ」ベクトル?
◦ 文書(document)が短くても長くてもOK!と強調したかった(筆者談)
◦ genism の実装名は doc2vec ですが・・・(doc:documentの略)
閑話休題
10/46
まず word2vec について理解する必要があります
word2vec ではニューラルネットワークを学習に使います
というわけでニューラルネットワークのお勉強です
ニューロン(神経細胞)
11/46
人間の脳を構成する細胞
◦ 入力信号を細胞毎に重み付けて合計
◦ 合計値が閾値を超えたときだけ次の細胞へ信号送信
出
力
信
号
閾値を超えると
信号送信
入力信号の
重み付き総和
重
み
付
け
A
B
閾
値
細胞
細胞
入力信号
入力信号
ニューラルネットワーク(NN)
12/46
ニューロンの働きを数学でモデル化
◦ 入力をユニット毎に重み付けて合計
◦ 合計値が閾値を超えたときだけ次のユニットへ出力
◦ 入力/出力はベクトルで表現する事が多い
入力
𝒙 𝟏 =
3
1
𝒙 𝟐 =
1
2
𝒘 𝟏 = 2
𝒘 𝟐 = −3
重み
2
3
1
3
−4
重み付き
総和
𝒇
3
−4
◦ 値を0~1に変換
◦ 0:信号無し
◦ 1:信号あり
活性化
関数
1
0
出力
−3
1
2
脳の情報処理の仕組み
13/46
物体や言葉を
認識
︙
処理を行う細胞
(色・形の認識など)
感覚器官
(目・耳など)
信号
細
胞
︙
細
胞
細
胞
︙
細
胞
細
胞
︙
細
胞
階層型ニューラルネットワーク
14/46
出力層
︙
︙
中間層入力層
︙ ︙ ︙
中間層が大量 → Deep Learning
NN を用いたクラスタリング
15/46
例)文書のカテゴリ分類
◦ 入力:単語「工学院」が含まれる文書 𝒅 𝟏
◦ 出力:文書が各カテゴリに属する確率 𝒑
◦ 𝑝1:𝒅 𝟏 が「工学院大学」カテゴリに属する確率
◦ 𝑝2:𝒅 𝟐 が「日本工学院」カテゴリに属する確率
𝒑 =
𝑝1
𝑝2
⋮
重み
𝒘 𝟏
出力層中間層入力層
𝒅 𝟏 =
𝑥1
𝑥2
⋮
𝑥 𝑛
︙
重み
𝒘 𝟐
活性化
関数
確率分布に
変換
都合の良い関数が必要
Softmax 関数
16/46
𝑓
𝑥1
𝑥2
⋮
𝑥 𝑛
=
𝑒 𝑥1
𝑒 𝑥1 + 𝑒 𝑥2 + ⋯ + 𝑒 𝑥 𝑛
𝑒 𝑥2
𝑒 𝑥1 + 𝑒 𝑥2 + ⋯ + 𝑒 𝑥 𝑛
⋮
𝑒 𝑥 𝑛
𝑒 𝑥1 + 𝑒 𝑥2 + ⋯ + 𝑒 𝑥 𝑛
𝑓
10
2
1
=
0.9995 ⋯
0.0003 ⋯
0.0001 ⋯
例)
入力ベクトル → 確率分布を表す出力ベクトルに変換
◦ 各次元の値=0~1
◦ 各次元の値の総和=1
◦ 元の値の大小関係を保存
バックプロパゲーション
17/46
正解値との誤差を少なくするように重み 𝒘 𝟏, 𝒘 𝟐 の値を更新
◦ 訓練データから正解値 𝒑′
を算出 → 出力値 𝒑 との誤差を算出
◦ 𝑝1
′
:𝒅 𝟏 が「工学院大学」カテゴリに属する実際の確率
◦ 𝑝2
′
:𝒅 𝟏 が「日本工学院」カテゴリに属する実際の確率
𝒑 =
𝑝1
𝑝2
⋮
重み
𝒘 𝟏
出力層中間層入力層
𝒅 𝟏 =
𝑥1
𝑥2
⋮
𝑥 𝑛
︙
重み
𝒘 𝟐
Softmax
関数
確率分布に
変換
𝒑′
=
𝑝1
′
𝑝2
′
⋮
正解値
誤差
更新更新
誤差を減らすよう重みを更新
閑話休題2
18/46
ニューラルネットワークでの学習の流れが分かりました
次は word2vec の仕組みを理解しましょう
Harris の分布仮説
19/46
「飼っている◯◯と散歩」→ ◯◯に入る単語は?
◦ 「犬」「イヌ」「ポメラニアン」などなど
◦ 同じ文脈で使われる単語 → 似た意味を持つ傾向がある
◦ 同じ文脈 ≒ 共起する周辺単語が同じ
基本方針:ある単語 ⇄ 周辺単語を予測する NN を構築
◦ その過程で単語を表現するベクトルを上手いこと学習したい
◦ 大規模データで学習できるようにモデルはなるべく単純にしたい
HTTP://WWW.TANDFONLINE.COM/DOI/PDF/10.1080/00437956.1954.11659520
つまりどういうことだってばよ?
20/46
◯=「犬」な確率
飼って
いる
と
散歩
◯
周辺単語
こういう確率をニューラルネットワークに予測させる
コンテキスト(文脈)
◦ 別名 Window
前2単語
後2単語
提案モデル(今回は CBOWを紹介)
21/46
周辺単語 → 該当単語を予測
Continuous BOW Skip-gram
該当単語 → 周辺単語を予測
HTTPS://ARXIV.ORG/ABS/1301.3781
One-hot ベクトル
22/46
入力単語を表すベクトル
◦ 次元数:総語彙数 𝑆
◦ 該当する単語の次元だけ値が1,その他の次元の値は全て0
◦ word2vec → 総次元数は数百万
𝒙犬 =
0
0
1
0
0
と
犬
飼って
いる
散歩
𝒙𝒊 =
0
⋮
0
1
0
⋮
0
𝑆 次元
例)文書「飼っている犬と散歩」における
単語「犬」の単語ベクトル
One-hot ベクトル
入力層への入力
23/46
𝒙 𝟏 =
1
0
0
0
0
と
犬
飼って
いる
散歩
𝒙 𝟒 =
0
0
0
1
0
と
犬
飼って
いる
散歩
𝒙 𝟐 =
0
1
0
0
0
と
犬
飼って
いる
散歩
𝒙 𝟓 =
0
0
0
0
1
と
犬
飼って
いる
散歩
𝒙 𝟏 𝒙 𝟐 𝒙 𝟑 𝒙 𝟒
word2vec が出したいもの
24/46
One-hot ベクトル
𝒘𝒊 =
0.1234 …
0.5678 …
⋮
数百次元𝒙𝒊 =
0
⋮
0
1
0
⋮
0
数百万次元
単語ベクトル
ちょっとタンマ
25/46
Q. 単語ベクトルってどこで獲得するの?
⇒ A. 値が更新されるところです!!
誤差
誤差を減らすよう重みを更新
𝒑′ =
𝑝1
′
𝑝2
′
⋮
正解値
更新更新
𝒑 =
𝑝1
𝑝2
⋮
重み
𝒘 𝟏
出力層中間層入力層
︙
重み
𝒘 𝟐
Softmax
関数
𝒙𝒊 =
0
⋮
0
1
0
⋮
0
入力層→中間層の重み
26/46
各単語の単語ベクトルを横に並べた行列
◦ 𝒘𝒊:単語 𝒙𝒊 を表現する 𝑁 次元列ベクトル(𝑁:200~400)
◦ 各次元は適当な初期値を与えておく
𝑾 = 𝒘 𝟏 𝒘 𝟐 ⋯ 𝒘𝒊 ⋯ 𝒘 𝑺
=
𝑤1,1 𝑤2,1 ⋯ 𝑤𝑖,1 ⋯ 𝑤𝑆,1
𝑤1,2 𝑤2,2 ⋯ 𝑤𝑖,2 ⋯ 𝑤𝑆,2
𝑤1,𝑁 𝑤2,𝑁 ⋯ 𝑤𝑖,𝑁 ⋯ 𝑤𝑠,𝑁
⋮ ⋮ ⋮ ⋮
⇒ こいつは一体何者?
種明かし
27/46
入力(One-hot ベクトル)𝒙𝒊 を掛け算してみると・・・?
𝑾𝒙𝒊 =
𝑤1,1 𝑤2,1 ⋯ 𝑤𝑖,1 ⋯ 𝑤𝑆,1
𝑤1,2 𝑤2,2 ⋯ 𝑤𝑖,2 ⋯ 𝑤𝑆,2
𝑤1,𝑁 𝑤2,𝑁 ⋯ 𝑤𝑖,𝑁 ⋯ 𝑤𝑆,𝑁
0
⋮
0
1
0
⋮
0
=
𝑤𝑖,1
𝑤𝑖,2
⋮
𝑤𝑖,𝑖
⋮
𝑤𝑖,𝑁
= 𝒘𝒊
⇒ 単語 𝒙𝒊 に対応する単語ベクトル 𝒘𝒊 が取り出せた
入力層の出力(中間層の入力)
28/46
𝑾 𝒙 𝟏 𝒙 𝟐 𝒙 𝟑 𝒙 𝟒 = 𝒘 𝟏 𝒘 𝟐 𝒘 𝟑 𝒘 𝟒
文脈ベクトル 𝒄 = 𝒘 𝟏 + 𝒘 𝟐 + 𝒘 𝟑 + 𝒘 𝟒 =
𝑤1+2+3+4,1
𝑤1+2+3+4,2
⋮
𝑤1+2+3+4,𝑁
入力単語 𝒙 𝟏 𝒙 𝟐 𝒙 𝟑 𝒙 𝟒 と重み 𝑾 の掛け算結果
結果を結合 →文脈ベクトル 𝒄 を出力(活性化関数は使わない)
◦ 前後の単語を考慮した文脈を表すベクトル
◦ 統合の方法には議論あり(総和 or 平均 or 連結(?))
◦ 現在では連結が採用されることが多いらしい(今回は総和で)
中間層→出力層の重み
29/46
各単語ベクトルの転置ベクトルを縦に並べた行列
◦ 転置ベクトル:ベクトルの行と列を入れ替えたもの
◦ 入力層→中間層の重み 𝑾 の転置行列 𝑾 𝒕
𝑾 𝒕
=
𝒘 𝟏
𝒕
𝒘 𝟐
𝒕
⋮
𝒘𝒊
𝒕
⋮
𝒘 𝑺
𝒕
=
𝑤1,1 𝑤1,2
⋯ 𝑤1,𝑁
𝑤2,1 𝑤2,2
⋯ 𝑤2,𝑁
𝑤𝑖,1 𝑤𝑖,2
⋯ 𝑤𝑖,𝑁
𝑤𝑆,1 𝑤𝑆,2
⋯ 𝑤𝑆,𝑁
⋮
⋮
⋮
⋮
⋮
⋮
中間層の出力(まで後一歩)
30/46
文脈ベクトル𝒄 = 𝒘 𝟏 + 𝒘 𝟐 + 𝒘 𝟑 + 𝒘 𝟒 と重み 𝑾 𝒕
の掛け算
𝑾 𝒕 𝒄 =
𝑤1,1 𝑤1,2
⋯ 𝑤1,𝑁
𝑤2,1 𝑤2,2
⋯ 𝑤2,𝑁
𝑤𝑖,1 𝑤𝑖,2
⋯ 𝑤𝑖,𝑁
𝑤𝑆,1 𝑤𝑆,2
⋯ 𝑤𝑆,𝑁
𝑣1+2+3+4,1
𝑣1+2+3+4,2
⋮
𝑣1+2+3+4,𝑁
=
𝒘 𝟏
𝒕
∙ 𝒄
𝒘 𝟐
𝒕
∙ 𝒄
⋮
𝒘𝒊
𝒕
∙ 𝒄
⋮
𝒘 𝑺
𝒕
∙ 𝒄
各次元の値 → 単語ベクトル 𝒘𝒊 と文脈ベクトル 𝒄 の内積
◦ 内積 → コサイン類似度の正規化する前の値
◦ 文脈と単語の共起度の強さを表すスコアのような役割
⋮
⋮
⋮
⋮
⋮
⋮
ようやく出番だ!Softmax 関数!
31/46
𝑓
𝒘 𝟏
𝒕
∙ 𝒄
𝒘 𝟐
𝒕
∙ 𝒄
⋮
𝒘𝒊
𝒕
∙ 𝒄
⋮
𝒘 𝑺
𝒕
∙ 𝒄
=
𝑒 𝑤1
𝑡∙𝑐
𝑒 𝑤1
𝑡∙𝑐 + 𝑒 𝑤2
𝑡∙𝑐 + ⋯ + 𝑒 𝑤𝑖
𝑡∙𝑐
+ ⋯ 𝑒 𝑤 𝑆
𝑡∙𝑐
𝑒 𝑤2
𝑡∙𝑐
𝑒 𝑤1
𝑡∙𝑐 + 𝑒 𝑤2
𝑡∙𝑐 + ⋯ + 𝑒 𝑤𝑖
𝑡∙𝑐
+ ⋯ 𝑒 𝑤 𝑆
𝑡∙𝑐
⋮
𝑒 𝑤𝑖
𝑡
∙𝑐
𝑒 𝑤1
𝑡∙𝑐 + 𝑒 𝑤2
𝑡∙𝑐 + ⋯ + 𝑒 𝑤𝑖
𝑡
∙𝑐 + ⋯ 𝑒 𝑤 𝑆
𝑡∙𝑐
⋮
𝑒 𝑤 𝑆
𝑡
∙𝑐
𝑒 𝑤1
𝑡∙𝑐 + 𝑒 𝑤2
𝑡∙𝑐 + ⋯ + 𝑒 𝑤𝑖
𝑡∙𝑐
+ ⋯ 𝑒 𝑤 𝑆
𝑡∙𝑐
=
𝑝1
𝑝2
⋮
𝑝𝑖
⋮
𝑝 𝑆
𝒘𝒊
𝒕
∙ 𝒄 → 確率値 𝑝𝑖 に変換
◦ 𝑝𝑖=ある文脈(周辺単語群)𝒄 において単語 𝒘𝒊 が出現する確率
◦ 内積の値の大小関係を考慮して確率に変換 ⇒ 出力層への入力
つまりこういうことだってばよ!!
32/46
𝑾 = 𝒘 𝟏 𝒘 𝟐 ⋯ 𝒘𝒊 ⋯ 𝒘 𝑺 の値を更新 → 単語ベクトル 𝒘𝒊 を獲得
◦ 正解値 → 学習データから算出した実際の確率
◦ 𝑝3(「犬」の出現確率)が高くなるように重み 𝑾 を更新
◦ 𝑾 𝒕 は 𝑾 の転置行列 → 更新する必要無し
誤差を減らすよう重みを更新
誤差
𝒑′
=
𝑝1
′
𝑝2
′
𝑝3
′
𝑝4
′
𝑝5
′
⋮
正解値
更新
𝒑 =
𝑝1
𝑝2
𝑝3
𝑝4
𝑝5
⋮
重み
𝑾
出力層中間層入力層
重み
𝑾 𝒕
Softmax
関数
「飼って」= 𝒙 𝟏
「いる」= 𝒙 𝟐
「と」= 𝒙 𝟒
「散歩」= 𝒙 𝟓
𝑤1+2+3+4,1
𝑤1+2+3+4,2
⋮
𝑤1+2+3+4,𝑁
成し遂げた
33/46
以上,word2vec についての論文紹介でした
ご清聴ありがとうございました!!!
(もうちょっとだけ続くんじゃ)
doc2vec が学習するもの
34/46
文書ベクトル 𝒅𝒊 を全文書数 𝑈 個文並べた重み行列 𝑫
◦ 次元数 𝑁 は単語ベクトルと共通(文書 ≒ 新しい単語とみなす)
◦ 𝑈 次元 One-hot ベクトルを掛けると文書ベクトル 𝒅𝒊 が取り出せる
𝑫 = 𝒅 𝟏 𝒅 𝟐 ⋯ 𝒅𝒊 ⋯ 𝒅 𝑼
=
𝑑1,1 𝑑2,1 ⋯ 𝑑𝑖,1 ⋯ 𝑑 𝑈,1
𝑑1,2 𝑑2,2 ⋯ 𝑑𝑖,2 ⋯ 𝑑 𝑈,2
𝑑1,𝑁 𝑑2,𝑁 ⋯ 𝑑𝑖,𝑁 ⋯ 𝑑 𝑈,𝑁
⋮ ⋮ ⋮ ⋮
PV-DM(分散記憶モデル)
35/46
周辺単語 + 文書ベクトルを入力 →中間層で結合
◦ 周辺単語 + 文書ベクトル → 文書全体の文脈が加味される
◦ 文書ベクトル → 文脈を保持するメモリのように振る舞う
◦ word2vec の CBOW に対応(gensim のデフォルトはこっち)
中間層の入力
◦ 単語ベクトル 𝒘𝒋 , 𝒘𝒋+𝟏 , ⋯
◦ 文書ベクトル 𝒅𝒋
PV-DBOW(分散 BOW モデル)
36/46
語順を無視して(!?)該当文書内に含まれそうな単語を予測
◦ 入力:文書ベクトルのみ
◦ 単語ベクトル行列 𝑾 を学習しなくて済むから早い!
◦ word2vec の Skip-gram と対応
◦ gensim の実装では Skip-gram で 𝑾 を学習するオプションあり
◦ あんだけ語順語順言ってたのにこの期に及んで無視・・・!?
中間層の入力:文書ベクトル 𝒅𝒋
この後は?
37/46
𝑾 𝒕
=
𝒘 𝟏
𝒕
𝒘 𝟐
𝒕
⋮
𝒘𝒊
𝒕
⋮
𝒘 𝑺
𝒕
=
𝑤1,1 𝑤1,2
⋯ 𝑤1,𝑁
𝑤2,1 𝑤2,2
⋯ 𝑤2,𝑁
𝑤𝑖,1 𝑤𝑖,2
⋯ 𝑤𝑖,𝑁
𝑤𝑆,1 𝑤𝑆,2
⋯ 𝑤𝑆,𝑁
各単語ベクトルの転置行列 𝑾 𝒕
と掛ける
◦ word2vec の 𝑾 𝒕
と全く同じもの
◦ PV-DM:先に 𝑾 を学習してから 𝑫 を学習
◦ PV-DBOW: 𝑾 は初期値のまま更新せず 𝑫 だけ学習
◦ あとは Softmax 通して 𝑫 の重み更新して~の繰り返し
評価実験 1:感情分析(単文)
38/46
使用データ:Stanford Sentiment Treebank Dataset
◦ Rotten Tomatoes(映画レビューサイト)のレビュー
◦ データ数:11,855文(0:Very Negative ~ 1:Very Positive のラベル付き)
◦ 訓練 / テスト / 検証用データ:8,544 / 2,210 / 1,110文
実験内容
◦ ラベルの5値分類:{ Very Negative, Negative, Neutral, Positive, Very Positive }
◦ ラベルの2値分類:{ Negative, Positive}
◦ PV-DM・PV-DBOW 共に文書ベクトルの次元数 = 400
◦ Window 幅 = 8(交差検証して決めたよ†)
◦ 学習した文書ベクトルをロジスティック回帰に入力 → ラベル値を予測
HTTP://GIHYO.JP/DEV/SERIAL/01/MACHINE-LEARNING/0021
実験結果 1
39/46
提案手法が最強
◦ BOWを使う手法(ナイーブベイズ・SVM)は精度が悪い
◦ 単語ベクトルの平均では精度は向上しない
◦ NN を使うとちょっと良くなる(その中でも提案手法最強)
評価実験 2:感情分析(長文)
40/46
使用データ:IMDB Dataset
◦ IMDB(映画レビューサイト)のレビュー(全て複文)
◦ データ数:100,000文
◦ 訓練データ:75,000文(ラベル: Negative or Positive)
◦ ラベル有り / 無し:25,000 / 50,000文
◦ ラベル有りテストデータ:25,000文
実験内容
◦ ラベルの2値分類:{ Negative, Positive }
◦ PV-DM・PV-DBOW 共に文書ベクトルの次元数 = 400
◦ Window 幅 = 10(交差検証して決めたよ)
◦ 学習した文書ベクトルをロジスティック回帰に入力 → ラベル値を予測
実験結果 2
41/46
提案手法が最強
◦ BOWを使う手法が強い
◦ 長い文書 → 語順の影響が弱まってくる?
◦ そんな中でも提案手法最強
評価実験 3:情報検索
42/46
使用データ:ウェブページ
◦ 100万クエリ × 検索結果上位10件 = 10,000,000ページのスニペット
◦ これ絶対 Google からもらったろ
実験内容
◦ 3つの文書を用意
◦ 2つ → 同じクエリによりヒットしたページ(類似度高いはず)
◦ 残り1つ → 違うクエリによりヒットしたページ(類似度低いはず)
◦ 文書ベクトル間のコサイン類似度を算出 → 正しく類似度判定できるか
スニペット
実験結果 3
43/46
提案手法最強
◦ Weighted:各次元の値をTF-IDFで重み付け
◦ 色々やったけどやっぱ提案手法最強だぜ
その他の考察結果
44/46
PV-DM vs PV-DBOW → 基本的には PV-DM の方が強い
◦ PV-DM 単独で使ってもだいたい良い結果
◦ PV-DBOWと合わせて使うほうがオススメ
PV-DM での入力値の統合 → 総和より連結の方が良い
◦ 総和だと語順失われるから
◦ 結局 concatenation(連結)ってどういう操作なんですかね・・・
Window 幅は交差検証して決めようぜ!
◦ 多くのアプリケーションで上手くいく幅 → 5~12くらい
学習は並列化してやろうぜ!
◦ 16コアで25,000文書 × 平均230単語 → 平均30分で学習終了
◦ 初期の実装と比較して爆速になってる(重み更新アルゴリズムの進化)
まとめ
45/46
提案手法:パラグラフベクトル(doc2vec の中身)
◦ 可変長の文書 → 文書の固定長特徴ベクトル
◦ 文書中に出現する単語を予測するよう学習 → 特徴ベクトルを獲得
◦ 学習にはニューラルネットワークを使用
評価実験: 文書の極性(肯定 or 否定)判定 & 文書検索
◦ 短文・長文それぞれで既存手法を大幅に上回る
◦ BOW の欠点(語順・意味)を克服
◦ 他の NN を用いた最先端の手法を上回る精度
期待 → テキストデータ以外の時系列データへの適用
◦ 映像・音声データなど(データの前後関係に意味があるもの)
参考文献
46/46
ニューラルネットワーク関連
◦ http://www-ailab.elcom.nitech.ac.jp/lecture/neuro/menu.html
◦ http://mathtrain.jp/softmax
word2vec & doc2vec 関連
◦ http://tkengo.github.io/blog/2016/05/09/understand-how-to-learn-
word2vec/
◦ https://deepage.net/bigdata/machine_learning/2016/09/02/word2vec_power
_of_word_vector.html
◦ http://stackoverflow.com/questions/27470670/how-to-use-gensim-doc2vec-
with-pre-trained-word-vectors
◦ http://datascience.stackexchange.com/questions/10724/how-does-pv-dbow-
doc2vec-work
◦ https://groups.google.com/forum/#!topic/gensim/uC6I47JtIps

More Related Content

What's hot

2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)Tatsuya Yokota
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データShohei Miyashita
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential EquationsDeep Learning JP
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...joisino
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...Deep Learning JP
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Surveytmtm otm
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~Takuya Ono
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative ModelingDeep Learning JP
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!KnowledgeGraph
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本hoxo_m
 
【DL輪読会】Variable Bitrate Neural Fields
【DL輪読会】Variable Bitrate Neural Fields【DL輪読会】Variable Bitrate Neural Fields
【DL輪読会】Variable Bitrate Neural FieldsDeep Learning JP
 

What's hot (20)

実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
 
【DL輪読会】Variable Bitrate Neural Fields
【DL輪読会】Variable Bitrate Neural Fields【DL輪読会】Variable Bitrate Neural Fields
【DL輪読会】Variable Bitrate Neural Fields
 

Similar to 【論文紹介】Distributed Representations of Sentences and Documents

点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイ点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイTakuya Minagawa
 
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...禎晃 山崎
 
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)Relation Classification via Convolutional Deep Neural Network (Zeng et al.)
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)marujirou
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺についてKeisuke Hosaka
 
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...The University of Tokyo
 
Nl237 presentation
Nl237 presentationNl237 presentation
Nl237 presentationRoy Ray
 
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Naoaki Okazaki
 
dont_count_predict_in_acl2014
dont_count_predict_in_acl2014dont_count_predict_in_acl2014
dont_count_predict_in_acl2014Sho Takase
 

Similar to 【論文紹介】Distributed Representations of Sentences and Documents (10)

点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイ点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイ
 
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
 
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)Relation Classification via Convolutional Deep Neural Network (Zeng et al.)
Relation Classification via Convolutional Deep Neural Network (Zeng et al.)
 
詳説word2vec
詳説word2vec詳説word2vec
詳説word2vec
 
Extract and edit
Extract and editExtract and edit
Extract and edit
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
 
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...
CVPR2016読み会 "Inside-Outside Net: Detecting Objects in Context with Skip Pooli...
 
Nl237 presentation
Nl237 presentationNl237 presentation
Nl237 presentation
 
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
 
dont_count_predict_in_acl2014
dont_count_predict_in_acl2014dont_count_predict_in_acl2014
dont_count_predict_in_acl2014
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

【論文紹介】Distributed Representations of Sentences and Documents