Talk to the CityのGUI版(Turbo)で、レポート内の各コメントに出典掲載する方法
あわせて、分析対象の回答に質問を紐づける工夫についても記載します。
成果物のイメージ
前提
大まかな作業の流れ:
1.元データの整形(CSV形式)
元データの録画を音声データに変換→各音声データを10分単位に分割→LLMで文字起こし→スプシで構造化→規定のデータ形式に変換
2.Clustur Extraction内のプロンプト作成
3.Argument Extraction内のプロンプト作成
4.Turboで出力
CSVの整形
必須のカラムは comment-body
と comment-id
の2つです。
その他 interview
video
timestamp
を使用することができ、今回は interview
を使用しました。
>Upload a CSV file with the data to process in the following steps. A sample CSV can be found on Google Sheets. The optional 'video' and 'timestamp' fields should be left blank for datasets without video content.
> To export a CSV from Google Sheets, make sure you click on File > Download > .csv.
上記の制約があるため、回答と質問を紐づけるためには comment-body
内の構造に工夫が必要でした。
参考画像(Googleスプレッドシート):
_comment-id,comment-body,interview
1,{Q1}{Q1-1},{回答者A(例:Aさん)}
2,{Q1}{Q1-2},{回答者A(例:Aさん)}
3,{Q1}{Q1-3},{回答者A(例:Aさん)}
4,{Q2}{Q2-1},{回答者A(例:Aさん)}
5,{Q2}{Q2-2},{回答者A(例:Aさん)}
6,{Q2}{Q2-3},{回答者A(例:Aさん)}
7,{Q3},{回答者A(例:Aさん)}
8,{Q4},{回答者A(例:Aさん)}
9,{Q5},{回答者A(例:Aさん)}
10,{Q1}{Q1-2},{回答者B(例:Bさん)}
11,{Q1}{Q1-3},{回答者B(例:Bさん)}
12,{Q2}{Q2-1},{回答者B(例:Bさん)}
13,{Q2}{Q2-2},{回答者B(例:Bさん)}
14,{Q3},{回答者B(例:Bさん)}
15,{Q4},{回答者B(例:Bさん)}
16,{Q5},{回答者B(例:Bさん)}
17,{Q1}{Q1-2},{回答者C(例:Cさん)}
18,{Q1}{Q1-3},{回答者C(例:Cさん)}
19,{Q2}{Q2-1},{回答者C(例:Cさん)}
20,{Q2}{Q2-2},{回答者C(例:Cさん)}
21,{Q3},{回答者C(例:Cさん)}
22,{Q4},{回答者C(例:Cさん)}
23,{Q5},{回答者C(例:Cさん)}
Clustur Extraction内のプロンプト
※
■ 要約例
は人間が作りました。分析対象のコンテンツを理解したうえで、望ましい分類例を試行錯誤しながら何度も書き換えて改善しました。ここが成果物の品質に結構影響する気がしています

_/system
あなたは、インタビューデータを整理・分析するプロのリサーチャーとして以下のタスクを実行します。
■ 入力データについて
- インタビューの文字起こしデータ(CSV形式)
- 列構成:comment-id, comment-body, interview
■ タスク内容
- インタビュー内容を以下の原則に従って要約し構造化された文字列形式(strings)のJSONリストとして出力してください。
- interviewは分析において非常に有用な情報であるため、要約とあわせて必ず併記してください。
■ 要約の原則
1. 基本方針
- 中学生でも理解できる平易な表現を使用
- 1つの要約を1文(30文字程度)で完結
2. 内容の分割
- 1つのコメントに複数の重要な指摘がある場合は分割
- 分割後も文脈が通ることを確認
3. 表現の工夫
- 専門用語は平易な言葉に置き換える
4. 例外処理
- 要約が難しい短いコメントはそのまま出力
■ インタビュー調査の概要
- 目的:{目的}
- 対象者:{対象者}
- 実施主体:{実施主体}
- 質問内容:
{Q1質問項目}
- {Q1-1質問項目詳細}
- {Q1-2質問項目詳細}
- {Q1-3質問項目詳細}
{Q2質問項目}
- {Q2-1質問項目詳細}
- {Q2-2質問項目詳細}
- {Q2-3質問項目詳細}
{Q3質問項目}
{Q4質問項目}
{Q5質問項目}
■ 要約例
以下にcomment-bodyを要約する際の例を挙げます。これらは参考例であり、この例文をそのまま出力しないでください。
/human
施設退所後の若者支援では、就労と住居の確保が特に重要です。ただ、就職できても人間関係でつまずいて辞めてしまったり、家賃が払えなくなって退去を迫られたりするケースが多く、継続的な支援が必要だと感じています。
/ai
[
"施設退所後は就労や住居の確保が重要です",
"就労や住居を確保した後に職場の人間関係や家賃支払いなどで困難を抱えるケースも多く継続的な支援が必要です",
]
/human
若者の相談内容は多岐にわたりますが、特に就職活動の途中で挫折してしまうケースが目立ちます。面接に行けない、履歴書が書けないなど、具体的なつまずきポイントがあり、そこで支援が必要になることが多いです。
/ai
[
"就職活動での具体的なつまずき(面接や履歴書作成など)に関する相談が多い",
]
/human
最近は支援機関同士での情報共有が進み、若者の状況に応じて適切な支援先を紹介できるようになってきました。ただ、夜間や休日の対応は各機関とも難しく、この部分は今後の課題だと思います。
/ai
[
"支援機関間の連携が進み、適切な支援先の紹介ができるようになった",
"夜間・休日の支援体制は今後の課題だと思います。"
]
Argument Extraction内のプロンプト
_/system
特定のテーマについて実施されたインタビューをもとに作成されたクラスタ分析の結果を与えるので、クラスターにふさわしいラベルを生成してください。
議論の主要な質問、分類したいクラスターのリスト、そしてそれ以外のクラスターのリストが与えられます。
あなたの役割は、そのクラスターを端的に表現するカテゴリーラベルを1つ提示することです。
以下の点に注意してください:
- ラベルは簡潔であることが重要です
- ただし、そのクラスターとそれ以外のクラスターとの違いを明確に示せる程度の具体性は必要です
- ラベル名は必ず日本語で記述してください
- 各ラベル名で同じ単語を繰り返し使わないでください
/human
議論の質問 「英国のEU離脱決定に際してEUはどのような対処をすべきだと思いますか?
それ以外のクラスターの例
* エラスムス・プログラムからの除外により、教育・文化交流の機会が制限されないようにすべき。
* 国境検問の強化による旅行時間の延長に対処し、通勤客や旅行客に影響を軽減すべき。
* 環境基準における協力を維持し、気候変動と闘う努力を向上すべき。
* 相互医療協定の中断せずに、患者ケアを減らさないようにすべき。
* Brexit関連の変更により、家族の居住権や市民権の申請を複雑にしないようにすべき。
* 英国との共同研究機会を維持し、研究の課題に取り組む世界的な取り組みを維持すべき。
* EUの文化助成プログラムからの除外の影響を減らし、創造的なプロジェクトを制限しないようにすべき。
* EUの資金提供の喪失の影響を減らし、慈善活動やコミュニティ支援が後退しないようにしてほしい。
* 消費者保護の弱体化させず、国境を越えた紛争解決にコミットしてほしい。
* 英国のプロの音楽家のEU諸国ツアーを制限せず、キャリアに影響を与えないでほしい。
クラスター内の例
* Brexitによるサプライチェーンへの影響をとどめ、企業にとってコスト増と納期遅延を回避すべき。
* ブレグジットによる市場の変動や投資・退職金の不確実性を減らしてほしい。
* 新たな関税や通関手続きを考慮し、英国は輸出業者として利益率の低下に対処すべき。
* ブレグジット後、企業がEU市場内にとどまるために事業を移転せずに、雇用を失わないようにしてほしい。
* 英国は輸入品価格の高騰による生活費の増加に対処してほしい。
* 英国のハイテク産業への投資を維持し、技術革新と雇用機会を保つべき。
* 新たなビザ規制による観光客の減少に備え、新たな接客業への刺激策を考えるべき。
* ポンド価値の下落により購買力が低下に備え、旅費の増加に対処してほしい。
/ai
財務上のマイナス影響への対処を考えるべき
苦労した作業
元データ(インタビューの文字起こし)の構造化
特に最後の構造化部分に時間がかかった。LLMでワンショットで…と夢見たが、2024年7月頃のモデルと私の能力では難しく、結局半分以上人力でコピペ作業と修正を行った。
回答と質問を紐づけるための工夫
comment-body
構造の設計
interview
カラムとの整合性を保ちながらひとつのカラム( comment-body
)内に質問と回答を組み込むための構造を考える必要があった
プロンプト部分(特にClustur Extraction)の改善
初期は安野さん都知事選のプロンプトをコピペして使用していた
しかし、安野さんのレポートとは元データの性質が大きく異なるため工夫が必要だった
安野さんのレポートの分析データはSNS上の大量の投稿。一方今回の作成するレポートは少人数への半構造化インタビューへの回答であったため、安野さんプロンプトのコピペだけでは成果物の品質が悪かった
ただ、プロンプトの改善は comment-body
構造と整合性をとる必要がありjson変換に失敗し続けた