Python'da Köklendirme ve Lemmatizasyon: Hangisi Kullanılır?

Yayınlanan: 2021-02-09

Doğal Dil İşleme (NLP), dilden önemli özelliklerin çıkarılmasını içeren bir iletişim işleme tekniğidir. Yapay zekada, önceki deneyime sahip akıllı ajanlar oluşturmayı içeren bir gelişmedir. Buradaki önceki deneyim, sosyal medya, web kazıma, anket formları ve diğer birçok veri toplama tekniği dahil olmak üzere kaynaklardan gelen metinsel verileri içeren devasa veri kümeleri üzerinde gerçekleştirilen eğitime atıfta bulunmaktadır.

Veri toplamadan sonraki ilk adım, bu verilerin temizlenmesi ve makinenin yorumlayabileceği sayısal biçim olan makine tarafından okunabilir forma dönüştürülmesidir. Dönüştürme işlemi bambaşka bir şey olsa da temizleme işlemi yapılacak ilk adımdır. Bu temizleme görevinde, bükülme, köklendirme ve lemmatizasyona geçmeden önce net bir anlayışa ihtiyaç duyan önemli bir kavramdır.

İçindekiler

bükülme

Metinsel verilerin, tahminlerimizi etkileyebilecek veya etkilemeyecek kelimeler ve diğer karakterler içeren cümlelerden oluştuğunu biliyoruz. Cümleler sözcüklerden oluşur ve is, there, ve gibi yaygın olarak kullanılan sözcüklere durma sözcükleri denir. Bunlar, onlar için bir bütünce oluşturularak kolayca çıkarılabilir, peki ya aynı kelimenin farklı biçimleri?

Makinenizin 'çalışma' ve 'çalışma' kelimelerini farklı kelimeler olarak düşünmesini istemezsiniz, çünkü bu kelimelerin arkasındaki amaç aynı kalır ve her ikisi de aynı anlamı taşır. Bu tür vakaları ele almak NLP'de yaygın bir uygulamadır ve bu, bükülme olarak bilinir. Farklı yaklaşımlarla köklendirme ve lemmatizasyonun temel fikri budur. Aralarındaki farkları keşfedelim ve hangisinin daha iyi olduğuna bir göz atalım.

kök salmak

Kelimelerin belirsizliğini azaltmaya odaklanan metin normalleştirme tekniklerinden biridir. Köklendirme, kelimeyi kök kelimeye yuvarlamaya odaklanır. Bunu, söz konusu kelimeye bağlı olarak önekleri veya son ekleri kaldırarak yapar. Bu teknik, kelimeleri tanımlanmış bir dizi kurala göre azaltır.

Ortaya çıkan kelimelerin gerçek anlamlı kök kelimeleri olabilir veya olmayabilir. Temel amacı, daha fazla önişlemenin optimize edilebilmesi için birlikte benzer kelime gruplarını oluşturmaktır. Örneğin play, play ve play gibi kelimelerin tümü “play” kök kelimesine aittir. Bu aynı zamanda arama motorlarında arama süresinin azaltılmasına da yardımcı olur, çünkü artık temel unsura daha fazla odaklanılmaktadır.

Saplama ile ilgili olarak iki durumun tartışılması gerekir, yani aşırı buharda pişirme ve altta buğulama . Kelimeden önek ve soneklerin çıkarılması bazı durumları çözerken, bazı kelimeler gereğinden fazla çıkarılmaktadır.

Bu, anlamı olmayan daha fazla çöp kelimeye yol açabilir. Bu, bir bütün olarak köklenmenin dezavantajı olsa da ve daha şiddetli olursa, aşırı köklenme olarak bilinir. Köklendirme altında, kök çıkarma işleminin çok az veya kelimelerde farklılık ile sonuçlandığı tersidir.

Lemmatizasyon

Metni normalleştirmek ve kök anlamlara dönüştürmek için başka bir yaklaşım Lemmatization'dur. Bu, benzer niyet sözcüklerini tek bir grupta gruplamakla aynı güdüye sahiptir, ancak fark, burada ortaya çıkan sözcüklerin anlamlı olmasıdır.

Önceden tanımlanmış kurallarla sıyrılmazlar, bir sözlük kullanılarak oluşturulurlar veya biz ona Lemma diyoruz. Burada dönüştürme işlemi daha fazla zaman alır çünkü ilk olarak, kelimeler konuşmanın kendi bölümleriyle eşleştirilir, bu da zaman alıcı bir süreçtir.

Bu, kök kelimenin, analizde iyi sonuçlar elde etmeye yardımcı olan gerçek bir anlama sahip olmasını sağlar. Bu, veri temizlemeye fazla zaman harcamak istemediğimizde kullanışlıdır ve daha fazla analiz için daha temiz veriler gerekir. Bu tekniğin bir dezavantajı, kelimelerin gramerine daha fazla odaklandığı için, farklı dillerin daha fazla veri işlemeye yol açan ayrı külliyatlar gerektirmesidir.

Ödeme: Yeni Başlayanlar İçin Derin Öğrenme Projesi Fikirleri

Hangisini Kullanmalı?

Şimdi ikisi arasında olanı seçme noktası geliyor. Hedeflediğiniz kullanım durumu burada önemli bir rol oynadığı için herhangi birini seçmek oldukça özneldir.

Bir metin yığınını analiz etmek istiyorsanız ancak zaman kısıtlaması varsa, bu işlemi daha kısa sürede ancak düşük bir başarı oranıyla gerçekleştirdiğinden ve kökler algoritmik bir yolla sağlandığı için köklendirmeyi tercih edebilirsiniz. anlam.

Lemmatization'ı benimsemek, farklı biçimlerden ayıklanmış anlamlı ve doğru kök sözcükler elde etme konusunda ek bir avantaj sağlar. Daha fazla zamanla iyi bilgi işlem kaynaklarını karşılayabiliyorsanız, bu daha iyi bir seçim olabilir. Kesin analiz istediğimiz yerde bu benimsenmelidir. Ayrıca, arama motorlarında, kullanıcının istediği sonuçları getirmek için kök kelimenin yeterli olduğu bazı arama teknikleri söz konusu olabilir.

Python Uygulaması

NLTK (Natural Language Tool Kit) paketi, NLP etrafındaki görevlerin Python uygulamasıdır. Bu kütüphane, Stemmers gibi gerekli tüm araçlara sahiptir. Lemmatizer'lar, sözcüklerin kaldırılmasını durdurma, özel ayrıştırıcı ağaçları oluşturma ve çok daha fazlası. Ayrıca, paketin kendisinde bulunan önde gelen kaynaklardan alınan derlem verilerini de içerir.

Stemmering tekniğinin birçok uygulaması vardır, ancak en popüler ve en eskisi Porter Stemmer algoritmasıdır. Kartopu sapı bazı projelerde de kullanılmaktadır. Köklendirme ve lemmatizasyon arasındaki farkı daha net anlamak için aşağıdaki koda ve aynısının çıktısına bakın:

nltk'yi içe aktar

nltk.stem'den PorterStemmer'i içe aktarın

nltk.stem'den WordNetLemmatizer'ı içe aktarın

word_stemmer = PorterStemmer()

lemmatizer = WordNetLemmatizer()

print(lemmatizer.lemmatize('uçar'))

print(word_stemmer.stem('uçar'))

Çıktı:

uçmak

uçmak

İlk çıktı lemmatizer'dan ve ikincisi kök ayırıcıdan. Kök kelimeyi sondan keserken, lemmatizer'ın çıktı olarak kök kelimeyi verdiği farkı görebilirsiniz.

Dünyanın en iyi Üniversitelerinden veri bilimi derslerini öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Ayrıca Okuyun: Makine Öğrenimi Proje Fikirleri

Çözüm

NLP her geçen gün büyüyor ve zamanla yeni yöntemler gelişiyor. Çoğu, minimum kayıpla ve tüm gürültüleri ortadan kaldırarak metin verilerinden doğru bilgilerin nasıl verimli bir şekilde çıkarılacağına odaklanır. Her iki teknik de popüler olarak kullanılmaktadır. Tek önemli olan, analizin temiz veriler üzerinde yapılmasıdır.

Belgeleri kümelemek için kullanılan iki tür AI algoritması nelerdir?

Hiyerarşik kümeleme ve hiyerarşik olmayan kümeleme, metinleri kümelemek için kullanılan iki tür AI algoritmasıdır. Hiyerarşik kümeleme algoritması, belgeleri bir dizi kurala göre böler ve toplar. Hiyerarşinin veri öğesi kümeleri çiftleri daha sonra birbirine bağlanır. Bu tekniğin okunması ve anlaşılması basit olsa da, hiyerarşik olmayan kümeleme kadar etkili olmayabilir. Verilerde çok fazla kusur olduğunda kümeleme zor olabilir. Hiyerarşik olmayan kümeleme, yenilerini oluşturmak için mevcut kümeleri birleştirmeyi ve kırmayı gerektirir. Bu, nispeten daha hızlı, daha güvenilir ve daha kararlı bir kümeleme yaklaşımıdır.

Duygu analizi için lemmatizasyon tercih edilir mi?

Lemmatization ve stemming, her ikisi de oldukça etkili prosedürlerdir. Ancak kök biçimine dönüştürüldüğünde, lemmatizasyon her zaman sözlük anlamı terimini verir. Terimin anlamı çalışma için kritik değilse, o zaman kökten ayırma önerilir. Bir kelimenin anlamı analiz için hayati önem taşıdığında, lemmatizasyon tavsiye edilir. Sonuç olarak, duygu analizi için bir yaklaşım seçmeniz gerekseydi, lemmatization ile birlikte gidilmesi gerekirdi.

Belge kümeleme için kaynak oluşturma ve lemmatization nasıl kullanılır?

Metin kümeleme olarak da bilinen belge kümeleme, metinsel metinleri birlikte gruplayarak analiz etme yöntemidir. Uygulamaları, otomatik belge düzenlemeden konu çıkarmaya ve hatta hızlı bilgi alımına kadar uzanır. Stemming ve lemmatization, aynı bilgiyi iletmek için gereken belirteçlerin sayısını azaltmak ve dolayısıyla genel tekniği geliştirmek için kullanılır. Bu ön işleme adımını takiben, her bir belirtecin frekansı ölçülerek özellikler hesaplanır ve ardından en verimli kümeleme yaklaşımları takip edilir.