14 ก.พ. 2020 เวลา 05:00 • วิทยาศาสตร์ & เทคโนโลยี
ลองวิเคราะห์ข้อมูล Twitter ตามสไตล์โอตะ BNK ด้วย Tweepy, Pandas และ NLP Part 1
รูป Jib BNK48 จากเพจFacebook สามารถติดตามได้ทาง https://www.facebook.com/pg/bnk48official.jib
สวัสดีคุณผู้อ่านทุกท่านที่เข้ามาอ่านบทความนี้นะครับ ก่อนอื่นผมขอสารภาพเลยว่าผมเป็นหนึ่งในคนที่ค่อนข้างชื่นชอบและตามวง BNK หรือหลายๆ คนก็จะเรียกกันว่าโอตะนั่นเอง สืบเนื่องมาจากวันหนึ่งขณะผมไล่ดูฟีดหน้าเฟสบุ๊คระหว่างอยู่บน BTS ผมก็ไปเห็นว่าเกิดปรากฏการณ์ที่ชื่อของHashtag #JibBNK48 หนึ่งในสมาชิกวง BNK ที่ผมชื่นชอบติดเทรนด์ฮิตของ twitter ทว่าด้วยอะไรหลายๆ อย่างทำให้ผมไม่สามารถที่จะตามข่าวได้อย่างเต็มที่ ด้วยความอยากรู้และการนึกสนุกของผม หลังจากนั้นประมาณสองอาทิตย์ผมจึงได้ลองสร้าง Challenge สนุกๆ ขึ้นว่า “ลองมาดึงข้อมูลจาก Twitter เกี่ยวกับจิ๊บมาวิเคราะห์แบบเร็วๆ ดีกว่า” และเมื่อทำเสร็จผมเลยอยากจะแชร์สิ่งที่ทำขึ้น เพราะผมเห็นว่าสิ่งที่ผมกำลังทำอยู่นั้นสามารถเอาไปประยุกต์ใช้กับข้อมูลอื่นๆ ได้ด้วย ไม่ว่าจะเป็นเรื่องกระแสต่างๆ ที่เกิดขึ้นใน Twitter หรือพวกข่าวสารต่างๆ ที่เกิดขึ้นอย่างมากมาย ด้วยเหตุนี้เลยทำให้เกิดบทความนี้ขึ้นนั้นเอง
สิ่งที่ผมทำและผลลัพธ์ที่ได้
ก่อนที่จะเข้าสู้เนื้อหาอย่างจริงจัง ผมอยากจะเกริ่นถึงสิ่งที่จะปรากฏในบทความนี้ก่อนว่าจะมีอะไรเกิดขึ้นบ้าง เพื่อเป็นตัวช่วยตีกรอบคร่าวๆ สำหรับผู้สนใจด้านเชิงเทคนิคหรือด้าน Data Science และก็อยากจะเล่าถึงข้อมูลที่ผมได้รับจากการวิเคราะห์สำหรับผู้ที่ไม่ได้อยู่ในสายงานเหล่านี้ แต่อยากรู้ว่าผมได้ข้อมูลอะไรออกมาบ้างนะครับ
สำหรับผลลัพธ์ที่ผมได้จากการวิเคราะห์ เนื่องจากผมตั้งโจทย์กับตัวเองไว้ว่าอยากรู้เรื่องที่คนส่วนมากคุยกันเยอะๆ เกี่ยวกับจิ๊บ รวมถึงสิ่งที่คนส่วนใหญ่ชอบกันเกี่ยวกับเหตุการณ์ที่เกิดขึ้น และพวกสิ่งของ ผู้คนหรือเหตุการณ์ที่ถูกพูดขึ้นร่วมด้วย ผมเลยตั้งเป้าที่จะวิเคราะห์เกี่ยวข้อมูล 5 อย่างเหล่านี้ได้แก่ 1.จำนวนการทวิตและรีทวิตในแต่ละวัน 2.ทวิตที่มีการ Retweet สูง 3.ทวิตที่มียอด Favourite สูง 4.Hashtag ที่ถูกกล่าวถึงด้วยบ่อยๆ 5.คำที่ถูกพบบ่อยใน Hashtag #JibBNK48
โดยข้อมูลที่ผมนำมาใช้วิเคราะห์เป็นข้อมูลทวิตระหว่างวันที 20 ถึง 27 มกราคม 2563 ซึ่งผลที่ได้ก็ตามด้านล่างนี้เลยครับ
จำนวนการทวิตและรีทวิต: ในระหว่างช่วง 20 -27 มกราคม ผมพบว่าในช่วง 7 วันดังกล่าว Hashtag #JibBNK48 ถูกทวิตไปเกือบ 1 ล้าน 5 แสนครั้ง โดยมีการพูดถึงมากที่สุดในวันที่ 21 ซึ่งมีจำนวนทวิตถึง 5 แสน 9 พันกว่าครั้ง
ทวิตที่มีการ Retweet และ Favourite สูงสุด : สำหรับ 2 หัวข้อนี้ผมพบว่าทวิตที่ได้รับการสนใจแล้วเกิดการ Retweet และกด Favourite อันดับต้นๆ จะคล้ายคลึงกัน ซึ่งทวิตที่คนพูดถึงกันมากที่สุดจะเป็นเรื่องเกี่ยวกับเพลงเดี่ยวของจิ๊บ และรองลงมาจะเป็นเรื่องเหตุการณ์ที่เกิดขึ้นใน Digital Live Studio ที่จิ๊บได้เข้าร่วม
ตัวอย่าง 10 อันดับทวิตที่มีHashtag #JibBNK48 ซึ่งมีการรีทวิตสูงสุด 10 อันดับในช่วงวันที่ 20–27 มกราคม 2563
Hashtag ที่ถูกกล่าวถึงร่วมด้วยบ่อย : ถ้าไม่นับร่วม Hashtag #jibbnk48 ที่สะกดต่างกับคำที่ผมใช้ค้นหา Hashtag ที่เจอบ่อยรองลงมาก็คือ #musicbnk48 ครับ ซึ่งก็เกิดจากกระแสเหตุการณ์ที่เกิดขึ้นใน Digital Live Studio นั่นเอง
คำที่ถูกพบบ่อย : สำหรับคำที่พบบ่อยนั้น คำแรกเลยก็คือคำว่า “เพลง” ส่วนอันดับต่อมาจะเป็นตัวอักษรที่เป็นตัวประกอบของคำว่า “It’s” ซึ่งเป็นคำขึ้นต้นของเพลงเดี่ยวของจิ๊บ (It’s me) และเฌอปราง (It’s life) ครับ ด้วยเพราะมีการพูดถึงทั้ง 2 เพลงใน Hashtag นี้ เลยทำให้พบเจอ 2 คำนี้บ่อยเป็นอันดับสองนั่นเองอันดับถัดมาก็ไม่พ้นคำว่า “me” ซึ่งเป็นหนึ่งในชื่อเพลงของจิ๊บ ส่วนคำที่พบบ่อยรองลงมาก็เช่น จิ๊บ 48 ซึ่งบ่งบอกถึงตัวของจิ๊บเอง แล้วก็ความรู้สึกต่อเพลง เช่นคำว่า ชอบ ครับ
สำหรับรายละเอียดของข้อมูลและขั้นตอนที่จะได้ผลลัพธ์ออกมา ผมจะขอพูดถึงในส่วนข้อมูลเชิงเทคนิคนะครับ
ซึ่งในส่วนข้อมูลเชิงเทคนิคในบทความชุดนี้ก็จะสามารถแบ่งออกได้เป็น 4 ช่วง ตามนี้เลยครับ:
สิ่งที่คุณต้องเตรียมในการดึงข้อมูลจาก Twitter และวิเคราะห์ข้อมูลในบทความนี้
การดึงข้อมูลจาก Twitter ด้วย Tweepy และเก็บข้อมูลลง Excel ด้วย Pandas
การจัดการข้อมูลเพื่อหายอดทวิตในแต่ละวัน และการหาทวิต 10 อันดับแรกที่มีการ Retweet และยอด favourite สูงสุด ด้วย Pandas
การกรองคำในข้อมูลทวิต ตัดคำ และนับคำ เพื่อหา Hashtag ที่เกี่ยวข้องและคำที่พบบ่อย
สำหรับบทความ Part 1 นี้ ผมจะกล่าวถึง 2 หัวข้อแรกก่อนนะครับ แล้วขอยกหัวข้อที่เหลือไว้ในบทความต่อๆ ไป เอาล่ะครับ เพื่อไม่ให้เป็นการเสียเวลา เรามาเข้าเนื้อหาด้านเทคนิคกันเลยดีกว่า
สิ่งที่ต้องเตรียมในการดึงและวิเคราะห์ข้อมูลจาก Twitter
ในหัวข้อนี้ผมขอพูดถึง 3 สิ่งที่คุณต้องเตรียมสำหรับลองดึงข้อมูลและวิเคราะห์ในบทความนี้นะครับ
Python : สิ่งแรกคือภาษาคอมพิวเตอร์ที่ผมจะใช้ในการทำงาน ซึ่งในบทความนี้ผมได้ใช้ Python ในการ Coding เนื่องจากมีเครื่องมือและการใช้ที่ค่อนข้างง่ายสำหรับงานด้านนี้นะครับ
Libray : ในส่วนของ Library ที่ผมใช้ในงานนี้มีทั้งสิ้น 6 อย่าง ได้แก่
Tweepy ใช้สำหรับในการดึงข้อมูล(Crawler) จาก Twitter
Pandas ใช้สำหรับจัดการข้อมูลที่ดึงมาได้ให้อยู่ในรูปตาราง แล้วจัดกลุ่มหรือทำการวิเคราะห์ข้อมูลต่างๆ ที่อยู่ในรูปตาราง
sklearn ใช้สำหรับทำสิ่งที่เรียกว่า Bag of Word เพื่อใช้สำหรับแปลงคำที่เป็นภาษามนุษย์ให้คอมพิวเตอร์เข้าใจได้
numpy ใช้สำหรับในการช่วยเหลือด้านจัดการและการคำนวณตัวเลขในรูปเมทริกซ์
emoji ใช้สำหรับเป็นฐานข้อมูล emoji เพื่อนำมาใช้กรอง emoji ที่พบในทวิตเพื่อให้สามารถวิเคราะห์ข้อมูลได้สะดวกขึ้น
re หรือ regularExpression ใช้สำหรับในการจับ pattern ของคำที่เราต้องการเพื่อใช้สำหรับกรองคำที่ไม่ต้องการออกไปเช่น URL ของรูปหรือลิงค์อื่นๆ
สำหรับผู้ที่สนใจด้าน pandas หรือ numpy ซึ่งเป็น Library พื้นฐานของด้าน Data Science สามารถศึกษาได้จากที่ medium นี้ครับ
โฆษณา