Phân đoạn (segmentation) là việc tách văn bản thành các đơn vị giống từ. Điều này cần thiết khi ngôn ngữ không dùng dấu cách (như tiếng Trung, tiếng Nhật) hoặc có từ ghép dài (tiếng Đức).
Quy trình phân đoạn và mã hóa ngược
- Phân đoạn mã điểm từ (word code points) về câu.
- Kiểm tra xem mã điểm của ký tự trong từ có xuất hiện trong câu hay không.
- Nếu có, tạo
RaggedTensorvà mã hóa ngược về định dạng chuẩn (UTF-8).
Mã ví dụ
print("Phân đoạn mã điểm từ về câu")
print("Kiểm tra mã điểm ký tự có trong câu")
sentence_word_char_codepoint = tf.RaggedTensor.from_row_lengths(
values=word_char_codepoint,
row_lengths=sentence_num_words)
print(sentence_word_char_codepoint)
print("Mã hóa ngược về UTF-8")
tf.strings.unicode_encode(sentence_word_char_codepoint, 'UTF-8').to_list()
Nguồn mã: TensorFlow Unicode Tutorial
Đầu ra
Phân đoạn mã điểm từ về câu Kiểm tra mã điểm ký tự có trong câu <tf.RaggedTensor [[[72, 101, 108, 108, 111], [44, 32], [116, 104, 101, 114, 101], [46]], [[19990, 30028], [12371, 12435, 12395, 12385, 12399]]]> Mã hóa ngược về 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
- Mã điểm được phân đoạn thành câu.
- Xác định mã điểm ký tự có mặt trong câu.
- Dữ liệu giải mã được mã hóa ngược về UTF-8.