Calm Hill My Random Thoughts

Language Processing And Text Corpus

Language Processing လုပ်မယ်ဆိုရင် လိုအပ်တာက နှစ်ခုရှိပါတယ် ပထမတစ်ခုက ကိုယ်လုပ်ချင်တဲ့ Processing Method ရယ် နောက်တစ်ခုက စမ်းသပ်ဖို့အတွက် Text Corpus လိုအပ်ပါတယ်။ Text Processing တွေဟာ တွက်ချက်တဲ့ Computing Cost များသလို အမှားလည်းများပါတယ် ကိုယ်သုံးနေတဲ့ Processing Method ဟာ Text ပမာဏနည်းနည်းမှာ အလုပ်လုပ်နေပေမယ့် များလာရင်တော့ အလုပ်မလုပ်နိုင်တော့တာတွေလည်း ရှိတတ်ပါတယ် တစ်ခါတစ်ရံမှာ မမျှော်လင့်တဲ့ အမှားတွေလည်း ထွက်လာတတ်ပါတယ် အဲဒါကြောင့် စမ်းသပ်ဖို့အတွက် Text Corpus ဟာမရှိမဖြစ်အရေးကြီးပါတယ်။ English Text Corpus တွေကတော့ အများကြီးရှိပါတယ် ဒါပေမယ့်သူတို့လည်း အခုအချိန်အထိ တိုးလိုက်ပြန်ပြင်လိုက်နဲ့ လုပ်နေကြရတာပါ။ အသုံးများတာတွေဆိုရင် American National Corpus, Bank of English, British National Corpus, Corpus Juris Secundum, Corpus of Contemporary American English, Brown Corpus, International Corpus of English, Oxford English Corpus, Scottish Corpus of Texts & Speech လိုဟာတွေရှိပါတယ် Data တွေလည်း ပမာဏအများကြီးဖြစ်သလို အချိန်ကြာလာနဲ့အမျှ ပြင်ဆင်မှု့ဆက်လုပ်တဲ့အတွက် အမှားတွေလည်း နည်းပါတယ်။ Text Corpus တစ်ခုဖြစ်ဖို့အတွက် အရေးအကြီးဆုံးက Text များများရှိဖို အရင်ဆုံးလိုအပ်ပါတယ် ရနိုင်တဲ့ Text တွေကို စနစ်တကျစုစည်းပြီး ထားလိုက်မယ်ဆိုရင် Plain Text Corpus ရနိုင်ပါတယ် အများအားဖြင့် အခုနောက်ပိုင်း Text Corpus ဟာ Structure တွေကို XML နဲ့ပဲပုံစံချထားတတ်ပါတယ် အရင်ကတည်းက စုထားတဲ့ Corpus ဖြစ်ရင်တော့ Text File တွေမှာ သူတို့သတ်မှတ်ထားတဲ့ သီးသန့် Structure တွေနဲ့ရှိတတ်ပါတယ်။ CNN, ABC စသည်ဖြင့် သတင်းဌာနတွေရဲ့ သတင်းတွေကို စုထားတဲ့ Text Corpus တစ်ခုကသုံးဖူးတယ် Structure ဟာ XML ဖြစ်တဲ့အတွက် Experiment လုပ်တဲ့အခါ Parse လုပ်ရလွယ်တာတွေ့ရပါတယ် Custom Structure တွေဆိုရင် သူ့အတွက်သီးသန့် ပြန်ပြီး Parse လုပ်ရတဲ့အတွက် နည်းနည်းအခက်အခဲရှိတတ်ပါတယ်။ Corpus တစ်ခုတည်ဆောက်ဖို့ ဘာတွေလိုမလဲစဉ်းစားရင် အရေးအကြီးဆုံးကတော့ Digitized လုပ်ပြီးသား Text တွေအဓိကလိုပါမယ် ဒီနေရာမှာ Format တွေလည်းအများကြီးဖြစ်နိုင်ပါတယ် Plain Text, PDF, HTML, Word, … စသည်ဖြင့်အစုံပါလာနိုင်တယ်။ ဒုတိယတစ်ဆင့်ကတော့ ရလာတဲ့ Raw Text တွေကို တူညီတဲ့ Format တစ်ခုအဖြစ်ကို Convert လုပ်ယူကြရပါတယ် ဒီနေရာမှာလည်း မူရင်း Text ကို Convert လုပ်တာမဟုတ်ပဲ Format ကိုသာ Convert လုပ်တာဖြစ်ပါတယ် မူရင်း Text ကိုမတတ်သာတဲ့ အခြေအနေမှသာပြင်ရပါတယ် မူရင်းကိုပြင်တယ်ဆိုတာ Corpus ရဲ့တန်ဖိုးကို ကျစေပါတယ်။ ပြီးရင်တော့ ရလာတဲ့ Text တွေကိုဘယ်လို Format နဲ့သိမ်းမလဲစဉ်းစားရမယ် အများအားဖြင့်အခုအချိန်မှာတော့ XML နဲ့ပါသိမ်းပါတယ် အရင်ကနဲ့မတူတာက အခုအချိန်မှာ Corpus တွေဟာ ဘာသာစကား အမျိုးမျိုးဖြစ်လာတဲ့အတွက် Encoding ကိုပါစဉ်းစားဖို့လိုပါမယ်။ ဒီအဆင့်မှာ Raw Text တွေကို ဘယ်လောက်အထိ သိမ်းမလဲ မလိုအပ်တဲ့အရာတွေကို ဖယ်ဦးမလား တစ်ခါတည်းစဉ်းစားရမယ် ဥပမာဆိုရင် HTML ဆိုရင် HTML Tag တွေအကုန်ပယ်မှာလား PDF ဆိုရင်လည်း File Attribute တွေထဲမှာ အသုံးဝင်တဲ့ Meta Data တွေပါပါတယ် အဲဒါတွေကို ထားခဲ့မှာလား အကုန်လုံးသိမ်းမလား တစ်ခါတည်စဉ်းစားရမယ် နောင်တစ်ချိန်မှ ပြန်လိုချင်လို့မရပါဘူး Convert လုပ်နေတဲ့အဆင့်ဟာ Computing Cost များဆုံးအဆင့်ဖြစ်ပါတယ်။ ချင့်ချိန်ဖို့တော့လိုပါတယ် မလိုပဲသိမ်းရင်လည်း Storage Cost ဟာလည်းတက်လာနိုင်ပါတယ်။ ဒီအဆင့်ကိုကျော်ရင်တော့ Plain Text Corpus တစ်ခုရပါပြီ။ ဒီနေရာမှာလည်း ခြေခံအချက်အလက်တွေ တိုင်းတာပြီးသားတော့ လိုပါသေးတယ် Characters Count, Words Count, Document Count စသည်ဖြင့် Statistic တွေလိုပါတယ် ဒါတွေကတော့ တိုင်းတာရမခက်ပါဘူး။ Plain Text Corpus ရှိပြီဆိုရင်တော့ အဲဒါကိုအခြေခံပြီးတော့ အခြားသော Text Corpus တွေကိုတစ်ဖြည်းဖြည်း လုပ်ယူလို့ရပါတယ် တည်ဆောက်ရတာ လက်ဝင်သလိုအချိန်လည်းကြာပါတယ် ဒါပေမယ့် Corpus ရဲ့အရည်အသွေး ကောင်းမှသာလျင် ကိုယ်လုပ်ချင်တဲ့ Text Processing ရဲ့ရလာဒ်ကို အကောင်းဆုံးသိနိုင်ပါတယ်။ Plain Text Corpus, Parts of Speech Tagged Copus, Parsed Cropus, Lexical Corpus လိုဟာတွေရှိမှသာ Machine Understanding Research တွေလုပ်လို့အဆင်ပြေပါတယ်။ အဲလိုမရှိရင် ကိုယ်ဘာပဲလုပ်လုပ် စမ်းသပ်ပြီးတိုင်းတာပြစရာ Quantitative Data ပြစရာမရှိဘူး။ Text တွေအများကြီးမပါပေမယ့် NLTK လို Tools တွေမှာလည်း ကိုယ်ပိုင်တည်ဆောက်ထားတဲ့ Corpus အမျိုးမျိုးကို တွေ့နိုင်ပါတယ်။ ဗမာစာလည်း Corpus တွေရှိသင့်တယ် ဒါပေမယ့် ပြဿနာကအများကြီးရှိတယ် Raw Text တွေဘယ်ကရနိုင်မလဲ စဉ်းစားရမယ်။ အင်တာနက်မှာ ဗမာလိုတွေ အများကြီးလို့ပြောကောင်းပြောမယ် ဒါပေမယ့် အတော်များများက ဇော်ဂျီတွေနဲ့ရေးထားတယ် အဲဒီတော့ Corpus ဆိုတာက ရလာရင် Analysis လုပ်မှာပါ အဲဒီတော့ Analysis လုပ်မယ့်လူက ကိုယ်ရတဲ့ Idea ကိုအကောင်အထည် မဖော်နိုင်ပဲ ရိုက်ချင်သလို ရိုက်ထားတဲ့ စာတွေကိုပြဿနာရှင်းနေရရင် ဘယ်လိုမှရှေ့ဆက်လို့ မဖြစ်နိုင်ပါဘူး။ အဲဒီတော့ အဲဒီ့ Raw Text တွေကို စနစ်တကျ Standard ဖြစ်အောင် ပြန်ပြောင်းမလားလို့ စဉ်းစားရမယ် မရှိသုံးအတွက်ကတော့ ဖြစ်နိုင်ပါတယ်။ ဒါပေမယ့် မူရင်းကို ပြင်ရမှာဖြစ်လို့ Corpus Quality ဟာအလွန်ကျသွားပါမယ် နောက်ပြီးတော့ Converter တွေရဲ့အမှားတွေကြောင့် ပိုမှားတာတွေလည်း ထပ်ပါလာပါဦးမယ်။ အဲဒီတော့ Unicode နဲ့ရေးထားတဲ့ Website တွေကဆိုရင်ရောဆိုလည်း ဒီလိုအခက်အခဲက ရှိနေဆဲပါပဲ အများစုက ယူနီကုဒ်နဲ့ပဲပြောပါစေ မူလကတည်းက အဲဒါနဲ့ရေးခဲ့တာမဟုတ်တော့ Converter ပြဿနာတွေက အပုံလိုက်ပါနေတာပါပဲ။ နောက်တစ်နှစ်လောက်ဆိုရင်တော့ Convert လုပ်ထားတဲ့ဟာတွေ မဟုတ်ပဲမူရင်းတွေ များလာနိုင်တယ်မျှော်လင့်ရမှာပါပဲ တစ်ချိန်ချိန်တော့ ဗမာစာ Corpus တစ်ခုတော့ ဖြစ်လာနိုင်မယ်ထင်ပါတယ်။