Когда я использую каждый?
Кроме того ... зависит ли лемматизация NLTK от частей речи? Было бы точнее, если бы это было так?
python
nlp
nltk
lemmatization
TIMEX
источник
источник
Ответы:
Коротко и плотно: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
Из документов NLTK:
источник
Источник : https://en.wikipedia.org/wiki/Lemmatisation
источник
Есть два аспекта, чтобы показать их различия:
Парадигматический возвращают стебель слова, которые не должны быть идентичны морфологическим корень слова. Обычно достаточно, чтобы связанные слова отображались в одну основу, даже если сама по себе основа не является допустимым корнем, тогда как при лемматизации она вернет словарную форму слова, которая должна быть допустимым словом.
При лемматизации сначала должна быть определена часть речи слова, и правила нормализации будут разными для разных частей речи, в то время как стеммер оперирует одним словом без знания контекста и, следовательно, не может различать слова, которые имеют разные значения в зависимости от части речи.
Ссылка http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
источник
Цель как стемминга, так и лемматизации - уменьшить морфологическую изменчивость. Это контрастирует с более общими процедурами «объединения терминов», которые также могут касаться лексико-семантических, синтаксических или орфографических вариаций.
Настоящая разница между стеммингом и лемматизацией состоит из трех частей:
Построение сокращает словоформы до (псевдо) основы, тогда как лемматизация сокращает словоформы до лингвистически достоверных лемм. Это различие очевидно для языков с более сложной морфологией, но может не иметь значения для многих приложений IR;
Лемматизация имеет дело только с изменчивой изменчивостью, тогда как основание может также иметь дело с деривационной дисперсией;
Что касается реализации, лемматизация обычно более сложна (особенно для морфологически сложных языков) и обычно требует какой-то лексики. С другой стороны, удовлетворительного останова можно добиться с помощью довольно простых подходов, основанных на правилах.
Лемматизация также может быть подкреплена тегером части речи для устранения неоднозначности омонимов.
источник
Как указал MYYN, основание - это процесс удаления флективных, а иногда и деривационных аффиксов из базовой формы, с которой, вероятно, связаны все исходные слова. Лемматизация связана с получением одного слова, которое позволяет сгруппировать множество изменяемых форм. Это сложнее, чем определение стебля, потому что оно требует учета контекста (и, следовательно, значения слова), в то время как определение корня игнорирует контекст.
Что касается того, когда вы будете использовать один или другой, это вопрос того, насколько ваше приложение зависит от правильного понимания значения слова в контексте. Если вы делаете машинный перевод, вы, вероятно, захотите использовать лемматизацию, чтобы избежать неправильного перевода слова. Если вы выполняете поиск информации по более чем миллиарду документов, причем 99% ваших запросов имеют длину от 1 до 3 слов, вы можете согласиться на поиск корней.
Что касается NLTK, WordNetLemmatizer использует часть речи, хотя вы должны предоставить ее (в противном случае по умолчанию используются существительные). Прохождение «голубь» и «v» дает «нырнуть», а «голубь» и «n» - «голубь».
источник
Объяснение различий между лемматизацией и основанием на примерах:
Лемматизация обрабатывает сопоставление «car» и «cars», а также сопоставление «car» с «автомобилем».
Stemming обрабатывает сопоставление «car» с «cars» .
http://www.ideaeng.com/stemming-lemmatization-0601
источник
ianacl,
но я думаю, что Stemming - это грубый прием, который люди используют, чтобы свести все различные формы одного и того же слова к базовой форме, которая не обязательно должна быть правильным словом сама по себе.
Что-то вроде Porter Stemmer может использовать простые регулярные выражения для устранения общих суффиксов слов
Лемматизация сводит слово к его фактической базовой форме, которая в случае неправильных глаголов может не походить на входное слово.
Что-то вроде Морфа, которое использует FST для приведения существительных и глаголов к их базовой форме.
источник
Стебель просто удаляет или обрезает последние несколько символов слова, что часто приводит к неправильному значению и написанию. Лемматизация учитывает контекст и преобразует слово в его осмысленную базовую форму, которая называется леммой. Иногда одно и то же слово может иметь несколько разных лемм. Мы должны идентифицировать тег части речи (POS) для слова в этом конкретном контексте. Вот примеры, иллюстрирующие все различия и варианты использования:
источник
Создание основы - это процесс удаления последних нескольких символов данного слова для получения более короткой формы, даже если эта форма не имеет никакого значения.
Примеры,
Стебель можно сделать очень быстро.
С другой стороны, лемматизация - это процесс преобразования данного слова в его базовую форму в соответствии со словарным значением слова.
Примеры,
Лемматизация занимает больше времени, чем выделение стеблей.
источник