Яка різниця між лематизацією та стримуванням?


131

Коли я використовую кожен?

Також ... чи залежить лематизація НЛТК від частин мови? Чи не було б точніше, якби це було?


2
Це шлях над моєю головою, але чому існує тег python?
Джиммі

7
@jimmy: з тегом python b / c йдеться про бібліотеку python nltk
ealdent

2
Ось чудова стаття, яка відповідає на це точне запитання
Яків

2
Дивіться також: Stemmers vs Lemmatizers
hippietrail

Відповіді:


130

Короткий і щільний: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatilization-1.html

Мета як легенізації, так і лематизації - звести флективні форми, а іноді і похідні споріднені форми слова, до загальної основної форми.

Однак два слова відрізняються за своїм смаком. Зауваження зазвичай відноситься до грубого евристичного процесу, який рубає кінці слів з надією досягти цієї мети правильно більшу частину часу і часто включає видалення похідних афіксів. Під лематизацією, як правило, йдеться про те, щоб правильно робити справи, використовуючи словниковий запас та морфологічний аналіз слів, як правило, спрямований на вилучення лише флективних закінчень і повернення основної чи словникової форми слова, яка відома як лема.

З документів NLTK:

Лематизація та стримування - це особливі випадки нормалізації. Вони ідентифікують канонічного представника для набору споріднених словоформ.


Цікаво дізнатися, що середня довжина лематизації розповідає нам про документа?
sAguinaga

1
Це не повністю відповідає на питання. Ви не пояснюєте, коли використовувати. І те й інше може слугувати нормалізацією, але найчастіше, який ви обираєте, це компроміс між точністю та швидкістю.
dzieciou

1
@dzieciou, дякую за вклад - ви, можливо, зможете відредагувати відповідь; і я спробую додати ще трохи контексту.
Міку

79

Лематизації тісно пов'язана з випливають . Різниця полягає в тому, що стовбур працює над одним словом без знання контексту, і тому не може розрізняти слова, які мають різні значення залежно від частини мови. Однак, зазвичай, легкіше реалізувати та працювати швидше, а для деяких застосувань знижена точність може не мати значення.

Наприклад:

  1. Слово "краще" має "добре", як і його лема. Це посилання пропущено, оскільки воно вимагає пошуку словника.

  2. Слово "прогулянка" є базовою формою для слова "ходьба", а отже, це узгоджується як у витіканні, так і в лемматизації.

  3. Слово "зустріч" може бути або базовою формою іменника, або формою дієслова ("зустрічатися") залежно від контексту, наприклад, "в нашій останній зустрічі" або "Ми зустрічаємося завтра знову". На відміну від стримування, лематизація може в принципі вибрати відповідну лему залежно від контексту.

Джерело : https://en.wikipedia.org/wiki/Lemmatisation


24

Є два аспекти, щоб показати їх відмінності:

  1. Парадигматичний повертають стебло слова, які не повинні бути ідентичні морфологічним корінь слова. Зазвичай достатньо, щоб споріднені слова відображали один і той же стебло, навіть якщо стебло саме по собі не є коректним коренем, тоді як при лематизації воно поверне словникову форму слова, яке повинно бути дійсним словом.

  2. При лематизації слід спочатку визначити частину мови слова, а нормування нормалізації будуть різними для різних частин мови, тоді як стебмер працює над одним словом без знання контексту, і тому не може розрізняти слова, які мають різні значення залежно від частини мови.

Довідково http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatilization


18

Метою як стримування, так і лематизації є зменшення морфологічних варіацій. Це на відміну від більш загальних процедур «термінового зв’язку», які також можуть стосуватися лексико-семантичних, синтаксичних чи ортографічних варіацій.

Справжня різниця між створенням і лематизацією є триразовою:

  1. Стовбування зводить словоформи до (псевдо) стебел, тоді як лематизація зводить словоформи до лінгвістично допустимих лем. Ця різниця очевидна в мовах зі складною морфологією, але може бути неактуальною для багатьох ІР-застосувань;

  2. Лематизація має справу лише з флекційною дисперсією, тоді як виникла може мати справу і з похідною дисперсією;

  3. Щодо реалізації, то лематизація зазвичай є більш складною (особливо для морфологічно складних мов) і зазвичай вимагає певної лексики. З іншого боку, задоволення може бути досягнуто досить простими підходами, заснованими на правилах.

Лематизація також може бути підкріплена тегером часткової промови з метою розмежування омонімів.


13

Як зазначав MYYN, випливає із процесу видалення флективних, а іноді і похідних афіксів до базової форми, до якої, ймовірно, належать усі початкові слова. Лематизація пов'язана з отриманням єдиного слова, яке дозволяє згрупувати купу сформованих форм. Це важче, ніж спричиняти, оскільки воно вимагає врахування контексту (і, отже, значення цього слова), при цьому ігноруючи контекст.

Що стосується того, коли ви б використовували те чи інше, питання про те, наскільки ваша програма залежить від того, щоб правильно змістити значення слова в контексті. Якщо ви робите машинний переклад, ви, мабуть, хочете лематизації, щоб уникнути неправильного перекладу слова. Якщо ви займаєтеся пошуком інформації понад мільярд документів, 99% ваших запитів становлять від 1 до 3 слів, ви можете погодитися на вихід.

Що стосується NLTK, то WordNetLemmatizer використовує частину мови, хоча ви повинні її надати (інакше вона за замовчуванням має іменники). Передаючи його "голуб" і "v", дає "занурення", а "голуб" і "n" - "голуб".


12

Приклад пояснення щодо різниць між лематизацією та основою:

Лематизація обробляє відповідність "автомобіль" до "машини", а також "автомобіль" і "автомобіль".

Ручки для стригування, що відповідають "машині" та "машинам" .

Лематизація передбачає більш широкий спектр нечіткого зіставлення слів, який все ще обробляється тими ж підсистемами. Він передбачає певні прийоми обробки низького рівня всередині двигуна, а також може відображати інженерні переваги термінології.

[...] Беручи до прикладу FAST, їх механізм лематизації обробляє не лише основні варіації слів, наприклад, однини та множини, але й оператори тезаурусу, як, наприклад, "гарячий" збіг "теплий".

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

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


3

ianacl,
але я думаю, що "Стеммінг" - це груба хакерська робота, яку люди використовують, щоб отримати всі різні форми одного і того ж слова до базової форми, яка не повинна бути легальним словом самостійно.
Щось на зразок Porter Stemmer може використовувати прості регулярні вирази для усунення загальних суфіксів слова

Лематизація приводить слово до його фактичної основної форми, яка у випадку неправильних дієслів може виглядати не так, як вхідне слово
Щось на зразок морфа, яке використовує FSTs для приведення іменників та дієслів до їх основної форми


Я думаю, що Porter Stemmer реалізований без використання регулярних виразів, оскільки багато старих мов їх не мають, але в іншому випадку ви маєте правильну ідею.
Кен Блум

3

Проблема просто видаляє або стримує останні кілька символів слова, що часто призводить до неправильних значень та написання. Лематизація розглядає контекст і перетворює слово у його змістовно-основну форму, яку називають леммою. Іноді одне і те ж слово може мати кілька різних лем. Ми повинні визначити тег Частина мови (POS) для цього слова в конкретному контексті. Ось приклади, щоб проілюструвати всі відмінності та випадки використання:

  1. Якщо ви лематизуєте слово " Турбота ", воно повернеться " Турбота ". Якщо ви стоїте, він поверне " Автомобіль ", і це помилково.
  2. Якщо ви лематизуєте слово " Stripes " у контексті дієслова , воно повернеться " Strip ". Якщо ви лематизуєте його в іменницькому контексті, він повернеться " Stripe ". Якщо ви просто стримуєте його, він просто поверне " Газа ".
  3. Ви отримали б однакові результати, будь-ласка, лематизувати чи стрибувати такі слова, як ходьба, біг, плавання ... ходити, бігати, плавати тощо.
  4. Лематизація є обчислювально дорогою, оскільки вона включає таблиці перегляду, а що ні. Якщо у вас великий набір даних і продуктивність - це проблема, перейдіть до програми "Stemming". Пам'ятайте, що ви також можете додати свої правила до програми "Stemming". Якщо точність є найважливішою, а набір даних не є гумористичним, перейдіть до лематизації.

2

Стемінг - це процес видалення останніх кількох символів певного слова, щоб отримати більш коротку форму, навіть якщо ця форма не має жодного значення.

Приклади,

"beautiful" -> "beauti"
"corpora" -> "corpora"

Більше прикладів створіння

Викопування зубів можна зробити дуже швидко.

З іншого боку, лематизація - це процес перетворення даного слова в його базову форму відповідно до словникового значення слова.

Приклади,

"beautiful" -> "beauty"
"corpora" -> "corpus"

Більше прикладів лематизації

Лематизація займає більше часу, ніж випливає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.