TensorFlow Text có thể được sử dụng để tách chuỗi theo ký tự bằng phương thức 'unicode_split', bằng cách đầu tiên mã hóa các chuỗi tách, sau đó gán lời gọi hàm cho một biến. Biến này chứa kết quả của lời gọi hàm.
Đọ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.
Ví dụ
print("Các ký tự đã mã hóa được tách")
tokens = tf.strings.unicode_split([u"仅今年前".encode('UTF-8')], '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
Các ký tự đã mã hóa được tách Dữ liệu tokenized được chuyển thành danh sách [[b'\xe4\xbb\x85', b'\xe4\xbb\x8a', b'\xe5\xb9\xb4', b'\xe5\x89\x8d']]
Giải thích
- Tất 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.
- Khi token hóa ngôn ngữ không dùng whitespace để tách từ, thường tách theo ký tự.
- Điều này có thể được làm bằng op unicode_split tìm thấy trong TensorFlow core.
- Một khi unicode_split được gọi, dữ liệu tokenized được thêm vào danh sách.