Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

tf.text có thể được sử dụng để kiểm tra xem chuỗi có thuộc tính nhất định trong Python như thế nào?


Phương thức 'wordshape' có thể được sử dụng cùng với các điều kiện cụ thể như 'HAS_TITLE_CASE', 'IS_NUMERIC_VALUE', hoặc 'HAS_SOME_PUNCT_OR_SYMBOL' để xem một chuỗi có thuộc tính đặc biệt hay không.

Đọ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 chính 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.

Một feature phổ biến được dùng trong các mô hình hiểu ngôn ngữ tự nhiên nhất định là kiểm tra xem chuỗi văn bản có thuộc tính cụ thể hay không. Wordshape định nghĩa nhiều hàm hỗ trợ dựa trên regular expression hữu ích để khớp các pattern liên quan trong văn bản đầu vào. Dưới đây là một vài ví dụ.

Ví dụ

print("Whitespace tokenizer được gọi")
tokenizer = text.WhitespaceTokenizer()
print("Token đang được tạo")
tokens = tokenizer.tokenize(['Everything that is not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Kiểm tra xem có viết hoa không")
f1 = text.wordshape(tokens, text.WordShape.HAS_TITLE_CASE)
print("Kiểm tra xem tất cả chữ cái có viết hoa không")
f2 = text.wordshape(tokens, text.WordShape.IS_UPPERCASE)
print("Kiểm tra xem token có chứa dấu câu không")
f3 = text.wordshape(tokens, text.WordShape.HAS_SOME_PUNCT_OR_SYMBOL)
print("Kiểm tra xem token có phải là số không")
f4 = text.wordshape(tokens, text.WordShape.IS_NUMERIC_VALUE)
print("In kết quả")
print(f1.to_list())
print(f2.to_list())
print(f3.to_list())
print(f4.to_list())

Nguồn mã: https://www.tensorflow.org/tutorials/tensorflow_text/intro

Đầu ra

Whitespace tokenizer được gọi
Token đang được tạo
Kiểm tra xem có viết hoa không
Kiểm tra xem tất cả chữ cái có viết hoa không
Kiểm tra xem token có chứa dấu câu không
Kiểm tra xem token có phải là số không
In kết quả
[[True, False, False, False, False, False, False, False], [True]]
[[False, False, False, False, False, False, False, False], [False]]
[[False, False, False, False, False, False, False, True], [True]]
[[False, False, False, False, False, False, False, False], [False]]

Giải thích

  • 'WhitespaceTokenizer' được gọi, và token được tạo.
  • Các chữ cái được kiểm tra xem có phải viết hoa không.
  • Cũng được kiểm tra dấu câu và xem có phải số hay không.
  • Sau các tính toán này, các giá trị boolean được hiển thị.