THAI SER: ชุดข้อมูลวิเคราะห์อารมณ์จากเสียงชุดแรกในประเทศไทย

Chompakorn C
AIResearch.in.th
Published in
4 min readMar 3, 2021

หากพูดถึง Human-Computer Interaction (HCI) หรือ “การปฏิสัมพันธ์ระหว่างคอมพิวเตอร์กับผู้ใช้” แล้วคงหลีกเลี่ยงไม่ได้ที่จะพูดถึง chatbot, siri, alexa, หรือระบบอื่นๆที่ต้องมีการโต้ตอบกับคำสั่งของมนุษย์ ด้วยเทคโนโลยีนี้ เราสามารถออกคำสั่งทั่วไปกับ AI ให้ทำงานอะไรบางอย่างง่ายๆได้ ตัวอย่างเช่น เปิดปิดไฟ ค้นหา Google หาร้านอาหาร หรือการสนทนาทั่วไป

รูปที่ 1: การใช้งาน SIRI ซึ่งเป็นการใช้ HCI

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

ทางศูนย์วิจัย VISTEC-depa AI Research Institute of Thailand ได้ทำการจัดเก็บชุดข้อมูล Speech Emotion Recognition ด้วยความร่วมมือและสนับสนุนจาก AIS และ คณะอักษรศาสตร์จุฬาลงกรณ์มหาวิทยาลัย ซึ่งถือเป็น dataset Speech Emotion Recognition ที่จำนวนนักแสดง และ จำนวนชั่วโมงเยอะที่สุดเป็นอันดับต้นๆของโลก โดยทางชุดข้อมูลจะได้นำมาเผยแพร่สู่สาธารณะ เพื่อให้นักวิจัยทั่วโลกสามารถร่วมค้นคว้าและวิจัย Speech Emotion Recognition ในภาษาไทย

การเตรียมชุดข้อมูล Speech Emotion Recognition

ชุดข้อมูลนี้ได้มีการเริ่มต้นการอัดเสียงเมื่อปลายปี 2019 ซึ่งได้มีบทความที่ทางศูนย์วิจัยได้เคยเขียนไว้ถึงรายละเอียดของการจัดห้องและไมค์ของชุดข้อมูล (สามารถตามอ่านบทความได้ที่นี่)

ชุดข้อมูลนี้ได้มีการเก็บเสียงจากทั้งหมด 5 อารมณ์ ได้แก่: Neutral (เฉยๆ), Anger​ (โกรธ), Happiness (ดีใจ), Sadness (เสียใจ), Frustration (หงุดหงิด) ซึ่ง Neutral, Anger, Happiness, และ Sadness นั้นถือเป็นอารมณ์พื้นฐานที่ทุก dataset จะมี

นอกจากนี้ ชุดข้อมูลนี้มีการอัดเสียงจากนักแสดงทั้งหมด 200 คน โดยใน 1 studio จะมีนักแสดงทั้งหมดสองคนรวมเป็นทั้งหมด 100 studio ซึ่งใน studio ทั้งหมด จะมีการอัดเสียงทั้งหมด 3 รูปแบบ

  1. ห้อง studio [studio1–18] > ห้องอัดไม่มีเสียงรบกวนและมีการบุผนังป้องกันเสียงก้อง
  2. zoom [zoom1–20] > อัดผ่าน zoom (ไม่มีการ ​control ไมค์) อัดเสียงผ่านโปรแกรม Zencastr
  3. ห้องทั่วไป [studio19–80] > มีเสียงรบกวน (เสียงแอร์, รถ) เป็นเล็กน้อย ไม่มีการบุผนังป้องกันเสียงก้อง

ซึ่งในแต่ละ studio จะมีการอัดทั้งหมด 2 แบบ script และ improvised

  • Script — นักแสดงจะต้องพูดประโยคที่กำหนดให้ในแต่ละอารมณ์
  • Improvised — นักแสดงจะ improvise ตามสถานการณ์และอารมณ์ที่กำหนดไว้

ตัวอย่างของประโยค script เช่น

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

ตัวอย่างของสถานกาณ์ improvised

  • [Neutral-Anger] พนังงานโรงแรมพยายามแก้ปัญหาให้กับลูกค้าที่โมโหกับบริการโรงแรม
  • [Happiness-Happiness] เพื่อนชวนเพื่อนอีกคนไปเป็นเพื่อนจ้าวบ่าว/สาวในงานแต่งงานของตัวเอง

สถิติชุดข้อมูล THAI SER

ชุดข้อมูล THAI SER ประกอบไปด้วยนักแสดงทั้งหมด 200 คน โดยนักแสดงเหล่านี้มาจากคณะอักษรศาสตร์สาขาศิลปะการละคร จุฬาลงกรณ์มหาวิทยาลัย ซึ่งสถิติโดยคร่าวของนักแสดงนั้นมีดังนี้

รูปที่ 2: อัตราส่วนของเพศนักแสดง และ การกระจายตัวของอายุนักแสดง

จะสังเกตได้จากรูปที่ 2 (ซ้าย) มีจำนวนผู้ชายและผู้หญิงใกล้ๆกันที่ 56% และ 44% และ รูปที่ 2 (ขวา) ซึ่งบ่งบอกถึงการกระจายตัวของอายุของนักแสดง อายุนักแสดงโดยเฉลี่ยจะอยู่ที่ 28.86±6.93 ปี

อย่างไรก็ตาม ชุดข้อมูล THAI SER ยังมีการกระจายตัวของอารมณ์ที่ไม่ดีมากนัก โดยมี frustrated มากถึง 25.42% เทียบกับอารมณ์​ sad ที่ 10.95% สังเกตได้ในรูปที่ 3 (ซ้าย)

รูปที่ 3: เปอร์เซ็นต์ของอารมณ์ต่างๆในชุดข้อมูล และ การกระจายตัวของความยาวไฟล์เสียง

นอกจากนี้ รูปที่ 3 (ขวา) ยังบ่งบอกถึงการกระจายตัวของความยาวไฟล์เสียงซึ่งจะเฉลี่ยอยู่ที่ 5.25±3.85 วินาที โดยความยาวของไฟล์เสียงที่ยาวสุดและสั้นสุดจะอยู่ที่ 88.92 วินาทีและ 0.44 วินาทีตามลำดับ

Crowdsourcing โดยคนว่าง ผ่าน wang.in.th

นอกจากขั้นตอนการเก็บข้อมูลที่ซับซ้อนแล้ว อีกหนึ่งส่วนที่เป็นอีกจุดสนใจสำหรับชุดข้อมูลนี้คือการใช้ crowdsourcing เพื่อการันตีว่า label ที่ใช้นั้นมีความน่าเชื่อถือมากพอ

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

รูปที่ 4: Crowdsourcing platform โดย wang.in.th

ผลจากการทดลอง model

ทางศูนย์วิจัยได้นำชุดข้อมูลมา train model SER จากชุดข้อมูล THAI SER ซึ่งเราจะวัดผมของโมเดลผ่านสองเกณฑ์มาตรฐานของ SER ได้แก่

  • Weighted Accuracy — จำนวนอารมณ์ที่เดาถูก / จำนวนข้อมูลทั้งหมด หรือเทียบเท่ากับ accuracy score นั่นเอง
  • Unweighted Accuracy — ค่าเฉลี่ยของ Accuracy ในแต่ละอารมณ์ ซึ่งเกณฑ์นี้จะบ่งบอกว่า model ทำได้ดีกับทุกอารมณ์จริงไหม

เราได้ train model ที่ใช้ deep learning model โดยใช้ CNN1D 4 layer ต่อด้วย biLSTM ก่อนที่จะผ่าน softmax classifier เราเรียกรูปแบบ model นี้ว่า CNN+LSTM โดยรูป architecture ของ neural network จะสังเกตได้จากรูปที่ 5

รูปที่ 5: architecture CNN+LSTM ที่ใช้สำหรับ train model

โดยตัว neural network จะใช้ mel-filterbank เป็น feature ซึ่งมีข้อมูลของความถี่ต่างๆในแต่ละช่วงเวลาของไฟล์เสียง

ผลการทดลองสุดท้ายของโมเดลนั้นได้อยู่ที่

Weighted Accuracy: 71.35% , Unweighted Accuracy: 67.44%

จะสังเกตุเห็นได้ว่าเป็นตัวเลขที่ค่อนข้างดีเลยทีเดียว อย่างไรก็ตามข้อผิดพลาด เกือบ 30% นั้นมาจากไหมเราสามารถดูได้จาก confusion matrix ใน รูปที่ 6

รูปที่ 6: confusion matrix ของผลการทดลอง

จาก confusion matrix จะเห็นได้ว่าอารมณ์ที่ model ทำได้แย่ที่สุดคือ sad นั่นเองเนื่องจาก ซึ่ง model นั้นเดาว่า sad เป็น neutral สูงถึง 21% นอกจากนี้ model ยังมีการเดา angry เป็น happy สูงถึง 27% เหมือนกัน

สาเหตุของการที่ model เดาผิดนั้นเป็นไปได้ว่าอารมณ์ sad/neutral นั้นมีคุณสมบัติที่ใกล้เคียงกันคือเสียงที่กลางไปจนถึงเบา และการสับสนของอารมณ์ angry/happy นั้นอาจเป็นเพราะการที่สองอารมณ์นี้มีเสียงที่ดังเหมือนกัน

โดยทุกคนสามารถทำการทดลองได้ผ่าน google colaboratory และ github repository

การ Download dataset

dataset นี้จะถูกนำมาใส่ไว้ใน release ของ github vistec-AI โดยสามารถกดเข้าได้จาก link นี้

โดยเราจะแบ่งเป็นไฟล์ .zip ไว้เรียงจาก studio1–10.zip ไปจนถึง studio 71–80.zip และ zoom1–10.zip, zoom11–20.zip รวมเป็น 100 studio นั่นเอง

ในส่วนของ label และ metadata จะมีใส่ไว้ในรูปแบบของ JSON ซึ่งบอกถึง agreement (ความเห็นพ้องของคน label ประโยคนั้นๆ) และอารมณ์ที่แต่ละ annotator เลือกโดยไฟล์ JSON จะ structure ดังนี้

{
"s029_con_actor097_script2_1_4b.wav": [
{"assigned_emo": "Sad",
"label": "Sad",
"annotated": [
["Sad"],
["Sad"],
["Sad"],
["Sad"],
["Sad"]],
"agreement": 1.0}],
"s021_con_actor077_impro9_7.wav": [
{"assigned_emo": "Neutral",
"label": "Neutral",
"annotated": [
["Neutral"],
["Neutral"],
["Frustrated"],
["Frustrated"],
["Neutral"]],
"agreement": 0.6}],
...}

แล้วชุดข้อมูลประเทศอื่นๆหล่ะ?

นอกจากชุดข้อมูล THAI SER แล้ว ยังมีชุดข้อมูลจากประเทศอื่นๆโดยประกอบไปด้วยภาษาต่างๆ ตัวอย่างการเปรียบเทียบชุดข้อมูลต่างประกอบไปด้วยดังนี้

ตารางที่ 1: การเปรียบเทียบชุดข้อมูลของ Speech Emotion Recognition ในภาษาต่างๆ โดยจำนวนชั่วโมง — หมายถึงยังไม่มีแสดงจำนวนชั่วโมงในงานวิจัย

จะสังเกตุได้ว่าชุดข้อมูลเราเยอะที่สุดเทียบกันงานนวิจัยอื่นๆทั้งจำนวนนักแสดง จำนวนประโยค และจำนวน ชั่วโมง

นอกจากนี้ ยังมีชุดข้อมูลอื่นๆนอกจากที่แสดงไว้ในตารางสามารถดูเพิ่มเติมได้ที่ github นี้

บทสรุป

ศูนย์วิจัยปัญญาประดิษฐ์แห่งประเทศไทย VISTEC-depa AIResearch Institute of Thailand ได้ทำการจัดเก็บชุดข้อมูลสำหรับทำโมเดล Speech Emotion Recognition ในสเกลที่ใหญ่เป็นอันดับต้นๆของโลก โดยมีจำนวนนักแสดงสูงถึง 200 คนรวมทั้งสิ้น ประมาณ 30 ชั่วโมง และได้นำวิธี crowdsourcing มาระบุอารมณ์ ชุดข้อมูลเพื่อควบคุมความสม่ำเสมอของชุดข้อมูล

ผู้ที่สนใจสามารถโหลดชุดข้อมูลได้จาก Github Release โดยสามารถ คลิกที่นี่ เพื่อไปยังเว็ปไซท์ Release โดยตรง และยังสามารถสร้าง model SER ได้โดยดูตัวอย่างการ train model ได้จากทั้ง github หรือ google colaboratory ด้านล่าง

https://colab.research.google.com/drive/1kF5xBYe7d48JRaz3KfIK65A4N5dZMqWQ?usp=sharing

https://github.com/vistec-AI/vistec-ser

Acknowledgement

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

นอกจากนี้ทางศูนย์วิจัยขอขอบคุณ AIS, จุฬาลงกรณ์มหาวิทยาลัย และ DEPA ที่ได้ช่วยให้ความร่วมมือและสนับสนุนชุดข้อมูลนี้ รวมไปถึง wang.in.th และ HOPE data annotation สำหรับความช่วยเหลือในกระบวนการของการระบุข้อมูลอารมณ์ต่างๆ

บทความนี้จัดทำโดยสถาบันวิจัยปัญญาประดิษฐ์ประเทศไทย (AIResearch)

Facebook & Medium: AIResearch.in.th

https://www.facebook.com/AIResearch.in.th/

--

--

Chompakorn C
AIResearch.in.th

Research Assistant at VISTEC-Depa AIResearch Institute