Dataset Sentiment Analysis Vietnamese

w2vvn

Trong bài viết này chúng tôi công bố một số tài nguyên được dùng trong các bài viết trước, về chủ đề phân tích cảm xúc trong văn bản Tiếng Việt.

  1. Tại sao việc chạy thực nghiệm hay thí nghiệm một bài toán liên quan đến deep learning là khó với người nghiên cứu?
  2. Bộ dữ liệu Tiếng Việt tách từ.
  3. Bộ dữ liệu nhận xét (review) được gán nhãn cảm xúc tích cực, tiêu cực.

 

1. Tại sao việc chạy thực nghiệm hay thí nghiệm một bài toán liên quan đến deep learning là khó với người nghiên cứu?

Cái khó đầu tiên đối với người nghiên cứu về deep learning là vấn đề bộ dữ liệu dùng để huấn luyện mô hình học. Khi nói đến deep learning điều đầu tiên cần phải nghĩ đến ngay là Big Data. Vì bản chất của các mô hình học dùng deep learning là tích lũy tri thức từ dữ liệu theo phép suy diễn thống kê. Tức là mô hình học phải được huấn luyện với một tập dữ liệu đầu vào khá lớn, và được lặp đi lặp lại nhiều lần để điều chỉnh hàng nghìn hoặc đến hàng triệu tham số trong mô hình deep learning. Nếu bạn nào đã đọc bài viết "Phân tích cảm xúc trong Tiếng Việt" thì có đề cập đến quy tắc parameters > example = trouble, tức là nếu số lượng mẫu dùng để huấn luyện mô hình mà nhỏ hơn số lượng tham số của mô hình thì nhiều khả năng mô hình dễ bị vấn đề quá khớp - Overfitting.

Vì vậy, việc ứng dụng deep learning để giải quyết các bài toán trong thực tiễn cuộc sống chỉ giành cho những ai đã có sẵn dữ liệu lớn (Big Data), những doanh nghiệp lớn hoặc những doanh nghiệp sống lâu năm thì may ra mới có đủ dữ liệu và có bài toán để giải quyết bằng deep learning. Vậy Deep Learning hoàn toàn là cuộc chơi của những ông lớn.

Để dùng deep learning điều kiện tiên quyết là phải có big data. Chính điều này lại là một trở ngại lớn cho những người nghiên cứu deep learning tay ngang, nếu như họ không làm việc trong các tổ chức, doanh nghiệp lớn, hoặc các công ty công nghệ được các doanh nghiệp đặt hàng giải quyết các bài toán khai thác dữ liệu từ các kho dữ liệu lớn sẵn có thì quả thật hết sức nan giải.

Bản thân chúng tôi cũng là những người nghiên cứu deep learning dạng tay ngang. Cho nên việc thực hành các mô hình học deep learning cũng gặp trở ngại lớn từ dữ liệu huấn luyện dùng để thí nghiệm. Có thể nói để thí nghiệm deep learning thì 80% thời gian và sức lực được dùng cho việc chuẩn bị dữ liệu để huấn luyện. Trong đó, từ dữ liệu thô ban đầu ta phải tiến hành các bước để làm sạch dữ liệu, rút trích và chuẩn hóa dữ liệu đầu vào, biến đổi dữ liệu thành các kiểu dữ liệu mà máy tính hiểu được... Mà khối lượng dữ liệu lại lớn, cho nên việc xử lý dữ liệu mất khá nhiều công sức, thời gian và tài nguyên.

Chính vì thế, hôm nay chúng tôi công bố 1 số bộ dữ liệu được dùng trong các bài viết trước đây về chủ đề phân tích cảm xúc trong Tiếng Việt. Để những ai thích thú nghiên cứu deep learning đỡ mất công sức vào việc chuẩn bị dữ liệu huấn luyện. Cũng có nhiều người liên hệ để xin tập dữ liệu, nhưng một phần vì công việc quá bận, một phần vì thí nghiệm này chúng tôi đã làm khoảng 2 năm trước rồi, nên việc tìm kiếm lại dữ liệu để công bố cũng mất thời gian.

 

2. Bộ dữ liệu Tiếng Việt tách từ.

Đầu tiên là bộ dữ liệu Tiếng Việt đã được tách từ, các bạn có thể download tại đây: datatok. Dữ liệu văn bản gốc ban đầu được lấy từ nhóm DongDu.

Nhân đây cũng xin gửi lời cám ơn đến bộ dữ liệu Tiếng Việt của nhóm nghiên cứu NLP DongDu, nhờ đó mà chúng tôi thực hành thí nghiệm tạo Word2Vector cho Tiếng Việt đỡ mất công sức hơn.

 

3. Bộ dữ liệu nhận xét (review) được gán nhãn cảm xúc tích cực, tiêu cực.

Đây là bộ dữ liệu nhận xét (review) đã được xử lý tách từ và được gán nhãn với 2 loại cảm xúc tích cực và tiêu cực. Các bạn có thể download bộ dữ liệu tại đây.

Trong đó có 2 thư mục data_train và data_test. Trong thư mục data_train có chứa 2 thư mục train và test dùng để huấn luyện và xác minh qua mỗi epoch huấn luyện. Còn trong thư mục data_test chỉ có 1 thư mục test dùng để kiểm tra mô hình sau khi đã huấn luyện xong.

Cụ thể, cấu trúc thư mục data_train như sau:

.
├── test
│   ├── neg
│   │   ├── 1.txt
│   │   ├── 2.txt
│   │   ├── 3.txt
│   │   └── ...txt
│   └── pos
│       ├── 1.txt
│       ├── 2.txt
│       ├── 3.txt
│       └── ...txt
└── train
    ├── neg
    │   ├── 1.txt
    │   ├── 2.txt
    │   ├── 3.txt
    │   └── ...txt
    └── pos
        ├── 1.txt
        ├── 2.txt
        ├── 3.txt
        └── ...txt

Tổng số lượng mẫu của trong cả data_train và data_test là 50.000 mẫu dữ liệu bình luận (review). Được phân chia như sau:

  • Số lượng mẫu tập train là 30.000 bình luận.
  • Số lượng mẫu tập validate là 10.000 bình luận.
  • Số lượng mẫu tập test là 10.000 bình luận.

Bộ dữ liệu này được lấy từ các bình luận của trang web foody.vn. Với việc phân loại cảm xúc tích cực và tiêu cực được dựa trên số điểm trung bình của mỗi bình luận. Theo đó, các bình luận tiêu cực được chúng tôi lấy mức điểm đánh giá từ 0,1 --> 5,7 điểm. Còn các bình luận tích cực chúng tôi lấy mức điểm từ 8,5 --> 10,0.

Nhân đây, cũng xin gửi lời cám ơn đến trang web foody.vn. Vì nhờ đó mà chúng tôi mới có dữ liệu để tiến hành những thí nghiệm của mình.

Chúc các bạn có những thí nghiệm của riêng mình và nắm bắt được những tri thức hiện đại, cũng như làm chủ được một trong những công cụ mạnh mẽ nhất hiện nay: Deep Learning.

Happy coding!!!

00h08AM, 14/05/2018

Our Team