Có ít dữ liệu, làm sao train model? – Chương 2. Data Augment/tăng cường dữ liệu cho Text

Well, như vậy trong bài trước của series này mình đã cùng chia sẻ về cách augment dữ liệu ảnh (xem tại đây). Hôm nay chúng ta sẽ cùng làm vấn đề tương tự với dữ liệu văn bản (text) nhé. Chúng ta sẽ tăng cường dữ liệu text để train model classify.

Augment Data/tăng cường dữ liệu cho ảnh đơn giản hơn, chúng ta chỉ cần 1 chút hiểu biết về dữ liệu là có thể áp dụng được. Tuy nhiên augment data cho Text đòi hỏi chúng ta phải hiểu bài toán, hiểu dữ liệu để tránh việc augment làm sai lệch đi ý nghĩa của văn bản và ảnh hưởng đến kết quả đầu ra của bài toán.

Nào bắt đầu nhé!

tăng cường dữ liệu
Nguồn: Google

Cách 1. Thay đổi ngẫu nhiên vị trí các từ trong câu

Hai từ ngẫu nhiên trong câu sẽ được tráo đổi vị trí cho nhau và việc này lặp đi lặp lại 1 số lần nhất định tùy các bạn define. Chú ý chút là cách này chỉ phù hợp với các bài toán phân loại văn bản (ví dụ như phân loại positive, negative,….) vì các bài toán này ít quan tâm đến đến thứ tự các từ trong câu.

Ví dụ, các bạn có thể đổi chỗ “Nhà hàng này món ăn rất ngon” thành “Nhà hàng này món ăn ngon rất” hoặc “Tôi yêu Việt Nam” thành “Yêu tôi Việt Nam”.

Để thực hiện thì các bạn cứ thực hiện tokenize các câu input và sau đó xáo trộn những từ đã tokenize đó và nối lại để tạo ra các câu mới.

Cách 2. Thay thế ngẫu nhiên các từ trong câu bằng từ đồng nghĩa

Để thực hiện cách này bạn phải chuẩn bị một từ điển các từ đồng nghĩa. Ví dụ như:

gan dạ->dũng cảm,
nhà thơ->thi sĩ,
mổ xẻ->phẫu thuật,
đòi hỏi->yêu cầu,
loài người-> nhân loại,
của cải->tài sản,
nước ngoài->ngoại quốc,
chó biển->hải cẩu,
năm học->niên khóa, 
heo->lợn,
lê ki ma-> quả trứng gà,
vô->vào
hay mặt->đại diện....

Sau đó bạn thay ngẫu nhiên các từ trong câu gốc bằng các từ đồng nghĩa để tạo ra câu mới.

Ví dụ như câu “Anh ấy thích ăn thịt heo” có thể chuyển thành “Anh ấy thích ăn thịt lợn” hay “Năm học này cô ta đạt loại giỏi” thành “Niên khóa này cô ta đạt loại giỏi”….

tăng cường dữ liệu
Nguồn: Google

Cách 3. Chèn ngẫu nhiên một từ đồng nghĩa vào trong câu

Thay vì thay thế như ở cách 2 thì chúng ta chèn thêm một từ đồng nghĩa vào đằng sau một từ trong câu. Từ này được chọn ngẫu nhiên cho mỗi lần Augment.

Ví dụ: “Anh ấy là một nhà thơ kiệt xuất” thì chèn thêm thành “Anh ấy là một nhà thơ thi sĩ kiệt xuất” hoặc “Chắc chắn dự án này có yếu tố ngoại quốc” thành “Chắc chắn dự án này có yếu tố ngoại quốc nước ngoài”….

Cách 4. Xóa ngẫu nhiên các từ trong câu

Ngược lại với cách insert, thì chúng ta xóa ngẫu nhiên các từ trong câu. Chúng ta có thể xét một ngưỡng nhất định ví dụ xóa random tối đa 10% số từ trong câu.

Ví dụ với câu “Chúng tôi rất thích Mì AI vì có nhiều kiến thức hay”, câu này dài 12 từ. Như vậy 10% là 1,2 từ và chúng ta sẽ ngẫu nhiên xóa 1 từ trong câu này và tạo ra các câu mới như:

"Tôi rất thích Mì AI vì có nhiều kiến thức hay"
"Chúng rất thích Mì AI vì có nhiều kiến thức hay"
"Chúng tôi thích Mì AI vì có nhiều kiến thức hay"
.......

Như vậy với 4 cách trên chúng ta đã có thể sinh ra nhiều input data hơn khi gặp các bài toán xử lý văn bản mà vẫn đảm bảo tính đúng đắn của dữ liệu đầu vào. Mình xin tạm dừng bài này ở đây, hẹn gặp lại bài sau với Data Synthesis.

Hãy join cùng cộng đồng Mì AI nhé!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://ainoodle.vn
Youtube: http://bit.ly/miaiyoutube

mm
Nguyễn Chiến Thắng

Một người đam mê những điều mới mẻ và công nghệ hiện đại. Uớc mơ cháy bỏng dùng AI, ML để làm cho cuộc sống tốt đẹp hơn! Liên hệ: thangnch@gmail.com hoặc facebook.com/thangnch

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *