Bước 2.5: Chọn một mẫu

Tại thời điểm này, chúng tôi đã tập hợp tập dữ liệu của mình và có được thông tin chi tiết về các đặc điểm chính của dữ liệu. Tiếp theo, dựa trên các chỉ số thu thập được trong Bước 2, chúng ta nên suy nghĩ về mô hình phân loại mà mình nên sử dụng. Điều này có nghĩa là hãy đặt các câu hỏi như: “Chúng tôi trình bày dữ liệu văn bản như thế nào với một thuật toán yêu cầu dữ liệu đầu vào?”. (đây được gọi là quá trình tiền xử lý và vectơ hoá dữ liệu), “Chúng tôi nên dùng loại mô hình nào?”, “Chúng tôi nên sử dụng thông số cấu hình nào cho mô hình của mình?”, v.v.

Nhờ nhiều thập kỷ nghiên cứu, chúng tôi có thể sử dụng rất nhiều tuỳ chọn xử lý trước và cấu hình mô hình. Tuy nhiên, khả năng sử dụng của rất nhiều tuỳ chọn khả thi để lựa chọn làm tăng đáng kể độ phức tạp và phạm vi của vấn đề cụ thể hiện có. Vì các phương án tốt nhất có thể không rõ ràng, nên bạn có thể thử một cách toàn diện mọi cách có thể thông qua trực quan. Tuy nhiên, điều đó sẽ cực kỳ tốn kém.

Trong hướng dẫn này, chúng tôi sẽ cố gắng đơn giản hoá đáng kể quy trình chọn mô hình phân loại văn bản. Đối với một tập dữ liệu nhất định, mục tiêu của chúng tôi là tìm ra thuật toán đạt được độ chính xác gần như tối đa, đồng thời giảm thiểu thời gian tính toán cần thiết cho hoạt động đào tạo. Chúng tôi đã tiến hành một số lượng lớn (~450 nghìn) thử nghiệm trên nhiều bài toán thuộc nhiều loại (đặc biệt là các vấn đề về việc phân tích cảm xúc và phân loại chủ đề), sử dụng 12 tập dữ liệu, xen kẽ cho từng tập dữ liệu giữa các kỹ thuật xử lý trước dữ liệu khác nhau và các cấu trúc mô hình khác nhau. Điều này đã giúp chúng tôi xác định các thông số tập dữ liệu ảnh hưởng đến lựa chọn tối ưu.

Thuật toán chọn mô hình và lưu đồ bên dưới là phần tóm tắt về thử nghiệm của chúng tôi. Đừng lo lắng nếu các bạn chưa hiểu tất cả các thuật ngữ trong bài viết này. Các phần sau của hướng dẫn này sẽ giải thích chi tiết về những thuật ngữ đó.

Thuật toán Chuẩn bị Dữ liệu và Xây dựng Mô hình

1. Calculate the number of samples/number of words per sample ratio.
2. If this ratio is less than 1500, tokenize the text as n-grams and use a
simple multi-layer perceptron (MLP) model to classify them (left branch in the
flowchart below):
  a. Split the samples into word n-grams; convert the n-grams into vectors.
  b. Score the importance of the vectors and then select the top 20K using the scores.
  c. Build an MLP model.
3. If the ratio is greater than 1500, tokenize the text as sequences and use a
   sepCNN model to classify them (right branch in the flowchart below):
  a. Split the samples into words; select the top 20K words based on their frequency.
  b. Convert the samples into word sequence vectors.
  c. If the original number of samples/number of words per sample ratio is less
     than 15K, using a fine-tuned pre-trained embedding with the sepCNN
     model will likely provide the best results.
4. Measure the model performance with different hyperparameter values to find
   the best model configuration for the dataset.

Trong sơ đồ quy trình bên dưới, các hộp màu vàng cho biết quy trình chuẩn bị dữ liệu và mô hình. Hộp màu xám và hộp màu xanh lục cho biết các lựa chọn mà chúng tôi đã xem xét cho từng quy trình. Các hộp màu xanh lá cây cho biết lựa chọn đề xuất của chúng tôi cho từng quy trình.

Bạn có thể sử dụng sơ đồ quy trình này làm cơ sở để xây dựng thử nghiệm đầu tiên, vì nó sẽ cung cấp cho bạn độ chính xác cao với chi phí tính toán thấp. Sau đó, bạn có thể tiếp tục cải thiện mô hình ban đầu của mình trong các vòng lặp tiếp theo.

Sơ đồ quy trình phân loại văn bản

Hình 5: Sơ đồ quy trình phân loại văn bản

Sơ đồ quy trình này trả lời hai câu hỏi chính:

  1. Chúng ta nên sử dụng thuật toán hoặc mô hình học tập nào?

  2. Chúng tôi nên chuẩn bị dữ liệu như thế nào để tìm hiểu mối quan hệ giữa văn bản và nhãn một cách hiệu quả?

Câu trả lời cho câu hỏi thứ hai phụ thuộc vào câu trả lời cho câu hỏi đầu tiên; cách chúng tôi xử lý trước dữ liệu để được đưa vào mô hình sẽ phụ thuộc vào mô hình mà chúng tôi chọn. Các mô hình có thể được phân loại rộng rãi thành hai danh mục: mô hình sử dụng thông tin về thứ tự từ (mô hình trình tự) và mô hình chỉ xem văn bản dưới dạng “túi” (nhóm) từ (mô hình gam). Các loại mô hình trình tự bao gồm mạng nơ-ron tích chập (CNN), mạng nơ-ron lặp lại (RNN) và các biến thể của chúng. Các loại mô hình n gam bao gồm sự hồi quy hậu cần, Perpptron nhiều lớp đơn giản (MLP hoặc mạng nơ-ron kết nối đầy đủ), cây tăng cường gradientmáy vectơ hỗ trợ.

Từ các thử nghiệm, chúng tôi đã quan sát thấy rằng tỷ lệ “số mẫu” (S) trên “số từ trên mỗi mẫu” (W) tương quan với mô hình nào hoạt động tốt.

Khi giá trị cho tỷ lệ này nhỏ (<1500), các perceptron nhiều lớp nhỏ lấy n gam làm dữ liệu đầu vào (chúng tôi gọi là Option A) sẽ hoạt động tốt hơn hoặc ít nhất cũng như các mô hình trình tự. MLP đơn giản là việc xác định và hiểu, đồng thời mất ít thời gian điện toán hơn so với các mô hình trình tự. Khi giá trị cho tỷ lệ này lớn (>= 1500), hãy sử dụng mô hình trình tự (Option B). Trong các bước tiếp theo, bạn có thể bỏ qua các phần phụ có liên quan (được gắn nhãn A hoặc B) cho loại mô hình đã chọn dựa trên tỷ lệ mẫu/từ/mẫu.

Trong trường hợp tập dữ liệu đánh giá IMDb của chúng tôi, tỷ lệ mẫu/từ/mẫu là ~144. Tức là chúng ta sẽ tạo một mô hình MLP.