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

Làm cách nào để văn bản Tensorflow được sử dụng để chia chuỗi UTF-8 trong Python?

Các chuỗi UTF-8 có thể được phân chia bằng văn bản Tensorflow. Điều này có thể được thực hiện với sự trợ giúp của ‘UnicodeScriptTokenizer’. ‘UnicodeScriptTokenizer’ là một trình mã hóa được tạo ra, sau đó phương thức ‘mã hóa mã hóa’ có trong ‘UnicodeScriptTokenizer’ được gọi trên chuỗi.

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

Chúng tôi sẽ sử dụng API tuần tự Keras, hữu ích trong việc xây dựng mô hình tuần tự được sử dụng để làm việc với một chồng lớp đơn giản, trong đó mỗi lớp có chính xác một tensor đầu vào và một tensor đầu ra.

Một mạng nơ-ron chứa ít nhất một lớp được gọi là lớp chập. Chúng ta có thể sử dụng Mạng nơron hợp lệ để xây dựng mô hình học tập.

TensorFlow Text chứa tập hợp các lớp và hoạt động liên quan đến văn bản có thể được sử dụng với TensorFlow 2.0. TensorFlow Text có thể được sử dụng để xử lý trước mô hình trình tự.

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.

Token hóa là phương pháp chia nhỏ một chuỗi thành các mã thông báo. Các mã thông báo này có thể là từ, số hoặc dấu chấm câu.

Các giao diện quan trọng bao gồm Tokenizer và TokenizerWithOffsets, mỗi giao diện có một phương thức duy nhất để mã hóa và tokenize_with_offsets tương ứng. Có nhiều tokenizer, mỗi tokenizer đều triển khai TokenizerWithOffsets (mở rộng lớp Tokenizer). Điều này bao gồm một tùy chọn để lấy hiệu số byte vào chuỗi ban đầu. Điều này giúp biết các byte trong chuỗi ban đầu mà mã thông báo được tạo từ đó.

Tất cả các mã thông báo đều trả về RaggedTensors với kích thước bên trong nhất của mã thông báo được ánh xạ tới các chuỗi riêng lẻ ban đầu. Xếp hạng của hình dạng kết quả tăng lên một.

Ví dụ

print("Unicode script tokenizer is being called")
tokenizer = text.UnicodeScriptTokenizer()
tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("The tokenized data is converted to a list")
print(tokens.to_list())

Mã tín dụng −https://www.tensorflow.org/tutorials/tensorflow_text/intro

Đầu ra

Unicode script tokenizer is being called
The tokenized data is converted to a list
[[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']]

Giải thích

  • Tokenizer chia các chuỗi UTF-8 dựa trên ranh giới của tập lệnh Unicode.

  • Các mã tập lệnh tương ứng với các thành phần quốc tế cho các giá trị UScriptCode Unicode (ICU).

  • Nó tương tự như WhitespaceTokenizer với sự khác biệt là nó sẽ tách dấu câu (USCRIPT_COMMON) khỏi các văn bản ngôn ngữ cũng như tách các văn bản ngôn ngữ với nhau.