• Devver

2nd Day: ยิ่งทบทวนบทเรียน ยิ่งเข้าใจมากขึ้น ใช่ไหม (2/365 to Data Scientist)


หนังสือ Natural Language Processing
หนังสือ Natural Language Processing

"เหลือเวลาอีก 363 วัน" เดวฟ์พรึมพรำกับตัวเอง "วันนี้จะต้องฝึกอะไรดี"


เขาพยายามนึกไตร่ตรองเพราะตั้งแต่เขาเริ่มผจญภัยก้าวสู่โลก Data Science เขาไม่ได้วางแผนอะไรไว้ในหัวเลย เขาเพียงแค่ก้าวเข้ามาเพราะผมต้องการให้เขาเริ่มเท่านั้นเอง ในใจพลางนึกว่าเขาควรเปิด YouTube แล้วทำตามไกด์ไลน์อาชีพอย่างการผจญภัยในโลกอื่นๆที่เขาเคยทำหรือไม่ แต่เขาตัดสินใจที่จะสะสางสิ่งที่นักผจญภัยคนก่อนค้างคาไว้ซะก่อนแล้วค่อยเริ่มเส้นทางของเขาอย่างสมบูรณ์แบบ


"ถ้าศึกษาทักษะพื้นฐานต่างๆให้ครบก่อน การใช้ทักษะขั้นสูงคงยากเกินความสามารถหรอก" เด็กหนุ่มพยายามให้ทักษะการผจญภัยในโลกต่างๆที่เขาเคยผ่านมา "ถ้าเล่นสายดาบ มันก็ต้องเริ่มจากฟันดาบง่ายๆก่อน แล้วเลเวลสูงๆค่อยฝึกคอมโบต่อเองนี่น่า"


เดวฟ์เปิดวีดีโอจาก Microsoft Teams เพื่อฝึกทักษะด้าน Network Analysis ต่อจากเมื่อวาน


"Community คืออะไร" เดวฟ์มักจะเริ่มจากคำถามง่ายๆเสมอ


Community มันคือการแบ่งกลุ่มโหนดต่างๆด้วยลักษณะ (Attribute) ที่เหมือนกันช่วยให้เราเข้าใจลักษณะของเน็ตเวิร์คมากขึ้น Community เดียวกันแต่ละโหนดจะมีการเชื่อมต่อกันภายในเยอะและมีการเชื่อมต่อกับภายนอกน้อย เดวฟ์นึกถึงการอยู่ในกิลด์ซึ่งเขารู้จักกับและพูดคุยกับเพื่อนในกิลด์บ่อยกว่าคุยกับกิลด์พันธิมิตรที่เข้าร่วมสงครามด้วยกัน มันก็คงเป็นตัวอย่างที่ชัดเจนสำหรับเขาในการผ่านสังคมนักผจญภัยมาหลายโลก บางโลกก็แทบไม่มีการเชื่อต่อกันเลยและบางโลกก็มีเพื่อนกิลด์จากอีกโลกมาร่วมเดินทางด้วย


"การแบ่งเน็ตเวิร์คเป็น Community ได้ก็ต้องดูที่ Modularity Q เพื่อวัดว่ามันแบ่งได้ดีขนาดไหน โดยดูผลรวมของความต่างจากจำนวนเส้นเชื่อมระหว่างโหนดที่อยู่ในกลุ่มมาเทียบกับเส้นเชื่อมระหว่างโหนดในกลุ่มที่คาดหวังไว้ แล้วโหนดที่คาดหวังมันคืออะไรเนี่ย" เดวฟ์พยายามทวนสิ่งที่เขาได้ยินและเริ่มสับสนแต่เขาก็ยังพยายามทำความเข้าใจ และพยายามท่องไว้ "มันใช้ดูจำนวนคอมมิวนิตี้ได้"


"มันต้องเทียบกับ Random Graph ที่ใช้ Configuration Model สินะ" เด็กหนุ่มเหมือนจะพยายามนึกถึงทักษะที่เขาได้เรียนรู้ไปเมื่อวาน "มันคือการ Rewire ต่อเส้นเชื่อมใหม่จากเน็ตเวิร์คเดิมเพื่อสร้างกราฟใหม่มาเทียบ"


"Louvain Algorithm ก็สามารถนำมาใช้หาคอมมิวนิตี้ได้" เดวฟ์จดลงสมุดของเขาอย่างบรรจง "มันช่วย Maximize Modularity หลักๆคือการเอาโหนดย้ายคอมมิวนิตี้แล้วมีผลต่างจากเดิมมากแค่ไหนถ้าย้ายแล้วดีเราก็ย้ายโหนดไป แล้วมารวมกลุ่มกันเป็น Super Node และทำวนไปเรื่อยๆสินะ "


บทเรียนในวันนี้ค่อยข้างสับสน และยิ่งสับสนมากขึ้นเมื่อเดวฟ์ตัดสินใจวิ่งไปพร้อมกับทวนบทเรียนนี้ เขาพลางนึกใจในว่าเขาต้องกลับมาฝึกสกิลนี้ใหม่อีกทีแล้วเพื่อให้มันเข้าใจมากขึ้นเพราะเขาจับได้แค่ใจความใหญ่เท่านั้น "วันหลังคงต้องนั่งเรียนอย่างตั้งใจจะไม่สามารถฝึกทั้งสองอย่างได้แล้ว"


 

จากที่เดวฟ์ได้ใช้เวลาพักผ่อนช่วงบ่ายไปหลายชั่วโมงเขาได้ตัดสินใจหยิบตำรา Practical Natural Langauge Processing มานั่งอ่านต่อเพื่อทำความเข้าใจในทักษะนี้มากขึ้น


"Text Representation คือการทำข้อความให้อยู่ในตัวเลขเพื่อนำมาวิเคราะห์ต่อ" เดวฟ์ทวนสิ่งที่เขาได้อ่านเพื่อจดบันทึกทักษะลงสมุดบันทึกของเขา "ถ้าพูดถึงการทำคำหนึ่งคำให้อยู่กลายเป็นตัวเลขได้สกิลที่ต้องรู้ก็คงต้องมี One-hot Encoding, Bag of words, Bag of N-grams, TF-IDF"


"แต่ว่าพวกนี้พอกลายเป็นเวคเตอร์แล้ว มันจะคำนวนได้ช้าสินะแม้ว่ามันจะเข้าใจง่าย" เดวฟ์พลางนึกถึงตอนที่เป็นจอมเวทย์ในโลกอื่นถึงแม้ว่าพวกนี้มันจะคล้ายเวทย์มนตร์ที่ใช้ได้ง่ายแต่ถ้ามั่วร่ายช้า ก็โดนมอนสเตอร์โจมตีก่อนพอดี "เข้าใจแล้ว พวกนี้ไม่เหมาะสำหรับข้อมูลเยอะๆ เพราะยิ่งคำเยอะมากแค่ไหนจำนวนเลขศูนย์มันก็เยอะขึ้นเช่นกันเสียเวลาคำนวนและใช้ทรัพยากรเยอะ"


"Desnse Word Embedding ก็คือสิ่งการเดาคำหนึ่งคำจากคำรอบข้างของ ต่างจากแบบแรกที่ดูเป็นคำไปไม่นึกถึงคำรอบข้างเลย " เขาได้อ่านต่อไปปเพื่อทำความเข้าใจในเรื่อง Text Representation หลักการที่เขาอ่านอยู่เป็นหลักการที่เหมาะสำหรับคำจำนวนมหาศาลที่สามารถคำนวนได้อย่างรวดเร็วขึ้น ตำราได้พูดถึง Word2Vec, GloVe และ FastText ที่ใช้ในการคำนวนคำจากบริบทใกล้เคียงได้ และเขาได้บทสรุปสุดท้ายว่า "สุดท้ายแล้วการเลือกใช้ก็ต้องมาดูว่าเราจะเอาไปใช้ทำอะไรสินะ ไม่มีตัวไหนดีกว่าตัวไหน"


"King - Man + Woman = Queen" เดวฟ์สะดุดกับตัวอย่างการคำนวนด้วยคำแบบนี้ "เบื้องหลังมันคือการแปลงเป็นตัวเลขจากบริบทใกล้เคียงก่อนแล้วมันถึงเอาคำมาบวกลบกันได้สินะ"


"แต่สุดท้ายแล้วการคำนวนพวกนี้มันยังไม่สนความสมเหตุสมผลของประโยคสินะ" เดวฟ์กล่าวด้วยความอยากรู้ที่ตำราได้ส่งท้ายก่อนจบบทนี้ "หมากัดคน กับ คนกัดหมา สิ่งที่บทนี้พูดถึงมันก็ยังไม่ช่วยให้คอมพิวเตอร์เข้าใจสถานการณ์เลย คอมพิวเตอร์นี้เหมือนเด็กเลยเนอะ ใสซื่อจริงๆ"


"พลังชีวิตหมดอีกแล้ววันนี้"เดวฟ์บ่นกับตัวเองที่พลังงานในการฝึกของตัวเองไม่ได้เยอะดั่งเทพทรู เขาได้แต่เฝ้ารอการมาถึงของวันพรุ่งนี้เพื่อที่จะกลับมามีพลังในการฝึกวิชาอีกครั้ง เด็กหนุ่มที่พึ่งไม่รู้เลยว่าหนึ่งวันที่เขาได้ฝึกทักษะมาเท่านี้มันมากน้อยเพียงใด ได้แต่หวังว่าอีก 363 วันเขาจะพร้อมเปลี่ยนอาชีพเป็น Data Scientist ได้สำเร็จ

ดู 42 ครั้ง0 ความคิดเห็น