{
  "schemaVersion": 1,
  "id": "P59-C06",
  "title": "Диалоги: разбиение по исходной семье без утечки перефразировок",
  "author": {
    "id": "P59",
    "name": "Владислав Савельев"
  },
  "specialty": "Данные и эталоны для проверки моделей",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P59-C06",
    "title": "Набор для голосового сервиса",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Случайное деление строк делает оценку удобнее, если перефразировка проверочного примера уже была в обучении. Я показал этот дефект на небольшом открытом наборе.",
  "decision": "Каждая исходная реплика и ее вариант получают один family ID. Baseline чередует строки и создает утечку; исправленное деление закрепляет целые семьи за частью. Это проверка структуры данных, не качества распознавания речи.",
  "constraint": "Это тексты сценариев, не аудиозаписи. Шум, ASR и акустическая независимость не измеряются.",
  "steps": [
    "Подготовить и зафиксировать исходный набор.",
    "Выполнить выбранное преобразование и сохранить результат.",
    "Проверить крайние случаи на измененных входах."
  ],
  "inspection": [
    "Семейное деление дает 8/4 без пересекающихся семей — проверено.",
    "Построчное деление выявляет все шесть утечек — проверено.",
    "Новая перефразировка F5 остается в test — проверено."
  ],
  "sample": {
    "headers": [
      "ID",
      "Семья",
      "Текст",
      "Часть"
    ],
    "rows": [
      [
        "D1",
        "F1",
        "Перенесите визит на вечер.",
        "train"
      ],
      [
        "D2",
        "F1",
        "Можно записаться вечером вместо дня?",
        "train"
      ],
      [
        "D3",
        "F2",
        "Отмените мой визит.",
        "train"
      ],
      [
        "D4",
        "F2",
        "Я не смогу прийти, снимите запись.",
        "train"
      ],
      [
        "D5",
        "F3",
        "Назовите адрес студии.",
        "train"
      ],
      [
        "D6",
        "F3",
        "Где вы находитесь?",
        "train"
      ],
      [
        "D7",
        "F4",
        "Соедините с человеком.",
        "train"
      ],
      [
        "D8",
        "F4",
        "Хочу поговорить с администратором.",
        "train"
      ],
      [
        "D9",
        "F5",
        "Повторите последнее время.",
        "test"
      ],
      [
        "D10",
        "F5",
        "Не расслышал, во сколько запись?",
        "test"
      ],
      [
        "D11",
        "F6",
        "Стоп, завершите разговор.",
        "test"
      ],
      [
        "D12",
        "F6",
        "Больше ничего не нужно, до свидания.",
        "test"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Разработчик эталонных наборов данных",
    "contribution": "Я составил двенадцать диалогов шести семейств и сравнил разделение по строкам и по семействам.",
    "objective": "Двенадцать полных текстовых реплик делятся по шести исходным сценариям; близкие варианты не попадают одновременно в обучение и проверку.",
    "problem": "Случайное деление строк делает оценку удобнее, если перефразировка проверочного примера уже была в обучении. Я показал этот дефект на небольшом открытом наборе.",
    "result": "На двенадцати репликах построчное разбиение создает шесть пересечений семей. Исправленный вариант дает 8 train и 4 test без утечки; новая перефразировка F5 остается в test.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Перефразировка не становится независимым тестом",
        "text": "Фраза D1 о переносе визита относится к семейству F1. Если родственные формулировки распределить по отдельным строкам, одна тема может оказаться и в обучении, и в проверке. Разделение по семействам сохраняет восемь строк в train и четыре в test без такого пересечения, делая границу набора проверяемой."
      }
    ]
  },
  "deliverable": {
    "type": "analysis",
    "entry": "/catalogue/deliverables/p59-c06/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p59-c06/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c06/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      }
    ],
    "summary": "На двенадцати репликах построчное разбиение создает шесть пересечений семей. Исправленный вариант дает 8 train и 4 test без утечки; новая перефразировка F5 остается в test."
  },
  "takeaway": "На двенадцати репликах построчное разбиение создает шесть пересечений семей. Исправленный вариант дает 8 train и 4 test без утечки; новая перефразировка F5 остается в test.",
  "capabilities": [
    "completed_analysis"
  ],
  "externalConnections": []
}
