目的:コード上の列名(segments/pairs/metrics_resp/PG/FILL/IX)を、
「専門家以外が読める日本語」に置き換え、研究議論(先生)で共有しやすくする。
方針:各特徴量を「5点セット」で説明する。
- (1) わかりやすい日本語名(人間向け)
- (2) 何を測っているか(直感)
- (3) どうやって見つけた/発想したか(着想の出どころ)
- (4) 既存(先行研究で一般的)か/オリジナル(福原の設計)か
- (5) 算出の要点(粒度・分母・入力・簡易式)

resp_first_token を基礎に、RESP_NE_ENTROPY / RESP_YO_ENTROPY で 型の固定化 vs 多様性 を測る。記号:
- ✅=すでに手元のJSON/ダッシュボードで確認できる(実装・出力あり)
- 🟡=実装されている可能性が高いが、現状の「まとめJSON」やダッシュボードに出ていない/要確認/NAの可能性
- ⬜=未実装(今後入れる)
※未実装(⬜)は
<mark>でハイライト。
| 仮説ID | 仮説(何がどう違う?) | 主要指標(主に見る) | 補助指標(解釈の補強) | 期待される方向(例) | 検証のしかた(最小) | 注意点(交絡/限界) |
|---|---|---|---|---|---|---|
| H1 | NE直後の応答が型化している(固定的な返しが増える) | 🟡 RESP_NE_ENTROPY |
🟡 RESP_NE_AIZUCHI_RATE / ✅ IX_yesno_rate |
entropy↓、相槌率↑ or YES/NO↑ | 会話×話者で比較、分母で足切り(min events) | ※RESP_*は「計算はされてそう」だが、統合JSONに未同梱の可能性(要確認) |
| H2 | YO直後でも型化が起きる/文脈依存が弱い | 🟡 RESP_YO_ENTROPY |
✅ IX_topic_drift_mean |
YOでもentropy↓ | NEとYOを同じ指標で比較(差分を見る) | YO条件の分母確保が必要(小さいとentropy不安定) |
| H3 | 修復(OIR)が多い(聞き返し・修復開始が増える) | ✅ IX_oirmarker_rate |
🟡 IX_oirmarker_after_question_rate |
OIR↑ | 会話×話者でOIR率比較 | *_after_question は分母0でNAになり得る(IX_n_pairs_after_question=0 等) |
| H4 | **修復が“成功しにくい/コストが高い”** | ⬜ 修復成功率 / 修復コスト / 修復軌跡 | ✅ timing(PG)/ ✅ FILL | 成功率↓、コスト↑ | OIR後の次ターンで回復したかを定義して測る | “世紀枠”。定義(成功/回復)を先に固める必要 |
| H5 | 話題のつながりが弱い(逸脱が大きい) | ✅ IX_topic_drift_mean |
✅ IX_lex_overlap_mean |
drift↑ / overlap↓ | Jaccard(形態素or2gram)で会話×話者比較 | 語彙だけだと意味のつながりは弱い(拡張余地) |
| H6 | タイミングが特徴的(間・応答遅れ・被り) | ✅ PG_pause_* / ✅ PG_resp_gap_* / ✅ PG_overlap_rate |
✅ PG_speech_ratio |
pause↑、gap↑、overlap↑ など | 会話×話者で比較、分母(総時間・イベント数)で品質管理 | 音声境界ノイズ、gap_tolの影響 |
| H7 | フィラーが多い(言い淀みの頻発) | ✅ FILL_z_log_rate_per_100chars |
✅ PG_pause_p50 |
FILL↑、pause↓(埋め合わせ)など | FILLとPGの関係を相関・回帰で見る | 表記ゆらぎ・タグ混入への耐性 |
| H8 | 複合的な“会話タイプ”がある(クラスタで分かれる) | ✅ CL_fillpg_cluster / ✅ CL_pca_x/y |
✅ PG/FILL/IX | 特定クラスタに偏る | PCA→KMeans、クラスタ特徴を言語化 | 指標セットの選び方でクラスタが変わる |
| H9 | LLM解釈は“仮説生成”として有効だが監査可能にする | 🟡 labels.summary / used_features |
🟡 used_examples(証拠リンク) |
説明の再現性↑ | “whyで言及した特徴量=used_featuresに必ず含める”等の制約 | 現状 used_examples: [] になりがちなので、リンク必須化が必要 |
根拠の見方:ユーザー提示の「まとめJSON例」に キーとして存在していれば、少なくとも “出力はされている”。
逆に、MDに書いてあってもJSONに無いなら、(a)未実装、(b)別ファイルにはあるがこのJSONには載せていない、(c)列名が違う、(d)分母0でNA、のいずれか。ステータス:✅ 実装・出力確認 / 🟡 実装されていそう(要確認/NA) / ⬜ 未実装(今後)
※未実装(⬜)は<mark>でハイライト。
examples[] の中には RESP_NE_AIZUCHI_RATE が出てくるため、計算自体はどこかで行われている可能性が高い(要確認)。| 指標群 | 項目(例) | ステータス | 根拠(JSON/画面) | 次アクション(必要なら) |
|---|---|---|---|---|
| PG(timing) | PG_total_time PG_speech_ratio PG_pause_mean/p50/p90 PG_resp_gap_mean/p50/p90 PG_overlap_rate PG_resp_overlap_rate |
✅ | JSONに多数キーあり(例:PG_total_time 等)+ダッシュボードにPause/Gap summary |
- |
| FILL(フィラー) | FILL_text_len FILL_cnt_total FILL_cnt_eto FILL_rate_per_100chars FILL_z_log_rate_per_100chars 等 |
✅ | JSONに多数キーあり(例:FILL_cnt_eto 等)+ダッシュボードにFiller summary |
- |
| IX(相互行為) | IX_oirmarker_rate IX_yesno_rate IX_lex_overlap_mean IX_topic_drift_mean 等 |
✅ | JSONにキーあり(例:IX_oirmarker_rate 等) |
- |
| IX(質問条件つき) | IX_oirmarker_after_question_rate IX_yesno_after_question_rate IX_lex_overlap_after_question_mean |
🟡(要確認/NAの可能性) | JSON例には rate系キーが存在しない。一方で IX_n_pairs_after_question はある(例:0) |
1) 列が別名で存在するか確認 2) 分母0ならNAとして明示 3) 必要なら実装+JSON統合へ |
| metrics_resp(応答型) | RESP_NE_AIZUCHI_RATE RESP_NE_ENTROPY RESP_YO_ENTROPY n_pairs_after_NE/YO |
🟡 | JSON例には RESP_*が無いが、examples[] 内に RESP_NE_AIZUCHI_RATE が出る |
統合JSONに同梱:話者集計行に RESP_* を入れる(labelsのused_featuresにも入れる) |
| examples(証拠) | examples[](prev_text/resp_textなど) |
✅(部分) | JSONに examples 配列あり。ダッシュボードにも Examples(evidence) が表示 |
“labels.used_examples” へ参照を繋ぐ(下記) |
| LLM labels | labels.summary labels.labels[].why labels.labels[].used_features needs_more_context missing |
✅(ただし整合性課題) | JSONに labels が存在。ダッシュボードにも Summary/Primary label 等 |
整合性チェック:whyで言及した特徴量がused_featuresに必ず入るよう強制 |
| used_examples(LLM側) | labels.labels[].used_examples |
⬜ | JSONで used_examples: []、ダッシュボードでも missing が出ている |
必須化:LLMプロンプトに「引用した例文ID/参照先を必ず列挙」→保存 |
| クラスタ | CL_pca_x CL_pca_y CL_fillpg_cluster |
✅ | JSONに CL_* が存在+PCA散布図が表示 |
- |
ここは先生に刺さる可能性が高い(「ヒューリスティック」批判への回答にもなる)
FILL_cnt_eto が入っていないいちばん強いのは「修復(repair)」を 成功率・コスト・軌跡 まで落とすやつです。
粒度:発話(utterance)
役割:文末のタイプ(NE/YOなど)と疑問を「軽量に」タグ付けして、後段(pairs/metrics)につなぐ。
| 元の列名 | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点(粒度・分母・入力・簡易式) |
|---|---|---|---|---|---|
sfp_group |
文末タイプ(終助詞カテゴリ) | 発話が「ね系/よ系/の系…」のどれで終わるか(相互行為の投げ方) | 日本語会話で文末表現が相互行為(同意要求・提示・断定等)に強く関与するため、まず最小限の分類を作った | 既存概念(会話分析/語用論)+実装は自作 | 入力:text。粒度:発話。式:末尾正規表現で NE/NE_Q/YO/NO/NA/MON/OTHER/NONE/NONLEX に分類 |
is_question |
疑問フラグ(質問っぽい終わり) | 質問(?、か、かな等)かどうか | 会話の「質問→応答」や「修復(OIR)」は質問条件で挙動が変わるため、まず軽量に拾う | 既存(質問判定)+実装は自作 | 入力:text。粒度:発話。式:末尾が ? / ? / (か,かな,かね,でしょう,でしょ,だろう,だろ,の) なら True |
utt_index |
発話順インデックス(会話内) | 会話内で何番目の発話か(順序の固定) | ペア(prev→resp)や系列(直後)を作るには、順序が必要 | 工学的要請(研究の道具) | 入力:start/end/utterance_id等。粒度:発話。式:会話内ソート→0..で再採番(分母なし) |
text |
発話本文 | そのまま | 元データ | - | 解析入力として保持 |
start_time,end_time |
発話時間(ある場合) | 間(pause/gap)など時系列解析の基礎 | 音声境界から timing 指標を作るため | 既存(音声研究) | タイミング系の入力。存在する場合のみ利用 |
粒度:話者交替ペア(前の発話 prev と、それへの応答 resp)
役割:相互行為の「最小単位(隣接ペア)」を作り、応答の型・修復・話題逸脱を測る。
| 元の列名 | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点(粒度・分母・入力・簡易式) |
|---|---|---|---|---|---|
prev_sfp_group |
直前発話の文末タイプ | 相手が「ね系/よ系…」で投げた直後かどうか | 「投げ方(NE/YO)」で応答が変わる、という仮説の入口 | 既存(条件付き分析) | 入力:segments.sfp_group。粒度:ペア。式:prev側のタグを引き継ぐ |
resp_is_aizuchi |
相槌フラグ(短い受け) | 「はい/うん/そう/なるほど…」のような短い返答か | 会話分析で相槌は“会話を前に進める潤滑油”。ASDでは相槌の出方が特徴になりうるため | 既存概念(相槌)+辞書実装は自作 | 入力:resp_text。粒度:ペア。式:相槌語彙辞書で先頭一致(句読点/空白/文末境界) |
resp_first_token |
応答の先頭語(1語目) | 応答が「はい/うん/そう/え…」など、何から始まるか | “型の固定化”を最小仮定で取るため、形態素なしでも頑健な 1語目抽出を採用 | 設計としてオリジナル(実装意図) | 入力:resp_text(正規化後)。粒度:ペア。式:日本語文字列 regex で先頭語を抽出、なければ空 |
prev_text,resp_text |
前発話/応答本文 | そのまま | 元データ | - | pairs の可読性・例文抽出用に保持 |
prev_utt_index,resp_utt_index |
ペア位置(順序) | どの発話同士のペアか | 例文抽出・監査・再現性のため | 工学的要請 | 会話内順序インデックスを保持 |
粒度:会話×話者(応答側)
役割:相互行為を“話者の傾向”として集約し、比較・ランキング・クラスタに使う。
| 元の列名 | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点(粒度・分母・入力・簡易式) |
|—|—|—|—|—|—|
| RESP_NE_AIZUCHI_RATE | 「ね」直後の相槌率 | 相手が「ね(同意促し)」で投げた後に、相槌で返しやすいか | NE は相互行為(同意要求)寄りなので、相槌の出方が“対人調整”の proxy になると考えた | 既存概念(相槌)×条件付き比率は準既存 | 入力:pairs。粒度:会話×応答話者。分母:n_pairs_after_NE。式:mean(resp_is_aizuchi | prev_sfp_group ∈ {NE,NE_Q}) |
| RESP_NE_ENTROPY | 「ね」直後の応答多様性(先頭語) | 「ね」直後の返しが、毎回同じ型(はい/うん/そう)に固定化しているか | 相槌率だけだと「型の固定化」が見えないので、最小仮定で多様性(entropy)を追加した | 設計としてオリジナル(強み) | 入力:pairs。粒度:会話×応答話者。分母:NE条件ペア内の resp_first_token 分布。式:Shannon entropy(log2) |
| RESP_YO_ENTROPY | 「よ」直後の応答多様性(先頭語) | 相手が提示・断定(YO)した後の返しが型化しているか | NE だけだと片手落ちなので、別タイプの投げ方(YO)でも同じ測定をして比較可能にした | 設計としてオリジナル(比較軸の拡張) | 入力:pairs。粒度:会話×応答話者。分母:YO条件ペア内の resp_first_token 分布。式:Shannon entropy(log2) |
| 元の列名 | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点 |
|—|—|—|—|—|—|
| n_pairs_total | 応答ペア総数 | その話者が応答側になった回数 | 指標の信頼性(観測量)を示す最低限の分母 | 既存 | count(pairs) |
| n_pairs_after_NE | 「ね」直後ペア数(分母) | NE条件で観測がどれくらいあるか | NE直後指標は、この分母が小さいと不安定 | 既存(分母管理) | count_if(prev_sfp_group ∈ {NE,NE_Q}) |
| n_pairs_after_YO | 「よ」直後ペア数(分母) | YO条件で観測がどれくらいあるか | YO直後 entropy の安定性のため | 既存(分母管理) | count_if(prev_sfp_group ∈ {YO}) |
粒度:会話×話者
役割:「間」「テンポ」「被り」を定量化。ASD仮説と結びつきやすい(会話のリズム/ターン交替)。
| 元の列名(例) | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点(粒度・分母・入力・簡易式) |
|---|---|---|---|---|---|
pause_mean |
自分の沈黙の平均長 | 発話と発話の間の“間”が長い/短い | 音声会話の基礎指標。会話が詰まる/流れるを反映 | 既存(音声/会話研究) | 入力:speech区間。粒度:会話×話者。式:pause_list の平均 |
pause_p50 |
自分の沈黙の中央値 | 典型的な間の長さ | 平均は外れ値に弱いので中央値も持つ | 既存 | median(pause_list) |
pause_p90 |
自分の“長い沈黙”の代表値(90%点) | たまに起こる長い間の大きさ | 長い沈黙がコミュニケーションに影響しやすい | 既存 | quantile(pause_list, 0.90) |
resp_gap_mean |
相手→自分の応答遅れ(平均) | 相手の発話終了から自分が話し始めるまでの遅れ | ターン交替の滑らかさ | 既存 | speaker change の g>=0 を平均 |
resp_gap_p50 |
応答遅れ(中央値) | 典型的な応答遅れ | 外れ値に頑健 | 既存 | median(resp_gap_list) |
resp_gap_p90 |
大きい応答遅れ(90%点) | “遅れるとき”の遅れの大きさ | 詰まり/負荷の兆候 | 既存 | quantile(resp_gap_list, 0.90) |
resp_overlap_rate |
被り率(相手に被せて話す割合) | 相手が終わる前に自分が入ってしまう頻度 | 会話の同期の取り方の特徴 | 既存 | overlaps / n_resp_events |
speech_ratio |
発話率(話している時間割合) | 会話時間のうち自分が話している割合 | 寡黙/多弁の粗い proxy(ただし性格ではなく会話行動) | 既存 | speech_time / total_time |
total_time |
会話の総時間 | 観測時間 | 分母・品質管理 | 既存 | 音声区間の総和など |
注:
gap_tol=0.05sは「境界ノイズでpauseを過剰カウントしない」ための工学的閾値(理由は Appendix C 相当)。
粒度:話者(speaker)または 会話×話者(運用に合わせる)
役割:「えっと」「えー」などの言い淀みを定量化。発話計画の負荷の proxy になり得る。
| 元の列名(例) | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点 |
|---|---|---|---|---|---|
FILL_cnt_total |
フィラー総数 | えっと/えー/あの…がどれくらい出るか | 言い淀みは古くから議論される。まずカウントで土台を作る | 既存概念+辞書実装は自作 | text に対して辞書regexで count(eto→除去→e の順で二重カウント回避) |
FILL_rate_per_100chars |
100文字あたりフィラー率 | 文章量の違いをならして比較する | 長く話す人ほど数が増えるので正規化が必要 | 既存(正規化) | FILL_cnt_total / (FILL_text_len/100) |
FILL_has_any |
フィラーが出た発話の割合 | “頻繁にフィラーが入る”傾向 | 回数だけでなく出現の広がりを見る | 準既存 | フィラーが1回以上出た行数の合計 |
FILL_z_log_rate_per_100chars |
フィラー率(log→標準化) | 極端に多い人を安定に比較する | 分布が歪むので log + z で安定化 | 既存(統計処理) | zscore(log(rate + epsilon)) |
FILL_cnt_eto |
「えっと」系回数 | 代表的フィラーの頻度 | 「えっと」は独立に見たい | 既存概念 | regex count |
FILL_cnt_e |
「えー」系回数 | 引き伸ばしの頻度 | eto と重なるので除去後に数える | 実装としてオリジナル要素あり | eto除去後に count |
FILL_cnt_ano / sono / maa / nanka / hora |
各フィラー種別回数 | どのタイプのフィラーを使うか | 種類によって機能が違う可能性 | 準既存 | 各辞書regexで count |
FILL_text_len |
総文字数(分母) | 正規化のための分母 | 比率の分母 | 既存 | Σ len(text) |
粒度:会話×応答側話者
役割:会話分析で重要な「修復(OIR)」「質問応答」「話題のつながり」を proxy として測る。
| 元の列名(例) | 人間向け名称(日本語) | (2) 何を測る?(直感) | (3) どう見つけた/発想した? | (4) 既存/オリジナル | (5) 算出の要点 |
|---|---|---|---|---|---|
IX_oirmarker_rate |
聞き返し(修復開始)率:OIR率 | 「え?」「もう一回」などで修復を開始する頻度 | 修復は会話分析の王道。ASD仮説にも直結しやすい | 既存(CA)+辞書実装は自作 | pairsの resp_text に OIR辞書 regex を search → mean |
IX_oirmarker_after_question_rate |
質問直後のOIR率 | 質問されたときに聞き返す頻度 | 質問条件で修復が増える可能性 | 既存(条件付き分析) | prev_is_question=1 に限定して mean |
IX_yesno_rate |
YES/NO応答率 | はい/いいえ/うん…で返す割合(短い同意・否定) | “応答の型”の別軸として導入 | 既存概念 | YESNO辞書で先頭一致 → mean |
IX_yesno_after_question_rate |
質問直後のYES/NO率 | 質問への返しが YES/NO に偏るか | 質問応答の型を見る | 準既存 | prev_is_question=1 で mean |
IX_lex_overlap_mean |
語彙のつながり平均(重なり) | 相手の語と自分の語がどれだけ共通か(つながり) | “話題のつながり”の最小 proxy | 既存(類似度) | tokenize(prev), tokenize(resp) → Jaccard の平均 |
IX_topic_drift_mean |
話題の逸脱度(平均) | 相手の話からどれだけ逸れるか | つながりの裏返しで解釈しやすい | 設計は準オリジナル | 1 - lex_overlap の平均 |
IX_lex_overlap_p10 |
語彙つながり:低い側(10%点) | “つながらない応答”の強さ | 平均だけだと見えない端を残す | 既存(分位点) | quantile(0.10) |
IX_topic_drift_p90 |
逸脱:高い側(90%点) | “大きく逸れる”ケースの強さ | 外れ値の代表を残す | 既存(分位点) | quantile(0.90) |
IX_prev_question_rate |
相手が質問してくる割合 | 観測条件の違い | 条件が違うと比較が歪むため | 既存(品質管理) | mean(prev_is_question) |
IX_n_pairs |
IX算出に使ったペア数(分母) | 観測量 | 信頼性 | 既存 | count(pairs) |
IX_n_pairs_after_question |
質問直後ペア数(分母) | 質問条件の観測量 | 信頼性 | 既存 | count_if(prev_is_question=1) |