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

Làm cách nào để tf.text có thể được sử dụng để xem liệu một chuỗi có một thuộc tính nhất định trong Python hay không?

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 liệu một chuỗi có thuộc tính cụ thể hay không.

Đọ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ừ đó.

Một tính năng phổ biến được sử dụng trong các mô hình hiểu ngôn ngữ tự nhiên nhất định là xem liệu chuỗi văn bản có thuộc tính cụ thể hay không. Wordshape xác định nhiều hàm trợ giúp dựa trên biểu thức chính quy hữu ích để đối sánh các mẫu có liên quan khác nhau trong văn bản đầu vào của bạn. Dưới đây là một vài ví dụ.

Ví dụ

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
print("Tokens being generated")
tokens = tokenizer.tokenize(['Everything that is not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Checking if it is capitalized")
f1 = text.wordshape(tokens, text.WordShape.HAS_TITLE_CASE)
print("Checking if all the letters are uppercase")
f2 = text.wordshape(tokens, text.WordShape.IS_UPPERCASE)
print("Checking if the tokens contain punctuation")
f3 = text.wordshape(tokens, text.WordShape.HAS_SOME_PUNCT_OR_SYMBOL)
print("Checking if the token is a number")
f4 = text.wordshape(tokens, text.WordShape.IS_NUMERIC_VALUE)
print("Printing the results")
print(f1.to_list())
print(f2.to_list())
print(f3.to_list())
print(f4.to_list())

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

Đầu ra

Whitespace tokenizer is being called
Tokens being generated
Checking if it is capitalized
Checking if all the letters are uppercase
Checking if the tokens contain punctuation
Checking if the token is a number
Printing the results
[[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à các mã thông báo được tạo.
  • Các chữ cái được kiểm tra để xem chúng có phải là chữ hoa hay không.
  • Nó cũng được kiểm tra xem có dấu câu và đó có phải là số hay không.
  • Sau quá trình tính toán này, các giá trị bool được hiển thị