Các chuỗi UTF-8 có thể được tách bằng TensorFlow Text. Điều này có thể được làm với sự giúp đỡ của 'UnicodeScriptTokenizer'. 'UnicodeScriptTokenizer' là một tokenizer được tạo, sau đó phương thức 'tokenize' có trong 'UnicodeScriptTokenizer' được gọi trên chuỗi.
Đọc thêm: TensorFlow là gì và Keras hoạt động như thế nào với TensorFlow để tạo mạng nơ-ron?
Chúng ta sẽ sử dụng Keras Sequential API, giúp xây dựng mô hình tuần tự dùng cho stack các layer đơn giản, nơi mỗi layer có chính xác một input tensor và một output tensor.
Một mạng nơ-ron chứa ít nhất một layer được gọi là layer tích chập. Chúng ta có thể sử dụng Mạng nơ-ron tích chập (CNN) để xây dựng mô hình học.
TensorFlow Text chứa tập hợp các lớp và ops liên quan đến văn bản có thể được sử dụng với TensorFlow 2.0. TensorFlow Text có thể được dùng để tiền xử lý sequence modelling.
Chúng ta đang sử dụng Google Colaboratory để chạy mã dưới đây. Google Colab giúp chạy mã Python trên trình duyệt và yêu cầu cấu hình zero và truy cập miễn phí GPU. Colaboratory được xây dựng dựa trên Jupyter Notebook.
Tokenization (tách từ) là phương pháp chia nhỏ một chuỗi thành các token. Các token này có thể là từ, số, hoặc dấu câu.
Các interface quan trọng bao gồm Tokenizer và TokenizerWithOffsets, mỗi cái có một phương thức đơn lẻ là tokenize và tokenize_with_offsets tương ứng. Có nhiều tokenizer, mỗi cái triển khai TokenizerWithOffsets (mở rộng lớp Tokenizer). Điều này bao gồm tùy chọn lấy byte offsets vào chuỗi gốc. Điều này giúp biết byte nào trong chuỗi gốc token được tạo ra.
Tất cả các tokenizer trả về RaggedTensors với chiều inner-most của token được map tới các chuỗi gốc riêng lẻ. Rank của hình dạng kết quả tăng lên 1.
Ví dụ
print("Unicode script tokenizer được gọi")
tokenizer = text.UnicodeScriptTokenizer()
tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Dữ liệu tokenized được chuyển thành danh sách")
print(tokens.to_list())
Nguồn mã: https://www.tensorflow.org/tutorials/tensorflow_text/intro
Đầu ra
Unicode script tokenizer được gọi Dữ liệu tokenized được chuyển thành danh sách [[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']]
Giải thích
- Tokenizer tách chuỗi UTF-8 dựa trên ranh giới Unicode script.
- Các script code tương ứng với giá trị ICU UScriptCode của International Components for Unicode.
- Nó tương tự WhitespaceTokenizer nhưng khác ở chỗ nó sẽ tách dấu câu (USCRIPT_COMMON) từ văn bản ngôn ngữ cũng như tách các ngôn ngữ khác nhau.