Ответ на вопрос из своих данных

Добрый день
Подскажите как сделать поиск ответа на вопрос из своего текста , к примеру из книги “Война и Мир”? . Кто такая Наташа Ростова ? И попутно вопрос, какой максимальный объём текста можно обработать в SQuAD ?
Спасибо.

Вы можете собрать свою ODQA (Open Domain Question Answering):
ODQA состоит из двух основных частей:

  • retrieve - поиск релевантного документа (абзац, глава из книги)
  • reader - поиск ответа в документе (например BERT или R-NET, представленные в нашей библиотеке)

Длина текста для R-Net ограничена только доступной видеoпамятью, а для BERT - 512 subtoknes, включая вопрос и спец символы. Для того, чтобы подавать в BERT более длинные тексты есть *infer.json (длинный текст режется на части и ответ ищется в каждой из них), их можно найти в SQuAD configs.

Как собрать свою ODQA можно почитать вот тут: https://medium.com/deeppavlov/open-domain-question-answering-with-deeppavlov-c665d2ee4d65

2 Likes

Спасибо. Получилось. Правда результат не очень нравится, нормальный ответ где-то 1 из 4. Возможно ответы будут лучше если их брать не с середины предложения а с начала. У вас нет готовых скриптов под это ? Думаю как вариант отсчитывать от позиции ответа до первой встреченной большой буквы.