بوٹ ہماری مدد کرے گا۔

بوٹ ہماری مدد کرے گا۔

ایک سال پہلے، ہمارے پیارے HR ڈیپارٹمنٹ نے ہم سے ایک چیٹ بوٹ لکھنے کو کہا جو کمپنی میں نئے آنے والوں کو اپنانے میں مدد دے گا۔

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

پہلے ان مسائل کو بیان کرتے ہیں جن کو حل کرنا تھا۔

ڈویلپرز زیادہ تر انٹروورٹڈ لوگ ہوتے ہیں اور بات کرنا پسند نہیں کرتے؛ ای میل چیٹ میں اپنا سوال لکھنا بہت آسان ہے۔ بوٹ کے ساتھ، آپ کو یہ سوچنے کی ضرورت نہیں ہے کہ کس سے پوچھنا ہے، کس کو کال کرنا ہے، کہاں جانا ہے، اور عام طور پر، معلومات کہاں تلاش کرنی ہے اور آیا یہ متعلقہ ہے۔

دوسرا مسئلہ معلومات کا ہے - اس میں بہت کچھ ہے، یہ مختلف ذرائع میں ہے، یہ ہمیشہ دستیاب نہیں ہے اور اسے مسلسل اضافے اور اپ ڈیٹ کرنے کی ضرورت ہے۔

کمپنی کے تقریباً 500 ملازمین ہیں، وہ مختلف دفاتر، ٹائم زونز، روس کے شہروں اور یہاں تک کہ بیرون ملک بھی موجود ہیں، عام طور پر بہت سارے سوالات ہوتے ہیں، اس لیے ایک اور کام یہ ہے کہ اکثر پوچھے جانے والے سوالات سے وابستہ HR اہلکاروں پر بوجھ کو کم کیا جائے۔ ملازمین کی طرف سے.

اس کے عمل کو خودکار بنانا بھی ضروری تھا: نئے آنے والوں کا کمپنی میں شامل ہونا، نئے آنے والوں کے مینیجرز اور سرپرستوں کو پیغامات بھیجنا، کورسز اور ٹیسٹوں کے بارے میں خودکار یاددہانی بھیجنا جو ایک نئے آنے والے کو کامیاب موافقت کے لیے پاس کرنے کی ضرورت ہے۔

تکنیکی ضروریات کاروباری ضروریات کی بنیاد پر تشکیل دی گئیں۔

بوٹ کو Skype کی بنیاد پر کام کرنا چاہیے (تاریخی طور پر، وہ اسے کمپنی میں استعمال کرتے ہیں)، اس لیے Azura پر سروس کا انتخاب کیا گیا۔

اس تک رسائی کو محدود کرنے کے لیے، ہم نے Skype کے ذریعے اجازت دینے کا طریقہ کار استعمال کرنا شروع کیا۔
ParlAI لائبریری کو متن کی شناخت کے لیے استعمال کیا گیا تھا۔

کنفیگریشن، ٹریننگ، ڈیبگنگ، میلنگ سیٹ اپ اور دیگر کاموں کے لیے ایک ایڈمنسٹریٹو ویب پورٹل کی بھی ضرورت ہے۔

بوٹ ہماری مدد کرے گا۔

پراجیکٹ پر کام کرتے ہوئے ہمیں کئی مسائل اور مشکلات کا سامنا کرنا پڑا۔

مثال کے طور پر، Azure اکاؤنٹ میں تکنیکی مسائل تھے۔ Microsoft اپنی سروس میں کچھ تکنیکی دشواریوں کی وجہ سے ہماری رکنیت کو چالو نہیں کرنا چاہتا تھا۔ تقریباً دو ماہ تک ہم اس کے بارے میں کچھ نہیں کر سکے؛ بالآخر مائیکروسافٹ سپورٹ نے اپنا ہاتھ بڑھایا اور ہمیں شراکت داروں کے پاس بھیج دیا، جنہوں نے کامیابی سے سب کچھ ترتیب دیا اور ہمیں ایک اکاؤنٹ دیا۔

سب سے مشکل مرحلہ پروجیکٹ کا آغاز تھا، جب آپ کو یہ منتخب کرنے کی ضرورت تھی کہ ہم کیا استعمال کریں گے، فن تعمیر کیا ہوگا، ڈیٹا کیسے اور کہاں اسٹور کرنا ہے، اور سسٹم کے اجزاء اور ماڈیولز ایک دوسرے کے ساتھ کیسے تعامل کریں گے۔

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

یہ سلسلہ تقریباً چھ ماہ تک چلتا رہا۔ ہم صرف وقت کو نشان زد کر رہے تھے، کوڈ کو ری ایکٹر کر رہے تھے اور کچھ نیا نہیں لکھ رہے تھے۔

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

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

اب آئیے بوٹ کی فعالیت، فن تعمیر اور تکنیکی حل کے بارے میں مزید تفصیل سے بات کرتے ہیں۔

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

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

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

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

بوٹ ہماری مدد کرے گا۔

اجازت Skype - پورٹل-آتھورائزیشن سروس، کارپوریٹ نیٹ ورک اور LDAP کے ذریعے ہوتی ہے۔ اس طرح، اجازت کارپوریٹ نیٹ ورک پر موجودہ صارف کے ڈیٹا پر منحصر ہے۔

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

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

بوٹ ہماری مدد کرے گا۔

ہم نے بوٹ کی صارف دوست تربیت کے لیے پورٹل پر ایک UI لکھا۔ یہ HR کو بوٹ کی موجودہ تربیت کو دیکھنے، اسے مزید تربیت دینے اور موجودہ تربیت میں ایڈجسٹمنٹ کرنے کی اجازت دیتا ہے۔ تربیت کی نمائندگی درخت کی ساخت سے ہوتی ہے جس میں نوڈس، یعنی شاخیں، بوٹ کے ساتھ مکالمے کا تسلسل ہیں۔ آپ آسان سوالات اور جوابات بنا سکتے ہیں، یا آپ وزنی مکالمے بنا سکتے ہیں، یہ سب HR اور ان کی ضروریات پر منحصر ہے۔

حل فن تعمیر کے بارے میں چند الفاظ.

بوٹ ہماری مدد کرے گا۔

حل کا فن تعمیر ماڈیولر ہے۔ اس میں مختلف کاموں کے لیے ذمہ دار خدمات شامل ہیں، یعنی:
• Azure پر Skype bot سروس - صارف کی درخواستوں کو قبول اور اس پر کارروائی کرتی ہے۔ یہ کافی آسان سروس ہے جو سب سے پہلے درخواست وصول کرتی ہے اور اس کی ابتدائی پروسیسنگ کرتی ہے۔
• ایڈمن پورٹل - ایک ایسی خدمت جو پورٹل کو ترتیب دینے اور خود بوٹ کے لیے ایک ویب انٹرفیس فراہم کرتی ہے۔ بوٹ ہمیشہ پہلے پورٹل سے رابطہ کرتا ہے، اور پورٹل فیصلہ کرتا ہے کہ درخواست کے ساتھ آگے کیا کرنا ہے۔
• اجازت دینے کی خدمت - بوٹ اور ایڈمن پورٹل کے لیے تصدیقی طریقہ کار فراہم کرتی ہے۔ اجازت Oauth2 پروٹوکول کے ذریعے ہوتی ہے۔ مثبت اجازت کے ساتھ، سروس صارف کے درست ڈیٹا کے مطابق کارپوریٹ نیٹ ورک میں اجازت نامہ انجام دیتی ہے، تاکہ نظام مطابقت پذیر ڈیٹا سے منسلک غلطیوں کو کنٹرول کر سکے۔
• AI ٹیکسٹ ریکگنیشن ماڈیول، Python میں لکھا گیا اور ٹیکسٹ کی شناخت کے لیے ParlAI فریم ورک کا استعمال۔ یہ ایک نیورل نیٹ ورک ہے، کم از کم اس کے موجودہ نفاذ میں۔ ہم سوالات کو سمجھنے کے لیے tfDiff الگورتھم استعمال کرتے ہیں۔ ماڈیول اس کے ساتھ بات چیت کرنے اور سیکھنے کے لیے ایک API فراہم کرتا ہے۔

آخر میں، میں یہ کہنا چاہتا ہوں کہ چیٹ بوٹ بنانے کا یہ ہمارا پہلا تجربہ ہے، اور ہم نے اس سسٹم کو ہر ممکن حد تک آسان بنانے کی کوشش کی، لیکن ساتھ ہی ساتھ اس پر کم سے کم مزدوری کے اخراجات بھی۔ میرے خیال میں ہمارے پاس ایک بہت ہی دلچسپ پروڈکٹ ہے۔ اس کے اپنے تربیتی نظام، ایرر لاگنگ، نوٹیفیکیشن بھیجنے کے ساتھ، اسے کسی دوسرے میسنجر کے ساتھ بھی مربوط کیا جا سکتا ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں