Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI ...
Search
TonyTonyKun
February 05, 2024
Technology
0
770
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
第46回 Tokyo Jazug Night のセッション資料です。
TonyTonyKun
February 05, 2024
Tweet
Share
More Decks by TonyTonyKun
See All by TonyTonyKun
Microsoft Ignite 2023 現地参加レポート/ignite2023
thara0402
0
170
Azure Container Apps で .NET 7 アプリを Blue-Green デプロイしてみよう!/jazug12
thara0402
0
1.6k
Azure Synapse Analytics 入門/jazug11
thara0402
0
650
Azure Bicep で始める Infrastructure as Code/ace0917
thara0402
0
410
Introduction to Azure Synapse Analytics/ace0416
thara0402
0
460
Azure Kubernetes Service を活用したマイクロサービス開発/clouddev
thara0402
0
420
Azure Kubernetes Service を活用したマイクロサービス開発/Ignite-osaka
thara0402
0
430
Azure Kubernetes Service を活用したマイクロサービス開発/Ignite-tokyo
thara0402
0
180
Azure アーキテクチャ センターを読んで LINE BOT を作ってみた話/kitaazu23
thara0402
0
1.5k
Other Decks in Technology
See All in Technology
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
1.5k
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
280
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
520
Fediverse Discovery Providers overview
andypiper
0
170
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
280
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
150
内製化を目指す事業会社が、システム開発会社と共に進める「開発生産性改善」の取り組み事例 #devsumi
yuwji
1
170
DevRelの始め方
moongift
PRO
2
400
「認証認可」という体験をデザインする ~Nekko Cloud認証認可基盤計画
logica0419
2
460
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
190
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
120
グイグイ系QAマネージャーの仕事
sadonosake
0
390
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
GitHub's CSS Performance
jonrohan
1030
450k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
3.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
4 Signs Your Business is Dying
shpigford
179
21k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Design by the Numbers
sachag
277
19k
Being A Developer After 40
akosma
84
590k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Happy Clients
brianwarren
96
6.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Transcript
サイクルガードサービス AlterLock の 問い合わせ対応業務に Azure OpenAI Service を活用した話 2024.2.7 第46回
Tokyo Jazug Night
自己紹介 名前 原 敏之 個人 Twitter : @TonyTonyKun ROMANCE DAWN
for the new world • https://gooner.hateblo.jp/ Microsoft MVP for Microsoft Azure 2017 〜 仕事 株式会社ネクストスケープ Copyright© 2024, JAZUG All Rights Reserved. 2
このセッションでお話しすること 社内データをもとに回答する問い合わせ対応業務について、 弊社で提供しているサイクルガードサービス AlterLock を題材に、 Azure OpenAI Service を導入した事例を話します Azure
OpenAI や AI Search の概要や機能については説明しません 実際にプロダクトを作ってみて分かったことや苦労したことを エンジニアの観点でお話しします 3 Copyright© 2024, JAZUG All Rights Reserved.
アジェンダ AlterLock とは RAG による社内データ検索システム 回答精度を向上させるために改善したこと まとめ 4 Copyright© 2024,
JAZUG All Rights Reserved.
Product AlterLock とは 5 Copyright© 2024, JAZUG All Rights Reserved.
AlterLock(オルターロック)とは 6 Copyright© 2024, JAZUG All Rights Reserved. 自転車用の盗難防止アラーム& GPS
追跡デバイスです スマホアプリと連携し、離れた場所からでも愛車を見守ります https://alterlock.net/
ユーザー問い合わせ対応業務の課題 7 Copyright© 2024, JAZUG All Rights Reserved. 顧客の感情や知識レベル、購入時期などを判断しながら回答を考える必要がある 過去の問い合わせ履歴から適切な回答を見つけるのが困難
メール返信文の作成に時間がかかるので返信用テンプレートを用紙しているが、 更新が追いついていない 休業期間中に問い合わせ対応ができないことが、返金などの問題に発展する 可能性がある 英語や他言語での問い合わせ対応を翻訳しながら回答しているので、 対応に手間がかかる
生成 AI を導入した目的 8 Copyright© 2024, JAZUG All Rights Reserved.
AlterLock 問い合わせ担当者の対応工数と属人性を下げ、 QA とその評価の履歴を蓄積できるシステムを構築し、 継続的に回答精度を改善できるようにする
QA チャットボット 9 Copyright© 2024, JAZUG All Rights Reserved.
QA チャットボット 10 Copyright© 2024, JAZUG All Rights Reserved.
Architecture RAG による社内データ検索システム 11 Copyright© 2024, JAZUG All Rights Reserved.
システム構成 12 Copyright© 2024, JAZUG All Rights Reserved. Retrieval Augmented
Generation(RAG)
シーケンス 13 Copyright© 2024, JAZUG All Rights Reserved.
構築して分かったこと 14 Copyright© 2024, JAZUG All Rights Reserved. RAG に取り込むデータの準備に想定していたよりも多くのコストがかかった
既存業務プロセスからデータ抽出 • 取り込みに足るデータか目視の個別判定が必要なケースもあった 非構造化データのフォーマット整理 個人情報の取り扱い • 個人情報保護法 • AOAI で個人情報を取り扱うことはできるが、技術面ではなく法務的ハードルが結構高い • 個人情報(氏名、メールアドレス、電話番号など)の抽出 • 普通の文章に個人情報が入ってくるため、ルールベースでの抽出が難しい • Azure AI Language の PII(Personally Identifiable Information)を利用した • マスキング • 氏名は仮名に変更 • メールアドレスは後からユーザー識別できるような仮アドレスに変更 • 最終確認は目検(手動)
構築して分かったこと 15 Copyright© 2024, JAZUG All Rights Reserved. プロンプトの書き方にはテクニックがいる 返答フォーマットを指定する
• 明示しないと意図したフォーマットで返ってこない、後続の処理で取得したい情報が取れない 場合がある 指示が多い場合は手順を明示する • 1回のプロンプトで多くの指示(文章を作成や推敲)をすると忘れられてしまうことがあるので、 できればプロンプトを分けた方が良い 曖昧な言葉を使わない • 表現のゆらぎをなくす 係り受け構造が伝わりやすい文章を意識する • 主語、述語、修飾語、否定、指示語
プロンプトの例 16 Copyright© 2024, JAZUG All Rights Reserved.
Improvement 回答精度を向上させるために改善したこと 17 Copyright© 2024, JAZUG All Rights Reserved.
回答精度が悪い原因 18 Copyright© 2024, JAZUG All Rights Reserved. ① データソース
② 検索結果 ③ OpenAI の回答
原因①:データソース 19 Copyright© 2024, JAZUG All Rights Reserved. そもそも類似する問い合わせメールが過去に存在しないため、欲しい回答が得られない 類似する問い合わせはあるが、古い回答が得られてしまう
類似する問い合わせはあるが、回答が統一化されていないため、欲しいフレーズが回答 に含まれない場合がある • 得たい回答を含んだデータを追加する • データソース内のメールの回答を統一化、最新化する • AI Search のスコアプロファイリング機能で情報の新しさで重みづけする • 検索スコアの閾値を設定して、類似する問い合わせがデータソース内に存在しない場合は 回答生成時に参照させないようにする
原因②:検索結果 20 Copyright© 2024, JAZUG All Rights Reserved. 類似する問い合わせメールはあるが検索時にヒットしない 1つの問い合わせに複数の質問や現象の説明が含まれていて、一部の質問の回答しか
検索結果として得られない • 検索する前に問い合わせ文の意図を明確化する • 問い合わせ文を質問や話題ごとに分割してから、それぞれ検索する
原因③:OpenAI の回答 21 Copyright© 2024, JAZUG All Rights Reserved. OpenAI
が余計なアレンジを加えてしまう 参照元メールや FAQ に記載のない文を付け加える 問い合わせの回答文としておかしい。 製品の交換が必要な旨の説明なしにいきなり交換手順案内をする ユーザーの問い合わせ文の内容を復唱しているだけの場合がある 代理店がユーザーの代わりに問い合わせしている場合、宛先や主語がおかしくなったり、 問い合わせ内容を復唱するだけのことがある 「お客様がXXという質問をしている」という問い合わせなので、立ち位置を理解できていない可能性がある • プロンプトエンジニアリングでの対応 • データソースに書いてあること以外は言及しないようにプロンプトに追記する • 立場(ペルソナ)の説明をプロンプトに追加する • 回答を返す前に問い合わせ文に対する回答として正しいか確認させる
どこが悪いといいきれないパターン 22 Copyright© 2024, JAZUG All Rights Reserved. 類似する問い合わせメールはヒットするが、その回答文が欲しい内容と異なる ヒットした問い合わせ文の類似度は全体的に高いが、回答内容を左右する重要な部分が類似しておらず、
回答の類似度が低くなる 1つの問い合わせに複数の質問が含まれていて、すべての質問に類似度の高い問い合わせ文が検索結果として 得られているが、回答としてはすべての質問に答える必要がない
どこが悪いといいきれないパターン 23 Copyright© 2024, JAZUG All Rights Reserved. • フローチャートを利用する
• 製品の現象と解決方法のパターンがある程度決まっているため、OpenAI に問い合わせ文を もとにフローチャートで状況を判断させる • 判断結果をもとに検索を行い、同様の状況の問い合わせメールを取得し回答生成する。 チャートを辿れない場合は質問する文章を作成する
Conclusion まとめ 24 Copyright© 2024, JAZUG All Rights Reserved.
まとめ AOAI を活用して社内データをもとに回答するシステムを作って分かったこと 回答精度の向上のためには、継続的な改善が重要となる • 開発と運用のフィードバックループを回していくアジャイル開発との相性が良さそう とりあえずデータは量を渡しておくから、いい感じに回答生成させるには限界がある • RAG では検索結果をもとに生成
AI で文章生成するため、検索精度の向上が重要となる • いくらデータ量を増やしても、質の高いデータでないと精度に限界がある • データソースにない情報には回答できない、欲しい情報をまんべんなく入れておく 検索する側の文章の意図を明確化したり、複数の意図が含まれる場合は分割しておく • フローチャートで判断される状況に応じた回答文を整備しておく など 25 Copyright© 2024, JAZUG All Rights Reserved.