ไดอารี่ที่ทำงานของฉัน — ตอน เมื่อเด็กจบบริหารต้องมาทำงานสาย NLP Data Scientist!!?? p.1

สวัสดีเรากายนะ เราได้รับโอกาสมาทำงานในบริษัท Start-up Fintech แห่งหนึ่งในย่านสีลม ในตำแหน่ง Junior Data Scientist เพื่อนๆ อาจจะคิดว่ามัน cool! แต่ความจริงแล้วหน้าที่หลักของเราคือ. . . . . . . . การ Query ข้อมูลจาก Database และ Microsoft Excel วัน ๆ ก็วนเวียนกับ

SELECT * FROM database 
=IFERROR(VLOOKUP(…),”) 

และงานเฉพาะกิจ (ad-hoc) ที่ไม่พ้นสองข้อที่กล่าวมา. . .

ตามนี้เลยจร้าาา

และมาวันนี้ หัวหน้างานสุดหล่อของเราก็ได้ปิ๊งไอเดียบรรเจิดจ้าที่ส่องสว่างออกมาจากหน้าผากของเขา เขาค่อยๆเดินย่องเข้ามาแตะไหล่ของเราเบาๆ แล้วบอกว่า . . . .

“กาย…พี่มีโปรเจ็คใหม่ให้ทำ พี่อยากได้ LINE-chat-bot ที่ไว้คุยกับลูกค้า เดี๋ยวยูลองไปศึกษาเรื่อง NLP มา แล้ววันพฤหัสหน้าให้มาสรุปเนื้อหาให้ทีมฟังนะ”

ไอ้เรา จบสาย management มา กว่าจะ query database เป็นก็ต้องศึกษาอยู่หลายวััน อยู่ดีไม่ว่าดีก็ต้องมาค้นคว้าเรื่อง NLP ที่ เด็ก com sci เขาเรียนกันเป็นเทอม ๆ ในเวลาแค่ 1 สัปดาห์ . . . แต่หน้าที่ก็คือหน้าที่ละนะ เอ้า สู้เว้ย! มาเริ่มกันเลย

ถ้าไม่รู้จะเริ่มยังไง ลองถามอาจารย์ goo กันก่อนดีกว่า . . . .

หลังจากอ่านบทความไปสองสามเรื่อง ดูยูทูบไปสิบนาที และอ่านกระทู้พันทิพย์ เราก็ได้ข้อสรุปได้ว่า

“NLP: neuro linguistic programming คือวิธีกำหนดพลังจิต เพื่อสร้างพลังด้านบวก ช่วยดึงดูดความสำเร็จให้ชีวิต”

what the faq? นี่เราเสียเวลาทำอะไรไปตั้งเป็นชั่วโมง?!

จริงๆ NLP แปลได้ 2 แบบคือ Neuro Linguistic Programming Natural Language Processing

เอ้าๆๆ มาเริ่มกันใหม่ ๆ ลองค้นหาคำนี้แทน “What is Natural Language Processing” หลังจากที่ได้ค้นคว้าข้อมูลอยู่ประมาณหนึ่ง เราก็ได้เข้าใจมาอย่างงี้ว่า:

โดยปรกติแล้วคอมพิวเตอร์จะสื่อสารกันด้วยภาษาที่เรียกว่า machine language ที่มีข้อกำหนดและกฏเกณฑ์มากมาย เช่น syntax และ function ที่ใช้ในการประมวลผลข้อมูล เรียกง่าย ๆ ว่า ต้องเขียนโค้ดนั้นเอง ใครเคยเรียนวิชา ITS101 หรือพวก basic programming มา ก็จะรู้ว่ามันไม่ใช่ภาษาที่คนปรกติเค้าใช้สื่อสารกัน เช่น

vscode: python basic syntax

ซึ่งภาษาที่คนธรรมดาใช้สื่อสารกันคือภาษาพูด natural language ที่บางครั้งสามารถแปลความหมายหลากหลาย และมีกฎที่เปลี่ยนแปลงได้ตลอดเวลา ยกตัวอย่างการ์ตูนด้านล่างที่แสดงให้เห็นถึงความแตกต่างของใจความได้อย่างชัดเจน

[สำหรับคนที่ไม่เก็ท] ตัวฟ้าบอกกับเพื่อนว่า: เราอยากรู้วิธีที่จะอยู่บนเตียงนานขึ้น(อยากอึดกับเรื่องบนเตียง) เพื่อนตัวส้มเลยแนะนำให้เป็นโรคซึมเศร้า เพราะมันทำให้เขานอนอยู่บนเตียงได้ทั้งวัน explosm, (2017), Cyanide & Happiness[ONLINE]. Available at: http://explosm.net/comics/ [Accessed 12 February 2018]

สรุปสั้นๆได้ว่า “ Natural Language Processing (NLP) คือการที่คอมพิวเตอร์สามารถแปลงคำพูด เป็นโค้ดบางอย่างเพื่อจับใจความของประโยค และนำผลลัพธ์มาแปลงกลับเป็นภาษาพูด เพื่อตอบโต้กับคน เหมือนเวลาเราคุยกับเพื่อนได้ ”

Samrat Kar, (2017), AI Mind Map [ONLINE]. Available at: http://www.inatrix.com/ai-ml-deep-learning[Accessed 12 February 2018]

แต่ถ้าอยากให้เราสรุปยาวๆ เราก็ทำให้ได้ 😛

Dr. Rutu Mulkar-Mehta, (2016), NLP vs ML vs DL [ONLINE]. Available at: http://rutumulkar.com/blog/2016/NLP-ML [Accessed 12 February 2018]
NAVDEEP SINGH GILL, (2018), Difference b/w Classic NLP & DL NLP [ONLINE]. Available at: https://www.upwork.com/hiring/for-clients/artificial-intelligence-and-natural-language-processing-in-big-data/ [Accessed 12 February 2018]

NLP คือส่วนหนึ่งของปัญญาประดิษฐ์ (AI) สำหรับคนที่เรียนทางด้าน computer science มาจะรู้จัก คำนี้เป็นอย่างดี (ถ้าได้เข้าเรียนนะ) แต่สำหรับสายบริหารอย่างเรา ๆ ถ้าพูดถึง AI ก็คงนึกถึง Siri — Apple ไม่ก็ J.A.R.V.I.S. — Iron Man นั่นเอง ซึ่งทั้งสองตัวอย่างนี้ ก็ใช้ NLP อยู่ เพราะสามารถพูดโต้ตอบ และทำตามคำสั่งของคนได้เป็นอย่างดี

รูปถัดมา แสดงให้เห็นถึงความสัมพันธ์ระหว่าง NLP, ML และ DL ที่อยู่ภายใต้ AI ในรูปของ set และ subset ให้ชัดเจนยิ่งขึ้น เราขออธิบาย ML กับ DL สั้นๆแบบที่เราเข้าใจ เพื่อให้เข้าใจตรงกันว่า

  • Machine Learning (ML) คือการทำให้คอมพิวเตอร์เรียนรู้หาคำตอบ จากข้อมูลที่เรามีให้ ด้วยตัวมันเอง
  • Deep Learning (DL) คือ ML ที่ซ้อนกันหลายๆชั้น ใช้ในการประมวลที่ซับซ้อนยิ่งขึ้น

รูปสุดท้าย เป็นภาพรวมของ NLP ว่ามันมี 2 แบบ classic และ deep learning ซึ่งในแต่ละแบบจะมีวิธีการจัดการข้อมูลและประมวลข้อมูลที่แตกต่างกัน แต่สุดท้ายก็จะไปจบที่ผลลัพธ์ (output) เดียวกัน

NLP รับข้อมูล (input) ประเภท text และจะเริ่มต้นด้วยการซอยประโยคยาว ๆ ให้เป็นคำเดี่ยวๆ ซึ่งกระบวนการนี้เรียกว่า tokenization ต่อจากนั้น ระบบจะติดป้ายความหมายให้คำแต่ละคำที่ถูกตัดออกมา ซึ่งเรียกว่า part-of-speech tagging หลังจากที่ข้อมูลผ่านกระบวนการ 2 อย่างนี้ ข้อมูลนี้ก็พร้อมที่นำไปใช้งานต่อแล้ว . . .

เมื่อได้ข้อมูลที่พร้อมจะนำเข้าสู่กระบวนการ NLP เป็นที่เรียบร้อยแล้ว จะเป็นอย่างไรต่อไป เดี๋ยวเราจะกลับมาเล่าให้ฟังต่อวันหลังนะ

สำหรับวันนี้ เราขอพอแค่นี้ก่อน สวัสดีไดอารี่^^

Source: Deep Learning on Medium