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
LayerX Biz Boost〜Whisper+GPTによる音声文字起こし要約の取り組み〜
Search
yakipudding
April 25, 2023
Programming
1
8.9k
LayerX Biz Boost〜Whisper+GPTによる音声文字起こし要約の取り組み〜
LLM(GPT, PaLM等) with MLOps LT大会!!! で登壇した内容です
https://mlops.connpass.com/event/279156/
yakipudding
April 25, 2023
Tweet
Share
More Decks by yakipudding
See All by yakipudding
LayerX Biz Boost 〜セキュリティチェックシート一次回答の取り組み〜
yakipudding
1
19k
Other Decks in Programming
See All in Programming
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.7k
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
480
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
新宿ダンジョンを可視化してみた
satoshi7190
3
420
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
190
Ruby GitHub Packages
bkuhlmann
0
650
Fast JSX: Don't clone props object #28768
yossydev
1
220
WebGLで始める コンピュータグラフィックス入門
heller77
0
350
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.4k
使ってみよう Azure AI Document Intelligence
kosmosebi
2
370
“Seeing Like a Programmer”—Resiliency, Limits, and Moral Hazards in Software Engineering (LambdaConf 2024)
chriskrycho
0
320
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
930
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
468
290k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
46
In The Pink: A Labor of Love
frogandcode
138
21k
Into the Great Unknown - MozCon
thekraken
15
1k
It's Worth the Effort
3n
180
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
GitHub's CSS Performance
jonrohan
1025
450k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
A designer walks into a library…
pauljervisheath
201
23k
Transcript
LayerX Biz Boost 〜Whisper+GPTによる音声文字起こし要約の取り組み〜 2023.4.25 LLM(GPT, PaLM等) with MLOps LT大会!!!
白井 仁美(@yakipudding)
Confidential © LayerX Inc. 2 画像を入れてね 自己紹介 白井 仁美 @yakipudding
- LayerX MLエンジニア - 3月に弥生からLayerXに転職 - 法人向けSaaS「バクラクシリーズ」 請求書OCR機能の開発がメイン - LLM活用の取り組みも
What's LayerX Biz Boost?
© LayerX Inc. 4 LLMを活用した業務効率化ツール - 例)お客様へのヒアリング内容の要約自動生成 (セールスチーム向けに提供) What’s LayerX Biz
Boost? ヒアリング 音声ファイル 文字起こし 要約
© LayerX Inc. 5 LLMを活用した業務効率化ツール - 例)お客様へのヒアリング内容の要約自動生成 (セールスチーム向けに提供) What’s LayerX Biz
Boost? ヒアリング 音声ファイル 文字起こし 要約 GPT Whisper
課題&工夫したこと
Whisperが話し手を区別できない問題
© LayerX Inc. 8 実際の音声: セールス: お世話になっております。LayerXの田中と申します。 お客さま: お世話になっております。 Whisperの文字起こし結果: お世話になっております。LayerXの田中と申します。お世話になっております。 ➔
Whisperの文字起こし結果は話し手の区別ができない 1. Whisperは話し手の区別ができない
© LayerX Inc. 9 実際の音声: セールス: バクラクシリーズはAがBでCで・・・とにかくバクラクなんですよ。 お客さま: へー。 セールス: 御社の運用ではどういったところに課題を感じていますでしょうか。 お客さま: んーそうですね。やっぱ紙で回すのがつらいですね。 Whisperの文字起こし結果:
バクラクシリーズはAがBでCで・・・とにかくバクラクなんですよ。へー。御社の運用ではどういったと ころに課題を感じていますでしょうか。んーそうですね。やっぱ紙で回すのがつらいですね。 GPTの要約結果: バクラクシリーズはとにかくバクラクです。紙で回すことに課題を感じています。 ➔ 要約結果にセールスが話した内容は不要 ➔ 文字起こし時点で話し手の区別をし、お客さまの発言を抽出して要約したい 1. Whisperは話し手の区別ができない
© LayerX Inc. 10 話者分離を行うためにpyannote.audioを利用 - 音声から話者判別を行うことができるライブラリ - 1名の話者の発言単位に音声を分割し、分割した音声単位でWhisperで文字起こしを行った 1.
Whisperは話し手の区別ができない お世話になっております。お世話になっております。 A: お世話になっております。 B: お世話になっております。
© LayerX Inc. 11 話者分離後のWhisperの文字起こし結果: SPEAKER1: バクラクシリーズはAがBでCで・・・とにかくバクラクなんですよ。 SPEAKER2: へー。 SPEAKER1:
御社の運用ではどういったところに課題を感じていますでしょうか。 SPEAKER2: んーそうですね。やっぱ紙で回すのがつらいですね。 GPTのプロンプト: これはセールスと顧客の会話です。顧客の回答を要約してください。 GPTの要約結果: 顧客は紙で回すことに課題を感じています。 ➔ GPTがどちらが顧客かを推測して回答してくれる ➔ 要約結果がいい感じになった! 1. Whisperは話し手の区別ができない
GPTの要約結果、なんかちょっと違う問題
© LayerX Inc. 13 実際の音声: セールス: 御社の運用ではどういったところに課題を感じていますでしょうか。 お客さま: んーそうですね。やっぱ紙で回すのがつらいですね。 ・・・(長い会話)・・・ GPTのプロンプト: これはセールスと顧客の会話です。顧客の回答を要約してください。
GPTの要約結果: 課題を感じた内容について話題にあがりました。 ➔ 違う、そうじゃない。みたいな結果が返ってくる ➔ 「要約して」だと要約しすぎて本当に聞きたい中身がないことがある 2. 「要約して」だとうまく要約してくれないことがある
© LayerX Inc. 14 プロンプトを少し工夫することで改善 - 聞きたい項目について具体的に聞く 1. 顧客が使っているシステムは何ですか? 2.
顧客が課題に感じていることは何ですか? 3. 顧客はどうなることを期待していますか? … - 重要な発言を抽出させてから要約する - 価格に関して言及している発言を抽出してください - 要約してください ➔ GPTがいい感じに答えてくれるようになった 2. 「要約して」だとうまく要約してくれないことがある
GPTの文字数制限きつすぎる問題
© LayerX Inc. 16 ヒアリングは長いと1時間にも及ぶこともある ➔ 文字起こしした文字数が長文になる ➔ プロンプトの文字数制限にひっかかる 3.
プロンプトの文字数制限がきつい
© LayerX Inc. 17 結局制限文字数でチャンクわけするしかない。。。 3. プロンプトの文字数制限がきつい … … …
…
© LayerX Inc. 18 複数項目質問をすると回答もチャンクごとに出る 3. プロンプトの文字数制限がきつい … … …
… A,B,Cについて回答して A,B,Cについて回答して A,B,Cについて回答して A,B,Cについて回答して Aは... Bは... Cは... Aは... Bは... Cは... Aは... Bは... Cは... Aは... Bは... Cは...
© LayerX Inc. 19 後処理でまとめたり再要約させたりする 3. プロンプトの文字数制限がきつい … … …
… A,B,Cについて回答して A,B,Cについて回答して A,B,Cについて回答して A,B,Cについて回答して Aは... Bは... Cは... Aは... Bは... Cは... Aは... Bは... Cは... Aは... Bは... Cは... Aは... Bは... Cは...
実際に使ってもらった結果
© LayerX Inc. 21 - 話者分離するためにpyannoteを使うことで、処理時間が長くなってしまった - そもそも音声処理は重たい - ほぼGPU必須(CPUで動かなくはないが何時間もかかる。。)
- 30分の音声ファイルで10分程度かかる - GCP BatchでGPU使うなども工夫したが、これ以上は厳しかった。。 - 忙しいセールスにとって、精度よりも速度のほうが大事だった - 結果的に思ったほど使ってもらえなかった。。 実行時間がかかりすぎる
© LayerX Inc. 22 - 社内用Webサイトに音声ファイルをアップロードしてもらう形にした - Stleamlit + LangChainでシュッと開発
- いったんPoCということで実装が楽なやり方に倒してしまった - 忙しいセールスにとって、わざわざWebサイトにアクセスしてアップロードするのは面倒だった - 結果的に思ったほど使ってもらえなかった。。(その2) 使うまでのハードルが高かった
© LayerX Inc. 23 - 通常のプロダクト開発と同じく、UXが良くないと使ってもらえない - といっても本業の片手間開発だとそこまで時間をかけられず。。。 - やるならちゃんとリソースを投入して開発しないと使ってもらえるものは作れない
やっぱりUXが良くないと使ってもらえない
ということで
© LayerX Inc. 25 CTO松本が初代所長に就任し、LLM Labsチームを立ち上げました https://tech.layerx.co.jp/entry/2023/04/04/110000 LLMの研究・サービスへの導入検証・新規事業探索などに取り組むチームとなっております! 興味ある方は是非応募をお待ちしております!! ※私の所属するバクラク
MLチームとは別の組織になります もちろんバクラクのMLエンジニア/ML Opsエンジニアの方も募集しています!!! https://open.talentio.com/r/1/c/layerx/pages/63504 https://open.talentio.com/r/1/c/layerx/pages/71190 カジュアル面談もやってますのでお気軽に!!! https://jobs.layerx.co.jp/6843b7b523ce45e2921e82a03e902edb LayerXではLLM Labsチームを立ち上げました!!!