Làm thế nào để bạn áp dụng SMote trên phân loại văn bản?


13

Kỹ thuật quá khổ tổng hợp thiểu số (SMOTE) là một kỹ thuật quá khổ được sử dụng trong một vấn đề dữ liệu mất cân bằng. Cho đến nay tôi có một ý tưởng làm thế nào để áp dụng nó trên dữ liệu chung, có cấu trúc. Nhưng nó có thể áp dụng nó vào vấn đề phân loại văn bản? Phần nào của dữ liệu bạn cần để chồng lên? Đã có một câu hỏi khác về nó, nhưng nó không có câu trả lời. Tôi có thể học ở đâu để bắt đầu với điều này?

Câu trả lời:


11

Trên thực tế, NLP là một trong những lĩnh vực phổ biến nhất trong đó việc lấy lại dữ liệu là cần thiết vì có nhiều tác vụ phân loại văn bản xử lý vấn đề mất cân bằng (nghĩ về lọc thư rác, xúc phạm phát hiện bình luận, phân loại bài viết, v.v.). Nhưng SMote dường như có vấn đề ở đây vì một số lý do:

  • SMote hoạt động trong không gian tính năng. Điều đó có nghĩa là đầu ra của SMOTE không phải là dữ liệu tổng hợp mà là đại diện thực sự của văn bản bên trong không gian tính năng của nó.
  • Một mặt SMOTE hoạt động với KNN và mặt khác, không gian tính năng cho vấn đề NLP là rất lớn. KNN sẽ dễ dàng thất bại trong những kích thước khổng lồ đó.

Vì vậy, tôi có thể đề xuất cho bạn hai cách tiếp cận:

  1. Đừng quan tâm đến việc thể hiện văn bản thực sự của các mẫu tổng hợp mới mà tôi cho là sẽ ổn. Bạn cần cân bằng phân phối cho trình phân loại của mình chứ không phải cho người đọc dữ liệu văn bản. Vì vậy, hãy áp dụng SMote như truyền thống (tuy nhiên tôi thường sử dụng giải pháp 2 dưới đây để tôi không nhận được kết quả!) Với một số bước Giảm kích thước.

1) Giả sử bạn muốn tạo các mẫu dữ liệu của mình từ lớp nhỏ gấp đôi bằng cách sử dụng 3-NN. Bỏ qua các lớp chính và chỉ giữ các mẫu lớp nhỏ.

2) Đối với mỗi điểm mẫu trong không gian đặc trưng, ​​chọn 5 hàng xóm gần nhất. Sau đó chọn ngẫu nhiên 3 trong số chúng (không phức tạp không cần thiết? Nếu tôi không muốn giải thích thuật toán ban đầu, tôi sẽ nói chỉ cần chọn 3 hàng xóm!)

3) Với mỗi kích thước, hãy tính khoảng cách giữa mẫu và hàng xóm và nhân nó trong một số ngẫu nhiên trong khoảng từ 0-1 và thêm nó vào giá trị ban đầu của mẫu trong kích thước đó. (đoạn văn phức tạp này có nghĩa đơn giản là cho mỗi thứ nguyên chọn một giá trị ngẫu nhiên giữa mẫu ban đầu và mẫu lân cận đó!)

  1. Nhưng tôi thường thực hiện một lớp phủ ngoài khác trên văn bản (trực quan hơn) và là loại NHỎ.

k= =2

n

mmnkk


Cảm ơn câu trả lời, nhưng SMote có thể được áp dụng cho các mẫu nếu chúng được biểu diễn bằng mã hóa một nóng không? hoặc họ nên được đại diện theo cách khác?.
adnanmuttaleb

Xin chào Kasra, bạn có thể chia sẻ một số triển khai liên quan đến các bước bạn đã đề cập
Payal Bhatia

2

Nếu bạn muốn thêm nhiều dữ liệu traning văn bản / câu, bạn có thể sử dụng các từ nhúng được đào tạo trước. Các mô hình tiền xử lý như cung cấp biểu diễn vectơ từ của mỗi từ trong từ điển. Nó cũng cung cấp các từ 'most_smustom'.

Bạn chỉ có thể sử dụng câu mẫu và tạo các mẫu mới bằng cách hoán vị từng từ với các từ tương tự TOP_N nhất của nó.

ví dụ: nếu câu của bạn có 3 từ và nếu bạn chọn 3 từ giống nhau nhất cho mỗi từ, bạn có thể lật lại 27 lần.


Xin chào Yashodhan, làm thế nào chúng ta có thể sử dụng quy trình này nếu nó là miền cụ thể? Cảm ơn
Payal Bhatia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.