Расширенный логический поиск файлов 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 также будут работать здесь.

Другие вопросы по тегам