Расширенный логический поиск файлов JSON, содержащих речевые текстовые данные?
У меня есть сотни автоматических стенограмм видео и аудио файлов. У меня есть все стенограммы в пяти форматах: JSON, XML, SRT, VTT, TXT. (Нажмите здесь, чтобы просмотреть файлы примеров.) Файлы JSON и XML содержат наиболее полные данные, включая идентификатор докладчика, уровень достоверности и временные коды.
Я ищу способ добывать или искать эти данные, чтобы найти слова и фразы. Мне нужно иметь возможность отправить булевский поисковый запрос, затем щелкнуть результат и воспроизвести видео / аудиофайл с временным кодом текстового результата. Единственные необходимые логические операторы - это НЕ, И, ИЛИ (как онлайн-поисковик). Пример поиска: ("бейсбольная бита" и парк) или футбол
Я думаю о довольно простом интерфейсе.
Основные варианты:
- Поисковая строка
- Ползунок минимального уровня достоверности
Идеи для продвинутых вариантов:
- Спикер: "Боб, Джо, Билл" (то есть спикер должен быть одним из них)
- Максимально допустимое время между словами в поиске AND: XX секунд
- Максимально допустимое время между словами в точном поиске фразы: XX секунд
- Слова в поиске точной фразы должны иметь один и тот же говорящий: ON/OFF
- Слова между AND должны иметь одинаковый динамик: ON/OFF
- Слова между ИЛИ должны иметь одинаковый динамик: ВКЛ / ВЫКЛ
- Слова между AND должны быть найдены в хронологическом порядке: ON/OFF
- Игнорировать знаки препинания: ВКЛ / ВЫКЛ
Проще говоря, мне нужно что-то вроде агента Ransack с временными кодами и, если возможно, с некоторыми другими вариантами. Я знаю, что это очень конкретный и сложный запрос.:) Можете ли вы дать мне какие-либо выводы по этой идее? Я не хочу изобретать велосипед. Какое программное обеспечение / программа командной строки / движок наиболее близки к тому, чтобы сделать все это? Возможно, я смогу адаптировать его оттуда.
Спасибо!
1 ответ
Вы можете реализовать такую систему поверх Solr / Lucene http://lucene.apache.org/solr, однако вам необходимо получить больше опыта для реализации необходимых функций.
Для открытой реализации архивирования и индексации речи вы можете проверить Маттерхорн
Вы можете найти подробную информацию об индексации речи в Маттерхорне в презентации.
Однако это не единственный способ реализовать такую функциональность, вы также можете перейти на язык по вашему выбору и простые инструменты. Ruby/PHP или Node.js также будут работать здесь.