Slide 1

Slide 1 text

1 Copilot体験の実装に役立ちそうな Semantic interpreter論文 2023.07.05 @r-kagaya LLM Meetup Tokyo #3

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

3 最初にデモ

Slide 4

Slide 4 text

4 デモ

Slide 5

Slide 5 text

5 Copilot??

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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ドキュメント)で文章を自動で生成してくれたりする

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

11 どう作る?

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

15 Semantic Interpreter

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

23