в чем истинная разница между лемматизацией и стеммингом?

когда я использую каждый ?

также ... зависит ли лемматизация НЛТК от частей речи? Разве не было бы точнее, если бы это было так?

7 ответов


короткий и плотный: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

целью как стволовых, так и лемматизации является сведение инфлективных форм, а иногда и деривационно связанных форм слова к общей базовой форме.

тем не менее, эти два слова отличаются по своему вкусу. Stemming обычно относится к грубому эвристическому процессу, который отсекает концы слов в надежде достичь этой цели правильно большую часть времени, и часто включает в себя удаление словообразовательных аффиксов. Лемматизация обычно относится к тому, чтобы делать вещи правильно с использованием словаря и морфологического анализа слов, обычно стремясь удалить только инфлективные окончания и вернуть базовую или словарную форму слова, которая известна как Лемма .

из документов NLTK:

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


Lemmatisation тесно связан с stemming. Разница в том, что stemmer оперирует одним словом, не зная контекста, и поэтому не может различать слова, которые имеют различное значение. значения в зависимости от части речи. Однако модули, как правило, легче реализовать и работать быстрее, а сниженная точность может не вопрос для некоторых приложений.

например:

  1. слово " лучше "имеет" хорошо " в качестве своей леммы. Эта ссылка пропущена stemming, поскольку это требует поиска словаря.

  2. слово "ходить" является базовой формой для Слова "ходить", и, следовательно, это сопоставляется как в stemming, так и в lemmatisation.

  3. слово "встреча" может быть либо базовой формой существительного, либо формой глагола ("встретиться") в зависимости от контекста, например, "в нашем последнем встреча" или "мы встречаемся опять завтра". В отличие от stemming, lemmatisation можете в принципе выбрать соответствующий Лемма в зависимости от контекста.

источник: https://en.wikipedia.org/wiki/Lemmatisation


Как отметил Майн, stemming-это процесс удаления инфлективных, а иногда и деривационных аффиксов к базовой форме, с которой, вероятно, связаны все исходные слова. Лемматизация связана с получением одного слова, которое позволяет сгруппировать вместе кучу флективных форм. Это сложнее, чем stemming, потому что это требует учета контекста (и, следовательно, значения слова), в то время как stemming игнорирует контекст.

Что касается того, когда вы используйте один или другой, это вопрос того, насколько ваше приложение зависит от правильного значения слова в контексте. Если вы делаете машинный перевод, вы, вероятно, хотите лемматизацию, чтобы избежать неправильного перевода слова. Если вы делаете информационный поиск более миллиарда документов с 99% ваших запросов в диапазоне от 1-3 слов, вы можете согласиться на stemming.

Что касается NLTK, WordNetLemmatizer использует часть речи, хотя вы должны ее предоставить (в противном случае по умолчанию существительные). Проходя мимо него "голубь" и "v" дает "погружение", а "голубь" и "n"дает " голубь".


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

реальная разница между стеммингом и лемматизацией тройственна:

  1. Stemming сводит словоформы к (псевдо)стеблям, тогда как лемматизация сводит словоформы к лингвистически обоснованным леммам. Этот разница очевидна в языках с более сложной морфологией, но может быть неуместна для многих ИК-приложений;

  2. лемматизация имеет дело только с инфляционной дисперсией, тогда как стволовая может также иметь дело с деривационной дисперсией;

  3. с точки зрения реализации лемматизация обычно более сложна (особенно для морфологически сложных языков) и обычно требует какой-то лексики. Satisfatory stemming, с другой стороны, может быть достигнуто с помощью довольно простых подходов, основанных на правилах.

лемматизация может также быть подкреплены часть речи Таггер для того, чтобы различать омонимы.


есть два аспекта, чтобы показать их различия:

  1. A Штеммер вернет стержень слова, который не обязательно должен быть идентичен морфологическому корню слова. Обычно достаточно, чтобы родственные слова сопоставлялись с одним и тем же стеблем,даже если стебель сам по себе не является действительным корнем, в то время как в lemmatisation, он вернет словарную форму слова, которое должно быть действительным словом.

  2. In lemmatisation, часть речи слова должна быть сначала определена, и правила нормализации будут разными для разных частей речи, в то время как Штеммер работает на одном слове без знания контекста, и поэтому не может различать слова, которые имеют разные значения в зависимости от части речи.

ссылка http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization


примерное объяснение различий между лемматизацией и стеммингом:

лемматизация ручки сопрягая "автомобиль" к "автомобилям" вдоль с соответствуя " автомобилем "к"автомобилю".

Stemming ручки соответствие "автомобиль" "автомобили" .

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

[...] Взятие FAST в качестве примера, их механизм лемматизации обрабатывает не только основные варианты слов, такие как сингулярный против множественного числа, но также операторы тезауруса любят иметь " горячий" матч "теплый".

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

http://www.ideaeng.com/stemming-lemmatization-0601


ianacl
но я думаю, что Stemming-это грубый хак, который люди используют, чтобы получить все различные формы одного и того же слова до базовой формы, которая не должна быть законным словом сама по себе
Что-то вроде Porter Stemmer может использовать простые регулярные выражения для устранения общих суффиксов слов

лемматизация сводит слово к его фактической базовой форме, которая в случае неправильных глаголов может выглядеть не так, как входное слово
Что-то вроде Morpha, который использует FSTs для приведения существительных и глаголы к их базовой форме