Skip to main content
QUICK REVIEW

[論文レビュー] Program Synthesis with Pragmatic Communication

Yewen Pu, Kevin Ellis|arXiv (Cornell University)|Jul 9, 2020
Software Engineering Research参考文献 29被引用数 5
ひとこと要約

この論文は、ユーザーが提供する仕様の曖昧さを解消する実用的なプログラム合成手法を紹介している。合成タスクを合理的なコミュニケーションとしてモデル化し、再帰的推論を用いてユーザーが意図した可能性の高いプログラムを推定する。仕様を実用的発話とみなすことにより、ユーザー研究において、意味的解釈や手作業による事前分布に基づくアプローチを上回る性能を発揮し、エンドユーザーは実用的モデルとより効率的にコミュニケーションを取った。これは、訓練データを必要とせず、原理的で整合性のあるコミュニケーションモデルが、人間と機械の相互作用を改善できることを示している。

ABSTRACT

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed, because many programs may simultaneously satisfy the specification. Prior work resolves this ambiguity by using various inductive biases, such as a preference for simpler programs. This work introduces a new inductive bias derived by modeling the program synthesis task as rational communication, drawing insights from recursive reasoning models of pragmatics. Given a specification, we score a candidate program both on its consistency with the specification, and also whether a rational speaker would chose this particular specification to communicate that program. We develop efficient algorithms for such an approach when learning from input-output examples, and build a pragmatic program synthesizer over a simple grid-like layout domain. A user study finds that end-user participants communicate more effectively with the pragmatic program synthesizer over a non-pragmatic one.

研究の動機と目的

  • 同じ仕様を満たす複数のプログラムが存在するプログラム合成における曖昧さに対処すること。
  • 計算言語学における実用的言語処理のインスピレーションを受けて、プログラム合成を合理的なコミュニケーションプロセスとしてモデル化すること。
  • 手作業による事前分布やデータ駆動の学習ではなく、発話者の合理性に基づく誘導的バイアスを構築すること。
  • 実用的推論がエンドユーザーとプログラム合成器間のコミュニケーション効率を向上させるかどうかを評価すること。
  • バージョンスペース代数を用いて、制御されたドメインでスケーラブルな推論メカニズムを構築すること。

提案手法

  • 意味的リスナー(L₀)、実用的スピーカー(S₁)、実用的リスナー(L₁)モデルを用いて、意味的解釈の再帰的実用的コミュニケーションゲームとしてプログラム合成を形式化する。
  • スピーカー・モデル S₁(D|prog) ∝ Pₗ₀(prog|D) を用いて、与えられたプログラムを最も効果的に伝える可能性の高い仕様を生成する。
  • 実用的リスナー L₁(prog|D) ∝ Pₛ₁(D|prog) を導出し、合理的な選択を組み込んだ合成モデルとして採用する。
  • 有限で小さなプログラムおよび仕様空間における確率を効率的に計算するために、バージョンスペース代数を用いる。
  • サンプリングや近似を用いずに、正確な事後確率を計算するインクリメンタル推論アルゴリズムを実装する。
  • グリッドベースのレイアウトドメインを用いたアマゾン・メカニカル・トゥーカーでのユーザー研究により、モデルを検証する。

実験結果

リサーチクエスチョン

  • RQ1実用的コミュニケーションをモデル化するプログラム合成器は、意味的解釈や事前分布に基づく合成器よりも、ユーザーのコミュニケーション効率が優れているか。
  • RQ2エンドユーザーは、実用的リスナーと意味的リスナーのどちらとやり取りするかによって、仕様戦略をどのように変化させるか。
  • RQ3合理的なコミュニケーションに基づく、データに依存しない原理的で整合性のある誘導的バイアスは、合成の結果をどの程度改善するか。
  • RQ4実用的リスナー・モデルは、人間がリスナーの合理性について持つ直感的仮定と一致するか。
  • RQ5バージョンスペース代数は、制御されたドメインで実用的プログラム合成のための効率的かつ正確な推論を可能にするか。

主な発見

  • エンドユーザーは、意味的リスナー(L₀)よりも実用的リスナー(L₁)とコミュニケーションする際、平均8.4文字の少ない記号数を使用した(p < .0001)。
  • 実用的リスナー(L₁)は、人間リスナーと同等のコミュニケーション効率を達成し、記号使用に有意な差がなかった(p = .3)。
  • 実用的合成器(S₁-L₁)は、成功したコミュニケーションを達成するまで平均3.34回の発話で完了したが、手作業による事前分布を用いたS₁-Lₚペア(平均3.8回)を上回った。
  • ユーザーは実用的システムとやり取りする際、パターンのサイズや構造をよりよく推論できるとみなし、使用する石の数を減らす戦略に適応した。
  • 実用的モデルS₁-L₁は、人間同士のコミュニケーションと区別がつかないほど効率的であり、人間の実用的期待と整合していることを示した。
  • このシステムは、訓練データを必要とせず、実用的言語処理から得られる原理的で第一原理的な誘導的バイアスが、手作業による事前分布を上回ることを示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。