BOW จากรีวิวสินค้า
คุณได้ฝึกใช้ BOW กับชุดข้อมูลขนาดเล็กมาแล้ว ตอนนี้ลองนำไปใช้กับตัวอย่างรีวิวสินค้าจาก Amazon กันบ้าง ข้อมูลถูกนำเข้ามาให้แล้วในชื่อ reviews ซึ่งมีสองคอลัมน์ คอลัมน์แรกชื่อ score โดยมีค่าเป็น 0 เมื่อรีวิวเป็นเชิงลบ และ 1 เมื่อเป็นเชิงบวก คอลัมน์ที่สองชื่อ review ซึ่งเก็บข้อความรีวิวที่ลูกค้าเขียนไว้ สามารถสำรวจข้อมูลเพิ่มเติมได้ใน IPython Shell
โจทย์คือให้สร้าง vocabulary แบบ BOW โดยใช้คอลัมน์ review
อย่าลืมว่าเราสามารถเรียกใช้เมธอด .get_feature_names() กับ vectorizer เพื่อดึงรายการ vocabulary ทั้งหมดออกมาได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Sentiment Analysis ด้วย Python
คำแนะนำการฝึกหัด
- สร้างออบเจกต์ CountVectorizer โดยระบุจำนวนฟีเจอร์สูงสุด
- Fit vectorizer
- Transform vectorizer ที่ผ่านการ fit แล้ว
- สร้าง DataFrame โดยแปลง sparse matrix ให้เป็น dense array และระบุชื่อคอลัมน์ให้ถูกต้อง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.feature_extraction.text import CountVectorizer
# Build the vectorizer, specify max features
vect = ____(____=100)
# Fit the vectorizer
vect.____(reviews.review)
# Transform the review column
X_review = vect.____(reviews.review)
# Create the bow representation
X_df=pd.DataFrame(X_review._____, columns=___.____)
print(X_df.head())