Doğal Dil İşleme (NLP) - Temel İşlemler - II

Cümlenin Ögelerini Bulma

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
     ** Liste hakkında daha detaylı bilgi almak için; aşağıdaki komutları kullanabilirsiniz.
    #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'),
 ('.', '.')]
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.