Tokenize NLTK: Tokenizer คำและประโยคพร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
NLTK Tokenize แบ่งข้อความขนาดใหญ่เป็นหน่วยย่อยที่เรียกว่าโทเค็น ซึ่งเป็นขั้นตอนพื้นฐานในการประมวลผลภาษาธรรมชาติ ชุดเครื่องมือนี้มี word_tokenize สำหรับแบ่งประโยคออกเป็นคำ และ sent_tokenize สำหรับแบ่งข้อความออกเป็นประโยคแต่ละประโยค
Tokenization คืออะไร?
tokenization เป็นกระบวนการที่ข้อความจำนวนมากถูกแบ่งออกเป็นส่วนเล็กๆ ที่เรียกว่าโทเค็น โทเค็นเหล่านี้มีประโยชน์มากในการค้นหารูปแบบ และถือเป็นขั้นตอนพื้นฐานสำหรับการแยกและย่อคำ โทเค็นไนซ์ยังช่วยทดแทนองค์ประกอบข้อมูลที่ละเอียดอ่อนด้วยองค์ประกอบข้อมูลที่ไม่ละเอียดอ่อน
การประมวลผลภาษาธรรมชาติใช้สำหรับการสร้างแอปพลิเคชัน เช่น การจัดประเภทข้อความ แชทบอทอัจฉริยะการวิเคราะห์ทางอารมณ์ การแปลภาษา ฯลฯ การเข้าใจรูปแบบในข้อความเพื่อให้บรรลุวัตถุประสงค์ข้างต้นถือเป็นสิ่งสำคัญ
ในขณะนี้ ไม่ต้องกังวลเกี่ยวกับการสร้างคำจากรากศัพท์และการสร้างคำจากรากศัพท์ แต่ให้ถือว่าเป็นขั้นตอนในการทำความสะอาดข้อมูลข้อความโดยใช้ NLP (การประมวลผลภาษาธรรมชาติ) เราจะพูดถึงการสร้างคำจากรากศัพท์และการสร้างคำจากรากศัพท์ในภายหลังในบทช่วยสอน งานต่างๆ เช่น การจัดประเภทข้อความหรือการกรองสแปม ใช้ NLP ร่วมกับไลบรารีการเรียนรู้เชิงลึก เช่น Keras และ เทนเซอร์โฟลว์.
ชุดเครื่องมือภาษาธรรมชาติมีโมดูล NLTK ที่สำคัญมาก โทเค็น ประโยคที่ประกอบด้วยโมดูลย่อยเพิ่มเติม
- โทเค็นคำ
- โทเค็นประโยค
Tokenization ของคำ
เราใช้วิธี word_tokenize() เพื่อแยกประโยคออกเป็นคำ ผลลัพธ์ของโทเค็นคำสามารถแปลงเป็น Data Frame เพื่อการทำความเข้าใจข้อความที่ดีขึ้นในแอปพลิเคชันการเรียนรู้ของเครื่อง นอกจากนี้ยังสามารถใช้เป็นอินพุตสำหรับขั้นตอนการทำความสะอาดข้อความเพิ่มเติม เช่น การลบเครื่องหมายวรรคตอน การลบอักขระตัวเลข หรือการแยกตัวอักษร โมเดลแมชชีนเลิร์นนิงต้องใช้ข้อมูลตัวเลขเพื่อฝึกฝนและคาดการณ์ การแปลงโทเค็นคำกลายเป็นส่วนสำคัญของข้อความ (สตริง) เป็นการแปลงข้อมูลตัวเลข โปรดอ่านเกี่ยวกับ ถุงคำหรือเคานต์เวคเตอร์ไรเซอร์- โปรดดูตัวอย่างคำโทเค็น NLTK ด้านล่างเพื่อทำความเข้าใจทฤษฎีได้ดีขึ้น
from nltk.tokenize import word_tokenize text = "God is Great! I won a lottery." print(word_tokenize(text)) Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Code คำอธิบาย
- โมดูล word_tokenize ถูกนำเข้าจากไลบรารี NLTK
- ตัวแปร “ข้อความ” เริ่มต้นได้ด้วยสองประโยค
- ตัวแปรข้อความถูกส่งผ่านในโมดูล word_tokenize และพิมพ์ผลลัพธ์ โมดูลนี้จะแบ่งแต่ละคำด้วยเครื่องหมายวรรคตอนซึ่งคุณสามารถดูได้ในผลลัพธ์
Tokenization ของประโยค
โมดูลย่อยที่มีอยู่สำหรับข้างต้นคือ send_tokenize คำถามที่ชัดเจนในใจของคุณก็คือ เหตุใดจึงจำเป็นต้องมีโทเค็นประโยคเมื่อเรามีตัวเลือกในการใช้โทเค็นคำ- ลองนึกภาพคุณต้องนับคำโดยเฉลี่ยต่อประโยค คุณจะคำนวณอย่างไร? เพื่อให้บรรลุภารกิจดังกล่าว คุณต้องใช้ทั้งโทเค็นประโยค NLTK และโทเค็นคำ NLTK เพื่อคำนวณอัตราส่วน เอาต์พุตดังกล่าวทำหน้าที่เป็นคุณลักษณะที่สำคัญสำหรับการฝึกเครื่องจักรเนื่องจากคำตอบจะเป็นตัวเลข
ตรวจสอบตัวอย่างโทเค็น NLTK ด้านล่างเพื่อเรียนรู้ว่าโทเค็นประโยคแตกต่างจากโทเค็นคำอย่างไร
from nltk.tokenize import sent_tokenize text = "God is Great! I won a lottery." print(sent_tokenize(text)) Output: ['God is Great!', 'I won a lottery ']
เรามี 12 คำพูดและ สองประโยค สำหรับอินพุตเดียวกัน
คำอธิบายของโปรแกรม
- ในบรรทัดเหมือนโปรแกรมก่อนหน้า ให้นำเข้าโมดูล send_tokenize
- เราได้รับประโยคเดียวกัน tokenizer ประโยคเพิ่มเติมในโมดูล NLTK แยกวิเคราะห์ประโยคนั้นและแสดงผลลัพธ์ เห็นได้ชัดว่าฟังก์ชันนี้แบ่งแต่ละประโยค
โทเค็นไนเซอร์เหนือคำ Python ตัวอย่างคือการตั้งค่าที่ดีในการทำความเข้าใจกลไกของโทเค็นคำและประโยค



