กระบวนการทำความสะอาดข้อมูลเป็นหัวข้อหนึ่งที่สำคัญ เพื่อให้ได้ข้อมูลที่มีคุณภาพก่อนนำไปฝึกสอนปัญญาประดิษฐ์ เพื่อใช้กับงานการประมวลผลภาษาธรรมชาติ, Data Science และอื่น ๆ เป็นต้น โดยมีขั้นตอนหลายขั้นด้วยกันที่สามารถได้กับข้อความที่เป็นภาษาไทย
บทความนี้จะยกเฉพาะการทำความสะอาดข้อความภาษาไทยที่สามารถทำได้ง่าย ๆ อาจจะไม่ครอบคุมทุกรณี ต้องขออภัยมา ณ ที่นี้
การทำความสะอาดข้อความภาษาไทยเบื้องต้น
- จัดการกับ emoji ที่ปะปนกับข้อความ
- จัดการกับการพิมพ์ข้อความที่เรียงผิดหรือใช้ผิดอักษร เช่น "แ" พิมพ์เป็น "เ เ" หรือ "ต้้้้น" เป็นต้น
- จัดการกับการพิมพ์ข้อความที่ไม่ได้สลับแป้นพิมพ์ เช่น "แมว" พิมพ์เป็น "c,;" เป็นต้น
- ลบคำฟุ่มเฟือยภาษาไทย
จัดการกับ emoji ที่ปะปนกับข้อความ
ในภาษาไพทอน (Python) ให้เราทำการติดตั้ง emoji ด้วยคำสั่งpip install emojiเสร็จแล้ว เราสามารถจัดการกับ emoji ได้หลายวิธีไม่ว่าจะเป็นการลบ emoji ออกจากข้อความ สามารถทำได้โดยใช้คำสั่งดังนี้
import emoji
def remove_emoji(text):
return ''.join([c for c in text if c not in emoji.UNICODE_EMOJI])
print(remove_emoji("อร่อยจัง 😊"))
ผลลัพธ์
อร่อยจัง
จัดการกับการพิมพ์ข้อความที่เรียงผิดหรือใช้ผิดอักษร
เราสามารถจัดการกับการพิมพ์ข้อความที่เรียงผิดหรือใช้ผิดอักษร เช่น "แ" พิมพ์เป็น "เ เ" หรือ "ต้้้้น" เป็นต้น ได้ง่าย ๆ ด้วย PyThaiNLPให้ลง PyThaiNLP โดยใช้คำสั่ง
pip install pythainlpเสร็จแล้วให้ใช้คำสั่ง
from pythainlp.util import normalizeมาลองใช้งานกัน
from pythainlp.util import normalize
print(normalize('สระะน้ำ'))
ผลลัพธ์
สระน้ำ
เพียงเท่านี้ เราสามารถจัดการกับการพิมพ์ข้อความที่เรียงผิดหรือใช้ผิดอักษรได้สำเร็จ
จัดการกับการพิมพ์ข้อความที่ไม่ได้สลับแป้นพิมพ์
การจัดการกับการพิมพ์ข้อความที่ไม่ได้สลับแป้นพิมพ์ เราสามารถทำได้ง่าย ๆ โดยใช้ PyThaiNLP เช่นกันให้เรียกใช้งานด้วยคำสั่ง
from pythainlp.util import eng_to_thaiลองใช้งานกัน
from pythainlp.util import eng_to_thai
print(eng_to_thai("Tok8kicsj'xitgmLwmp"))
ผลลัพธ์
ธนาคารแห่งประเทศไทย
ลบคำฟุ่มเฟือยภาษาไทย
คำฟุ่มเฟือย หรือ stopword เป็นคำที่ตัดออกได้โดยที่ข้อความยังสื่อความหมายเดิม สำหรับการลบคำฟุ่มเฟือยภาษาไทย เราสามารถทำได้ง่าย ๆ โดยใช้ PyThaiNLP เช่นกันให้เรียกใช้งานด้วยคำสั่ง
from pythainlp.corpus import thai_stopwordsแล้วเขียนดังนี้
from pythainlp.tokenize import word_tokenize text = "มีการความทดสอบภาษาไทย" list_word = word_tokenize(text) print(list_word) from pythainlp.corpus import thai_stopwords stopwords = list(thai_stopwords()) list_word_not_stopwords = [i for i in list_word if i not in stopwords] print(list_word_not_stopwords)
ผลลัพธ์
['มี', 'การ', 'ความ', 'ทดสอบ', 'ภาษาไทย']
['ทดสอบ', 'ภาษาไทย']
สำหรับบทความทำความสะอาดข้อความภาษาไทยเบื้องต้นง่าย ๆ ก่อนนำไปทำ AI ขอจบลงเพียงเท่านี้
ดีค่ะ เข้าใจง่ายดีค่ะ
ตอบลบ