Trước khi huấn luyện mô hình trên dữ liệu văn bản, bạn thường cần xử lý (hoặc tiền xử lý) văn bản. Trong nhiều trường hợp, văn bản cần được mã hóa và vector hóa trước khi đưa vào mô hình, và trong một số trường hợp, văn bản cần thêm các bước tiền xử lý như chuẩn hóa và lựa chọn đặc trưng.
Sau khi văn bản được xử lý thành định dạng phù hợp, bạn có thể sử dụng nó trong quy trình xử lý ngôn ngữ tự nhiên (NLP) như phân loại văn bản, tạo văn bản, tóm tắt và dịch thuật.
TensorFlow cung cấp hai thư viện để xử lý văn bản và ngôn ngữ tự nhiên: KerasNLP ( GitHub ) và TensorFlow Text ( GitHub ).
KerasNLP là một thư viện mô hình hóa NLP cấp cao, bao gồm tất cả các mô hình dựa trên bộ biến đổi mới nhất cũng như các tiện ích mã hóa cấp thấp hơn. Đây là giải pháp được khuyến nghị cho hầu hết các trường hợp sử dụng NLP. Được xây dựng trên TensorFlow Text, KerasNLP tóm tắt các thao tác xử lý văn bản cấp thấp thành một API được thiết kế để dễ sử dụng. Tuy nhiên, nếu bạn không muốn làm việc với Keras API, hoặc cần truy cập vào các thao tác xử lý văn bản cấp thấp hơn, bạn có thể sử dụng trực tiếp TensorFlow Text.
KerasNLP
Cách dễ nhất để bắt đầu xử lý văn bản trong TensorFlow là sử dụng KerasNLP . KerasNLP là một thư viện xử lý ngôn ngữ tự nhiên hỗ trợ các quy trình làm việc được xây dựng từ các thành phần mô-đun với trọng số và kiến trúc được thiết lập sẵn hiện đại. Bạn có thể sử dụng các thành phần KerasNLP với cấu hình sẵn dùng. Nếu cần kiểm soát nhiều hơn, bạn có thể dễ dàng tùy chỉnh các thành phần. KerasNLP cung cấp tính toán trong đồ thị cho tất cả các quy trình làm việc, do đó bạn có thể dễ dàng sản xuất bằng hệ sinh thái TensorFlow.
KerasNLP bao gồm các triển khai đầu cuối của các kiến trúc mô hình phổ biến như BERT và FNet . Sử dụng các mô hình, lớp và bộ phân tích cú pháp KerasNLP, bạn có thể hoàn thành nhiều quy trình NLP tiên tiến, bao gồm dịch máy , tạo văn bản , phân loại văn bản và huấn luyện mô hình biến đổi .
KerasNLP là phần mở rộng của Keras API cốt lõi, và mỗi module KerasNLP cấp cao đều là một Layer
hoặc Model
. Nếu bạn đã quen thuộc với Keras, bạn đã hiểu hầu hết KerasNLP.
Văn bản TensorFlow
KerasNLP cung cấp các mô-đun xử lý văn bản cấp cao, có sẵn dưới dạng lớp hoặc mô hình. Nếu bạn cần truy cập các công cụ cấp thấp hơn, bạn có thể sử dụng TensorFlow Text . TensorFlow Text cung cấp các thao tác và thư viện giúp bạn làm việc với các chuỗi văn bản và tài liệu thô. TensorFlow Text có thể thực hiện tiền xử lý thường xuyên theo yêu cầu của các mô hình dựa trên văn bản, và cũng bao gồm các tính năng khác hữu ích cho việc mô hình hóa chuỗi.
Khi sử dụng TensorFlow Text, bạn có thể thực hiện những điều sau:
- Áp dụng các trình phân tích cú pháp giàu tính năng có thể phân tách chuỗi theo khoảng trắng, phân tách các từ và dấu câu, đồng thời trả về các vị trí byte có mã thông báo để bạn biết có thể tìm thấy chuỗi ở đâu trong văn bản nguồn.
- Kiểm tra xem mã thông báo có khớp với mẫu chuỗi đã chỉ định hay không. Bạn có thể kiểm tra chữ viết hoa, dấu câu, dữ liệu số và các tính năng khác của mã thông báo.
- Kết hợp các mã thông báo thành n-gram.
- Xử lý văn bản trong biểu đồ TensorFlow để mã hóa trong quá trình đào tạo khớp với mã hóa khi suy luận.
Bắt đầu từ đâu
Các tài nguyên sau đây sẽ giúp bạn bắt đầu xử lý văn bản bằng TensorFlow:
- TensorFlow Text : Hướng dẫn, chỉ dẫn và các tài nguyên khác giúp bạn xử lý văn bản bằng TensorFlow Text và KerasNLP.
- KerasNLP : Tài liệu và nguồn tài nguyên cho KerasNLP.
- Hướng dẫn về TensorFlow : Tài liệu cốt lõi của TensorFlow (hướng dẫn này) bao gồm một số hướng dẫn xử lý văn bản.
- Google Machine Learning: Hướng dẫn Phân loại Văn bản : Giới thiệu từng bước về phân loại văn bản. Đây là nơi lý tưởng để bắt đầu nếu bạn mới làm quen với học máy.