Bölüm 1: Veriyi Ön İşleme

Keras ile Machine Translation

Thushan Ganegedara

Data Scientist and Author

Veriye giriş

  • Veri

    • en_text : Her biri boşluklarla ayrılmış kelimelerden oluşan cümlelerin yer aldığı bir Python listesi.
    • fr_text: Her biri boşluklarla ayrılmış kelimelerden oluşan cümlelerin yer aldığı bir Python listesi.
  • Veri kümesinden bazı örnekleri yazdırma

for en_sent, fr_sent in zip(en_text[:3], fr_text[:3]):
  print("English: ", en_sent)
  print("\tFrench: ", fr_sent)
English:  new jersey is sometimes quiet during autumn , and it is snowy in april .
    French:  new jersey est parfois calme pendant l' automne , et il est neigeux en avril .
English:  the united states is usually chilly during july , and it is usually freezing in november .
    French:  les états-unis est généralement froid en juillet , et il gèle habituellement en novembre .
...
Keras ile Machine Translation

Kelime tokenizasyonu

  • Tokenizasyon

    • Bir cümleyi/ifadeyi kelimelere/karakterlere ayırma işlemi
    • Örn. "I watched a movie last night, it was okay." şu hale gelir:
    • [I, watched, a, movie, last, night, it, was, okay]
  • Keras ile tokenizasyon

    • Verilen bir derlemden kelime–ID eşlemesini öğrenir.
    • Bir metni ID dizisine dönüştürmek için kullanılabilir
from tensorflow.keras.preprocessing.text import Tokenizer
en_tok = Tokenizer()
Keras ile Machine Translation

Tokenizer’ı eğitme

  • Tokenizer’ı veriye uydurma
    • Kelime–ID eşleşmesini öğrenmek için Tokenizer’ın cümleler üzerinde eğitilmesi gerekir.
en_tok = Tokenizer()
en_tok.fit_on_texts(en_text)
  • Kelimeden ID’ye eşleşmeyi alma
    • Tokenizerın word_index özniteliğini kullanın.
id = en_tok.word_index["january"] # => returns 51
  • ID’den kelimeye eşleşmeyi alma
w = en_tok.index_word[51] # => returns 'january'
Keras ile Machine Translation

Cümleleri dizilere dönüştürme

seq = en_tok.texts_to_sequences(['she likes grapefruit , peaches , and lemons .'])
[[26, 70, 27, 73, 7, 74]]
Keras ile Machine Translation

Sözlük boyutunu sınırlama

  • Keras Tokenizer içinde sözlük boyutunu sınırlayabilirsiniz.
tok = Tokenizer(num_words=50)
  • Sözlük dışı (OOV) kelimeler

    • Eğitim derleminde nadir görülen kelimeler.
    • Eğitim setinde olmayan kelimeler.
  • Örn.

    • tok.fit_on_texts(["I drank milk"])
    • tok.texts_to_sequences(["I drank water"])
    • water kelimesi OOV’dir ve yok sayılır.
Keras ile Machine Translation

Sözlük Dışı (OOV) kelimeleri ele alma

  • OOV belirteci tanımlama
tok = Tokenizer(num_words=50, oov_token='UNK')
  • Örn.
    • tok.fit_on_texts(["I drank milk"])
    • tok.texts_to_sequences(["I drank water"])
    • water kelimesi OOV'dir ve UNK ile değiştirilir.
      • yani Keras "I drank UNK" görür
Keras ile Machine Translation

Hadi pratik yapalım!

Keras ile Machine Translation

Preparing Video For Download...