พวกเขาเป็นบอตหรือเปล่า?
บริษัทที่คุณทำงานอยู่ขอให้วิเคราะห์ความรู้สึก (sentiment analysis) โดยใช้ชุดข้อมูลที่เป็นทวีต ก่อนอื่น ต้องทำความสะอาดข้อมูลและดึงข้อมูลบางส่วนออกมาก่อน
ขณะพิมพ์ข้อความออกมาดู พบว่าทวีตบางรายการมีการกล่าวถึงผู้ใช้ (user mentions) และบางรายการมีรูปแบบที่แปลกมาก ตัวอย่างที่สังเกตเห็น: @robot3!, @robot5& และ @robot7#
เพื่อวิเคราะห์ว่าผู้ใช้เหล่านั้นเป็นบอตหรือไม่ จะทดสอบแนวคิดด้วยทวีตหนึ่งรายการโดยดึงข้อมูลออกมาด้วยเมธอด .findall()
นี่คือ metacharacter ที่เป็นประโยชน์สำหรับใช้ในภายหลัง:
\d: ตัวเลข
\w: ตัวอักษร (word character)
\W: อักขระที่ไม่ใช่ตัวอักษร (non-word character)
\s: ช่องว่าง (whitespace)
ข้อความของทวีตหนึ่งรายการถูกบันทึกไว้ในตัวแปร sentiment_analysis สามารถใช้ print(sentiment_analysis) เพื่อดูข้อมูลใน IPython Shell
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Regular Expressions ใน Python
คำแนะนำการฝึกหัด
- นำเข้าโมดูล
re - เขียน regex ที่จับคู่กับ user mentions ที่ขึ้นต้นด้วย
@และเป็นไปตามรูปแบบ เช่น@robot3! - ค้นหาคำที่ตรงกับ pattern ทั้งหมดในตัวแปร
sentiment_analysis
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the re module
____
# Write the regex
regex = ____"____"
# Find all matches of regex
print(re.____(____, ____))