Допустим есть какая-нибудь книга — PDF-файл. Извлекся из неё текст — каким pdfplumber например.
А дальше хотелось бы задать вопрос, и получить ответ — но нет.
Моделям QA нужен контекст
Контекст — это текст, из которого отвечать на вопрос. А ну для примера вот такая модель. Контекст не может быть длинным для модели, поэтому в pipeline у huggingface можно указать разбивку (doc_stride). Но это неважно, я никогда не поеду в Китай… — сам документ здоровенный.
Сам по себе полуметод
Ну тогда можно сделать, как cointegrated (широко известный в узких кругах Давид Дале) завещал — нарезать предложения пачками внахлест.
1. Берем любую модель вложений предложений, из sentence-transformers например,
2. Отбираем топ N по косинусному сходству — из тех что внахлест сделаны через razdel какой,
3. Ну а дальше по накатанному пайплайну QA.
Лучше чем ничего
QA отдает кусочки текстов, но по кусочку можно идентифицировать и само предложение.
Ну вот как-то так. Пока не попробовали — не стоит благодарностей.
P.S. Костыль конечно, но работает хоть как-то, в отличие от его деталей.