انگریزی جملوں کی فہرست سے ایمبیڈنگ کیسے بنائیں

Angryzy Jmlw Ky F Rst S Aymby Ng Kys Bnayy



کیا آپ نے کبھی سوچا ہے کہ جب ہم اپنی مشینوں (کمپیوٹر) کے ساتھ بات چیت کرتے ہیں اور انہیں ہمارے لیے ایک مخصوص کام انجام دینے کے لیے ہدایات دیتے ہیں جیسے کہ ایک مخصوص سرچ کرنا یا ایک زبان سے دوسری زبان میں ترجمہ کرنا، کمپیوٹر اس کو کیسے سمجھتا اور اس پر عمل کرتا ہے؟ یہ سب قدرتی زبان پروسیسنگ کے مصنوعی ذہانت کے ذیلی فیلڈ کے ذریعے کیا جاتا ہے۔ کمپیوٹر عددی اقدار کو سمجھتا ہے اور NLP کی 'لفظ ایمبیڈنگ' کی تکنیک لفظ اور متن کو تبدیل کرتی ہے جو ہم کمپیوٹر کو ان پٹ کے طور پر اس عددی ویکٹر میں دیتے ہیں تاکہ کمپیوٹر اسے پہچان سکے۔ NLP کے کئی دوسرے عمل زبانی ماڈلز کے ذریعے اس انسانی کمپیوٹر کے تعامل سے آگے ہوتے ہیں لیکن ہم اس گائیڈ میں لفظ ایمبیڈنگ کا تفصیل سے احاطہ کریں گے۔

نحو:

متن کے لفظ ایمبیڈنگ کے لیے مختلف فنکشنز نیچرل لینگویج پروسیسنگ کے تحت آتے ہیں۔ یہ مضمون اس مقصد کے لیے 'word2vec' فنکشن کا احاطہ کرتا ہے۔ اسے واضح کرنے کے لیے، لفظ ایمبیڈنگ ہمارے ٹیکسٹ ان پٹس کو ویکٹر کی نمائندگی میں تبدیل کرتا ہے جہاں وہ الفاظ جن کے کم و بیش ایک جیسے سیاق و سباق کے معنی ہیں وہی نمائندگی دیتے ہیں۔

'word2vec' الگورتھم ایک نیورل نیٹ ورک ماڈل ہے جس کی تربیت اس طرح کی جاتی ہے کہ یہ لفظ کے سیاق و سباق کی پہلے پیش گوئی کر کے الفاظ کی سرایت سیکھتا ہے جس میں یہ ظاہر ہوتا ہے۔ یہ ماڈل متن کو اپنے ان پٹ کے طور پر لیتا ہے۔ پھر، متن کے ہر لفظ کے لیے، اس لفظ کے لیے ویکٹر کی نمائندگی بنائی جاتی ہے۔ یہ ماڈل اس خیال پر مبنی ہے کہ جو الفاظ ایک ہی سیاق و سباق کے حامل نظر آتے ہیں ان کے ایک ہی معنی ہوتے ہیں۔ 'word2vec' کا نحو درج ذیل ہے:







$ Word2Vec(جملے، min_count)

اس الگورتھم کے دو پیرامیٹرز ہیں جو 'جملے' اور 'کم سے کم_ شمار' ہیں۔ جملہ وہ متغیر ہے جہاں جملوں کی فہرست یا جملے کی شکل میں متن کو ذخیرہ کیا جاتا ہے اور minimum_count 1 کی گنتی قدر کے بارے میں بات کرتا ہے جس کا مطلب ہے کہ متن میں سے کوئی بھی لفظ جو ایک سے کم ظاہر ہوا ہے اسے نظر انداز کرنے کی ضرورت ہے۔ .



مثال 1:

اس مثال میں، ہم انگریزی جملوں کی فہرست میں موجود الفاظ کے لیے ایمبیڈنگ کا لفظ بناتے ہیں۔ لفظ 'ایمبیڈنگ' بنانے کے لیے، ہمیں 'word2vec' ماڈل استعمال کرنے کی ضرورت ہے۔ یہ ماڈل Python کی 'gensim' لائبریری کا ایک پیکج ہے۔ ہمیں 'word2vec' کے ساتھ کام کرنے کے لیے اپنی Python لائبریری کے ذخیروں میں Gensim انسٹال کرنے کی ضرورت ہے۔



اس مثال کو نافذ کرنے کے لیے، ہم 'google colab' آن لائن Python کمپائلر پر کام کریں گے۔ جینسم کو انسٹال کرنے کے لیے، 'pip install gensim' کمانڈ استعمال کریں۔ یہ اس لائبریری کو اس کے تمام متعلقہ پیکجوں کے ساتھ ڈاؤن لوڈ کرنا شروع کر دیتا ہے۔ ایک بار انسٹال ہونے کے بعد، gensim سے 'word2vector' پیکیج درآمد کریں۔





اس 'word2vec' ماڈل کو تربیت دینے کے لیے، ہمیں تربیتی ڈیٹاسیٹ بنانے کی ضرورت ہے۔ اس کے لیے ہم جملوں کی ایک فہرست بناتے ہیں جس میں چار سے پانچ انگریزی جملے ہوتے ہیں۔ ہم اس فہرست کو 'ٹریننگ_ڈیٹا' متغیر میں محفوظ کرتے ہیں۔

تربیتی ڈیٹاسیٹ بنانے کے بعد ہمارا اگلا مرحلہ اس ڈیٹا پر 'word2vec' ماڈل کو تربیت دینا ہے۔ لہذا، ہم ماڈل کہتے ہیں. ہم تربیت کا ڈیٹا اس ماڈل کے ان پٹ پیرامیٹرز میں دیتے ہیں جسے ہم نے 'ان پٹ' متغیر میں محفوظ کیا ہے۔ پھر، ہم دوسرا پیرامیٹر بتاتے ہیں جو کہ 'کم سے کم_ شمار' ہے۔ ہم اس کی قیمت '1' کے برابر مقرر کرتے ہیں۔ اس ٹریننگ ماڈل سے آؤٹ پٹ کو 'trained_model' متغیر میں محفوظ کیا جاتا ہے۔



ایک بار جب ہم ماڈل کی تربیت مکمل کر لیتے ہیں، تو ہم صرف 'wv' سابقہ ​​کے ساتھ ماڈل تک رسائی حاصل کر سکتے ہیں جو لفظ ویکٹر ماڈل ہے۔ ہم اپنے الفاظ کے ٹوکن کی ذخیرہ الفاظ تک بھی رسائی حاصل کر سکتے ہیں اور انہیں مندرجہ ذیل طریقے سے پرنٹ کر سکتے ہیں:

vocabof_tokens = فہرست (model.wv.vocab)

ماڈل ہمارے معاملے میں تربیت یافتہ ماڈل کی نمائندگی کرتا ہے۔ اب، ہم جملے کی فہرست میں ایک لفظ کی ویکٹر کی نمائندگی تک رسائی حاصل کرتے ہیں جو کہ ہمارے معاملے میں 'apple' ہے۔ ہم یہ صرف تربیت یافتہ ماڈل کو بلا کر کرتے ہیں۔ ہم اس لفظ کو پاس کرتے ہیں جس کی ویکٹر کی نمائندگی ہم 'ماڈل' کے بطور پرنٹ کرنا چاہتے ہیں۔ wv ['apple']' اس کے ان پٹ دلیل میں۔ پھر، ہم 'پرنٹ' فنکشن کے ساتھ نتائج پرنٹ کرتے ہیں۔

سے ایک قوم کے طور پر ماڈلز درآمد Word2Vec

ٹریننگ_ڈیٹا = [ [ 'سیب' , 'ہے' , 'وہ' , 'میٹھا' , 'سیب' , 'کے لیے' , 'word2vec' ] ,
[ 'یہ' , 'ہے' , 'وہ' , 'دوسرا' , 'سیب' ] ,
[ 'یہاں' , 'دوسرا' , 'سیب' ] ,
[ 'ایک' , 'میٹھا' , 'سیب' ] ,
[ 'اور' , 'مزید' , 'میٹھا' , 'سیب' ] ]

ماڈل = Word2Vec ( ٹریننگ_ڈیٹا , min_count = 1 )
پرنٹ کریں ( ماڈل )
vocabof_tokens = فہرست ( ماڈل wv . index_to_key )
پرنٹ کریں ( vocabof_tokens )
پرنٹ کریں ( ماڈل wv [ 'سیب' ] )

پہلے بیان کردہ آؤٹ پٹ اور کوڈ سے، لفظ 'ایپل' کے لیے سرایت کا لفظ دکھایا گیا ہے۔ مثال میں، ہم نے سب سے پہلے ایک تربیتی ڈیٹاسیٹ بنایا۔ پھر، ہم نے اس پر ایک ماڈل کو تربیت دی اور ماڈل کا خلاصہ کیا۔ پھر، ماڈل کا استعمال کرتے ہوئے، ہمیں الفاظ کے ٹوکن الفاظ تک رسائی حاصل ہوئی۔ اس کے بعد، ہم نے لفظ 'ایپل' کے لیے ایمبیڈنگ کا لفظ دکھایا۔

مثال 2:

جینسم لائبریری کا استعمال کرتے ہوئے، آئیے جملوں کی ایک اور فہرست بنائیں۔ جملہ میں ہر لفظ کے لیے ہمارے ماڈل کو تربیت دیں تاکہ لفظ ایمبیڈنگ کا استعمال کر کے 'word2vec' ماڈل بنایا جا سکے۔ سب سے پہلے، جینسم لائبریری پیکج سے، 'word2vec' ماڈل درآمد کیا جاتا ہے۔ پھر، ہم ایک اور ڈیٹا سیٹ بناتے ہیں جو وہ فہرست ہوگی جس میں دو جملے ہوں گے۔ فہرست کے ہر جملے میں چار الفاظ ہیں۔

اب، ہم اس فہرست کو 'ڈیٹا' متغیر میں محفوظ کرتے ہیں۔ اس کے بعد، ہم 'word2vec()' ماڈل کو کال کرتے ہیں اور اس ماڈل کے آرگیومینٹس کو minimum_count ویلیو کے ساتھ ڈیٹا فیڈ کرتے ہیں جو کہ '1' کے برابر ہے۔ اس طرح ہم اپنے ماڈل کو تربیت دیتے ہیں۔ اب، یہ اس قابل ہے اور ان الفاظ کی سرایت سیکھ سکتا ہے جو جملے میں موجود ہیں جو کہ فہرست میں موجود ہیں اس سیاق و سباق کی پیش گوئی کر کے۔ اپنے ماڈل کے نتائج کو جانچنے کے لیے، ہم اپنے ڈیٹا میں صرف 'کتے' جیسا لفظ ماڈل کو دیتے ہیں۔ پھر، ہم 'print()' فنکشن کا استعمال کرتے ہوئے نتائج پرنٹ کرتے ہیں۔

سے ایک قوم کے طور پر ماڈلز درآمد Word2Vec
ڈیٹا = [ [ 'خرگوش' , 'ہے' , 'دانت' ] , [ 'کتا' , 'ہے' , 'کان' ] ]
ماڈل = Word2Vec ( ڈیٹا , min_count = 1 )
پرنٹ کریں ( ماڈل wv [ 'کتا' ] )

ہم اس لفظ کی ویکٹر کی نمائندگی کا مشاہدہ کر سکتے ہیں جسے ہم نے آؤٹ پٹ کے پچھلے ٹکڑوں سے اس کے ان پٹ کے طور پر ماڈل کو فیڈ کیا تھا۔

نتیجہ

یہ گائیڈ انگریزی جملوں کی فہرست میں موجود الفاظ کے لیے لفظ ایمبیڈنگ بنانے کا طریقہ دکھاتا ہے۔ ہم نے Python کی 'gensim' لائبریری کے بارے میں سیکھا جو لفظ ایمبیڈنگ بنانے کے لیے 'word2vec' ماڈل فراہم کرتی ہے۔ مزید برآں، ہم نے ان پٹ پیرامیٹرز کے بارے میں سیکھا، تربیتی ڈیٹا پر 'word2vec' ماڈل کی تربیت کیسے کی جائے، اور لفظ کو ویکٹر کی نمائندگی میں کیسے پیش کیا جائے۔