Вопрос

Просто начнусь с lucene.net. Я проиндексировал 100 000 строк, используя стандартный анализатор, управлял некоторыми тестовыми запросами, и заметили множество запросов не возвращают результаты, если первоначальный член был единственным. Я понимаю, что Snowball Analyzer добавляет поддержку stemming, которая звучит приятно. Тем не менее, мне интересно, есть ли какие-либо недостатки в Гун с Snowball более стандартными? Я теряю что-нибудь, иду с этим? Есть ли другие анализаторы, чтобы рассмотреть?

Это было полезно?

Решение

Да, используя stemmer, такой как Snowball, вы теряете информацию о оригинальной форме вашего текста. Иногда это будет полезно, иногда нет.

Например, Snowball будет стебель «Организация» в «орган», поэтому поиск «организации» вернет результаты с «органом», без какого-либо казни.

Независимо от того, подходит ли это или нет, зависит от вашего контента, и на типе запросов вы поддерживаете (например, поиск очень базовый, или пользователи очень сложны и используют ваш поиск, чтобы точно отфильтровать результаты). Вы также можете захотеть посмотреть на менее агрессивные stemmers, такие как Kstem..

Другие советы

То снежный шар Анализатор увеличит ваш отзыв, потому что он гораздо более агрессивен, чем стандартный анализатор. Так что вам нужно оценивать Ваши результаты поиска, чтобы увидеть, если для ваших данных вам нужно увеличить Напомним или точность.

Я только что закончил анализатор, который выполняет лемматизацию. Это похоже на stemming, за исключением того, что он использует контекст, чтобы определить тип слова (существительное, глагол и т. Д.), и использует эту информацию для получения стебля. Он также сохраняет оригинальную форму слова в индексе. Может быть моя библиотека можно использовать для вас. Тем не менее, это требует Lucene Java, и я не знаю ни C # /. Чистые лемматизаторы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top