Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Copilot体験の実装に役立ちそうなSemantic interpreter論文 / Semantic Interpreter for copilot implementation

Copilot体験の実装に役立ちそうなSemantic interpreter論文 / Semantic Interpreter for copilot implementation

r-kagaya

July 05, 2023
Tweet

More Decks by r-kagaya

Other Decks in Technology

Transcript

  1. 13 どう作る? 今ならFunction calling? "function_call": { "name": "genGraphFromReportData", arguments: {

    "period": "[2022/04, 2022/05, 2022/06]", "amount": ["100", "200", "300"], "graph_type": "bar" } } ・想定ユースケースをひたすらFunction Calling ・レスポンスのfunction_callを見て、アプリケー ションコードを書く
  2. 16 Semantic Interpreter Semantic Interpreter概要 ・ユーザーが入力した自然言語でPowerPointを動かす手法についての論文 ・OpenAIのtext-davinci-003モデルを利用 ざっくり流れ ・ユーザーが操作内容を入力 ・ex:

    「キーポイントをすべて太くする」 ・自然言語 ⇔ Office Domain Specific Language(ODSL)への変換をLLMが担う ・Officeアプリケーション上におけるアクション表現に特化したドメイン固有言語 ・LLMフレンドリーな言語設計 ・ODSLを、アプリケーションAPI(Office-JS2など)で書かれたプログラムに変換・実行 参考: https://www.itmedia.co.jp/news/articles/2306/14/news067.html https://aiboom.net/archives/52746
  3. 17 Semantic Interpreter DSL設計 https://arxiv.org/abs/2306.03460 ・汎用プログラミング言語(JavaScript、C++など)ではなく、専用のDSLを設計 ・理由: スコープが広すぎる、安全なコードを担保するのが難しい、etc ・同じことを複数の方法で出来るようにしない方がいい ・ユーザーが簡単なundo操作で元に戻せるもの、不正な状態になる可能性がない操作に限定

    ・データ構造と抽象化 ・エンティティ ・ユーザーがアプリケーションで操作したい主要なデータ構造、has-a関係を持てる ・ex: slide → shape → textRange ・ステートメント ・エンティティに対する操作、関数 ・Select, Insert, format, delete
  4. 22 まとめ • Copilotな体験は(少しづつ and ほぼMS/Googleだが)増えつつある ◦ システム側が意図を読み取って代わりにタスクをこなしてくれる体 験? ◦

    一つのパターンが自然言語の指示 • 価値の一つとして、ユーザーの利用ハードルの低下はありそう • 参考になるアプローチとして「Semantic Interpreter」を紹介 • プロンプト構築部分などの工夫も書かれてるので興味あればぜひ ◦ https://arxiv.org/abs/2306.03460 • 読み終わらず/資料準備追いつかずだったが、色々書いてて面白い
  5. 23