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