টেক্সট এম্বেডিং গাইড, টেক্সট এম্বেডিং গাইড

MediaPipe টেক্সট এমবেডার টাস্ক আপনাকে এর শব্দার্থগত অর্থ ক্যাপচার করতে পাঠ্য ডেটার একটি সংখ্যাসূচক উপস্থাপনা তৈরি করতে দেয়। এই কার্যকারিতাটি প্রায়শই কোসাইন সাদৃশ্যের মতো গাণিতিক তুলনা কৌশলগুলি ব্যবহার করে দুটি টুকরো পাঠের শব্দার্থগত সাদৃশ্য তুলনা করতে ব্যবহৃত হয়। এই কাজটি একটি মেশিন লার্নিং (ML) মডেলের সাথে পাঠ্য ডেটার উপর কাজ করে এবং উচ্চ-মাত্রিক বৈশিষ্ট্য ভেক্টরগুলির একটি তালিকা হিসাবে পাঠ্য ডেটার একটি সংখ্যাসূচক উপস্থাপনা আউটপুট করে, যা এম্বেডিং ভেক্টর নামেও পরিচিত, হয় ফ্লোটিং-পয়েন্ট বা কোয়ান্টাইজড আকারে।

এটা চেষ্টা করুন!

এবার শুরু করা যাক

আপনার লক্ষ্য প্ল্যাটফর্মের জন্য এই বাস্তবায়ন নির্দেশিকাগুলির একটি অনুসরণ করে এই কাজটি ব্যবহার করা শুরু করুন। এই প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশিকাগুলি আপনাকে এই টাস্কের একটি প্রাথমিক বাস্তবায়নের মাধ্যমে নিয়ে যায়, যার মধ্যে একটি প্রস্তাবিত মডেল এবং প্রস্তাবিত কনফিগারেশন বিকল্পগুলির সাথে কোড উদাহরণ রয়েছে:

টাস্কের বিবরণ

এই বিভাগটি এই কাজের ক্ষমতা, ইনপুট, আউটপুট এবং কনফিগারেশন বিকল্পগুলি বর্ণনা করে।

বৈশিষ্ট্য

  • ইনপুট টেক্সট প্রসেসিং - ইন-গ্রাফ টোকেনাইজেশন ছাড়াই মডেলের জন্য গ্রাফের বাইরের টোকেনাইজেশন সমর্থন করে।
  • এমবেডিং সাদৃশ্য গণনা - দুটি বৈশিষ্ট্য ভেক্টরের মধ্যে কোসাইন সাদৃশ্য গণনা করার জন্য অন্তর্নির্মিত ইউটিলিটি ফাংশন।
  • কোয়ান্টাইজেশন - বৈশিষ্ট্য ভেক্টরের জন্য স্কেলার কোয়ান্টাইজেশন সমর্থন করে।
টাস্ক ইনপুট টাস্ক আউটপুট
টেক্সট এমবেডার নিম্নলিখিত ইনপুট ডেটা টাইপ গ্রহণ করে:
  • স্ট্রিং
টেক্সট এমবেডার এম্বেডিংয়ের একটি তালিকা আউটপুট করে যার মধ্যে রয়েছে:
  • এমবেডিং: বৈশিষ্ট্য ভেক্টর নিজেই, হয় ফ্লোটিং-পয়েন্ট আকারে বা স্কেলার-কোয়ান্টাইজড।
  • হেড সূচক: মাথার জন্য সূচক যা এই এমবেডিং তৈরি করেছে।
  • মাথার নাম (ঐচ্ছিক): মাথার নাম যেটি এই এমবেডিং তৈরি করেছে।

কনফিগারেশন অপশন

এই কাজের নিম্নলিখিত কনফিগারেশন বিকল্প আছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
l2_normalize L2 আদর্শের সাথে প্রত্যাবর্তিত বৈশিষ্ট্য ভেক্টরকে স্বাভাবিক করতে হবে কিনা। এই বিকল্পটি ব্যবহার করুন শুধুমাত্র যদি মডেলটিতে ইতিমধ্যে একটি নেটিভ L2_NORMALIZATION TFLite Op না থাকে৷ বেশিরভাগ ক্ষেত্রে, এটি ইতিমধ্যেই হয় এবং এইভাবে এই বিকল্পের প্রয়োজন ছাড়াই TFLite অনুমানের মাধ্যমে L2 স্বাভাবিককরণ অর্জন করা হয়। Boolean False
quantize প্রত্যাবর্তিত এমবেডিং স্কেলার কোয়ান্টাইজেশনের মাধ্যমে বাইটে পরিমাপ করা উচিত কিনা। এমবেডিংগুলিকে পরোক্ষভাবে ইউনিট-নর্ম হিসাবে ধরে নেওয়া হয় এবং তাই যে কোনও মাত্রা [-1.0, 1.0]-এ একটি মান থাকার নিশ্চয়তা দেওয়া হয়। যদি এটি না হয় তবে l2_normalize বিকল্পটি ব্যবহার করুন। Boolean False

মডেল

আপনি যখন এই টাস্কের সাথে বিকাশ শুরু করেন তখন আমরা একটি ডিফল্ট, প্রস্তাবিত মডেল অফার করি।

এই মডেলটি একটি দ্বৈত এনকোডার আর্কিটেকচার ব্যবহার করে এবং বিভিন্ন প্রশ্ন-উত্তর ডেটাসেটের উপর প্রশিক্ষিত ছিল।

নিম্নলিখিত বাক্য জোড়া বিবেচনা করুন:

  • ("এটি একটি কমনীয় এবং প্রায়শই ভ্রমণকে প্রভাবিত করে", "কী একটি দুর্দান্ত এবং দুর্দান্ত ভ্রমণ")
  • ("আমি আমার ফোন পছন্দ করি", "আমি আমার ফোন ঘৃণা করি")
  • ("এই রেস্তোরাঁটির একটি দুর্দান্ত কৌশল রয়েছে", "আমাদের পরিকল্পনার বিশদটি দুবার পরীক্ষা করতে হবে")

প্রথম দুই জোড়ার টেক্সট এম্বেডিং-এ তৃতীয় জোড়ার এম্বেডিংয়ের তুলনায় উচ্চতর কোসাইন সাদৃশ্য থাকবে কারণ প্রথম দুই জোড়া বাক্য যথাক্রমে "ট্রিপ সেন্টিমেন্ট" এবং "ফোন মতামত" এর একটি সাধারণ বিষয় ভাগ করে যখন তৃতীয় জোড়া বাক্যে একটি সাধারণ বিষয় শেয়ার করবেন না।

উল্লেখ্য যে যদিও দ্বিতীয় জোড়ার দুটি বাক্যে বিরোধী অনুভূতি রয়েছে, তবে তাদের উচ্চ মিল রয়েছে কারণ তারা একটি সাধারণ বিষয় ভাগ করে নেয়।

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ সংস্করণ
ইউনিভার্সাল সেন্টেন্স এনকোডার স্ট্রিং, স্ট্রিং, স্ট্রিং কোনটিই নয় (float32) সর্বশেষ

টাস্ক বেঞ্চমার্ক

উপরের পূর্ব-প্রশিক্ষিত মডেলগুলির উপর ভিত্তি করে পুরো পাইপলাইনের জন্য টাস্ক বেঞ্চমার্কগুলি এখানে রয়েছে৷ CPU/GPU ব্যবহার করে Pixel 6-এর গড় বিলম্বিততার ফলাফল হল লেটেন্সি।

ণশড CPU লেটেন্সি GPU লেটেন্সি
ইউনিভার্সাল সেন্টেন্স এনকোডার 18.21 মি -
,

MediaPipe টেক্সট এমবেডার টাস্ক আপনাকে এর শব্দার্থগত অর্থ ক্যাপচার করতে পাঠ্য ডেটার একটি সংখ্যাসূচক উপস্থাপনা তৈরি করতে দেয়। এই কার্যকারিতাটি প্রায়শই কোসাইন সাদৃশ্যের মতো গাণিতিক তুলনা কৌশলগুলি ব্যবহার করে দুটি টুকরো পাঠের শব্দার্থগত সাদৃশ্য তুলনা করতে ব্যবহৃত হয়। এই কাজটি একটি মেশিন লার্নিং (ML) মডেলের সাথে পাঠ্য ডেটার উপর কাজ করে এবং উচ্চ-মাত্রিক বৈশিষ্ট্য ভেক্টরগুলির একটি তালিকা হিসাবে পাঠ্য ডেটার একটি সংখ্যাসূচক উপস্থাপনা আউটপুট করে, যা এম্বেডিং ভেক্টর নামেও পরিচিত, হয় ফ্লোটিং-পয়েন্ট বা কোয়ান্টাইজড আকারে।

এটা চেষ্টা করুন!

এবার শুরু করা যাক

আপনার লক্ষ্য প্ল্যাটফর্মের জন্য এই বাস্তবায়ন নির্দেশিকাগুলির একটি অনুসরণ করে এই কাজটি ব্যবহার করা শুরু করুন। এই প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশিকাগুলি আপনাকে এই টাস্কের একটি প্রাথমিক বাস্তবায়নের মাধ্যমে নিয়ে যায়, যার মধ্যে একটি প্রস্তাবিত মডেল এবং প্রস্তাবিত কনফিগারেশন বিকল্পগুলির সাথে কোড উদাহরণ রয়েছে:

টাস্কের বিবরণ

এই বিভাগটি এই কাজের ক্ষমতা, ইনপুট, আউটপুট এবং কনফিগারেশন বিকল্পগুলি বর্ণনা করে।

বৈশিষ্ট্য

  • ইনপুট টেক্সট প্রসেসিং - ইন-গ্রাফ টোকেনাইজেশন ছাড়াই মডেলের জন্য গ্রাফের বাইরের টোকেনাইজেশন সমর্থন করে।
  • এমবেডিং সাদৃশ্য গণনা - দুটি বৈশিষ্ট্য ভেক্টরের মধ্যে কোসাইন সাদৃশ্য গণনা করার জন্য অন্তর্নির্মিত ইউটিলিটি ফাংশন।
  • কোয়ান্টাইজেশন - বৈশিষ্ট্য ভেক্টরের জন্য স্কেলার কোয়ান্টাইজেশন সমর্থন করে।
টাস্ক ইনপুট টাস্ক আউটপুট
টেক্সট এমবেডার নিম্নলিখিত ইনপুট ডেটা টাইপ গ্রহণ করে:
  • স্ট্রিং
টেক্সট এমবেডার এম্বেডিংয়ের একটি তালিকা আউটপুট করে যার মধ্যে রয়েছে:
  • এমবেডিং: বৈশিষ্ট্য ভেক্টর নিজেই, হয় ফ্লোটিং-পয়েন্ট আকারে বা স্কেলার-কোয়ান্টাইজড।
  • হেড সূচক: মাথার জন্য সূচক যা এই এমবেডিং তৈরি করেছে।
  • মাথার নাম (ঐচ্ছিক): মাথার নাম যেটি এই এমবেডিং তৈরি করেছে।

কনফিগারেশন অপশন

এই কাজের নিম্নলিখিত কনফিগারেশন বিকল্প আছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
l2_normalize L2 আদর্শের সাথে প্রত্যাবর্তিত বৈশিষ্ট্য ভেক্টরকে স্বাভাবিক করতে হবে কিনা। এই বিকল্পটি ব্যবহার করুন শুধুমাত্র যদি মডেলটিতে ইতিমধ্যে একটি নেটিভ L2_NORMALIZATION TFLite Op না থাকে৷ বেশিরভাগ ক্ষেত্রে, এটি ইতিমধ্যেই হয় এবং এইভাবে এই বিকল্পের প্রয়োজন ছাড়াই TFLite অনুমানের মাধ্যমে L2 স্বাভাবিককরণ অর্জন করা হয়। Boolean False
quantize প্রত্যাবর্তিত এমবেডিং স্কেলার কোয়ান্টাইজেশনের মাধ্যমে বাইটে পরিমাপ করা উচিত কিনা। এমবেডিংগুলিকে পরোক্ষভাবে ইউনিট-নর্ম হিসাবে ধরে নেওয়া হয় এবং তাই যে কোনও মাত্রা [-1.0, 1.0]-এ একটি মান থাকার নিশ্চয়তা দেওয়া হয়। যদি এটি না হয় তবে l2_normalize বিকল্পটি ব্যবহার করুন। Boolean False

মডেল

আপনি যখন এই টাস্কের সাথে বিকাশ শুরু করেন তখন আমরা একটি ডিফল্ট, প্রস্তাবিত মডেল অফার করি।

এই মডেলটি একটি দ্বৈত এনকোডার আর্কিটেকচার ব্যবহার করে এবং বিভিন্ন প্রশ্ন-উত্তর ডেটাসেটের উপর প্রশিক্ষিত ছিল।

নিম্নলিখিত বাক্য জোড়া বিবেচনা করুন:

  • ("এটি একটি কমনীয় এবং প্রায়শই ভ্রমণকে প্রভাবিত করে", "কী একটি দুর্দান্ত এবং দুর্দান্ত ভ্রমণ")
  • ("আমি আমার ফোন পছন্দ করি", "আমি আমার ফোন ঘৃণা করি")
  • ("এই রেস্তোরাঁটির একটি দুর্দান্ত কৌশল রয়েছে", "আমাদের পরিকল্পনার বিশদটি দুবার পরীক্ষা করতে হবে")

প্রথম দুই জোড়ার টেক্সট এম্বেডিং-এ তৃতীয় জোড়ার এম্বেডিংয়ের তুলনায় উচ্চতর কোসাইন সাদৃশ্য থাকবে কারণ প্রথম দুই জোড়া বাক্য যথাক্রমে "ট্রিপ সেন্টিমেন্ট" এবং "ফোন মতামত" এর একটি সাধারণ বিষয় ভাগ করে যখন তৃতীয় জোড়া বাক্যে একটি সাধারণ বিষয় শেয়ার করবেন না।

উল্লেখ্য যে যদিও দ্বিতীয় জোড়ার দুটি বাক্যে বিরোধী অনুভূতি রয়েছে, তবে তাদের উচ্চ মিল রয়েছে কারণ তারা একটি সাধারণ বিষয় ভাগ করে নেয়।

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ সংস্করণ
ইউনিভার্সাল সেন্টেন্স এনকোডার স্ট্রিং, স্ট্রিং, স্ট্রিং কোনটিই নয় (float32) সর্বশেষ

টাস্ক বেঞ্চমার্ক

উপরের পূর্ব-প্রশিক্ষিত মডেলগুলির উপর ভিত্তি করে পুরো পাইপলাইনের জন্য টাস্ক বেঞ্চমার্কগুলি এখানে রয়েছে৷ CPU/GPU ব্যবহার করে Pixel 6-এর গড় বিলম্বিততার ফলাফল হল লেটেন্সি।

ণশড CPU লেটেন্সি GPU লেটেন্সি
ইউনিভার্সাল সেন্টেন্স এনকোডার 18.21 মি -