NLTK ile POS Etiketleme ve NLP'de Chunking (ÖRNEKLER)

İçindekiler:

Anonim

POS Etiketleme

POS Etiketleme (Konuşma Bölümleri Etiketleme), bir konuşmanın belirli bir bölümü için sözcükleri tanımına ve bağlamına göre metin biçiminde işaretleme işlemidir. Bir dilde metin okumaktan ve her kelimeye belirli bir simge (Konuşma Parçaları) atamaktan sorumludur. Aynı zamanda dilbilgisel etiketleme olarak da adlandırılır.

NLTK Konuşma Parçası örneği ile öğrenelim:

Girdi: Bize izin verecek her şey.

Çıktı : [('Her şey', NN), ('kime', TO), ('izin', VB), ('bize', PRP)]

POS etiketleme örneğinde yer alan adımlar:

  • Şifrelendirme metni (word_tokenize)
  • nltk.pos_tag (tokenize_text) olan yukarıdaki adıma pos_tag uygulayın

NLTK POS Etiket Örnekleri aşağıdaki gibidir:

Kısaltma Anlam
CC koordinasyon birleşimi
CD kardinal rakam
DT belirleyici
EX orada varoluşsal
FW yabancı kelime
İÇİNDE edat / ikincil birleşim
JJ Bu NLTK POS Etiketi bir sıfattır (büyük)
JJR sıfat, karşılaştırmalı (daha büyük)
JJS sıfat, üstünlük (en büyük)
LS liste pazarı
MD modal (olabilir, olacak)
NN isim, tekil (kedi, ağaç)
NNS isim çoğul (masalar)
NNP uygun isim, tekil (sarah)
NNPS uygun isim, çoğul (kızılderililer veya amerikalılar)
Pasifik yaz saati önceden belirleyici (tümü, ikisi, yarısı)
POS iyelik sonu (ebeveyn \ 'ler)
PRP şahıs zamiri (kendisinin, kendisi, kendisi)
PRP $ iyelik zamiri (her, onun, benim, benim, bizim)
RB zarf (ara sıra, hızlı)
RBR zarf, karşılaştırmalı (daha büyük)
RBS zarf, üstünlük (en büyük)
RP parçacık (yaklaşık)
KİME sonsuz işaretçi
UH ünlem (güle güle)
VB fiil (sor)
VBG fiil ulaç (yargılama)
VBD geçmiş zaman fiil (yalvardı)
VBN fiil geçmiş sıfat (yeniden birleştirilmiş)
VBP fiil, şimdiki zaman değil 3. tekil şahıs (sarma)
VBZ fiil, tekil 3. tekil şahıs (esaslar) ile şimdiki zaman
WDT wh-determiner (o, ne)
WP wh- zamir (kim)
WRB wh- zarf (nasıl)

Yukarıdaki NLTK POS etiketi listesi tüm NLTK POS Etiketlerini içerir. NLTK POS etiketleyici, cümlenin her bir kelimesinin gramer bilgisini atamak için kullanılır. POS NLTK'nin tüm paketlerinin yüklenmesi, içe aktarılması ve indirilmesi tamamlandı.

NLP'de Chunking nedir?

NLP'de yığın oluşturma , küçük bilgi parçalarını alıp büyük birimler halinde gruplandırma işlemidir. Chunking'in birincil kullanımı "isim cümleleri" grupları oluşturmaktır. Normal ifadelerle birlikte POS etiketlemesini takip ederek cümleye yapı eklemek için kullanılır. Ortaya çıkan kelime grubuna "yığın" adı verilir. Sığ ayrıştırma olarak da adlandırılır.

Sığ ayrıştırmada, kökler ve yapraklar arasında en fazla bir düzey bulunurken, derin ayrıştırma birden fazla düzeyden oluşur. Sığ ayrıştırma, hafif ayrıştırma veya yığın oluşturma olarak da adlandırılır.

Parçalama Kuralları:

Önceden tanımlanmış kurallar yoktur, ancak bunları ihtiyaç ve ihtiyaca göre birleştirebilirsiniz.

Örneğin, cümleden İsim, fiil (geçmiş zaman), sıfat ve koordinasyon birleşimini etiketlemeniz gerekir. Kuralı aşağıdaki gibi kullanabilirsiniz

yığın: {*** ?}

Aşağıdaki tablo, çeşitli sembollerin ne anlama geldiğini göstermektedir:

Sembolün adı Açıklama
. Yeni satır dışında herhangi bir karakter
* 0 veya daha fazla tekrarı eşleştirin
? 0 veya 1 tekrarı eşleştir

Şimdi kuralı daha iyi anlamak için kodu yazalım

from nltk import pos_tagfrom nltk import RegexpParsertext ="learn php from guru99 and make study easy".split()print("After Split:",text)tokens_tag = pos_tag(text)print("After Token:",tokens_tag)patterns= """mychunk:{***?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Çıktı

After Split: ['learn', 'php', 'from', 'guru99', 'and', 'make', 'study', 'easy']After Token: [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN'), ('and', 'CC'), ('make', 'VB'), ('study', 'NN'), ('easy', 'JJ')]After Regex: chunk.RegexpParser with 1 stages:RegexpChunkParser with 1 rules:***?'>After Chunking (S(mychunk learn/JJ)(mychunk php/NN)from/IN(mychunk guru99/NN and/CC)make/VB(mychunk study/NN easy/JJ))

Yukarıdaki Konuşma Parçası etiketleme Python örneğinin sonucu: "yapmak", kurala dahil edilmeyen bir fiildir, bu nedenle mychunk olarak etiketlenmemiştir.

Parçalama Kullanım Örneği

Varlık tespiti için Chunking kullanılır. Bir varlık, makinenin herhangi bir niyetin değerini aldığı cümlenin parçasıdır.

Example:Temperature of New York.Here Temperature is the intention and New York is an entity.

Başka bir deyişle, yığınlama, belirteçlerin alt kümelerini seçmek için kullanılır. Jetonları seçmek için yığınlamanın nasıl kullanıldığını anlamak için lütfen aşağıdaki kodu takip edin. Bu örnekte, bir isim cümlesinin bir yığınına karşılık gelecek grafiği göreceksiniz. Daha iyi anlamak için kodu yazıp grafiği çizeceğiz.

Kullanım Durumunu Gösterecek Kod

import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {
?*}"cp =nltk.RegexpParser(grammar)result = cp.parse(tag)print(result)result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking

Çıktı :

['learn', 'php', 'from', 'guru99'] -- These are the tokens[('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN')] -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking

Grafik

İsim Cümle Parçalama Grafiği

Grafikten, "öğren" ve "guru99" un iki farklı simge olduğu, ancak İsim İfadesi olarak kategorize edildiği, ancak "kimden" simgesinin İsim Cümlesine ait olmadığı sonucuna varabiliriz.

Yığınlama, farklı belirteçleri aynı yığın içinde sınıflandırmak için kullanılır. Sonuç, seçilen dilbilgisine bağlı olacaktır. Daha fazla Chunking NLTK, kalıpları etiketlemek ve metin derlemesini keşfetmek için kullanılır.

Özet

  • NLTK'da POS Etiketleme, bir konuşmanın belirli bir bölümü için, tanımı ve bağlamına dayalı olarak kelimeleri metin biçiminde işaretleme işlemidir.
  • Bazı NLTK POS etiketleme örnekleri şunlardır: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO, vb.
  • POS etiketleyici, cümlenin her bir kelimesinin gramer bilgisini atamak için kullanılır. NLTK ile Konuşma Parçası etiketlemesinin tüm paketlerinin yüklenmesi, içe aktarılması ve indirilmesi tamamlandı.
  • NLP'de yığın oluşturma, küçük bilgi parçalarını alıp büyük birimler halinde gruplandırma işlemidir.
  • Önceden tanımlanmış kurallar yoktur, ancak bunları ihtiyaç ve ihtiyaca göre birleştirebilirsiniz.
  • Varlık tespiti için Chunking kullanılır. Bir varlık, makinenin herhangi bir niyetin değerini aldığı cümlenin parçasıdır.
  • Yığınlama, farklı belirteçleri aynı yığın içinde sınıflandırmak için kullanılır.