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
9.6k
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
26k
Other Decks in Programming
See All in Programming
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
380
快速入門可觀測性
blueswen
0
350
良いユニットテストを書こう
mototakatsu
7
2.2k
ドメインイベント増えすぎ問題
h0r15h0
2
300
From Translations to Multi Dimension Entities
alexanderschranz
2
130
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
Typedesign – Prime Four
hannesfritz
40
2.4k
Done Done
chrislema
181
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Scaling GitHub
holman
458
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Six Lessons from altMBA
skipperchong
27
3.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Visualization
eitanlees
146
15k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
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チームを立ち上げました!!!