• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Learning to automatically solve algebra word problems
 

Learning to automatically solve algebra word problems

on

  • 156 views

Nate Kushman, Yoav Artzi, Luke Zettlemoyer, and Regina Barzilay.

Nate Kushman, Yoav Artzi, Luke Zettlemoyer, and Regina Barzilay.
ACL-2014, pages 271–281.
(presented by Naoaki Okazaki at the paper reading organized by Preferred Infrastructure)

Statistics

Views

Total Views
156
Views on SlideShare
129
Embed Views
27

Actions

Likes
1
Downloads
1
Comments
0

2 Embeds 27

https://twitter.com 18
http://connpass.com 9

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Learning to automatically solve algebra word problems Learning to automatically solve algebra word problems Presentation Transcript

    • Learning to Automatically Solve Algebra Word Problems Nate Kushman, Yoav Artzi, Luke Zettlemoyer, and Regina Barzilay ACL-2014, pages 271–281. 論文 著者発表スライド コード データ 読み手: 岡崎 直観 (東北大学) (@chokkanorg) ACL2014読み会 @PFI ※但し書きがある場合を除き,スライド中の図・表はZettlemoyer (2014) の引用
    • 解きたいタスク: 代数文章問題 (=自然言語で書かれた問題を自動的に解く) チャレンジ • 文を超えた処理が必要 • 2番目の式に対応する文 • 明示されない意味的関係 • 1番目の式を立てるには, 子供料金で入場した人, 大人料金で入場した人の 間に重なりが無いことを認 識しておく必要がある 2014-07-12 Learning to Automatically Solve Algebra Word Problems 2
    • 解き方: 数式のテンプレートに文 章中の要素を埋め込む 必要なタスク 数式テンプレートの自動獲得,テンプ レートの選択,選択したテンプレートへの埋め込み 2014-07-12 Learning to Automatically Solve Algebra Word Problems 3
    • 本研究の設定 • データセット(514問題,1616文) • Algebra.comの問題と答え • 手作業で背景知識が必要な問題は削除 (!),珍問題も削除 (!!) • 数式からテンプレートを導出 • 各テンプレートが6問以上使われるように問題を削除 (!!!) • 問題・答え・数式による教師有り学習(半教師有りも実験) 2014-07-12 Learning to Automatically Solve Algebra Word Problems 4 { "lSolutions": [15, 9], "lEquations": [“3.0*novelists=5.0*poets”, "novelists+poets=24.0"], "sQuestion": "A writing workshop enrolls novelists and poets in a ratio of 5 to 3. There are 24 people at the workshop. How many novelists are there? How ma ny poets are there?", "iIndex": 2598 },
    • 数式テンプレートの導出 • 学習データに含まれる数式をテンプレート化 • 変数を未知数スロット𝑢𝑢𝑖𝑖に置換 • 問題文中にも出現している数値 を数値スロット𝑛𝑛𝑗𝑗に置換 • 問題文中に出現していない 数値を定数として残す • パーセントは問題のタイプとして 割り切って扱う (!) • 数式処理システムを使い, 数式の形を共通化しておく • 𝑏𝑏 − 𝑗𝑗 = 3と𝑏𝑏 = 𝑗𝑗 + 3は同じ 2014-07-12 Learning to Automatically Solve Algebra Word Problems 5
    • テンプレートの選択と問題文から の埋め込みはjointで行う • 問題𝑥𝑥: 単語列𝑤𝑤1, … , 𝑤𝑤𝑘𝑘(𝑘𝑘単語) • 導出𝑦𝑦 ∈ 𝑌𝑌: タプル(𝑇𝑇, 𝑝𝑝, 𝑎𝑎) • 𝑇𝑇: 採用した数式テンプレート • 𝑝𝑝: 問題𝑥𝑥と数式テンプレート𝑇𝑇の間のアライメント(𝑤𝑤, 𝑠𝑠) • 𝑎𝑎: この導出による解(数式ソルバで求める) • 問題𝑥𝑥に対する導出𝑦𝑦の良さは対数線形モデルで推定 • 𝑝𝑝 𝑦𝑦 𝑥𝑥; 𝜃𝜃 = exp(𝜃𝜃�𝜙𝜙(𝑥𝑥,𝑦𝑦)) ∑𝑦𝑦′∈𝑌𝑌 exp(𝜃𝜃�𝜙𝜙(𝑥𝑥,𝑦𝑦𝑦)) • 解𝑎𝑎に至るすべての導出の確率の和(周辺確率) • 𝑝𝑝 𝑎𝑎 𝑥𝑥; 𝜃𝜃 = ∑𝑦𝑦∈𝑌𝑌 s.t. AN 𝑦𝑦 =𝑎𝑎 𝑝𝑝(𝑦𝑦|𝑥𝑥; 𝜃𝜃) • 問題𝑥𝑥の解: argmax 𝑎𝑎 𝑝𝑝 𝑎𝑎 𝑥𝑥; 𝜃𝜃 2014-07-12 Learning to Automatically Solve Algebra Word Problems 6 𝜃𝜃: パラメータベクトル 𝜙𝜙(𝑥𝑥, 𝑦𝑦): 素性ベクトル AN 𝑦𝑦 : 導出𝑦𝑦の解 𝑠𝑠: テンプレートのスロット
    • テンプレートへの埋め込み (アライメント) • 数式テンプレートの各スロット に問題文中の要素を割り当て • 未知数スロット𝑢𝑢𝑖𝑖: 名詞 • 数値スロット𝑛𝑛𝑗𝑗: 数値 • 未知数スロットは厳密には𝑢𝑢𝑖𝑖 𝑐𝑐 と書くが𝑐𝑐の説明は省略 • 同じ名詞を複数のスロットに割 り当てたり,変数が同じスロット を別々の名詞(=共参照)に割り 当てることもできる 2014-07-12 Learning to Automatically Solve Algebra Word Problems 7
    • L-BFGSによるバッチ学習 • 最大化する目的関数(対数尤度) • 𝑂𝑂 = ∑𝑖𝑖 ∑𝑦𝑦∈𝑌𝑌 s.t. V 𝑦𝑦 =1 log 𝑝𝑝(𝑦𝑦|𝑥𝑥𝑖𝑖; 𝜃𝜃) • V 𝑦𝑦 = 1となる条件により半教師有り学習も可能 • 教師有り: 導出𝑦𝑦による数式が訓練事例と一致 • 半教師有り:導出𝑦𝑦による答えが一致(数式は問わない) • 目的関数の勾配を利用し,L-BFGSで最大化する • 𝜕𝜕𝑂𝑂 𝜕𝜕𝜃𝜃𝑗𝑗 = ∑𝑖𝑖 𝐸𝐸 �𝑝𝑝(𝑦𝑦|𝑥𝑥𝑖𝑖,V 𝑦𝑦 =1) 𝜙𝜙𝑗𝑗 𝑥𝑥𝑖𝑖, 𝑦𝑦 − 𝐸𝐸𝑝𝑝(𝑦𝑦|𝑥𝑥𝑖𝑖,V 𝑦𝑦 =1) 𝜙𝜙𝑗𝑗 𝑥𝑥𝑖𝑖, 𝑦𝑦 • 問題に対して全ての導出𝑌𝑌を求めるのは大変 • ビーム探索: 各テンプレートに対し,各スロットをビーム幅 𝑘𝑘でモデルのスコアの高い順に埋めていく 2014-07-12 Learning to Automatically Solve Algebra Word Problems 8
    • 素性は4種類 2014-07-12 Learning to Automatically Solve Algebra Word Problems 9 問題のトピックから数式テンプレートを選ぶ 例: “chemist”という単語を含むと「割合」に関する問題 問題で問われている内容が未知スロットに割り当てる 例: “how many children …”という問いなら,”tickets for chidren”は未知スロッ トになる可能性が高い 例: “two kinds of tickets”の”two”を数値スロットに割り当てないようにする 例: 数値スロットに定数0.01が掛けられているなら,%と対応しやすい http://people.csail.mit.edu/nkushman/papers/acl2014-talk.pdf 答えが変な数値 になっていないか
    • 実験結果 2014-07-12 Learning to Automatically Solve Algebra Word Problems 10 • 数式と答えが与えられた5つの問題のみを 訓練に用いた場合(5EQ)の性能は低い • 5EQに加え,他の問題の答えを与える半教 師有り学習の設定にすると向上(5EQ+ANS) • 数式と答えを全て用いると7割くらいの精度 • 学習データ中における数式テンプレートの 頻度が低い問題でも5割くらいの正解率 • 数式テンプレートの頻度が高い問題では, 8割を超える正解率 ←似たような問題が出ているのでは?
    • 失敗した事例 2014-07-12 Learning to Automatically Solve Algebra Word Problems 11 絵(painting)が二次元でwidthと heightが対応するという知識 コスト・売値・利益などの商売に 関する知識 “twice of one of them”: 2𝑥𝑥 という式を立てるのが難しい “if you double both numbers”や “the sum”の解釈が難しい 知識が必要 (約25%) 構成的な意 味解釈が必 要(約50%)
    • 終わりに • 結論 • 代数文章問題の解法を自動的に学習 • このタスクに関する初めての研究を報告した • 今後の課題 • 構成的な意味解釈から数式を立てる方法 • 幾何,物理,化学などの問題ドメインへの対応 • 文章からコンピュータプログラムの自動生成への応用 • コメント • NIIの松崎さんの素晴らしいアプローチも論文化されてます • Takuya Matsuzaki, Hidenao Iwane, Hirokazu Anai, Noriko H. Arai. The Most Uncreative Examinee: A First Step toward Wide Coverage Natural Language Math Problem Solving. AAAI-2014. 2014-07-12 Learning to Automatically Solve Algebra Word Problems 12