生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
by
https://speakerdeck.com/pokutuna
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
高性能な AI を使うだけじゃない! 生成 AI を活用した toitta 切片分類機能の裏側 id:pokutuna 2024/10/24 はてな 生成AI×新規事業 の挑戦 1
Slide 2
Slide 2 text
id:pokutuna ● toitta の AI 周辺担当 ● 2013 新卒入社 ➡ 受託開発 ➡ 広告配信・データ基盤 ➡ 新規事業 アイコン 2
Slide 3
Slide 3 text
アジェンダ ● 切片分類(グルーピング)機能とは ● グルーピング処理の流れ ● 生成 AI を利用する上での工夫 3
Slide 4
Slide 4 text
4 toitta の機能
Slide 5
Slide 5 text
5
Slide 6
Slide 6 text
書き起こし & 話者分離 6 話者判定と分離 話者の判定と分離を⾃動で⾏い ます。 段落分割で⻑時間のインタ ビューによる書き起こしも⾒や すくします。 佐々木さん 佐藤さん
Slide 7
Slide 7 text
切片の抽出 7 インタビュイーの発話を中心に切片化
Slide 8
Slide 8 text
切片グルーピング 8 佐々木さん 佐藤さん
Slide 9
Slide 9 text
toitta の機能 ● 書き起こし & 話者分離 音声認識技術・言語モデルを利用 ● 切片の抽出 生成 AI による抽出・要約・加工 ● 切片グルーピング 生成 AI による要約・クラスタリング 9
Slide 10
Slide 10 text
toitta の機能 ● 書き起こし & 話者分離 音声認識技術・言語モデルを利用 ● 切片の抽出 生成 AI による抽出・要約・加工 ● 切片グルーピング 👈 ここの話 生成 AI による要約・クラスタリング 10
Slide 11
Slide 11 text
11 切片グルーピング
Slide 12
Slide 12 text
12 佐々木さん 佐藤さん "近い"切片をまとめる
Slide 13
Slide 13 text
13 佐々木さん 佐藤さん タイトル & サマリを付加
Slide 14
Slide 14 text
親和図法を支援 ● 切片を付箋に書く ● 似た切片をまとめる ● まとまりの 関係性を可視化 14 羽山祥樹. "KA法(本質的価値抽出法)の手順と実例「資格試験を受ける人のモチベーションの価値マップ」". https://www.figma.com/community/file/1142124393231568930 , (2024-10-18)
Slide 15
Slide 15 text
15 佐々木さん 佐藤さん
Slide 16
Slide 16 text
16 佐々木さん 佐藤さん 切片まとめるところまで ● 特定手法に特化しない ● 次の分析ステップを楽にする ○ 分析作業は慣れたツールで
Slide 17
Slide 17 text
17 どのように グルーピングするか?
Slide 18
Slide 18 text
全体の流れ 18
Slide 19
Slide 19 text
AI にお願い ● 「これらを分類してまとめて」 ● 一見よさそうな出力は得られるが... ○ 入出力の一貫性・網羅性がいまいち ○ 粒度の調整が効かない ○ トップダウン的分類になりがち 19
Slide 20
Slide 20 text
「近い」切片とは? ● 定義が難しい ● 作業者・状況によって違う ● 切片テキストを 利用しようとしたが... 20
Slide 21
Slide 21 text
21 例: 引っ越しインタビュー
Slide 22
Slide 22 text
22 例: 引っ越しインタビュー 収納に関する話
Slide 23
Slide 23 text
切片の拡張 ● 前後の発話から分類用の拡張切片を生成 ● 意図・感情・行動・ニーズを拾って短く作文 ● 各切片に対して実行 (100~200回/インタビュー) 23 話者は、収納スペースが不足していると感じ 壁面を活用している。キッチンに突っ張りで フェンスを作りフライパンをかけている。 拡張
Slide 24
Slide 24 text
Text Embedding 24 ● 文章の意味を反映したベクトル表現 ○ 意味が近いテキストは近くなる ● 拡張した切片の Embedding 表現を得る ○ Vertex AI のクラスタリングに適した Emb を利用 話者は、収納スペースが不足 していると感じ... [0.179, 0.187, … 0.205]
Slide 25
Slide 25 text
次元削減&クラスタリング 25 ● UMAP で低次元へ削減 ○ 高次元だとクラスタリングが働きにくい ● HDBSCAN でクラスタリング ○ 今回の用途に使いやすい ○ 密度ベース・形状の変化に柔軟 ○ クラスタ数決めなくて良い
Slide 26
Slide 26 text
切片のクラスタリング 26 :クラスタなし 使い始めたきっかけ ブコメについて あとで読む機能 通知機能 はてなスター エンジニアの情報収集
Slide 27
Slide 27 text
拡張切片の出力の調整 27 ● 良いクラスタリングができるように調整 ● 文の体裁を統一 ○ ❌「インタビューでは」「〜と言っていました」 ○ ⭕「話者は (背景や理由) (行動) をした。」 に統一 ● 固有名詞を避ける ○ 共通すると過剰に類似度が高くなる ○ キーワードでグルーピングしたいわけではない
Slide 28
Slide 28 text
タイトル & サマリ 28 ● クラスタごとにタイトル & サマリを生成 ○ 切片 & 拡張した切片を入力 ○ 話者の行動に着目した説明を生成
Slide 29
Slide 29 text
全体の流れ 29
Slide 30
Slide 30 text
30 生成 AI を 利用する上での工夫
Slide 31
Slide 31 text
活用の工夫 31 ● 切片の拡張 ○ 簡単なタスクに落とし込む・必要な情報だけ与える ● グループ化 ○ 従来からある手法の活用 ● タイトル & サマリの生成 ○ 多段階の処理でユーザに見せる品質に整える
Slide 32
Slide 32 text
簡単なタスクに分解する 32 ● 高度な推論能力がなくてもいい形に分解 ○ 明確なタスク & 必要な情報だけ与える ● 切片拡張では切片ごとに実行 ○ 1インタビューで 100~200 回実行 ○ モデルの賢さ依存を下げる・出力を安定させる ● モデルを使い分ける ○ コスト・速度に優れる Gemini 1.5 Flash を利用
Slide 33
Slide 33 text
Gemini 1.5 Flash 33 Artifact Analysis "Gemini 1.5 Flash (Sep '24): API Provider Benchmarking & Analysis" https://artificialanalysis.ai/models/gemini-1-5-flash/providers , (2024-10-18)
Slide 34
Slide 34 text
既存手法と組み合わせる 34 ● Embedding & クラスタリング ○ 昔からある手法 ○ 結果も(相対的に)安定する ○ 実装を見れる・説明性もある
Slide 35
Slide 35 text
多段処理で品質を保つ 35 ● ユーザーに見せるテキスト品質 ○ 敬体に統一・テキストの長さの調整 ○ デザイン意図から特定の文字数に収めたい ● 一度にまとめてやらない ○ タイトル&サマリの生成 → 敬体に統一・文字数調整 ● Gemini 1.5 Pro を利用
Slide 36
Slide 36 text
例: テキスト長の調整 36 グループ サマリ文字数 指示:110文字程度
Slide 37
Slide 37 text
課題 37 ● 評価の難しさ ○ 求めるグルーピング結果が定まっていない ○ 定量的な指標に落ちていない ● 調整を繰り返し定性的に評価 ○ 一対比較「A と B のどっちがいい?」
Slide 38
Slide 38 text
38 まとめ
Slide 39
Slide 39 text
39 ✅ 切片分類機能とは ✅ グルーピング処理の流れ ✅ 生成 AI を利用する上での工 夫 ● 簡単なタスクに落とし込む ● 従来からある手法と組み合わせる ● 多段階の処理で品質をコントロール
Slide 40
Slide 40 text
hatena.co.jp/recruit 40 40
Slide 41
Slide 41 text
ご質問や感想は #hatenatech にお願いします 発表後ご質問をピックアップする場合がございます #hatenatech 41