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

Phân đoạn (Segmentation) trong dữ liệu văn bản TensorFlow là gì?

Phân đoạn (Segmentation) là tác vụ tách văn bản thành các đơn vị giống từ. Cần thiết khi:

  • Ngôn ngữ không dùng dấu cách tách từ (tiếng Trung, tiếng Nhật).
  • Ngôn ngữ có từ ghép dài cần tách để phân tích nghĩa (tiếng Đức).
  • Văn bản web thường trộn nhiều ngôn ngữ/script (ví dụ: "NY株価" - New York Stock Exchange).

Có thể thực hiện phân đoạn thô (rough segmentation) mà không cần mô hình ML, bằng cách thay đổi script để xấp xỉ ranh giới từ. Cách này hoạt động tốt với các chuỗi như "NY株価" và hầu hết ngôn ngữ dùng dấu cách, vì ký tự cách của các script được phân loại là USCRIPT_COMMON – mã script đặc biệt khác biệt với bất kỳ văn bản thực tế nào.

Mã ví dụ: Tạo mã điểm và script Unicode

print("Câu được xử lý")
sentence_texts = [u'Hello, there.', u'世界こんにちは']
print("Giá trị mã điểm cho các ký tự trong câu")
sentence_char_codepoint = tf.strings.unicode_decode(sentence_texts, 'UTF-8')
print(sentence_char_codepoint)
print("Giá trị script Unicode cho các ký tự trong câu")
sentence_char_script = tf.strings.unicode_script(sentence_char_codepoint)
print(sentence_char_script)

Nguồn mã: TensorFlow Unicode Tutorial

Đầu ra

Câu được xử lý
Giá trị mã điểm cho các ký tự trong câu
Giá trị script Unicode cho các ký tự trong câu
<tf.RaggedTensor [[25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 0], [17, 17, 20, 20, 20, 20, 20]]>

Giải thích chi tiết

  • Segmentation = tách văn bản thành đơn vị giống từ.
  • Dùng khi ngôn ngữ không dùng dấu cách (Trung, Nhật) hoặc có từ ghép dài (Đức).
  • Văn bản web thường trộn nhiều script.
  • Phân đoạn thô có thể làm bằng cách đổi script để xấp xỉ ranh giới từ.
  • Hoạt động với chuỗi trộn script như "NY株価".
  • Dấu cách các script được phân loại là USCRIPT_COMMON – mã đặc biệt.
  • Mã điểm (codepoint) mỗi ký tự mỗi câu được tạo ra.
  • Script Unicode mỗi ký tự mỗi câu được tạo ra.