в чем истинная разница между лемматизацией и стеммингом?
когда я использую каждый ?
также ... зависит ли лемматизация НЛТК от частей речи? Разве не было бы точнее, если бы это было так?
7 ответов
короткий и плотный: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
целью как стволовых, так и лемматизации является сведение инфлективных форм, а иногда и деривационно связанных форм слова к общей базовой форме.
тем не менее, эти два слова отличаются по своему вкусу. Stemming обычно относится к грубому эвристическому процессу, который отсекает концы слов в надежде достичь этой цели правильно большую часть времени, и часто включает в себя удаление словообразовательных аффиксов. Лемматизация обычно относится к тому, чтобы делать вещи правильно с использованием словаря и морфологического анализа слов, обычно стремясь удалить только инфлективные окончания и вернуть базовую или словарную форму слова, которая известна как Лемма .
из документов NLTK:
лемматизация и вытекающие особые случаи нормализации. Они определяют канонический представитель для набора родственных словоформ.
Lemmatisation тесно связан с stemming. Разница в том, что stemmer оперирует одним словом, не зная контекста, и поэтому не может различать слова, которые имеют различное значение. значения в зависимости от части речи. Однако модули, как правило, легче реализовать и работать быстрее, а сниженная точность может не вопрос для некоторых приложений.
например:
слово " лучше "имеет" хорошо " в качестве своей леммы. Эта ссылка пропущена stemming, поскольку это требует поиска словаря.
слово "ходить" является базовой формой для Слова "ходить", и, следовательно, это сопоставляется как в stemming, так и в lemmatisation.
слово "встреча" может быть либо базовой формой существительного, либо формой глагола ("встретиться") в зависимости от контекста, например, "в нашем последнем встреча" или "мы встречаемся опять завтра". В отличие от stemming, lemmatisation можете в принципе выбрать соответствующий Лемма в зависимости от контекста.
Как отметил Майн, stemming-это процесс удаления инфлективных, а иногда и деривационных аффиксов к базовой форме, с которой, вероятно, связаны все исходные слова. Лемматизация связана с получением одного слова, которое позволяет сгруппировать вместе кучу флективных форм. Это сложнее, чем stemming, потому что это требует учета контекста (и, следовательно, значения слова), в то время как stemming игнорирует контекст.
Что касается того, когда вы используйте один или другой, это вопрос того, насколько ваше приложение зависит от правильного значения слова в контексте. Если вы делаете машинный перевод, вы, вероятно, хотите лемматизацию, чтобы избежать неправильного перевода слова. Если вы делаете информационный поиск более миллиарда документов с 99% ваших запросов в диапазоне от 1-3 слов, вы можете согласиться на stemming.
Что касается NLTK, WordNetLemmatizer использует часть речи, хотя вы должны ее предоставить (в противном случае по умолчанию существительные). Проходя мимо него "голубь" и "v" дает "погружение", а "голубь" и "n"дает " голубь".
целью как стволовых, так и лемматизации является уменьшение морфологических вариаций. Это противоречит более общим процедурам "слияния терминов", которые могут также затрагивать лексико-семантические, синтаксические или орфографические вариации.
реальная разница между стеммингом и лемматизацией тройственна:
Stemming сводит словоформы к (псевдо)стеблям, тогда как лемматизация сводит словоформы к лингвистически обоснованным леммам. Этот разница очевидна в языках с более сложной морфологией, но может быть неуместна для многих ИК-приложений;
лемматизация имеет дело только с инфляционной дисперсией, тогда как стволовая может также иметь дело с деривационной дисперсией;
с точки зрения реализации лемматизация обычно более сложна (особенно для морфологически сложных языков) и обычно требует какой-то лексики. Satisfatory stemming, с другой стороны, может быть достигнуто с помощью довольно простых подходов, основанных на правилах.
лемматизация может также быть подкреплены часть речи Таггер для того, чтобы различать омонимы.
есть два аспекта, чтобы показать их различия:
A Штеммер вернет стержень слова, который не обязательно должен быть идентичен морфологическому корню слова. Обычно достаточно, чтобы родственные слова сопоставлялись с одним и тем же стеблем,даже если стебель сам по себе не является действительным корнем, в то время как в lemmatisation, он вернет словарную форму слова, которое должно быть действительным словом.
In lemmatisation, часть речи слова должна быть сначала определена, и правила нормализации будут разными для разных частей речи, в то время как Штеммер работает на одном слове без знания контекста, и поэтому не может различать слова, которые имеют разные значения в зависимости от части речи.
ссылка http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
примерное объяснение различий между лемматизацией и стеммингом:
лемматизация ручки сопрягая "автомобиль" к "автомобилям" вдоль с соответствуя " автомобилем "к"автомобилю".
Stemming ручки соответствие "автомобиль" "автомобили" .
лемматизация подразумевает более широкую область нечеткого сопоставления слов, которая все те же подсистемы. Это подразумевает определенные техники для низкоуровневой обработки внутри двигатель, и может также отразить инженерное предпочтение терминологии.
[...] Взятие FAST в качестве примера, их механизм лемматизации обрабатывает не только основные варианты слов, такие как сингулярный против множественного числа, но также операторы тезауруса любят иметь " горячий" матч "теплый".
Это не значит, что другие двигатели не обрабатывают синонимы, конечно они делают, но реализация низкого уровня может быть в другом подсистема, чем те, которые обрабатывают базы вытекающие.
ianacl
но я думаю, что Stemming-это грубый хак, который люди используют, чтобы получить все различные формы одного и того же слова до базовой формы, которая не должна быть законным словом сама по себе
Что-то вроде Porter Stemmer может использовать простые регулярные выражения для устранения общих суффиксов слов
лемматизация сводит слово к его фактической базовой форме, которая в случае неправильных глаголов может выглядеть не так, как входное слово
Что-то вроде Morpha, который использует FSTs для приведения существительных и глаголы к их базовой форме