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
800
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
第46回 Tokyo Jazug Night のセッション資料です。
TonyTonyKun
February 05, 2024
Tweet
Share
More Decks by TonyTonyKun
See All by TonyTonyKun
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
800
Microsoft Ignite 2023 現地参加レポート/ignite2023
thara0402
0
220
Azure Container Apps で .NET 7 アプリを Blue-Green デプロイしてみよう!/jazug12
thara0402
0
1.6k
Azure Synapse Analytics 入門/jazug11
thara0402
0
680
Azure Bicep で始める Infrastructure as Code/ace0917
thara0402
0
420
Introduction to Azure Synapse Analytics/ace0416
thara0402
0
470
Azure Kubernetes Service を活用したマイクロサービス開発/clouddev
thara0402
0
430
Azure Kubernetes Service を活用したマイクロサービス開発/Ignite-osaka
thara0402
0
440
Azure Kubernetes Service を活用したマイクロサービス開発/Ignite-tokyo
thara0402
0
190
Other Decks in Technology
See All in Technology
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Taming you application's environments
salaboy
0
190
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
いざ、BSC討伐の旅
nikinusu
2
780
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
強いチームと開発生産性
onk
PRO
34
11k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
297
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
How to Ace a Technical Interview
jacobian
276
23k
Happy Clients
brianwarren
98
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
A designer walks into a library…
pauljervisheath
204
24k
Statistics for Hackers
jakevdp
796
220k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
4 Signs Your Business is Dying
shpigford
180
21k
Optimizing for Happiness
mojombo
376
70k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing for Performance
lara
604
68k
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.