Workshop week 14
Sentiment Analysis >>>>>>>>>>>>>>
what is Sentiment Analysis ??
มันคือ การวิเคราะห์ความรู้สึก
ซึ่งเป็นการวิเคราะห์ความรู้สึก ที่แปลงข้อความบน Social Media ผ่านโครงสร้าง Algorithm ได้ Output ออกมาคือ คำพูดด้านบวก ด้านลบ และปกติ
งั้นเรามาดูการทดลองกันดีกว่า…. โหลด library มาใช้ก่อน
import pandas as pd
from pathlib import Path
from pythainlp.tokenize import word_tokenize
from matplotlib import pyplot as plt
เริ่มจากการใช้มันตัดคำ

ดูข้อมูลสรุปที่แบ่งมันตาม class = คำพูดด้าน ลบ บวก ปกติ เชิงคำถาม

โหลดไฟล์ text มาดู และใช้ word_tokenize ตัดคำ

ดูข้อมูลสรุป โดยแบ่งตามคลาส

จากนั้นเราทำการสุ่มคำจาก 3 คลาส ซึ่งประกอบไปด้วย คำพูดเชิงลบ บวก ปกติ
นำมาต่อกัน

ทำการ Word2Vec
import multiprocessing
from gensim.models import Word2Vec

ทำ word2vec

ทำการสร้างผลเฉลยรอไว้

จากในใช้ ONE-HOT เข้าช่วยจ้าาาาา


งั้นเรามาดู model ที่จะทำการทดลองกันเลย


แล้วมาดูผลจากกราฟกัน


สาเหตุที่ค่าที่ทำการเทรน และค่า Test ออกมา ทำไมต่างกันยังห็นได้ชัด มันเกิดอะไรขึ้นกัน !!!!!!!!!!! เราทำผิดพลาดตรงไหนกันน ย้อยไปดูเรื่องที่สอน WEEK 13
เอ้า
.
.
.
มันเกิด Overfitting โดยส่วนใหญ่เกิดเมื่อเราพยายามปรับ (Turning) โมเดล ให้สามารถทำนายข้อมูล Training ให้ได้ดีที่สุด ทำให้มีการใส่พารามิเตอร์เข้าไปจนเกินไป ทำให้โมเดลมีความซับซ้อนเกินและเกิดการ Overfitting กับชุดข้อมูล Training นั้นๆ เท่านั้น หรือ อาจจะเรียกอีกอย่างว่าโมเดลมี high variance
แล้วเรา
จะแก้ปัญหา ได้อย่างไร?
นึกออกแล้ว เราต้องใช้ drop-out มาช่วยยยย
มา !!!!!!!!!!!!
ไปแก้กันเลย…………
แก้ที่ model กันเถอะ

ลองมาเทรนกันใหม่เถอะ

ดูกราฟที่ได้


กราฟสวยมากก ค่าที่ได้มีความสัมพันธ์กับที่เราสอนไป รู้สึกภูมิใจมาก
ลองดูค่า Acc กับ Loss ที่ได้

จบแล้วจ้า ขอบคุณที่ติดตามนะครับ งานชิ้นนี้เป็น week สุดท้ายแล้ว
