भाग 1: डेटा का प्रीप्रोसेसिंग

Keras के साथ Machine Translation

Thushan Ganegedara

Data Scientist and Author

डेटा परिचय

  • डेटा

    • en_text : वाक्यों की Python सूची, हर वाक्य स्पेस से अलग किए शब्दों की स्ट्रिंग है।
    • fr_text: वाक्यों की Python सूची, हर वाक्य स्पेस से अलग किए शब्दों की स्ट्रिंग है।
  • डेटासेट से कुछ डेटा प्रिंट करना

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 के साथ Machine Translation

शब्द टोकनाइज़ेशन

  • टोकनाइज़ेशन

    • किसी वाक्य/वाक्यांश को अलग-अलग शब्दों/अक्षरों में तोड़ने की प्रक्रिया
    • उदाहरण: "I watched a movie last night, it was okay." बनता है,
    • [I, watched, a, movie, last, night, it, was, okay]
  • Keras के साथ टोकनाइज़ेशन

    • दिए गए कॉर्पस से शब्द को word ID से मैप करना सीखता है।
    • किसी स्ट्रिंग को IDs की सीक्वेंस में बदलने के लिए उपयोग कर सकते हैं
from tensorflow.keras.preprocessing.text import Tokenizer
en_tok = Tokenizer()
Keras के साथ Machine Translation

Tokenizer फिट करना

  • डेटा पर Tokenizer फिट करना
    • शब्द से word ID मैपिंग सीखने के लिए Tokenizer को कुछ डेटा (जैसे वाक्य) पर फिट करना पड़ता है।
en_tok = Tokenizer()
en_tok.fit_on_texts(en_text)
  • word से ID मैपिंग पाना
    • Tokenizer का word_index एट्रिब्यूट उपयोग करें।
id = en_tok.word_index["january"] # => returns 51
  • ID से word मैपिंग पाना
w = en_tok.index_word[51] # => returns 'january'
Keras के साथ Machine Translation

वाक्यों को सीक्वेंस में बदलना

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

vocabulary का आकार सीमित करना

  • आप Keras Tokenizer में vocabulary का आकार लिमिट कर सकते हैं।
tok = Tokenizer(num_words=50)
  • आउट-ऑफ-वोकैब्युलरी (OOV) शब्द

    • ट्रेनिंग कॉर्पस (यानी टेक्स्ट संग्रह) में दुर्लभ शब्द।
    • जो शब्द ट्रेनिंग सेट में नहीं हैं।
  • उदाहरण:

    • tok.fit_on_texts(["I drank milk"])
    • tok.texts_to_sequences(["I drank water"])
    • water एक OOV शब्द है और इग्नोर होगा।
Keras के साथ Machine Translation

Out-of-Vocabulary शब्दों को संभालना

  • OOV टोकन परिभाषित करना
tok = Tokenizer(num_words=50, oov_token='UNK')
  • उदाहरण:
    • tok.fit_on_texts(["I drank milk"])
    • tok.texts_to_sequences(["I drank water"])
    • water एक OOV शब्द है और UNK से बदला जाएगा।
      • यानी Keras को "I drank UNK" दिखेगा
Keras के साथ Machine Translation

अभ्यास करते हैं!

Keras के साथ Machine Translation

Preparing Video For Download...