কম্পিউটার টিউটোরিয়াল

টেনসরফ্লোতে টেক্সট ডেটা সংক্রান্ত সেগমেন্টেশন কী?


সেগমেন্টেশন বলতে টেক্সটকে ওয়ার্ড-লাইক ইউনিটে ভাগ করার কাজকে বোঝায়। এটি সেই ক্ষেত্রে ব্যবহৃত হয় যেখানে শব্দগুলোর মধ্যে স্পেস ক্যারেক্টার থাকে, কিন্তু চাইনিজ এবং জাপানিজের মতো কিছু ভাষায় স্পেস ব্যবহার হয় না। জার্মানের মতো কিছু ভাষায় লอง কমপাউন্ড থাকে যেগুলো অর্থ বিশ্লেষণের জন্য ভাগ করা প্রয়োজন।

আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরি করতে?

ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেস করা মডেলগুলো বিভিন্ন ভাষা হ্যান্ডেল করে যাদের বিভিন্ন ক্যারেক্টার সেট থাকে। ইউনিকোড تقریবা সব ভাষার ক্যারেক্টার রিপ্রেজেন্ট করতে ব্যবহৃত স্ট্যান্ডার্ড এনকোডিং সিস্টেম। প্রতিটি ক্যারেক্টার ০ এবং 0x10FFFF-এর মধ্যে একটি ইউনিকোড ইন্টিজার কোড পয়েন্ট দিয়ে এনকোড করা হয়। একটি ইউনিকোড স্ট্রিং শূন্য বা অধিক কোড ভ্যালুর একটি সিকোয়েন্স।

আমরা বুঝব কিভাবে পাইথনে ইউনিকোড স্ট্রিং রিপ্রেজেন্ট করতে হয় এবং ইউনিকোড সমতুল্য ব্যবহার করে সেগুলো ম্যানিপুলেট করতে হয়। প্রথমে, আমরা ইউনিকোড স্ট্রিংগুলোর টোকেনে আলাদা করব স্ক্রিপ্ট ডিটেকশনের সাহায্যে স্ট্যান্ডার্ড স্ট্রিং অপারেশনগুলির ইউনিকোড সমতুল্য ব্যবহার করে।

নিচের কোড চালাতে আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে পাইথন কোড চালাতে সাহায্য করে এবং শূন্য কনফিগারেশনের সাথে ফ্রি GPU (গ্রাফিক্যাল প্রসেসিং ইউনিট) অ্যাক্সেস দেয়। Colaboratory Jupyter Notebook-এর উপরে তৈরি।

print("Below is the sentence that is processed")
sentence_texts = [u'Hello, there.', u'世界こんにちは']
print("The code point values for characters in the sentence")
sentence_char_codepoint = tf.strings.unicode_decode(sentence_texts, 'UTF-8')
print(sentence_char_codepoint)
print("The unicode script values for characters in the sentence")
sentence_char_script = tf.strings.unicode_script(sentence_char_codepoint)
print(sentence_char_script)

কোড ক্রেডিট: https://www.tensorflow.org/tutorials/load_data/unicode

আউটপুট

Below is the sentence that is processed The code point values for characters in the sentence The unicode script values for characters in the sentence <tf.RaggedTensor [[25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 0], [17, 17, 20, 20, 20, 20, 20]]>

ব্যাখ্যা

  • সেগমেন্টেশন বলতে টেক্সটকে ওয়ার্ড-লাইক ইউনিটে ভাগ করার টাস্ককে বোঝায়।
  • এটি তখন ব্যবহৃত হয় যখন স্পেস ক্যারেক্টার শব্দগুলোর মধ্যে ব্যবহার হয়, কিন্তু চাইনিজ এবং জাপানিজের মতো কিছু ভাষায় স্পেস ব্যবহার হয় না।
  • জার্মানের মতো কিছু ভাষায় লอง কমপাউন্ড থাকে যেগুলো অর্থ বিশ্লেষণের জন্য ভাগ করা প্রয়োজন।
  • ওয়েবের টেক্সটের জন্য, বিভিন্ন ভাষা এবং স্ক্রিপ্ট সাধারণত একসাথে মিশে থাকে, যেমন "NY株価" (নিউ ইয়র্ক স্টক এক্সচেঞ্জ)।
  • ML মডেল ছাড়াই রফ সেগমেন্টেশন করা যায়, স্ক্রিপ্ট পরিবর্তন করে ওয়ার্ড বাউন্ডারি অনুমান করে।
  • এটি "NY株価" এর মতো স্ট্রিংয়ের জন্য কাজ করে। এটি অধিকাংশ স্পেস-ব্যবহারকারী ভাষার জন্য কাজ করে, যেহেতু বিভিন্ন স্ক্রিপ্টের স্পেস ক্যারেক্টার USCRIPT_COMMON হিসেবে শ্রেণিবদ্ধ হয়, যা যেকোনো gerçek টেক্সট থেকে আলাদা একটি বিশেষ স্ক্রিপ্ট কোড।
  • উপরোক্ত কোডে, প্রতিটি সেন্টেন্সের প্রতিটি ক্যারেক্টারের কোডপয়েন্ট জেনারেট করা হয়েছে।
  • পরবর্তীতে, প্রতিটি সেন্টেন্সের প্রতিটি ক্যারেক্টারের ইউনিকোড স্ক্রিপ্ট জেনারেট করা হয়েছে।

  1. TensorFlow ব্যবহার করে Auto MPG ডেটাসেটে মডেলকে ডেটায় ফিট করা

  2. QRGen দিয়ে ম্যালিসিয়াস QR কোড তৈরির প্রক্রিয়া

  3. হ্যাকাররা কীভাবে কোম্প্রোমাইজড ওয়েবসাইট শোষা করে

  4. বিগ ডেটার সম্ভাব্য ঝুঁকি এবং আশুশমনের কৌশল: কী কী ভুল হতে পারে?