Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การดำเนินการ Unicode สามารถดำเนินการใน Tensorflow โดยใช้ Python ได้อย่างไร


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

อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร

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

ให้เราเข้าใจวิธีการแสดงสตริง Unicode โดยใช้ Python และจัดการกับสตริงที่ใช้ Unicode ที่เทียบเท่ากัน ขั้นแรก เราแยกสตริง Unicode เป็นโทเค็นตามการตรวจจับสคริปต์โดยใช้ Unicode ที่เทียบเท่ากับ ops สตริงมาตรฐาน

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory สร้างขึ้นบน Jupyter Notebook

print("The final character takes about 4 bytes in UTF-8 encoding")
thanks = u'Hello 😊'.encode('UTF-8')
num_bytes = tf.strings.length(thanks).numpy()
num_chars = tf.strings.length(thanks, unit='UTF8_CHAR').numpy()
print('{} bytes; {} UTF-8 characters'.format(num_bytes, num_chars))

เครดิตโค้ด:https://www.tensorflow.org/tutorials/load_data/unicode

ผลลัพธ์

The final character takes about 4 bytes in UTF-8 encoding
10 bytes; 7 UTF-8 characters

คำอธิบาย

  • การดำเนินการ tf.strings.length มีหน่วยพารามิเตอร์ที่ระบุวิธีการคำนวณความยาว
  • ค่าเริ่มต้นของหน่วยคือ "BYTE" แต่สามารถตั้งค่าเป็นค่าอื่นได้ เช่น "UTF8_CHAR" หรือ "UTF16_CHAR"
  • ดำเนินการเพื่อค้นหาจำนวนจุดโค้ด Unicode ในทุกสตริงที่เข้ารหัส