0Pricing
Learn AI with Python · บทเรียน

การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์

นำแท็ก HTML เครื่องหมายวรรคตอน URL และอีเมลออก — สร้างฟังก์ชันเตรียมข้อความ

การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

ทำไมต้องทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์

ข้อความดิบจากเว็บเต็มไปด้วยสิ่งรบกวน เช่น แท็ก HTML, URL, อีเมล, ช่องว่างเกิน และอักขระพิเศษ การป้อนข้อมูลเหล่านี้ให้โมเดลทำให้ใช้ความสามารถโดยเปล่าประโยชน์และลดคุณภาพผลลัพธ์

นิพจน์ปกติเป็นเครื่องมือหลักสำหรับการเตรียมข้อความล่วงหน้า เราจะสร้างกระบวนการทำความสะอาดทีละขั้นตอน

ตัวอย่างข้อมูลที่ยุ่งเหยิง

นี่คือลักษณะของสตริงที่คุณอาจขูดมาจากเว็บ แต่ละขั้นตอนการทำความสะอาดจะจัดการกับสิ่งรบกวนคนละประเภท

raw = "<p>Contact us at info@shop.com or visit https://shop.com NOW!!!   Thanks</p>"

การลบแท็ก HTML

แท็ก HTML มีลักษณะเหมือน <tag> รูปแบบ <[^>]+> จะจับคู่ < ตามด้วยอักขระใด ๆ ที่ไม่ใช่ > และปิดท้ายด้วย >

แทนที่แท็กเหล่านี้ด้วยสตริงว่าง (สำหรับ HTML ที่ซับซ้อน ควรใช้ตัวแยกวิเคราะห์อย่าง BeautifulSoup แต่นิพจน์ปกติก็เหมาะสำหรับการทำความสะอาดอย่างรวดเร็ว)

import re

text = re.sub("<[^>]+>", "", raw)
print(text)   # "Contact us at info@shop.com or visit https://shop.com NOW!!!   Thanks"

การลบ URL

URL จะเริ่มต้นด้วย http:// หรือ https:// ตามด้วยอักขระที่ไม่ใช่ช่องว่าง จับคู่และลบ URL เหล่านั้นออก

import re

text = re.sub("https?://\S+", "", text)
print(text)   # URL removed

การลบที่อยู่อีเมล

รูปแบบอีเมลอย่างง่ายประกอบด้วยอักขระคำ ตามด้วย @ โดเมน จุด และโดเมนระดับบนสุด

import re

text = re.sub("\S+@\S+\.\S+", "", text)
print(text)   # email removed

การปกปิดแทนการลบ

สำหรับชุดข้อมูลด้านความเป็นส่วนตัว คุณมักจะปกปิดข้อมูลที่ละเอียดอ่อนแทนการลบ เพื่อคงโครงสร้างของประโยคไว้

import re

masked = re.sub("\S+@\S+\.\S+", "[EMAIL]", "reach me at a@b.com please")
print(masked)   # "reach me at [EMAIL] please"

การลบอักขระพิเศษ

เก็บตัวอักษร ตัวเลข และช่องว่างไว้ แล้วลบเครื่องหมายวรรคตอนและสัญลักษณ์ด้วยชุดอักขระแบบปฏิเสธ สำหรับแต่ละงาน ให้พิจารณาว่าควรเก็บเครื่องหมายวรรคตอนบางชนิดไว้หรือไม่

import re

text = re.sub("[^A-Za-z0-9 ]", "", "Hello!! @world #2026")
print(text)   # "Hello world 2026"

การปรับช่องว่างให้เป็นมาตรฐาน

การทำความสะอาดอาจทิ้งช่องว่างซ้ำและการขึ้นบรรทัดใหม่ที่เกินมา ให้รวมช่องว่างที่ต่อเนื่องกันไม่ว่าจะยาวเท่าใดให้เหลือช่องว่างเดียวด้วย \s+ จากนั้นใช้ strip() กับส่วนต้นและส่วนท้าย

import re

text = re.sub("\s+", " ", "Hello    world\n\n  again").strip()
print(text)   # "Hello world again"

การเปลี่ยนเป็นตัวพิมพ์เล็กและความสำคัญของลำดับ

การเปลี่ยนเป็นตัวพิมพ์เล็กเป็นวิธีที่ใช้กันทั่วไปเพื่อให้ข้อมูลสอดคล้องกัน แต่ควรใช้อย่างระมัดระวัง นอกจากนี้ ลำดับก็สำคัญ ควรลบ HTML ก่อนลบอักขระพิเศษ และปรับช่องว่างให้เป็นมาตรฐานเป็นขั้นตอนสุดท้าย เพื่อไม่ให้การลบในขั้นก่อนหน้าทิ้งช่องว่างที่ไม่ต้องการไว้

text = text.lower()
# Pipeline order: tags -> urls -> emails -> specials -> whitespace -> lowercase

การสร้างกระบวนการทำความสะอาด

รวมขั้นตอนต่าง ๆ ไว้ในฟังก์ชันเดียว เพื่อให้เอกสารทุกฉบับได้รับการจัดการเหมือนกัน หากประมวลผลเอกสารจำนวนมาก ให้เตรียมรูปแบบไว้ล่วงหน้าเพื่อเพิ่มความเร็ว

import re

def clean_text(s):
    s = re.sub("<[^>]+>", " ", s)          # html tags
    s = re.sub("https?://\S+", " ", s)     # urls
    s = re.sub("\S+@\S+\.\S+", " ", s)    # emails
    s = re.sub("[^A-Za-z0-9 ]", " ", s)     # special chars
    s = re.sub("\s+", " ", s).strip()       # whitespace
    return s.lower()

print(clean_text(raw))

การใช้กระบวนการกับ DataFrame

เรียกใช้ตัวทำความสะอาดกับคอลัมน์ข้อความทั้งคอลัมน์ด้วย apply เพื่อสร้างคอลัมน์ที่พร้อมใช้กับโมเดล

import pandas as pd

df["clean"] = df["text"].apply(clean_text)
print(df[["text", "clean"]].head())

ตรวจสอบอย่างรวดเร็ว: การปรับช่องว่างให้เป็นมาตรฐาน

หลังการทำความสะอาด ข้อความของคุณยังมีช่องว่างหลายช่องและการขึ้นบรรทัดใหม่ต่อเนื่องกัน ซึ่งคุณต้องการรวมให้เหลือช่องว่างเดียว

ทบทวน: การทำความสะอาดข้อความด้วยนิพจน์ปกติ

คุณได้สร้างกระบวนการเตรียมข้อมูลล่วงหน้าที่ใช้งานได้จริงแล้ว:

  • ลบ HTML ด้วย <[^>]+>
  • ลบ URL (https?://\S+) และอีเมล
  • ปกปิดข้อมูลที่ละเอียดอ่อนด้วยตัวแทน เช่น [EMAIL]
  • ลบอักขระพิเศษด้วยชุดอักขระแบบปฏิเสธ
  • ปรับช่องว่างให้เป็นมาตรฐานด้วย \s+ + strip()
  • รวมทุกอย่างไว้ในฟังก์ชันและใช้ apply กับคอลัมน์

เนื้อหาเกี่ยวกับนิพจน์ปกติสำหรับข้อความของปัญญาประดิษฐ์จบลงแล้ว ถัดไป: ฐานข้อมูลสำหรับโครงการปัญญาประดิษฐ์

คำถามที่พบบ่อย

บทเรียน “การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์”

นำแท็ก HTML เครื่องหมายวรรคตอน URL และอีเมลออก — สร้างฟังก์ชันเตรียมข้อความ คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. รูปแบบนิพจน์ประจำและคลาสอักขระ
  2. โมดูล re: search, match, findall, sub
  3. กลุ่มจับและกลุ่มที่มีชื่อ
  4. การทำความสะอาดข้อความสำหรับปัญญาประดิษฐ์ด้วยนิพจน์ רגูลาร์
← กลับไปที่ Learn AI with Python