Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để phân chia chuỗi Unicode và bù byte được chỉ định với Tensorflow &Python?

Chuỗi Unicode có thể được tách và có thể chỉ định độ lệch byte bằng phương thức ‘unicode_split’ và ‘unicode_decode_with_offsets’methods tương ứng. Các phương thức này có trong lớp 'string' của mô-đun 'tensorflow'.

Đọc thêm: TensorFlow là gì và cách Keras làm việc với TensorFlow để tạo Mạng thần kinh?

Để bắt đầu, hãy biểu diễn các chuỗi Unicode bằng Python và thao tác với các chuỗi sử dụng Unicode tương đương. Tách các chuỗi Unicode thành các mã thông báo dựa trên phát hiện tập lệnh với sự trợ giúp của các mã Unicode tương đương của các lệnh chuẩn.

Chúng tôi đang sử dụng Google Colaboratory để chạy đoạn mã dưới đây. Google Colab hoặc Colaboratory giúp chạy mã Python qua trình duyệt và không yêu cầu cấu hình cũng như quyền truy cập miễn phí vào GPU (Đơn vị xử lý đồ họa). Colaboratory đã được xây dựng trên 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))

Tín dụng mã:https://www.tensorflow.org/tutorials/load_data/unicode

Đầu ra

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

Giải thích

  • Phép toán tf.strings.unicode_split chia các chuỗi unicode thành các chuỗi con gồm các ký tự riêng lẻ.
  • tensor ký tự được tạo phải được căn chỉnh bởi tf.strings.unicode_decode với chuỗi ban đầu.
  • Vì mục đích này, cần phải biết độ lệch tại vị trí bắt đầu của mỗi ký tự.
  • Phương thức tf.strings.unicode_decode_with_offsets tương tự như phương thức unicode_decode, ngoại trừ phương thức trước đây trả về một tensor thứ hai chứa phần bù bắt đầu của mỗi ký tự.