Luận án Phát triển các mô hình dựa trên mạng nơ-ron cho phân tích quan điểm theo khía cạnh

pdf 136 trang thiennha21 14/04/2022 3660
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Phát triển các mô hình dựa trên mạng nơ-ron cho phân tích quan điểm theo khía cạnh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_an_phat_trien_cac_mo_hinh_dua_tren_mang_no_ron_cho_phan.pdf

Nội dung text: Luận án Phát triển các mô hình dựa trên mạng nơ-ron cho phân tích quan điểm theo khía cạnh

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ——————— PHẠM ĐỨC HỒNG PHÁT TRIỂN CÁC MÔ HÌNH DỰA TRÊN MẠNG NƠ-RON CHO PHÂN TÍCH QUAN ĐIỂM THEO KHÍA CẠNH LUẬN ÁN TIẾN SĨ NGÀNH KHOA HỌC MÁY TÍNH Hà Nội - 2019
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ——————— PHẠM ĐỨC HỒNG PHÁT TRIỂN CÁC MÔ HÌNH DỰA TRÊN MẠNG NƠ-RON CHO PHÂN TÍCH QUAN ĐIỂM THEO KHÍA CẠNH Chuyên ngành: Khoa học máy tính Mã số: 9480101.01 LUẬN ÁN TIẾN SĨ NGÀNH KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Lê Anh Cường Hà Nội - 2019
  3. LỜI CẢM ƠN Luận án tiến sĩ ngành Khoa học Máy tính này được Chính phủ Việt Nam hỗ trợ một phần kinh phí thông qua Đề án 911 và được thực hiện tại Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội dưới sự hỗ trợ về mặt thủ tục của Phòng Tài chính kế toán, Trường Đại học Công nghệ. Bên cạnh đó còn có sự hỗ trợ kinh phí đối với các công bố có chỉ số SCIE, SCI của Trường Đại học Điện lực và của đề tài NAFOSTED, mã số 102.01-2014.22 thuộc Quỹ Phát triển khoa học và công nghệ Quốc gia. Tôi xin chân thành cảm ơn các đơn vị, tổ chức này đã giúp đỡ tôi trong thời gian nghiên cứu. Luận án còn có sự hợp tác và hỗ trợ của các cá nhân, những người đã đóng góp rất nhiều trong quá trình hoàn thành các vấn đề nghiên cứu của luận án. Trước hết tôi xin chân thành cảm ơn PGS.TS. Lê Anh Cường đã trực tiếp hướng dẫn, giúp đỡ luôn sẵn lòng và tạo mọi điều kiện thuận lợi nhất cho tôi trong quá trình học tập và nghiên cứu. Tôi xin gửi lời cảm ơn chân thành tới PGS.TS. Hoàng Xuân Huấn, PGS.TS. Phan Xuân Hiếu, TS. Nguyễn Văn Vinh, TS. Lê Nguyên Khôi, TS. Nguyễn Bá Đạt, TS. Nguyễn Thị Ngọc Điệp (Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội), PGS.TS. Lê Thanh Hương (Trường Đại học Bách khoa Hà Nội), TS. Nguyễn Thị Minh Huyền (Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội), PGS. TS. Trần Đăng Hưng (Trường Đại học Sư Phạm Hà Nội), TS. Đặng Thị Thu Hiền (Trường Đại học Thủy lợi) vì sự góp ý rất chân thành và thẳng thắn, giúp cho luận án của tôi được hoàn thiện tốt hơn. Tôi biết ơn chân thành đối với PGS.TS. Nguyễn Lê Minh (Viện Khoa học công nghệ Tiên tiến Nhật Bản), TS. Trần Quốc Long (Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội). Hai thầy đã trực tiếp giảng dạy, chia sẻ cho tôi nhiều hiểu biết liên quan đến nội dung nghiên cứu. Tôi xin gửi lời cảm ơn đến tất cả anh, chị, em và bạn bè đồng nghiệp, nghiên cứu sinh ở Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã giúp đỡ tôi hoàn thành các kế hoạch và thủ tục hành chính trong thời gian làm nghiên cứu sinh. Tôi cũng muốn cảm ơn đến anh/chị/em đồng nghiệp, giảng viên khoa Công nghệ Thông tin, Trường Đại học Điện lực đã luôn cổ vũ động viên và sát cánh bên tôi trong suốt quá trình nghiên cứu. Cuối cùng, tôi muốn nói lời cảm ơn đặc biệt tới vợ tôi Lê Thị Kim Chung, và con trai tôi Phạm Công Phúc đã dành cho tôi tình yêu và sự cảm thông, cho phép tôi dành nhiều thời gian, tập trung cho công việc nghiên cứu. Tôi hết lòng biết ơn bố mẹ tôi về tình yêu và sự cống hiến to lớn để tôi trưởng thành như ngày hôm nay, cảm ơn các anh, chị, em của tôi về tình yêu gia đình và sự quan tâm giúp đỡ của họ cho công việc này.
  4. LỜI CAM ĐOAN Tôi xin cam đoan luận án này là kết quả nghiên cứu của tôi, được thực hiện dưới sự hướng dẫn của PGS.TS. Lê Anh Cường. Các nội dung trích dẫn từ các nghiên cứu của các tác giả khác mà tôi trình bày trong luận án này đã được ghi rõ nguồn trong phần tài liệu tham khảo. Phạm Đức Hồng ii
  5. Mục lục Lời cảm ơn i Lời cam đoan ii Mục lục iii Danh mục các chữ viết tắt vii Danh mục các bảng ix Danh mục các hình vẽ xi Lời mở đầu 1 1 Tổng quan vấn đề nghiên cứu 5 1.1 Giới thiệu bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 1.2 Các bài toán trong phân tích quan điểm . . . . . . . . . . . . . . . . .6 1.2.1 Tổng quan một hệ thống phân tích quan điểm . . . . . . . . . .6 1.2.2 Phân tích quan điểm cho toàn bộ văn bản . . . . . . . . . . . .8 1.2.3 Phân tích quan điểm theo khía cạnh . . . . . . . . . . . . . . .8 1.2.4 Các bài toán trong phân tích quan điểm theo khía cạnh . . . . .8 1.3 Các nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.1 Trích xuất từ thể hiện khía cạnh . . . . . . . . . . . . . . . . . 10 1.3.2 Xác định khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.3 Phân đoạn khía cạnh . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.4 Phân loại quan điểm theo khía cạnh . . . . . . . . . . . . . . . 12 iii
  6. 1.3.5 Xếp hạng khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.6 Xác định hạng và trọng số khía cạnh ẩn . . . . . . . . . . . . . 13 1.4 Các tiếp cận giải quyết bài toán . . . . . . . . . . . . . . . . . . . . . . 14 1.5 Nghiên cứu trên thế giới và Việt nam . . . . . . . . . . . . . . . . . . . 15 1.6 Thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Kiến thức cơ sở 18 2.1 Các ký hiệu và khái niệm liên quan . . . . . . . . . . . . . . . . . . . . 18 2.2 Các mô hình học máy cơ sở cho phân tích quan điểm theo khía cạnh . . 21 2.2.1 Mô hình hồi quy đánh giá ẩn . . . . . . . . . . . . . . . . . . . 21 2.2.2 Thuật toán xác suất xếp hạng khía cạnh . . . . . . . . . . . . . 22 2.3 Các mô hình học biểu diễn mức từ, câu, đoạn/văn bản . . . . . . . . . . 25 2.3.1 Mô hình Word2Vec . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.2 Mô hình GloVe . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.3 Mô hình véc-tơ Paragraph . . . . . . . . . . . . . . . . . . . . 27 2.3.4 Mô hình mạng nơ-ron tích chập CNN . . . . . . . . . . . . . . 30 2.3.5 Mô hình véc-tơ kết hợp . . . . . . . . . . . . . . . . . . . . . . 33 2.4 Kết luận và thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3 Đề xuất mô hình dựa trên mạng nơ-ron xác định hạng và trọng số khía cạnh của thực thể 35 3.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Mô hình hóa bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.1 Bài toán xác định hạng và trọng số khía cạnh ẩn của thực thể . . 36 3.2.2 Bài toán xác định trọng số khía cạnh chung của các thực thể . . 37 3.3 Phương pháp đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.1 Xác định hạng và trọng số khía cạnh ẩn của thực thể sử dụng mô hình mạng nơ-ron một lớp ẩn . . . . . . . . . . . . . . . . . 38 3.3.2 Xác định hạng và trọng số khía cạnh ẩn của thực thể sử dụng mô hình học biểu diễn đa tầng . . . . . . . . . . . . . . . . . . 45 iv
  7. 3.3.3 Xác định trọng số khía cạnh chung của thực thể sử dụng mô hình mạng nơ-ron . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4 Thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.1 Các độ đo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.4.2 Cài đặt mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.4.3 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . 59 3.4.4 Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.4.5 Hiệu quả của các tham số trong mô hình LRNN-ASR . . . . . . 63 3.5 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4 Học véc-tơ biểu diễn từ cho phân tích quan điểm theo khía cạnh 68 4.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.2 Mô hình hóa bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.1 Bài toán tinh chỉnh véc-tơ biểu diễn từ . . . . . . . . . . . . . . 70 4.2.2 Bài toán học véc-tơ biểu diễn từ . . . . . . . . . . . . . . . . . 71 4.3 Phương pháp đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3.1 Mô hình tinh chỉnh véc-tơ biểu diễn từ . . . . . . . . . . . . . . 72 4.3.2 Mô hình học véc-tơ biểu diễn từ SSCWE . . . . . . . . . . . . 77 4.4 Thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.4.1 Dữ liệu thực nghiệm và các độ đo . . . . . . . . . . . . . . . . 82 4.4.2 Các độ đo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.5 Cài đặt và đánh giá mô hình tinh chỉnh véc-tơ từ WEFT . . . . . . . . . 83 4.5.1 Cài đặt mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.5.2 Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.6 Cài đặt và đánh giá mô hình SSCWE . . . . . . . . . . . . . . . . . . . 85 4.6.1 Cài đặt mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.6.2 Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.6.3 So sánh hai mô hình WEFT và SSCWE . . . . . . . . . . . . . 88 4.7 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 v
  8. 5 Mô hình đa kênh dựa trên CNN nhằm khai thác đa véc-tơ biểu diễn từ và ký tự cho phân tích quan điểm theo khía cạnh 91 5.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.2 Mô tả bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3 Phương pháp đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.1 Thành phần tích chập . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.2 Mô hình mạng nơ-ron tích chập đa kênh cho phân tích quan điểm theo khía cạnh . . . . . . . . . . . . . . . . . . . . . . . 95 5.4 Thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.4.1 Dữ liệu thực nghiệm và cài đặt mô hình MCNN . . . . . . . . . 100 5.4.2 Môi trường và thời gian thực nghiệm . . . . . . . . . . . . . . . 101 5.4.3 Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.4.4 Hiệu quả của các loại tham số . . . . . . . . . . . . . . . . . . 105 5.5 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Kết luận 110 Danh mục công trình khoa học của tác giả liên quan đến luận án 112 Tài liệu tham khảo 113 vi
  9. Danh mục các chữ viết tắt LRNN Latent Rating Neural Network (Mạng nơ-ron đánh giá ẩn) LRR Latent Rating Regression (Hồi quy đánh giá ẩn) ASR Aspect Semantic Representation (Biểu diễn ngữ nghĩa khía cạnh) NNAWs Neural Network Aspect Weights (Mạng nơ-ron trọng số khía cạnh) CNN Convolutional Neural Network (Mạng nơ-ron tích chập) MCNN Multichannel Convolutional Neural Network (Mạng nơ-ron đa kênh tích chập) NLP Natural Language Processing (Xử lý ngôn ngữ tự nhiên) POS Part Of Speech (Nhãn từ loại) SVM Support Vector Machine (Máy véc-tơ hỗ trợ) vii
  10. Danh sách bảng 3.1 Các từ hạt nhân được lựa chọn cho thuật toán phân đoạn khía cạnh . . . 55 3.2 Thống kế dữ liệu thực nghiệm . . . . . . . . . . . . . . . . . . . . . . 55 3.3 Kết quả dự đoán hạng của 5 khách sạn . . . . . . . . . . . . . . . . . . 59 3.4 Kết quả xác định trọng số khía cạnh của 5 khách sạn . . . . . . . . . . 59 3.5 So sánh mô hình LRNN với phương pháp LRR trong bốn trường hợp biểu diễn khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.6 Top 10 từ có trọng số tích cực và tiêu cực của từng khía cạnh . . . . . . 61 3.7 Các kết quả thực nghiệm và so sánh các mô hình trong việc xác định hạng khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.8 Kết quả so sánh chất lượng trọng số khía cạnh chung . . . . . . . . . . 63 3.9 Các kết quả thực nghiệm trên các trường hợp khởi tạo trọng số khía cạnh 64 3.10 Kết quả thực nghiệm mô hình đề xuất sử dụng trọng số khía cạnh chung so với sử dụng riêng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.1 Thống kê tập dữ liệu thứ 2 . . . . . . . . . . . . . . . . . . . . . . . . 82 4.2 Kết quả xác định khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3 Kết quả phân loại quan điểm theo khía cạnh . . . . . . . . . . . . . . . 84 4.4 Bốn từ gần ngữ nghĩa với từ đã cho đối với từng mô hình . . . . . . . . 85 4.5 Các kết quả xác định khía cạnh . . . . . . . . . . . . . . . . . . . . . . 87 4.6 Các kết quả phân loại quan điểm . . . . . . . . . . . . . . . . . . . . . 87 4.7 Năm từ gần ngữ nghĩa với từ đã cho đối với từng mô hình . . . . . . . . 88 4.8 So sánh kết quả phân loại quan điểm giữa mô hình WEFT và SSCWE . 89 4.9 So sánh thời gian thực hiện giữa mô hình WEFT và SSCWE . . . . . . 90 5.1 Thống kê số lượng câu được sử dụng trong thực nghiệm . . . . . . . . . 100 viii
  11. 5.2 Bảng từ điển các ký tự tiếng Anh . . . . . . . . . . . . . . . . . . . . . 100 5.3 Kết quả xác định khía cạnh của mô hình MCNN và các mô hình cơ sở . 104 5.4 Kết quả dự đoán phân loại quan điểm theo khía canh của mô hình MCNN và các mô hình cơ sở . . . . . . . . . . . . . . . . . . . . . . . 105 5.5 Các từ gần nhau được xác định bằng véc-tơ biểu diễn từ trong kênh CNN3106 5.6 So sánh kết quả, thời gian sử dụng kỹ thuật dropout trong mô hình MCNN đối với cộng việc xác định khía cạnh . . . . . . . . . . . . . . . 106 5.7 So sánh kết quả, thời gian sử dụng kỹ thuật dropout trong mô hình MCNN đối với công việc phân loại quan điểm khía cạnh . . . . . . . . 106 5.8 Kết quả xác định khía cạnh của mô hình MCNN với các mức lựa chọn số chiều véc-tơ ký tự nhúng khác nhau . . . . . . . . . . . . . . . . . . 107 5.9 Kết quả phân loại quan điểm của mô hình MCNN với các mức lựa chọn số chiều véc-tơ ký tự nhúng khác nhau . . . . . . . . . . . . . . . . . . 107 5.10 Kết quả xác định khía cạnh của mô hình MCNN khi sử dụng số lượng bộ lọc khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.11 Kết quả phân loại quan điểm của mô hình MCNN khi sử dụng số lượng bộ lọc khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 ix
  12. Danh sách hình vẽ 1.1 Kiến trúc tổng quan của hệ thống phân tích quan điểm . . . . . . . . . .7 2.1 Ví dụ một ý kiến khách hàng thể hiện quan điểm về dịch vụ khách sạn Vinpearl Phu Quoc Resort . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Ví dụ về Hạng chung của sản phẩm iPhone X 64GB . . . . . . . . . . . 20 2.3 Mô hình hồi quy đánh giá khía cạnh ẩn [1] . . . . . . . . . . . . . . . . 22 2.4 Mô hình Word2Vec với hai kiến trúc CBOW và Skip-gram . . . . . . . 25 2.5 Mô hình véc-tơ Paragraph học biểu diễn câu, đoạn hoặc cả văn bản [2] . 28 2.6 Minh họa mô hình túi từ phân phối của các véc-tơ Paragraph [2] . . . . 29 2.7 Minh họa tích chập trong ma trận câu . . . . . . . . . . . . . . . . . . 31 2.8 Minh họa mô hình phân lớp câu sử dụng mạng CNN [3] . . . . . . . . . 32 2.9 Minh họa việc sử dung mô hình véc-tơ kết hợp cho biểu diễn mức câu . 34 3.1 Ví dụ: đầu vào, đầu ra của toán xác định hạng và trọng số khía cạnh ẩn . 37 3.2 Ví dụ: đầu vào, đầu ra của toán xác định trọng số khía cạnh chung . . . 38 3.3 Các công việc cần giải quyết của bài toán xác định hạng và trọng số khía cạnh ẩn của thực thể . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Minh họa mô hình mạng nơ-ron LRNN xếp hạng ẩn . . . . . . . . . . . 41 3.5 Các công việc cần giải quyết của bài toán xác định hạng, trọng số khía cạnh ẩn sử dụng mô hình học biểu diễn đa tầng . . . . . . . . . . . . . 45 3.6 Minh họa mô hình học biểu diễn đa tầng cho phân tích quan điểm theo khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.7 Minh họa mô hình xác định hạng khía cạnh chung . . . . . . . . . . . . 52 3.8 Quy trình thực nghiệm, đánh giá mô hình LRNN . . . . . . . . . . . . 56 3.9 Quy trình thực nghiệm, đánh giá mô hình LRNN-ASR . . . . . . . . . 56 x
  13. 3.10 Quy trình thực nghiệm, đánh giá mô hình NNAWs . . . . . . . . . . . . 57 3.11 Mô hình FULL-LRNN-ASR thực hiện với các giá trị khác nhau của trọng số γ và β (β + γ = 1) trên độ đo Preview 63 3.12 Mô hình FULL-LRNN-ASR thực hiện với số chiều véc-tơ biểu diễn từ khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.13 Kết quả xác định trọng số khía cạnh chung của dịch vụ khách sạn . . . . 65 4.1 Mô tả đầu vào và đầu ra của của bài toán tính chỉnh véc-tơ biểu diễn từ . 71 4.2 Mô tả đầu vào và đầu ra của của bài toán học véc-tơ biểu diễn từ . . . . 72 4.3 Minh họa mô hình tinh chỉnh véc-tơ biểu diễn từ WEFT . . . . . . . . . 73 4.4 Minh họa thành phần nhúng ngữ nghĩa của véc-tơ biểu diễn từ sử dụng mô hình CBOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.5 Minh họa thành phần nhúng thông khía cạnh và quan điểm theo khía cạnh 79 4.6 Hiệu quả của số chiều véc-tơ từ trong công việc dự đoán quan điểm khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.1 Mô tả đầu vào, đầu ra của công việc khai thác đa véc-tơ biểu diễn từ, biểu diễn ký tự cho phân tích quan điểm theo khía cạnh . . . . . . . . . 93 5.2 Minh họa thành phần tích chập . . . . . . . . . . . . . . . . . . . . . . 94 5.3 Mô hình mạng nơ-ron tích chập đa kênh MCNN cho công việc xác định khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.4 Minh họa mô hình lai CNN1 + CNN2 + CNN3 cho công việc xác định khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.5 Hiệu quả của mô hình MCNN với các kích cỡ mini-batching từ 10 đến 100 108 xi
  14. Mở đầu 1. Tính cấp thiết của luận án Dữ liệu đánh giá về các sản phẩm, dịch vụ và sự kiện xã hội trên các hệ thống tin tức và thương mại trực tuyến ngày càng đa dạng, phong phú. Dữ liệu này bao gồm các bài bình luận, các bài viết chứa ý kiến đánh giá về các sản phẩm, dịch vụ, sự kiện của người sử dụng mạng tạo ra trong quá trình sử dụng hệ thống. Sự bùng nổ của các trang Web thương mại trực tuyến, các trang tin tức, các diễn đàn, các mạng xã hội đã dẫn đến số lượng các bài viết chứa ý kiến ngày càng nhiều và được cập nhật liên tục. Nguồn thông tin này thực sự hữu ích, giúp các công ty, tổ chức nắm bắt thông tin khách hàng một cách kịp thời để cải tiến sản phẩm, nâng cấp dịch vụ; giúp khảo sát quan điểm mọi người về các sự kiện, hiện tượng xã hội; hỗ trợ tích cực trong việc quản trị thương hiệu. Với số lượng thông tin rất lớn và cập nhật liên tục thì nhu cầu về xây dựng một hệ thống phân tích và tổng hợp quan điểm tự động trở nên cấp thiết và đóng một vai trò quan trọng trong các hệ thống khai thác dữ liệu và khai phá tri thức. Các nghiên cứu ban đầu về khai phá và phân tích quan điểm (opinion mining and sentiment analysis) tập trung vào đánh giá toàn bộ bài viết, xem một bài viết về tổng thể chứa quan điểm tích cực, tiêu cực, hay trung lập. Trong thực tế khách hàng thường bày tỏ quan điểm về các khía cạnh khác nhau của thực thể (gọi chung cho sản phẩm, dịch vụ, sự kiện, được đánh giá), ví dụ như về khía cạnh giá cả, vị trí, nhân viên, phòng ốc của một dịch vụ khách sạn. Các ý kiến hỗn hợp giữa tích cực và tiêu cực với nhiều cách thể hiện phong phú là bản chất của ngôn ngữ tự nhiên. Vì vậy các nghiên cứu hiện tại tập trung nhiều hơn vào phân tích quan điểm theo từng khía cạnh của thực thể (aspect based sentiment analysis). Tiếp cận chung của cộng đồng nghiên cứu để giải quyết bài toán phân tích quan điểm là xác định các đặc trưng thể hiện quan điểm và ứng dụng các phương pháp học máy để xây dựng mô hình dự đoán, phân loại quan điểm. Các mô hình học sâu (deep learning) gần đây đã được nghiên cứu và đã chứng tỏ được sức mạnh trong lĩnh vực học máy và ứng dụng, đồng thời đã được áp dụng hiệu quả nói chung trong xử lý ngôn ngữ tự nhiên cũng như cụ thể trong bài toán khai phá và phân tích quan điểm. Tuy nhiên, các kết quả nghiên cứu hiện tại vẫn còn hạn chế và gặp khó khăn trong việc xử lý biểu diễn dữ liệu, học đặc trưng, mô hình hóa đa khía cạnh của thực thể và sự tương tác giữa các quan điểm khác nhau. Đề tài của luận án có nhiệm vụ giải quyết các vấn đề đang đặt ra trong bài toán phân tích quan điểm theo khía cạnh. Chúng tôi tập trung vào bài toán phân tích quan điểm theo khía cạnh dựa trên việc phát triển các mô hình học sâu nhằm đồng thời giải quyết 1
  15. bài toán học biểu diễn (representation learning) và bài toán phân loại (classification). 2. Mục tiêu nghiên cứu của luận án Mục tiêu của luận án là nghiên cứu các kỹ thuật, mô hình học biểu diễn cho mức từ, mức câu, và mức văn bản. Đề xuất các mô hình mới và cải tiến các mô hình học biểu diễn hiện có nhằm giải quyết các bài toán phân tích quan điểm theo khía cạnh. Hướng đến giải quyết hai bài toán chính: (1) Bài toán xếp hạng và xác định trọng số khía cạnh của thực thể (sản phẩm/dịch vụ); (2) Bài toán xây dựng các mô hình phân tích quan điểm theo khía cạnh nhằm xác định khía cạnh cho từng câu đầu vào và phân loại quan điểm theo khía cạnh tương ứng cho nó. 3. Phạm vi và phương pháp nghiên cứu của luận án Phạm vi nghiên cứu bao gồm: • Nghiên cứu, đề xuất các mô hình xếp hạng và xác định trọng số khía cạnh của thực thể, tích hợp biểu diễn đa tầng ngữ nghĩa từ mức từ đến mức câu, mức đoạn, mức khía cạnh đến mức cuối là tổng hợp quan điểm toàn bộ văn bản. • Nghiên cứu, đề xuất các mô hình học biểu diễn mức từ cho phân tích quan điểm theo khía cạnh. Các véc-tơ từ đạt được từ các mô hình đề xuất được đánh giá hiệu quả thông qua hai bài toán: xác định khía cạnh và phân loại quan điểm theo khía cạnh. • Nghiên cứu, đề xuất mô hình phân tích quan điểm theo khía cạnh tích hợp thông tin từ nhiều nguồn khác nhau. Cụ thể khai thác đồng thời đa véc-tơ biểu diễn từ và véc-tơ biểu diễn ký tự. Về phương pháp nghiên cứu, luận án nghiên cứu các mô hình dựa trên mạng nơ-ron nhân tạo sử dụng các kỹ thuật học biểu diễn hiệu quả, phù hợp cho từng bài toán cụ thể. Các mô hình đề xuất được thực nghiệm trên các tập dữ liệu thực tế. Các độ đo điển hình cho tính hiệu quả của mô hình đề xuất cũng sẽ được lựa chọn trong đánh giá kết quả thực nghiệm. 4. Đóng góp của luận án Các đóng góp chính của luận án bao gồm: • Chúng tôi đề xuất mô hình học biểu diễn đa tầng cho bài toán xác định hạng khía cạnh và trọng số khía cạnh ẩn. Phương pháp đề xuất đã mô hình hóa được tính phân cấp trong biểu diễn dữ liệu và sự kết nối và chia sẻ thông tin nhằm đưa đến khả năng dự đoán đồng thời hạng khía cạnh và trọng số (mức độ quan trọng) tương ứng với khía cạnh đó. Với đề xuất này chúng tôi đã công bố một bài báo trong tạp chí ISI-SCIE: Data and Knowledge Engineering (DKE) năm 2018. 2
  16. • Để khai thác hiệu quả sự kết hợp nhiều nguồn thông tin khác nhau chúng tôi đề xuất mô hình tích hợp thông tin dựa trên mạng đa kênh CNN (Convolutional Neural Network). Các nguồn thông tin khác nhau được đồng thời sử dụng bao gồm các mô hình Word2Vec khác nhau và mô hình Character2Vec. Các nguồn thông tin được tích hợp một cách hiệu quả thông qua các tầng CNN và kết hợp giữa các tầng CNN. Đề xuất này đã được công bố trong tạp chí ISI-SCI: International Journal of Approximate Reasoning năm 2018. • Chúng tôi đề xuất mô hình học biểu diễn từ có giám sát cho bài toán phân tích quan điểm, nhằm khắc phục điểm yếu của các mô hình học biểu diễn từ không giám sát. Đề xuất này giúp cho các véc-tơ biểu diễn từ chứa nhiều thông tin có ích cho bài toán phân tích quan điểm, bao gồm: ngữ nghĩa, khía cạnh và quan điểm. Đề xuất này đã được công bố trong kỷ yếu hội nghị quốc tế Text, Speech, and Dialogue (TSD) năm 2017, và trong kỷ yếu hội nghị quốc tế the Pacific Association for Computational Linguistics (PACLING) năm 2017. Bên cạnh các đóng góp chính, chúng tôi còn đề xuất mô hình mạng nơ-ron một lớp ẩn, sử dụng các biểu diễn khía cạnh được học từ mô hình Pragraph cho bài toán xác định hạng, trọng số khía cạnh ẩn. Đề xuất này đã được công bố trong kỷ yếu hội nghị quốc tế Computational Social Network (CSoNet) năm 2016. Đồng thời, để khai thác thông tin chung về mức độ quan trọng của các khía cạnh thực thể cho các nhà quản lý sản phẩm/dịch vụ, chúng tôi đề xuất mô hình xác định trọng số khía cạnh chung. Kết quả đã được công bố trong tạp chí Indian Journal of Science and Technology năm 2016. 5. Bố cục của luận án Ngoài phần mở đầu và kết luận, luận án được tổ chức thành 5 chương phù hợp với các công bố liên quan của luận án, với bố cục như sau: • Chương 1. Giới thiệu tổng quan về các vấn đề nghiên cứu trong luận án. Luận án phân tích, đánh giá chung các công trình nghiên cứu liên quan; nêu ra một số vấn đề còn tồn tại mà luận án sẽ tập trung giải quyết. • Chương 2. Trình bày các ký hiệu và khái niệm liên quan, các mô hình học máy cơ sở được sử dụng trong công việc đánh giá khía cạnh của thực thể. Một số mô hình học biểu diễn cơ sở cho mức từ, mức câu và mức đoạn/văn bản cũng sẽ được trình bày. • Chương 3. Trình bày nội dung, kết quả nghiên cứu hai mô hình xác định hạng và trọng số khía cạnh ẩn của thực thể. Bên cạnh đó, mô hình xác định trọng số khía cạnh chung cũng sẽ được trình bày. 3
  17. • Chương 4. Trình bày nội dung, kết quả nghiên cứu hai mô hình học véc-tơ từ cho phân tích quan điểm theo khía cạnh. • Chương 5. Trình bày nội dung, kết quả nghiên cứu mô hình tích hợp nhiều nguồn thông tin và ứng dụng trong khai thác đa véc-tơ biểu diễn từ và véc-tơ biểu diễn ký tự cho phân tích quan điểm theo khía cạnh. 4
  18. Chương 1 Tổng quan vấn đề nghiên cứu Chương này trình bày tổng quan về các vấn đề nghiên cứu trong luận án, bao gồm: giới thiệu chung về bài toán, kiến trúc chung của một hệ thống phân tích quan điểm; các bài toán trong phân tích quan điểm theo khía cạnh; các nghiên cứu liên quan; các tiếp cận; tình hình nghiên cứu trên thế giới và Việt Nam. Sau khi phân tích, đánh giá những điểm còn tồn tại từ các nghiên cứu liên quan, phần thảo luận sẽ được trình bày, đưa ra các bài toán mà luận án sẽ giải quyết. Lý do và động lực đề xuất mô hình cho mỗi bài toán cũng sẽ được đưa ra. 1.1 Giới thiệu bài toán Các ý kiến phản hồi của khách hàng đối với các sản phẩm, dịch vụ trực tuyến trên mạng Internet là nguồn thông tin quan trọng đối với các doanh nghiệp bởi vì nó giúp họ hiểu được điểm mạnh, điểm yếu trong sản phẩm, dịch vụ của mình, đồng thời nhanh chóng nắm bắt được tâm lý và nhu cầu khách hàng để mang đến cho họ sản phẩm, dịch vụ tốt hơn. Tuy nhiên với số lượng ý kiến rất lớn và cập nhật liên tục thì sẽ nảy sinh nhu cầu xây dựng một hệ thống tự động để phân tích và khai phá quan điểm. Mỗi ý kiến đánh giá thường bao gồm thông tin về các sản phẩm hay dịch vụ, các sự kiện, sự việc, cơ quan tổ chức được đánh giá và quan điểm của người đánh giá đối với các loại đối tượng này. Sau đây ta sẽ gọi chung các đối tượng được đánh giá là các thực thể và khi cần sẽ đề cập riêng để nhấn mạnh thực thể chung hay là khía cạnh (aspect) của thực thể. Quan điểm là các ý kiến chủ quan mà con người nói về các thực thể. Nhiệm vụ của phân tích quan điểm là xác định thực thể cùng các khía cạnh của nó nhằm tính toán quan điểm, đánh giá thái độ và cảm xúc của con người đối với thực thể cũng như các khía cạnh (thuộc tính, thành phần) của thực thể. Thông tin quan điểm đối với một thực thể cụ thể có vai trò rất quan trọng, bởi khi 5
  19. chúng ta cần đưa ra một quyết định liên quan tới một thực thể nào đó, chúng ta thường quan tâm tới ý kiến của người khác đối với thực thể đó, theo dạng như “Những người khác đã nghĩ và đánh giá về thực thể đó như thế nào?”. Ví dụ khi chúng ta muốn mua một chiếc điện thoại iPhone X 64GB chúng ta sẽ muốn tìm hiểu hoặc hỏi bạn bè và người thân “Điện thoại iPhone X 64GB có tốt không? Hệ điều hành IOS của iPhone thế nào? Camera quay video và chụp ảnh có đẹp không? v.v”. Như vậy quan điểm của người khác giúp các cá nhân có thêm thông tin trước khi quyết định một vấn đề. Ngoài ra khi biết được thông tin quan điểm đối với một sản phẩm, dịch vụ từ các khách hàng thì rõ ràng nó giúp mang lại các thông tin hữu ích cho các công ty, tổ chức thay đổi hoặc cải tiến dòng sản phẩm, dịch vụ của mình. Bên cạnh đó thông tin quan điểm phân tích được trên một cộng đồng dân chúng còn giúp các chính quyền nắm được hiểu quả của các chính sách khi áp dụng trong xã hội. 1.2 Các bài toán trong phân tích quan điểm 1.2.1 Tổng quan một hệ thống phân tích quan điểm Ngày nay đã có nhiều hệ thống phân tích quan điểm làm việc với những miền dữ liệu khác nhau, như hệ thống Smcc1 của công ty InfoRe làm việc trên miền dữ liệu sản phẩm điện thoại di động, hệ thống Vsocial 2 của công ty Tecapro làm việc trên miền dữ liệu ngân hàng. Nhìn chung, mô hình biểu diễn kiến trúc chung của một hệ thống khai phá và phân tích quan điểm được thể hiện như trong Hình 1.1. Xuất phát từ nguồn dữ liệu đánh giá thực thể của người sử dụng trên các hệ thống như Amazon3, Tripadvisor4, Youtube5, Thegioididong6. Hệ thống phân tích quan điểm làm việc với các nguồn dữ liệu này, gồm các thành phần chính như sau: 1smcc.vn 2vsocial.vn 3www.amazon.com 4www.tripadvisor.com 5www.Youtube.com 6www.thegioididong.com 6
  20. Hình 1.1: Kiến trúc tổng quan của hệ thống phân tích quan điểm • Thu thập (crawler) • Tiền xử lý (pre-processing) • Trích chọn đặc trưng (feature extraction, data representation) • Học máy (machine learning) Thu thập: Là thành phần tự động lấy dữ liệu đánh giá của người dùng từ các hệ thống trực tuyến (Web). Tiền xử lý: Thành phần này có nhiệm vụ xử lý dữ liệu, gồm các công việc như: loại bỏ từ dừng, chuẩn hóa các từ và dấu cách, tách từ. etc. Trích chọn đặc trưng: Sử dụng kỹ thuật biểu diễn văn bản (ví dụ mô hình bag of word) để biểu diễn các văn bản đầu vào thành các véc-tơ đặc trưng. Học máy: Gồm có hai pha: huấn luyện, và dự đoán. Pha huấn luyện sử dụng tập dữ liệu huấn luyện làm đầu vào và có nhiệm vụ học một mô hình dự đoán. Pha dự đoán có nhiệm vụ tính toán để phân loại quan điểm cho các véc-tơ biểu diễn văn bản từ đầu vào. 7
  21. 1.2.2 Phân tích quan điểm cho toàn bộ văn bản Phân tích quan điểm cho toàn bộ văn bản là bài toán cơ bản nhất trong phân tích quan điểm. Cũng giống bài toán phân lớp văn bản thông thường. Cho trước một tập các văn bản đánh giá sản phẩm, đối với từng văn bản đầu vào, bài toán yêu cầu tính điểm (phân loại) quan điểm chung cho nó. Dựa trên điểm quan điểm đã đạt được, từng văn bản sau đó được gán các nhãn quan điểm hoặc các hạng tương ứng. Các nhãn có thể được gán như nhãn tích cực (Positive) hoặc tiêu cực (Negative) hoặc trung lập. Trong trường hợp cần xếp hạng quan điểm cho văn bản thì hạng được gán cho văn bản là “1 sao” (có nghĩa là rất tiêu cực) hoặc “2 sao” (tiêu cực mức trung bình) hoặc “3 sao” (trung lập) hoặc “4 sao” (tích cực) hoặc “5 sao” (rất tích cực). Việc phân tích quan điểm theo loại bài toán này thường ở mức tài liệu và không quan tâm tới vấn đề chi tiết hơn như người đánh giá sản phẩm thích hay không thích khía cạnh nào của sản phẩm. 1.2.3 Phân tích quan điểm theo khía cạnh Chúng ta dễ thấy rằng đánh giá một quan điểm cho toàn bộ văn bản là không đủ chi tiết cho các ứng dụng thực tế. Một văn bản đánh giá tích cực về một đối tượng cụ thể không có nghĩa là người dùng có ý kiến tích cực về mọi khía cạnh của đối tượng đó. Tương tự, một văn bản đánh giá tiêu cực cho một đối tượng không có nghĩa là người dùng không thích tất cả mọi khía cạnh của đối tượng đó. Ví dụ, trong một ý kiến đánh giá sản phẩm, người đánh giá thường ghi cả khía cạnh tích cực và tiêu cực của sản phẩm, mặc dù quan điểm chung về sản phẩm có thể là tích cực hoặc tiêu cực. Để có thể phân tích quan điểm phù hợp với nhu cầu sử dụng trong thực tế, chúng ta cần phải nghiên cứu sâu về quan điểm ở mức khía cạnh. Cho trước một tập các văn bản đánh giá sản phẩm, đối với từng văn bản đầu vào, bài toán yêu cầu tính điểm quan điểm cho từng khía cạnh của thực thể đã được thể hiện trong nó. Dựa trên điểm quan điểm đã đạt được, từng khía cạnh sau đó được gán nhãn quan điểm (ví dụ: nhãn tích cực, tiêu cực, hoặc trung lập) hoặc hạng (ví dụ: hạng “1 sao”, “2 sao”, “3 sao” , “4 sao”, hoặc “5 sao”) tương ứng. 1.2.4 Các bài toán trong phân tích quan điểm theo khía cạnh Trong thực tế, phân tích quan điểm theo khía cạnh bao gồm các bài toán điển hình như sau: (1) Trích xuất từ thể hiện khía cạnh: Cho trước một tập các ý kiến (văn bản) đánh 8
  22. giá của một số thực thể được xác định trước (ví dụ: Các khách sạn, các quán ăn, điện thoại), mỗi văn bản bao gồm một số câu. Yêu cầu xác định các từ thể hiện khía cạnh trong từng câu, sau đó thu thập các từ đó vào trong các khía cạnh tương ứng. (2) Xác định khía cạnh: Cho trước một tập nhãn khía cạnh của một thực thể, đối với một câu văn bản đánh giá chưa được gán nhãn, chúng ta cần dự đoán nhãn khía cạnh thích hợp cho nó. (3) Phân loại quan điểm theo khía cạnh: Tương ứng với tập nhãn khía cạnh của một thực thể đã được xác định trước, cho trước một tập nhãn quan điểm (ví dụ bao gồm các nhãn: tích cực (positive), trung lập (neutral), tiêu cực (negative)), đối với một câu đầu vào đã được gán nhãn khía cạnh, bài toán cần dự đoán nhãn quan điểm tương ứng cho nó. (4) Phân đoạn khía cạnh: Cho trước một tập văn bản đánh giá của một tập thực thể (một số thực thể hay một tập thực thể trong luận án này được hiểu là các dòng sản phẩm/dịch vụ cùng loại), yêu cầu xác định các đoạn văn bản đề cập tương ứng tới các khía cạnh của thực trong từng văn bản. (5) Xếp hạng khía cạnh: Xếp hạng khía cạnh là công việc định hướng ước lượng đánh giá qua điểm theo khía cạnh của thực thể, giá trị ước lượng quan điểm theo khía cạnh thường theo các giá trị từ 1 đến 5. Bài toán cho trước một tập văn bản đánh giá của một tập thực thể (ví dụ thực thể khách sạn) bao gồm các quan điểm về sản phẩm này và các khía cạnh của nó. Yêu cầu xếp hạng hay tính điểm theo mức độ đánh giá quan điểm từ 1 đến 5 của từng khía cạnh đã được người dùng thảo luận trong mỗi văn bản. (6) Xác định hạng và trọng số khía cạnh ẩn: Cho trước một tập văn bản đánh giá của một tập thực thể (ví dụ: tập thực thể sản phẩm khách sạn) bao gồm các quan điểm về sản phẩm này và các khía cạnh của nó. Từng văn bản đánh giá được gán một hạng chung, hạng chung này xác nhận quan điểm chung cho cả văn bản. Yêu cầu xác định hạng và trọng số khía cạnh cho từng thực thể, đây là bài toán giả thiết hạng khía cạnh và trọng số khía cạnh ẩn, chưa biết và làm thế nào chúng ta có thể xác định được các hạng cũng như các trọng số khía cạnh đó. Trong nội dung luận án, chúng tôi giải quyết bài toán (2), (3), và (6). Đối với bài toán (6), để giải quyết được nó chúng tôi cần thực hiện các công việc liên quan tới tất cả các bài toán. Do đó trong phần trình bày các nghiên cứu liên quan, chúng tôi cũng trình bày các nghiên cứu liên quan tới các bài toán này. 9
  23. 1.3 Các nghiên cứu liên quan 1.3.1 Trích xuất từ thể hiện khía cạnh Trích xuất từ thể hiện khía cạnh là công việc đầu tiên cần giải quyết trong một hệ thống phân tích quan điểm theo khía cạnh, và đã được nghiên cứu nhiều hơn so với các công việc khác. Các kỹ thuật sử dụng bao gồm các phương pháp học giám sát và không giám sát. Phương pháp giám sát học một mô hình trích xuất từ một tập các ý kiến đánh giá được gán nhãn. Mô hình trích xuất học được sẽ được sử dụng để trích xuất các khía cạnh trong các ý kiến đánh giá mới. Hầu hết các phương pháp học giám sát dựa trên kỹ thuật học tuần tự (sequential learning) hoặc gán nhãn chuỗi (sequential labeling), như Wong và các cộng sự trong nghiên cứu [4] đã học trích xuất khía cạnh sử dụng mô hình Hidden Markov¨ (HM) và Conditional Random Fields (CRF). Jin [5] sử dụng mô hình HM huấn luyện để trích xuất khía cạnh và các từ thể hiện quan điểm. Kết hợp hai mô hình biến thể của mô hìnhCRF là Skip-CRF và Tree-CRF [6]. Tất cả các phương pháp này đòi hỏi phải có đủ các mẫu được gán nhãn để huấn luyện. Tuy nhiên, họ phải mất nhiều thời gian và tốn nhiều công lao động để gán nhãn mẫu huấn luyện. Gần đây nhiều nghiên cứu sử dụng các kỹ thuật học biểu diễn, Poria và các cộng sự [7] sử dụng véc-tơ từ Word2Vec và mô hình mạng nơ-ron tích chập đa tầng. Lin [8] đề xuất một mô hình mới dựa trên mạng LSTM, sử dụng thông tin tóm tắt quan điểm và lịch sử phân loại khía cạnh. Zhang và các cộng sự [9] dựa trên kiến trúc mô hình kết hợp LSTM và CNN đã giới thiệu mô hình mới, sử dụng một cổng ngữ cảnh nhằm mã hóa thông tin mối quan hệ tương tác phụ thuộc cú pháp giữa các từ trong cùng một ngữ cảnh. Các phương pháp học không giám sát cũng đã đạt được kết quả tốt, tiêu biểu là tiếp cập học không giám sát được đề xuất bởi Hu và các cộng sự [10], họ giả thiết khía cạnh thông thường là các danh từ và cụm danh từ, các tác giả đầu tiên trích xuất danh từ như là các ứng cử viên của khía cạnh, sau đó các tính tần suất xuất hiện của danh từ và cụm danh từ, và cuối cùng chỉ những từ có tần xuất hiện cao được giữ lại và coi như là các từ thuộc các khía cạnh cần xác định. Popescu và cộng sự [11] đã phát triển hệ thống OPINE, cho phép trích xuất các khía cạnh dựa trên hệ thống web KnowItAll trích xuất thông tin của Etzioni và các cộng sự [12]. Mei và các cộng sự [13] sử dụng một mô hình chủ đề xác suất để thu thập các khía cạnh và quan điểm. Wu và cộng sự [14] đã sử dụng một bộ phân tích cú pháp phụ thuộc vào cụm từ để trích xuất các cụm danh từ các ý kiến đánh giá và cói chúng như là các ứng cử viên của khía cạnh. Sau đó họ sử dụng mô hình ngôn ngữ để lọc ra các từ khía cạnh. Luo và các cộng sự [15] xây dựng một hệ thống thực hiện thông qua ba giai đoạn: (1) thiết kế tập luật cú pháp để trích xuất các từ là ứng cử viên thể hiện khía cạnh; (2) sử dụng một mạng từ (WordNet) để xác định các từ thể hiện khía cạnh nhưng đồng nghĩa, và thu thập chúng thành những tập từ riêng biệt. (3) xếp hạng các từ và trích chọn những từ có điểm xếp hạng cao. Dragoni và cộng 10
  24. sự [16] sử dụng một tập chiến lược không giám sát để khai thác quan điểm và một công cụ giám sát người sử dụng trong trực quan hóa dữ liệu. 1.3.2 Xác định khía cạnh Bài toán xác định khía cạnh yêu cầu xác định khía cạnh cho từng câu trong một ý kiến đánh giá, nó giống với bài toán phân loại văn bản mức câu thông thường. Ganu và cộng sự [17] đã sử dụng trực tiếp bộ phân loại SVM để huấn luyện bộ phân loại trên các ý kiến đánh giá trên miền dữ liệu “Restaurant”. Kiritchenko và cộng sự [18] đã áp dụng một thuật toán tương tự nhưng đã khai thác một bộ từ điển gồm các liên kết giữa từ và khía cạnh để cải thiện kết quả dự đoán khía cạnh cho từng câu. Hệ thống của họ đạt được thứ hạng cao nhất trong cuộc thi xác định khía cạnh của hội nghị SemEval năm 2014. McAuley và cộng sự [19] đã đề xuất một mô hình phân biệt để dự đoán khía cạnh sản phẩm. Họ sử dụng hai loại tham số để mã hóa từ kết hợp. Trong đó, một loại học các từ được kết hợp với từng khía cạnh. Một loại học các từ được kết hợp với từng hạng đánh giá của các văn bản đánh giá. Các nghiên cứu gần đây, Zhou và cộng sự [20] biểu diễn khía cạnh bằng phương pháp lai đặc trưng và sử dụng nó làm đầu vào cho mô hình phân lớp hồi quy. Sun và các cộng sự [21] xây dựng các câu phụ dựa trên các khía cạnh và chuyển đổi việc xác định khía cạnh thành công việc phân loại cặp câu, sau đó họ tinh chỉnh và áp dụng mô hình học sâu BERT [22] cho qua trình huấn luyện và dự đoán. Hu và cộng sự [23]đề xuất mô hình mạng chú ý có điều kiện. Movahedi và các cộng sự [24] đề xuất mô hình mạng chú ý theo chủ đề. Nhìn chung, mô hình trong [23] và [24] đều được xây dựng dựa trên mạng bộ nhớ ngắn dài LSTM, nhưng ở cập độ sâu và linh hoạt hơn so với mô hình LSTM thông thường. 1.3.3 Phân đoạn khía cạnh Một số nghiên cứu thực hiện kết hợp cả hai công việc: trích xuất khía cạnh và xác định khía cạnh. Lu và cộng sự [25] sử dụng kỹ thuật probabilistic latent semantic anal- ysis (PLSA) để xác định các từ thể hiện khía cạnh và phân cụm các câu theo các khía cạnh được xác định trước. Wang và cộng sự [1] đề xuất một thuật toán phân đoạn dựa trên phương pháp bootstrapping, họ sử dụng các tập từ hạt nhân cho các khía cạnh tương ứng, sau đó các tập từ hạt nhân được sử dụng làm đầu vào cho thuật toán. Các tập từ hạt nhân sẽ được mở rộng và các câu có từ thể hiện khía cạnh sẽ được gán nhãn khía cạnh trong mỗi bước lặp của thuật toán. Sử dụng phương pháp cú pháp phụ thuộc shallow dependency parser [14, 26], xác định khía cạnh dựa vào nội dung đánh Ưu (Pros) và Nhược điểm (Cons) trên mỗi ý kiến/văn bản của thực thể. Đầu tiên, tần xuất xuất hiện 11
  25. của mỗi danh từ được tính, sau đó những danh từ xuất hiện với tần số cao được coi là ứng cử viên cho các khía cạnh. 1.3.4 Phân loại quan điểm theo khía cạnh Sau công việc xác định khía cạnh là công việc phân loại quan điểm theo khía cạnh. Hai tiếp cập chính cho phân loại quan điểm theo khía cạnh là dựa trên từ điển và các tiếp cập học giám sát. Các phương pháp dựa trên từ điển là loại không giám sát. Họ sử dụng một bộ từ điển gồm một danh sách các từ thể hiện quan điểm là tích cực và tiêu cực. Để xây dựng được một bộ từ điển chất lượng cao, kỹ thuật bootstrapping thường được áp dụng. Minqing và cộng sự [10] ban đầu sử dụng một danh sách các từ hạt nhân cho từng lớp quan điểm. Rồi họ sử dụng các mối quan hệ từ đồng nghĩa hoặc antonym được định nghĩa trong WordNet để mở rộng các tập từ hạt nhân, cuối cùng thu được một bộ từ vựng. Ding và các cộng sự [27] đã đề xuất phương pháp dựa trên từ điển tổng quát để cải tiến phương pháp trong [10] bằng cách giải quyết hai vấn đề: quan điểm của các từ thể hiện quan điểm sẽ nhạy cảm với nội dung và xung đột trong ý kiến đánh giá. Họ bắt nguồn từ một bộ từ điển bằng cách khai thác các khó khăn. Ngược lại, các phương pháp học giám sát phân loại quan điểm trên các khía cạnh được thực hiện bằng cách học một bộ phân lớp từ tập dữ liệu cho trước. Một số mô hình truyền thống học giám sát đã được áp dụng, như Support Vector Machine (SVM), Naive Bayes, Maximum Entropy. Bên cạnh các phương pháp truyền thống, nhiều nghiên cứu gần đầy sử dụng các phương pháp học sâu, hiện đại hơn, có thể tự động trích xuất đặc trưng và biểu diễn dữ liệu ở mức giàu thông tin ngữ nghĩa nhất. Xu [28] đề xuất một phương pháp bán giám sát để trích xuất và sử dụng quan điểm cơ bản của các mẫu không được gán nhãn thông qua một mô hình học sâu chung. Họ giả thiết rằng khi cho trước một khía cạnh, câu văn bản sẽ được sinh ra bởi hai biến ngẫu nhiên: ngữ cảnh và quan điểm. Đề xuất mô hình mạng nơ-ron hoạt động dựa trên mạng bộ nhớ ngắn dài (LSTM) [29–31], tuy nhiên chi phí thời gian huấn luyện cho các mô hình này là rất lớn. Xue và cộng sự [32] đề xuất mô hình sử dụng cổng tích chập (Gated Convolutional Networks) chất lượng học, dự đoán của mô hình vẫn đảm bảo, đồng thời giúp cho thời gian huấn luyện được tốt hơn. 1.3.5 Xếp hạng khía cạnh Nghiên cứu đầu tiên về xếp hạng khía cạnh được nghiên cứu bởi Snyder và các cộng sự [33]. Trong nghiên cứu của họ mô hình GG (Good Grief) được đề xuất, gồm một mô hình xếp hạng cho từng khía cạnh và một mô hình đồng thuận (agreement model). Mô hình được huấn luyện bởi thuật toán GG, thuật toán GG được xây dựng dựa trên thuật toán PRank [34]. Mô hình này giả thiết các đặc trưng của các thuộc tính là như nhau, 12
  26. chỉ khác nhau về giá trị trọng số từ quan điểm. Titov và các cộng sự [35] đề xuất mô hình trích xuất khía cạnh và dự đoán hạng khía cạnh tương ứng. Họ sử dụng các chủ đề để mô tả các khía cạnh và áp dụng một mô hình hồi quy để huấn luyện. Các mô hình này giả thiết các hạng khía cạnh được cung cấp trong tập dữ liệu huấn luyện. Ngoài ra, họ chưa đề cập đến trọng số khía cạnh, một thông tin quan trọng, bởi dựa vào giá trị của trọng số giúp chúng ta có thể biết khía cạnh nào của sản phẩm là quan trọng. Zha và các cộng sự [26] đã đề xuất một thuật toán xếp hạng khía cạnh xác suất để xác định mức độ quan trọng của từng khía cạnh từ một tập ý kiến đánh giá sản phẩm. Họ sử dụng hai giả thiết: (1) các khía cạnh quan trọng thường được nhiều khách hàng bình luận và (2) quan điểm khách hàng trên các khía cạnh quan trọng ảnh hưởng lớn đến quan điểm tổng thể của họ về sản phẩm. Gần đây, Wang và cộng sự [36] thực hiện xác định các khía cạnh và giảm kích thước để trích xuất các cặp khía cạnh-quan điểm. Sau đó họ sử dụng lý thuyết entropy tính độ đo information gain cho từng khía cạnh, dựa trên độ phân cực quan điểm họ đánh giá được mức độ quan trọng của khía cạnh. Yang và các cộng sự [37] đề xuất một thuật toán dựa trên một bộ từ điển quan điểm để xác định nhãn quan điểm (tích cực, tiêu cực, trung lập) cho các khía cạnh trong từng ý kiến đánh giá, sau đó họ áp dụng lý thuyết tập mờ để xếp hạng. Guo và cộng sự [38] đề xuất mô hình đồ thị có hướng để đánh giá khía cạnh của sản phẩm, giá trị từng nút của đồ thị được xác định bằng mô hình chủ đề LDA và phương pháp trực quan hóa văn bản. Cuối cùng, hạng khía cạnh được xác định bằng thuật toán PageRank. 1.3.6 Xác định hạng và trọng số khía cạnh ẩn Lu và cộng sự [25] đề xuất hai phương pháp xác suất: dự đoán cục bộ (local pre- diction) và dự đoán toàn cục (global prediction) cho bài toán xác định hạng khía cạnh dựa trên hạng chung của mỗi văn bản đánh giá. Tuy nhiên trong nghiên cứu của họ chưa đề cập tới trọng số khía cạnh của thực thể. Wang và cộng sự [1] đề xuất mô hình hồi quy xác suất có khả năng xác định đồng thời hạng và trọng số khía cạnh ẩn của thực thể trong mỗi văn bản đánh giá. Trong nghiên cứu của Wang và cộng sự [39], các tác giả đã cải tiến mô hình của mình bằng cách sử dụng một mô hình chủ đề để xác định các chủ đề được thảo luận trong mỗi ý kiến đánh giá. Mỗi chủ đề được xem như một khía cạnh của sản phẩm và tập các từ của mỗi chủ đề được sử dụng làm đầu vào cho một mô hình hồi quy để xác định hạng cũng như trọng số khía cạnh. Xu và các cộng sự [40] đề xuất mô hình mã hóa khía cạnh thưa thớt (Sparse Aspect Coding Model) sử dụng kỹ thuật l1-regularizer điều chỉnh các đặc trưng khía cạnh thưa và kỹ thuật cực đại xác suất hậu nghiệm MAP (Maximum A Posterior) để ước lượng hạng và trọng số khía cạnh của thực thể trên từng văn bản đánh giá. Wang và các cộng sự [41] đề xuất 13
  27. mô hình chủ đề SATM (Sentiment-Aligned Topic Model) kết hợp hai loại tri thức: (1) phân phối hạng chung của thực thể; và (2) từ điển quan điểm. Wang và các cộng sự [42] đề xuất một mô hình xác suất, học không giám sát có tên là CARW. Khác với mô hình trong [1, 39] mô hình của họ có khả năng thực hiện đồng thời ba nhiệm vụ trong quá trình học: (1) xác định khía cạnh; (2) xác định hạng khía cạnh; (3) ước lượng trọng số khía cạnh. Li và các cộng sự [43] dựa trên quan sát độ lệch giữa hạng chung và hạng khía cạnh trên các tập dữ liệu văn bản đánh giá của người dùng. Họ đề xuất mô hình xác suất RABI (RAting-center model with BIas) dựa trên phân tích PLSA (Probabilistic Latent Semantic Analysis) cho công việc xác định khía cạnh và dự đoán hạng khía cạnh của thực thể. Gần đây, Xiao và các cộng sự [44] đề xuất mô hình tích hợp phân tích ma trận thành nhân tử (Matrix factorization) với mô hình chủ đề. Tuy nhiên, cũng giống với các nghiên cứu trước là họ coi các đặc trưng của khía cạnh là các túi từ. Họ bỏ qua ngữ nghĩa của từ, dẫn đến đặc trưng của các khía cạnh có thể bị thiếu thông tin ngữ nghĩa. 1.4 Các tiếp cận giải quyết bài toán Nhìn chung, hầu hết các nghiên cứu trước đây sử dụng các tiếp cận truyền thống như nghiên cứu [17, 18, 45] sử dụng SVM, [46, 47] sử dụng Naive Bayes, [1, 39] sử dụng mô hình hồi quy xác suất, [4–6] sử dụng kỹ thuật học tuần tự, điển hình như HM, CRF, Skip-CRF. Bên cạnh đó, các nghiên cứu thường sử dụng một bộ từ điển để biểu diễn đặc trưng cho các văn bản, chính vì thế họ bỏ qua mối quan hệ ngữ nghĩa giữa các từ và khía cạnh. Trong những năm gần đây một số mô hình học biểu diễn đã đạt được nhiều kết quả xuất sắc trong lĩnh vực xử lý ngôn ngữ tự nhiên. Các mô hình học biểu diễn đã được đề xuất với các mức, như mức từ, mức câu, mức đoạn văn, và mức cả văn bản. Học biểu diễn (còn được gọi là học đặc trưng (feature learning)) [48] là một lĩnh vực của học máy, tự động học biểu diễn đặc trưng thông qua dữ liệu huấn luyện. Các mô hình cho học biểu diễn đã được sử dụng bao gồm phân tích thành phần độc lập (independent component analysis) [49], các bộ tự giải mã (autoencoders) [50], phân tích ma trận thành nhân tử (matrix factorization) [51], và mạng nơ-ron [48]. Trong đó, các kỹ thuật học biểu diễn được xây dựng dựa trên mô hình mạng nơ-ron được sử dụng nhiều hơn cả. Lĩnh vực xử lý tín hiệu và nhận dạng tiếng nói là lĩnh vực áp dụng kỹ thuật học biểu diễn sớm nhất [52], tiếp đến là lĩnh vực phân loại ảnh [53,54]. Trong lĩnh vực xử lý ngôn ngữ tự nhiên, học biểu diễn được giới thiệu lần đầu vào năm 1986 bởi Hinton và các cộng sự [55] và được phát triển vào năm 2003 với mô hình mạng nơ-ron ngôn ngữ của Bengio và các cộng sự [56]. Tuy nhiên sự bùng nổ các kỹ thuật học biểu 14
  28. diễn cho lĩnh vực xử lý ngôn ngữ tự nhiên được bắt đầu từ năm 2013 đến nay. Một số mô hình tiêu biểu, học biểu diễn mức từ như Word2Vec [57] và Glove [58]. Word2Vec là mô hình đơn giản và hiệu quả hơn mô hình mạng nơ-ron ngôn ngữ của Bengio và các cộng sự (2003) [56]. Glove là mô hình hồi quy toàn cục. Học biểu diễn mức câu hay mức đoạn văn hoặc cả văn bản, có mô hình học không giám sát Paragraph [2], mô hình học biểu diễn câu giám sát thông qua một công việc cụ thể như mô hình mạng nơ-ron tích chập [3]. Một số nghiên cứu khai phá và phân tích quan điểm theo khía cạnh gần đây đã áp dụng các kỹ thuật học biểu diễn để khắc phục điểm yếu về ngữ nghĩa của từ. Và đạt được mức độ ngữ nghĩa của câu, qua đó kết quả của các bài toán cũng đã được cải thiện như: Pavlopoulos và các cộng sự [59] đã mở rộng phương pháp trích xuất khía cạnh của Zhuang [60] bằng cách sử dụng các véc-tơ biểu diễn từ Word2Vec. Poria và các cộng sự [7] đề xuất mô hình mạng nơ-rơn tích chập (Convolutional Neural Network (CNN)) nhiều tầng cho công việc trích xuất từ thể hiện khía cạnh. Wang và các cộng sự [30] đề xuất mô hình mạng bộ nhớ ngắn-dài (Long Short Term Memory (LSTM)) và Tang [29] đề xuất mô hình mạng nơ-ron nhớ sâu (Deep Memory Network) cho bài toán phân loại quan điểm khía cạnh. 1.5 Nghiên cứu trên thế giới và Việt nam Phân tích quan điểm bắt đầu được nghiên cứu từ những năm 2000 với các bài toán điển hình như phân lớp quan điểm cho văn bản [45, 61], phân lớp chủ đề [62–65], phát hiện và phân lớp văn bản rác [66–68]. Tuy nhiên, điểm hạn chế của các bài toán ban đầu là ngầm định đối tượng đối với các văn bản đầu vào và không xét tới các khía cạnh của thực thể đã được người dùng bày tỏ quan điểm trong văn bản đánh giá. Để giải quyết điểm yếu này, gần đây nhiều bài toán phân tích quan điểm theo khía cạnh đã được quan tâm và nghiên cứu nhiều hơn cả. Các bài toán điển hình trong phân tích quan điểm theo khía cạnh gồm có: trích xuất từ khía cạnh [4,11,13,14,69]; xác định khía cạnh [17–19]; phân loại quan điểm theo khía cạnh [27, 70]; xếp hạng khía cạnh [25, 33, 35]; xác định trọng số khía cạnh [26, 71]; xác định hạng và trọng số khía cạnh ẩn [1, 39, 40]. Tại Việt Nam cũng đã có những nghiên cứu cho các văn bản bằng Tiếng Việt. Các bài toán điển hình đã được thực hiện như: khai phá câu so sánh [72]; phân tích quan điểm cho ý kiến đánh giá, phản hồi của sinh viên [73,74]; phân lớp quan điểm cho các ý kiến đánh giá trên website thương mại (ví dụ: TinhTe.vn, Tiki.vn, etc.) [75,76]; xác định khía cạnh [77]. Về các tiếp cận giải quyết bài toán tại Việt Nam, một số nghiên cứu cũng đã bắt đầu sử dụng các mô hình học sâu, học biểu diễn cho các bài toán cụ thể trong phân tích quan 15
  29. điểm. Nguyen và các cộng sự [73] sử dụng các biến thể của mô hình mạng bộ nhớ ngắn dài LSTM cho bài toán phân tích quan điểm ý kiến đánh giá, phản hồi của sinh viên. Vo và các cộng sự [75] sử dụng mô hình đa kênh kết hợp giữa mô hình mạng bộ nhớ ngắn-dài (LSTM) và mô hình mạng nơ-ron tích chập. Mai và các cộng sự [76] sử dụng mô hình mạng nơ-ron hồi quy (bidirectional recurrent neural network) kết hợp với mô hình xác suất truyền thống CRF (conditional random field) thực hiện với bài toán phân lớp quan điểm cho các ý kiến đánh giá. 1.6 Thảo luận Các mô hình học biểu diễn đặc trưng dựa trên mạng nơ-ron nhân tạo đang là một hướng phát triển đầy tiềm năng cho các công việc xử lý ngôn ngữ tự nhiên. Trong lĩnh vực phân tích quan điểm theo khía cạnh nhiều nghiên cứu cũng đã sử dụng véc-tơ biểu diễn mức từ, mức câu và đạt được kết quả cao. Tuy nhiên hầu hết các nghiên cứu giải quyết cho các bài toán mức câu và sử dụng các véc-tơ biểu diễn từ được học từ hai mô hình học không giám sát, Word2Vec và Glove. Cả hai mô hình này chỉ bắt được thông tin mối quan hệ ngữ nghĩa giữa các từ dựa trên ngữ cảnh xuất hiện của mỗi câu, chúng có thể đã bỏ qua thông tin về khía cạnh và quan điểm theo khía cạnh. Khía cạnh và quan điểm theo khía cạnh là hai thông tin quan trọng trong công việc học biểu diễn [20]. Theo hiểu biết của chúng tôi, chưa có nghiên cứu nào thực hiện học biểu diễn mức khía cạnh cho bài toán xác định hạng và trọng số khía cạnh ẩn của thực thể. Cũng như chưa có nghiên cứu nào khai thác đa nguồn (nguồn véc-tơ biểu diễn từ và ký tự) trong mô hình kết hợp đa tập véc-tơ biểu diễn từ và ký tự cho phân tích quan điểm theo khía cạnh. Các mô hình học biểu diễn mức từ trước đó không mã hóa được ba loại thông tin, bao gồm ngữ nghĩa, khía cạnh và quan điểm theo khía cạnh. Nội dung các chương tiếp theo của luận án, chúng tôi sẽ tập trung giải quyết những tồn tại nêu trên thông qua ba vấn đề tương ứng với 3 chương trong luận án (từ Chương 3 đến Chương 5): 1. Xây dựng mô hình xác định hạng và trọng số khía cạnh của thực thể; 2. Xây dựng mô hình học biểu diễn véc-tơ cho mức từ nhằm phù hợp với bài toán phân tích quan điểm theo khía cạnh; 3. Xây dựng mô hình đa kênh CNN, kết hợp nhiều nguồn thông tin đầu vào, nhằm khai thác đa tập véc-tơ biểu diễn từ và ký tự cho phân tích quan điểm theo khía cạnh. Đối với vấn đề thứ nhất, chúng tôi giải quyết bài toán chính là xác định hạng và trọng số khía cạnh ẩn của các thực thể. Đầu tiên chúng tôi đề xuất mô hình mạng nơ-ron một 16
  30. lớp ẩn với giả thiết hạng khía cạnh ẩn tại tầng ẩn, trọng số khía cạnh ẩn là các tham trong mô hình. Đầu vào của mô hình là các véc-tơ biểu diễn khía cạnh được học tự động từ mô hình véc-tơ Paragraph [2], với cách giải quyết này chúng tôi tin rằng sẽ khắc phục được điểm yếu của mô hình biểu diễn khía cạnh bằng bộ từ điển. Ngoài ra, nhằm học tự động biểu diễn mức câu, mức khía cạnh, đồng thời giúp cho mô hình dự đoán bắt được mối quan hệ giữa các câu cũng như khía cạnh, chúng tôi đề xuất mô hình học biểu diễn đa tầng cho bài toán xác định hạng và trọng số khía cạnh ẩn. Bên cạnh đó, để bổ sung cho các nghiên cứu trước, chưa đề cập đến trọng số khía cạnh chung của thực thể, chúng tôi đưa ra một mô hình mạng nơ-ron để xác định trọng số khía cạnh chung. Đối với vấn đề thứ hai, xuất phát từ động lực các mô hình học dự đoán cho bài toán toán phân tích quan điểm mức câu [78–80] sẽ đạt được kết quả tốt nếu như các véc-tơ biểu diễn đặc trưng trong đầu vào của chúng tốt. Trong học biểu diễn, mức câu được biểu diễn dựa trên mức từ. Do đó chúng tôi sẽ tập trung giải quyết bài toán học biểu diễn mức từ cho phân tích quan điểm theo khía cạnh bằng đề xuất hai mô hình: (1) Tinh chỉnh véc-tơ biểu diễn từ; (2) Học biểu diễn véc-tơ từ. Kết quả của việc học biểu diễn từ có thể được ứng dụng trong tất cả các công việc của phân tích quan điểm theo khía cạnh. Trong luận án này, các véc-tơ biểu diễn từ được đánh giá bằng cách áp dụng chúng vào hai bài toán: xác định khía cạnh, và phân loại quan điểm theo khía cạnh. Đối với vấn đề thứ ba, lấy nguồn cảm hứng từ các kết quả đạt được trong các nghiên cứu [81–83] chúng tôi sử dụng thông tin mức ký tự cho các bài toán của phân tích quan điểm theo khía cạnh. Tuy nhiên khác với họ, ngoài thông tin mức ký tự, chúng tôi còn khai thác đa tập (đa phiên bản) véc-tơ biểu diễn từ. Cụ thể, chúng tôi khai thác hai tập véc-từ được cung cấp sẵn trên internet là Word2Vec và Glove. Các tập véc-tơ khác nhau được học từ các tập dữ liệu và mô hình khác nhau, do vậy chúng có khả năng bắt được các khía cạnh khác nhau của ngôn ngữ. Nhằm hỗ trợ cho mức biểu diễn câu giàu thông tin hơn, chúng tôi xây dựng một mô hình đa kênh CNN khai thác sự kết hợp giữa đa tập véc-tơ biểu diễn từ và biểu diễn ký tự. 17
  31. Chương 2 Kiến thức cơ sở Chương này trình bày về những kiến thức cơ sở được sử dụng trong các chương tiếp theo. Mở đầu, mục 2.1 sẽ đưa ra các khái niệm và ký hiệu liên quan. Các mục tiếp theo, luận án sẽ trình bày các mô hình học máy cơ sở đã được sử dụng cho các bài toán của phân tích quan điểm theo khía cạnh. Các mô hình học biểu diễn cho mức từ, câu, đoạn/văn bản cũng sẽ được trình bày. Mục cuối của chương sẽ đưa ra các kết luận và thảo luận về sự lựa chọn các mô hình học biểu cho các bài toán cần giải quyết của luận án. 2.1 Các ký hiệu và khái niệm liên quan Xét trên một miền dữ liệu đánh giá thực thể (ví dụ miền dữ liệu đánh giá thực thể là các sản phẩm điện thoại di động) đề cập tới một tập thực thể P = {p1,p2, ,p|P|}, từng thực thể p ∈ P có một tập ý kiến đánh giá Cp = {c1,c2, ,c|Cp|}. Dựa trên nghiên cứu [1,25,84], luận án trình bày một số khái niệm và ký hiệu liên quan đến tập thực thể P như sau: Thực thể: Thực thể là một đối tượng được nhắc tới trong ý kiến đánh giá, ví dụ: “khách sạn Hà Nội”, “nhà hàng Sen Tây Hồ”. Tập thực thể: Tập thực thể là khái niệm để chỉ một lớp các đối tượng có cùng đặc tính (khía cạnh) chung mà chúng ta muốn quản lý thông tin về nó. Ví dụ: khách sạn, nhà hàng, hàng hóa. Khía cạnh: Các khía cạnh của một thực thể p ∈ P là các thành phần và thuộc tính của nó, ở đây ta kí hiệu {Ai} với i = 1, ,k là k khía cạnh đối với thực thể p. Một thể hiện khía cạnh là một từ hoặc cụm từ đại diện dùng để nhận biết, xác nhận cho một khía cạnh. Ví dụ: Trong miền dữ liệu thực thể điện thoại di động, một khía cạnh có thể được đặt 18
  32. Hình 2.1: Ví dụ một ý kiến khách hàng thể hiện quan điểm về dịch vụ khách sạn Vinpearl Phu Quoc Resort tên là chất lượng âm thanh. Có nhiều từ và cụm từ thể hiện có thể xác nhận khía cạnh này, như âm thanh, giọng nói và chất lượng âm thanh. Ý kiến đánh giá: Ý kiến đánh giá c ∈ Cp là một văn bản (thường là ngắn) chứa quan điểm đánh giá của một người dùng, gồm một số câu thể hiện quan điểm về các khía cạnh của sản phẩm p. Hình 2.3 là một ví dụ về ý kiến đánh giá sản phẩm khách sạn Vinpearl Phu Quoc Resort, các khía cạnh được đánh giá gồm “Địa điểm”, “Dịch vụ” và “Giấc ngủ”. Văn bản đánh giá thực thể: Văn bản đánh giá của sản phẩm p là một văn bản d bao gồm tất cả ý kiến trong cơ sở dữ liệu về thực thể p. Lưu ý trong một số thực nghiệm chúng ta tập hợp tất cả các ý kiến về một thực thể để tạo thành một văn bản chung chứa tất cả các ý kiến đánh giá về thực thể này. Hạng chung (Overall Rating): Hạng chung của một ý kiến đánh giá c ∈ Cp đối với thực thể p được ký hiệu bởi Oc, có giá trị trong khoảng từ 1 đến 5 sao, là điểm đánh giá tổng hợp của toàn bộ ý kiến đó. Ví dụ ý kiến đánh dịch vụ khách sạn Vinpearl Phu Quoc Resort trong Hình 2.3 có hạng chung 5. Hạng khía cạnh (Aspect Ratings): Hạng khía cạnh của một ý kiến đánh giá c ∈ Cp đối với thực thể p là một véc-tơ rc = (rc1,rc2, ,rck), với chiều thứ i là hạng khía cạnh của khía cạnh Ai, nó xác nhận mức độ quan điểm trong ý kiến c tương ứng với khía cạnh Ai. Ví dụ ý kiến đánh dịch vụ khách sạn trong Hình 2.3 có hạng khía cạnh “Địa điểm” là 4, hai khía cạnh “Dịch vụ” và “Giấc ngủ” cùng có hạng là 5. Hạng chung của thực thể: Hạng chung của một thực thể được ký hiệu bởi Od, có giá trị trong khoảng từ 1 đến 5 sao. Od được xác định bằng trung bình cộng tất cả hạng chung của các ý kiến đánh giá. 19
  33. Hình 2.2: Ví dụ về Hạng chung của sản phẩm iPhone X 64GB Trong Hình 2.2 là một dụ về hạng chung của sản phẩm iPhone X 64GB trên hệ thống website thương mại thegioididong.com, hạng chung 4.7 sao được tính dựa trên 48 ý kiến đánh của khách hàng đã sử dụng sản phẩm. Hạng khía cạnh của thực thể : Hạng khía cạnh của một thực thể được ký hiệu bởi một véc-tơ các số thực rd = (rd1,rd2, ,rdk), với rdi có giá trị trong khoảng từ 1 đến 5 sao, là hạng của khía cạnh Ai, nó xác nhận mức độ đánh giá quan điểm của người dùng trong văn bản d tương ứng với khía cạnh Ai. Trọng số khía cạnh (aspect weights): Trọng số khía cạnh của một văn bản đánh d đối với sản phẩm p là một véc-tơ k− chiều αd = (αd1,αd1, ,αdk,) với thành phần thứ i là trọng số của khía cạnh Ai, xác nhận mức độ quan trọng của khía cạnh Ai trên văn bản đánh giá d. Trọng số khía cạnh chung (overall aspect weight): Trọng số khía cạnh chung của một tập thực thể P có tập văn bản đánh giá D = {d1,d2, ,d|D|} là một véc-tơ k− chiều α = (α1,α1, ,αk,) với thành phần thứ i là trọng số của khía cạnh Ai, xác nhận mức độ quan trọng chung của khía cạnh Ai trên tập văn bản đánh giá D. 20
  34. 2.2 Các mô hình học máy cơ sở cho phân tích quan điểm theo khía cạnh 2.2.1 Mô hình hồi quy đánh giá ẩn Mô hình hồi quy đánh giá ẩn (Latent Rating Regression Model (LRR)) là một mô hình xác suất được Wang và các cộng sự [1] đề xuất năm 2010, mô hình có khả năng xác định hạng khía cạnh và trọng số khía cạnh ẩn cho từng thực thể (sản phẩm/dịch vụ) từ một tập văn bản đánh giá cho trước.  Lấy D = d1,d2, ,d|D| là một tập văn bản đánh giá của thực thể, hạng của khía cạnh thứ i trong một văn bản đánh giá d ∈ D được tính bởi: n rdi = ∑ βi jWdi j (2.1) j=1 với βi là véc-tơ trọng số phân cực của khía cạnh thứ i và Wdi là véc-tơ trọng số từ của khía cạnh thứ i xuất hiện trong văn bản đánh giá d. Hạng chung của văn bản d ∈ D được giả thiết sinh ra từ phân phối Gaussian với giá T 2 trị trung bình (mean) là αd sd và phương sai (variance) δ k n ! 2 Od ∼ N ∑ αdi ∑ βi jwdi j,δ i=1 j=1 Trọng số αd của một khía cạnh được giả thiết là một phân phối αd ∼ N (µ,∑) Xác suất phân phối của hạng chung Od của văn bản đánh giá d được tính bởi công thức: 2  p(r|d) = p Od|µ,∑,δ ,β,Wd k n R 2 = p(αd|µ,∑)p(Od| ∑ αdi ∑ βi jWdi j,δ )dαd i=1 j=1 2 với rd và Wdi là dữ liệu quan sát được trong văn bản đánh giá d và Θ = (µ,∑,δ ,β) là tham số của mô hình. 21
  35. Hình 2.3: Mô hình hồi quy đánh giá khía cạnh ẩn [1] Sử dụng mô hình LRR chúng ta xác định được hạng và trọng số khía cạnh ẩn của các khía cạnh được thảo luận trong văn bản đánh giá d. Hạng khía cạnh rd được xác định theo công thức 2.1. Hàm ước lượng tham số của mô hình LRR đối với văn bản đánh giá d được định nghĩa bởi: k n 2 L(d) = logP(αd|µ,∑)p(rd| ∑ αdi ∑ βi jWdi j,δ ) i=1 j=1 Trọng số αd trong văn bản đánh giá d được xác định thông qua hàm ∧ αd = argmaxL(αd) h (r − T s ) i = argmax − d αd d − 1 ( − )2 −1( − ) 2δ 2 2 αd µ ∑ αd µ  Xét trên một tập dữ liệu văn bản đánh giá D = d1,d2, ,d|D| chúng ta có hàm mục tiêu sau: 2  L(D) = ∑ log p Od|µ,∑,δ ,β,Wd d∈D Để xác định được các tham số của mô hình chúng ta cần ước lượng hợp lý cực đại (Maximum Likelihood Estimation) hàm sau: ∧ 2  Θ = argmax ∑ p Od|µ,∑,δ ,β,Wd Θ d∈D 2.2.2 Thuật toán xác suất xếp hạng khía cạnh Thuật toán xếp hạng các khía cạnh theo mức độ quan trọng cho các khía cạnh từ một tập ý kiến đánh giá sản phẩm được giới thiệu trong [26, 71]. Ý tưởng của thuật toán giả thiết rằng các khía cạnh quan trọng có đặc điểm như sau: (a) Họ có tần xuất hiện nhiều 22
  36. trong các ý kiến đánh giá của khách hàng. (b) Quan điểm của khách hàng trên các khía cạnh ảnh hưởng đến đánh giá quan điểm chung trên sản phẩm. |D| Cho trước một tập ý kiến đánh giá D= {(rc,Oc)}c=1, đối với ý kiến đánh giá c ∈ D, hạng chung Oc được giả thiết sinh ra từ phân phối Gaussian với giá trị trung bình (mean) T 2 là αc rc và phương sai (variance) σ . ( T 2 ) 1 (Oc − αc rc) P(Oc) = √ exp − (2.2) 2πσ 2 2σ 2 Để tính được αc, các tác giả đã giả thiết rằng αc được sinh ra từ phân phối Gaussian ( −1 ) 1 1 T p(αc) = exp − (αc − µ) ∑(αc − µ) (2.3) (2π)k/2|∑|1/2 2 Với µ,∑ là véc-tơ trung bình và ma trận phương sai. Chúng chưa biết và cần phải được ước lượng (học). Như đã giới thiệu, các khía cạnh quan trọng thường được các khách hàng đề cập trong các ý kiến đánh giá (reviews). Vì vậy, chúng ta khai thác tần suất xuất hiện của các khía cạnh như là một thông tin quan sát được để học αc. Cụ thể chúng ta mong muốn xác suất phân phối của N(µ,∑) gần với phân phối N(µ0,I). Từng thành phần trong µ0 được tính bằng xác suất xuất hiện của một khía cạnh cụ thể. Chúng ta xây dựng công thức phân phối của N(µ,∑) dựa trên độ đo Kullback-Leibler (KL) divergence của nó đối vớiN(µ0,I) theo công thức sau:  p(µ,∑) = exp −φ.KL(N(µ,∑)||N(µ0,I) (2.4) Dựa trên các công thức trên, xác suất hạng chung của văn bản đánh giá d như sau: Z 2 T 2 P(Oc|d) = P(Oc|αc, µ,∑,σ ) = P(Oc|αc rc,σ ).p(αc|µ,∑).p(µ,∑)dαc (2.5) 2 Chúng ta cần xác định αc với {µ,∑,σ } là tham số của mô hình và chúng được ước lượng từ một tập ý kiến D = {c1,c2, ,c|D|}. Hàm đối tượng của ước lượng hợp lý cực đại (Maximum Likelihood Estimation) đối với ý kiến c như sau: T 2 L(αc) = logP(Oc|αc rc,σ )p(αc|µ,∑).p(µ,∑) (2.6) T 2 L( ) = − (Oc−αc .rc) − 1 ( − )T −1( − ) αc 2σ 2 2 αc µ ∑ αc µ −φ.KL(N(µ,∑)||N(µ0,I) (2.7) 1/2 k+1 −log(σ|∑| (2π) 2 ) 23
  37. Trọng số khía cạnh được xác định thông qua hàm sau: αc = argmaxL(αc) αc  T 2  (2.8) = argmax − (Oc−αc rc) − 1 ( − )T −1( − ) 2σ 2 2 αc µ ∑ αc µ αc Đạo hàm của hàm L(α) theo biến α và để ước lượng được α chúng ta cho đạo hàm bằng 0 như sau: T −1 ∂L(αc) (αc rc − Oc).rc = − 2 − ∑(αc − µ) = 0 (2.9) ∂αc σ −1 T −1! −1 ! rc.rc Oc.rc αc = + + µ (2.10) σ 2 ∑ σ 2 ∑ ∧   −1 −1 −1 µ = |D|.∑ + ϕ.I ∑ ∑ αc + ϕ.µ0 c∈D ∧  2 1/2 1  T   |D|−ϕ  ∑ = ϕ ∑ (αc − µ)(αc − µ) + 2ϕ .I d∈D (2.11) |D|−ϕ − 2ϕ .I 2 ∧ 1 T 2 σ = |D| ∑ (Oc − αc .rc) c∈D Ký hiệu α = = {α1,α2, ,α|D|} là tập véc-tơ trọng số khía cạnh của các ý kiến đánh giá trong tập dữ liệu D. Từng véc-tơ trong tập α là véc-tơ trọng số khía cạnh tương ứng của ý kiến đánh giá. Thuật toán 1: Thuật toán xác suất xếp hạng khía cạnh |D| Đầu vào: Tập ý kiến đánh giá thực thể D= {(rc,Oc)}c=1, từng ý kiến đánh giá c ∈ D được gán một nhãn đánh giá quan điểm chung Oc, và một véc-tơ đánh giá quan điểm theo khía cạnh rc while not converged do |D| Cập nhật {αc}c=1 theo công thức (2.10); Cập nhật {µ,∑,σ 2} theo công thức (2.11); Đầu ra : Tập véc-tơ trọng số khía cạnh α Sau khi đạt được tập véc-tơ trọng số khía cạnh α, đối với một thực thể cụ thể, chúng ta gom nhóm các véc-tơ trọng số khía cạnh trên các ý kiến đánh giá của nó lại với nhau và tính véc-tơ trung bình cộng của nhóm các véc-tơ trọng số khía cạnh này. Cuối cùng véc-tơ trung bình cộng này được sử dụng là véc-tơ trọng số khía cạnh của thực thể cần tính. 24
  38. (a) CBOW (b) Skip-gram Hình 2.4: Mô hình Word2Vec với hai kiến trúc CBOW và Skip-gram 2.3 Các mô hình học biểu diễn mức từ, câu, đoạn/văn bản Trong các công việc xử lý ngôn ngữ tự nhiên, trích rút đặc trưng (feature extraction) và biểu diễn dữ liệu là các công việc cơ bản nhưng quan trọng. Hiệu quả của các phương pháp học máy truyền thống như decision tree, logistic regression, naive bayes, support vector machine, phụ thuộc vào sự thiết kế các đặc trưng, các thuộc tính đầu vào do con người xây dựng và cung cấp. Không giống với các phương pháp học máy truyền thống, học biểu diễn nỗ lực học các biểu diễn tốt nhất, trích xuất ra những đặc trưng tốt nhất của dữ liệu một cách tự động. Trong phần này chúng tôi trình bày các mô hình học biểu diễn cơ bản cho mức từ, câu, đoạn/văn bản. Gồm: (1) Hai mô hình học biểu diễn mức từ: Word2Vec và Glove; (2) Ba mô hình học biểu diễn cho mức câu, đoạn/văn bản: véc-tơ Paragraph, mô hình mạng nơ-ron tích chập CNN, và mô hình véc-tơ kết hợp. 2.3.1 Mô hình Word2Vec Mô hình Word2Vec là một mô hình học biểu diễn mỗi từ thành một véc-tơ có các thành phần là số thực, và có thể sử dụng chúng để xác định mối quan hệ giữa từ này với các từ khác, do Mikolov và các cộng sự [85] đề xuất. Mô hình Word2Vec có khả năng làm việc với những tập dữ liệu lớn, và có hai kiến trúc mạng nơ-ron đơn giản: Mô hình túi từ liên tục (Continuous Bag-of-Words (CBOW)) và mô hình Skip-gram, kiến trúc hai mô hình được minh họa như trong Hình 2.4. Ý tưởng của mô hình CBOW là dự đoán một từ đích dựa trên các ngữ cảnh của nó. Ví dụ: từ “on” được dự đoán dựa trên các từ thuộc ngữ cảnh của nó là “the”, “cat”, và 25
  39. “sat”. Cho một chuỗi các từ huấn luyện ω1,ω2, ,ωT , hàm đối tượng của mô hình CBOW là hàm trung bình cực đại hóa xác suất như sau: 1 T−k ∑ log p(ωt|ωt−k, ,ωt+k) (2.12) T t=k trong đó k là kích cỡ của ngữ cảnh. Công việc dự đoán của mô hình CBOW được thực hiện thông qua hàm softmax. eyωt log p(ωt|ωt−k, ,ωt+k) = ∑eyi i Từng giá trị yi là xác suất-log không xác định cho từng từ đầu ra từ i được tính như sau: y = b +Uh(ωt−k, ,ωt+k;W) (2.13) với U và b là tham số của hàm softmax, h được tính bằng cách lấy giá trị trung bình hoặc nối kết hợp của các véc-tơ được trích xuất từ ma trận W. Skip-gram là mô hình có kiến trúc đối lập với kiến trúc của mô hình CBOW. Skip- gram học các véc-tơ từ dựa trên giải thiết: một từ có thể sinh ra được các từ khác thuộc ngữ cảnh của nó. Hàm đối tượng của mô hình Skip-gram là hàm trung bình cực đại hóa xác suất như sau: 1 T−k ∑ ∑ log p(ωt+ j|ωt) (2.14) T t=k −k≤ j≤k, j6=0 trong đó k là kích cỡ của ngữ cảnh. Trong thực nghiệm Mikolov và các cộng sự [85] đã sử dụng softmax phân cấp (hier- archical softmax) để tính xấp xỉ hiệu quả thay thế cho softmax đầy đủ như đã trình bày trong công thức 2.13. Với cách sử dụng softmax phân cấp đã giúp cho thuật toán huấn luyện nhanh hơn so với softmax đầy đủ rất nhiều. 2.3.2 Mô hình GloVe Mô hình Glove học các véc-tơ biểu diễn từ dựa trên tần suất xuất hiện của từ. Xuất phát từ một ma trận đồng xuất hiện (co-occurrence matrix), nơi mà tần suất xuất hiện của từng cặp từ được lưu trữ trong đó. Và một tỉ số xác suất liên quan giữa một từ k với 26
  40. cặp từ i, j như sau: P(k|i) (2.15) P(k| j) trong đó P(k|i) là xác suất xuất hiện của từ k trong ngữ cảnh của từ i, tương tự với P(k| j). Công thức tính P(k|i) được định nghĩa như sau: X X P(k|i) = ik = ik (2.16) Xi ∑m Xim trong đó: Xik là số lần xuất hiện của từ k trong ngữ cảnh của từ i (hoặc ngược lại); Xi là số lần xuất hiện của từ i trong ngữ cảnh của toàn bộ các từ còn lại, ngoại trừ i. Mô hình GloVe giả thiết rằng độ tương tự ngữ nghĩa giữa hai từ i, j có thể được xác định thông qua độ tương tự ngữ nghĩa giữa từ k với mỗi từ i, j, những từ k có thể xác định ngữ nghĩa tốt nhất là những từ có tỉ số 2.15 lớn hơn hoặc bằng 1. Khởi nguồn từ tầm quan trọng của tỉ số 2.15, mô hình GloVe thực hiện bắt đầu bằng việc đi tìm một hàm F sao cho nó ánh xạ từ các vec-tơ từ trong không gian V chiều sang một giá trị tỉ lệ với tỉ số 2.15. Để xác định được hàm F là rất phức tạp. Do vậy, để đơn giản hóa, chúng ta có thể đưa nó về bài toán hồi quy với việc cực tiểu hóa hàm giá sau: V T 2 E = ∑ f (Xij)(wi w j + bi + b j − logXij) (2.17) i, j=1 trong đó: wi và w j là các véc-tơ từ, bi và b j là các độ lệch tương ứng, Xij là mục nhập tương ứng của cặp từ i, j trong ma trận đồng xuất hiện. Hàm f là một hàm trọng số (weighting function) được thêm vào để giảm bớt sự ảnh hưởng của các cặp từ xuất hiện quá thường xuyên, hàm này thỏa mãn 3 tính chất: (1) có giới hạn tại 0; (2) là hàm không giảm; (3) có giá trị nhỏ khi x rất lớn. Thực tế, có nhiều hàm số thỏa các tính chất trên, nhưng thông qua thực nghiệm nghiên cứu [58] lựa chọn được hàm số f như sau: 3 f (x) = min(1,(x/xmax) 4 ) Việc thực hiện cực tiểu hàm giá E để tìm ra các vec-tơ từ wi, w j có thể được thực hiện bằng nhiều phương pháp, như là bình phương tối thiểu (least square), phương pháp giảm độ dốc của véc-tơ đạo hàm (gradient descent). 2.3.3 Mô hình véc-tơ Paragraph Mô hình véc-tơ Paragraph do Lê Việt Quốc và các cộng sự [2] đề xuất dựa trên mô hình Word2Vec. Bên cạnh việc học biểu diễn từ, mô hình còn có thể học liên hợp cùng với mức biểu diễn cao hơn, như mức câu, mức đoạn văn, hoặc cả một văn bản. Thông 27
  41. Hình 2.5: Mô hình véc-tơ Paragraph học biểu diễn câu, đoạn hoặc cả văn bản [2] qua kết quả thực nghiệm, các tác giả đã chỉ ra rằng mô hình véc-tơ Paragraph đạt được kết quả thực hiện tốt hơn các mô hình trước đó trong bài toán phân loại văn bản và phân tích ngữ nghĩa. Các thuật toán phân loại truyền thống như SVMs (support vector machines) hay phân cụm như k-mean yêu cầu tập dữ liệu văn bản đầu vào biểu diễn dưới dạng các véc-tơ có độ dài cố định (fixed length vector). Các véc-tơ này thường được biểu diễn dựa trên các mô hình biểu diễn phổ biến, như bag-of-words và bag-of-n-grams. Trong đó, mô hình Bag-of-words có điểm yếu là không bắt được ngữ nghĩa của các từ, cũng như mối quan hệ giữ các từ. Mô hình Bag-of-n-grams chỉ xem xét được ngữ cảnh ngữ nghĩa giữa các từ ở mức ngắn (short context) và không tốt khi gặp loại dữ liệu thưa thớt và có thể tạo ra số chiều của véc-tơ biểu diễn là rất lớn. Trong mô hình véc-tơ Paragraph, các từ được ánh xạ từ các véc-tơ one-hot giống như mô hình Word2Vec. Nhưng khác là, đối với mỗi câu, đoạn văn hoặc cả văn bản cũng sẽ được kết nối tới một véc-tơ one-hot. Các véc-tơ từ được giả thiết nằm trong các cột của ma trận W, và các véc-tơ mỗi câu, đoạn văn/cả văn bản nằm trong các cột của ma trận D. So sánh với mô hình Word2Vec thì mô hình véc-tơ Paragraph có thay đổi là các véc- tơ biểu diễn câu, đoạn văn (hoặc cả văn bản, sau đây sẽ gọi chung là đoạn văn) được nối với các véc-tơ từ để dự đoán từ kế tiếp trong một ngữ cảnh của nó. Ngữ cảnh được cố định độ dài và lấy mẫu từ một cửa sổ trượt trên một câu và đoạn văn. Các véc-tơ câu và đoạn văn được chia sẻ cho tất cả các cửa sổ được tạo ra từ cùng một câu và đoạn văn, nhưng việc làm này không bao gồm toàn bộ các câu và đoạn văn. Ngược lại, véc-tơ từ được chia sẻ thông tin trên tất cả các câu và đoạn văn. Trong mô hình véc-tơ Paragraph, câu hoặc đoạn văn được xem như là một từ khác. Nó hoạt động như một bộ nhớ để ghi nhớ những gì còn thiếu trong ngữ cảnh hiện tại. Vì lý do này, mô hình Paragraph được gọi là mô hình bộ nhớ phân phối của câu và đoạn 28
  42. Hình 2.6: Minh họa mô hình túi từ phân phối của các véc-tơ Paragraph [2] văn (Distributed Memory Model of Paragraph Vectors (PV-DM)). Hình 2.5 là một minh họa của PV-DM. Tại mỗi bước trong việc huấn luyện, chúng ta có một ngữ cảnh có chiều dài cố định được lấy mẫu từ một đoạn văn ngẫu nhiên và được sử dụng để tính toán độ lệch lỗi để cập nhật lại các trọng số trong mô hình. Với N đoạn mỗi ánh xạ tới p chiều và M từ mỗi ánh xạ tới q chiều, mô hình này có N.p+M.q tham số (không bao gồm các tham số của hàm softmax được sử dụng trong tầng phân lớp ở đầu ra). Sau khi mô hình véc-tơ Paragraph đã được huấn luyện, các véc-tơ Paragraph (gồm các véc-tơ biểu diễn câu và đoạn văn) có thể được sử dụng như là các đặc trưng cho các đoạn văn trong bất kỳ công việc nào của lĩnh vực xử lý ngôn ngữ ngữ tự nhiên. Đối với một đoạn văn mới, để tính toán véc-tơ Paragraph biểu diễn cho nó (giả thiết rằng đoạn văn này chưa được tham gia trong pha huấn luyện trước đó) chúng ta cần phải thêm một cột véc-tơ mới trong ma trận D, sau đó các tham số của mô hình (gồm ma trận W, và ma trận trọng số softmax U và véc-tơ độ lệch b) được giữ cố định và chúng ta cần thực hiện tiếp các phép toán đạo hàm để cập nhật lại các véc-tơ trong ma trận D. Cuối cùng véc-tơ của đoạn văn mới cũng được sinh ra trong ma trận D. Một phiên bản đáng chú ý của mô hình PV-DM là mô hình túi từ phân phối (Dis- tributed Bag of Words version of Paragraph Vector (PV-DBOW)), nó thực hiện bỏ qua tất cả các từ ngữ cảnh trong các đoạn văn đầu vào, nó dự đoán từ bằng cách lấy mẫu ngẫu nhiên từ đoạn văn ở đầu ra. Trong thực tế, mỗi lần lặp lại trong thuật toán học giảm gradient ngẫu nhiên (tochastic gradient descent), chúng ta lấy mẫu một cửa sổ văn bản, sau đó lấy mẫu một từ ngẫu nhiên từ cửa sổ văn bản và tạo thành một nhiệm vụ phân lớp cho véc-tơ đoạn văn. Mô hình PV-DBOW được minh họa trong Hình 2.6. Trong thực nghiệm, mô hình PV-DM thực hiện cho kết quả tốt hơn so với mô hình PV-DBOW, nhưng khi kết hợp cả hai mô hình PV-DM và PV-DBOW kết quả thực hiện đạt được ở mức tốt nhất. Kỹ thuật softmax phân cấp được sử dụng cho các thuật toán huấn luyện nhưng dưới dạng là một cây Huffman nhị phân [86]. 29
  43. 2.3.4 Mô hình mạng nơ-ron tích chập CNN Mô hình mạng CNN lần đầu được giới thiệu vào năm 1988 bởi Lecun và các cộng sự [87]. CNN là một mô hình học sâu có giám sát, gồm một số tầng tích chập kết hợp với các hàm kích hoạt phi tuyến (nonlinear activation function) như ReLU hay Tanh để tạo ra thông tin trừu tượng hơn (abstract/higher-level) cho các tầng tiếp theo, từng tầng tích chập tương ứng với một vài bộ lọc (filter) tích chập được áp dụng học đặc trưng (feature) cho đối tượng đầu vào được tốt hơn. Trong phần này, đầu tiên chúng tôi trình bày về phép toán tích chập trên ma trận cho một câu đầu vào. Sau đó, để dễ minh họa mô hình CNN, chúng tôi trình bày mô hình phân lớp mức câu sử dụng CNN. Tích chập (Convolution) trong ma trận câu Trong lĩnh vực xử lý ngôn ngữ tự nhiên mức câu, khi áp dụng mô hình CNN thì công việc đầu tiên của mô hình mạng CNN phải thực hiện là phép toán tích chập trên ma trận câu. Giả sử chúng ta có một ma trận Amxn biểu diễn cho một câu gồm có m từ, từng hàng biểu diễn cho một véc-tơ từ - n chiều thuộc câu đó. Khi đó, về hình thức, chúng ta có thể xem tích chập như một cửa sổ trượt (sliding window) whxk áp dụng lên ma trận Amxn, điều kiện h < m. Hình 2.7 bên dưới minh họa cho một câu gồm 7 từ, kích thước véc-tơ từ là 5, có 6 loại cửa sổ trượt trên ma trận từ này, trong đó 2 loại cùng kích thước 2x5, 2 loại cùng kích thước 3x5 và 2 loại cùng kích thước 4x5. Để tạo ra ma trận kích thước 5x5, cửa sổ 2x5 trượt mỗi lần 2 dòng trên ma trận bên tay trái. Ma trận kích thước 3x5 được tạo bởi cửa sổ 3x5 trượt mỗi lần 3 dòng trên ma trận bên trái. Ma trận kích thước 2x5 được tạo bởi cửa sổ 4x5 trượt mỗi lần 4 dòng trên ma trận bên trái. 30
  44. Hình 2.7: Minh họa tích chập trong ma trận câu Cửa sổ trượt (sliding window) còn có tên gọi là nhân, là bộ lọc, hay bộ xác định đặc trưng ( kernel, filter hay feature detector). Trong Hình 2.7, ứng với một kích thước trượt chúng ta sử dụng một ma trận bộ lọc nhân từng thành phần tương ứng (element-wise) với ma trận câu bên trái. Giá trị đầu ra là tích của các thành phần này cộng lại. Kết quả tích chập của một cửa sổ trượt là một ma trận bên phải, nó được sinh ra từ việc trượt ma trận bộ lọc. Như vậy tương ứng với 6 ma trận bên phải là 6 ma trận bộ lọc (cụ thể là 2 ma trận bộ lọc 2x5, 2 ma trận bộ lọc 3x5 và 2 ma trận bộ lọc 4x5). Vấn đề xác định ma trận bộ lọc được xem là công việc trọng tâm trong mô hình mạng CNN, và nó được xác định trong quá trình huấn luyện mạng CNN. Mô hình phân lớp câu quan điểm sử dụng mạng tích chập CNN k Lấy xi ∈ R là một véc-tơ từ (word vector) - k chiều tương ứng với từ thứ i trong một câu, khi đó một câu với chiều dài n (một câu gồm n từ) được biểu diễn như sau: x1:n = x1 ⊕ x2 ⊕ ⊕ xn (2.18) với ⊕ là một phép toán nối. Trong trường hợp tổng quát, ký hiệu xi:i+ j tương ứng với phép nối của các từ: xi,xi+1, ,xi+ j. Một phép toán tích chập bao gồm một bộ lọc (filter) được biểu diễn bởi một véc-tơ trọng số w ∈ Rhk (Chú ý rằng)1, bộ lọc này được áp dụng 1Chú ý rằng, véc-tơ bộ lọc ở đoạn này giống ma trận bộ lọc được giới thiệu đoạn trên, nhưng nó là một véc-tơ vì nó nối h véc-tơ từ có kích thước k chiều lại với nhau. 31
  45. cho một cửa sổ gồm có h từ để sinh ra một đặc trưng (feature) mới. Một đặc trưng ci được sinh ra từ một của sổ có phép nối xi:i+h−1 là: ci = f (w.xi:i+h−1 + b) (2.19) Với b là độ lệch và f là một hàm phi tuyến, một số dạng hàm mạng CNN hay sử dụng eu−e−u như là hàm tanh: f (u) = tanh(u) = eu+e−u hoặc là hàm ReLU: f (u) = max(0,u). Bộ bộ lọc này được áp dụng cho từng cửa sổ từ trong câu {x1:h,x2:h, ,xn−h+1:n} để sinh ra một véc-tơ đặc trưng như sau: c = [c1,c2, ,cn−h+1] (2.20) Hình 2.8: Minh họa mô hình phân lớp câu sử dụng mạng CNN [3] Với c ∈ Rn−h+1. Tiếp theo, áp dụng phép toán “a max-overtime pooling” (Collobert và các cộng sự [88]) qua tất cả các đặc trưng và lấy đặc trưng có giá trị lớn nhất, cụ thể ∧ là c = max{c} như là một đặc trưng được chọn cho bộ lọc cụ thể này. Ý tưởng là bắt (capture) lấy đặc trưng tốt nhất trong số các đặc trưng được sinh ra từ một bộ lọc. Nội dung bên trên, chúng tôi đã mô tả công việc xử lý một đặc trưng được trích xuất từ một bộ lọc. Mô hình CNN cho một câu sử dụng nhiều bộ lọc (với kích thước từng cửa 32
  46. sổ được cho trước) để đạt được nhiều đặc trưng khác nhau. Các đặc trưng này tạo thành một lớp áp chót trong mạng CNN, lớp này được hiểu là một véc-tơ đặc trưng và véc-tơ này được sử dụng làm đầu vào cho một bộ phân lớp, một số bộ phân lớp mà chúng ta có thể lựa chọn như là Perceptron, mạng nơ ron hay SVM (Support Vector Machine). Hình 2.8, minh họa mô hình phân lớp câu sử dụng mạng tích chập CNN, bao gồm đầu vào là một ma trận câu “I like this movie very much !”, tại tầng chập được phân chia làm 3 vùng kích thước tương ứng là 2, 3, 4. Mỗi vùng gồm 2 ma trận bộ lọc, cụ thể là vùng thứ nhất gồm 2 ma trận bộ lọc kích thước 2x5, vùng thứ 2 gồm 2 ma trận kích thước 3x5, vùng thứ 3 gồm 2 ma trận kích thước 4x5. Mỗi ma trận bộ lọc này sinh ra một véc-tơ đặc trưng, 6 ma trận bộ lọc sẽ sinh ra 6 véc-tơ đăc trưng, thực hiện phép toán “a max-overtime pooling” trên mỗi véc-tơ đặc trưng thì trên mỗi véc-tơ đặc trưng chúng ta chọn ra được một đặc trưng (feature) tốt nhất. Tiếp đến chúng ta thực hiện nối đặc trưng trên mỗi vùng có kích thước ma trận bộ lọc ban đầu. Tiếp theo nữa, chúng ta thực hiện phép nối đặc trưng trên ba vùng riêng biệt (kích thước: 2,3,4) chúng ta được một véc-tơ đặc trưng (véc-tơ 6 chiều) tại tầng áp chót. Véc-tơ này làm đầu vào cho một bộ phân lớp câu. Bộ phân lớp có thể được lựa chọn như hồi quy logistic (Logistic Regression), SVM, hoặc có thể là một mạng nơ-ron gồm một vài tầng ẩn. Tùy thuộc vào bài toán cụ thể mà chúng ta có thể lựa chọn được bộ phân lớp phù hợp. 2.3.5 Mô hình véc-tơ kết hợp Mitchell và các cộng sự [89] đã sử dụng các luật kết hợp với các phép toán cộng và nhân véc-tơ biểu diễn từ để sinh ra mức biểu diễn tốt hơn, cho các mức cao hơn như mức câu, đoạn hoặc cả văn bản. Dựa trên các luật kết hợp véc-tơ [89], Hermann và các cộng sự [90] đã giới thiệu hai hàm kết hợp các véc-tơ biểu diễn từ, tên là ADD và BI cho học biểu diễn câu và văn bản. Hàm ADD thực hiện biểu diễn câu bằng cách cộng tất cả các véc-tơ biểu diễn từ lại với nhau, nhưng với hàm này mô hình học biểu diễn câu cũng như văn bản không thể bắt được thông tin ngữ nghĩa kết hợp giữa các từ. Hàm BI được thiết kế để bắt lấy thông tin giữa các cặp từ kết hợp với nhau, họ sử dụng một hàm phi tuyến tính (hàm tanh) thực hiện thông qua các cặp từ (bi-gram pairs). Cụ thể, ký hiệu x là một câu gồm n véc-tơ biểu diễn từ x1,x2, ,xn, kích cỡ số chiều của véc-tơ là m, thì hàm kết hợp BI được định nghĩa như sau: n v(x) = ∑ f (M [xi−1 + xi] + [b]) (2.21) i=1 với M ∈ Rm×m là ma trận trọng số tại mức câu, b ∈ Rm là véc-tơ độ lệch, cả M ∈ Rm×m và b ∈ Rm được học trong pha huấn luyện. là phép nhân thành phần với tổng của hai 33
  47. véc-tơ xi−1 và xi. f (.) là hàm phi tuyến tính được định nghĩa như sau: ey − e−y f (y) = tanh(y) = (2.22) ey + e−y Hình 2.9: Minh họa việc sử dung mô hình véc-tơ kết hợp cho biểu diễn mức câu Hình 2.9 là một minh họa việc sử dụng mô hình véc-tơ kết hợp cho biểu diễn mức câu. Chúng ta thấy rằng mô hình sử dụng hàm BI tương tự như một mô hình CNN với kích cỡ cửa sổ tích chập là 2, thực hiện trên từng cặp từ, nhưng đơn giản và linh hoạt hơn mô hình CNN khi nó không sử dụng các ma trận bộ lọc và các phép toán tổng hợp đặc trưng (max pooling operations) như trong mô hình CNN. 2.4 Kết luận và thảo luận Chương này luận án đã trình bày các mô hình học biểu diễn cơ sở cho mức từ, mức câu, mức đoạn/văn bản và hai mô hình đánh giá khía cạnh được xây dựng dựa trên phương pháp hồi quy xác xuất. Bên cạnh các mô hình học biểu diễn đã được trình bày, còn có các mô hình học biểu diễn hiệu quả khác được xây dựng dựa trên mạng bộ nhớ dài-ngắn LSTM (Long Short Term Memory networks), như trong nghiên cứu [24, 29, 30]. Tuy nhiên hầu hết các mô hình này xây dựng dựa trên mô hình LSTM đều cần sử dụng rất nhiều tham số [32], chi phí thời gian cho công việc huấn luyện mô hình là rất lớn. Ngoài ra, xây dựng mô hình khai thác kết hợp nhiều nguồn thông tin khác nhau (ví dụ: đa mức biểu diễn từ và ký tự) thì xây dựng mô hình dựa trên LSTM cũng không phù hợp như mô hình xây dựng dựa trên CNN. Đó là lý do, trong luận án của chúng tôi sử dụng hoặc liên quan đến các mô hình đã được trình bày trong chương này. 34
  48. Chương 3 Đề xuất mô hình dựa trên mạng nơ-ron xác định hạng và trọng số khía cạnh của thực thể Trong chương này, đầu tiên chúng tôi giới thiệu về hạng và trọng số khía cạnh của thực thể, xác định bài toán và các yêu cầu đặt ra cần giải quyết. Sau đó trình bày mô hình hóa hai bài toán: (1) xác định hạng và trọng số khía cạnh ẩn; (2) xác định trọng số khía cạnh chung. Tiếp theo, trình bày các mô hình đề xuất và các thực nghiệm, kết quả và đánh giá của các mô hình đề xuất này trên tập dữ liệu sản phẩm/dịch vụ được trích xuất từ hệ thống thực tế 1. 3.1 Giới thiệu Nội dung trong các bài bình luận/ý kiến đánh giá trên các trang mạng xã hội hay website thương mại điện tử chứa quan điểm đánh giá của người sử dụng đối với từng khía cạnh của sản phẩm/dịch vụ (gọi chung là thực thể) thông thường là khác nhau. Theo [1, 25, 33, 34] hai thông tin hữu ích về khía cạnh cần được xác định là hạng và trọng số khía cạnh. Hạng của một khía cạnh có thể là một số nguyên hoặc số thực, có giá trị trong khoảng từ 1 đến 5. Trọng số của một khía cạnh có giá trị trong khoảng từ 0 đến 1. Dựa trên hạng khía cạnh chúng ta sẽ biết được quan điểm người dùng đã đánh giá khía cạnh theo nghĩa là rất tiêu cực, hoặc tiêu cực mức trung bình, hoặc trung lập, hoặc tích cực, hoặc rất tích cực. Trong khi đó, thông tin trọng số khía cạnh sẽ cho chúng ta thấy được mức độ quan trọng của từng khía cạnh mà người dùng đã quan tâm tới nó. Nhiều nghiên cứu trước về xếp hạng khía cạnh [33, 34] và xác định trọng số khía 1www.tripadvisor.com 35
  49. cạnh [26,71] xem bài toán như là những bài toán phân lớp văn bản, yêu cầu dữ liệu huấn luyện được gán nhãn quan điểm khía cạnh. Mặc dù đã đạt được các kết quả tốt, nhưng việc gán nhãn quan điểm khía cạnh cho dữ liệu huấn luyện có thể tốn rất nhiều công sức của người làm dữ liệu. Để giải quyết vấn đề này, nghiên cứu [1, 25, 39, 40] coi hạng và trọng số khía cạnh của thực thể là ẩn. Nhằm ước lượng hạng và trọng số khía cạnh, họ đã đề xuất các mô hình dựa trên các phương pháp xác suất thống kê (hồi quy, mô hình chủ đề, phân phối Gaussian, ), với đầu vào là thông tin hạng chung (đánh giá chung) và nội dung văn bản của các bài bình luận/ý kiến đánh giá. Hạn chế chung của các mô hình xác suất là sử dụng túi từ (một bộ từ điển) để biểu diễn đặc trưng cho khía cạnh, nó có thể tạo ra các véc-tơ đặc trưng thưa và thiếu thông tin (thiếu các từ quan trọng) nếu bộ từ điển đó chỉ được xây dựng trên tập dữ liệu huấn luyện. Gần đây, các mô hình học biểu diễn Word2Vec [57], véc-tơ Paragraph [2] với kiến trúc được thiết kế dựa trên mạng nơ-ron nhân tạo có khả năng sinh ra được các véc-tơ đặc trưng số thực có số chiều nhỏ (thường là nhỏ hơn 600) đã khắc phục được cách biểu diễn véc-tơ đặc trưng truyền thống. Trong chương này, đầu tiên chúng tôi đề xuất mô hình mạng nơ-ron một lớp ẩn với giả thiết hạng khía cạnh ẩn tại tầng ẩn, trọng số khía cạnh ẩn là các tham trong mô hình. Đầu vào của mô hình là các véc-tơ biểu diễn khía cạnh được học tự động từ mô hình véc-tơ Paragraph [2]. Sau đó, chúng tôi đề xuất mô hình học biểu diễn đa tầng cho bài toán xác định hạng và trọng số khía cạnh ẩn, và một mô hình mạng nơ-ron cho công việc xác định trọng số khía cạnh chung. 3.2 Mô hình hóa bài toán 3.2.1 Bài toán xác định hạng và trọng số khía cạnh ẩn của thực thể Cho trước một tập văn bản D = {d1,d2, ,d|D|}, chứa quan điểm đánh giá về các khía cạnh của một tập thực thể. Từng văn bản đánh giá d được gán một hạng chung Od, hạng chung này xác nhận quan điểm đánh giá chung được đề cập trong d. Giả sử rằng hạng chung Od được sinh ra từ các đánh giá riêng trên các khía cạnh của thực thể. Cụ thể, khi quan sát thông thường, các khía cạnh này ảnh hưởng tới hạng chung của văn bản đánh giá d và sự ảnh hưởng này được thể hiện thông qua các trọng số khía cạnh tương ứng. Theo các nghiên cứu [1, 26, 39, 71], công thức ràng buộc giữa hạng khía cạnh và trọng số khía cạnh như sau: ∧ k Od = ∑ rdiαdi (3.1) i=1 Bài toán xác định hạng và trọng số khía cạnh ẩn của từng thực thể là bài toán giả 36
  50. thiết hạng khía cạnh rd và trọng số αd ẩn, chưa biết và làm thế nào chúng ta có thể xác định được các hạng khía cạnh cũng như các trọng số khía cạnh. Hình 3.1: Ví dụ: đầu vào, đầu ra của toán xác định hạng và trọng số khía cạnh ẩn Hình 3.1 là ví dụ: đầu vào, đầu ra của toán xác định hạng và trọng số khía cạnh ẩn cho văn bản đánh giá sản phẩm “iPhone 6s Plus 32 GB”. Hạng và trọng số ẩn xác định được tương ứng của các khía cạnh “Màn hình”, “Hệ điều hành”, “Camera sau”, “Camera trước”, “Bộ nhớ trong”, và “Dung lượng pin” là “4 sao (0.10)”, “5 sao (0.12)”, “4 sao (0.09)”, “3 sao (0.35)”, “4 sao (0.13)”, vào “3 sao (0.21)”. Giá trị trong dấu “(” và “)” là giá trị của trọng số khía cạnh. 3.2.2 Bài toán xác định trọng số khía cạnh chung của các thực thể Cho một tập văn bản đánh giá D = {d1,d2, ,d|D|} của một tập sản phẩm/dịch vụ cụ thể (ví dụ dịch vụ Khách sạn) bao gồm các quan điểm về sản phẩm này và các khía cạnh của nó, từng văn bản đánh giá d ∈ D được gán một hạng chung Od. Yêu cầu xác định trọng số khía cạnh α của các khía cạnh được thảo luận trong tập dữ liệu D. Bài toán này có ý nghĩa là xác định mức độ quan trọng chung của các khía cạnh mà các khách hàng đã thể hiện quan điểm trong tập dữ liệu D. Lưu ý là trong tập dữ liệu này các văn bản đánh giá cùng về một loại đối tượng (ví dụ như đối tượng khách sạn), mỗi văn bản đánh giá về một đối tượng cụ thể. Các đối tượng này có chung (share chung) danh sách các khía cạnh. Từ đó đặt ra vấn đề xây 37
  51. dựng mô hình xác định xem mức độ quan trọng của các khía cạnh của loại đối tượng đang đánh giá. Chúng ta mô hình hóa bài toán này bằng cách gán mỗi khía cạnh một trọng số (weight) thể hiện mức độ quan trọng và nhiệm vụ là đi tìm trọng số này. Hình 3.2: Ví dụ: đầu vào, đầu ra của toán xác định trọng số khía cạnh chung Hình 3.2 thể hiện ví dụ: đầu vào, đầu ra của bài toán xác định trọng số khía cạnh chung trên tập văn bản đánh giá của các sản phẩm iPhone. Trọng số khía cạnh chung của các khía cạnh “Màn hình”, “Hệ điều hành”, “Camera sau”, “Camera trước”, “Bộ nhớ trong”, và “Dung lượng pin” tương ứng là “0.23”, “0.19”, “0.24”, “0.02”, “0.01”, vào “0.31” 3.3 Phương pháp đề xuất Trong phần này luận án trình bày các mô hình đề xuất tương ứng cho các bài toán đã được mô hình hóa trong phần trên. 3.3.1 Xác định hạng và trọng số khía cạnh ẩn của thực thể sử dụng mô hình mạng nơ-ron một lớp ẩn Trong bài toán này, chúng ta có các văn bản đánh giá đã được gán nhãn hạng chung, tức là mỗi văn bản d đã được gán nhãn hạng đánh giá Od là quan điểm chung cho thực thể đề cập trong văn bản d. Chúng tôi sẽ đề xuất một mô hình, trong đó sẽ lấy đầu vào 38
  52. là văn bản d và đầu ra là Od, các tham số về trọng số và hạng khía cạnh sẽ được mô hình hóa đồng thời luôn vào mô hình này. Khi đó việc học mô hình sẽ giải quyết bài toán của chúng ta, tức là xác định giá trị cho trọng số và hạng khía cạnh. Hình 3.3: Các công việc cần giải quyết của bài toán xác định hạng và trọng số khía cạnh ẩn của thực thể Các công việc cần giải quyết được minh họa trong Hình 3.3. Gồm bốn công việc: (1) Tiền xử lý dữ liệu; (2) Phân đoạn khía cạnh; (3) Học biểu diễn khía cạnh; (4) Xác định hạng và trọng số khía cạnh. Trong đó: (1) Tiền xử lý dữ liệu có nhiệm vụ thực hiện: chuẩn hóa dữ liệu, tách câu, tách từ trong mỗi câu, loại bỏ từ dừng. Các công việc khác được trình bày như sau: Phân đoạn khía cạnh (Aspect Segmentation): Phân đoạn khía cạnh là công việc xác định khía cạnh mức câu, sau đó thu thập các câu có cùng nhãn khía cạnh lại với nhau, và chúng ta sẽ được các đoạn văn bản khía cạnh thảo luận cho từng văn bản trong tập dữ liệu dữ liệu đầu vào. Trong công việc này, luận án sử dụng một thuật toán lặp được xây dựng dựa trên kỹ thuật bootstrapping [1]. Xuất phát từ các tập từ hạt nhân T = {T1,T2, ,Tk} của k-khía cạnh. Trong mỗi bước lặp thuật toán sử dụng thống kê χ2 để lựa chọn số từ mới có giá trị χ2 thỏa mãn ngưỡng lựa chọn để mở rộng các tập từ hạt nhân. Thuật toán dừng khi không thể mở rộng thêm các từ hạt nhân hoặc đã lặp đủ lặp vòng so với ngưỡng lặp. 39
  53. Thuật toán phân đoạn khía cạnh được trình bày như sau: Thuật toán 2: : Thuật toán phân đoạn khía cạnh Đầu vào: Cho trước một tập văn bản đánh giá của một tập thực thể D = {d1,d2, ,dm}, các tập từ hạt nhân T = {T1,T2, ,Tk} của k-khía cạnh, tập từ điển V, ngưỡng lựa chọn từ p, ngưỡng vòng lặp I Bước 1: Tách mỗi văn bản thành các câu. Bước 2: Xác định tần số xuất hiện từ thể hiện khía cạnh của mỗi khía cạnh xuất hiện trong từng câu. Ký hiệu Count(i) – là tần số xuất hiện từ thể hiện của khía cạnh thứ i trong câu. Bước 3: Một câu được gán nhãn khía cạnh thứ i, nếu Count(i) có giá trị lớn nhất. Bước 4: Tính χ2 của từng từ (với điều kiện xuất hiện trong V). Bước 5: Xếp hạng từ theo giá trị χ2 và lựa chọn top p từ cho từng khía cạnh và đưa vào trong danh sách từ hạt nhân Ti của khía cạnh thứ i. Bước 6: Nếu dach sách các từ của các khía cạnh không thay đổi hoặc đã hết số lần lặp I thì thuật toán dừng, nếu không thì quay lại Bước 2. Đầu ra: Tất cả các câu trong mỗi văn bản được gán nhãn khía cạnh 2 Thống kê χ tính sự phụ thuộc của từ ω đối với khía cạnh Ai như công thức sau 2 2 C ∗ (C1C4 −C2C3) χ (ω,Ai) = (C1 +C3) ∗ (C2 +C4) ∗ (C1 +C2) ∗ (C3 +C4) - C1 Số lần xuất hiện của ω trong tất cả các câu gán nhãn được gán nhãn khía cạnh Ai. - C2 Số lần xuất hiện của ω trong tất cả các câu không được gán nhãn khía cạnh Ai. - C3 Số lượng câu được gán nhãn khía cạnh Ai nhưng không chứa từ ω. - C4 Số lượng câu không được gán nhãn khía cạnh Ai hoặc không chứa từ ω. - C Là tổng tất cả các từ xuất hiện trong tập dữ liệu D. Học biểu diễn khía cạnh: Không giống với các nghiên cứu trước đây, đặc trưng của khía cạnh được biểu diễn bằng một mô hình túi từ (Bag of words), không thể bắt được ngữ nghĩa giữa các từ hoặc giữa các từ với các khía cạnh. Luận án áp dụng mô hình véc-tơ Paragraph [2] để học biểu diễn cho các khía cạnh. Cụ thể, đối với từng văn bản d ∈ D, chúng ta nhóm tất cả các câu có cùng nhãn khía cạnh lại với nhau và coi nó như một đoạn văn bản của một khía cạnh cụ thể và luận án sẽ đạt được k- đoạn tương ứng với k-khía cạnh. Sau đó áp dụng mô hình véc-tơ Paragraph để học ma trận biểu diễn các khía cạnh Xd = (xd1,xd2, ,xdk) cho văn bản d. Theo ma trận Xd, các biểu diễn đặc trưng các khía cạnh của văn bản d được xác định. Xác định hạng và trọng số khía cạnh ẩn sử dụng mô hình mạng nơ-ron một lớp ẩn: 40
  54. Trong phần này, luận án trình bày mô hình đề xuất mới dựa trên mô hình mạng nơ-ron để xác định các hạng và trọng số khía cạnh ẩn cho từng văn bản đánh giá. Luận án giả thiết rằng cả trọng số khía cạnh và hạng khía cạnh ẩn trong mô hình mạng nơ-ron và chúng tôi gọi mô hình này là mô hình mạng nơ-ron xếp hạng ẩn (Latent Rating Neural Network Model). Kiến trúc mô hình LRNN được minh họa như trong Hình 3.4. Hình 3.4: Minh họa mô hình mạng nơ-ron LRNN xếp hạng ẩn Không giống với mô hình mạng nơ-ron thông thường, quá trình học mô hình LRNN là quá trình khai phá (xác định) hạng và trọng số khía cạnh ẩn cho từng thực thể tương ứng với văn bản đánh giá của nó. Ngoài ra, đối với một văn bản đánh giá đầu vào d thì k các tham số αd phải thỏa mãn điều kiện ∑ αdi = 1 và 0 ≤ αdi ≤ 1, điều này đã làm i=1 cho việc học mô hình LRNN phức tạp hơn rất nhiều so với mô hình mạng nơ-ron thông thường. So với mô hình quy đánh giá ẩn LRR của Wang và các cộng sự [1], được xây dựng dựa trên các hàm phân phối Gaussian thì mô hình LRNN sử dụng ít tham số hơn, và phù hợp cho việc mô hình hóa đánh giá các khía cạnh của thực thể hơn. Sau khi học biểu diễn đặc trưng các khía cạnh, các véc-tơ biểu diễn khía cạnh được sử dụng làm đầu vào cho mô hình LRNN. Ký hiệu wi = (wi1,wi2, ,win) là véc-tơ trọng số của khía cạnh Ai. Hạng rdi của văn bản đánh giá d dựa trên tổ hợp tuyến tính của n véc-tơ xdi và véc-tơ trọng số là rdi ∼ ∑ xdil.wil [1]. Cụ thể, luận án giả thiết rằng hạng l=1 khía cạnh rdi được sinh tại tầng ẩn của mô hình mạng nơ-ron và nó được tính bởi công thức: n rdi = sigm(∑ xdilwil + wi0) (3.2) l=1 −y với sigm(y) = 1/(1 + e ), wi0 là độ lệch 41
  55. Các trọng số khía cạnh của văn bản đánh giá d được giả thiết là trọng số giữa tầng ẩn và tầng đầu ra. Hạng chung được sinh tại đầu ra của mô hình và nó được tính dựa trên tổ hợp tuyến tính của ad và rd như sau: ∧ k Od = ∑ rdiαdi (3.3) i=1 k với điều kiện ∑ αdi = 1 , 0 ≤ αdi ≤ 1, i = 1, 2, . . . , k i=1 k ∧ Để hỗ trợ ∑ αdi = 1 và 0 ≤ αdi ≤ 1, chúng ta sử dụng trọng số khía cạnh giả αdi thay i=1 cho trọng số αdi, như biểu thức sau: ∧ exp(αdi) αdi = (3.4) k ∧ ∑ exp(αdl) l=1 ∧ k ∧ Biểu thức (2) bây giờ trở thành biểu thức như sau: O = r exp(αdi) d ∑ di k ∧ i=1 ∑ exp(αdl) l=1 Từng thành phần của trọng số trong θ được cập nhật tại thời điểm t + 1 theo biểu thức ∂E(θ) θ(t + 1) = θ(t) − η (3.5) ∂θ với η là hệ số học. Ký hiệu Od là giá trị đích của hạng chung trên văn bản đánh giá d, chúng ta có hàm lỗi (cross-entropy loss) cho văn bản đánh giá d như sau: ∧ ∧ Cd = −Od logOd −(1 − Od)log(1 − Od) (3.6) |D| Hàm lỗi (cross-entropy loss) cho tập dữ liệu D= {(Xd,Od)}d=1 được trình bày như sau: ∧ ∧ ∧ E(w,α) = ∑ Cd = − ∑ (Od logOd +(1 − Od)log(1 − Od)) (3.7) d∈D d∈D ∧ Để tránh học quá “over-fitting” và không mất tính tổng quát, hàm E(w,α) sử dụng thêm tham số chuẩn hóa như sau: ∧ ∧ k ∧ 1 2 E(w,α) = − ∑ (Od logOd +(1 − Od)log(1 − Od)) + λ ∑|wi| (3.8) d∈D 2 i=1 42
  56. n 2 2 với |wi| = ∑ (wil) , λ là tham số chuẩn hóa l=1 Ký hiệu W = [w]kxn là ma trận, trong đó từng hàng là một véc-tơ trọng số của một véc-tơ biểu diễn khía cạnh; w0 = (w01,w02, ,w0k) là véc-tơ độ lệch, với w0i là độ lệch của ∧ h ∧i khía cạnh Ai; α = α là ma trận trọng số khía cạnh giả, từng hàng là một véc-tơ |D|xk trọng số khía cạnh giả của một văn bản đánh giá; α = [α]|D|xk là một ma trận trọng số khía cạnh, từng hàng là một véc tơ trọng số khía cạnh của một văn bản đánh giá; R = [r]|D|xk là ma trận hạng khía cạnh, trong đó từng hàng là một véc-tơ trọng số khía cạnh của một văn bản đánh giá. ∧ ∧ Mục tiêu của luận án là xác định W, w0 và α để hàm E(w,α) đạt giá trị nhỏ nhất. Để giải quyết công việc này, thuật toán lan truyền ngược sẽ được sử dụng. ∧ ∧ Đạo hàm của hàm E(w,α) theo tham số Od là, ∧ ∂E(w,α) Od 1 − Od ∧ = −( ∧ − ∧ ) (3.9) ∂ Od Od 1 − Od ∧ ∧ ∧ ∧ ∧ ∂E(w,α) ∂E(w,α) ∂Od Đạo hàm của hàm E(w,α) theo tham số αdi là, ∧ = ∧ . ∧ ∂αdi ∂Od ∂αdi ∧ ∂E(w,α) k k = ∧ (∑ δ(i = l)αdi(1 − αdi)ri− ∑ δ(i 6= l)αdiαdlrdl) (3.10) ∂Od l=1 l=1 ( 1; if y = true với δ(y) = 0; if y = f alse ∧ ∧ ∧ ∧ ∂E(w,α) ∂E(w,α) ∂Od Đạo hàm của hàm E(w,α) theo tham số wil là, = ∧ . ∂wil ∂wil ∂Od  |D|  ∧   ∂E(w,α)  ∑ xdil;(1 ≤ i ≤ k)  = ∧ .αdi.rdi(1 − rdi). d=1 + λwil (3.11) ∂Od  1;(i = 0)  ∧ Tại thời điểm t = 0, khởi tạo ma trận W và ma trận trọng số khía cạnh giả α. Hai pha: lan truyền tiến và lan truyền ngược như sau: Pha 1: lan truyền tiến, hạng rdi của khía cạnh Ai trên văn bản đánh giá d tại thời điểm t tại tầng ẩn được tính theo biểu thức sau: n rdi(t) = sigm(∑ xdilwil(t) + wi0(t)) (3.12) l=1 ∧ Hạng chung Od của văn bản đánh giá d tại thời điểm t tại đầu ra của mô hình được tính 43
  57. bới biểu thức: ∧ k Od(t) = ∑ αdi(t).rdi(t) (3.13) i=1 Pha 2: lan truyền ngược, pha này có nhiệm vụ cập nhật lại các giá trị của các tham số, từng thành phần của véc-tơ trọng số wi và độ lệch wi0 được cập nhật tại thời điểm t + 1 theo biểu thức sau: wil(t + 1) = wil(t) + ∆wil(t) (3.14) ∧ ∂E(w,α)(t) where ∆wil(t) = −η , η ∈ (0,1) là hệ số học. ∂wil(t) ∧ Từng thành phần của véc-tơ trọng số αd được cập nhật tại thời điểm t + 1 theo biểu thức sau: ∧ ∧ ∧ αdi(t + 1) = αdi(t) + ∆αdi(t) (3.15) ∧ ∧ ∂E(w,α)(t) với ∆αdi(t) = −η ∧ ∂αdi(t) Thuật toán 3 trình bày các bước xử lý để xác định hạng và trọng số khía cạnh ẩn của thực thể. Thuật toán 3: : Thuật toán xác định hạng và trọng số khía cạnh ẩn của thực thể Đầu vào: Tập văn bản đánh giá của các thực thể D = {d1,d2, ,d|D|}, từng văn bản d ∈ D được gán một hạng chung Od, hệ số học η, ngưỡng lỗi ε, ngưỡng vòng lặp I và tham số chuẩn hóa λ ∧ Bước 0: t=0; khởi tạo W, α Bước 1: for iter=0 to I do for each d ∈ D do 1.1. Tính trọng số khía cạnh theo công thức 3.4; 1.2. Tính hạng khía cạnh tại thời điểm t tại tầng ẩn theo công thức 3.12; 1.3. Tính hạng chung tại thời điểm t tại tầng đầu ra theo công thức 3.13; endfor ∧ Cập nhật W và α tại thời điểm t+1 theo công thức 3.14 và 3.15; Bước 2: Dừng huấn luyện, bước 1 thực hiện lặp cho đến khi độ lệch lỗi ∧ 1 |D| ∑ Od − Od(t) nhỏ hơn ngưỡng lỗi hoặc Thuật toán đã lặp đủ I vòng; d∈D ∧ Đầu ra: W, α, α, R ∧ Sau khi xác định được W và α, đối với văn bản đánh giá d, hạng khía cạnh được tính 44