การประมวลผลข้อความและภาษาธรรมชาติด้วย TensorFlow

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

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

TensorFlow มีไลบรารีสองแห่งสำหรับการประมวลผลข้อความและภาษาธรรมชาติ: KerasNLP ( GitHub ) และ TensorFlow Text ( GitHub )

KerasNLP คือไลบรารีการสร้างแบบจำลอง NLP ระดับสูงที่รวมเอาแบบจำลองที่ใช้ทรานส์ฟอร์มเมอร์ล่าสุดทั้งหมด รวมถึงยูทิลิตี้โทเค็นระดับล่างไว้ด้วยกัน KerasNLP จึงเป็นโซลูชันที่แนะนำสำหรับการใช้งาน NLP ส่วนใหญ่ KerasNLP สร้างขึ้นบน TensorFlow Text โดยจะแยกการประมวลผลข้อความระดับล่างออกเป็น API ที่ออกแบบมาเพื่อให้ใช้งานง่าย แต่ถ้าคุณไม่ต้องการใช้ Keras API หรือต้องการเข้าถึงการประมวลผลข้อความระดับล่าง คุณสามารถใช้ TensorFlow Text ได้โดยตรง

เคอราสเอ็นแอลพี

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

KerasNLP ประกอบด้วยการใช้งาน สถาปัตยกรรมโมเดล ยอดนิยมอย่าง BERT และ FNet แบบครบวงจร ด้วยการใช้โมเดล เลเยอร์ และโทเค็นไนเซอร์ของ KerasNLP คุณสามารถทำงานเวิร์กโฟลว์ NLP ที่ทันสมัยมากมาย เช่น การแปลด้วยเครื่อง การสร้างข้อความ การจำแนกข้อความ และ การฝึกโมเดลทรานส์ฟอร์เมอร์

KerasNLP คือส่วนขยายของ Keras API หลัก และโมดูล KerasNLP ระดับสูงทุกโมดูลคือ Layer หรือ Model หากคุณคุ้นเคยกับ Keras คุณคงเข้าใจ KerasNLP ส่วนใหญ่แล้ว

ข้อความ TensorFlow

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

การใช้ TensorFlow Text ช่วยให้คุณสามารถทำสิ่งต่อไปนี้ได้:

  • ใช้ตัวแบ่งโทเค็นที่มีคุณสมบัติมากมายที่สามารถแยกสตริงบนช่องว่าง แยกคำและเครื่องหมายวรรคตอน และส่งคืนออฟเซ็ตไบต์ด้วยโทเค็น เพื่อให้คุณทราบว่าสตริงอาจอยู่ที่ใดในข้อความต้นฉบับ
  • ตรวจสอบว่าโทเค็นตรงกับรูปแบบสตริงที่ระบุหรือไม่ คุณสามารถตรวจสอบการใช้ตัวพิมพ์ใหญ่ เครื่องหมายวรรคตอน ข้อมูลตัวเลข และคุณสมบัติอื่นๆ ของโทเค็นได้
  • รวมโทเค็นเข้าเป็น n-gram
  • ประมวลผลข้อความภายในกราฟ TensorFlow เพื่อให้การแบ่งโทเค็นระหว่างการฝึกอบรมตรงกับการแบ่งโทเค็นในการอนุมาน

จะเริ่มต้นที่ไหน

ทรัพยากรต่อไปนี้จะช่วยคุณเริ่มต้นใช้งานการประมวลผลข้อความ TensorFlow: