NLP ဆိုတာ ဘာလဲ[ If you can’t see the fonts, you can see the screenshot at http://imgur.com/a/FOEn3. Apologies for any inconvenience ]

NLP ဆိုတာဘာလဲ ?

အခုနောက်ပိုင်းနည်းပညာလောကထဲမှာ NLP ဆိုတာ အတော်လေးကျယ်ကျယ်လောင်လောင် ကြားလာရပါတယ်။ UCSY ရဲ့နောက်ဆုံးနှစ်သင်ရိုးမှာ NLP ကို Artificial Intelligence နဲ့တွဲပြီးသင်ရိုးပြဌာန်းလိုက်ပြီဖြစ်ပါတယ်။ NLPရဲ့ အရှည်က Natural Language Processing ပါ။ အလွယ်ဆုံးနားလည်အောင်ပြောရရင် လူတွေပြောနေရေးနေတဲ့ဘာသာစကားတွေကို ကွန်ပျူတာကနားလည်အောင်လုပ်တဲ့နည်းပညာဟာ NLP ပါပဲ။ကျောင်းသားတွေအတွက်အမြင်သာဆုံးသော NLP Product ကိုပြပါဆိုရင် Google ရဲ့ Google Translate နဲ့Google Voice Search ကိုပြပါမယ်။ NLP ကို Artificial Intelligence နဲ့ရောသင်ရတဲ့အကြောင်းကတော့ AI မှာသင်ရမယ့် theory တွေကိုNLP မှာပြန်လည်အသုံးချရမှာမို့လို့ပါ။ NLPနည်းပညာတွေကိုအသုံးချနိုင်တဲ့နေရာတွေကတော့

  • Text Mining — Text တွေထဲကနေ Pattern တွေပြန်ရှာတာပါ။ ဥပမာ Youtube က video တခုအောက်မှာရေးထားတဲ့ comment တွေကနေဒီ video ကိုလူတွေဘယ်လိုမြင်လဲ။ လူကြိုက်များလား။ နည်းလားစတာတွေကိုလူကတကြောင်းချင်းစီလိုက်ဖတ်စရာမလိုဘဲကွန်ပျူတာကနေ Automatic Text Analysis လုပ်နိုင်ပါတယ်။ (Text Mining Application တွေအများကြီးရှိပါသေးတယ်။ အရမ်းရှည်သွားမှာစိုးလို့မရေးတော့ပါဘူး)
  • Information Retrieval — Google Search ဟာအကောင်းဆုံးသော IR Application ပါ။သိမ်းထားတဲ့ document တွေအများကြီးထဲကနေ user ရှာတဲ့အရာကို အကောင်းဆုံးသောအမှန်ကန်ဆုံးသောရလဒ်ကို ပြပေးရတာပါ။
  • Information Extraction — IE ကတော့ Text ထဲကနေ ကိုယ်လိုချင်တဲ့အချက်အလက်ကိုပဲ ဆွဲထုတ်တာပါ။ဥပမာအလွယ်လေးပေးရရင် ငလျင်သတင်းအရှည်ကြီးတပုဒ်ထဲကနေ ငလျင်လှုပ်တဲ့နေရာ၊ အချိန်၊ ရစ်ချ်တာစကေးတွေကိုပဲဆွဲထုတ်တာပါ။
  • Machine Translation — ဥပမာကတော့ Google Translate ပါပဲ။ ကိုယ် input သွင်းလိုက်တဲ့ဘာသာစကားကနေ ကိုယ်လိုချင်တဲ့ဘာသာစကားကို ပြောင်းပေးတာပါ။
  • Speech Recognitio — Google Voice Search ပါ။ လူတွေကပြောလိုက်တဲ့ဘာသာစကားကို စက်ကနားလည်အောင်လုပ်ပေးတဲ့ နည်းပညာပါ။
  • Text To Speech — လူတွေရိုက်ထည့်လိုက်တဲ့စာတွေကို စက်ကအလိုအလျောက်အသံထွက်ပြန်ဖတ်ပေးတာပါ။ ခဝဲခြံမျက်မမြင်ကျောင်းအတွက် Myanmar Text To Speech Team ကရေးထားတဲ့ Software ရှိပါတယ်။
  • Speech To Text — မြန်မာဘာသာအတွက်များရခဲ့ရင် ပိုက်ဆံဘယ်လောက်ပေးရပေးရဝယ်သုံးမှာပါ။ :P (စာရိုက်ရမှာပျင်းလွန်းလို့ xD) လူတွေပြောလိုက်တဲ့စကားကနေ Text ပြန်ပြောင်းပေးတာပါ။
  • Text Summarization — စာတွေအများကြီးကနေမလိုအပ်တဲ့၊ ထပ်နေတဲ့အချက်အလက်တွေဖယ်ပြီး အနှစ်ချုပ်ပေးတာပါ။
  • Question and Answering Systems — user က အချက်အလက်တခုခုသိချင်လို့ဖြစ်ဖြစ်၊ မေးခွန်းတခုမေးလိုက်ရင်ဖြစ်ဖြစ် Auto Reply ပြန်ပေးတာပါ။

ဒီလိုကြီးမားတဲ့ Application တွေမှာဖြစ်လာဖို့ NLP လုပ်ငန်းစဉ်တွေ အများကြီးလုပ်ဆောင်ရပါတယ်။ အခက်အခဲတွေစိန်ခေါ်မှုတွေအများကြီးလည်းရှိပါတယ်။

အားလုံးသိပြီးသားဖြစ်တဲ့ Zawgyi/Unicode ပြဿနာဟာဆိုလည်း Myanmar NLP အတွက် အခက်အခဲတခုအဖြစ်ရှိနေဆဲပါ။ NLP လုပ်ငန်းစဉ်တွေ တိတိကျကျမှန်မှန်ကန်ကန်ရလဒ်ထွက်ဖို့အတွက်ကတော့ Unicode စံစနစ်ကိုလိုက်နာတဲ့ဖောင့်တွေနဲ့သာအလုပ်လုပ်ရမှာဖြစ်ပါတယ်။ 
 အခြေခံအကျဆုံး NLP လုပ်ငန်းစဉ်တွေအကြောင်း ဆက်ရှင်းပြပါမယ်။ English ဘာသာအတွက်ကတော့အောက်မှာဖော်ပြထားတဲ့ NLP Basic Step တွေအတွက် open source tool တွေရရှိနိုင်ပါတယ်။

(၁) Word Segmentation

ဝါကျတစ်ကြောင်းကို word တွေအဖြစ် ဖြတ်ထုတ်တဲ့လုပ်ငန်းစဉ် ဖြစ်ပါတယ်။ အနာက်တိုင်းဘာသာစကားတွေကတော့ အခက်အခဲသိပ်မရှိလှပါဘူး။ Space နဲ့ ဖြတ်ထုတ်လိုက်လို့ရပါတယ်။

Example: I live in Yangon ဆို I, live, in, Yangon ဆိုတဲ့စာလုံးလေးလုံးရပါမယ်။

အရှေ့တိုင်းဘာသာစကားတွေဖြစ်တဲ့ မြန်မာ၊ ထိုင်း၊ တရုတ်တို့အတွက်ကတော့ Word Segmentation အဆင့်မှာစိန်ခေါ်မှုရှိနေပါသေးတယ်။

Example: ကျွန်မရန်ကုန်မှာနေတယ်။ 
 Result က

(၁) ကျွန်မ-ရန်ကုန်-မှာ-နေတယ်။ (၂) ကျွန်မ-ရန်ကုန်မှာ-နေတယ်။

Result နှစ်ခုဖြစ်လာနိုင်ပါတယ်။ 
 Result (၁)ဟာ Word Level ခွဲထားတာဖြစ်ပြီး (၂)ကတော့ Phrase Level ဖြစ်ပါတယ်။ “ရန်ကုန်”ဆိုတဲ့စကားလုံးနဲ့ “မှာ” ဆိုတဲ့ နေရာပြပုဒ်ကိုကပ်ထားပါတယ်။

(၂) Stemming

Root Word ကိုရှာတဲ့လုပ်ငန်းစဉ်ပါ။ ဥပမာပြောရရင် went ရဲ့ root word က go ပါ။ students ရဲ့ root word က student ပါ။ မြန်မာစာအတွက်ဆို “ကျောင်းသားများကျောင်းသို့သွားခဲ့သည်” ဆိုတဲ့ဝါကျမှာ root word တွေလိုက်ရှာရင် “ကျောင်းသား”၊ “ကျောင်း” နဲ့ “သွား” ဆိုတဲ့စကားလုံး၃လံုး ရရှိပါမယ်။

(၃) Part of Speech Tagging

စကားလုံးတွေကို သက်ဆိုင်ရာဝါစင်္ဂတွေနဲ့လိုက်တွဲပေးတဲ့အလုပ်ပါ။ Example: I live in Yangon ဆို I — Pronoun live — Verb in — Preposition Yangon — Noun

ဆိုပြီး word တခုချင်းစီကို tag လိုက်လုပ်ပေးတာပါ။


Originally published at www.myanmarcoders.org on November 19, 2016.