Для игрушечного проекта я хочу реализовать автоматизированную систему ответов на вопросы с помощью Lucene, и я пытаюсь найти разумный способ ее реализации. Основная операция заключается в следующем:
1) Пользователь вводит вопрос.
2) Система определит ключевые слова в вопросе.
3) Ключевые слова будут найдены в большой базе знаний, и совпадающие предложения будут показаны в качестве ответов.
Моя база знаний (то есть корпус) не структурирована. Это просто большой сплошной текст (скажем, руководство пользователя без каких-либо глав). Я имею в виду, что единственная структура состоит в том, что предложения и абзацы идентифицируются.
Я планирую рассматривать каждое предложение или абзац как отдельный документ. Чтобы представить ответ в контексте, я могу рассмотреть возможность сохранения одного предложения/абзаца до/после проиндексированного в качестве полезной нагрузки. Я хотел бы знать, имеет ли это смысл. Кроме того, мне интересно, есть ли другие проверенные и известные подходы для такого рода систем. Например, другой подход, который приходит на ум, состоит в том, чтобы индексировать большие фрагменты корпуса как документы с позициями токенов, а затем обрабатывать окрестности найденных ключевых слов для построения моих ответов.
Я был бы признателен за прямые рекомендации, основанные на опыте или интуиции, а также за учебные пособия или вводные материалы для систем ответов на вопросы с учетом Lucene.
Спасибо.