Doğal Dil İşleme (NLP) - Temel İşlemler - II
Cümlenin Ögelerini Bulma
Yazar:
Enes ASAN
Yayın tarihi :06-Şub-22
Bölüm kodlarını ve/veya veri setlerini indir.
NLP ile doğal dil araç seti NLTK kullanılarak cümlenin ögeleri (özne, yüklem, nesne, zarf vb.) bulunabilir.
Kullanımı için "nltk" modülü içe aktarılmalıdır.
import nltk
Ayrıca "averaged_perceptron_tagger" paketinin de indirilmesi gerekmektedir.
nltk.download("averaged_perceptron_tagger")
İşlem adımları olarak;
- Ögelerine ayrılacak olan cümleye tokenize işlemi uygulanır.
- Tokenize işlemi uygulanan cümle pos_tag() komudu ile çalıştırılır.
- Aşağıda bulunan tablo halinde her kelime karşısında ilgili kelimenin cümlede hangi ögeyi temsil ettiği gösterilecektir.
Kısaltması Açıklaması CC Coordinating conjunction CD Cardinal number DT Determiner EX Existential there FW Foreign word IN Preposition or subordinating conjunction JJ Adjective JJR Adjective, comparative JJS Adjective, superlative LS List item marker MD Modal NN Noun, singular or mass NNS Noun, plural NNP Proper noun, singular NNPS Proper noun, plural PDT Predeterminer POS Possessive ending PRP Personal pronoun PRP$ Possessive pronoun RB Adverb RBR Adverb, comparative RBS Adverb, superlative RP Particle SYM Symbol TO to UH Interjection VB Verb, base form VBD Verb, past tense VBG Verb, gerund or present participle VBN Verb, past participle VBP Verb, non-3rd person singular present VBZ Verb, 3rd person singular present WDT Wh-determiner WP Wh-pronoun WP$ Possessive wh-pronoun WRB Wh-adverb #tagsets indir nltk.download('tagsets') #tagset bigi nltk.help.upenn_tagset()
Örnek-1: İngilizce bir cümlenin ögelerini bulalım.
#ilgili kütüphaneler içe aktarılır.
import nltk
from nltk.tokenize import word_tokenize
#Cümle ataması yapıldı
text="The goal of machine learning is to understand the structure of data and fit that data into models that humans can understand and use."
#tokenize işlemi yapıldı
text_tokenize=word_tokenize(text)
nltk.pos_tag(text_tokenize)
Çıktı:
[('The', 'DT'), ('goal', 'NN'), ('of', 'IN'), ('machine', 'NN'), ('learning', 'NN'), ('is', 'VBZ'), ('to', 'TO'), ('understand', 'VB'), ('the', 'DT'), ('structure', 'NN'), ('of', 'IN'), ('data', 'NNS'), ('and', 'CC'), ('fit', 'NN'), ('that', 'WDT'), ('data', 'VBZ'), ('into', 'IN'), ('models', 'NNS'), ('that', 'IN'), ('humans', 'NNS'), ('can', 'MD'), ('understand', 'VB'), ('and', 'CC'), ('use', 'VB'), ('.', '.')]
Örnek-2: Türkçe bir cümlenin ögelerini bulalım.
#ilgili kütüphaneler içe aktarılır.
import nltk
from nltk.tokenize import word_tokenize
#Cümle ataması yapıldı
text="Makine öğrenmesinin amacı; verilerin yapısını anlamak ve bu verileri insanların anlayabileceği ve kullanabileceği modellere sığdırmaktır."
#tokenize işlemi yapıldı
text_tokenize=word_tokenize(text)
nltk.pos_tag(text_tokenize)
Çıktı:
[('Makine', 'NNP'), ('öğrenmesinin', 'NNP'), ('amacı', 'NN'), (';', ':'), ('verilerin', 'CC'), ('yapısını', 'VB'), ('anlamak', 'JJ'), ('ve', 'NN'), ('bu', 'NN'), ('verileri', 'NN'), ('insanların', 'NN'), ('anlayabileceği', 'NN'), ('ve', 'NN'), ('kullanabileceği', 'NN'), ('modellere', 'RB'), ('sığdırmaktır', 'RB'), ('.', '.')]