Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

能動学習による多関係データセットの構築

1,267 views

Published on

セマンティックウェブ、知識ベースなど、様々なデータは、二主体間の複数種類の有向関係で記述できる。これを多関係データと呼ぶ。ウェブや科学論文から多関係データセットを自動抽出する研究が多く行われているが、常識的な知識などが抽出できないという欠点がある。本研究では、能動的に人に関係の有無を尋ねる能動学習を用いて多関係データセットを構築する手法を提案する。実データを用いた実験により手法の有効性を確認する。

Published in: Data & Analytics
  • Be the first to comment

能動学習による多関係データセットの構築

  1. 1. /31 能動学習による 多関係データセットの構築 梶野 洸1, 岸本 章宏2, Adi Botea2, Elizabeth Daly2, Spyros Kotoulas2 1. 東京大学 2. IBM Research - Ireland 1
  2. 2. /31 研究概要 ■ 問題設定 入力: 主体, 関係の集合 出力: 主体間の各関係の有無 仮定: 人によるアノテーションが必要 ■ アプローチ: 能動学習 2 人手が必要な多関係データセット構築の効率化を取り扱う 犬 動物 人間 含まれる同じ ではない オラクル 1. モデルがデータを選択し ラベルを要求 2. ラベルを受け取りデータを更新 多関係 データモデル 3. モデルを再学習
  3. 3. /31 目次 ■ 導入・問題設定: □ 多関係データの定義: 主体間に複数の有向関係が存在 □ 定式化: データセット構築と予測モデル構築 ■ 提案手法: □ 多関係データモデル: 正例・負例らしさを学習 □ 能動学習: モデルを元にラベル付けを依頼 ■ 実験 □ Cold-start 条件: 初期状態でラベルなし 3 多関係データセット構築を目的とする
  4. 4. /31 目次 ■ 導入・問題設定: □ 多関係データの定義: 主体間に複数の有向関係が存在 □ 定式化: データセット構築と予測モデル構築 ■ 提案手法: □ 多関係データモデル: 正例・負例らしさを学習 □ 能動学習: モデルを元にラベル付けを依頼 ■ 実験 □ Cold-start 条件: 初期状態でラベルなし 4 多関係データセット構築を目的とする
  5. 5. /31 多関係データ ■ 定義 □ 三つ組データ: t = (i, j, k) • 主体: i, j ∈E • 有向関係: k ∈R □ 多関係データセット: (Δp, Δn) • Δp = {t | 正のラベルをもつ} (仮定: |Δp| ≪ |Δ| ) • Δn = {t | 負のラベルをもつ} 5 多関係データは二値ラベルの付いた三つ組から構成される 全三つ組 犬 動物 人間 含まれる同じ ではない
  6. 6. /31 応用例: 知識ベース ■ 実データ ■ 応用: NLP/IR/対話システム □ 人間の知識の情報源 □ 推論に必要 6 データセット 例 WordNet [Miller,  95] (辞書) (dog,  canine, 同義語),  (dog,  poodle,  上位語) Freebase  [Bollacker+, 08] (百科事典) (BobDylan,  Robert  Allen  Zimmerman,  AlsoKnownAs) ConceptNet [Liu+,  04] (saxophone,  jazz,  UsedFor),   (learn,  knowledge,  MotivatedByGoal) 知識ベースは人間の知識を多関係データで表したものである
  7. 7. /31 本研究の問題設定 ■ 多関係データセットの一般的性質 □ 主体: 102∼106 個 □ 関係: 10∼104 個 □ 正例の割合: 10-7∼1% □ ラベル付けは人間のみが可能な場合がある (常識的な知識, 未知の知識など) ■ 本研究での問題設定 人手による多関係データセット構成の効率化 7 要素数が多いため、多関係データセットの構築は大変 要素数: 105∼1016 個 |E | |E | |R |
  8. 8. /31 定式化: 二つの目的 ■ 入力 □ 主体集合 E, 関係集合 R, オラクル O : E E R → {正, 負} ■ 問題1: データセット構築問題 □ 出力: 正例集合 Δp (正例が少ないので、正例の収集に注力) ■ 問題2: 予測モデル構築問題 □ 出力: 予測モデル M: E E R → R □ 評価基準: テストデータ での ROC-AUC 8 目的に応じて二つの問題設定を考える ・誤りなし ・B 個のラベルを取得可能 予測スコア ?|E | |E | |R |
  9. 9. /31 目次 ■ 導入・問題設定: □ 多関係データの定義: 主体間に複数の有向関係が存在 □ 定式化: データセット構築と予測モデル構築 ■ 提案手法: □ 多関係データモデル: 正例・負例らしさを学習 □ 能動学習: モデルを元にラベル付けを依頼 ■ 実験 □ Cold-start 条件: 初期状態でラベルなし 9 多関係データセット構築を目的とする
  10. 10. /31 提案手法: 概要 ■ 構成要素: □ データ選択基準: どの三つ組にラベルを付与する? ※モデルの予測スコア st を元に計算 □ 多関係データモデル □ 全体の手続き 10 多関係データモデルを利用してオラクルを効率よく活用 オラクル 1. モデルがデータを選択し ラベルを要求 2. ラベルを受け取りデータを更新 多関係 データモデル 3. モデルを再学習
  11. 11. /31 提案手法: 概要 ■ 構成要素: □ データ選択基準: どの三つ組にラベルを付与する? ※モデルの予測スコア st を元に計算 □ 多関係データモデル □ 全体の手続き 11 多関係データモデルを利用してオラクルを効率よく活用 オラクル 1. モデルがデータを選択し ラベルを要求 2. ラベルを受け取りデータを更新 多関係 データモデル 3. モデルを再学習
  12. 12. /31 提案手法(1/3): データ選択基準 ■ 仮定 □ 入力: 予測スコア st (t ∈ Δ), しきい値 0 s.t. st > 0 (< 0) 正例 (負例) ■ データ選択スコア qt (小さいものを選択) □ 正例スコア: qt = – st • 正例を出来る限り多く収集 □ 不確実性スコア: qt = |st | • st ≒ 0 となる三つ組 t はモデルにとって不確か • 能動学習でよく使われるスコア 12 目的に応じてデータ選択スコアを設計する 正例 負例 st 0
  13. 13. /31 提案手法: 概要 ■ 構成要素: □ データ選択基準: どの三つ組にラベルを付与する? ※モデルの予測スコア st を元に計算 □ 多関係データモデル □ 全体の手続き 13 多関係データモデルを利用してオラクルを効率よく活用 オラクル 1. モデルがデータを選択し ラベルを要求 2. ラベルを受け取りデータを更新 多関係 データモデル 3. モデルを再学習
  14. 14. /31 提案手法(2/3): 満たすべき性質 ■ 要請1: 大規模可能性 & 予測性能 □ 多数回の再学習が必要 潜在表現法に制約を加えたモデルを提案 ■ 要請2: 少量の正例 + 負例・ラベルなし三つ組 □ 既存手法は負例とラベルなし三つ組を陽に区別せず 負例を陽に利用するAUC損失関数を提案 ■ 要請3: 能動学習で用いる正例・負例の分類平面 □ AUC損失関数は分類平面を学習しない 誤分類率に関する損失関数を併用 14 3つの要請を満たすように既存手法を拡張する
  15. 15. /31 提案手法(2/3): 多関係データモデル ■ 提案モデル (三つ組 t = (i, j, k)) □ ai ∈ RD : 主体 i の潜在ベクトル表現 □ Rk ∈ RD D : 関係 k の潜在空間内演算表現 • | ai | = 1, Rk ∈ {回転行列} と制限 □ (i, j, k)が正例 aj を Rk で変換すると ai に近くなる □ (i, j, k)が負例 aj を -Rk で変換すると ai ■ 予測スコア: st = ai T Rk aj ∈[-1,1] □ t = (i, j, k) の正例度合い 15 RESCALモデルに制約を加え過学習を防ぐ aj ai Rk
  16. 16. /31 提案手法(2/3): 学習 ■ 最適化問題 □ AUC損失: s(正例) > s(非正例), s(非負例) > s(負例) • 利点: – 正例・負例の比にロバスト – ラベルなしデータを利用しやすい • 欠点: 識別平面のしきい値 θ が得られない □ 誤識別率損失: s(正例) > 0, s(負例) < 0 • 利点: しきい値 θ が得られる • 欠点: – 性能が正例・負例の比に大きく依存 – ラベルなしデータを利用しにくい 16 AUC損失と誤識別率を組み合わせて学習を行う 正例 負例 st ラベルなし0 min AUC損失 +  誤識別率損失
  17. 17. /31 提案手法(2/3): 学習 □ パラメタ: □ ハイパーパラメタ: γ, γ’, Cn, Ce, D 17 マージンベースの損失関数を用いた定式化 , s(正) > s(非正) s(非負) > s(負) s(正) > 0 s(負) < 0
  18. 18. /31 提案手法(2/3): 学習 ■ 最適化手法: 確率的勾配降下法 □ 以下の手続きを T 回繰り返す • ランダムに t = (tp, tp) または (tn, tn) (tp ∉ Δp, tn ∉ Δn) を選択 • パラメタ A, R を更新: – A[t] ← A[t] – α ∇(obj related to t) – R[t] ← R[t] – α ∇(obj related to t) • 制約を満たすようにパラメタを更新: – A[t] ← normalize(A[t]) – R[t] ← project_onto_set_of_rotation_matrices(R[t]) • 学習率を α ∝ #(iter)-1/2 と設定 18 SGDを用いて学習を行う - - - -
  19. 19. /31 提案手法(2/3): 既存手法との比較 主体 i 関係 k 関係kが成立 関係kが非成立 提案手法 ai ∈ BD Rk ∈ RotD ai TRk aj = 1 ai TRk aj = -1 RESCAL ai ∈ RD Rk ∈ RD×D ai TRk aj = 大 ai TRk aj = 小 TransE ai ∈ BD rk ∈ RD |ai + rk – aj | = 0 |ai + rk – aj | = 大 19 提案手法はRESCALとTransEの中間的な手法である 目的関数 最適化 自由度 提案手法 pos-AUC + neg-AUC + 0/1 loss SGD 主体: D-1, 関係: D(D-1)/2 RESCAL pos-AUC 主体: D, 関係: D2 TransE 主体: D-1, 関係: D unit-ball ¬関係kが 一意に定まらない ※ RESCAL [Nickel+,11], TransE [Bordes+,13]
  20. 20. /31 提案手法(2/3): 既存手法との比較 ■ 要請1: 大規模可能性 & 予測性能 □ 多数回の再学習が必要 潜在表現法に制約を加えたモデルを提案 ■ 要請2: 少量の正例 + 負例・ラベルなし三つ組 □ 既存手法は負例とラベルなし三つ組を陽に区別せず 負例を陽に利用するAUC損失関数を提案 ■ 要請3: 能動学習で用いる正例・負例の分類平面 □ AUC損失関数は分類平面を学習しない 誤分類率に関する損失関数を併用 20 3つの要請を満たすように既存手法を拡張する RESCAL K TransE J RESCAL K TransE L RESCAL L TransE L
  21. 21. /31 提案手法: 概要 ■ 構成要素: □ データ選択基準: どの三つ組にラベルを付与する? ※モデルの予測スコア st を元に計算 □ 多関係データモデル □ 全体の手続き 21 多関係データモデルを利用してオラクルを効率よく活用 オラクル 1. モデルがデータを選択し ラベルを要求 2. ラベルを受け取りデータを更新 多関係 データモデル 3. モデルを再学習
  22. 22. /31 提案手法(3/3): モデル選択 ■ ハイパーパラメタ □ マージン: γ, γ’, □ 正則化パラメタ: Cn, Ce □ 潜在空間の次元: D □ 学習率 & 更新回数: α, T ■ モデル選択 □ 入力: • ハイパーパラメタの設定集合 (=モデル集合 M ) • 検証用データ: (Δp, Δn) □ 各モデル M∈M を学習し、検証スコアを計算 □ 出力: 検証スコアが最も良いモデル M* 22 データセットが更新されるため、モデル選択が必須
  23. 23. /31 提案手法(3/3): 全体のアルゴリズム ■ 入力: モデル集合 M 1. 検証用データを作成 2. 予算が無くなるまで以下を繰り返す: i. ランダムな Q 個の三つ組にデータ選択スコアを計算 ii. スコアが最も低い q 個の三つ組のラベルを要求 iii. すべてのモデルを再学習 iv. 検証スコアが良いモデルを標準モデルとして選択 ■ 出力: 標準モデル M, データセット (Δp, Δn) 23 標準モデルを用いてオラクルに尋ねるデータ選択を行う モデル集合 オラクル
  24. 24. /31 目次 ■ 導入・問題設定: □ 多関係データの定義: 主体間に複数の有向関係が存在 □ 定式化: データセット構築と予測モデル構築 ■ 提案手法: □ 多関係データモデル: 正例・負例らしさを学習 □ 能動学習: モデルを元にラベル付けを依頼 ■ 実験 □ Cold-start 条件: 初期状態でラベルなし 24 多関係データセット構築を目的とする
  25. 25. /31 実験 ■ 実験目的: 提案手法の三要素の貢献を評価 □ モデルに加えた制約 (vs RESCAL) □ 負例を明示的に利用したAUC損失関数 (vs no neg-AUC) □ データ選択基準 (vs Random) ■ 実験概要 □ データセット □ 評価基準 □ 手続き □ 結果(データセット構築問題/予測モデル構築問題) 25 提案手法の各構成要素の貢献を実験的に評価
  26. 26. /31 実験: データセット ■ Kinships Dataset: ある民族の親類関係を表す用語 □ 主体: 人 関係: 呼称 ■ Nations Dataset: 国同士の関係を表したデータ □ 主体: 国 関係: 経済支援関係, 公式訪問関係など ■ UMLS Dataset: 生体医学のセマンティックデータ □ 主体: 概念, 用語 関係: 意味的関係 26 標準的な多関係データセットを利用 #(主体) #(関係) #(正例) #(負例) Kinships  [Denham,  73] 104 26 10,790 270,426 Nations  [Rummel,  50-­‐65] 125 57 2,565 8,626 UMLS  [McCray,03] 135 49 6,752 886,273
  27. 27. /31 実験: 評価基準 ■ ROC-AUC (Area Under the ROC Curve) □ 入力: テストデータ 、テストスコア {st} □ 出力: ■ 達成率 □ 入力: • オリジナルのデータセット (Δp, Δn) • 提案手法で構築したデータセット (Δ’p, Δ’n) □ 出力: |Δ’p| / |Δp| 27 二つの問題設定に対応した評価基準を用いる
  28. 28. /31 実験: 手続き ■ すべての手法で共通の手続きを用いる: 入力: モデル集合 M 1. 検証、テストデータをサンプル (それ1K triples each) 2. 予算が無くなるまで以下を繰り返す: i. ランダムな Q 個の三つ組にデータ選択スコアを計算 ii. スコアが最も低い q 個の三つ組のラベルを要求 iii. すべてのモデルを再学習 iv. 検証スコアが良いモデルを標準モデルとして選択 v. ROC-AUC、達成率をテストデータで計算 10回繰り返し、平均・標準偏差を報告 28 データを取得する度に標準モデルを選択し直す
  29. 29. /31 実験: データセット構築問題 ■ 達成率による評価 □ UMLSデータで最も性能改善 正例の割合が著しく低くても学習可能 □ 負例が多い場合、負例を用いると性能が上がる 29 2.38∼19.2倍の正例を収集可能 Nations 0 200 400 600 800 1000 1200 1400 1600 #(Queries) 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 Completionrate AMDC AMDC rand AMDC pos only AMDC no const UMLS 0 2000 4000 6000 8000 10000 12000 14000 16000 #(Queries) 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 Completionrate AMDC AMDC rand AMDC pos only AMDC no const Kinships 0 2000 4000 6000 8000 10000 12000 14000 16000 #(Queries) 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 Completionrate AMDC AMDC rand AMDC pos only AMDC no const
  30. 30. /31 実験: 予測モデル構築問題 ■ ROC-AUCによる評価 □ 提案手法が常に最高性能 □ 制約を加えないと学習が不安定 □ ランダムな手法との差は中盤に最も大きくなる 30 提案手法は常に最高性能に匹敵する性能 Kinships 0 2000 4000 6000 8000 10000 12000 14000 16000 #(Queries) 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ROC-AUC AMDC AMDC rand AMDC pos only AMDC no const Nations 0 200 400 600 800 1000 1200 1400 1600 #(Queries) 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ROC-AUC AMDC AMDC rand AMDC pos only AMDC no const UMLS 0 2000 4000 6000 8000 10000 12000 14000 16000 #(Queries) 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ROC-AUC AMDC AMDC rand AMDC pos only AMDC no const
  31. 31. /31 結論 ■ 問題設定 □ 人手による多関係データセットの効率的な構築 ■ 手法 □ 多関係データモデルを用いた能動学習 ■ 技術的貢献 □ AUC損失と誤識別率損失を組み合わせた能動学習 □ モデルに制約を加え学習を安定化 □ 負例を明示的に利用 ■ 実験 □ ベースラインと比べ安定した性能を実現 31 多関係データ構築問題に対し能動学習に基づいた手法を提案

×