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

Các hoạt động Unicode có thể được thực hiện trong Tensorflow bằng Python như thế nào?

Các hoạt động Unicode có thể được thực hiện bằng cách tìm nạp độ dài của các chuỗi trước tiên và đặt giá trị này thành các giá trị khác (giá trị mặc định là ‘byte’). Phương thức 'encode' được sử dụng để chuyển đổi vector của các điểm mã thành vô hướng chuỗi được mã hóa. Điều này được thực hiện để xác định các điểm mã Unicode trong mọi chuỗi được mã hóa.

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

Các mô hình xử lý ngôn ngữ tự nhiên xử lý các ngôn ngữ khác nhau có các bộ ký tự khác nhau. Unicode được coi là hệ thống mã hóa tiêu chuẩn được sử dụng để biểu thị ký tự từ hầu hết các ngôn ngữ. Mọi ký tự được mã hóa với sự trợ giúp của một điểm mã số nguyên duy nhất nằm trong khoảng từ 0 đến 0x10FFFF. Chuỗi Unicode là một chuỗi không hoặc nhiều giá trị mã.

Hãy để chúng tôi hiểu cách biểu diễn chuỗi Unicode bằng Python và thao tác với những chuỗi sử dụng Unicode tương đương. Đầu tiên, chúng tôi tách các chuỗi Unicode thành các mã thông báo dựa trên việc 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 mã chuỗi 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("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))

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

Đầu ra

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

Giải thích

  • Phép toán tf.strings.length có một đơn vị tham số cho biết phương thức cần tính độ dài.
  • Đơn vị mặc định là "BYTE", nhưng nó có thể được đặt thành các giá trị khác, chẳng hạn như "UTF8_CHAR" hoặc "UTF16_CHAR".
  • Điều này được thực hiện để tìm số điểm mã Unicode trong mỗi chuỗi được mã hóa.