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

Làm cách nào để văn bản Tensorflow có thể được sử dụng với bộ tách khoảng trắng trong Python?

Văn bản Tensorflow có thể được sử dụng với trình mã hóa khoảng trắng bằng cách gọi ‘WhitespaceTokenizer’, tạo ra trình mã hóa, được sử dụng với phương thức ‘tokenizer’ 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ạ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 thần kinh hợp pháp để 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 chính 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ừ đó.

N-gram là các từ liên tiếp khi cho một cửa sổ trượt có kích thước n. Khi các mã thông báo được kết hợp, ba cơ chế giảm được hỗ trợ. Đối với văn bản, có thể sử dụng Reduction.STRING_JOIN. Nó gắn các dây với nhau. Ký tự phân tách mặc định là khoảng trắng, nhưng có thể được thay đổi bằng đối số string_separater.

Các phương pháp rút gọn khác được sử dụng với các giá trị số và chúng là Reduction.SUM và Reduction.MEAN.

Ví dụ

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Here, n is 2, hence it is bigram")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("The bigrams are converted to a list")
print(bigrams.to_list())

Đầu ra

Whitespace tokenizer is being called
Here, n is 2, hence it is bigram
The bigrams are converted to a list
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

Giải thích

  • Tokenizer khoảng trắng được gọi.
  • Giá trị của ‘n’ được đặt thành 2, do đó nó được gọi là biểu đồ.
  • Các mã thông báo được lưu trữ trong danh sách và hiển thị trên bảng điều khiển.