В этой стать хочу рассказать о том, что оценивать мнение аудитории о происходящем на видео можно и даже нужно не только качественными, но и количественным методом, получая результаты сразу без каких-либо задержек.
К плюсам моего количественного способа оценки я бы отнес следующее:
высокая скорость сбора данных. Результат можно получить за 1-2 дня.
легкий и интуитивно понятный для зрителя процесс оценки
зрителю не нужно прерывать просмотр, для того чтобы высказать своё мнение, все происходит в динамике, без отрыва от просмотра видеофрагмента
на основе тестирования видео на аудитории в 300-500 человек, получившиеся результаты можно статистически обобщать на всех зрителей, с очень хорошей точностью
-
результат сразу, в графиках и табличках, не нужно ждать расшифровок и обработки
Не затрагивая конкретных реализаций, хочу сосредоточится только на 4-х, самых важных аспектах, для работы такой системы оценок видео:
Как показывать видео?
Что оценивает зритель?
Какие сырые данные получаем?
-
Как выглядят автоматически обработанные результаты?
Я не буду касаться общих для всех количественных методов тем, таких как: выбор индикаторов и шкал, нормирование тестов, корректное построение выборки, основания её рандомизации, оценка доверительных интервалов, проверка гипотез, минимизация ошибок, отбраковка выбросов и т.д., сосредоточившись только на описании разработанных мной средств автоматизации сбора таких оценок.
Как зрителю показывается видео?
Отобранной выборке зрителей, это может быть пререкрут, а может быть рассылки по случайной выборке, приходит электронное письмо или СМС со ссылкой и предложением об участии в оценке видеофрагмента, содержащее уникальный код для доступа к опросу. При открытии ссылки зритель вводит код:
И попадает на страницу оценки видеофрагмента
Зритель смотрит видео и отмечает моменты, которые ему нравятся/не нравятся, нажимая мышкой на оценку, либо +/- на клавиатуре.
Что оценивается?
В примере зритель оценивает видео по дихотомической шкале. Наиболее простой и понятный способ, максимально упрощающей зрителю оценку. Возможны другие варианты:
-
Шкала Лайкерта
Полностью не нравится
Не нравится
Где-то посередине
Нравится
-
Полностью нравится.
-
Семантический дифференциал
Пары "успокаивающий – бодрящий" или "захватывающий – скучный", в виде униполярной "1, 2, 3, 4, 5, 6, 7", или биполярной шкалы, "-3, -2, -1, 0, 1, 2, 3".
-
Графическая рейтинговая шкала
Стрелка обычно передвигается мышкой. Реже используется вариант с окошком для ввода значения. Такая шкала может быть не только дискретной, но и непрерывной, от 1 до 100 или от 1 до 1000.
Какие сырые данные получаем?
Получаем временные ряды с плотностью оценок до микросекунд. Для этого сначала подготавливаем данные для сохранения:
var resp = "{TOKEN:TOKEN}"; // идентификатор респондента
var now = new Date(); // текущее время нажатия на кнопку
var CurrentAnswer = this.value; // выбранный вариант ответа
var VideoTime = player.getCurrentTime(); // время от начала видео, в секундах и их долях, из плеера.
А затем сохраняем данные в базу SQL, обязательно асинхронно, через ajax запрос, чтобы не терять промежуточные нажатия во время обработки предыдущего нажатия:
var check_quota_url = "http://url/save.php?resp="+resp+"&date="+now+"&time="+VideoTime+"&ans="+CurrentAnswer;
$.ajax({
url: check_quota_url,
type: "GET",
timeout: 600,
dataType: 'json',
async: true
});
База с сырыми данными для дихотомии выглядит следующим образом:
SQL база данных с результатами опроса Как выглядят автоматически обработанные результаты?
Результатом обработки является дашборд, на котором данные пересчитываются и обновляются раз в 3-5 минут. На графиках легко отследить хорошие и проблемные места видеофрагмента и получить как общее представление об оценке видео:
Пример общей статистики Так и оценки каждого зрителя:
Пример графиков с возможностью выбора индивидуальных оценок каждого зрителя. Данные, запрошенные из сырых табличек дашбордом легко обрабатывать, например убирая оценки, которые выставлены до начала воспроизведения видео:
if [Timestamp] >0 then INT([Timestamp]) END
Или для отображения дизлайков на отрицательной оси
DisLike seconds =
IF [RespondentAnswer]="Dis" and [Timestamp] > 0 then INT([Timestamp]) END
Dislikes =
-1 * COUNT([DisLike seconds])
Для более глубокой обработки можно экспортировать уже очищенные и автоматически обработанные данные в удобном формате, не тратя время на ручные чистки и переформатирование сырых табличек:
Меню экспорта обработанных данных Формат обработанных данных в файле экспорта с количеством оценок для каждой секунды видео.