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

Tensorflow có thể được sử dụng như thế nào để phân đoạn mã từ điểm của tensor rách rưới trở lại câu?

Điểm mã từ của một tensor rách có thể được phân đoạn theo phương pháp sau:Phân đoạn đề cập đến hành động tách văn bản thành các đơn vị giống như từ. Điều này được sử dụng trong trường hợp các ký tự khoảng trắng được sử dụng để phân tách các từ, nhưng một số ngôn ngữ như tiếng Trung và tiếng Nhật không sử dụng dấu cách. Một số ngôn ngữ như tiếng Đức chứa các hợp chất dài cần được tách ra để phân tích ý nghĩa của chúng.

Điểm mã của từ được phân đoạn trở lại câu. Bước tiếp theo là kiểm tra xem điểm mã cho một ký tự trong một từ có xuất hiện trong câu hay không. Nếu nó xuất hiện, một tensor rách rưới được tạo ra và câu được mã hóa trở lại mã hóa tiêu chuẩn.

Đọc thêm: TensorFlow là gì và cách Keras làm việc với TensorFlow để tạo Mạng thần kinh?

Hãy để chúng tôi hiểu cách biểu diễn chuỗi Unicode bằng Python và thao tác với những chuỗi sử dụng Unicode tương đương. Đầu tiên, chúng tôi tách các chuỗi Unicode thành các mã thông báo dựa trên việc phát hiện tập lệnh với sự trợ giúp của các mã Unicode tương đương của các mã chuỗi chuẩn.

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.

print("Segment the word code points back to sentences")
print("Check if code point for a character in a word is present in the sentence")
sentence_word_char_codepoint = tf.RaggedTensor.from_row_lengths(
   values=word_char_codepoint,
   row_lengths=sentence_num_words)
print(sentence_word_char_codepoint)
print("Encoding it back to UTF-8")
tf.strings.unicode_encode(sentence_word_char_codepoint, 'UTF-8').to_list()

Tín dụng mã:https://www.tensorflow.org/tutorials/load_data/unicode

Đầu ra

Segment the word code points back to sentences
Check if code point for a character in a word is present in the sentence
<tf.RaggedTensor [[[72, 101, 108, 108, 111], [44, 32], [116, 104, 101, 114, 101], [46]], [[19990, 30028], [12371, 12435, 12395, 12385, 12399]]]>
Encoding it back to UTF-8
[[b'Hello', b', ', b'there', b'.'],
[b'\xe4\xb8\x96\xe7\x95\x8c',
   b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf']]

Giải thích

  • Các điểm mã được phân đoạn thành các câu.
  • Nó được xác định xem một điểm mã cho một ký tự có trong câu hay không.
  • Dữ liệu đã giải mã được mã hóa trở lại mã hóa UTF-8.