Tokenize NLTK: Tokenizer คำและประโยคพร้อมตัวอย่าง

Tokenization คืออะไร?

tokenization เป็นกระบวนการที่ข้อความจำนวนมากถูกแบ่งออกเป็นส่วนเล็กๆ ที่เรียกว่าโทเค็น โทเค็นเหล่านี้มีประโยชน์มากในการค้นหารูปแบบ และถือเป็นขั้นตอนพื้นฐานสำหรับการแยกและย่อคำ โทเค็นไนซ์ยังช่วยทดแทนองค์ประกอบข้อมูลที่ละเอียดอ่อนด้วยองค์ประกอบข้อมูลที่ไม่ละเอียดอ่อน

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

ในขณะนี้ ไม่ต้องกังวลเกี่ยวกับการสร้างคำจากรากศัพท์และการสร้างคำจากรากศัพท์ แต่ให้ถือว่าเป็นขั้นตอนในการทำความสะอาดข้อมูลข้อความโดยใช้ NLP (การประมวลผลภาษาธรรมชาติ) เราจะพูดถึงการสร้างคำจากรากศัพท์และการสร้างคำจากรากศัพท์ในภายหลังในบทช่วยสอน งานต่างๆ เช่น การจัดประเภทข้อความหรือการกรองสแปม ใช้ NLP ร่วมกับไลบรารีการเรียนรู้เชิงลึก เช่น Keras และ เทนเซอร์โฟลว์.

ชุดเครื่องมือภาษาธรรมชาติมีโมดูล NLTK ที่สำคัญมาก โทเค็น ประโยคที่ประกอบด้วยโมดูลย่อยเพิ่มเติม

  1. โทเค็นคำ
  2. โทเค็นประโยค

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', '.']

Tokenization ของคำ

คำอธิบายรหัส

  1. โมดูล word_tokenize ถูกนำเข้าจากไลบรารี NLTK
  2. ตัวแปร “ข้อความ” เริ่มต้นได้ด้วยสองประโยค
  3. ตัวแปรข้อความถูกส่งผ่านในโมดูล 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 คำพูดและ สองประโยค สำหรับอินพุตเดียวกัน

Tokenization ของประโยค

คำอธิบายของโปรแกรม

  1. ในบรรทัดเหมือนโปรแกรมก่อนหน้า ให้นำเข้าโมดูล send_tokenize
  2. เราได้รับประโยคเดียวกัน tokenizer ประโยคเพิ่มเติมในโมดูล NLTK แยกวิเคราะห์ประโยคนั้นและแสดงผลลัพธ์ เห็นได้ชัดว่าฟังก์ชันนี้แบ่งแต่ละประโยค

โทเค็นไนเซอร์เหนือคำ Python ตัวอย่างคือการตั้งค่าที่ดีในการทำความเข้าใจกลไกของโทเค็นคำและประโยค

สรุป

  • โทเค็นใน NLP เป็นกระบวนการที่ข้อความจำนวนมากถูกแบ่งออกเป็นส่วนเล็กๆ ที่เรียกว่าโทเค็น
  • การประมวลผลภาษาธรรมชาติใช้ในการสร้างแอปพลิเคชัน เช่น การจำแนกข้อความ แชทบอทอัจฉริยะ การวิเคราะห์ความรู้สึก การแปลภาษา ฯลฯ
  • ชุดเครื่องมือภาษาธรรมชาติมีโมดูลโทเค็นโทเค็น NLTK ที่สำคัญมากซึ่งประกอบด้วยโมดูลย่อยเพิ่มเติม
  • เราใช้เมธอด word_tokenize() เพื่อแยกประโยคออกเป็นคำ ผลลัพธ์ของ word tokenizer ใน NLTK สามารถแปลงเป็น Data Frame เพื่อให้เข้าใจข้อความได้ดีขึ้นในแอปพลิเคชันการเรียนรู้ของเครื่อง
  • โมดูลย่อยที่มีอยู่สำหรับข้างต้นคือ send_tokenize tokenizer ประโยคใน Python NLTK เป็นคุณสมบัติที่สำคัญสำหรับการฝึกเครื่องจักร