การตรวจจับภาษาในรีวิวสินค้า
ในแบบฝึกหัดนี้จะได้ฝึกตรวจจับภาษาบนชุดข้อมูลขนาดเล็กชื่อ non_english_reviews ซึ่งเป็นตัวอย่างรีวิวที่ไม่ใช่ภาษาอังกฤษจากรีวิวสินค้าของ Amazon
ให้วนซ้ำผ่านแต่ละแถวของชุดข้อมูล ตรวจจับภาษาของแต่ละแถว แล้วเพิ่มผลลัพธ์ลงในลิสต์ว่าง จากนั้นต้องทำความสะอาดลิสต์ให้เหลือเฉพาะรหัสภาษา เช่น 'en' สำหรับภาษาอังกฤษ แทนที่จะเป็นผลลัพธ์ดิบอย่าง en:0.9987654 จำไว้ว่าฟังก์ชันตรวจจับภาษาอาจคืนค่าหลายภาษา โดยรายการแรกในลิสต์คือตัวเลือกที่มีความเป็นไปได้สูงสุด สุดท้ายให้กำหนดลิสต์นี้ให้กับคอลัมน์ใหม่
ตรรกะที่ใช้เหมือนกับในสไลด์และแบบฝึกหัดก่อนหน้า ต่างกันตรงที่แทนที่จะใช้ฟังก์ชันกับลิสต์ คราวนี้ทำงานกับชุดข้อมูลโดยตรง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Sentiment Analysis ด้วย Python
คำแนะนำการฝึกหัด
- วนซ้ำผ่านแต่ละแถวของชุดข้อมูล
non_english_reviews - ภายในลูป ให้ตรวจจับภาษาของคอลัมน์ที่สองในชุดข้อมูล
- ทำความสะอาดสตริงโดยการแบ่งที่
:ภายใน list comprehension - สุดท้าย กำหนดลิสต์ที่ทำความสะอาดแล้วให้กับคอลัมน์ใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from langdetect import detect_langs
languages = []
# Loop over the rows of the dataset and append
for row in ____(____(non_english_reviews)):
languages.append(____(non_english_reviews.iloc[row, 1]))
# Clean the list by splitting
languages = [str(lang).____(':')[0][1:] for lang in languages]
# Assign the list to a new feature
non_english_reviews['language'] = ____
print(non_english_reviews.head())