impwx
@impwx
Разработчик

Чем осуществить нечеткий поиск ключевых фраз в тексте?

Есть текст на русском языке. Он написан в свободной форме и потенциально содержит опечатки. Нужно алгоритмически вытащить из него определенные факты, описываемые ключевыми словосочетаниями.

Допустим, мы ищем упоминания даты по фразе сегодня в ЧЧ:ММ. Строгое совпадение можно найти регуляркой, но она не найдет различные варианты написания - севодня в ЧЧ:ММ, сегодняв ЧЧ:ММ, в ЧЧ:ММ сегодня, сегодня в полдень и так далее.

Варианты, которые приходили в голову:

* Поиск регулярками по звуковому хешу (Metaphone / Soundex)
* Поиск регулярками по тексту, прогнанному через стеммер \ лемматизатор
* Полнотекстовый поиск в чистом виде (Lucene.Net)

Есть ли какой-то готовый способ сделать это достаточно качественно, используя стек .NET? Платные сервисы \ библиотеки тоже рассматриваются.
  • Вопрос задан
  • 373 просмотра
Пригласить эксперта
Ответы на вопрос 1
pavel9609
@pavel9609
Студент-программист
Как вариант, мне приходит взять строку, сверить её с требуемой строкой посимвольно.
Если символ совпадает с символом искомой строки, ставим единичку, нет ставим 0. Если набирается какой-то процент от исходной фразы, то мы принимаем её.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы