Xử lý văn bản và ngôn ngữ tự nhiên với TensorFlowXử lý văn bản và ngôn ngữ tự nhiên với TensorFlow

Trước khi bạn có thể đào tạo một mô hình trên dữ liệu văn bản, thông thường bạn sẽ 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 có thể đưa vào mô hình và trong một số trường hợp, văn bản yêu cầu các bước tiền xử lý bổ sung như chuẩn hóa và lựa chọn tính nă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) chẳng hạn 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 lập mô hình NLP cấp cao bao gồm tất cả các mô hình dựa trên máy biến áp mới nhất cũng như các tiện ích mã thông báo cấp thấp hơn. Đó là giải pháp được đề xuất cho hầu hết các trường hợp sử dụng NLP. Được xây dựng trên Văn bản TensorFlow, KerasNLP trừu tượng hóa các hoạt động xử lý văn bản cấp thấp thành một API được thiết kế để dễ sử dụng. Nhưng nếu bạn không muốn làm việc với API Keras hoặc bạn cần quyền truy cập vào các hoạt động xử lý văn bản cấp thấp hơn, bạn có thể sử dụng trực tiếp Văn bản TensorFlow.

Máy ảnhNLP

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 công việc được xây dựng từ các thành phần mô-đun có trọng lượng và kiến ​​trúc đặt trước tiên tiến nhất. Bạn có thể sử dụng các thành phần KerasNLP với cấu hình vượt trội của chúng. Nếu bạn 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 khả năng tính toán trong biểu đồ cho tất cả các quy trình công việc, vì vậy bạn có thể mong đợi quá trình sản xuất dễ dàng bằng cách sử dụng hệ sinh thái TensorFlow.

KerasNLP chứa các triển khai từ đầu đến cuối của các kiến ​​trúc mô hình phổ biến như BERTFNet . Sử dụng các mô hình, lớp và mã thông báo KerasNLP, bạn có thể hoàn thành nhiều quy trình công việc NLP hiện đại, bao gồm dịch máy , tạo văn bản , phân loại văn bảnđào tạo mô hình máy biến áp .

KerasNLP là một phần mở rộng của API Keras cốt lõi và mọi mô-đun KerasNLP cấp cao là một Layer hoặc Model . Nếu bạn đã quen thuộc với Keras, thì bạn đã hiểu hầu hết về 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 quyền truy cập vào 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à tài liệu văn bản thô. Văn bản TensorFlow 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à nó cũng bao gồm các tính năng khác hữu ích cho mô hình trình tự.

Sử dụng Văn bản TensorFlow, bạn có thể thực hiện các thao tác sau:

  • Áp dụng mã thông báo giàu tính năng có thể phân tách chuỗi trên khoảng trắng, tách các từ và dấu chấm câu, đồng thời trả về độ lệch byte bằng mã thông báo, để bạn biết vị trí có thể tìm thấy chuỗi 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 được chỉ định hay không. Bạn có thể kiểm tra cách viết hoa, dấu chấm câu, dữ liệu số và các tính năng mã thông báo khác.
  • 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ã thông báo trong quá trình đào tạo khớp với mã thông báo khi suy luận.

Bắt đầu từ đâu

Các tài nguyên sau sẽ giúp bạn bắt đầu với quá trình xử lý văn bản TensorFlow: