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

【Oracle Cloud】対話型AIソリューション - Digital Assistant

【Oracle Cloud】対話型AIソリューション - Digital Assistant

2023年12月15日開催Oracle AI Brown Bag Seminarのセッション資料です。
セッション動画:https://youtu.be/VRPvalBcmWM

oracle4engineer

December 15, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Education

Transcript

  1. Copyright © 2023, Oracle and/or its affiliates 2 Oracle AI

    Stack … Machine learning services Data AI services AI infrastructure OCI Data Science ML in Oracle Database MySQL Heatwave AutoML Compute bare metal instances and VMs Cluster networking Block, object, file storage, HPC filesystems Digital Assistant Speech Language Vision Document Understanding Anomaly Detection Data Labeling OCI Generative AI + Business applications, Oracle SaaS portfolio
  2. Copyright © 2023, Oracle and/or its affiliates 4 企業が提供するチャットボットの代表例 例えばパスワードを忘れてしまった時…

    質問に回答するチャットボット ユーザーの を理解し 最適な回答を提⽰ ユーザーの を理解し 他のシステムと連携して適切な処理を実⾏ サービスを提供するチャットボット パスワードを忘れた ID管理システムでパスワードを リセットしてください ID管理システムはこちらです http://xyz.com/... パスワードを忘れた 本⼈確認のためにSMSで ヒミツの番号を送りました。 1234 OK! リセットしました 番号は何番でしたか︖
  3. Copyright © 2023, Oracle and/or its affiliates 5 Oracle Digital

    Assistant が対応している対話形式 FAQ (⼀問⼀答形式) Oracle Cloud Free Tier について教えて Oracle Cloud Free Tier では、 Always Free サー ビスと、対象となるす べての OCI サービス が最⼤30⽇間使 ⽤できる300⽶国ド ルの無料クレジット が提供される無料 トライアルをご利⽤ いただけます。 トランザクション処理 荷物を再配達して かしこまりました。 送り状番号を⼊⼒し てください。 123456789101 ご希望の⽇をお選びく ださい。 本⽇ 明⽇ 明後⽇ 本⽇ エージェント (⼈)への 引継ぎ クレジットカードを落と した それは⼤変ですね。 オペレータに代わりま すのでお待ちください。 はい 紛失されたクレジット カードは停⽌し、再 発⾏の⼿続きをいた しますが、よろしいで すか︖ 担当の鈴⽊に代わり ました。 インタビュー (via Oracle Intelligent Adviser) 医療保険に⼊りたい ありがとうございます。 これからいくつか質問 をしますので、回答を お願いします。 お名前は︖ ⼭⽥ 太郎 年齢は︖ 40 ご職業は︖ イベント駆動による 会話の開始 承認する 佐藤さんが休暇申請 が提出しました X⽉X⽇ (⽉) 種別: 有給休暇 理由: 私⽤のためお 休みをいただきます。 この申請を承認しま すか︖ 承認 否認 情報のリクエスト ナレッジ検索 (via Oracle Service Cloud) エアコンの掃除 この中に回答はありま すか︖ エアコンのお⼿⼊れに ついて エアコンの汚れを放 置すると、能⼒の低 下や本体寿命の短 縮につながるため、定 期的なお⼿⼊れが 必要です。 つづきを⾒る 質問に回答 サービスを提供 >
  4. Copyright © 2023, Oracle and/or its affiliates 6 チャットボットの実装に必要な技術要素 会話のコントロール

    ユーザーの情報、会話の重要なポイ ントの記憶 バックエンドとの連携 バックエンド・システムにセキュアに アクセスできる仕組み ⾃然⾔語理解 対話型UIに必要なインテント検出、 固有表現抽出などのモデル 各種チャネル対応 クライアントとの通信の制御や各種 メッセージング・プラットフォームへ の対応
  5. Copyright © 2023, Oracle and/or its affiliates 7 Oracle Digital

    Assistant を構成するコンポーネント チャットボットに必要な技術要素がAI/機械学習の専⾨知識がなくても利⽤可能 多⾔語対応の⾃然⾔語理解 (NLU) エンジン ディープラーニングを活⽤したテキストの分類、固有 表現抽出、OOD検出など 翻訳サービスとの組み合わせにより、⽇本語など数 多くの⾔語に対応 ⾳声認識サービス ストリーミングによる⾳声の⾃動認識と⽂字変換 に対応。組織やドメインの専⾨⽤語にも対応が 可能 会話フロー・エンジン ローコードツールによる会話フローの定義とバックエン ド・システムとの連携 利⽤状況の可視化と分析 チャットボットと利⽤者の会話履歴やよく使⽤される 単語・フレーズ、再トレーニングが必要なスキルの抽 出やKPIの測定 スキル & スキル・ストア Oracle SaaSにアクセスする事前構築済みスキルや、 個別ユースケースのためのスキルのテンプレートを提供 マルチ・チャネル対応 ▪各種メッセージング・サービスとの連携: Facebook Messenger, SMS (Twillio), Slack, MSFT Teams, Zoom App (LINE、IVRとの連携実績もあり) ▪チャット・ウィジェット開発: Web (JavaScript), iOS, Android 向け SDK を提供 トレーニング・データ⽣成 継続的なチャットボットの機能の改善と拡張のため トレーニング・データを⾃動⽣成 ディープラーニング基盤 Oracle Cloud Infrastructureが提供する GPU を活⽤したトレーニング、チャットボットの構築に最 適化されたデータモデルなどを提供
  6. Copyright © 2023, Oracle and/or its affiliates 8 1つのデジタル・アシスタントが複数のスキル(機能)に対応 AIによって適切なスキルにルーティング

    What’s your return policy 30-days to return. Click here to learn more. Nearest location? デジタル・アシスタントにセットされたスキル HCM ERP CX 3rd Party
  7. Copyright © 2023, Oracle and/or its affiliates 9 現在対応しているチャネル •

    Facebook Messenger • Slack • Microsoft Teams • Apple Messages for Business • Zoom App • Cortana • SMS (w/Twilio) • Web サイト (JavaScript) • iOS アプリ (Swift) • Android アプリ (Android Java) • Voice • Webhook ⼀つのデジタル・アシスタントが複数のチャネルに対応 経費精算 ⼈事 ⼿続き 商品 ナレッジ検索 会員情報 管理 社内 IT サポート HCM ERP CX 3rd Party お客様向け デジタル アシスタント 社内向け デジタル アシスタント 社内 Web ポータル お客様向け Web Slack Messenger チャネル Oracle Digital Assistant SNSや ビジネス・チャット カスタム・アプリ ※ SDK を提供 3rdパーティとの連携⽤ ※ LINE や X(旧 Twitter)の DM などとの連携 実績あり
  8. Copyright © 2023, Oracle and/or its affiliates 10 • チャットボットが適切な返答をできなかった場合などに、Oracle

    Service Cloud の有⼈チャット機能による⼈間の対応に 切り替えることが可能 • 利⽤者と Digital Assistant の会話履歴が Service Cloud に転送され、シームレスな切り替えを実現 • 3rdパーティ製有⼈チャットとの連携は Webhook をアドオンすることで実現 デジタル・アシスタントからエージェントへ 対応の切り替えに対応 Live Agent Transfer 会話をエージェントに引継ぎ 会話履歴を転送
  9. Copyright © 2023, Oracle and/or its affiliates 11 • 利⽤者は

    Oracle Service Cloud が提供するチャット (Live Help) を利⽤ • ルーティング・エンジンは事前定義されたルールに基づき、デジタル・アシスタントまたは エージェントにルーティング • 必要に応じてデジタル・アシスタントからエージェントへの切り替えも可能 エージェントの代わりにデジタル・アシスタントが Oracle Service Cloud のチャットに対応 Digital Assistant as an Agent Oracle Service Cloud Live Help レスポンス レスポンス リクエスト レスポンス ルーティング・エンジン ルールに基づいて 割当先を決定 ルーティング・ルールの例 • コンタクト・センターの営業時間 • 対応可能なエージェントが不在 • 問い合わせてきた顧客のランク 必要に応じて 引継ぎリクエスト
  10. Copyright © 2023, Oracle and/or its affiliates 13 スキルがリクエストを処理するための⾃然⾔語理解の流れ 例:

    ⾶⾏機の空席の照会/予約の変更/予約のキャンセルを⾏うチャットボット 来週の⼟曜⽇に 札幌に⾏きたい 1 2 3 4 5 6 ユーザーがボットに話しかける 利⽤者の「意図」を判定 抽出された情報を展開 不⾜している情報をユーザー に質問 出発地は? 座席クラスは? 収集した情報を元に問い 合わせ、空席情報を返す 18:00発の便に 空席があります 【意図】⼀覧 •空席の照会と予約 •予約の変更 •予約のキャンセル 意図は「空席の照会と 予約」だな 処理を実⾏するために 必要な情報を抽出 来週の⼟曜⽇に札幌に⾏きたい 到着地 出発⽇ 出発⽇ 到着地 出発地 座席クラス ︖ ︖ 来週の⼟曜⽇ = 12/23 (⼟) 札幌 = 新千歳 ※ ⽇本語を処理するには、翻訳 サービスを使⽤して英語に翻訳
  11. Copyright © 2023, Oracle and/or its affiliates 14 Oracle Digital

    Assistant のスキル開発 インテント(意図)の定義 インテントごとに、利⽤者が話しかけてくる 例⽂を投⼊ ⾃然⾔語理解の トレーニング実⾏
  12. Copyright © 2023, Oracle and/or its affiliates 15 Oracle Digital

    Assistant のスキル開発 エンティティの定義 ユーザーからの⼊⼒を求めるデータ項⽬ とそのデータ型を設定
  13. Copyright © 2023, Oracle and/or its affiliates 16 Oracle Digital

    Assistant のスキル開発 ⾃然⾔語理解のテスト
  14. Copyright © 2023, Oracle and/or its affiliates 17 REST Connector

    • ノーコードで既存の REST サービス呼び出し • 基本的な認証⽅式に対応 • Basic 認証 • API キー • Bearer Token • OCI Resource Principal • REST サービス呼び出し時に指定するパラメータ、 リクエスト/レスポンスのサンプル・ペイロードを指定 Custom Component Service • Oracle Digital Assistant Node SDK を使⽤し て、Node.js または TypeScript でプログラミング • https://github.com/oracle/bots-node-sdk • 作成したプログラムのデプロイ先 • Oracle Digital Assistant が提供する埋め込み コンテナ • Oracle Cloud Infrastructure (OCI) Function • OCI のコンピュート環境や Kubernetes Cluster など Oracle Digital Assistant のスキル開発 バックエンド・サービスとの連携
  15. Copyright © 2023, Oracle and/or its affiliates 18 Oracle Digital

    Assistant のスキル開発 会話フローのデザインのためのローコード・ツール 利⽤者に対して 不⾜情報の⼊⼒を 促す バックエンド サービスをコール バックエンド・サービスの レスポンスに基づいて メッセージを出し分け
  16. Copyright © 2023, Oracle and/or its affiliates 19 Oracle Digital

    Assistant のスキル開発 スキルのテスト 選択したチャネルを シミュレート 会話フローの遷移 をダイアグラム化して 表⽰
  17. Copyright © 2023, Oracle and/or its affiliates 20 • 利⽤者の発⾔数

    • インテント検出状況 • 利⽤者が使⽤した⾔語 • チャネルの利⽤状況 • エージェントへの引継ぎが発⽣ した回数 • etc… Oracle Digital Assistant の運⽤ インスタンス・レベルでの利⽤状況の可視化
  18. Copyright © 2023, Oracle and/or its affiliates 21 • スキルが利⽤された回数

    • ユーザー数 • ユーザーが会話の途中で離脱 した割合 • 使⽤されたインテントの割合 • チャネルの利⽤率 • 会話にかかった時間 • エラーが発⽣した回数 • 会話フローの遷移状況 • 会話ログのチェック • インテントを判定できなかった 発話のリストと例⽂への追加 • etc... Oracle Digital Assistant の運⽤ スキルごとの利⽤状況の可視化
  19. Copyright © 2023, Oracle and/or its affiliates 22 Oracle Digital

    Assistant のロードマップ: ⽣成 AI / ⼤規模⾔語モデル(LLM)への対応
  20. Copyright © 2023, Oracle and/or its affiliates 23 1. スキルに⽣成

    AI を活⽤した機能を組み込む ― LLM Block [対応済み] • ⽣成 AI を活⽤して作⽂、要約、感情分析などを対話の中に組み込めるようにする • 例: SFAアプリケーションで商談のステータスや活動履歴などの情報を取得し、要約したものを表⽰ • 使⽤する LLM は Bring Your Own LLM: 要件に合わせて選択 • Oracle Generative AI / Cohere / API でアクセス可能な LLM(OpenAI など) • お客様が独⾃にファイン・チューニングした LLM も利⽤可能 • 将来的には業界ごとに特有の⽤語や知識でファイン・チューニングされた LLM を提供する LLM Store(仮称)を提供予定 2. Oracle Digital Assistant ⽤にファイン・チューニングした LLM を統合 • 新しいユースケースへの対応 • エンド・ユーザーにとって使いやすいチャットボットを、効率的に構築することが可能に • 将来的には、⾃然⾔語で⾔及された機能を持つスキルを⽣成することができるようになるかも… Oracle Digital Assistant の⽣成 AI/LLM に対するアプローチ
  21. Copyright © 2023, Oracle and/or its affiliates 24 ⽣成 AI

    / LLM の活⽤によって Oracle Digital Assistant で 新たに実現できるユースケース Oracle Digital Assistant コンテントの ⽣成や要約 対話型 セマンティック検索 対話型 データ分析 アプリケーションの “コパイロット” グループ・チャット タスクを ⾃律的に実⾏ 統合済みのアプリケーションから 取得した情報などを元に、コンテンツ を作成・要約 (LLM Block) エンド・ユーザーからの質問に対し 登録済みの情報ソースから関連 情報を収集し回答 (Knowledge Dialog) アプリケーションの特定の操作を 対話形式でガイド、サポート デジタル・アシスタントが従来の1対1 の会話だけでなくグループ・チャットに も参加 ユーザーによる⾃然⾔語での リクエストに従って、DB にアクセスし 必要な情報を取得・集計し分析 (SQL Dialog) ユーザーのリクエストに従って、 事前定義済みされたタスク*が ⾃律的にオーケストレーション * コンテントの⽣成・要約, API 呼び出し, セマンティック検索, etc
  22. Copyright © 2023, Oracle and/or its affiliates 25 1. LLM

    の API エンドポイントを Oracle Digital Assistant の REST API サービスに登録 2. LLM の API のリクエスト/レスポンス・ペイロードを Oracle Digital Assistant の Common LLM Interface (CLMI) の形式に変換するイベント・ハンドラを登録 • Oracle Generative AI および Cohere は Oracle Digital Assistant が提供 • OpenAI/Azure OpenAI はドキュメントでサンプルを公開 • 他の LLM の場合は Node.js でプログラミングが必要 3. スキルに LLM の REST API サービスとイベント・ハンドラを登録 4. Visual Flow Designer で “Invoke Large Language Model” コンポーネントをスキルに組み込み、 Prompt Builder でプロンプトや LLM のパラメータなどを調整 5. プロンプトのパラメータに値をマッピング Oracle Digital Assistant LLM Block の使⽤
  23. Copyright © 2023, Oracle and/or its affiliates 26 LLM Block:

    Prompt Builder プロンプト・エンジニアリング⽤の GUI プロンプト プロンプト・パラメータ (実⾏時に動的に設定される値) LLM のパラメータ 出⼒テスト結果 テスト⽤の プロンプト・パラメータの値
  24. Copyright © 2023, Oracle and/or its affiliates 27 • ユーザーが⼊⼒した⾃然⾔語からデータベース

    (Oracle/MySQL)を検索す る SQL を⽣成し、その結果を返す機能(現在は英語のみに対応) • インテントや会話フローの定義は不要 開発者のタスク: 1. データベースの接続情報を定義 2. スキルがアクセスするテーブルやビューを選択し、エンティティをとして定義 3. 表・ビューやその列の名前を⾃然⾔語にマッピング • DEPT テーブル → department, division, organization, org • DEPT テーブルの LOC 列 → location 4. レコードから値リストを作成し、値にシノニムを設定することも可能 • DEPT テーブルの LOC 列の “New York” → big apple 5. トレーニングを実⾏とテスト SQL Dialog ⾃然⾔語でデータベース検索 Can you show me the employees from our office in big apple? Emp Id Name Job 7439 MILLER CLERK 7839 KING PRESIDENT 7782 CLARK MANAGER what's the name of the employee with the highest salary? KING
  25. Copyright © 2023, Oracle and/or its affiliates 28 1. エンドユーザーが検索条件を⾃然⾔語で⼊⼒

    Can you show me the employees from our office in big apple? 2. ⾃然⾔語理解エンジンが⼊⼒されたテキストを SQL の⽣成に過不⾜のないテキストに修正 Show all the employee where the department location is "NEW YORK". 3. OMRQL (Oracle Meaning Representation Query Language) に変換 SELECT * FROM Emp WHERE dept.loc = 'NEW YORK’ 4. OMRQL から SQL を⽣成 SELECT T1.EMPNO, T1.ENAME, T1.JOB, T1.MGR, T1.HIREDATE, T1.SAL, T1.COMM FROM EMP T1 JOIN DEPT T2 ON T1.DEPTNO = T2.DEPTNO WHERE T2.LOC = ? FETCH FIRST 100 ROWS ONLY 5. SQL を実⾏し結果をエンドユーザーに返す SQL Dialog の処理の流れ
  26. Copyright © 2023, Oracle and/or its affiliates 29 • 会話の中でエンドユーザーから発せられた質問に対し、回答を返す

    • 回答は事前に登録されたナレッジ・ソースから検索し、関連する内容を要約して エンドユーザーに返す • PDF などの⽂書ファイル、WebページのURL など • 経費精算のためのスキルの場合のナレッジソースの例 • 経費精算の社内ポリシー • 経費精算システムのユーザー・ガイド • トランザクション型の対話中に出た質問の際は、質問の回答を返した後に⾃動 的に元の会話に戻る • 質問に回答するための会話フローは定義不要 Knowledge Dialog 対話型セマンティック検索 経費精算したい いつの経費を精算しますか︖ 電⾞賃で領収書が必要なのはい くらから︖ 鉄道・バス・船舶が2,500円以 上の時は、領収書の提出が必 要です。鉄道・バス・船舶が 2,500円未満の時は、「レシート なし」をチェックした上で理由の 欄に「公共交通機関特例」と⼊ ⼒してください。 いつの経費を精算しますか︖ 先週の⽊曜⽇
  27. Copyright © 2023, Oracle and/or its affiliates 31 Oracle Digital

    Assistant エンタープライズ向けチャットボットのための包括的なプラットフォーム 会話フロー・エンジン コンテキストに沿った会話の流れを GUI で定義するための Web ブラウ ザ・ベースのローコード・ツールを提供 バックエンドとの連携 バックエンド・システムにセキュアにアク セスできる仕組みを提供。REST サービスはノーコードでも利⽤可能 AI エンジン 対話型 UI ⽤の⾃然⾔語理解や 機械学習モデルを構成済み。開発・ 運⽤に AI の専⾨知識は不要 マルチ・チャネル対応 メッセージング・プラットフォームには ⾮依存。Facebook Messenger、 Slack、Teamsなどとすぐに連携
  28. Copyright © 2023, Oracle and/or its affiliates 32 製品ページ: 製品概要、事例

    • https://www.oracle.com/jp/chatbots/ 製品ヘルプ・センター(開発者ガイド、チュートリアル、Tips 集など) • 英語(最新): https://docs.oracle.com/en/cloud/paas/digital-assistant/ • ⽇本語: https://docs.oracle.com/cd/E83857_01/paas/digital-assistant/index.html • Artie: Oracle Digital Assistant に関する質問に答えてくれるデジタル・アシスタント • 製品ヘルプ・センターの右下のアイコンからアクセスが可能、質問/回答は今のところ英語にのみ対応 開発部⾨による Blog • https://blogs.oracle.com/digitalassistant/ Oracle Digital Assistant 詳細情報