এম্বেডিং: ইন্টার‍্যাক্টিভ অনুশীলন

TensorFlow-র এম্বেডিং প্রোজেক্টরের ভিত্তিতে তৈরি নিম্নলিখিত উইজেট ১০,০০০ word2vec স্ট্যাটিক ভেক্টরকে 3D স্পেসে চ্যাপ্টা করে দেয়। এই ডাইমেনশন হারানোর বিষয়টি বিভ্রান্তিকর হতে পারে, কারণ আসল উচ্চ-ডাইমেনশনাল স্পেসে যেসব পয়েন্ট পরস্পরের সবচেয়ে কাছাকাছি ছিল সেগুলি 3D প্রোজেকশনে পরস্পরের চেয়ে অনেক দূরে আছে বলে মনে হতে পারে। সবচেয়ে কাছাকাছি n পয়েন্টগুলি বেগুনি রঙ দিয়ে হাইলাইট করা হয়েছে, n পয়েন্টগুলি ব্যবহারকারী এখান থেকে বেছে নেয়: আইসোলেট __ পয়েন্ট। ডানদিকের সাইডবার সবচেয়ে কাছাকাছি থাকা প্রতিবেশীকে বোঝায়।

এই পরীক্ষা-নিরীক্ষায় উপরের উইজেটে আপনি word2vec এম্বেডিং ব্যবহার করে দেখবেন।

টাস্ক ১

নিম্নলিখিত ক্ষেত্রের জন্য সবচেয়ে কাছকাছি থাকা ২০টি প্রতিবেশী খোঁজার চেষ্টা করুন এবং ক্লাউডের কোথায় গ্রুপের স্থান হয় তা দেখুন।

  • iii, thirdthree
  • taoway
  • orange, yellowjuice

ফলাফলের ব্যাপারে আপনি কী লক্ষ্য করছেন?

আমাদের উত্তর দেখতে এখানে ক্লিক করুন

iii, thirdthree সেম্যানটিকালি একরকম হলেও টেক্সটে আলাদা প্রসঙ্গে উল্লেখ করা হয় এবং এই এম্বেডিং স্পেসে কাছাকাছি আছে বলে দেখা যায় না। word2vec-এ, iii third-এর তুলনায় iv-এর কাছাকাছি আছে।

একইরকমভাবে, way tao-এর সরাসরি অনুবাদ হলেও ব্যবহৃত ডেটাসেটে এই শব্দগুলি প্রায়শই একদম ভিন্ন শব্দের গ্রুপের সাথে আছে বলে দেখা যায় এবং তাই দুটি ভেক্টর পরস্পরের চেয়ে অনেক দূরে থাকে।

orange-এর প্রথম অনেকগুলি কাছাকাছি থাকা প্রতিবেশী হল রঙ, কিন্তু juicepeel ফল হিসেবে orange-এর অর্থের সাথে সম্পর্কিত, এগুলিকে ১৪ ও ১৮তম সবচেয়ে নিকটবর্তী প্রতিবেশী হিসেবে দেখা যায়। ইতিমধ্যে, prince, অর্থাৎ প্রিন্স অফ অরেঞ্জের প্রিন্স, ১৭তম হয়। প্রোজেকশনে orange-এর সবচেয়ে কাছাকাছি শব্দ হল yellow এবং অন্যান্য রঙ, কিন্তু juice-এর সবচেয়ে কাছাকাছি থাকা শব্দগুলির মধ্যে orange পড়ে না।

টাস্ক ২

ট্রেনিং ডেটার কিছু বৈশিষ্ট্য বোঝার চেষ্টা করুন। যেমন, নিম্নলিখিত ক্ষেত্রের জন্য সবচেয়ে কাছকাছি থাকা ১০০টি প্রতিবেশী খোঁজার চেষ্টা করুন এবং ক্লাউডের কোথায় গ্রুপের স্থান হয় তা দেখুন:

  • boston, paris, tokyo, delhi, moscowseoul (প্রশ্নটি ধাঁধায় ফেলতে পারে)
  • jane, sarah, john, peter, rosajuan

আমাদের উত্তর দেখতে এখানে ক্লিক করুন

boston-এর অনেকগুলি নিকটবর্তী প্রতিবেশী হল মার্কিন যুক্তরাষ্ট্রের অন্যান্য শহর। paris-এর অনেকগুলি নিকটবর্তী প্রতিবেশী হল ইউরোপের অন্যান্য শহর। tokyodelhi-এর একই ধরনের ফলাফল নেই বলেই মনে হয়: একটি পৃথিবীর এমন একটি শহর যেটি ভ্রমণকেন্দ্র হিসেবে পরিচিত, অপরটি india ও সম্পর্কিত শব্দগুলির সাথে যুক্ত। শব্দ ভেক্টরের কাটছাঁট করা সেটে seoul-কে দেখতেই পাওয়া যায় না।

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

একইরকমভাবে, এই ডেটাসেটে পুরুষদের অনেক ইংরেজি নাম আছে, মহিলাদের কিছু ইংরেজি নাম আছে এবং অন্যান্য ভাষার অনেক কম নাম আছে। মনে রাখবেন, Disney-র জন্য ডন রোসা স্ক্রুজ ম্যাকডাক কমিক লিখেছিলেন এবং সেটির ছবি এঁকেছিলেন, সম্ভবত এই কারণেই `রোসা` শব্দের সবচেয়ে কাছাকাছি প্রতিবেশী হল `স্ক্রুজ` ও `ম্যাকডাক`।

বাস্তবিক, word2vec-এর প্রদান করা আগে ট্রেনিংপ্রাপ্ত শব্দ ভেক্টরকে ২০১৩ সাল পর্যন্ত Google News নিবন্ধের ভিত্তিতে ট্রেনিং দেওয়া হয়।

টাস্ক ৩

এম্বেডিং শব্দের মধ্যেই সীমাবদ্ধ নয়। ছবি, অডিও ও অন্যান্য ডেটাও এম্বেড করা যায়। এই টাস্কের জন্য:

  1. TensorFlow-র এম্বেডিং প্রোজেক্টর খুলুন।
  2. বাঁদিকের ডেটা শীর্ষক সাইডবার থেকে ছবি সহ Mnist বিকল্প বেছে নিন। এর ফলে হাতে লেখা সংখ্যার MNIST ডেটাবেসের এম্বেডিংয়ের প্রোজেকশন দেখা যায়।
  3. রোটেশন থামাতে ক্লিক করুন এবং একটি ছবি বেছে নিন। প্রয়োজন হলে, বড় বা ছোট করুন।
  4. সবচেয়ে কাছাকাছি থাকা প্রতিবেশীকে খুঁজতে সাইডবার দেখুন। সেখানে কি কিছু বিস্ময়কর দেখতে পাচ্ছেন?
  • কেন, কিছু 7-এর সবচেয়ে কাছাকাছি থাকা প্রতিবেশী হল 1? কেন, কিছু 8-এর সবচেয়ে কাছাকাছি থাকা প্রতিবেশী হল 9?
  • প্রোজেকশন স্পেসের প্রান্তে থাকা ছবির সাথে সেটির কেন্দ্রে থাকা ছবির কি কিছুটা পার্থক্য আছে বলে মনে হচ্ছে?

মনে রাখবেন, যে মডেল এই এম্বেডিং তৈরি করেছে সেটি ছবির ডেটা পাচ্ছে, অর্থাৎ পিক্সেল পাচ্ছে এবং প্রতিটি ছবিকে বোঝাতে সাংখ্যিক ভেক্টর বেছে নিচ্ছে। মডেলটি অটোমেটিক নিজের মনে হাতে লেখা সংখ্যার ছবি ও সংখ্যাটির মধ্যে কোনও সম্পর্ক গড়ে তুলছে না।

আমাদের উত্তর দেখতে এখানে ক্লিক করুন

আকারের মধ্যে সাদৃশ্য, কিছু সরু, পাতলা 7-এর ভেক্টর উপস্থাপনার কারণে সেগুলিকে হাতে লেখা 1-এর ভেক্টরের কাছাকাছি রাখছে। কিছু 8 এবং 9, এমনকি 53-এর ক্ষেত্রেও একই জিনিস হয়।

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