Lemmatization ile stemming arasındaki fark nedir?


132

Her birini ne zaman kullanırım?

Ayrıca ... NLTK tanımlaması Konuşmanın Bölümlerine mi bağlı? Olsaydı daha doğru olmaz mıydı?


2
Bu kafamın çok ötesinde, ama neden bir piton etiketi var?
Jimmy

7
@jimmy: tagged python b / c python nltk kitaplığından bahsediyor
ealdent

2
İşte tam da bu soruyu
Jacob

2
Ayrıca bakınız: Stemmers vs Lemmatizers
hippietrail

Yanıtlar:


130

Kısa ve yoğun: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

Hem türetme hem de lemmatizasyonun amacı çekim biçimlerini ve bazen bir sözcüğün türevsel olarak ilişkili biçimlerini ortak bir temel biçime indirgemektir.

Bununla birlikte, iki kelimenin tadı farklıdır. Stemming genellikle, bu hedefe çoğu zaman doğru bir şekilde ulaşma umuduyla kelimelerin uçlarını parçalayan kaba bir sezgisel süreci ifade eder ve genellikle türev eklerin kaldırılmasını içerir. Lemmatizasyon, genellikle bir kelime dağarcığı ve kelimelerin morfolojik analizini kullanarak işleri düzgün bir şekilde yapmayı ifade eder, normalde yalnızca çekimsel sonları kaldırmayı ve lemma olarak bilinen bir kelimenin temel veya sözlük biçimini döndürmeyi amaçlar.

NLTK belgelerinden:

Lemmatizasyon ve köklenme özel normalleştirme durumlarıdır. Bir dizi ilgili kelime formu için kanonik bir temsilci belirlerler.


Ortalama limmatizasyon uzunluğunun bize bir doküman hakkında ne söylediğini merak ediyor musunuz?
sAguinaga

1
Bu soruya tam olarak cevap vermiyor. Hangisini ne zaman kullanacağını açıklamıyorsun. Her ikisi de normalleşmeye hizmet edebilir, ancak genellikle hangisini seçerseniz, hassasiyet ve hız arasında bir değiş tokuş olur.
dzieciou

1
@dzieciou, girdi için teşekkürler - cevabı düzenleyebilirsiniz; ve ben de biraz daha bağlam eklemeye çalışacağım.
miku

80

Lemmatisation yakından ilişkilidir kaynaklanan . Aradaki fark, bir kök yazıcının bağlam bilgisi olmadan tek bir kelime üzerinde çalışması ve bu nedenle, konuşmanın bir kısmına bağlı olarak farklı anlamlara sahip kelimeler arasında ayrım yapamamasıdır. Bununla birlikte, sap alıcının uygulanması ve daha hızlı çalışması genellikle daha kolaydır ve düşük doğruluk bazı uygulamalar için önemli olmayabilir.

Örneğin:

  1. "Daha iyi" kelimesinin lemması "iyi" dir. Sözlüğe bakılması gerektiğinden bu bağlantı köklendirme tarafından kaçırılır.

  2. "Yürüme" kelimesi, "yürüme" kelimesinin temel biçimidir ve bu nedenle bu, hem kök salma hem de lemmizasyonda eşleşir.

  3. "Buluşma" kelimesi, bağlama bağlı olarak bir ismin temel formu veya bir fiil formu ("buluşmak") olabilir, örneğin "son buluşmamızda" veya "Yarın tekrar buluşuyoruz". Kök oluşturmanın aksine, lemmatizasyon prensipte bağlama göre uygun lemmayı seçebilir.

Kaynak : https://en.wikipedia.org/wiki/Lemmatisation


24

Farklılıklarını göstermenin iki yönü vardır:

  1. Bir sözcük kökü ayırıcı kelimenin morfolojik köküne aynı olmayabilir gerek bir kelime, sapını dönecektir. Kök kendi içinde geçerli bir kök olmasa bile, ilişkili kelimelerin aynı köke eşleşmesi genellikle yeterlidir, ancak lemmatizasyonda , geçerli bir kelime olması gereken bir kelimenin sözlük biçimini döndürür.

  2. Gelen lemmatisation , bir kelimenin bir parçası ilk olarak belirlenmelidir ve normalleştirme kuralları ise, konuşma farklı bölümü için farklı olacaktır kökü ayırıcı farklı olan kelimeler arasında ayrım yapmaz, bu nedenle bağlam bilgisi olmadan tek bir kelime üzerinde çalışır ve konuşmanın bölümüne bağlı olarak anlamlar.

Referans http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization


18

Hem köklendirmenin hem de tanımlamanın amacı morfolojik çeşitliliği azaltmaktır. Bu, sözlükbilimsel, sözdizimsel veya ortografik varyasyonları da ele alabilen daha genel "terim birleştirme" prosedürlerinin tersidir.

Köklendirme ile anlatım arasındaki gerçek fark üç katlıdır:

  1. Kök oluşturma, sözcük biçimlerini (sözde) gövdelere indirgerken, sözcük biçimleri sözcük biçimlerini dilsel olarak geçerli sözcüklere indirgemektedir. Bu fark, daha karmaşık morfolojiye sahip dillerde belirgindir, ancak birçok IR uygulaması için alakasız olabilir;

  2. Lemmatizasyon yalnızca çekimsel varyansla ilgilenirken, kök belirleme türevsel varyansla da ilgilenebilir;

  3. Uygulama açısından, ifade etme genellikle daha karmaşıktır (özellikle morfolojik olarak karmaşık diller için) ve genellikle bir tür sözlük gerektirir. Öte yandan tatmin edici köklendirme, oldukça basit kurala dayalı yaklaşımlarla başarılabilir.

Lemmatizasyon, homonimleri netleştirmek için bir konuşma parçası etiketleyici tarafından da yedeklenebilir.


13

MYYN'in işaret ettiği gibi, kök bulma, çekimsel ve bazen türetilmiş eklerin muhtemelen tüm orijinal kelimelerin ilişkili olduğu bir temel forma çıkarılması sürecidir. Lemmatizasyon, bir grup çekimli formu bir araya getirmenize izin veren tek kelimeyi elde etmekle ilgilidir. Bu, kökten türetmekten daha zordur, çünkü bağlamı (ve dolayısıyla kelimenin anlamını) hesaba katmayı gerektirirken, köklendirme bağlamı yok sayar.

Birini veya diğerini ne zaman kullanacağınıza gelince, bu, uygulamanızın bağlam içindeki bir kelimenin anlamını doğru almaya ne kadar bağlı olduğuna bağlıdır. Makine çevirisi yapıyorsanız, muhtemelen bir sözcüğün yanlış çevrilmesinden kaçınmak için sözcüklendirme istersiniz. 1-3 kelimeden oluşan sorgularınızın% 99'u ile bir milyardan fazla belgede bilgi alımı yapıyorsanız, kök bulmaya razı olabilirsiniz.

NLTK'ye gelince, WordNetLemmatizer, sizin sağlamanız gerekmesine rağmen (aksi takdirde varsayılan olarak isimlerdir) konuşma kısmını kullanır. "Güvercin" ve "v" yi geçmek "dalmak", "güvercin" ve "n" ise "güvercin" sonucunu verir.


12

Tanımlama ve kökten türetme arasındaki farklılıklar hakkında örnek odaklı bir açıklama:

Lemmatizasyon , "araba" ile "otomobiller" i eşleştirmenin yanı sıra "otomobil" ile "otomobil" eşleştirmesini de ele alır.

Stemming kolları "araba" ile "arabalar" ile eşleşen .

Lemmatizasyon, aynı alt sistemler tarafından hala işlenen daha geniş bir bulanık kelime eşleme kapsamı anlamına gelir. Motor içinde düşük seviyeli işleme için belirli teknikleri ifade eder ve ayrıca terminoloji için bir mühendislik tercihini yansıtabilir.

[...] Örnek olarak FAST'ı alırsak, lemmatizasyon motoru sadece tekil ve çoğul gibi temel kelime varyasyonlarını değil, aynı zamanda "sıcak" eşleme "sıcak" gibi eş anlamlılar sözlüğü operatörlerini de ele alıyor.

Bu, diğer motorların eşanlamlıları işleyemeyeceği anlamına gelmez, elbette yaparlar, ancak düşük seviyeli uygulama, temel kök oluşturmayı ele alanlardan farklı bir alt sistemde olabilir.

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


3

ianacl
ama bence Stemming , insanların aynı kelimenin tüm farklı biçimlerini kendi başına okunaklı bir kelime olması gerekmeyen bir temel forma indirgemek için kullandıkları kaba bir hack'tir
Porter Stemmer gibi bir şey, yaygın kelime eklerini ortadan kaldırmak için basit normal ifadeler kullanabilir

Lemmatizasyon, bir kelimeyi, düzensiz fiiller durumunda,
FST'leri temel formlarına getirmek için FST'leri kullanan giriş kelimesine hiç benzemeyen gerçek temel formuna indirir.


Porter Stemmer'ın Normal İfadelere başvurulmadan uygulandığını düşünüyorum, çünkü birçok eski dilde bunlara sahip değilsiniz, ancak aksi takdirde doğru fikre sahipsiniz.
Ken Bloom

3

Stemming , bir kelimenin son birkaç karakterini ortadan kaldırır veya kaynaklanır ve genellikle yanlış anlamlara ve yazımlara yol açar. Lemmatizasyon , bağlamı dikkate alır ve kelimeyi Lemma adı verilen anlamlı temel formuna dönüştürür. Bazen aynı kelimenin birden fazla farklı Lemması olabilir. Söz konusu belirli bağlamdaki kelime için Konuşma Bölümü (POS) etiketini tanımlamalıyız. İşte tüm farklılıkları ve kullanım durumlarını gösteren örnekler:

  1. Eğer kelime 'lemmatize Eğer Bakımı ', bu 'dönecekti Care '. Eğer saparsanız, ' Araba ' ile dönecektir ve bu yanlıştır.
  2. Fiil bağlamında ' Çizgiler ' kelimesini ifade ederseniz, ' Şerit ' olarak dönecektir . Eğer onu isim bağlamında ifade ederseniz , ' Stripe ' döndürür . Eğer onu durdurursanız, sadece ' Strip ' olarak geri döner .
  3. Aşağıdaki gibi kelimeleri lemmatize veya kök olsun aynı sonuçları alacağı yürüyüş, koşu, yüzme için ... yüzmek yürümek, koşmak, vb
  4. Lemmatizasyon hesaplama açısından pahalıdır çünkü arama tabloları içerir ve ne değildir. Büyük veri kümeniz varsa ve performans bir sorunsa, Stemming ile gidin. Stemming'e kendi kurallarınızı da ekleyebileceğinizi unutmayın. Doğruluk çok önemliyse ve veri kümesi çok büyük değilse, Lemmatization ile gidin.

2

Stemming, belirli bir sözcüğün son birkaç karakterinin kaldırılması, daha kısa bir biçim elde edilmesi, bu biçimin herhangi bir anlamı olmasa bile, işlemdir.

Örnekler,

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

Daha fazla köklendirme örnekleri

Köklendirme çok hızlı bir şekilde yapılabilir.

Lemmatizasyon ise verilen kelimeyi, kelimenin sözlük anlamına göre temel formuna dönüştürme işlemidir.

Örnekler,

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

Daha fazla tanıma örnekleri

Lemmatizasyon, köklendirmeden daha fazla zaman alır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.