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

リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with TransformersDeep Learning JP
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)Deep Learning JP
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミング遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミングMatsuiRyo
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Yamato OKAMOTO
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion ModelsDeep Learning JP
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門joisino
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language ModelsDeep Learning JP
 

What's hot (20)

リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミング遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミング
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 

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

MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルCRI Japan, Inc.
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 

Recently uploaded (8)

MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 

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