اردو متن کی نارملائزیشن - Urdu Text Normalization

الف نظامی نے 'انفارمیشن ٹیکنالوجی کی دنیا' کی ذیل میں اس موضوع کا آغاز کیا، ‏دسمبر 5, 2019

  1. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    اردو متن کی نارملائزیشن
    Urdu Text Normalization
    اردو لینگوئج پراسیسنگ یا مشین لرننگ میں فراہم کردہ متن کی بہت اہمیت ہے جس کو استعمال سے قبل مختلف مراحل سے گزارا جاتا ہے جن میں سے ایک مرحلہ ٹیکسٹ نارملائزیشن ہے۔
    ٹیکسٹ نارملائزیشن کا عمل اردو متن پر مندرجہ ذیل کام کرتا ہے:
    • متن میں غلطیوں کو درست کرنا (پروف ریڈنگ)
    • غیر معیاری حروف کو معیاری حروف سے تبدیل کرنا
    • غیر ضروری الفاظ و حروف نکالنا
    • واوین کی یکسانیت
    متن میں غلطیوں کو درست کرنا (پروف ریڈنگ)
    مثلا :
    انشاء اللہ کو ان شاء اللہ
    آ نا کو آنا سے تبدیل کرنا
    جا نا کو جانا سے تبدیل کرنا
    وغیرہ وغیرہ​
    غیر معیاری حروف کو معیاری حروف سے تبدیل کرنا
    اکثر اوقات دئیے گئے متن میں عربی کی بورڈ کی مدد سے لکھا گیا متن موجود ہوتا ہے چند عربی حروف کی یونیکوڈ ویلیوز اور اردو حروف کی یونیکوڈ ویلیوز یکساں نہیں ہوتی جس کی وجہ سے سرچ کرنے میں مسائل آتے ہیں۔
    اس لیے دئیے گئے اردو متن کے تمام حروف کو اردو یونیکوڈ ویلیوز میں منتقل کرنا ضروری ہوتا ہے۔

    غیر ضروری الفاظ و حروف نکالنا
    متن سے غیر ضروری الفاظ اور حروف نکال دئیے جاتے ہیں
    مثلا:
    بسا اوقات اردو متن کا ماخذ ایچ ٹی ایم ایل ، ایکس ایم ایل یا جے سون فائلز ہوتا ہے لہذا متن سے ایچ ٹی ایم ایل ، ایکس ایم ایل ٹیگز وغیرہ نکال لیے جاتے ہیں

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

    واوین کی یکسانیت

    اردو میں چار طرح کی واوین استعمال ہوتی ہیں
    ” “
    ’ ‘
    " "
    ' '
    بسا اوقات یوں ہوتا ہے کہ متن موجود الفاظ یا جملے کے کسی حصے پر لگائی گئی واوین میں ابتدائی واوین اور اختتامی واوین ایک جیسی نہیں ہوتی
    مثلا:
    "نگۂ ناز
    صفحہ"
    متن کی یکسانیت کے لیے تمام واوین کو ایک ہی قسم کے واوین سے تبدیل کر دیا جاتا ہے
    مثلا یہ اصول طے کر لیا جائے کہ متن میں ہر جگہ واوین کے لیے ڈبل کوٹس استعمال ہوں گے
     
    آخری تدوین: ‏دسمبر 17, 2019
    • زبردست زبردست × 4
    • پسندیدہ پسندیدہ × 1
    • معلوماتی معلوماتی × 1
  2. ابو ہاشم

    ابو ہاشم محفلین

    مراسلے:
    794
    کیا اس کے لیے کوئی ٹول موجود ہے؟
     
    • معلوماتی معلوماتی × 2
    • پسندیدہ پسندیدہ × 1
  3. الف عین

    الف عین لائبریرین

    مراسلے:
    33,972
    جھنڈا:
    India
    موڈ:
    Psychedelic
    انٹرنیٹ موبائل پر ہی ہے آج کل اس لیے میں اس سلسلے میں اپنی رائے اب تک نہیں دے سکا اس لیے کہ مجھے ہر قسم کے واوین کی یونیکوڈ قدریں یاد نہیں۔ بہر حال میرا ذاتی خیال یہ ہے کہ وہی علامت استعمال نہ کی جائے جو انگریزی میں موجود ہے۔ اور جو دوہرے واوین استعمال کیے جاتے ہیں، ان کو ٹیکسٹ انجن (شاید) ایک حرف ہی سمجھتا ہے کہ ورڈ اسے املا کی غلطی قرار دیتا ہے یعنی دو حرفی لفظ پر ہی واوین ہو، اور وہ لفظ پروگرام کی لغت میں ہو، تب بھی اسے تین یا چار حرفی قرار دے کے غلطی دکھاتا ہے۔ تین حروف اس لیے بھی ممکن ہیں کہ اگر ایک طرف واوین سے پہلے یا بعد میں سپیس بھی کبھی کبھی دے دی جاتی ہے۔
     
    • معلوماتی معلوماتی × 2
    • پسندیدہ پسندیدہ × 1
    • متفق متفق × 1
  4. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    اضافہ:
    اس کے ساتھ ساتھ لفظوں سے تطویل ختم کرنا بھی ضروری ہے کیوں کہ اس کی موجودگی میں لفظ سرچ نہیں ہوسکتا۔
     
    • معلوماتی معلوماتی × 2
    • پسندیدہ پسندیدہ × 1
    • متفق متفق × 1
  5. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    اضافہ:
    موبائل میں لکھا ہوا ڈھیٹ قسم کا متن جس پر کوئی فونٹ اپلائی نہیں ہوتا، اسےبھی نارملائز کرنا ضروری ہے
    موبائل میں لکھا ہوا ڈھیٹ متن جو نستعلیق فونٹ میں درست نہیں دکھائی دیتا اور نسخ فونٹ میں بھی اس کی کھچڑی پکی ہوتی ہے
    ﻭﻩ ﺟﻨﮕﻞ ﺑﯿﺎﺑﺎﻥ ﻣﯿﮟ ﺍﭘﻨﯽ ﺳﻮﺍﺭﯼ ﭘﺮ ﺳﻔﺮ ﮐﺮ ﺭﮨﺎ ﺗﮭﺎ ﺍﺱ ﭘﺮ ﺍﺱ ﮐﺎ ﮐﮭﺎﻧﺎ ﭘﯿﻨﺎ ﺑﮭﯽ ﺗﮭﺎ

    اس قسم کے متن کو نارملائز کرنے کی مثال: پائتھون میں
    کوڈ:
    from urduhack.normalization import normalize
    text =" ﻭﻩ ﺟﻨﮕﻞ ﺑﯿﺎﺑﺎﻥ ﻣﯿﮟ ﺍﭘﻨﯽ ﺳﻮﺍﺭﯼ ﭘﺮ ﺳﻔﺮ ﮐﺮ ﺭﮨﺎ ﺗﮭﺎ ﺍﺱ ﭘﺮ ﺍﺱ ﮐﺎ ﮐﮭﺎﻧﺎ ﭘﯿﻨﺎ ﺑﮭﯽ ﺗﮭﺎ"
    normalized_text = normalize(text)
    print(normalized_text)
    
    
    اس کی آوٹ پٹ ہوگی:
    وہ جنگل بیابان میں اپنی سواری پر سفر کر رہا تھا اس پر اس کا کھانا پینا بھی تھا
    دوست
    الف عین
     
    آخری تدوین: ‏دسمبر 6, 2019
    • معلوماتی معلوماتی × 2
    • پسندیدہ پسندیدہ × 1
  6. الف عین

    الف عین لائبریرین

    مراسلے:
    33,972
    جھنڈا:
    India
    موڈ:
    Psychedelic
    ایک اور قسم کا متن بھی پایا جاتا ہے جس میں حروف کی ابتدائی درمیانی یا آخری کیریکترس کی اپنی یونی کوڈ قدریں دی جاتی ہیں، اسے اردو پروف ریڈر نارملائز کر دیتا ہے
     
    • معلوماتی معلوماتی × 2
    • پسندیدہ پسندیدہ × 1
  7. دوست

    دوست محفلین

    مراسلے:
    13,007
    جھنڈا:
    Germany
    موڈ:
    Fine
    یہ فنکشنیلٹی اردو ہیک میں شامل کروا دی جائے۔ ٹیکسٹ نارملائزیشن کا فنکشن تو ہو گا وہاں لازماً
     
    • پسندیدہ پسندیدہ × 2
  8. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    یہ پہلے سے شامل ہے۔ اس طرح کا متن نارملائز ہوجاتا ہے۔
     
    • معلوماتی معلوماتی × 1
  9. یاسر حسنین

    یاسر حسنین محفلین

    مراسلے:
    134
    جھنڈا:
    Pakistan
    موڈ:
    Dunce
    کوئی نستعلیق فونٹ اپلائی نہیں ہوتا البتہ کچھ عربی/ نسخ فونٹس اس قسم کے متن پر بھی کام کرتے ہیں۔
     
    • پسندیدہ پسندیدہ × 1
    • غمناک غمناک × 1
  10. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    اردو یا عربی میں نسخ لکھائی میں ایک ہی حرف کی مختلف اشکال ہوتی ہیں۔

    [​IMG]

    اکیلی شکل Isolated form
    ابتدائی شکل Initial form
    وسطی شکل Medial form
    آخری شکل Final form
    نسخ میں ایک حرف کی کل چار اشکال بنتی ہیں:
    isolated
    initial
    medial
    final
    جب کہ نستعلیق میں ایسا نہیں ہے۔ یہاں ہر حرف کی چار سے زیادہ شکلیں بن سکتی ہیں اسی وجہ سے ایسے متن پر نستعلیق فونٹ اپلائی نہیں ہوتا
    مثلا
    نستعلیق میں ’’ب‘‘ کی 14 مختلف شکلیں اور نشستیں بنتی ہیں جو شان الحق حقی صاحب نے اپنے ایک شعر میں جمع کردی ہیں:
    بل میں بلبل، بانس پہ بطخ، بوتل میں بیل، آب میں بندر
    بمبئی میں سبحان اللہ مچھلی ڈوبی بیچ سمندر

    جاسم محمد علوی امجد

    یونیکوڈ میں حرف کی اکیلی شکل ، ابتدائی شکل ، وسطی شکل اور آخری شکل کی علیحدہ علیحدہ یونیکوڈ ویلیوز ہیں۔

    کی بورڈ سے لکھتے ہوئے عموما حرف کی اکیلی شکل ہی لکھی جاتی ہے اور لے آوٹ انجن فونٹ سے حرف کے کانٹیکسٹ کے مطابق مطلوبہ شکل مہیا کرتا ہے
    اشکال کو تبدیل کرنے کا یہ عمل
    reshaping engine
    کی ذمہ داری ہوتی ہے۔

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

    لیکن سرچ کرتے ہوئے اس طرح کے متن کی تلاش مشکل ہوتی ہے۔
    لہذا نارملائزیشن کے عمل میں یہ ضروری ہوتا ہے کہ حرف کی ابتدائی ، وسطی اور آخری شکل کو آسولیٹیڈ فارم سے تبدیل کر دیا جائے۔
     
    آخری تدوین: ‏دسمبر 17, 2019
    • معلوماتی معلوماتی × 5
  11. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    14,742
    جھنڈا:
    Pakistan
    موڈ:
    Cool
    جن سسٹمز میں رائٹ ٹو لیفٹ زبان کی لے آوٹ اور ری شیپنگ کی صلاحیت نہیں ہوتی وہاں ایک جگاڑ یہ بنا لیا جاتا ہے کہ حرف کی اکیلی شکل یا آسولیٹیڈ فارم کے بجائے
    context
    کے مطابق حرف کی بننے والی شکل کی یونیکوڈ ویلیو لے آوٹ انجن کو فراہم کی جاتی ہیں اور اس طرح درست ڈسپلے ممکن ہوتا ہے۔

    محمد سعد دوست علوی امجد

    اس جگاڑ کی ایک مثال:
    pip install --upgrade arabic-reshaper
    کوڈ:
    import arabic_reshaper
    text_to_be_reshaped = 'نسخ نستعلیق'
    reshaped_text = arabic_reshaper.reshape(text_to_be_reshaped)
    print(reshaped_text)
    
    ان پٹ متن:
    نسخ نستعلیق
    آوٹ پٹ متن:
    ﻧﺴﺦ ﻧﺴﺘﻌﻠﯿﻖ
    آوٹ پٹ متن کے حروف کے درمیان سپیس شامل کرنے سے آپ کو معلوم ہوگا کہ ہر حرف کی context کے مطابق شکل تبدیل ہوگئی ہے
    ﻧ ﺴ ﺦ ﻧ ﺴ ﺘ ﻌ ﻠ ﯿ ﻖ

    نوٹ: اینڈرائیڈ میں حرف باز کی شمولیت کے بعد اس جگاڑ کی ضرورت نہیں رہی
     
    آخری تدوین: ‏دسمبر 17, 2019
    • معلوماتی معلوماتی × 4
  12. الف عین

    الف عین لائبریرین

    مراسلے:
    33,972
    جھنڈا:
    India
    موڈ:
    Psychedelic
    اردو پروف ریڈر یہ عمل بھی کر دیتا ہے۔ میں نے کئی قسم کے متون کا عظیم فلسفی سے کہا تھا، جس میں یونیکوڈ کا یہ سیٹ بھی شامل تھا
     
    • معلوماتی معلوماتی × 2
  13. علوی امجد

    علوی امجد محفلین

    مراسلے:
    300
    جھنڈا:
    Pakistan
    موڈ:
    Brooding
    لے آؤٹ انجنوں کی موجودہ دور میں ترقی کے بعد اب ضرورت ہے کہ عربیک یونی کوڈ کی بہت سی ویلیوز کو ختم کردینا چاہیئے۔ خصوصا عربیک پریزینٹیشن فارمز میں موجود حروف کی بننے والی اشکال کی ویلیوز کو اب انفرادی کوڈ کرنا ضروری نہیں رہا۔ اسی طرح اردو حروف کا نام دے کر "ک، ہ، ۃ اور ھ" کو علیحدہ ویلیوز دے دینا بھی غلط ہے۔ جس کے باعث اردو ٹیکسٹ کو نارملائز کرنا کافی دشوار ہوگیا ہے۔ پتہ نہیں یونی کوڈ والوں کو کس نے مشورہ دیا تھا کہ ان حروف کو اردو ویلیوز کا نام دے کر عربی سے مختلف قرار دے دیا جائے۔
     
    • پسندیدہ پسندیدہ × 1
  14. دوست

    دوست محفلین

    مراسلے:
    13,007
    جھنڈا:
    Germany
    موڈ:
    Fine
    لینگوئج ماڈلنگ میں زبان کا سراغ لگانا یونی کوڈ ویلیوز کی رینج کے ذریعے ذرا آسان ہو جاتا ہے۔
     
    • پسندیدہ پسندیدہ × 1

اس صفحے کی تشہیر