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
10k
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
32k
Other Decks in Programming
See All in Programming
Kiroで始めるAI-DLC
kaonash
2
580
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
730
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.4k
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
TDD 実践ミニトーク
contour_gara
1
290
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
130
旅行プランAIエージェント開発の裏側
ippo012
2
890
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
1
190
🔨 小さなビルドシステムを作る
momeemt
4
670
複雑なドメインに挑む.pdf
yukisakai1225
5
1.1k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
410
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
GitHub's CSS Performance
jonrohan
1032
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
KATA
mclloyd
32
14k
The Language of Interfaces
destraynor
161
25k
Embracing the Ebb and Flow
colly
87
4.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Why Our Code Smells
bkeepers
PRO
339
57k
It's Worth the Effort
3n
187
28k
Building Applications with DynamoDB
mza
96
6.6k
Become a Pro
speakerdeck
PRO
29
5.5k
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チームを立ち上げました!!!