เมื่อทษช.เปิดเผยตัวละครลับเป็นแคนดิเดตนายกฯ

วิเคราะห์สถานการณ์ทางการเมืองด้วยข้อมูลจาก Twitter

ภาพโดยไข่แมวx

บทนำ

เช้าวันศุกร์ที่ 8 กุมภาพันธ์ พ.ศ. 2562 ถือเป็นช่วงเวลาอันน่าลุ้นระทึก เพราะนอกจากจะมีกำหนดแถลงการณ์จากพลเอกประยุทธ์ จันทร์โอชา ผู้ได้รับคำเชิญเป็นแคนดิเดตนายกรัฐมนตรีของพรรคพลังประชารัฐแล้ว ยังมีกำหนดการยื่นบัญชีนายกรัฐมนตรีของพรรคไทยรักษาชาติ ต่อ กกต. อีกด้วย ถือเป็นการเปิดไพ่ใบใหญ่ระหว่างสองขั้วอำนาจในการเมืองไทย

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

สิ่งที่เกิดขึ้นในวันที่ 8 กุมภาพันธ์ ทำให้เราต้องหันมาทบทวนและแก้ไขกรอบความคิด ทฤษฎี และสมการการเมืองที่เรายึดถือเป็นหลักเกณฑ์ในการประเมินสถานการณ์ทางการเมือง เพราะเราได้สัมผัสพื้นผิวของภูมิทัศน์ทางการเมืองที่เปลี่ยนไปเข้าเสียแล้ว เมื่ออำนาจขั้วที่สามที่เปรียบเสมือน ‘ช้างในห้อง’ ถูกดึงเข้ามาอยู่ในสงครามการเมืองครั้งนี้ราวกับเป็น ‘ช้างศึก’

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

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

บทความนี้ใช้ข้อมูลจาก Twitter มาคำนวนสถิติและความถี่ของการแสดงความคิดเห็นทางการเมืองของคนธรรมดาที่มีต่อเหตุการณ์ที่เกิดขึ้นในวันที่ 8 กุมภาพันธ์ ผลลัพธ์คือภาพที่สะท้อนให้เห็นชัดเจนถึงความตื่นตัวทางการเมืองของผู้ใช้ Twitter และความเป็นพื้นที่ทางการเมืองของโลก social media

เกิดอะไรขึ้นในศึกช้างชนช้าง

การเมืองไทยกลายเป็นเรื่องที่น่าจับตามองอย่างยิ่ง เมื่อเกิดกระแสข่าวว่าพรรคไทยรักษาชาติจะนำเสนอ ทูลกระหม่อมหญิงอุบลรัตนราชกัญญา เป็นแคนดิเดตนายกรัฐมนตรีแต่เพียงผู้เดียวของพรรค เพราะนั่นหมายถึงความเปลี่ยนแปลงอันสำคัญ ทั้งในเชิงความสัมพันธ์ระหว่างสถาบันพระมหากษัตริย์และเครือข่ายอำนาจของคสช. และในเชิงบทบาทของสถาบันพระมหากษัตริย์ในบริบทการเมืองประชาธิปไตย ส่งผลกระทบทั้งในระยะสั้น ต่อการเลือกตั้งที่จะเกิดขึ้นในไม่ช้า และในระยะยาว ต่อระเบียบอำนาจในประเทศไทยที่สืบทอดกันมาตั้งแต่ช่วงสงครามเย็น

อย่างไรก็ตาม สิ่งที่สำคัญไม่น้อยไปกว่าความเคลื่อนไหวเหล่านี้ คือภาพของสังคมไทยที่มีประชาชนเป็นตัวละครหลัก ไม่ใช่แค่ตัวละครประกอบ ที่กำลังชัดเจนขึ้นท่ามกลางความไม่ชัดเจนของความขัดแย้งระหว่างขั้วอำนาจหลักทั้งในและนอกระบบ

จากการวิเคราะห์ข้อมูลจาก Twitter รวมทั้งสิ้นจำนวน 2,761,112 tweet ที่รวบรวมโดยการใช้ search/tweets API ระหว่างวันที่ 7-11 กุมภาพันธ์ เมื่อประมวลผลผ่านการนับจำนวน tweet ต่อนาที ของ tweet ที่มี hashtag เกี่ยวข้องโดยตรงกับเหตุการณ์ในวันที่ 8 กุมภาพันธ์ จะเห็นได้ถึงความชัดเจนของการมีส่วนร่วมทางการเมืองในโลกโซเชียลที่เกี่ยวพันโดนตรงกับเหตุการณ์ทางการเมืองที่เกิดขึ้น

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

จากการวิเคราะห์ดังกล่าว ซึ่งใช้จำนวน tweet ต่อนาทีของ tweet ที่ใช้ hashtag ที่เกี่ยวข้องเป็นตัวชี้วัดความตื่นตัวทางการเมือง เราสามารถตั้งข้อสังเกตได้หลายประการ เช่น:

นอกจากนี้ เรายังสามารถจัดอันดับ hashtag ยอดนิยมในแต่ละวัน ซึ่งสะท้อนให้เห็นชัดเจนยิ่งขึ้นถึงกระแสต่างๆ เช่น:

Heatmap ประกอบการวิเคราะห์ co-occurence ของ hashtag ยอดนิยม

แน่นอนว่าใน tweet หนึ่งข้อความ อาจใช้ hashtag ได้มากกว่าหนึ่งอัน การวิเคราะห์ co-occurence จึงอาจทำให้เห็นความสัมพันธ์ของ hashtag แต่ละอันอย่างลึกซึ้งมากขึ้น อาทิ เช่น #อนาคตใหม่ และ #ฟ้ารักพ่อ หรือ #ไทยรักษาชาติ และ #ทรงพระสเลนเดอร์ เป็นต้น

นี่เป็นเพียงจุดเริ่มต้นของการวิเคราะห์เหตุการณ์ทางการเมืองดังกล่าวโดยใช้ข้อมูลจาก Twitter นอกจากการประเมินสถานการณ์เบื้องต้นโดยดูจาก hashtag เป็นหลักแล้ว เราสามารถที่จะใช้ text analysis ทำการตัดประโยคคำ (tokenize) ใน tweet เพื่อวิเคราะห์ใจความของ tweet ในแต่ละอันให้ละเอียดยิ่งขึ้น อาจได้ข้อมูลเชิงสถิติอื่นๆที่น่าสนใจ เช่น คำยอดฮิต หรือคำที่มักปรากฎอยู่ในบริบทเดียวกัน อีกทั้งยังสามารถทำ sentiment analysis เพื่อหยั่งรู้ถึงอารมณ์และความรู้สึกที่ผู้ใช้ Twitter มีต่อเหตุการณ์ครั้งนี้

นอกจากนี้ ยังสามารถใช้ unsupervised learning methods ต่างๆ เช่น LDA (latent dirichlet allocation) หรือ STM (structural topic modeling) เพื่อทำการวิเคราะห์ประเด็นที่ได้รับความสนใจ และทัศนคติทางการเมืองที่ได้รับการแสดงออกผ่าน Twitter

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

อะไรเป็นประเด็น (Keyword Extraction)

สิ่งที่ทำได้เป็นอันดับแรกเมื่อทำการตัดคำไทยเป็นที่เรียบร้อยแล้ว คือการคำนวนสถิติการใช้คำแต่ละคำ โดยปกติแล้วมีสองวิธีหลักๆในการวิเคราะห์ วิธีแรกคือนับมันไปเลย คำไหนใช้บ่อยที่สุดคือคำที่เป็นที่นิยมมากที่สุด วิธีที่สองคือวิธีที่เรียกกันว่า tf-idf (term frequency-inverse document frequency) ซึ่งเป็นการนับสถิติของการใช้คำในแต่ละข้อความ (ยิ่งใช้บ่อยยิ่งมีค่าสูงขึ้น) ที่มีการถ่วงดุลโดยจำนวนข้อความที่ใช้คำๆนี้ (ยิ่งคำนี้ปรากฎในหลายข้อความยิ่งมีค่าต่ำลง) เพื่อเป็นการคัดกรองคำที่ปรากฎบ่อยกว่าคำอื่นโดยธรรมชาติและไม่ได้มีความหมายสำคัญอะไรในตัวมันเอง ยกตัวอย่างเช่นคำว่า “เป็น” “การ” “คือ” เป็นต้น ในกรณีนี้ผมเลือกใช้ทั้งสองวิธีเพื่อเปรียบเทียบกัน สำหรับวิธีที่สองเนื่องจากข้อความใน tweet โดยปกติแล้วมีความยาวไม่เกิน 280 character และไม่เอื้อต่อการคำนวนสถิติการใช้คำแบบที่ได้เกริ่นเอาไว้สักเท่าไหร่ ผมจึงใช้วิธีประมวลผลแบบ user-based pooling ซึ่งรวมข้อความทั้งหมดของผู้ใช้ twitter แต่ละคนเสมือนเป็นหนึ่งข้อความ จะได้ผลลัพธ์ดังต่อไปนี้

Top 20 Words by Number of Occurrences

term occurrences
เลือกตั้ง 2193265
ไทยรักษาชาติ 1565646
พรรค 1034531
ทรงพระสเลนเดอร์ 797935
คน 748678
ปี 714175
นายก 609186
เลือก 606318
อนาคตใหม่ 593672
นี้ 472417
การเมือง 351505
รัฐ 316011
ทูลกระหม่อม 315488
ท่าน 311558
แคนดิเดต 311457
พ่อ 307507
ไม่ได้ 270764
ทำ 259256
ชอบ 245762
ธนาธร 221065

Top 20 Words by TF-IDF Score

term weight
เลือกตั้ง 0.133673
ไทยรักษาชาติ 0.105736
พรรค 0.083042
ทรงพระสเลนเดอร์ 0.065978
เลือก 0.062077
ปี 0.060171
คน 0.053095
อนาคตใหม่ 0.049476
นายก 0.048583
นี้ 0.039915
พ่อ 0.038701
การเมือง 0.032746
ทูลกระหม่อม 0.031071
แคนดิเดต 0.030375
ท่าน 0.030373
รัฐ 0.029838
ฟ้ารักพ่อ 0.026913
ไทยรัฐ 0.025530
ฟ้า 0.025131
ชอบ 0.025099

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

คนรู้สึกอย่างไร (Sentiment Analysis)

เราสามารถวิเคราะห์ให้ลึกลงไปอีกมิติหนึ่งได้ โดยการสร้าง supervised learning model เพื่อ ตีความข้อความและคำที่ใช้ในแต่ละ tweet ว่ามีนัยเป็นบวกหรือเป็นลบ ในขั้นตอนนี้ผมทำตามบทความของคุณวรรณพงษ์ ภัททิยไพบูลย์ https://python3.wannaphong.com/2017/02/ทำ-sentiment-analysis-ภาษาไทยใน-python.html และเลือกใช้ข้อมูลคลังศัพท์ไทยเป็นพื้นฐานในการ train model ด้วย naive bayes algorithm ซึ่งในความเป็นจริงแล้วอาจไม่สมบูรณ์เท่าไหร่สำหรับการวิเคราะห์ข้อมูลจาก twitter เนื่องจากภาษาที่ใช้ในบริบท social media มีความลึกซึ้งและแตกต่างจากภาษาที่ใช้กันในบริบทอื่นๆ ถ้าจะให้แม่นกว่านี้ควรจะใช้มนุษย์เป็นผู้วิเคราะห์ข้อความใน tweet เบื้องต้นก่อน และนำ label (บวก หรือ ลบ) มาใช้ในการ train model อย่างไรก็ตาม การใช้คลังศัพท์เป็นพื้นฐานการ train ค่อนข้างประหยัดเวลาและทรัพยากรมากกว่า ผมจึงเลือกใช้วิธีนี้ครับ

ผลลัพธ์ที่ได้ คือภาพที่สะท้อนความรู้สึกและอารมณ์ในแง่ลบอย่างชัดเจนครับ แต่ผมขอย้ำว่าการผลลัพธ์นี้อาจไม่ได้สะท้อนถึงความรู้สึกนึกคิดของคนที่แสดงความคิดเห็นใน Twitter แต่อาจเป็นสิ่งที่เกิดจาก bias ใน model ที่ขาด label ที่มีคุณภาพ โปรดอย่านำไปใช้เป็นหลักฐานครับ

Coding

ดู code ที่ใช้ใน project นี้ได้ ที่นี่