ইংরেজি বাক্যগুলির একটি তালিকা থেকে কীভাবে একটি এম্বেডিং তৈরি করবেন

Inreji Bakyagulira Ekati Talika Theke Kibhabe Ekati Embedim Tairi Karabena



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

বাক্য গঠন:

পাঠ্যের শব্দ এমবেডিংয়ের জন্য বিভিন্ন ফাংশন প্রাকৃতিক ভাষা প্রক্রিয়াকরণের অধীনে পড়ে। এই নিবন্ধটি এই উদ্দেশ্যে 'word2vec' ফাংশন কভার করে। এটি পরিষ্কার করার জন্য, এম্বেডিং শব্দটি আমাদের পাঠ্য ইনপুটগুলিকে ভেক্টর প্রতিনিধিত্বে রূপান্তরিত করে যেখানে সেই শব্দগুলির কমবেশি একই প্রাসঙ্গিক অর্থ একই উপস্থাপনা দিয়েছে৷

'word2vec' অ্যালগরিদম হল একটি নিউরাল নেটওয়ার্ক মডেল যাকে এমনভাবে প্রশিক্ষিত করা হয় যে এটি শব্দের প্রেক্ষাপটের পূর্বাভাস দিয়ে শব্দের এমবেডিং শেখে যেখানে এটি উপস্থিত হয়। এই মডেলটি তার ইনপুট হিসাবে পাঠ্য গ্রহণ করে। তারপর, পাঠ্যের প্রতিটি শব্দের জন্য, সেই শব্দের জন্য ভেক্টর উপস্থাপনা তৈরি করা হয়। এই মডেলটি এই ধারণার উপর ভিত্তি করে তৈরি করা হয়েছে যে একই প্রেক্ষাপটে দেখা যায় এমন শব্দগুলির একই অর্থ রয়েছে। 'word2vec' এর সিনট্যাক্স নিম্নরূপ:







$ Word2Vec(বাক্য, min_count)

এই অ্যালগরিদমের দুটি প্যারামিটার রয়েছে যা হল 'বাক্য' এবং 'মিনিমাম_কাউন্ট'। বাক্যটি এমন একটি পরিবর্তনশীল যেখানে বাক্যের তালিকা বা বাক্য আকারে পাঠ্য সংরক্ষণ করা হয় এবং minimum_count 1 এর গণনা মান সম্পর্কে কথা বলে যার অর্থ পাঠ্যের যে কোনও শব্দ যা একের চেয়ে কম উপস্থিত হয়েছে তাকে উপেক্ষা করা প্রয়োজন .



উদাহরণ 1:

এই উদাহরণে, আমরা ইংরেজি বাক্যের তালিকায় বিদ্যমান শব্দগুলির জন্য এম্বেডিং শব্দ তৈরি করি। 'এম্বেডিং' শব্দটি তৈরি করতে, আমাদের 'word2vec' মডেলটি ব্যবহার করতে হবে। এই মডেলটি পাইথনের 'জেনসিম' লাইব্রেরির একটি প্যাকেজ। 'word2vec' এর সাথে কাজ করার জন্য আমাদের পাইথন লাইব্রেরি সংগ্রহস্থলে জেনসিম ইনস্টল করা দরকার।



এই উদাহরণটি বাস্তবায়ন করতে, আমরা 'google colab' অনলাইন পাইথন কম্পাইলারে কাজ করব। gensim ইনস্টল করতে, 'pip install gensim' কমান্ডটি ব্যবহার করুন। এটি এই লাইব্রেরিটির সমস্ত সংশ্লিষ্ট প্যাকেজ সহ ডাউনলোড করা শুরু করে। এটি ইনস্টল হয়ে গেলে, জেনসিম থেকে 'word2vector' প্যাকেজটি আমদানি করুন।





এই 'word2vec' মডেলটি প্রশিক্ষণের জন্য, আমাদের একটি প্রশিক্ষণ ডেটাসেট তৈরি করতে হবে। তার জন্য, আমরা বাক্যগুলির একটি তালিকা তৈরি করি যাতে চার থেকে পাঁচটি ইংরেজি বাক্য থাকে। আমরা এই তালিকাটিকে 'training_data' ভেরিয়েবলে সংরক্ষণ করি।

প্রশিক্ষণ ডেটাসেট তৈরি করার পর আমাদের পরবর্তী পদক্ষেপ হল এই ডেটার উপর 'word2vec' মডেলকে প্রশিক্ষণ দেওয়া। সুতরাং, আমরা মডেল কল. আমরা এই মডেলের ইনপুট প্যারামিটারে প্রশিক্ষণের ডেটা দিই যা আমরা 'ইনপুট' ভেরিয়েবলে সংরক্ষণ করেছি। তারপরে, আমরা দ্বিতীয় প্যারামিটারটি নির্দিষ্ট করি যা হল 'ন্যূনতম_গণনা'। আমরা এর মান '1' এর সমান সেট করি। এই ট্রেনিং মডেল থেকে আউটপুট 'trained_model' ভেরিয়েবলে সংরক্ষিত হয়।



একবার আমরা মডেলের প্রশিক্ষণ শেষ করার পর, আমরা কেবলমাত্র 'wv' উপসর্গ দিয়ে মডেলটি অ্যাক্সেস করতে পারি যা ভেক্টর মডেল শব্দটি। আমরা আমাদের শব্দের টোকেনের শব্দভাণ্ডারও অ্যাক্সেস করতে পারি এবং সেগুলিকে নিম্নলিখিত পদ্ধতিতে প্রিন্ট করতে পারি:

vocabof_tokens = তালিকা (model.wv.vocab)

মডেলটি আমাদের ক্ষেত্রে প্রশিক্ষিত মডেলের প্রতিনিধিত্ব করে। এখন, আমরা বাক্যের তালিকায় একটি শব্দের ভেক্টর উপস্থাপনা অ্যাক্সেস করি যা আমাদের ক্ষেত্রে 'আপেল'। আমরা কেবল প্রশিক্ষিত মডেলকে কল করে এটি করি। আমরা সেই শব্দটি পাস করি যার ভেক্টর প্রতিনিধিত্ব আমরা 'মডেল' হিসাবে মুদ্রণ করতে চাই। wv ['apple']” এর ইনপুট আর্গুমেন্টে। তারপর, আমরা 'প্রিন্ট' ফাংশন দিয়ে ফলাফল মুদ্রণ করি।

থেকে একটি জাতি হিসাবে মডেল আমদানি Word2Vec

প্রশিক্ষণ_ডেটা = [ [ 'আপেল' , 'হয়' , 'দ্য' , 'মিষ্টি' , 'আপেল' , 'জন্য' , 'word2vec' ] ,
[ 'এই' , 'হয়' , 'দ্য' , 'দ্বিতীয়' , 'আপেল' ] ,
[ 'এখানে' , 'অন্য' , 'আপেল' ] ,
[ 'এক' , 'মিষ্টি' , 'আপেল' ] ,
[ 'এবং' , 'আরো' , 'মিষ্টি' , 'আপেল' ] ]

মডেল = Word2Vec ( প্রশিক্ষণ_ডেটা , min_count = 1 )
ছাপা ( মডেল )
ভোকাবোফ_টোকেন = তালিকা ( মডেল. wv . index_to_key )
ছাপা ( ভোকাবোফ_টোকেন )
ছাপা ( মডেল. wv [ 'আপেল' ] )

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

উদাহরণ 2:

জেনসিম লাইব্রেরি ব্যবহার করে, বাক্যগুলির আরেকটি তালিকা তৈরি করা যাক। “word2vec” মডেল ব্যবহার করে শব্দ এমবেডিং তৈরি করতে বাক্যের প্রতিটি শব্দের জন্য আমাদের মডেলকে প্রশিক্ষণ দিন। প্রথমত, জেনসিম লাইব্রেরি প্যাকেজ থেকে, 'word2vec' মডেলটি আমদানি করা হয়। তারপরে, আমরা আরেকটি ডেটা সেট তৈরি করি যেটি তালিকায় দুটি বাক্য থাকবে। তালিকার প্রতিটি বাক্যে চারটি শব্দ রয়েছে।

এখন, আমরা এই তালিকাটিকে 'ডেটা' ভেরিয়েবলে সংরক্ষণ করি। তারপর, আমরা “word2vec()” মডেলটিকে কল করি এবং এই মডেলের আর্গুমেন্টে ডাটা ফিড করি যার ন্যূনতম_গণনা মান “1” এর সমান। এইভাবে আমরা আমাদের মডেলকে প্রশিক্ষণ দিই। এখন, এটি যে প্রেক্ষাপটে উপস্থিত রয়েছে তা ভবিষ্যদ্বাণী করে তালিকায় উপস্থিত বাক্যগুলিতে বিদ্যমান শব্দগুলির এম্বেডিং করতে সক্ষম এবং শিখতে পারে। আমাদের মডেলের ফলাফল পরীক্ষা করার জন্য, আমরা কেবলমাত্র আমাদের ডেটাতে 'কুকুর' এর মতো একটি শব্দ মডেলে প্রেরণ করি। তারপর, আমরা “print()” ফাংশন ব্যবহার করে ফলাফল প্রিন্ট করি।

থেকে একটি জাতি হিসাবে মডেল আমদানি Word2Vec
তথ্য = [ [ 'খরগোশ' , ' আছে' , 'দাঁত' ] , [ 'কুকুর' , ' আছে' , 'কান' ] ]
মডেল = Word2Vec ( তথ্য , min_count = 1 )
ছাপা ( মডেল. wv [ 'কুকুর' ] )

আমরা আউটপুটের পূর্ববর্তী স্নিপেট থেকে এর ইনপুট হিসাবে মডেলকে যে শব্দটি ফিড করেছি তার ভেক্টর উপস্থাপনা পর্যবেক্ষণ করতে পারি।

উপসংহার

এই নির্দেশিকাটি ইংরেজি বাক্যের তালিকায় বিদ্যমান শব্দগুলির জন্য শব্দ এমবেডিং তৈরি করার পদ্ধতি প্রদর্শন করে। আমরা পাইথনের 'জেনসিম' লাইব্রেরি সম্পর্কে শিখেছি যা শব্দ এমবেডিং তৈরি করতে 'word2vec' মডেল প্রদান করে। উপরন্তু, আমরা ইনপুট প্যারামিটার সম্পর্কে শিখেছি, প্রশিক্ষণের ডেটাতে কীভাবে 'word2vec' মডেলকে প্রশিক্ষণ দিতে হয় এবং ভেক্টরের উপস্থাপনায় কীভাবে শব্দটি উপস্থাপন করতে হয়।