2016-02-15 5 views
2

В настоящее время я использую Stormmer Snowball (Porter2) в своем Java-проекте, чтобы скрыть слова и т. Д. Однако это слова, которые либо не обязательно должны быть устранены, либо их слишком много? Например, online -> onlin, why -> whi, raise-> rais, appreciate -> appreci.Snowball Stemmer [Java]

Есть ли способ, что я мог бы попытаться предотвратить это ненужное, вытекающие, как я хотел бы, чтобы дать мне слова, которые имеют смысл, а также вытекающие слова, которые должны быть обусловлены, например, treating -> treat, records -> record, development -> develop и т.д. по реализации некоторых вроде словаря, который бы избегал этих слов? Или, если есть какие-то другие стеблемеры, похожие на Snowball, которые менее точны в своих способностях к выходу из строя?

Спасибо за помощь.

Вот моя функция.

+0

Что ваша цель вытекающих? поиск? –

+0

@bigOTHER - моя цель - получить твиты из Интернета, выровнять слова в чириканье и удалить слова остановки, чтобы я остался с основными словами в твите для анализа. Однако некоторые из слов слишком ограничены и на самом деле не хотят этого, поэтому я искал его, чтобы он был менее точным. –

+0

Эти слова были хорошими, потому что Portar существует для целей поиска, то есть не имеет значения, является ли стебель реальное происхождение, важно то, что оно одинаково для всей семьи слов. –

ответ

1

Основная задача Porter Stemmer - группировать слова в набор стеблей. Эти исходные слова хороши, потому что Портер существует для целей поиска, т. Е. Не имеет значения, является ли стебель реальным происхождением, важно то, что он одинаково для всей семьи слов.

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

Вы можете проверить эту статью на stemmers, используемый в Lucene. Вы можете заметить:

minimal_english

EnglishMinimalStemmer в Lucene, который удаляет множественном

+0

будет ли английскийMinimalStemmer удалять окончания, такие как ing, ment и т. Д. Тоже? –

+0

@JohnLewis нет, это только для множественных форм. если вы хотите больше, попробуйте kstem или lovins. –

+0

только что реализовал Lovins, и кажется, что это намного точнее, чем Snowball haha ​​ –