اردو ٹیکسٹ آٹو سمرائزر ۔ ایم سی ایس کے فائنل پروجیکٹ کی تلخیص (بارہویں سالگرہ)

رانا

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

تو یہاں ہم اپنے اسی کام کی تلخیص پیش کرنے لگے ہیں۔ اس سے دیگر محفلین کو یہ اندازہ ہوگا کہ اردو میں کئی اہم کام اور پروجیکٹس محض شماریاتی الگورتھمز کی مدد سے بھی ہوسکتے ہیں۔ بلکہ ہم نے تو ایک سادہ سا الگورتھم استعمال کیا تھا جبکہ مزید ایڈوانس الگورتھم استعمال کرکے زیادہ بہتر پروجیکٹس بنائے جاسکتے ہیں۔ جب ہم نے اس حوالے سے سرچ کی تو پتہ لگا کہ سن ۲۰۰۸ میں تفسیر احمد اور صدف علوی بھی ایک سمرائزر بناچکے ہیں۔ لیکن اسکی مزید کوئی تفصیلات نہ مل سکیں کہ نہ تو کہیں اس کا ڈاون لوڈ لنک موجود تھا اور نہ اس کا الگورتھم۔ البتہ کہیں سے یہ اندازہ ہوا تھا کہ وہ وی بی سکس میں ایک الگ پروگرام کی طرز پر بنایا گیا ہوگا۔

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

الگورتھم کا تعارف
Sentence Weight Algorithm
یہ ایک شماریاتی طریقہ ہے جس میں متن کے ہر جملے کو ایک رینک یا وزن دیا جاتا ہے۔ جس کی بنیاد پر متن میں ہر جملے کی اہمیت کا تعین کیا جاتا ہے۔ اس طریقے کو ترجیح دینے کی ایک وجہ یہ تھی کہ اس وقت تک مائکروسافٹ ورڈ بھی اسی الگورتھم کو اپنے فیچر میں استعمال کررہا تھا۔ اس طریقے میں اسٹاپ ورڈز اور کونٹینٹ ورڈز استعمال ہوتے ہیں۔

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

کونٹینٹ ورڈز
یہ ایسے الفاظ ہوتے ہیں جو مضمون کی جان ہوتے ہیں اور واضح معنی رکھتے ہیں ۔ یہ کسی بھی جملے کے کلیدی الفاظ ہوتے ہیں اور جملے کے مضمون اور مفہوم کا تعین کرتے ہیں۔ اگر جملے میں سے کونٹینٹ ورڈز نکال دئیے جائیں تو متن میں سے کوئی بھی معنی اخذ نہیں کئے جاسکتے۔

ایک مثال
پاکستان ایک اسلامی ملک ہے اور قدرتی وسائل سے مالا مال ہے۔
اس جملے میں سبز رنگ کے الفاظ کونٹینٹ ورڈز ہیں اور سرخ رنگ کے الفاظ اسٹاپ ورڈز ہیں۔

کسی جملے کا وزن یا رینک اخذ کرنے کا طریقہ
  • پہلے متن میں موجود تمام الفاظ کو شمار کرنا
  • پھر تمام اسٹاپ ورڈز کو تلاش کرنا
  • متن کے کل الفاظ کے میزان میں سے اسٹاپ ورڈز کو منہا کرکے کونٹینٹ ورڈز کا میزان حاصل کرنا
  • ہر جملے کی الگ الگ کونٹینٹ الفاظ کی فیصد نکالنا (کونٹینٹ الفاظ کو کل الفاظ پر تقسیم کرکے سو سے ضرب کردیں)
  • فیصد کی بنیاد پر جملوں کو ترتیب دینا
  • اب جتنے جملوں پر مشتمل خلاصہ درکار ہے اسی ترتیب سے اتنے جملے منتخب کرلینا۔
  • خلاصہ تیار ہے۔
فارمولا
کوڈ:
Sentence Weight

SWt  = (CWd / TWd) * 100

SWt : Weight of a single sentence
CWd : No. of content words in a sentence
TWd : Total words in a sentence

Content Words

CWd = TWd - STWd

STWd  : No. of stop words in a sentence

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

Summarizer_zpsurmffg3k.jpg

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

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

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

اس کام کا اصل کریڈٹ سر بدر سمیع کا ہی ہے کیونکہ اس پلگ ان کا خیال بھی ان کا تھا اور الگورتھم بھی انہوں نے ہی بتایا تھا ہم نے تو صرف ان کے بتائے ہوئے خطوط پر ڈیویلپمنٹ کی تھی۔
 
آخری تدوین:

رانا

محفلین
زبر دست! کیا اس کا ڈاؤن لوڈ لنک مل سکتا ہے؟
ابھی تک تو کہیں اپ لوڈ نہیں کیا۔ بناکر ڈپارٹمنٹ کو جمع کرادیا تھا۔ کبھی تسلی سے فرصت ملی تو اسے گرد وغبار سے جھاڑ کر ورڈ کے نئے ورژن کے ساتھ مطابقت پیدا کرکے کہیں اپ لوڈ کرنے کی کوشش کریں گے۔ :)
 

MindRoasterMirs

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