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. 1
    Copilot体験の実装に役立ちそうな
    Semantic interpreter論文
    2023.07.05 @r-kagaya
    LLM Meetup Tokyo #3

    View full-size slide

  2. 2
    自己紹介
    株式会社ログラスのソフトウェアエンジニア
    イネーブルメントチームの一員としてプロダクト組織の横断
    課題に取り組んだ後、現在は生成AI/LLMチームの立ち上
    げとLLMを用いた機能開発にトライ中
    略歴
    新卒で入社したヤフー株式会社でID連携システムの開発に携わった
    後に、2022年に株式会社ログラスに入社
    r-kagaya
    @r-kagaya

    View full-size slide

  3. 3
    最初にデモ

    View full-size slide

  4. 6
    Copilot体験
    (正直定義は深く考えず使ってます)
    ・AIアシスタントのような、何となくイメージに近そうな体験を備えたサービスは少しづつ増
    えてきている
    ・システム側が意図を読み取って代わりにタスクをこなしてくれる体験?
    ・自然言語での指示は一つのパターン
    ・MS/Googleの二社が先行。LindyやAdeptなども良さげ
    ・価値の一つとして想定されるのは、利用ハードルの低下
    ・Notionですら使いこなし術がバズるのに、いわんやBtoB SaaSは

    View full-size slide

  5. 7
    Copilot体験
    Microsoft 365 Copilot
    https://xtech.nikkei.com/atcl/nxt/column/18/01679/060700115/
    ・言わずと知れた代表格

    View full-size slide

  6. 8
    Copilot体験
    Google Duet AI
    https://support.google.com/docs/answer/13676332?hl=en https://it.impress.co.jp/mwimgs/7/1/-/img_7100b73084d5c6fec3acd
    de77e6e88b0137770.jpg
    ・Google Workspaceアプリに導入される
    ・Help me write(Googleドキュメント)で文章を自動で生成してくれたりする

    View full-size slide

  7. 9
    Copilot体験
    Windows Copilotも
    https://japan.cnet.com/article/35206022/
    ・OpenAIのGPTベース
    ・Windowsデスクトップ常駐の対話型AI
    ・設定変更や各種操作、PDF文章要約といった作業を自然言語で指示可能
    ・つまり進化したイルカ

    View full-size slide

  8. 10
    Copilot体験
    ThoughtSpot Sage
    https://www.thoughtspot.com/jp/product/sage
    ・検索形式でデータ抽出・分析が可能
    ・SageがGPT-3を統合した新サービス(らしい)

    View full-size slide

  9. 11
    どう作る?

    View full-size slide

  10. 12
    どう作る?
    ミニミニミニ版を作ってみた時は
    機能概要
    ・経営データの集計・分析を行うレポート機能
    ・レポートの生成を自然言語で行えるようにした
    ・ex: 2023年1月から3月の実績を教えて
    内部的には
    ・スロットフィリング的なことをやってる
    ・レポート生成に必要な情報を自然言語から抽

    ・抽出した情報を元にレポート生成

    View full-size slide

  11. 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を見て、アプリケー
    ションコードを書く

    View full-size slide

  12. 14
    どう作る?
    良さげな論文
    Natural Language Commanding via
    Program Synthesis
    https://www.itmedia.co.jp/news/articles/2306/14/news067.html

    View full-size slide

  13. 15
    Semantic Interpreter

    View full-size slide

  14. 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

    View full-size slide

  15. 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

    View full-size slide

  16. 18
    Semantic Interpreter
    全体フロー
    https://arxiv.org/abs/2306.03460
    ・プロンプト生成
    ・カテゴリ分類
    ・セマンティック検索
    ・ODSL生成
    ・ODSL Interpreter
    ・アプリケーションコード生成

    View full-size slide

  17. 19
    Semantic Interpreter
    ODSL
    https://arxiv.org/abs/2306.03460

    View full-size slide

  18. 20
    ちなみにプロンプト
    https://arxiv.org/abs/2306.03460
    ・エンティティと追加コンテキストが必
    要か判定
    ・エンティティやコンテキストの有無を
    元にプロンプトを出しわけてるっぽい

    View full-size slide

  19. 21
    ちなみにプロンプト
    https://arxiv.org/abs/2306.03460
    ・ODSLを生成
    ・エンティティ等の値に応じて、few
    shotのサンプルは動的に変化

    View full-size slide

  20. 22
    まとめ
    ● Copilotな体験は(少しづつ and ほぼMS/Googleだが)増えつつある
    ○ システム側が意図を読み取って代わりにタスクをこなしてくれる体
    験?
    ○ 一つのパターンが自然言語の指示
    ● 価値の一つとして、ユーザーの利用ハードルの低下はありそう
    ● 参考になるアプローチとして「Semantic Interpreter」を紹介
    ● プロンプト構築部分などの工夫も書かれてるので興味あればぜひ
    ○ https://arxiv.org/abs/2306.03460
    ● 読み終わらず/資料準備追いつかずだったが、色々書いてて面白い

    View full-size slide