Существует ли библиотека / алгоритм Java с открытым исходным кодом для определения, является ли конкретный фрагмент текста вопросом или нет?
Я работаю над системой ответов на вопросы, которая должна анализировать, является ли вводимый пользователем текст вопросом.
Я думаю, что проблема, вероятно, может быть решена с помощью NLP-библиотек с открытым исходным кодом, но она, очевидно, более сложная, чем простая часть речевого тегирования. Так что, если кто-то может вместо этого сказать алгоритм для этого с помощью существующей библиотеки NLP с открытым исходным кодом, это тоже было бы хорошо.
Также дайте мне знать, если вы знаете библиотеку / инструментарий, который использует интеллектуальный анализ данных для решения этой проблемы. Несмотря на то, что будет трудно получить достаточные данные для целей обучения, я смогу использовать данные обмена стека для обучения.
Многие квазивопросы/запросы информации изложены в грамматической форме утверждения; например «Я хотел бы знать, кто украл мой велосипед».
Я бы отказался от всякой надежды на определение по его структуре, является ли ввод пользователя вопросом, и просто предположу, что это вопрос, если только он однозначно не является вопросом. Вы можете использовать итеративный интерактивный подход, чтобы система могла уточнить свое «понимание» пользовательского ввода:
User: I would like to know how many angels fit on the head of a pin.
System: Do you have a question about angels?
User: Yes.
System: Do you want to know if angels are fit?
User: No.
System: Do you want to know if angels have heads?
User: Possibly.
System: Do you want to know if angels have pins?
User: No.
System: Do you want to know if angels are numerous?
User: No.
System: Do you want to know the dimensions of an angel?
User: Yes.
System: Do you mean angels in paintings?
User: No.
System: Do you mean angels in myth and religious writing?
User: Yes.
System: Angels are metaphysical beings.
User: I hear that Pennsylvania was founded by William Penn. Is that true?
System: Do you have a question about hearing?
User: No.
System: Do you have a question about Pennsylvania?
User: Yes.
System: Pennsylvania was founded by William Penn.
User: When?
System: 1682.
User: What does the name mean?
System: What name?
User: Pennsylvania!
System: Do you want to know the meaning of Pennsylvania?
User: Yes.
System: Pennsylvania means Penn's Woods.