Monday, May 13, 2019

Cycle2: Clean more - trial page


As reported in my last post I’ve got 12,332 crudely clean pages containing more than 5 Myanmar sentences. All of those pages need to have the titles (“== xxxx ==” or “=== xxxx ===”) removed, and more …
library(stringr)
length(str_count(xdoc_rb_mySenY_gt5, "==*.+==*.*\n"))
[1] 12332
I casually picked a number of pages from this collection and tried a number of cleaning actions, mostly in a learn as I go way. Nevertheless, that worked, I guess. I don’t think it is complete, and may be full of weaknesses. But here is how it went, with an example page. You certainly could have looked through them, add or subtract, and aboveall, improve!
test <- xdoc_rb_mySenY_gt5[9221]
This is the example page saved to a text file:
I saw that the whole {{Infobox …}} needs to be removed also.
test_infBoxN <- sub("\\{\\{Infobox(.+\n)+\\}\\}","",test)
After removing the “Infobox”, I removed all titles: “== xxxx == ” (title at beginning of line and ends with line break). Also removed bulleted lists.
testHeadN <- str_remove_all(test_infBoxN, regex("^==*.+==*.*\n", multiline=T)) %>%
  str_remove_all(., regex("^\\*.*[\u1040-\u1049]+.+\n", multiline = T))
Then, breaking up into sentences using the sentence boundary mark “။”.
[1] "'''နော့စကု လေကြောင်းလိုင်း ကုမ္ပဏီ လီမိတက် '''(နော့စကု) သည် [[ထိုင်းနိုင်ငံ]] အခြေစိုက် လေကြောင်းလိုင်း တစ်ခုဖြစ်ပြီး …"
[2] "နော့စကု လေကြောင်းလိုင်းသည် [[ထိုင်းနိုင်ငံ]] အခြေစိုက်[[ နော့ လေကြောင်းလိုင်း]] နှင့် [[စင်ကာပူနိုင်ငံ]] အခြေစိုက် [[စကု…"
[3] "ပထမဆုံး လေယာဉ်မှာ [[ဒွန်မောင်း အပြည်ပြည်ဆိုင်ရာလေဆိပ်|ဒွန်မောင်း လေဆိပ်]] မှ ၂၀၁၅ ခုနှစ် မေလ ၂၀ ရက်နေ့တွင် စတင်ခဲ့သ…"
[4] "<ref>[http://www.bangkokpost.com/business/tourism/549135/nokscoot-adds-stopgap-flight…"
[5] "နော့စကု လေကြေင်းလိုင်းသည် ခရီးရှည်များကို အဓိကထား ပျံသန်းပြီး ဘိုးရင်း ၇၇၇-၂၀၀ လေယာဉ်များဖြင့် ပျံသန်းလျက်ရှိသည်"  
[6] "<ref>{{Cite web|title=SIA's new Thai joint-venture carrier NokScoot cleared for take-…"
[7] "လေကြောင်းလိုင်း၏ ကနဦး ရင်းနှီးမြုပ်နှံမှုတန်ဖိုးမှာ ထိုင်းဘတ်ငွေ ၂ ဘီလျံဖြစ်သည်"                                 
[8] "<ref name=\"bangkokpost1\">{{Cite web|url=http://www.bangkokpost.com/business/aviatio…"
[9] "{| style=\"margin-bottom: 10px;\" class=\"wikitable sortable toccolours\"\n! style=\"…"
It seems logical to remove sentences that have high proportion of English compared to Myanmar characters. So I looked at the ratio of English to Myanmar characters = emR.pc.
en.n <- str_count(testSen, pattern = "[a-zA-Z]")
my.n <- str_count(testSen, pattern = "[\u1000-\u104f]")
emR.pc <- round(en.n*100/my.n,1)
May be it will be reasonable to take only “sentences” with emR.pc of less than 50%. Also removing file and image references.
testSen0 <- testSen[which(emR.pc<50)] %>%
  gsub("\\[\\[File:.+\\]\\]","",.) %>%
   gsub("\\[\\[Image:.+\\|","",.)
utf8::utf8_print(testSen0)
[1] "'''နော့စကု လေကြောင်းလိုင်း ကုမ္ပဏီ လီမိတက် '''(နော့စကု) သည် [[ထိုင်းနိုင်ငံ]] အခြေစိုက် လေကြောင်းလိုင်း တစ်ခုဖြစ်ပြီး …"
[2] "နော့စကု လေကြောင်းလိုင်းသည် [[ထိုင်းနိုင်ငံ]] အခြေစိုက်[[ နော့ လေကြောင်းလိုင်း]] နှင့် [[စင်ကာပူနိုင်ငံ]] အခြေစိုက် [[စကု…"
[3] "ပထမဆုံး လေယာဉ်မှာ [[ဒွန်မောင်း အပြည်ပြည်ဆိုင်ရာလေဆိပ်|ဒွန်မောင်း လေဆိပ်]] မှ ၂၀၁၅ ခုနှစ် မေလ ၂၀ ရက်နေ့တွင် စတင်ခဲ့သ…"
[4] "နော့စကု လေကြေင်းလိုင်းသည် ခရီးရှည်များကို အဓိကထား ပျံသန်းပြီး ဘိုးရင်း ၇၇၇-၂၀၀ လေယာဉ်များဖြင့် ပျံသန်းလျက်ရှိသည်"  
[5] "လေကြောင်းလိုင်း၏ ကနဦး ရင်းနှီးမြုပ်နှံမှုတန်ဖိုးမှာ ထိုင်းဘတ်ငွေ ၂ ဘီလျံဖြစ်သည်"                                 
I removed the hyperlink markers and other unneccessary characters:
testSen1 <- gsub("\\[\\[[^\u1000-\u104f]+\\]\\]","",testSen0) %>%
  gsub("\\[","",.) %>%
  gsub("\\]","",.) %>%
  gsub("['|]","",.) %>%
  gsub("\\(\\{\\{.+\\}\\}\\)","",.) %>%
  gsub("\\{\\{[A-Za-z]+ .*[A-Za-z]+\\}\\}\n+", "", .) %>%
  gsub("<.*>.+", "", .) %>%
  gsub("\n","", .) %>%
    .[which(nchar(.)>50)]
utf8::utf8_print(testSen1)
[1] "နော့စကု လေကြောင်းလိုင်း ကုမ္ပဏီ လီမိတက် (နော့စကု) သည် ထိုင်းနိုင်ငံ အခြေစိုက် လေကြောင်းလိုင်း တစ်ခုဖြစ်ပြီး ဘန်ကောက်မြို့၊ …"
[2] "နော့စကု လေကြောင်းလိုင်းသည် ထိုင်းနိုင်ငံ အခြေစိုက် နော့ လေကြောင်းလိုင်း နှင့် စင်ကာပူနိုင်ငံ အခြေစိုက် စကု လေကြောင်းလိုင်း တို့…"
[3] "ပထမဆုံး လေယာဉ်မှာ ဒွန်မောင်း အပြည်ပြည်ဆိုင်ရာလေဆိပ်ဒွန်မောင်း လေဆိပ် မှ ၂၀၁၅ ခုနှစ် မေလ ၂၀ ရက်နေ့တွင် စတင်ခဲ့သည်"     
[4] "နော့စကု လေကြေင်းလိုင်းသည် ခရီးရှည်များကို အဓိကထား ပျံသန်းပြီး ဘိုးရင်း ၇၇၇-၂၀၀ လေယာဉ်များဖြင့် ပျံသန်းလျက်ရှိသည်"  
[5] "လေကြောင်းလိုင်း၏ ကနဦး ရင်းနှီးမြုပ်နှံမှုတန်ဖိုးမှာ ထိုင်းဘတ်ငွေ ၂ ဘီလျံဖြစ်သည်"                                 
For now, it’s so far so good! All I need to do next seems to be to add the sentence boundary marks to complete the sentences.

No comments:

Post a Comment