OpenThaiGPT / openthaigpt-pretraining

Apache License 2.0
21 stars 10 forks source link

Internet Cleaning [LM-225] #324

Closed boss-chanon closed 1 year ago

boss-chanon commented 1 year ago

Why this PR

Clean data from internet by

Changes

Related Issues

Close #

Checklist

linear[bot] commented 1 year ago
LM-225 Improve Internet Data Cleaning Pipeline

Rationale: [image.png](https://uploads.linear.app/03a3f0b5-8e51-4d0f-918c-59e891b8184f/e73f27cb-23c2-4fb4-9797-cb95d75a9550/980ee771-8248-40fe-8b68-d680b647031a) Example of a document that should be removed/partially removed * Too Short ``` {"text": "ได้ที่", "created_date": "2021-11-28T11:42:21Z", "source": "oscar_colossal_11-12-21", "source_id": "897549", "meta": "{'url': 'http://www.dungdong.com/?1243043', 'quality_warnings': ['tiny']}", "updated_date": "2023-10-01T22:05:29.399528Z"} ``` ``` {"text": "กระหึ่มโลก!! ดอร์น่าสปอร์ตนำนักบิดโมโตจีพี-นักบิดไทย ทำกิจกรรม Pre-Event สร้างไวรัลใหม่ “โมโตจีพี VS มวยไทย”", "created_date": "2023-06-05T14:25:24Z", "source": "oscar_colossal_05-06-23", "source_id": "4", "meta": "{'url': 'http://www.ubonder.com/%E0%B8%A3%E0%B8%B2%E0%B8%A2%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%99%E0%B8%B1%E0%B8%81%E0%B9%80%E0%B8%95%E0%B8%B0-11-%E0%B8%84%E0%B8%99%E0%B9%81%E0%B8%A3%E0%B8%81-%E0%B8%A7%E0%B8%B1%E0%B8%99/img_2439-copy-3/', 'quality_warnings': ['tiny']}", "updated_date": "2023-06-05T14:25:24Z"} ``` * Cookie Warning ``` {"text": "เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า\nคุณสามารถเลือกการโดยเปิด ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น", "created_date": "2023-06-05T14:39:00Z", "source": "oscar_colossal_05-06-23", "source_id": "73", "meta": "{'url': 'https://www.tam-eig.com/%E0%B8%95%E0%B8%A5%E0%B8%B2%E0%B8%94%E0%B9%84%E0%B8%A1%E0%B9%88%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD-fed-%E0%B8%88%E0%B8%B0%E0%B8%A2%E0%B8%B1%E0%B8%87%E0%B9%84%E0%B8%A1%E0%B9%88%E0%B8%82%E0%B8%B6%E0%B9%89%E0%B8%99%E0%B8%94%E0%B8%AD%E0%B8%81%E0%B9%80%E0%B8%9A%E0%B8%B5%E0%B9%89%E0%B8%A2-%E0%B8%A5%E0%B8%87%E0%B8%97%E0%B8%B8%E0%B8%99%E0%B9%84%E0%B8%87%E0%B8%94%E0%B8%B5/', 'quality_warnings': ['tiny']}", "updated_date": "2023-10-01T17:41:19.681372Z"} ``` ``` {"text": "เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของท่าน โดยการเข้าใช้เว็บไซต์นี้ถือว่าท่านได้อนุญาตให้เราใช้คุกกี้ตาม นโยบายคุกกี้", "created_date": "2023-06-05T13:32:05Z", "source": "oscar_colossal_05-06-23", "source_id": "66", "meta": "{'url': 'https://www.onesqa.or.th/th/career-view/914/264/', 'quality_warnings': ['tiny']}", "updated_date": "2023-06-05T13:32:05Z"} ``` * No Meaningful Information/Generic Footer * Tips: Whitespace count per total character may help (เราทำแล้ว [https://github.com/OpenThaiGPT/openthaigpt-pretraining/tree/main/src/data/openthaigpt_pretraining_data/internet/oscar](https://github.com/OpenThaiGPT/openthaigpt-pretraining/tree/main/src/data/openthaigpt_pretraining_data/internet/oscar) แต่อาจจะลองปรับ thresold ดู) * Tips2: Special character count per total character may help ``` {"text": "นนี้ จาก: 5 วันที่แล้ว จาก: 10 วันที่แล้ว จาก: 20 วันที่แล้ว จาก: 50 วันที่แล้ว จาก: 75 วันที่แล้ว จาก: 100 วันที่แล้ว จาก: ปีที่แล้ว จาก: ตั้งแต่เริ่มต้น\nการเล่นหวยมีความเสี่ยง โปรดใช้วิจารณญาณในการบริโภคข้อมูล ทางชมรมหวยบนดิน ไม่สนับสนุนการกระทำใดๆที่ไม่ถูกต้องตามกฏหมาย", "created_date": "2023-06-05T13:01:24Z", "source": "oscar_colossal_05-06-23", "source_id": "59", "meta": "{'url': 'https://www.huaybondin.net/forum-23-page-12.html', 'quality_warnings': ['short_sentences']}", "updated_date": "2023-10-01T17:41:19.271696Z"} ``` ``` {"text": "Powered by Vision Net, 1995 - 2010 Contact Staff : กองทะเบียนและประมวลผลการศึกษา โทรศัพท์ 038-102715-29", "created_date": "2021-11-28T18:42:41Z", "source": "oscar_colossal_11-12-21", "source_id": "897502", "meta": "{'url': 'https://reg.buu.ac.th/registrar/graduate_date.asp?cmd=1&campusid=1&levelid=13&facultyid=1&programid=4101077&acadyear=2557&avs314959708=1&semester=3', 'quality_warnings': ['tiny']}", "updated_date": "2021-11-28T18:42:41Z"} ``` ``` {"text": "เว็บประกาศฟรี โพสฟรี รองรับ SEO ประกาศขายสินค้า โพสฟรีติด google โพสฟรีออนไลน์ ซื้อขายแลกเปลี่ยน สินค้าใหม่หรือมือสอง ประกาศขายบ้าน ขายรถ.ลงประกาศฟรีออนไลน์ โพสฟรี โพสต์ขายของฟรี ลงโฆษณาสินค้าฟรี โฆษณาสินค้าฟรี สมัครสมาชิก ขายรถมือสอง แหล่งรวมของสะสม มากมายให้เลือกซื้อขาย", "created_date": "2023-06-05T14:15:47Z", "source": "oscar_colossal_05-06-23", "source_id": "20", "meta": "{'url': 'https://kaisod.com/index.php?PHPSESSID=38rrhcto0bhv6mnepgi94a5iij&action=profile;u=140', 'quality_warnings': ['tiny']}", "updated_date": "2023-06-05T14:15:47Z"} ``` ``` {"text": "TEDDY รถเช่า เชียงใหม่ ที่นี่เท่านั้น เช่า รถตู้ขับเอง Hyundai H1 and Commuter D4D The VIP Van Self drive only one at Chiangmai Luxury Limousine โทรหาเรา 08-33252533\nบริการ รถตู้ เช่า เหมา ราคาถูก ขับดี ประหยัดน้ำมัน ไปเที่ยว ไปงาน เช่ารถตู้ เหมารถตู้ ไปงานบวช งานแต่ งานศพ ทั่วไทย\nidไลน์ sutee789456 คุยดีพุดจาดีครับ ชื่อ สุธี ครับ\nบริการเช่ารถตู้ Alphard VIP 2015\nToyota Alphard 2015 สีดำ สวยหรู ดูสมาร์ท - กันชนหน้าสวย ครั้งนี้มาแนวสปอร์ต - ประตูท้าย ให้ความรู้สึกเรียบหรู - ไฟท้ายใหญ่ชัดเจน - ด้านในเบาะหนัง ดูหรูหรานั่งสบาย ตามแบบฉบับของ Alphard - มี Mick\nรถตู้นครสวรรค์ รถตู้NGV 08-6201-8022 รถตู้ VIP รถตู้ชัยนาท รถตู้อุทัยธานี ให้เช่ารถตู้ รถตู้ไปเขาคิชฌกูฏ บริการรถตู้ รถตู้ทัวร์ รถตู้เหมา\nให้เช่า, รถตู้นครสวรรค์ NGV 08-6201-8022, นครสวรรค์, รถตู้ชัยนาท, สิงห์บุรี รถตู้ อุทัยธานี 09-7920-9900 (k.วชร) line ID : rahiace บริการ รถตู้ NGV นำเที่ยว รถตู้เช่า รถตู้รับปริญญา พระธาตุดอย\nบริการรถตู้vip10 ที่นั่งปรับอากาศ tv ราคาเริ่มต้นที่1,800บ.ไม่รวมน้ำมันพร้อมคนขับ บริหารโดย คุณ ยุทธศักดิ์ มั่งมี ,Email. \nรถเช่าเชียงใหม่ รถตู้เช่า พร้อมคนขับ\nตู้เชียงใหม่ รถตู้ให้เช่านำเที่ยว เชียงใหม่ เชียงราย ปาย แม่ฮ่องสอน บริการรถตู้ให้เช่านำเที่ยว แบบเช่าเหมา หรือแบบ\nสีสันกรุ๊ปรถตู้บริการให้เช่า ให้เช่ารถตู้ บริการรถตู้เช่านำเที่ยว รถตู้ให้เช่าพร้อมคนขับ เช่ารถตู้ท่องเที่ยวทั่วไทย\nบริการรับซื้อรถ มือสอง รถตู้ให้เช่า รถตู้ให้เช่าพร้อมคนขับ บริการรถตู้เช่าท่องเที่ยว รถตู้เติมน้ำมันให้เช\nเหมา เช่า รถตู้ บริการ ทั่วประเทศ กลับต่างจังหวัด หรือ ไปเที่ยว หรืองานต่างๆ งานเหมา งานเช่า รถตู้ จ่างรถตู้ ท่องเที่ยว งานบวช งานแต่งงาน\nรุ่นใหม่คนขับนิสัยดีบริการนํ้าดืมสนใจติดต่อคุณอิศรา\nรถตู้ภูเก็ต พร้อมคนขับ ให้เช่ารถตู้ พร้อมคนขับ รับ ส่ง สนามบินภูเก็ต ซิตี้ทัวร์น้ำมัน ราคาถูก\nรถตู้ภูเก็ต บริการให้เช่ารถตู้ พร้อมคนขับใช้ สำหรับการบริการ รับ ส่ง จากสนามบินภูเก็ต + ซิตี้ทัวร์+น้ำมัน ราคาถูก ให้บริการรถตู้รับจากสนามบินภูเก็ตไปส่งโรงแรมที่พัก ในภูเก็ต หาดกะตะ กะรน ป่าตอง กมลา หาดบางเทา หาดสุรินทร์ หาดในทอน ราไวย์ หาดในหาน หรือ ส่งในเมืองภูเก็ต\nยังมีบริการให้เช่ารถตู้ในภูเก็ตพร้อมคนขับ+น้ำมัน เริ่มรับจากสนามบิน เที่ยวซิตี้ทัวร์เมืองภูเก็ต ก่อนเช็คอินที่โรงแรม หรือ เช่ารถตู้ในภูเก็ตพร้อมคนขับ+น้ำมัน เริ่มรับจากโรงแรม + เที่ยวซิตี้ทัวร์เมืองภูเก็ต และส่งกลับสนามบิน", "created_date": "2023-06-01T18:54:08Z", "source": "oscar_colossal_05-06-23", "source_id": "93", "meta": "{'url': 'http://www.theredpepper.biz/VanRentals-234', 'quality_warnings': ['short_sentences', 'footer']}", "updated_date": "2023-10-01T17:41:20.532472Z"} ``` * Has some parts meaningful and parts not (remove only non-meaningful part) * Tips: sliding window 3-line global deduplication may help * Ref: [A Warm Start and a Clean Crawled Corpus - A Recipe for Good Language Models (aclanthology.org)](https://aclanthology.org/2022.lrec-1.464.pdf#page4) ``` {"text": "Use filters to refine the search results.\nTitleAuthorSubjectDate IssuedHas File(s)???jsp.search.filter.original_bundle_filenames??????jsp.search.filter.original_bundle_descriptions??? EqualsContainsIDNot EqualsNot ContainsNot ID\nResults Page 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 | Sort items by Relevance Title Issue Date In order Ascending Descending Authors record All 1 5 10 15 20 25 30 35 40 45 50\nผลกระทบของสถานการณ์ความไม่สงบในพื้นที่สามจังหวัดชายแดนภาคใต้ต่อความเครียด การปรับตัวต่อความเครียด คุณภาพชีวิต และการบริหารการพยาบาลตามการรับรู้ของผู้บริหารการพยาบาลในจังหวัดชายแดนภาคใต้ นงนุช บุญยัง; ประไพพรรณ ศิริพันธ์บุญ; ศศิธร พุมดวง; Faculty of Nursing (Administration of Nursing Education and Nursing Service); คณะพยาบาลศาสตร์ ภาควิชาการบริหารการศึกษาพยาบาลและบริการการพยาบาล; โรงพยาบาลศูนย์ยะลา; Faculty of Nursing(Obstetric and Gynaecologic Nursing and Midwifecy); คณะพยาบาลศาสตร์ ภาควิชาการพยาบาลสูติ-นรีเวชและผดุงครรภ์\nการบริหารการเปลี่ยนแปลงของหัวหน้าหอผู้ป่วย ความเชี่ยวชาญแห่งตนของพยาบาลวิชาชีพและคุณภาพการพยาบาลตามการรับรู้ของพยาบาลวิชาชีพ โรงพยาบาลทั่วไป ภาคใต้ นงนุช บุญยัง; นุชเนตร ชูโชติ; Faculty of Nursing (Administration of Nursing Education and Nursing Service); คณะพยาบาลศาสตร์ ภาควิชาการบริหารการศึกษาพยาบาลและบริการการพยาบาล", "created_date": "2023-06-01T19:23:18Z", "source": "oscar_colossal_05-06-23", "source_id": "122", "meta": "{'url': 'https://kb.psu.ac.th/psukb/handle/2553/937/simple-search?filterquery=%E0%B8%9A%E0%B8%A3%E0%B8%B4%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9E%E0%B8%A2%E0%B8%B2%E0%B8%9A%E0%B8%B2%E0%B8%A5+%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%88%E0%B8%B1%E0%B8%94%E0%B8%81%E0%B8%B2%E0%B8%A3+%E0%B9%84%E0%B8%97%E0%B8%A2+%28%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B9%83%E0%B8%95%E0%B9%89%29&filtername=subject&filtertype=equals', 'quality_warnings': ['short_sentences']}", "updated_date": "2023-10-01T17:41:21.730880Z"} ``` * There are more cases that can be EDA on the dataset Step by step: 1. Get some samples (100,000 lines) from each JSONL in `/project/lt200056-opgpth/public_datasets/JsonlFile/Oscar/` 2. EDA to check what can be further cleaned, for example above. 3. Create a POC script of the cleaning script 4. Integrate script into [https://github.com/OpenThaiGPT/openthaigpt-pretraining/tree/main/src/data/scripts/internet](https://github.com/OpenThaiGPT/openthaigpt-pretraining/tree/main/src/data/scripts/internet) and Test run on subset of OSCAR 2023 dataset Definition of done: * Integrate the cleaning pipeline into the internet data cleaning pipeline and open the PR * show results before and after Out of Scope: * Run the pipeline against our OSCAR on Lanta supercomputer Tips: * Check out: [https://www.figma.com/file/hu8KjY6D1dZCnwu6cfvDGz/OpenThaiGPT-LM-Overview?type=whiteboard&node-id=0-1&t=pnjxrB4eTxZPm2tm-0](https://www.figma.com/file/hu8KjY6D1dZCnwu6cfvDGz/OpenThaiGPT-LM-Overview?type=whiteboard&node-id=0-1&t=pnjxrB4eTxZPm2tm-0) for all files location and current pipeline implementation * run `tail -50

codecov[bot] commented 1 year ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5ff5762) 64.47% compared to head (4d5c647) 64.47%. Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #324 +/- ## ======================================= Coverage 64.47% 64.47% ======================================= Files 11 11 Lines 425 425 ======================================= Hits 274 274 Misses 151 151 ``` | [Flag](https://app.codecov.io/gh/OpenThaiGPT/openthaigpt-pretraining/pull/324/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OpenThaiGPT) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/OpenThaiGPT/openthaigpt-pretraining/pull/324/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OpenThaiGPT) | `64.47% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OpenThaiGPT#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.