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