การจัดการ Stop Words และเครื่องหมายวรรคตอน

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

Fouad Trad

Machine Learning Engineer

Stop Words

  • ปรากฏบ่อยแต่ให้ข้อมูลเกี่ยวกับบริบทน้อยมาก
  • ไม่ค่อยมีประโยชน์ในงาน NLP หลายประเภท
  • การลบออกช่วยให้โมเดลโฟกัสที่คำสำคัญได้ดีขึ้น

ภาพแสดง stop words ตัวอย่าง เช่น a, an, the, in, of, that, for, by เป็นต้น

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การลบ Stop Words

เหมาะสำหรับ

การทำความเข้าใจหัวข้อของข้อความ

ภาพแสดงรีวิวสินค้าในแอปพลิเคชันมือถือ

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การลบ Stop Words

เหมาะสำหรับ

การทำความเข้าใจหัวข้อของข้อความ

ภาพแสดงรีวิวสินค้าในแอปพลิเคชันมือถือ

ไม่เหมาะสำหรับ

งานที่ต้องใช้ทุกคำในข้อความ

ภาพแสดงข้อความที่แปลจากภาษาอังกฤษ (Good morning) เป็นภาษาฝรั่งเศส (Bonjour)

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การเข้าถึง Stop Words

NLTK มีรายการ stop words สำหรับหลายภาษา

from nltk.corpus import stopwords
nltk.download('stopwords')

stop_words = stopwords.words('english')
print(stop_words[:10])
['a', 'about', 'above', 'after', 'again', 'against', 'ain', 'all', 'am', 'an']
การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การลบ Stop Words

from nltk.tokenize import word_tokenize

text = "This is an example to demonstrate removing stop words."
tokens = word_tokenize(text)
# The .lower() method helps with case sensitivity filtered_tokens = [word for word in tokens if word.lower() not in stop_words]
print(filtered_tokens)
['example', 'demonstrate', 'removing', 'stop', 'words', '.']
การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

เครื่องหมายวรรคตอน

  • ช่วยจัดโครงสร้างภาษาสำหรับมนุษย์
  • ไม่มีข้อมูลที่มีความหมายในงาน NLP หลายประเภท

ภาพแสดงเครื่องหมายวรรคตอนและอักขระพิเศษต่าง ๆ

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การลบเครื่องหมายวรรคตอน

เหมาะสำหรับ

งานที่ต้องการค้นหาคำที่พบบ่อยหรือคำสำคัญในเอกสาร

ภาพแสดงไฟล์และเอกสารหลายชิ้นที่ต้องประมวลผล

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การลบเครื่องหมายวรรคตอน

เหมาะสำหรับ

งานที่ต้องการค้นหาคำที่พบบ่อยหรือคำสำคัญในเอกสาร

ภาพแสดงไฟล์และเอกสารหลายชิ้นที่ต้องประมวลผล

ไม่เหมาะสำหรับ

งานที่ต้องรักษาโครงสร้างประโยคเพื่อความชัดเจน

ภาพแสดงหนังสือหลายเล่มและเอกสารสรุปที่สร้างขึ้นจากหนังสือเหล่านั้น

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

การเข้าถึงและลบเครื่องหมายวรรคตอน

import string
print(string.punctuation)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
text = "This is an example to demonstrate removing stop words."
tokens = word_tokenize(text)
filtered_tokens = [word for word in tokens if word.lower() not in stop_words]

clean_tokens = [word for word in filtered_tokens if word not in string.punctuation]
print(clean_tokens)
['example', 'demonstrate', 'removing', 'stop', 'words']
การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

มาฝึกกันเถอะ!

การประมวลผลภาษาธรรมชาติ (NLP) ด้วย Python

Preparing Video For Download...