اردو چیٹ بوٹ بنائیں (گیارویں سالگرہ)

رانا

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

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

ابھی تک اردو کے حوالے سے یہ میدان خالی پڑا ہے۔اس لئے خیال آیا کہ محفل پر ایک دھاگا کھول کر احباب کو اس طرف توجہ دلائی جائے شائد کسی کو دلچسپی پیدا ہوجائے۔ اس بات کو مدنظر رکھتے ہوئے سوچا کہ پہلے کچھ معلومات حاصل کرلی جائیں تاکہ اس طرف نئے آنے والوں کو شروع میں جو سرا پکڑنے کی مشکل پیش آتی ہے وہ کچھ حد تک اگر دور ہوسکے تو کوشش کی جائے۔ اب تو بوٹ بنانا کافی آسان ہوگیا ہے البتہ اردو بوٹ شروع میں مشکل لگے گا لیکن ظاہر ہے کہ جب کام کرنا شروع کیا جائے گا تو پیش آنے والے مسائل بھی ساتھ ساتھ حل ہوتے جائیں گے۔ البتہ بوٹ کو اسمارٹ بنانا ہی اصل کام ہے جو لگ کرکرنے والا ہے۔ لیکن اس کام میں کمپیوٹر سے واقفیت نہ رکھنے والے محفلین بھی مدد کرسکتے ہیں۔ وہ کیسے اس کی تفصیل ابھی آئے گی جب بوٹ کو سکھانے والی زبان کا ذکر کیا جائے گا۔ بوٹ بنانے کے لئے آپ کسی بھی زبان کو فوقیت دے سکتے ہیں۔ مثلا ہم نے یونیورسٹی میں پرو لوگ بھی پڑھی تھی ۔ جبکہ ایلس جس مارک اپ زبان کو استعمال کرتا ہے وہ نسبتا آسان ہے۔ یعنی AIML جو آرٹیفیشل انٹیلجنس مارک اپ لینگوئج کا مخفف ہے۔

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

پہلے تو ان محفلین کے لئے جو پروگرامنگ جانتے ہیں ایک پروگرام کا ذکر کرتے ہیں۔ پھر اگلے پیراگراف میں ان محفلین کے لئے جو پروگرامنگ کو نہیں جانتے ایک دوسرے پلیٹ فارم کا ذکر کیا جائے گا۔

جو محفلین پروگرامر ہیں اور بوٹ کو اپنی مشین پر سیٹ کرنا چاہتے ہیں تو ان کے لئے دو آپشن ہیں۔ زیادہ بھی ہوسکتے ہیں میرے علم میں ابھی دو ہیں۔ AIML کے لئے مختلف زبانوں کے انٹرپریٹر آتے ہیں۔ خود بھی بنایا جاسکتا ہے۔ جو ڈاٹ نیٹ پر کام کرنا چاہتے ہیں ان کے لئے AIMLbot کے نام سے ایک لائبریری موجود ہے۔ اور پی ایچ پی والوں کے Program-O کے نام سے ایک پورا بوٹ پروگرام موجود ہے۔ یہ کیوں کہ مکمل طور پر ایک بوٹ پروگرام ہی ہے اس لئے انسٹالیشن میں انتہائی آسان ہے البتہ دونوں میں مجھے جو مسئلہ نظر آیا وہ اردو کی مناسب سپورٹ کا نہ ہونا ہے۔ Program-O والوں کے مطابق وہ عربی کو بھی سپورٹ کرتا ہے لیکن خاکسار نے جو تھوڑا سا تجربہ کیا تو محسوس ہوا کہ اردو میں چل تو سکتا ہے البتہ اردو میں اسے لرننگ learning کرانا کافی مشکل ہے کہ جس طرح کی سپورٹ اس وقت تک ہے اس سے تو جملے صرف طوطے کی رٹوائے جاسکتے ہیں اسے ڈائنا مک بنانا مجھے تو بہرحال مشکل لگا۔ کچھ محنت کے بعد میں نے اسے بیس پچیس جملے سکھائے تھے جن میں سے دو چار ہی بمشکل ڈائنا مک کراسکا۔ اس کی انسٹالیشن بہرحال بہت آسان ہے کوئی محفلین اس پر تجربہ کرنا چاہیں تو ان کے لئے شئیر کردوں گا۔ سردست تو میں ایک دوسرے پلیٹ فارم کا ذکر کرتا ہوں جو اردو کے لئے بہت عمدہ ہے بہت آسانی سے اسے ڈائنامک سوالوں کے لئے سکھایا جاسکتا ہے۔

دوسرا پلیٹ فارم جس کا ذکر مقصود ہے اس میں آپ کا بوٹ مفت میں ایک بوٹ پلیٹ فارم ویب پر سیٹ ہوگا جہاں آپ اس کو کچھ سکھا کر جب چُنا مُنا سا بوٹ بات کرنے کے قابل ہوجائے تو اپنے دوستوں سے بھئی شئیر کرسکتے ہیں کہ وہ بھی اس سے باتیں کریں۔اور جب اس قابل ہوجائے کہ اسے اس ویب سائٹ سے آزاد کرکے اپنی ویب سائٹ پر لگایا جائے تو اسکی بھی سہولت موجود ہے کہ ایک API کے ذریعے اسے اپنی ویب سائٹ سے لنک کرادیں۔ سب سے پہلے تو Pandorabots.com پر جائیں اپنے جی میل یا فیس بک اکاونٹ سے لاگن ہو کر اپنا اکاونٹ بنالیں۔خیال رکھیں کہ بوٹ کی زبان اردو منتخب کرنی ہے۔ اکاونٹ بنتے ہی آپ کا ڈیش بورڈ آجائے گا جس میں چار ٹیب ہوں گے۔ سب سے پہلا تو اسی نام سے ہوگا جس نام سے آپ نے بوٹ رجسٹر کیا ہوگا اپنے اکاونٹ میں۔ دوسرا ٹیب Train کا ہوگا۔ جہاں ایک ٹیکسٹ باکس ہے جس پر Human لکھا ہے اور ساتھ ایک بٹن ہے Ask کا۔ ٹیکسٹ باکس میں اردو میں کوئی بھی سوال لکھیں مثلا ’’تم کون ہو‘‘ اور بٹن دبادیں۔ ابھی کیوں کہ بوٹ کو کچھ بولنا نہیں آتا تو وہ ایک رٹا رٹایا جملہ دہرائے گا کہ مجھے نہیں پتا۔ اسکے نیچے پھر ایک ٹیکسٹ باکس آرہا ہوگا۔ اس میں آپ وہ جملہ لکھ دیں جو آپ چاہتے ہیں کہ بوٹ اوپر لکھے گئے سوال کے جواب میں دہرائے۔ اور SayInstead کا بٹن دبا دیں۔ اب بوٹ نے کم از کم اس سوال کا جواب تو سیکھ لیا ہے۔ اب دوبارہ جب بھی بوٹ سے کوئی یہ سوال کرے گا تو بوٹ یہ جواب دے گا۔ اب اسے اس طرح سکھانا ہے کہ مختلف ایک طرح کے سوالوں کو وہ سمجھ کر اسی انداز میں جواب دے۔ اس کے لئے AIML کی ضرورت پڑے گی۔

AIML کو آپ اس ٹیوٹوریل سے سیکھ سکتے ہیں۔ بہت آسان ہے۔ البتہ کچھ انسٹال کرنے کی ضرورت نہیں کہ ہم نے اپنا بوٹ اوپر بتائی گئی سائٹ پر بنانا ہے اس لئے ہمیں صرف AIML کو سمجھنے کی ضرورت ہے نہ کہ کچھ انسٹال کرنے کی۔ یہاں صرف بطور تعارف ایک دو مثالیں دے رہا ہوں۔

کوڈ:
<aiml version="2.0"> 
<category>
<pattern>تم کون ہو</pattern>
<template>میں گڑیا ہوں</template>
</category
</aiml>
اب اسے سمجھتے ہیں۔AIML میں جب ہم بوٹ کو ایک جملہ سکھاتے ہیں تو وہ ایک category کہلائے گی۔ اگر دوسرا جملہ سکھایا تو وہ ایک الگ category میں جائے گا۔ اس طرح جتنے جملوں کے لئے بوٹ کی تربیت کریں گے اتنی ہی مختلف categories بنیں گی۔ ہر category کے لئے دو اہم Tags ہیں۔ ایک pattern اور ووسرا template۔ pattern میں تو آپ وہ سوال لکھیں گے جو دوسرے لوگ آپ کے بوٹ سے ممکنہ طور پر پوچھ سکتے ہیں اور template میں اس کا جواب جو آپ چاہتے ہیں کہ بوٹ دے۔ مثلا یہاں ہم نے پیٹرن دیا کہ ’’تم کون ہو‘‘۔ اور ٹیمپلیٹ میں لکھا کہ ’’میں گڑیا ہوں‘‘۔ اب جب بھی کوئی بندہ بوٹ سے ’تم کون ہو‘ پوچھے گا تو بوٹ کہے گی کہ ’میں گڑیا ہوں‘۔
یہ تو رٹا رٹایا سوال اور جواب ہوگیا۔ جبکہ مصنوعی ذہانت رٹائے جانے کا نام نہیں۔ اسے تھوڑا سا ڈائنامک بناتے ہیں۔ کوئی دوسرا بندہ یہ سوال اس ان الفاظ میں بھی کرسکتا ہے کہ ’’آپ کون ہیں‘‘۔ یہاں ’’تم‘‘ کی جگہ ’’آپ‘‘ اور ’’ہو‘‘ کی جگہ ’’ہیں‘‘ لکھا گیا ہے۔ الفاظ کا یہ پٹیرن تو گڑیا (ہمارے بوٹ کا نام) کی میموری میں نہیں ہے۔ اس لئے وہ جواب نہیں دے سکے گی۔ لیکن کیا ہم گڑیا کو اس طرح سوال کی مختلف شکلیں یاد کرائیں گے؟ اس کے لئے AIML میں دو مخصوص حروف استعمال ہوتے ہیں جو _ یعنی underscore اور * یعنی star ہیں۔ انہیں wildcards کہتے ہیں۔ اب ہم اس سوال کے لفظ "تم" کو "۔" اور اسی طرح "ہو" کو بھی "۔" سے بدل دیتے ہیں اس طرح۔

کوڈ:
<aiml version="2.0"> 
<category>
<pattern>_ کون _</pattern>
<template>میں گڑیا ہوں</template>
</category
</aiml>

اب پیٹرن یہ بن گیا کہ اگر سوال تین لفظی ہے اور پہلا اور آخری لفظ کچھ بھی ہو درمیاں کا لفظ اگر "کون" ہے تو گڑیا یہی جواب دے گی کہ میں گڑیا ہوں۔ اس میں پھر مذید ورائٹی ڈالی جاسکتی ہے کہ ہر بار گڑیا ایک ہی جواب نہ دے بلکہ بدل بدل کر دے مثلا کبھی کہہ دیا کہ میں گڑیا ہوں اور کبھی جواب دیا کہ مجھے گڑیا کہتے ہیں۔ اس کے لئے <li> کا ٹیگ استعمال ہوتا ہے۔ جتنے مختلف جواب ڈالنے ہیں وہ template کے ٹیگ کے اندر اتنے ہی li کے ٹیگ ڈال کر نئے نئے جواب داخل کرتے رہیں۔

اب ایک اور مثال دیکھتے ہیں۔ اسے star کے ٹیگ کے ذریعے ڈائنا مک بناتے ہیں۔
کوڈ:
<aiml version="2.0"> 
<category>
<pattern>میں رانا ہوں</pattern>
<template>کیسے مزاج ہیں</template>
</category>
</aiml>
فرض کریں سوال کرنے والے نے گڑیا کے جواب کے جواب میں یہ کہا کہ "میں رانا ہوں"۔ تو گڑیا جواب دے گی کہ کیسے مزاج ہیں۔ لیکن اگر گڑیا اگلے بندے کا نام لے کر جواب دے تو اسے واقعی ایسا محسوس ہوگا کہ وہ کسی سچ مچ کی جیتی جاگتی گڑیا سے بات کررہا ہے جو اس کو اسکے نام سے مخاطب کررہی ہے۔ اس کے لئے کرنا یہ ہوگا کہ جو سوال کا پیٹرن آپ نے بنایا ہے یعنی ’’میں رانا ہوں‘‘ اس میں رانا کی جگہ × (اسٹار) ڈال دیں اس طرح ’’میں * ہوں‘‘۔ اور template میں گڑیا کے جواب میں لکھ دیں ’’کیسے مزاج ہیں <star/>‘‘۔ تو اب گڑیا اسٹار والے لفظ کو اپنے جملے کے آخر میں اسی طرح دہرا دے گی۔ اور اگلے بندے کو لگے گا کہ جیسے گڑیا نے اسے اس کے نام سے سوچ سمجھ کر مخاطب کیا ہے۔

یہیں تک یہ آرٹیکل لکھا تھا۔ اس میں ابھی کافی تشنگی باقی ہے۔ لیکن شئیر کرنے کا مقصد یہی ہے کہ اگر کسی کو دلچسپی ہو تو وہ اس پر مزید کام کرسکے۔ اس میں ابھی نمونے کے طور پر AIML کے صرف دو Tags کی مثالیں دی گئی ہیں۔ ان کے علاوہ بھی کئی Tags ہیں جن کو استعمال کرکے بوٹ کو ٹرین کیا جاتا ہے۔ باقی کے ٹیگز اوپر جس ٹیوٹوریل کا لنک دیا گیا ہے وہاں سے سمجھے جاسکتے ہیں۔ زیادہ تفصیل سے اگر سمجھنا ہو تو ایلس کی ویب سائیٹ سے تمام ٹیگز کی تفصیل دیکھی جاسکتی ہے۔ ایلس نے تو اپنے بوٹ کا ٹریننگ ڈیٹا بھی ویب سائیٹ پر مہیا کردیا ہوا ہے۔ جس کی مدد سے انگریزی بوٹ بنانے والوں کو بہت آسانی ہے کہ اس میں تبدیلیاں کرکے اپنے مقصد کے لئے استعمال کرسکتے ہیں۔ البتہ اردو والے یہ فائدہ اٹھا سکتے ہیں ان کے انگریزی ٹریننگ ڈیٹا کو اسی طرح اردو میں لکھ دیا جائے یا اس کی مدد سے خود اردو کا ٹریننگ ڈیٹا تیار کیا جائے تو بوٹ کافی حد تک ٹرین ہوسکتا ہے۔

اوپر بوٹ سے سوال اور جواب کی جو مثالیں دی گئیں ہیں ان کو محفلین خود بھی گڑیا بوٹ سے بات کرکے چیک کرسکتے ہیں۔ تجرباتی طور ایک بوٹ جو خاکسار نے Gurya کے نام سے ہی اسی ویب سائیٹ پر بنایا تھا اس کا لنک یہ ہے۔ اس لنک پر جاکر سرچ باکس میں Gurya لکھیں تو آپ کے سامنے گڑیا بوٹ آجائے گا۔ اس کے سامنے Talk پر کلک کریں تو ایک ونڈو کھل جائے گی جس میں آپ اوپر مثال میں پیش کئے گئے سوالوں کو گڑیا بوٹ سے پوچھ کر ٹیسٹ کرسکتے ہیں۔ یہ خیال رہے کہ گڑیا بوٹ سے بات کرنے کے لئے اس ویب سائیٹ پر لاگن ہونا ضروری ہے ورنہ کوئی بھی بوٹ جواب نہیں دے گا۔ اپنی کسی بھی آئی ڈی جی میل یا فیس بک سے لاگن ہوسکتے ہیں۔
 
آخری تدوین:

SohaibAhmadu

محفلین
بھائی آج کل فیس بک پر بھی بوٹ کا لفظ ھی نہیں ھر دوسرا آدمی اسکو استعمال بھی کر رہا ھے
 
Top