Морфологические часто выполняются в виде набора правил из зачистки всех аффиксов - как деривационные и флективного - от слова, оставляя его корень. Лемматизация обычно удаляет только флективные аффиксы. Stemming - более агрессивная версия лемматизации. Учитывая то, что вы хотите, похоже, что вы предпочтете лемматизацию.
Чтобы сравнить два, большинство lemmatizers ограничены несколькими правилами для борьбы с аффиксов к существительных и глаголов в English-- -ED, -s, -ную, например. Есть несколько нерегулярных случаев, с которыми им приходится обращаться, но с некоторыми данными обучения многие, вероятно, охвачены.
Скобы, как ожидается, будут копать глубже. В результате пространство возможных преобразований, которые они могут сделать, больше, так что вы гораздо чаще можете ошибаться.
Чтобы посмотреть, что происходит в ваших данных, давайте рассмотрим особенности.
->onli: почему это произошло? Не совсем уверен в этом; там, наверное, какое-то правило, которое пытается удовлетворить слова как медик -ine и медика -al, суб- мари -ne и мари -ne, томографов - ne и imagi -na-tion.
только ->онли, многие ->мани: Это кажется особенно странным, но, вероятно, более разумным, чем предыдущее правило - особенно в контексте борьбы с глаголами, которые заканчиваются в -ed. Если вы сдерживание слова отказывали, изучал, модифицированный, указанный, вы хотите, чтобы они были эквивалентны их неизменяемой форма отрицают, исследования, изменить, указать , У вас может быть правило, чтобы преобразовать каждый глагол в незавидную форму, но авторы здесь решили сделать корни формами, заканчивающимися -i. Чтобы убедиться, что эти совпадения, -y окончания были преобразованы в -i.
С помощью lemmatizer вы можете получить более предсказуемые результаты. Так как они только удалить словоизменение суффиксов, вы получите только, много, онлайна и вещи, как вы хотели. И хороший штокмер, и lemmatizer могут работать хорошо, но стволовые делают больше материала и, следовательно, имеют больше места для ошибок.
Следует отметить, что функции обработки текста, которые вы используете, поступают из пакета 'tm'. 'SnowballC' не имеет значения в этом случае, если вы не получите разные результаты, когда библиотека не привязана к пространству имен. –