21 กุมภาพันธ์ 2563

Published 2/21/2563 by with 0 comment

ทำความสะอาดข้อความภาษาไทยเบื้องต้นง่าย ๆ ก่อนนำไปทำ AI

บทความนี้เราจะไปทำความสะอาดข้อมูลข้อความภาษาไทยกัน ก่อนนำข้อมูลไปผ่านกระบวนการฝึกสอนข้อมูลเพื่อใช้ในงานด้านปัญญาประดิษฐ์ (AI) ไม่ว่าจะเป็นการประมวลผลภาษาธรรมชาติ, Data Science และอื่น ๆ เป็นต้น

กระบวนการทำความสะอาดข้อมูลเป็นหัวข้อหนึ่งที่สำคัญ เพื่อให้ได้ข้อมูลที่มีคุณภาพก่อนนำไปฝึกสอนปัญญาประดิษฐ์ เพื่อใช้กับงานการประมวลผลภาษาธรรมชาติ, 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 ขอจบลงเพียงเท่านี้

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)