【要約】YouTube字幕805本をClaude APIでMap-Reduce要約して検索可能なHTMLデータベースを作った [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
大量の動画コンテンツを効率的に把握したいが、視聴時間は物理的に不足している。また、チャットUIではコンテキストウィンドウの制限やレートリミットにより、大量のテキストを一括処理できないという技術的制約がある。
// Approach
Pythonを用いて字幕をパースし、Claude APIで1本ずつ構造化要約(Map)を行う。リジューム機能を備えたバッチ処理により堅牢性を確保し、集約したJSONデータをJavaScriptによるクライアントサイド検索機能を備えた単一のHTML(Reduce)へ変換する。
// Result
805本の動画に対し、約$1〜2の低コストかつ2〜3時間の処理で、検索可能なHTMLデータベースを構築。エラーなしで完了し、カテゴリ分類やキーワード検索が可能な実用的な成果物を得た。
Senior Engineer Insight
> 本手法は、非構造化データの構造化における極めて実践的なアプローチである。特に、LLMの出力の不安定さ(JSONのコードブロック混入やカテゴリの表記揺れ)を、正規表現によるパースやマッピング処理で補完している点は、現場での「泥臭い」実装として高く評価できる。コスト効率を最大化するために軽量モデルを選択し、リジューム機能を組み込む設計は、大規模バッチ処理の定石を押さえている。ただし、データ量が増大した場合のHTMLファイルサイズ肥大化や、検索精度の限界については、インデックス構成の検討が必要となるだろう。