บ่อยครั้งที่การทำ Data Mining Task นั้นการประมวลผล Data โดยใช้เพียง Machine นั้นอาจไม่เพียงพอต่อลักษณะการนำ Data ไปใช้ในปัจจุบันเช่น การวิเคราะห์ความรู้สึก (Sentiment Analysis) และการจำแนกรูปภาพว่ารูปไหนคือสัตว์ชนิดใด (Image Classification) เนื่องจาก Task จำพวกนี้จำเป็นต้องใช้ความสามารถในการตระหนักรู้ของมนุษย์ (Human Cognitive Ability) มาช่วย Machine ในการประมวลผล Data เหล่านี้ให้ถูกต้องและมีประสิทธิภาพมากขึ้น และการที่จะกระจาย Data Mining Task เหล่านี้ไปหามนุษย์จำนวนมาก เพื่อให้มนุษย์ช่วยแก้ปัญหา หรือประมวลผล Data ที่ Machine ทำได้ยาก และนำข้อมูลเหล่านั้นมาใช้ประโยชน์ต่อได้ โดยหลักการนี้เรียกว่าการทำ Crowdsourcing

ในปัจจุบันนี้ การทำ Crowdsourcing นั้นอยู่ใน Real-world application ทั่วไปทั้งขนาดใหญ่และเล็ก และมีจุดประสงค์ที่แตกต่างกันออกไป โดยส่วนใหญ่จะให้ผู้ใช้งานนั้นเข้ามาใช้บริการ Application จากนั้นจะบันทึกข้อมูลการใช้งาน และสามารถนำข้อมูลเหล่านั้นไปใช้ประโยชน์อย่างอื่นต่อ โดยการที่ผู้ใช้งานนั้นเข้ามาใช้ Application ด้วยแรงจูงใจบางอย่าง ยกตัวอย่างเช่น

Platform หรือ Application ต่าง ๆ ที่นำหลักการของการทำ Crowdsourcing ไปใช้โดยจะแบ่งเป็นสองแกน
ได้แก่ แรงจูงใจ (แกนแนวนอน) และขนาดของผู้ใช้งาน Platform (แกนแนวตั้ง)

Wang – Public Crowdsourcing platform สัญชาติไทยที่ผู้ใช้งานสามารถเข้ามา annotate ข้อมูลเพื่อแลกกับเงิน

Deadline Always Exists – Web Application ยอดฮิตที่อยู่ในลักษณะของแบบทดสอบ จำลองความตาย ที่ทำให้เราสามารถ Reflex ชีวิตของตัวเองได้ โดยผู้ใช้งานจะมา Contribute ข้อมูลเพื่อแลกกับอารมณ์หรือความรู้สึกที่ได้รับกลับไป

ReCAPTCHA – เป็น Engine ที่ช่วยในการป้องกันเว็บไซต์จาก Bot โดยการให้ผู้ใช้งานป้อนคำตามภาพที่เห็น ซึ่งถ้าหากผู้ใช้งานเป็นมนุษย์จริง ๆ จะสามารถป้อนคำตามที่เห็นได้ไม่ยาก (เหรอ?) โดยทาง ReCAPTCHA นั้นสามารถนำข้อมูลของพฤติกรรมการพิมพ์ของผู้ใช้งานไปใช้ประโยชน์ต่อได้

Pantip – แพลตฟอร์ม Discussion Forum ที่มียอดการใช้งานเยอะที่สุดในประเทศไทย ที่สามารถให้คนมาโพส ถามตอบ ขอความช่วยเหลือ หรือปรึกษาปัญหาชีวิตได้โดยไม่หวังผลตอบแทน

LinkedIn – แพลตฟอร์ม Social Network สำหรับหางานที่เป็นที่นิยมทั่วโลก โดยผู้ใช้งานจำเป็นต้องเข้ามากรอกข้อมูลต่าง ๆ ที่เป็นประโยชน์ต่อการหางาน หรือหาเงินนั่นเอง

FoldIt – Game Application ที่ให้ผู้คนเข้ามาช่วย Solve puzzle ทาง Scientific Simulation ต่าง ๆ เช่น Protein Folding หลังจากนั้นเจ้าของแพลตฟอร์มสามารถนำข้อมูลบันทึกการเล่น (Replay) มาใช้ประโยชน์สำหรับการทดลองวิทยาศาสตร์​หรือการแพทย์จริง ๆ ได้

Google PageRank – แพลตฟอร์ม Search Engine ที่ไม่มีใครไม่รู้จัก โดยทาง Google จะนำข้อมูลพฤติกรรมการค้นหาจำนวนมากมาประมวลผล เพื่อทำการจัดอันดับลำดับความสำคัญของเว็บไซต์ (Page Rank) ว่าเว็บไซต์ใดควรขึ้นก่อน หรือหลังเว็บไซต์ใดเวลาที่มีผู้ใช้งานทำการค้นหา

Wikipedia – แพลตฟอร์มสารานุกรมที่สามารถให้ผู้ใช้งานเข้ามา Contribute ข้อมูลที่เป็น Knowledge Base เกี่ยวกับเรื่องต่าง ๆ โดยผู้ใช้งานส่วนใหญ่นั้นเข้ามาเพื่อ Contribute ข้อมูลที่คิดว่าเป็นประโยชน์ให้โลกได้รับรู้ และสามารถนำองค์ความรู้ไปใช้ประโยชน์ หรือต่อยอดได้ โดยไม่หวังผลตอบแทน

Platform ข้างต้นที่กล่าวมานั้น ต่างก็มีประเภทของแรงจูงใจ (Incentive) ที่ต่างกัน ดังนั้นคำถามคือประเภทของแรงจูงใจนั้นส่งผลต่อคุณภาพของการทำ Crowdsourcing อย่างไร ??

กราฟที่แสดงถึงแรงจูงใจจากปัจจัยภายใน (Intrinsic Motivation)
และแรงจูงใจภายนอก (Extrinsic Motivation) ประเภทต่าง ๆ กับคะแนนการทำ Task เฉลี่ยที่ได้รับ
(Ref: More than fun and money. Worker Motivation in Crowdsourcing–A Study on Mechanical Turk)

จากภาพจะสังเกตได้ว่า การได้รับ Incentive ที่เป็นเงินทันทีหลังจากการทำแบบทดสอบ (Immediate Payoffs) นั้น มักจะได้คะแนนดีที่สุด เมื่อเทียบกับแรงจูงใจอย่างอื่น ทั้งนี้ทั้งนั้น คะแนนที่ได้รับขึ้นอยู่กับปัจจัยหลายอย่างเช่นประเภทของผู้ใช้งาน หรือ Task Complexity ที่สูงขึ้นนั้นการที่แบบทดสอบอยู่ในรูปแบบของเกมเพื่อความเพลิดเพลิน อาจได้คะแนนเฉลี่ยที่สูงกว่าการมีเงิน (Immediate Payoffs) เป็นรางวัลก็ได้ 

การพัฒนา Crowdsourcing Platform หรือ Application เป็นของตัวเองนั้น นอกจากจะใช้ Cost ในการ Develop และ Maintenance ที่สูงรวมถึงการเรียก User ให้เข้ามาใช้งาน Platform เป็นจำนวนมากนั้นก็เป็นเรื่องที่ยุ่งยาก ถ้าอย่างนั้นบริษัทที่ต้องการ Data หรือ Insight จากการทำ Crowdsourcing แต่ไม่มี Platform เป็นของตนเองพอจะทำอย่างไรได้บ้าง ??

ตัวเลือกหนึ่งคือการใช้งานบริการ Public Crowdsourcing Platform Amazon Mechanical Turk (AMT) , CrowdFlower, ChinaCrowds ซึ่งโดยตัว Platform นั้นจะมี Feature สำหรับการทำ Crowdsourcing ค่อนข้างครบวงจร เพียงแต่ผู้ใช้งานจำเป็นต้องออกแบบ Task และหาผู้ทำ Task (Worker) รวมถึงออกแบบระบบ Incentive เอง โดยจะมีบทบาททั้งหมด 3 อย่างได้แก่

  1. Requestor – ผู้ที่ออกแบบ Design Task ที่ต้องการและส่ง Task และ Budget ไปให้ Crowdsourcing Platformเพื่อแจกจ่ายให้ Worker ทำ Task  เหล่านั้น หลังจากนั้นก็รอรับคำตอบจาก Crowdsourcing Platform เพื่อนำข้อมูลไปใช้ประโยชน์ต่อไป
  2. Worker – ผู้ที่ทำ Task ต่าง ๆ ที่ได้รับมอบหมาย และส่งคำตอบกลับไปยัง Crowdsourcing Platform เมื่อทำ Task สำเร็จลุล่วงอาจได้รับรางวัลตามคุณภาพ หรือที่ได้ตกลงกันไว้จาก Budget
  3. Public Crowdsourcing Platform – Platform ที่เป็น Medium ระหว่าง Requestor กับ Worker โดยจะรับ Task และ Budget จาก Requestor จากนั้นก็จะมอบหมายไปให้ Worker ทั้งหลายในระบบทำ Task เหล่านั้น (Task Assignment) หลังจากนั้นก็จะรอรับผลลัพธ์จาก Worker และนำไปผลลัพธ์ไปคำนวณคะแนนของผลลัพธ์ว่าถูกผิดเท่าใด มีคุณภาพเป็นอย่างไร (Truth Inference) และส่งผลลัพธ์กลับไปให้ Requestor
Workflow Diagram ของ Public Crowdsourcing Platform

Requestor จะส่ง Task และ Budget ไปให้ Public Crowdsourcing Platform หลังจากนั้น Task ต่าง ๆ จะถูกประมวลผลโดย Public Crowdsourcing Platform ว่าจะส่ง Task ไปให้ Worker คนใด จากนั้นเมื่อ Worker ทำ Task เสร็จภายในเวลาที่กำหนด Crowdsourcing จะนำ Answer ของ Worker มาประมวลผลเพื่อคำนวณ Quality Score ของ Answer และ Worker จากนั้นจึงส่งผลลัพธ์ทั้งหมดกลับไปยัง Requestor เพื่อให้ Requestor นำ Data หรือ Insight ไปเพิ่มผลประกอบการให้ธุรกิจต่อไป

Challenges ในการทำ Crowdsourcing Platform

Data หรือ Insight ที่ได้รับมาจากการทำ Crowdsourcing นั้นบางทีอาจไม่มีคุณภาพที่ไม่เพียงพอต่อการนำไปใช้ประโยชน์ต่อดั่ง Quote ที่เคยได้ยินกันคุ้นหูอย่าง “Garbage In Garbage Out” หรือการทำ Crowdsourcing บางทีนั้นไม่คุ้มต่องบประมาณ หรือทรัพยากรที่ได้ทุ่มลงไป ดังนั้นจึงจำเป็นต้องมีการประเมิน และกำกับควบคุมตัวแปรทั้ง 3 อย่างได้แก่

3 Challenges ในการทำ Crowdsourcing Platform
(Ref: SIGMOD17 Crowd mining tutorial)

Quality – เนื่องจาก Worker เป็นกลุ่มมนุษย์ที่มาจากร้อยพ่อพันแม่ มีความแตกต่างกันตั้งแต่องค์ความรู้ นิสัยส่วนตัว รสนิยม วัฒนธรรม นอกจากนั้นมนุษย์ยังมีโอกาสผิดพลาดได้อีกด้วย ทำให้ Task ที่ส่งไป Worker อาจทำผิดพลาดได้

Cost – การทำ Crowdsourcing นั้นจำเป็นต้องมี Incentive ไม่ว่าจะอยู่ในรูปของเงิน หรือแรงจูงใจบางอย่างก็ตาม ล้วนมี Cost ที่ตามมา

Latency – คือเวลาที่ใช้ในการทำ Crowdsourcing ทั้งหมดซึ่งเวลานั้นเป็น Resource ที่สำคัญอย่างนึง ถ้าหากใช้เวลานานย่อมมีต้นทุนที่เพิ่มขึ้นตามมา หรืออาจทำให้ผลลัพธ์ที่ได้มานั้นเอาไปใช้ไม่ได้ดีในบางโจทย์เนื่องจาก Trend ข้อมูลมันเปลี่ยนไปแล้ว 

การทำ Quality Control

เนื่องจากคุณภาพ (Quality) ของ Worker นั้นไม่เท่ากันทำให้จำเป็นต้องหาทางดึงคะแนนเชิงคุณภาพ (Extract Quality Score) ของ Worker แต่ละคนมาโดยจะมี 2 กรณีหลัก ๆ ได้แก่

กรณีที่หนึ่ง การที่รู้ Ground  Truth บางอย่างอยู่แล้ว เช่น Task การแปลภาษา, Requestor สามารถตรวจคำตอบเป็นบาง Task ได้ว่า Task ใดถูกหรือผิดเพื่อคำนวณ Quality Score ของแต่ละ Worker โดยหลัก ๆ จะมีอยู่สองวิธีได้แก่

  • Qualification Test – มีการทำแบบทดสอบเหมือนข้อสอบเข้าก่อนที่จะเป็น Worker เพื่อเช็คความรู้ตาม Domain ที่ต้องการ เพื่อคัดคุณภาพของ Worker
  • Hidden Test – ในระหว่างที่ Worker ทำ Task อยู่นั้นอาจมี Hidden Task บางอย่างแฝงเข้าไปเพื่อวัดคุณภาพของ Worker

อย่างไรก็ตามทั้งสองวิธียังมีข้อเสีย หรือ Limitation บางอย่างอยู่ได้แก่

  • เปลืองทรัพยากรเนื่องจากเราต้องให้ Worker ทำงานเพิ่มขึ้นเพียงเพื่อวัด Quality Score ของแต่ละ Worker
  • จากผลการทดลองที่เคยกล่าวไว้ในงานวิจัย (Zheng et al. VLDB’17) การทำแบบทดสอบเผื่อวัด Quality Score อาจจะไม่ได้เพิ่มคุณภาพได้ดีเท่าที่ควร
  • จำเป็นต้องรู้ถึง Ground Truth บางอย่างก่อน

จะทำซึ่งบางอย่างที่ว่านั้นอาจ Define Absolute Ground Truth ไม่ได้เลย นอกจากนี้โจทย์ส่วนใหญ่นั้นมักจะไม่รู้ Absolute Ground Truth จริง ๆ หรือ Ground Truth อาจเปลี่ยนไปตามเวลา และยุคสมัย ดังนั้นกรณีแรกอาจเป็นเรื่องยากที่จะ Extract Quality Score ที่ accurate จากแต่ละ Worker ได้

ความโชคร้ายดันมาอยู่ที่โจทย์ส่วนใหญ่นั้นมักจะไม่รู้ Ground Truth ที่แน่นอนซึ่งอาจเป็นโจทย์ในเชิงความเห็น เชิงปรัชญา โจทย์ที่มีได้หลายคำตอบ หรือโจทย์ที่ยังไม่สามารถพิสูจน์หาความจริงได้เช่น ในมิติของการทำ Sentiment Analysis นั้นคอมเมนท์ที่มีความคลุมเคลือจำพวก “ร้านอาหารร้านนี้อร่อยนะ แต่ยังรสชาติเค็ม ๆ อยู่เล็กน้อย” ถือว่าเป็นคอมเมนท์ในเชิงบวกหรือลบกันล่ะ ??

ภาพนี้ถือว่าเป็นภาพกระต่าย หรือภาพเป็ดกันแน่ ?? ซึ่งสามารถตอบได้ว่าเป็นได้ทั้งสอบแบบ ไม่มีข้อได้ผืด
ขึ้นอยู่กับมุมมอง (Perspective) ของแต่ละบุคคล หรือมิติที่เรามอง

ถ้าอย่างนั้นโจทย์ที่ Define Absolute Groundtruth ไม่ได้จะทำอย่างไรจึงจะสามารถ Extract Quality Score ออกมาจาก Worker ได้ล่ะ ?

กรณีที่สอง เมื่อไม่รู้ถึง Ground Truth ใด ๆ ซึ่งวิธีที่การทำ Truth Inference หรือ Extract Quality Score นั้นมีหลายวิธี และปัจจุบันยังไม่มีวิธีที่ดีที่สุด แต่พอจะมีวิธีที่ง่ายที่สุดนั่นก็คือ การที่ Worker ตอบคำตอบไหนมากสุดให้ถือว่าคำตอบข้อนั้นเป็นคำตอบที่ใกล้เคียงความจริงที่สุด (Majority Vote) ซึ่งอาจให้ผลไม่ดีสักเท่าไหร่นัก

การทำ Cost Control

เนื่องด้วยบริษัทนั้นต่างก็มีทรัพยากรอย่างจำกัด ดังนั้นการมีมาตรการในการควบคุมต้นทุน (Cost Control) ที่มีประสิทธิภาพนั้นจึงเป็นสิ่งจำเป็น โดย Total Cost ของการทำ Crowdsourcing นั้นมาจาก

\mathrm{Total\ Cost} = n \times c, โดย n แทน จำนวน Task และ c แทน Cost ที่ใช้ไปต่อหนึ่ง Task

ดังนั้นเพื่อการลด Total Cost ของการทำ Crowdsourcing จึงสามารถลดได้จาก

  1. การลด n – หรือการลดจำนวน Task ลงแต่ได้คุณภาพ และปริมาณเพียงพอต่อการนำไปใช้ต่อ ซึ่งสามารถทำได้หลายวิธี แต่จะขอยกตัวอย่างในกรณีของวิธี Task Pruning คือการหาว่า Task ไหนง่ายเกินไปที่พอจะให้ machine ทำหน้าที่ label ได้ เพื่อลด task ที่ไม่จำเป็นต้องให้ Worker ทำลง และให้ Machine ทำแทน
  2. การลด c – หรือลดจำนวน Cost ของแต่ละ Task ลงโดยการพยายามลด Complexity ของ task ลง เช่นการพัฒนาฝั่ง User Interface (UI) เพื่อให้ง่ายต่อ Worker มากขึ้นเช่น
ภาพ UI สำหรับการจำแนกว่า Entity (ในที่นี้คือนักบอล) ใดคือ Entity เดียวกัน (Entity Resolution) โดยการลด complexity ลงจาก 
Worker ที่ต้อง Identify หลาย Object ว่าใครเป็นใคร เหลือเพียงแค่ Identify ว่า 2 Object นี้เป็นคนเดียวกันหรือไม่
(Ref: SIGMOD17 Crowd mining tutorial)

อย่างไรก็ตามการที่พยายามลด n หรือ c นั้นย่อมส่งผลต่อคุณภาพ (Quality) อย่างแน่นอนเช่นการทำ Task Pruning นั้น Machine ที่ทำหน้าที่ Label ย่อมมี Error ที่ตามมา หรือการที่ลด Complexity ลงย่อมส่งผลต่อคุณภาพ เช่นภาพตัวอย่างจาก Multi-item interface ที่ทำการแยกแยะ Entity ภายในภาพในระดับปัจเจกบุคคล เหลือเพียง Pairwise Interface นั้นทำให้สามารถรับรู้ได้เพียง แค่สองภาพนี้คือภาพ Entity เดียวกัน

ดังนั้นหัวใจหลักของการทำ Cost Control ที่มีประสิทธิภาพควรจะทำทั้งสองวิธีควบคู่กันไปเพื่อลดต้นทุนให้ได้มากที่สุด โดยที่ยังคุมคุณภาพ (Quality) เพียงพอต่อการนำไปใช้ได้

การทำ Latency Control

เวลาที่ใช้ในการดำเนินงานทั้งหมด คือหนึ่งในปัจจัยสำคัญที่ต้องควบคุม ซึ่งสามารถทำได้โดยการควบคุมเวลาที่ใช้ในขั้นตอนต่าง ๆ ในการทำ Crowdsourcing โดย Latency นั้นจะแบ่งออกเป็นสามช่วง (Phase) ได้แก่

  1. Phase 1 – ช่วงเวลาหา Worker สามารถลดเวลาการหา Worker โดยการจ้าง Worker คนเก่า เพื่อที่จะได้ไม่ต้องคัดเลือกหรือฝึกหัดใหม่
  2. Phase 2 – เป็นการทำ Quality Control เช่นการคัดเลือก (Qualification) และเวลาการฝึกฝนให้ใช้งาน platform ได้ (Training Time) โดยสามารถลด latency ตรงส่วนนี้ลงได้โดยการนำ Phase 2 ออก โดยการหาวิธีอื่นในการทำ Quality Control ที่ไม่ใช่ Qualification Test นั่นเอง
  3. Phase 3 – ควบคุมเวลาที่ใช้ทำ Task ซึ่งสามารถทำให้ลดลงได้โดยการลดเวลาทำ Task ลงดื้อ ๆ เลยก็ได้หรือทำ UI ของ platform ให้ง่ายต่อ Worker ระหว่างที่ทำ Task อยู่นั่นเอง

การทำ Latency Control นั้นสำคัญเป็นอย่างยิ่ง เนื่องจากการทำธุรกิจในยุคดิจิทัลนี้ ความเร็วเป็นสิ่งสำคัญ ยิ่งรู้ Insight หรือจับ Trend บางอย่างก่อนคู่แข่งนั้นย่อมส่งผลต่อผลประกอบการของบริษัทอย่างยิ่ง แต่การควบคุม Latency นั้นย่อมส่งผลคุณภาพ (Quality) แน่นอนเช่น การที่ลดเวลาที่ใช้ในการทำ Task ลงย่อมส่งผลให้ Worker มีเวลาที่ลดลงในการเลือกคำตอบของแต่ละ Task ซึ่งอาจทำให้คุณภาพลดลงได้

Takeaways

การทำ Crowdsourcing นั้นเป็นหนึ่งในวิธีที่ได้มาซึ่ง Data โดยสามารถทำผ่านสินค้าและบริการ เช่น พวก Application ของบริษัทตนก็ได้ หรือจะสามารถใช้บริการของ Public Crowdsourcing Platform ก็ถือเป็นทางเลือกหนึ่งที่น่าสนใจ แต่การจะได้มาซึ่ง Data ที่มีคุณภาพ (Quality) รวมถึงใช้ต้นทุน (Cost) และเวลา (Latency) ให้น้อยที่สุดถือเป็นหัวใจหลักของการทำ Crowdsourcing

ดังนั้นจึงต้องมีการควบคุมทั้ง 3 ตัวแปร (Quality, Cost, Latency) ควบคู่ไปพร้อมกันทั้ง ซึ่งการทำควบคู่ไปพร้อมกันนั้นไม่ใช่เรื่องง่ายเลย เพราะการควบคุมทั้ง 3 ตัวแปรนั้นส่งผลต่อกันและกันเช่น ถ้าหากลด Cost ด้วยกันทำให้ Task แต่ละอย่างง่าย (Reduce Complexity) ขึ้น Quality ก็อาจลดลง หรือถ้าพยายามเพิ่ม Quality โดยการทำ Qualification Test ก็จะทำให้ Latency  (Phase 2) เพิ่มขึ้น ดังนั้นการหาจุดที่ Optimal ระหว่าง 3 ตัวแปรนี้ถือเป็น Challenge หนึ่งในการทำ Crowdsourcing เป็นอย่างมาก และในตอนนี้ยังไม่มีวิธีที่ดีที่สุด

นอกจากนั้นการทำ Task Design นั้นสำคัญมากในการตั้งคำถามให้แก่ Worker เช่น Task จำพวก Sentiment analysis การที่จะมีทางเลือก (Choice) ในการตอบเป็นเลขคู่ (Worst, Bad, Good, Best) หรือเลขคี่ (Worst, Bad, Neutral, Good, Best) ส่งผลต่อผลลัพธ์ของ Worker อย่างมาก ในกรณีที่มีจำนวน Choice เป็นเลขคู่ Worker จะตัดสินใจได้เพียงดีหรือไม่ดีเท่านั้น แต่อีกกรณีนึง Worker อาจเลือกที่จะตอบปานกลาง (Neutral) เสียมากกว่า ดังนั้นการ Design Task ให้ดี และสามารถนำไปตอบโจทย์ธุรกิจ และสามารถนำไปใช้เป็นประโยชน์ของบริษัทได้นั้นจำเป็นอย่างมาก

Reference

  1. SIGMOD17 Crowd Mining tutorial
  2. More than fun and money. Worker Motivation in Crowdsourcing–A Study on Mechanical Turk
  3. Crowd-powered Data mining
  4. Gamification in Crowdsourcing Review

Data Scientist
Government Big Data Institute (GBDi)

Recommended Posts