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

จะแยกสตริง Unicode และระบุออฟเซ็ตไบต์ด้วย Tensorflow &Python ได้อย่างไร


สตริง Unicode สามารถแยกออกได้ และสามารถระบุออฟเซ็ตไบต์ได้โดยใช้เมธอด 'unicode_split' และเมธอด 'unicode_decode_with_offsets' ตามลำดับ เมธอดเหล่านี้มีอยู่ในคลาส "สตริง" ของโมดูล "เทนเซอร์โฟลว์"

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

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

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

print("Split unicode strings")
tf.strings.unicode_split(thanks, 'UTF-8').numpy()
codepoints, offsets = tf.strings.unicode_decode_with_offsets(u"🎈🎉🎊", 'UTF-8')
print("Printing byte offset for characters")
for (codepoint, offset) in zip(codepoints.numpy(), offsets.numpy()):
   print("At byte offset {}: codepoint {}".format(offset, codepoint))

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

ผลลัพธ์

Split unicode strings
Printing byte offset for characters
At byte offset 0: codepoint 127880
At byte offset 4: codepoint 127881
At byte offset 8: codepoint 127882

คำอธิบาย

  • การดำเนินการ tf.strings.unicode_split แยกสตริง unicode เป็นสตริงย่อยของอักขระแต่ละตัว
  • อักขระเทนเซอร์ที่สร้างขึ้นต้องจัดตำแหน่งโดย tf.strings.unicode_decode กับสตริงเดิม
  • เพื่อจุดประสงค์นี้ จำเป็นต้องทราบออฟเซ็ตที่อักขระแต่ละตัวเริ่มต้น
  • เมธอด tf.strings.unicode_decode_with_offsets คล้ายกับเมธอด unicode_decode ยกเว้นว่าเมธอดแรกจะคืนค่าเทนเซอร์ตัวที่สองที่มีออฟเซ็ตเริ่มต้นของอักขระแต่ละตัว