Trong đồ án này, chúng tôi tiến hành nghiên cứu và thử nghiệm những mô hình học sâu với bộ dữ liệu [31], bao gồm 10302 câu ngữ liệu và giải quyết hai bài toán con phát hiện thể loại khía
Trang 1TÁC VỤ
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
LÊ SI LẮC – 172520669
DỰ ĐOÁN KHÍA CẠNH VÀ CẢM XÚC DỰA TRÊN BỘ DỮ LIỆU TIẾNG VIỆT THÔNG QUA
PHƯO ̛ NG THỨC HỌC ĐA TÁC VỤ
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYỄN LƯU THÙY NGÂN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 3LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn sâu sắc đến TS Nguyễn Lưu Thùy Ngân, cô
đã luôn quan tâm, lo lắng, nhắc nhỡ cũng như hỗ trợ tôi trong suốt quá trình thực hiện
Cô là người đã truyền cảm hứng giúp tôi định hướng trong con đường học thuật và nghiên cứu khoa học Đồng thời, tôi cũng xin gử i lời cảm ơn đến các thầy cô, anh chi ̣
ta ̣i Phò ng thí nghiệm Truyền thông Đa phương tiện, Trường đa ̣i ho ̣c Công nghệ Thông tin đã luôn đồng hành và góp ý tận tình cho tôi trong ngay từ những bước đầu thực hiện đồ án
Bên cạnh đó, tôi xin được gửi lời cảm ơn chân thành nhất đến anh Đặng Văn Thìn Người đã luôn đồng hành, giúp đỡ và động viên tôi trong quá trình hiện thực NCKH này Đồng thời, tôi xin gửi lời cảm ơn đến anh Nguyễn Minh Hảo, chị Tôn
Nữ Thị Sáu đã cho phép tôi sử dụng bộ dữ liệu để thực hiện phần NCK của mình
Trong quá trình thực hiện nghiên cứu, dù có hoàn chỉnh đến đâu thì giới hạn
về kiến thức sẽ không tránh khỏi những sai sót trong đồ án Tôi mong nhận được ý kiến đóng góp từ quý thầy cô
Một lần nữa, tôi xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày 18 tháng 1 năm 2020
Sinh viên Lê Si Lắc
Trang 4MỤC LỤC
LỜI CẢM ƠN 3
DANH MỤC HÌNH ẢNH 7
DANH MỤC TỪ VIẾT TẮT 9
Chương 1 MỞ ĐẦU 2
1.1 ĐẶT VẤN ĐỀ 2
1.2 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 4
1.3 MỤC TIÊU CỦA ĐỒ ÁN 4
1.4 KẾT QUẢ CỦA NGHIÊN 5
1.5 CẤU TRÚC KHÓA LUẬN 5
Chương 2 TỔNG QUAN 7
1.1 PHÂN TÍCH Ý KIẾN 7
2.2 PHÂN TÍCH Ý KIẾN THEO KHÍA CẠNH 8
3.3 TÌNH HÌNH NGHIÊN CỨU 10
2.3.1 TÌNH HÌNH NGHIÊN CỨU TRÊN THẾ GIỚI 10
2.3.2 TÌNH HÌNH NGHIÊN CỨU TRONG NƯỚC 11
2.3.3 NHẬN XÉT 13
4.4 PHÁT BIỂU BÀI TOÁN 14
Chương 3 TỔNG QUAN VỀ BỘ NGỮ LIỆU PHÂN TÍCH Ý KIẾN THEO KHÍA CẠNH 16
1.1 TỔNG QUAN THU THẬP VÀ TIỀN XỬ LÝ NGỮ LIỆU 17
3.1.1 THU THẬP NGỮ LIỆU 17
3.1.2 TIỀN XỬ LÝ NGỮ LIỆU 17
2.2 QUY TẮC GÁN NHÃN NGỮ LIỆU 19
3.3 PHÂN TÍCH NGỮ LIỆU 24
Chương 4 MÔ HÌNH PHÂN TÍCH Ý KIẾN THEO KHÍA CẠNH 29
4.1 MÔ HÌNH HỌC SÂU 32
1.1.1 MẠNG NƠ-RON NHÂN TẠO 32
2.1.2 CONVOLUTIONAL NEURAL NETWORK 33
4.1.2.1 TỔNG QUAN 33
4.1.2.2 DROPOUT CHO OVERFITTING 37
4.1.2.3 CNN TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN 39
3.1.3 BiGRU 40
4.2 ĐẶC TRƯNG CHO MÔ HÌNH PHÂN LỚP 40
1.2.1 ĐẶC TRƯNG TỪ LOẠI (PART-OF-SPEECH) 41
2.2.2 ĐẶC TRƯNG N-GRAMS 42
Trang 54.2.4 MÔ HÌNH ĐA TÁC VỤ BiGRU-CNN 43
Chương 5 THỬ NGHIỆM VÀ KẾT QUẢ THỬ NGHIỆM 47
5.1 TIỀN XỬ LÝ NGỮ LIỆU 48
5.2 RÚT TRÍCH ĐẶC TRƯNG 48
5.3 CÀI ĐẶT VÀ THIẾT LẬP THÔNG SỐ THỬ NGHIỆM 48
5.3.1 MÔ HÌNH HỌC SÂU 48
5.4 CHỈ SỐ ĐÁNH GIÁ MÔ HÌNH 49
5.5 KẾT QUẢ THỬ NGHIỆM 51
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55
6.1 KẾT LUẬN 55
6.2 HẠN CHẾ 56
6.3 HƯỚNG PHÁT TRIỂN 56
TÀI LIỆU THAM KHẢO 57
Trang 6DANH MỤC BẢNG
Bảng 2.1 Cặp thực thể và thuộc tính trong miền dữ liệu nhà hàng, quán ăn 13 Bảng 3.1 Độ đồng thuận giữa các thành viên gán nhãn 25 Bảng 3.2 Phân bố số lượng và tỉ lệ các thể loại khía cạnh 27 Bảng 3.3 Số lượng các nhãn khía cạnh và cảm xúc trên các khía cạnh trong bộ ngữ liệu 28 Bảng 3.4 Thống kê số lượng câu và tỉ lệ phần trăm theo độ dài câu 29 Bảng 3.5 Thống kê số lượng câu và tỉ lệ phần trăm theo số lượng nhãn 29 Bảng 4.1 Đặc trưng uni-grams, bi-ggrams và tri-grams cho câu "mấy anh_chị nhân_viên ở đây cũng dễ_thương nữa" 45 Bảng 5.1 Kết quả cho bài toán phát hiện thể loại khía cạnh tính theo đơn vị % 51 Bảng 5.2 Kết quả cho bài toán phát hiện thể loại khía cạnh kết hợp với xác định trạng thái cảm xúc tính theo đơn vị % 52 Bảng 5.3 Kết quả của mô hình SVM khi kết hợp với các đặc trưng khác nhau theo bài toán phát hiện thể loại khía cạnh 56 Bảng 5.4 Kết quả của các hướng tiếp cận khác nhau để giải quyết hai bài toán phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc 58
Trang 7DANH MỤC HÌNH ẢNH
Hình 3.1 Tỉ lệ thời gian dành cho các giai đoạn để xây dựng một hệ thống khoa học
ngữ liệu Nguồn: báo cáo về học ngữ liệu 2016 [21] 15
Hình 3.2 Định dạng xml cho đoạn bình luận với các câu văn bình luận 18
Hình 3.3 Quy trình đánh giá độ đồng thuận trong việc gán nhãn ngữ liệu 24
Hình 3.4 Chi tiết số lượng nhãn thể loại khía cạnh trên tập huấn luyện, tập phát triển và tập kiểm tra 30
Hình 4.1 Các mặc phẳng phân tách hai lớp 34
Hình 4.2 Margin phân chia hai lớp 34
Hình 4.3 Kiến trúc mạng nơ-ron nhân tạo 36
Hình 4.4 Cấu trúc trong từng nốt của mạng nơ-ron nhân tạo Nguồn: [28] 37
Hình 4.5 Ý tưởng Local receptive fields trong mô hình CNN Nguồn: [29] 38
Hình 4.6 Kiến trúc tổng quan của mô hình CNN Nguồn: [30] 39
Hình 4.7 Ví dụ tích chập giữa đầu vào 5x5 và bộ lọc 3x3 với bước trượt là 1 39
Hình 4.8 Ví dụ phép tổng hợp lớn nhất (maxpooling) cho đầu vào 5x5 và bộ lọc 3x3 với hai dạng bước trượt 1 và 2 40
Hình 4.9 Ví dụ phép gộp trung bình (averagepooling) cho đầu vào 5x5 và bộ lọc 3x3 với hai dạng bước trượt 1 và 2 41
Hình 4.10 Kỹ thuật dropout trong xử lý overfitting 42
Hình 4.11 Mô hình Convolutional neural network đề xuất 43
Hình 5.1 Sơ đồ tổng quan hệ thống phân tích ý kiến trên khía cạnh 47
Hình 5.2 Tổng quan các tham số được sử dụng trong mô hình CNN 50
Hình 5.3 Kết quả chi tiết các thể loại khía cạnh cho bài toán phát hiện thể loại khía cạnh theo điểm số F1 giữa hai mô hình SVM và CNN 53
Hình 5.4 Kết quả chi tiết các khía cạnh cho bài toán phát hiện thể loại khía cạnh kết hợp với xác định trạng thái cảm xúc theo điểm số F1 giữa hai mô hình SVM và CNN 54
Hình 5.5 Kết quả các nhãn khía cạnh đối với bài toán phát hiện thể loại khía cạnh theo tiền xử lý và không có tiền xử lý ngữ liệu tính theo điểm F1 55
Trang 8Hình 5.6 So sánh ảnh hưởng của số lượng câu ngữ liệu đến mô hình huấn luyện 57
Trang 9DANH MỤC TỪ VIẾT TẮT
1 ABSA Phân tích ý kiến theo khía cạnh –
Aspect-based sentiment analysis
Trang 10TÓM TẮT
Phân tích ý kiến theo khía cạnh (aspect-based sentiment analysis) là một bài toán mở rộng từ bài toán phân tích cảm xúc (sentiment analysis) Bài toán phân tích ý kiến theo khía cạnh có nhiệm vụ xác định trạng thái cảm xúc trên các đánh giá liên quan đến từng thể loại khía cạnh cụ thể ở miền dữ liệu cụ thể
Trong đồ án này, chúng tôi tiến hành nghiên cứu và thử nghiệm những mô hình học sâu với bộ dữ liệu [31], bao gồm 10302 câu ngữ liệu và giải quyết hai bài toán con phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc Mô hình được chúng tôi sử dụng thử nghiệm là mô hình máy học truyền thống support vector machine và
mô hình học sâu convolutional neural network Kết quả thử nghiệm đối với bài toán phát hiện thể loại khía cạnh: mô hình chúng tôi đề xuất đạt được kết quả là 93.08% Còn kết quả đối với cả hai bài toán phát hiện thể loại khía cạnh kết hợp với xác định trạng thái cảm xúc, thử nghiệm đạt kết quả 69.13% Kết quả thử nghiệm cho thấy mô hình học sâu cho ra kết quả tốt hơn so với mô hình máy học truyền thống, đồng thời mô hình chúng tôi đưa ra đã có những cải thiện vượt bậc so với các nghiên cứu sử dụng
bộ dữ liệu cho đến thời điểm hiện tại
Trang 11Chương 1 MỞ ĐẦU 1.1 ĐẶT VẤN ĐỀ
Trong khoảng những năm gần đây, với sự phát triển mạnh mẽ và vượt bậc của Internet
và nhu cầu tham khảo các phản hồi của những khách hàng trước đó khi mua sắm trực tuyến ngày càng tăng Thế nên, những trang mạng hiện nay được phát triển cho phép các người dùng có thể chia sẻ những trải nghiệm, đánh giá, nhận xét và phản hồi về các loại hình dịch vụ, sản phẩm của các doanh nghiệp, tổ chức Khi người dùng quyết định lựa chọn mua một sản phẩm hay dịch vụ nào đó không những xem xét các thông tin về sản phẩ, dịch vụ đó mà còn có xu hướng quan tâm đến phản hồi của những người dùng khác Khi tiến hành tham khảo các đánh giá, phản hồi của những người dùng khác thì các khách hàng thường có xu hướng đưa ra các quyết định lựa chọn dịch vụ, sản phẩm phù hợp và đáng tin cậy hơn Cùng với đó, các doanh nghiệp, dịch
vụ và các tổ chức cũng tiến hành thu thập các thông tin phản hồi của người dùng về các sản phẩm, dịch vụ của họ để đưa ra các hướng đi đúng đắn hơn Tuy nhiên, với lượng lớn các thông tin phản hồi của người dùng về dịch vụ, sản phẩm nào đó thì người dùng và các doanh nghiệp, tổ chức khó có thể mà quan tâm được hết Để giải quyết vấn đề này, các doanh nghiệp, tổ chức và người dùng cần một hệ thống có thể phân tích tự động được tất cả các phản hồi và tóm tắt lại được tất cả các phản hồi để khách hàng, doanh nghiệp tham khảo và đưa ra các quyết định nhanh chóng
Hiện nay, những thông tin mà các hệ thống được sử dụng để phân tích các phản hồi của người dùng trên các trang mạng thường chỉ quan tâm đến các thang điểm mà người dùng đánh giá về các sản phẩm, dịch vụ đó Tuy nhiên, các thang điểm đánh giá phản hồi thì không thể hiện khách quan mức độ hài lòng của người dùng bằng những câu văn, những đoạn bình luận
Do đó, một số hệ thống cũng đã được xây dựng để tiến hành phân tích các câu văn bình luận của người dùng Thế nhưng, các hệ thống này chỉ xây dựng để đáp ứng công việc phân tích câu bình luận của người dùng phản ánh trạng thái cảm xúc tích cực, trung tính hay tiêu cực đối với các sản phẩm hoặc dịch vụ mà chưa quan tâm đến các khía cạnh cụ thể trong đó Ví dụ, đối với câu bình luận của người dùng về nhà
Trang 12hàng như “Đồ ăn thì rất là ngon luôn đó, dịch vụ tốt nữa nhưng có nhược điểm thì hơi khó tìm một tý” Đối với hệ thống phân tích ý kiến thì với câu bình luận như thế của người dùng thì hệ thống chỉ trả về là tích cực Thế nhưng, nếu chúng ta quan tâm đến những vấn đề cụ thể thì chúng ta sẽ thấy trong câu trên có hai khía cạnh được đánh giá tích cực là chất lượng của đồ ăn và chất lượng của phục vụ trong khi đó vị trí của quán thì bị đánh giá là tiêu cực
Do đó, người dùng và các doanh nghiệp đòi hỏi phải có một hệ thống có thể khai thác, phân tích và tóm tắt được tất cả các khía cạnh của các bình luận của người dùng và bài toán mới được được phát sinh là bài toán phân tích ý kiến theo khía cạnh của bình luận người dùng
Đối với lĩnh vực nhà hàng, trước khi khách hàng tiến hành đặt mua đồ ăn, thức uống hay chọn nhà hàng cho các buổi tiệc thì người dùng cũng chú trọng đến các phản hồi của những khách hàng trước đó để cân nhắc trong việc lựa chọn Ngoài ra, với lĩnh vực nhà hàng, người dùng còn quan tâm cụ thể đến từng khía cạnh vấn đề để đưa ra quyết định lựa chọn như chất lượng thức ăn, nước uống, dịch vụ, không gian, giá cả,…v.v chứ không đơn thuần chỉ quan tâm đến tổng quan của nhà hàng Bằng việc phân tích chi tiết trạng thái của các khía cạnh, chúng ta có thể khai thác được nhiều thông tin từ đánh giá của người dùng Nhận thấy tầm quan trọng của việc đi sâu vào phân tích các khía cạnh, chúng ta cần một hệ thống có thể thực hiện bài toán phân tích ý kiến theo khía cạnh của bình luận người dùng ở trên miền dữ liệu nhà hàng
Hiện nay, bài toán phân tích ý kiến theo khía cạnh mà cụ thể là bài toán phân tích ý kiến theo khía cạnh ở miền dữ liệu nhà hàng đang rất thu hút cộng đồng nghiên cứu trên thế giới và cũng như trong nước Hầu hết các bộ ngữ liệu cũng như các thuật toán được xây dựng và thử nghiệm trên nhiều ngôn ngữ khác nhau như tiếng Anh, tiếng Trung Quốc v.v Tuy nhiên đối với tiếng Việt, chưa có nhiều bộ ngữ liệu được xây dựng để phục vụ cho cộng đồng nghiên cứu Thế nên, chúng tôi quyết định tiến hành xây dựng một bộ ngữ liệu chuẩn ở mức độ câu cho tiếng Việt để phục vụ cho
Trang 13bài toán này và cài đặt một hệ thống sử dụng phương pháp học sâu đa tác vụ
1.2 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.2.1 ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng quan trọng đầu tiên trong đồ án này, đó là các câu bình luận của người dùng Các câu bình luận này được khai thác từ những phản hồi của người dùng trên các trang mạng về các địa điểm ăn uống như: nhà hàng, quán ăn, tiệm bánh, v.v
1.2.2 PHAM VI NGHIÊN CỨU
Phạm vi được chúng tôi tiến hành nghiên cứu trong đồ án này là những bình luận của người dùng trên các trang mạng về các địa điểm ăn uống như nhà hàng, quán ăn, quán bánh, quán cafe,…v.v
Đối với đồ án của chúng tôi, chúng tôi thực hiện trên hai bài toán con là phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc
1.3 MỤC TIÊU CỦA ĐỒ ÁN
Trong đồ án này, chúng tôi tiến hành nghiên cứu, tìm hiểu và giải quyết hai mục tiêu chính như sau:
- Nghiên cứ u và thử nghiệm mô hình ho ̣c đa tác vu ̣ (multitask learning) dựa trên
các mô hình ho ̣c sâu (deep neural network) để giải quyết bài toán xác đi ̣nh khía ca ̣nh (aspect detection) và dự đoán tra ̣ng thái cảm xúc của khía ca ̣nh (aspect polarity) cho bình luận của người dùng
- Phân tích và so sánh hiệu quả giữa các mô hình ho ̣c sâu theo hướng tiếp cận multitask so vớ i các cách tiếp cận ho ̣c giảm sát (supervised learning)
Trang 141.4 KẾT QUẢ CỦA NGHIÊN
Từ những nghiên cứu trong đồ án chúng tôi đạt được những kết quả như sau:
- Kết quả thử nghiệm đối với bài toán phát hiện thể loại khía cạnh: mô hình chúng tôi đề xuất đạt được kết quả là 93.08% Còn kết quả đối với cả hai bài toán phát hiện thể loại khía cạnh kết hợp với xác định trạng thái cảm xúc, thử nghiệm đạt kết quả 69.13% Kết quả thử nghiệm cho thấy mô hình học sâu cho
ra kết quả tốt hơn so với mô hình máy học truyền thống, đồng thời mô hình chúng tôi đưa ra đã có những cải thiện vượt bậc so với các nghiên cứu sử dụng
bộ dữ liệu cho đến thời điểm hiện tại
- Ngoài ra, từ kết quả đạt được trong quá trình thực hiện, chúng tôi đã có những đóng góp vào bài báo khoa học:
o Tham gia đề tài NCKH tại trường, “Dự Đoán Khía Cạnh Vảm Xúc Dựa Trên Bộ Dữ Liệu Tiếng Việt Thông Qua Phương Thức Học Đa Tác Vụ”
o Xuất bản tạp chí, Transactions on Asian and Low-Resource Language Information Processing (TALLIP-20-0386.R1), “Two New Large Corpora for Vietnamese Aspect-Based Sentiment Analysis at Sentence Level”
1.5 CẤU TRÚC KHÓA LUẬN
Trong báo cáo NCKH này bao gồm 6 chương với các nội dung như sau:
Chương 1: Mở đầu Trình bày lý do chọn đồ án, đối tượng và phạm vi nghiên cứu, mục tiêu cũng như kết quả của đồ án
Trang 15 Chương 2: Tổng quan Giới thiệu khái niệm về bài toán phân tích ý kiến và
bài toán phân tích ý kiến theo khía cạnh, phân tích các hướng nghiên cứu đã được thực hiện trong và ngoài nước liên quan đến bài toán này Trình bày bài toán trong đồ án này tiến hành nghiên cứu và thực hiện
Chương 3: Trình bày khái lược về bộ ngữ liệu phân tích ý kiến theo khía cạnh Trình bày về quy trình gán nhãn ngữ liệu từ thu thập thông tin, xây dựng
các quy tắc gán nhãn đến các công đoạn trong quá trình gán nhãn và phân tích
bộ ngữ liệu xây dựng được
Chương 4: Mô hình phân tích ý kiến theo khía cạnh Trình bày hướng tiếp
cận đối với hai bài toán con của bài toán phân tích ý kiến theo khía cạnh Đồng thời, trình bày cơ sở lý thuyết của các phương pháp được sử dụng để tiến hành thử nghiệm với các đặc trưng tương ứng
Chương 5: Thử nghiệm và kết quả thử nghiệm Trình bày quá trình cài đặt
thử nghiệm, các bảng thông số và phân tích kết quả giữa các thử nghiệm
Chương 6: Kết luận và hướng phát triển Tổng kết các kết quả quan trọng
đã đạt được trong đồ án, những hạn chế chưa được giải quyết và hướng phát triển của đồ án trong tương lai
Trang 16Chương 2 TỔNG QUAN
Trong đồ án này, chúng tôi tiến hành nghiên cứu bài toán phân tích ý kiến theo khía cạnh (aspect-based sentiment analysis - ABSA) được mở rộng từ bài toán phân tích cảm xúc (sentiment analysis - SA) với việc phải giải quyết hai bài toán con là phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc Đối với bài toán SA thông thường, từ một câu bình luận của người dùng kết quả trả về là các trạng thái cảm xúc tương ứng đối với câu đó Thế nhưng, đối với bài toán ABSA, chúng tôi phải tiến hành phân tích chi tiết các khía cạnh được đề cập đến trong câu bình luận và cả trạng thái cảm xúc tương ứng cho từng khía cạnh đó
Hình 1 Mô tả ba nhiệm vụ của ABSA: Mục đích của OTE là trích xuất mục tiêu ý kiến, trong trường hợp này là "sushi" và "phục vụ" Đối với ACD, đã được thiết đặt các danh mục xác định trước, nhiệm vụ là xác định: thực thể#khía cạnh, khía cạnh của "sushi" là
"Food" và thực thể biểu thị của khía cạnh là "Quality" SP xác định cảm xúc của một khía cạnh mục tiêu - tích cực hoặc tiêu cực
1.1 PHÂN TÍCH Ý KIẾN
Phân tích ý kiến (opinion mining) hay còn được biết đến với tên gọi là phân tích cảm xúc (sentiment analysis) là một trong những bài toán thuộc lĩnh vực xử lý ngôn ngữ
tự nhiên (natural language processing - NLP) Mục đích của bài toán phân tích ý kiến
là xác định, phân tích và đánh giá các ý kiến, cảm xúc, thái độ,…v.v về các phản hồi của mọi người đối với các sản phẩm, dịch vụ, tổ chức, cá nhân, sự kiện Các nghiên
Trang 17này đã trở thành một nghiên cứu rất được các nhà khoa học quan tâm đến
Một trong những nguyên nhân mà bài toán này được quan tâm nghiên cứu và phát triển Đầu tiên, bài toán này được ứng dụng ở nhiều lĩnh vực thực tế trong đời sống Thứ hai, bài toán cung cấp nhiều bài toán nhỏ khác nhau cũng như nhiều cấp độ khác nhau đầy thách thức và chưa từng được đề cập vào nghiên cứu trước đây Thứ ba, sự phát triển của mạng xã hội cung cấp một khối lượng dữ liệu khổng lồ phục vụ cho công tác nghiên cứu với bài toán này Nghiên cứu về phân tích ý kiến không chỉ có tác động quan trọng đến xử lý ngôn ngữ tự nhiên mà còn có thể tác động sâu sắc đến quản lý, chính trị, kinh tế
và khoa học xã hội vì tất cả đều chịu ảnh hưởng bởi ý kiến của con người
Hiện nay, bài toán phân tích ý kiến có ba cấp độ khác nhau là cấp độ câu (sentence level), cấp độ văn bản (document level), cấp độ khía cạnh – thực thể (Entity – Aspect level) [2] Các công trình nghiên cứu gần đây chủ yếu tập trung vào xác định ý kiến phản hồi được thể hiện trực tiếp hay ngụ ý qua các trạng thái tích cực, tiêu cực hay trung tính
2.2 PHÂN TÍCH Ý KIẾN THEO KHÍA CẠNH
Phân tích ý kiến theo khía cạnh (aspect-based sentiment analysis - ABSA) là bài toán được mở rộng từ bài toán phân tích cảm xúc Bài toán ABSA tiến hành phân tích chi tiết các đánh giá, tình cảm, ý kiến của người dùng theo từng khía cạnh cụ thể Hiện nay, có ba cấp độ đối với bài toán ABSA là cấp độ câu văn (Sentence-level ABSA), cấp độ văn bản (Text-level ABSA) và cấp độ ngoài miền dữ liệu huấn luyện (Out-of- domain ABSA) [3] Trong mỗi cấp độ, có ba bài toán con được quan tâm như phát hiện thể loại khía cạnh (Aspect Category), xác định ý kiến mục tiêu (Opinion Target Expression - OTE) và xác định trạng thái cảm xúc (Sentiment Polarity) [3]
Đồng thời, đối với bài toán ABSA, trên các miền dữ liệu khác nhau sẽ có những thể loại khía cạnh tương ứng được đề cập đến Các thể loại khía cạnh là sự kết hợp giữa cặp thực thể (Entity) và thuộc tính (Attribute) Với việc đi sâu vào nghiên cứu chi tiết trạng thái cảm xúc theo từng thể loại khía cạnh cụ thể, các hệ thống được xây dựng trên bài toán ABSA sẽ giúp các tổ chức, doanh nghiệp có thể lắng nghe, phân tích những phản hồi trải nghiệm của khách hàng cũng như kỳ vọng của khách
Trang 18hàng đối với sản phẩm hoặc dịch vụ một cách chi tiết và cụ thể hơn Ngoài ra, nó cũng giúp các khách hàng có nhiều thông tin chi tiết hơn để tham khảo trong quá trình đưa ra lựa chọn cho phù hợp.
Trang 193.3 TÌNH HÌNH NGHIÊN CỨU
2.3.1 TÌNH HÌNH NGHIÊN CỨU TRÊN THẾ GIỚI
Từ những năm 2000 cho đến nay, phân tích ý kiến cũng như phân tích ý kiến theo khía cạnh đã và đang thu hút được các nhà nghiên cứu quan tâm, phát triển và đưa vào ứng dụng thực tế Khái niệm phân tích cảm xúc (sentiment analysis) xuất hiện lần đầu tiên trong công trình của Nasukawa và Yi [4] Khái niệm phân tích ý kiến (opinion mining) xuất hiện lần đầu tiên trong công trình của Dave, Lawrence and Pennock [5] Tuy nhiên, nghiên cứu được xem là đầu tiên đặt nền móng cho phân tích
ý kiến là nghiên cứu của Pang và các cộng sự [1] Kể từ đó các nghiên cứu trong bài toán này ngày càng được quan tâm và phát triển
Công trình [1] đã tiến hành nghiên cứu về phân tích ý kiến từ các phản hồi của người dùng đối với miền dữ liệu điện ảnh (movie domain) với hai phân lớp được quan tâm đến trong nghiên cứu là tích cực và tiêu cực Ba phương pháp máy học (Naive bayes, maximum entropy classification và support vector machine) được sử dụng để giải quyết vấn đề phân loại các ý kiến trong nghiên cứu này
Năm 2010, Thet và các cộng sự [6] tiến hành thực hiện nghiên cứu không chỉ quan tâm đến việc phân tích ý kiến mà còn phân tích chi tiết các định hướng cảm xúc và sức mạnh của cảm xúc của đánh giá đối với các khía cạnh khác nhau trong miền dữ liệu điện ảnh Phương pháp được đề xuất là sử dụng điểm
số cảm xúc của bộ SentiWordNet để tiến hành tính toán cảm xúc cho các khía cạnh khác nhau
Công trình của Kim Schouten và Flavius Frasincar [7] giới thiệu tổng quan về bài toán phân tích ý kiến trên khía cạnh Trong công trình này, tác giả đưa ra các bài toán con của bài toán phân tích ý kiến theo khía cạnh, cách phương pháp đánh giá và khảo sát các mô hình và kết quả thử nghiệm được đề xuất đưa vào nghiên cứu trước đó đối với các bài toán con khác nhau
Trang 20Để đáp ứng cho công tác nghiên cứu đối với bài toán phân tích ý kiến theo khía cạnh được phát triển mạnh mẽ thì nhiều bộ ngữ liệu ở các miền dữ liệu khác nhau và trên các ngôn ngữ khác nhau đã được xây dựng
Bộ ngữ liệu của Marianna Apidianaki và các cộng sự [8] xây dựng trên hai miền dữ liệu nhà hàng và viện bảo toàn trên ngôn ngữ tiếng Pháp Trong công trình này, bộ ngữ liệu được xây dựng ở cấp độ câu với 2365 câu đối với lĩnh vực nhà hàng và 655 câu đối với lĩnh vực viện bảo toàn Đồng thời, ngữ liệu này được xây dựng theo hai nhiệm vụ của hội thảo SemEval2016 [3] là cấp độ câu đánh giá trong miền dữ liệu (in-domain sentence-level ABSA) đối với miền dữ liệu nhà hàng và ngoài miền dữ liệu (out-of-domain) đối với miền dữ liệu viện bảo toàn
Trong hội thảo SemEval, nhiều bộ ngữ liệu đã được cung cấp ở nhiều ngôn ngữ khác nhau để phục vụ cho bài toán phân tích ý kiến theo khía cạnh Hội thảo SemEval2014 [9] cung cấp một bộ ngữ liệu tiếng Anh đối với miền dữ liệu nhà hàng bao gồm 3841 câu với 2041 được trích xuất từ bộ ngữ liệu của Gayatree Ganu và các cộng sự [10] và miền dữ liệu máy tính xách tay (laptop) với 3845 câu ngữ liệu Hội thảo SemEval2015 [11] cung cấp bộ ngữ liệu đối với ba miền dữ liệu là nhà hàng (2000 câu), khách sạn (266) và máy tính xách tay (2500 câu) Ngữ liệu cho miền dữ liệu khách sạn được cung cấp để giải quyết bài toán out-of-domain Tại hội thảo SemEval2016 [3] đã cung cấp 19
bộ ngữ liệu huấn luyện (training datasets), 20 bộ ngữ liệu kiểm tra (testing datasets) cho 8 ngôn ngữ và 7 lĩnh vực khác nhau và trong đó, 24 bộ ngữ liệu phục vụ ở cấp độ câu và 14 bộ ngữ liệu phục vụ cho cấp độ văn bản
2.3.2 TÌNH HÌNH NGHIÊN CỨU TRONG NƯỚC
Bên cạnh những công trình nghiên cứu trên thế giới, bài toán phân tích ý kiến và phân tích ý kiến theo khía cạnh cũng thu hút được cộng đồng nghiên cứu trong nước trên
đa dạng các miền dữ liệu khác nhau như nhà hàng, khách sạn, điện tử và giáo dục,…v.v Theo như chúng tôi tìm hiểu, công trình nghiên cứu đầu tiên về phân tích
ý kiến trên tiếng Việt được thực hiện bởi Kieu & Pham [12] trên cấp độ câu văn và
Trang 21xây dựng một hệ thống dựa trên luật (rule-based system) sử dụng nền tảng Gate, tiến hành thực nghiệm đánh giá trên bộ ngữ liệu về miền dữ liệu máy tính và đạt độ đo F1
là 62.84%
Đối với bài toán phân tích ý kiến theo khía cạnh có những nhiệm vụ như sau: Xác định thể loại khía cạnh (Aspect Category), xác định ý kiến mục tiêu (Opinion Target Expression - OTE) và xác định trạng thái cảm xúc (Sentiment Polarity) [3]
Vu và cộng sự [13] trình bày một nghiên cứu về việc khai thác ý kiến dựa trên khía cạnh đánh giá sản phẩm bằng cách trích xuất các ý kiến rõ ràng hoặc ngụ ý sử dụng quy tắc cú pháp tiếng Việt Tiếp theo, Le và các cộng sự [14] đề xuất phương pháp học bán giám sát GK-LDA cho việc trích xuất và phân loại các thuật ngữ khía cạnh cho văn bản tiếng Việt
Mai & Le [15] đã tiến hành thu thập và xây dựng bộ ngữ liệu ABSA cho tiếng Việt đối với miền dữ liệu điện thoại thông minh và đồng thời, đề xuất một sơ đồ gán nhãn liên kết với các mạng thần kinh tái phát hai chiều (BRNN) và trường ngẫu nhiên
có điều kiện (CRF) để giải quyết cả hai nhiệm vụ trích xuất mục tiêu ý kiến và phát hiện tình cảm của nó đồng thời Các thử nghiệm trên bộ ngữ liệu của họ cho thấy kiến trúc BRNN-CRF đạt được hiệu suất hài lòng với độ đo F1 là 71.79%, vượt trội so với CRF với các tính năng được thiết kế bằng tay với độ đo F1 là 54.91%
Thuy cùng các cộng sự [16] xây dựng bộ ngữ liệu tiếng Việt đối với miền dữ liệu nhà hàng ở cấp độ câu và giải quyết nhiệm vụ phát hiện khía cạnh bằng việc kết hợp giữa ngữ liệu gán nhãn bằng tay và bộ ngữ liệu tiếng Anh được dịch sang tiếng Việt Cùng với đó đề xuất sử dụng word embedding làm đặc trưng cho mô hình và đạt được kết quả trên độ đo F1 là 70.62%
Năm 2018, cộng đồng xử lý ngôn ngữ tự nhiên (Vietnamese Language and Speech Processing - VLSP) đã tiến hành tổ chức cuộc thi và sử dụng bộ ngữ liệu cho bài toán phân tích ý kiến và phân tích ý kiến trên khía cạnh đối với miền dữ liệu nhà hàng và khách sạn của Huyen và các cộng sự [17] Bộ ngữ liệu [17] được xây dựng
ở mức độ đoạn cho bài toán phân tích ý kiến trên khía cạnh với 4751 đoạn bình luận đối với miền dữ liệu nhà hàng và 5600 đoạn bình luận đối với miền dữ liệu khách
Trang 22sạn Trong cuộc thi này, Thin cùng các cộng sự [18] đã sử dụng một phương pháp chuyển bài toán nhiều nhãn (multi label) thành các bài toán phân nhị phân (binary classification) sử dụng các đặc trưng được rút trích từ bình luận của người dùng Mô hình của họ đã đạt kết quả tốt nhất tại cuộc thi với kết quả F1 là 77% cho phát hiện khía cạnh và 61% cho toàn bộ bài toán đối với miền dữ liệu nhà hàng Còn đối với miền dữ liệu khách sạn, mô hình của họ đạt kết quả 70% cho phát hiện thể loại khía cạnh và 61% cho toàn bộ bài toán Sau đó, Thin và các cộng sự [19] đề xuất một phương pháp học sâu Deep Convolutional Neural Network để giải quyết bài toán phát hiện thể loại khía cạnh trên bộ ngữ liệu này với chỉ số F1 đạt 80.40% cho miền dữ liệu nhà hàng và 69.25% cho miền dữ liệu khách sạn
2.3.3 NHẬN XÉT
Đối với miền dữ liệu nhà hàng trên ngôn ngữ tiếng Việt, hiện nay, có hai bộ ngữ liệu của [16] và [17] được cung cấp cho công tác nghiên cứu Thế nhưng, bộ ngữ liệu của [16] được xây dựng ở mức độ câu nhưng chỉ phục vụ để giải quyết một bài toán con
là phát hiện thể loại khía cạnh và có kích thước là 6472 câu bình luận Trong khi đó,
bộ ngữ liệu của [17] được xây dựng ở mức độ văn bản và số lượng khoảng 5000 văn bản ngữ liệu và giải quyết hai bài toán con là phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc
Nhận thấy tầm quan trọng và nhu cầu cần thiết của bài toán, chúng tôi tiến hành xây dựng bộ ngữ liệu đối với miền dữ liệu nhà hàng trên mức độ câu với kích thước ngữ liệu lớn để phục vụ, thúc đẩy cho công tác nghiên cứu cũng như phát triển các phương pháp xử lý, thử nghiệm đối với bài toán này Bộ ngữ liệu của chúng tôi xây dựng dựa trên việc giải quyết hai bài toán con phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc như được đề cập đến ở hội thảo SemEval2016 [3] khác với việc chỉ giải quyết một bài toán con như bộ ngữ liệu của [s16] Đồng thời, bộ ngữ liệu
Trang 23của chúng tôi xây dựng trên mức độ câu văn khác so với mức độ văn bản của bộ [17]
Ở mức độ câu văn, sẽ có những câu văn không mang ý nghĩa trong các khía cạnh được đề cập nên chúng tôi tiến hành đề xuất thêm nhãn OTHER để giải quyết những trường hợp này
4.4 PHÁT BIỂU BÀI TOÁN
Trong đồ án này, chúng tôi tiến hành tìm hiểu và nghiên cứu bài toán phân tích ý kiến theo khía cạnh mà cụ thể hơn là bài toán phân tích ý kiến theo khía cạnh đối với miền
dữ liệu nhà hàng và quán ăn Trong bài toán phân tích ý kiến theo khía cạnh có hai bài toán con được chúng tôi quan tâm là phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc
Bảng 2.1 Cặp thực thể và thuộc tính trong miền dữ liệu nhà hàng, quán ăn
Thực thể
(Entity)
Thuộc tính (Attribute)
Ký hiệu thể loại khía cạnh trong công
Chất lượng DRINKS#QUALITY
Kiểu/tùy chọn DRINKS#STYLE&OPTIONS
Không gian Nói chung AMBIENCE#GENERAL
Những câu không chứa các thực thể
Trang 24 Đối với bài toán phát hiện thể loại khía cạnh, bài toán sẽ đưa ra danh sách các thể loại khía cạnh tương ứng được đề cập đến trong câu bình luận Các thể loại khía cạnh là sự kết hợp của cặp thực thể (Entity) và thuộc tính (Attribute) Đối với lĩnh vực nhà hàng, quán ăn, thông thường có 12 nhãn thể loại khía cạnh Thế nhưng, đối với đồ án này, chúng tôi có 13 nhãn thể loại khía cạnh trong đó
có 12 thể loại khía cạnh thông thường và 1 thể loại khía cạnh được đề xuất thêm là thể loại khía cạnh OTHER Bảng 2.1 thể hiện các cặp thực thể - thuộc tính của thể loại khía cạnh được chúng tôi quan tâm đến
Bài toán xác định trạng thái cảm xúc, từ câu bình luận của người dùng và danh sách thể loại khía cạnh được thực hiện ở bài toán con phát hiện khía cạnh thì phải xác định trạng thái cảm xúc tương ứng cho từng thể loại khía cạnh có trong danh sách đó Các trạng thái cảm xúc được quan tâm đến trong đồ án này
là tích cực (positive), trung tính (neutral) và tiêu cực (negative)
Mục tiêu trong đồ án của chúng tôi là cài đặt phương pháp máy học truyền thống và phương pháp học sâu để có thể tự động phân tích các bình luận của người dùng Với hai bài toán con được chúng tôi quan tâm và giải quyết thì tổng quan bài toán của chúng tôi nghiên cứu sẽ được phát biểu như sau:
Đầu vào: Câu bình luận của người dùng về dịch vụ, sản phẩm trong nhà hàng,
quán ăn
Đầu ra: Danh sách {thể loại khía cạnh, trạng thái cảm xúc} tương ứng được
đề cập trong câu bình luận của người dùng
Ví dụ, người dùng có câu bình luận phản hồi về nhà hàng “Ếch khá là ngon, 1 con này cũng k nhỏ lắm đâu.” sẽ được gán nhãn là {FOOD#QUALITY, positive}, {FOOD#STYLE&OPTIONS, positive} Còn đối với câu bình luận như “Thái độ nhân viên phục vụ gầy gầy hơi lùn có tóc =)))) k tốt.” thì sẽ được gán nhãn là {SERVICE#GENERAL, negative}
Trang 25Chương 3 TỔNG QUAN VỀ BỘ NGỮ LIỆU PHÂN TÍCH Ý KIẾN
THEO KHÍA CẠNH
Trong chương này, chúng tôi trình bày về bộ ngữ liệu UIT_ABSA 2019 [33] cho bài toán phân tích ý kiến theo khía cạnh từ bình luận của người dùng đối với miền dữ liệu nhà hàng Đối với các hệ thống dự đoán hiện nay, phần lớn các hệ thống được xây dựng từ các thuật toán học có giám sát (supervised learning) [20] Với thuật toán học
có giám sát, chúng ta cần phải có một bộ ngữ liệu mẫu được gán nhãn để tiến hành huấn luyện cho hệ thống Bộ ngữ liệu mẫu để huấn luyện sẽ quyết định đến chất lượng của hệ thống
Từ hình 3.1 được trích xuất từ báo cáo về khoa học ngữ liệu [21], chúng ta có thể thấy được rằng quá trình xây dựng một hệ thống khoa học ngữ liệu thì gần như toàn bộ thời gian sẽ liên quan đến ngữ liệu với 88% tổng thời gian (9% thời gian dành cho công tác phân tích ngữ liệu, 19% thời gian cho việc thu thập ngữ liệu và 60% thời gian dành cho việc làm sạch và tổ chức lại ngữ liệu)
Hình 3.1 Tỉ lệ thời gian dành cho các giai đoạn để xây dựng một hệ thống khoa
học ngữ liệu Nguồn: báo cáo về học ngữ liệu 2016 [21]
Trang 261.1 TỔNG QUAN THU THẬP VÀ TIỀN XỬ LÝ NGỮ LIỆU
3.1.1 THU THẬP NGỮ LIỆU
Bộ ngữ liệu của được tiến hành thu thập từ những phản hồi của người dùng trên những trang mạng (website) về tìm kiếm, đánh giá và bình luận về các địa điểm ăn uống như: nhà hàng, khách sạn, quán ăn, tiệm bánh, quán cà phê,…v.v Trong đó, hai trang mạng được nhóm tác giả sử dụng để thu thập những phản hồi của người dùng là
chỉ tiến hành thu thập ngữ liệu về những bình luận của người dùng, những hình ảnh
và đánh giá bằng thang điểm số đính kèm trong phản hồi của người dùng sẽ không thu thập và loại bỏ chúng
3.1.2 TIỀN XỬ LÝ NGỮ LIỆU
Bộ ngữ liệu được xây dựng ở cấp độ câu và khi thu thập ngữ liệu thô từ các trang mạng thì các bình luận của người dùng phần lớn ở mức đoạn và một số đoạn gây trường hợp nhiễu cho ngữ liệu Do vậy, [33] đồng thời tiến hành làm sạch và tổ chức lại ngữ liệu để thuận tiện cho công tác gán nhãn về sau Công tác tiền xử lý, làm sạch ngữ liệu sẽ được chúng tôi tiến hành qua một số công tác sau
Đầu tiên, các trường hợp bình luận không phải là ngôn ngữ tiếng Việt sẽ được loại bỏ đi Đồng thời, các bình luận của người dùng mà toàn bộ bình luận tiếng Việt viết không dấu cũng được tiến hành loại bỏ
Thứ hai, các bình luận của người dùng chỉ chứa các nội dung quảng cáo, đường dẫn đến các trang mạng khác cũng nhóm tác giả loại bỏ
Trang 27 Tiếp theo, thư viện UETSegmentation1 để tiến hành phân tách các bình luận của người dùng thành các câu đơn Tuy nhiên, vì là ngữ liệu được thu thập từ các trang mạng nên nhiều bình luận của người dùng không đúng ngữ pháp như thiếu dấu câu, sử dụng dấu câu không đúng Thế nên, chúng tôi tiến hành thêm
và điều chỉnh dấu câu cho các đoạn bình luận trước khi phân tách thành các câu đơn
o Nếu trong bình luận có từ dính nhau giữa từ in thường và từ in hoa sẽ được chúng tôi phân tách chúng ra và thêm dấu chấm câu vào giữa chúng Ví dụ: đối với trường hợp “vẻ ngoàiGía thì cực mắc” thì sẽ được chúng tôi xử lý thành ““vẻ ngoài Gía thì cực mắc””
o Nếu trong bình luận có các icon hoặc từ in thường và theo sau đó là từ
in hoa thì sẽ được chúng tôi thêm dấu chấm câu vào giữa Ví dụ: đối với trường hợp “nỡ ăn luôn 😤Quán hơi nhỏ.” sẽ được xử lý thành “nỡ
ăn luôn 😤 Quán hơi nhỏ.” hay đối với trường hợp “đường vào quán khá hẹp Không gian quán nhỏ xinh” sẽ được xử lý thành “đường vào quán khá hẹp Không gian quán nhỏ xinh”
o Cuối cùng chúng tôi loại bỏ đi các câu trùng nhau trong bộ ngữ liệu
Bộ ngữ liệu được giữ nguyên văn bình luận mà không tiến hành xử lý các từ viết tắt hay các từ viết sai chính tả của người để giữ được tính khách quan cho các bình luận trên các trang mạng
Sau khi ngữ liệu được xử lý và làm sạch, tiến hành tổ chức ngữ liệu theo định dạng xml để thuận tiện cho công tác gán nhãn ngữ liệu sau này Hình 3.2 thể hiện mẫu định dạng xml cho một đoạn bình luận chứa các câu văn bình luận của người dùng
Khi hoàn thành công tác gán nhãn cho bộ ngữ liệu, bộ dữ liệu được tiến hành tập hợp lại ngữ liệu và tổ chức ngữ liệu lại theo định dạng txt của hội nghị VLSP năm
2018 [34]
1 https://github.com/phongnt570/UETsegmenter
Trang 28Hình 3.2 Định dạng xml cho đoạn bình luận với các câu văn bình luận
2.2 QUY TẮC GÁN NHÃN NGỮ LIỆU
Vì bộ ngữ liệu của xây dựng giải quyết hai bài toán con phát hiện thể loại khía cạnh
và xác định trạng thái cảm xúc Thế nên, đối với mỗi câu bình luận của người dùng, nhóm tác giả đã tiến hành thực hiện theo yêu cầu đối với hai bài toán con như được
đề cập ở mục 2.4
Để xác định được các quy tắc gán nhãn cho bộ ngữ liệu Nhóm tác giả tham khảo qua hai bộ quy tắc gán nhãn đối với lĩnh vực nhà hàng Bộ quy tắc thứ nhất được thực hiện xây dựng quy tắc gán nhãn cho tiếng Anh tại hội thảo SemEval qua các năm
2015 [11], 2016 [3] Bộ quy tắc thứ hai được tham khảo là bộ quy tắc được xây dựng cho ngôn ngữ tiếng Việt ở mức độ văn bản [17] Sau khi tham khảo hai bộ quy tắc gán nhãn này, [33] đã đề xuất và sửa đổi một số quy tắc của các thể loại khía cạnh để phù hợp hơn Cụ thể quy tắc gán nhãn ngữ liệu được chúng tôi tóm tắt ngắn gọn như sau
Quy tắc đối với bài toán con xác định thể loại khía cạnh
FOOD#QUALITY: Đề cập đến chất lượng đồ ăn về hương vị (chua, ngọt,
đắng, cay), độ tươi, độ giòn, độ sệt, nhiệt độ trong việc nấu nướng (chín vừa, chưa chín, tái, cháy), chất lượng tổng quan (ngon, dở, vừa vị) của đồ ăn nói
Trang 29chung hoặc nói riêng (từng món ăn cụ thể) Chất lượng của các gia vị, các loại sốt, nước chấm
Ví dụ
o Burger thì cảm giác bánh hơi khô so với mọi lần
o Thức ăn chất lượng, hợp với khẩu vị vì mình thích phô mai và món nướng
FOOD#STYLE&OPTION: Đề cập đến kích cỡ đồ ăn (to, nhỏ, nhiều, ít, dày),
cách trình bày, trang trí món ăn, liệu kê các thành phần trong món ăn, liệt kê các gia vị, sự mới lạ của món ăn, độ phong phú của món ăn hay thực đơn món
ăn, cách tùy chọn thực phẩm
Ví dụ
o 1 phần striplion steak với sốt nấm
o phomai lam vừa đủ cho 2 ng có sức ăn vừa phải
FOOD#PRICES: Đề cập đến giá tiền trực tiếp (100k, 200k,…) hay gián tiếp
(rẻ, mắc) đối với các món ăn nói chung hoặc riêng
Ví dụ
o Gân kiệu ở đây rẻ lắm nha, mua 15k vẫn bán
o Quá ngon quá rẻ cho tô bún như này
DRINKS#QUALITY: Đề cập đến chất lượng tổng quan (ngon, dở) của đồ
uống nói chung hoặc nói riêng, đề cập đến hương vị (ngọt, đắng, chua), pha chế có vừa uống hay không
Ví dụ
o Tuy là nước tốt cho sức khoẻ, nhưng pha rất dễ uống & thơm, ko bị đầy bụng sau khi uống xong 😤
o Ngoài ra trà sữa hồng kong cũng rất ok luôn
DRINKS#STYE&OPTION: Đề cập đến cách trang trí, trình bày, phần trăm
các thành phần của đồ uống, khả năng kết hợp của các thành phần lại với nhau, kích cỡ của đồ uống (to, nhỏ, nhiều, ít), sự đa dạng của đồ uống trong thực
Trang 30đơn, sự mới lạ của thức uống, cách tùy chỉnh thành phần trong đồ uống, các trường hợp liệt kê các loại đồ uống
Ví dụ
o Chất lượng: Một cốc khá to, uống no phết chứ chẳng đùa
o Mình thích, mà ly bự quá, uống đuối luôn mà không hết :)))
DRINKS#PRICES: Đề cập trực tiếp (100k, 200k,…) hay gián tiếp (mắc, rẻ)
đến đồ uống nói chung hoặc nói riêng
Ví dụ
o Tuy nhiên giá thì đắt quá ko dám uống thường xuyên được
SERVICE#GENERAL: Các ý kiến đề cập đến những vấn đề về dịch vụ của
nhà hàng, quán ăn ở dịch vụ khách hàng, quầy bếp, quầy order, quầy tính tiền trên các phương diện như phục vụ nhanh hay chậm, thời gian phục vụ đồ ăn,
đồ uống, sắp xếp chỗ ngồi, thời gian giao hàng, thái độ phục vụ của nhân viên, thái độ giao hàng, tư vấn, đặt bàn Nhân viên gồm tất cả những người của nhà hàng như: phục vụ, nhân viên giữ xe, bảo vệ, nhân viên tiếp nhân, chủ quán, đầu bếp,…
Ví dụ
o Mấy anh chị nhân viên ở đây cũng dễ thương nữa
o Mình gọi lúc tầm 5h, thì 5h30 là bánh đã tới rồi
LOCATION#GENERAL: Đề cập đến vị trí, địa điểm, địa chỉ, cảnh quan của
nhà hàng như đầu đường hay trong hẻm, xa trung tâm thành phố hay không,
dễ tìm hay khó tìm Các trường hợp như quán gần nhà, tôi đi từ nhà đến quán chỉ mất vài phút không gán nhãn này
Ví dụ
o Điểm trừ nhỏ nhất là hơi khó tìm quán
o Vị trí:Ở dưới tầng hầm Lotte center, khu Lotte mart á
AMBIENCE#GENERAL: Đề cập đến không gian của quán (rộng, hẹp) bao
gồm khuôn viên nhà hàng, sân, vườn, khu vui chơi, quầy tính tiền, sân thượng,
Trang 31lang can, tầng lầu, cách trang trí nhà hàng, kiểu cách nhà hàng (cổ điển, hiện đại), không khí bên trong và bên ngoài của quán
Ví dụ
o Tầng 1,2 ko gian trong nhà rất ấm cúng, nhưng cá nhân mình thích ko gian cây vườn t3 hơn
o Về mặt không gian, túm lại là rất thoáng, sáng tạo
RESTAURANT#GENERAL: Đề cập đến các vấn đề chung của nhà hàng mà
không đề cập đến các khía cạnh cụ thể nào như đánh giá chất lượng chung chung, sự nổi tiếng của nhà hàng, sự hài lòng của khách hàng, nhà hàng đông hay vắng khách
Ví dụ
o Gongcha thì quá tuyệt rồi
o Quán này khá là nổi tiếng ở ngõ Vĩnh Hồ
RESTAURANT#MISCELLANEOUS: Đề cập đến những vấn đề linh tinh
của nhà hàng, quán ăn như mức độ an ninh, nhà vệ sinh, chén, đũa, ly uống nước, wi, máy lạnh, quạt gió, cách bố trí và sắp xếp bàn ghế, các chương trình khuyến mãi, giảm giá, các loại phí của nhà hàng như phí dịch vụ, phí gửi xe, phí vận chuyển đồ ăn, thức uống
Ví dụ
o Wifi yếu lắm nhaa
o KFC đang có chương trình giảm giá cơm các loại còn 25k vào giờ trưa
RESTAURANT#PRICES: Đề cập đến giá cả một cách chung chung mà
không nói đến cụ thể là đồ ăn hay thức uống
Ví dụ
o Giá hơi cao nhưng đáng đồng tiền
o Nhìn chung thì giá ở đây bình dân, 280 k / 1 người
OTHER: Đề cập đến những câu nói chung chung của người dùng mà không
mang ý nghĩa đề cập đến nhà hàng
Ví dụ
Trang 32o Nghe và đọc review dữ quá nên máu lên phải uống 1 lần cho biết
o Quốc tế Phụ nữ nên mình chọn nơi này ăn lần đầu tiên
Lưu ý:
Thực thể FOOD (đồ ăn) bao gồm: tất cả các đồ ăn, món ăn trong nhà hàng,
các loại gia vị, nước sốt, chè, hoa quả, salah, kem, sương sa
Thực thể DRINKS (đồ uống) bao gồm: tất cả các loại thức uống như đồ uống
có cồn (rượu, bia) hay các loại nước uống giải khác, trà sữa, cà phê, trà chanh,…
Quy tắc đối với bài toán con xác định trạng thái cảm xúc:
Positive (tích cực): Các khía cạnh được đề cập đến có trạng thái tích cực,
mang tính khen như ngon, bổ, rẻ, đáng tiền, quá ok,… Đối với các câu bình luận trong cùng một khía cạnh có đề cập đến trạng thái tích cực và trung tính thì cũng được gán nhãn này
Ví dụ: Các câu bình luận mà trong đó mang tính chất tính cực ở các khía cạnh
o “món hải sản nào cũng tươi roi rói.”
o “Mấy anh chị nhân viên ở đây cũng dễ thương nữa.”
o “Ngoài ra trà sữa hồng kong cũng rất ok luôn.”
Neutral (trung tính): Các khía cạnh được đề cập có trạng thái trung tính, bình
thường như giá cả bình thường, đồ ăn cũng tạm được thôi, ăn không ngon cũng không dở lắm, các câu nói chung chung không khen cũng không chê,… Đối với các câu bình luận trong cùng một nhãn khía cạnh có đề cập đến trạng thái tích cực và cả trạng thái tiêu cực thì cũng được gán nhãn này
Ví dụ: Các câu bình luận mà trong đó mang tính chất trung tính ở các khía cạnh
o Nhân viên nhiệt tình nhưng chưa chu đáo lắm
o Vị trí:Ở dưới tầng hầm Lotte center, khu Lotte mart á
o Ngao được chế biến trước nên lúc mang ra há miệng rồi ạ
Negative (tiêu cực): Các khía cạnh được đề cập đến có trạng thái tiêu cực,
mang tính chê như giá cắt cổ, đồ ăn thì dở tệ,…
Trang 33Ví dụ: Các câu bình luận mà trong đó mang tính chất tiêu cực ở các khía cạnh
o Có set bánh mà mình thấy vừa đắt( 250-300 / người) vừa ít lựa chọn nên gọi riêng
o Nói chung là nản và không muốn quay lại
o Hẻm cụt nhỏ, chạy xe vô khó lấy ra
3.3 PHÂN TÍCH NGỮ LIỆU
Bộ ngữ liệu bao gồm 10302 câu bình luận và giải quyết hai bài toán con là phát hiện thể loại khía cạnh và xác định trạng thái cảm xúc
Từ bảng 3.2, chúng ta có thể thấy tỉ lệ phân bố của các thể loại khía cạnh trong
bộ ngữ liệu là không đồng đều với nhau Với tỉ lệ phân bố có sự chênh lệch nhau khá lớn giữa các nhãn thì sẽ gây ra sự mất cân bằng ngữ liệu và ảnh hưởng đến kết quả trong quá trình thử nghiệm sau này Vấn đề mất cân bằng ngữ liệu hiện đang là một bài toán lớn đang được rất nhiều các nhà nghiên cứu quan tâm và tìm
Trang 34cách giải quyết Loại khía cạnh có tỉ lệ phần trăm thấp nhất trong bộ ngữ liệu là nhãn DRINKS#PRICES (1.72% với 236 câu văn) trong khi đó nhãn có tỉ lệ cao nhất là FOOD#QUALITY (20.22% với 2771 câu văn) Và tỉ số giữa tỉ lệ nhãn cao nhất so với nhãn có tỉ lệ thấp nhất lên đến hơn 11 lần Trong bộ ngữ liệu có đến 13 nhãn thể loại khía cạnh, tuy nhiên, chỉ với hai nhãn FOOD#QUALITY và FOOD#STYLE&OPTIONS đã chiếm lên đến 36.15% so với tổng số nhãn Và tổng bốn nhãn khía cạnh có tỉ lệ cao nhất FOOD#QUALITY, FOOD#STYLE&OPTIONS, SERVICE#GENERAL và AMBIENCE#GENERAL
thì tỉ lệ đã là 56.36% chiếm hơn một nửa so với toàn bộ số nhãn của bộ ngữ liệu Đồng thời ngữ liệu thu thập tập trung vào nhà hàng quán ăn, nên số lượng đối với thực thể đồ ăn (FOOD) nhiều hơn so với thực thể thức uống (DRINKS)
Bảng 3.2 Phân bố số lượng và tỉ lệ các thể loại khía cạnh
Trang 35Bảng 3.3 Số lượng các nhãn khía cạnh và cảm xúc trên các khía cạnh trong bộ ngữ