BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU -
NGUYỄN THÁI HUY
XÂY DỰNG CÔNG CỤ TỰ ĐỘNG ĐÁNH GIÁ SẢN PHẨM TRÊN WEBSITE THƯƠNG MẠI ĐIỆN TỬ
DỰA VÀO COMMENTS CỦA NGƯỜI DÙNG
LUẬN VĂN THẠC SĨ
Bà Rịa-Vũng Tàu, tháng 09 năm 2023
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU -
NGUYỄN THÁI HUY
XÂY DỰNG CÔNG CỤ TỰ ĐỘNG ĐÁNH GIÁ SẢN PHẨM TRÊN WEBSITE THƯƠNG MẠI ĐIỆN TỬ
DỰA VÀO COMMENTS CỦA NGƯỜI DÙNG
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ thông tin Mã ngành: 8480201
CÁN BỘ HƯỚNG DẪN KHOA HỌC:TS BÙI THỊ THU TRANG
Bà Rịa-Vũng Tàu, tháng 09 năm 2023
Trang 3LỜI CAM ĐOAN
Luận văn “Xây dựng công cụ tự động đánh giá sản phẩm trên website thương mại điện tử dựa vào comments của người dùng” là công trình nghiên
cứu của tôi Để hoàn thành luận văn này tôi được TS Bùi Thị Thu Trang tận tình hỗ trợ luôn đảm bảo không trùng với những đề tài của người khác Ngoài ra, trong luận văn của tôi nếu có phần dẫn giải hay kế thừa nội dung những vấn đề liên quan nào đó thì tôi cũng đã trích dẫn đầy đủ trong danh mục các tài liệu tham khảo
Tôi xin cam đoan
Bà Rịa - Vũng Tàu, ngày 01 tháng 09 năm 2023
Học viên thực hiện Luận văn
NGUYỄN THÁI HUY
Trang 4LỜI CÁM ƠN
Đầu tiên, tôi xin gửi lời cám ơn và bày tỏ lòng biết ơn rất sâu sắc tới TS Bùi Thị Thu Trang, người đã hướng dẫn rất tận tình chu đáo để tôi hoàn thành luận văn của mình
Tôi xin gửi lời cám ơn tới các Thầy Cô là giảng viên cũng như các Thầy Cô Viện Sau đại học và phát triển nguồn nhân lực của Trường Đại học Bà Rịa Vũng Tàu đã luôn tận tình trong việc hỗ trợ những điều kiện tốt nhất cho chúng tôi trong quá trình học tập cũng như trong quá trình thực hiện luận văn
Tôi xin gửi lời cám ơn tới các anh chị em của lớp MIT20K2 - Lớp thạc sĩ ngành Công nghệ thông tin đã luôn chia sẻ rất nhiệt tình những vấn đề trong học tập Cuối cùng, tôi xin gửi lời cám ơn tới những người trong gia đình, những người thân quen đã hết lòng ủng hộ, động viên giúp đỡ để tôi có điều kiện học tập và hoàn thành tốt khóa học thạc sĩ này
Trong luận văn, chắc hẳn sẽ không tránh khỏi những vấn đề thiếu sót Rất mong nhận được sự đóng góp ý kiến của Quý Thầy, Quý Cô cũng như sự chia sẻ của các anh chị em để luận văn được hoàn thiện hơn
Tôi xin chân thành cám ơn!
Trang 5MỤC LỤC
LỜI MỞ ĐẦU 1
1.Đặt vấn đề 1
2.Tính cấp thiết của đề tài 1
3.Đối tượng nghiên cứu 2
4.Phạm vi nghiên cứu 3
5.Mục tiêu của đề tài 3
6.Phương pháp luận và phương pháp nghiên cứu 3
7.Cấu trúc luận văn 4
Tổng quan về các phương pháp biểu diễn văn bản 6
1.1 Tổng quan về khai phá văn bản 6
1.2 Tổng quan về bài toán phân lớp văn bản 7
Bài toán phân lớp văn bản có giám sát 7
Tổng quan về các nghiên cứu của bài toán phân lớp văn bản có liên quan đến đề tài 8
1.3 Tổng quan về các phương pháp biểu diễn văn bản 12
Một số khái niệm dùng trong luận văn 12
Một số phương pháp đánh trọng số từ khóa 12
Một số phương pháp biểu diễn văn bản 13
Kỹ thuật tiền xử lý dữ liệu dạng văn bản tiếng việt và thuật toán máy học để xây dựng mô hình đánh giá sản phẩm 18
2.1 Kỹ thuật tiền xử lý dữ liệu dạng văn bản tiếng Việt 18
Các đơn vị chủ yếu trong xử lý văn bản 18
Những kiểu quan hệ chủ yếu trong ngôn ngữ 18
Một số đặc điểm của văn bản tiếng Việt 19
Các bước tiền xử lý dữ liệu văn bản tiếng Việt 20
Phương pháp tách từ trong tiếng Việt 21
Trang 62.2 Tìm hiệu về thuật tốn Nạve Bayes và SVM trong bài tốn phân
lớp văn bản 22
Thuật tốn Nạve Bayes 22
Thuật tốn Support Vector Machine 26
Xây dựng mơ hình đánh giá sản phẩm 34
3.1 Quy trình tạo lập tập dữ liệu từ sàn thương mại điện tử Lazada phục vụ việc xây dựng mơ hình đánh giá sản phẩm 34
3.2 Thu thập dữ liệu từ website https://www.lazada.vn 34
3.3 Gán nhãn văn bản từ tập dữ liệu thu thập được và tiền xử lý 36
Thực nghiệm và đánh giá mơ hình đánh giá sản phẩm 41
4.1 Kết quả thu thập dữ liệu phản hồi 41
4.2 Kết quả thực nghiệm mơ hình với giải thuật Nạve Bayes 42
Sử dụng mơ hình biểu diễn văn bản Boolean 42
Sử dụng mơ hình biểu diễn văn bản BoW 43
Sử dụng mơ hình biểu diễn văn bản TF 45
Sử dụng mơ hình biểu diễn văn bản TF*IDF 46
Đánh giá tỉ lệ chính xác và thời gian giữa các mơ hình dựa trên các Nạve Bayes-Kernel 48
Đánh giá tỉ lệ chính xác và thời gian giữa các mơ hình dựa trên các mơ hình biểu diễn văn bản 49
Đánh giá tỉ lệ chính xác và thời gian giữa các mơ hình dựa trên các kiểu tách từ 50
Trang 74.3 Thực nghiệm mô hình với giải thuật SVM 51
Sử dụng mô hình biểu diễn văn bản Boolean 51
Sử dụng mô hình biểu diễn văn bản BoW 52
Sử dụng mô hình biểu diễn văn bản TF 53
Sử dụng mô hình biểu diễn văn bản TF*IDF 55
Đánh giá tỉ lệ chính xác và thời gian giữa các mô hình dựa trên các hàm nhân 57
Đánh giá tỉ lệ chính xác và thời gian giữa các mô hình dựa trên các mô hình biểu diễn văn bản 58
Đánh giá tỉ lệ chính xác và thời gian giữa các mô hình dựa trên các kiểu tách từ 59
4.4 Tổng hợp kết quả, đưa ra một số kết luận và đề xuất 60
Tổng hợp kết quả so sánh giữa các giải thuật, mô hình biểu diễn văn bản, kiểu tách từ 60
Kết luận và một số đề xuất 61
4.5 Một số giao diện chương trình Demo 62
Giao diện Crawl phản hồi của khách hàng về một sản phẩm 62
Giao diện về quá trình tiền xử lý văn bản 63
Giao diện tạo và xem danh sách từ vựng ứng với mỗi kiểu tách từ (0, 1, 2-gram) 65
Huấn luyện và đánh giá mô hình 65
Kết quả đánh giá sản phẩm tự động 66
KẾT LUẬN 67
4.6 Một số kết quả đạt được 67
4.7 Một số tồn tại và hướng phát triển 68
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 72
Trang 8DANH MỤC HÌNH VẼ
Hình 1: Minh họa Hyperlane 27
Hình 2: Minh họa siêu phẳng [20] 28
Hình 3: Minh họa tách siêu phẳng [20] 28
Hình 4: Minh họa có nhiều siêu phẳng [20] 29
Hình 5: Support Vectors 30
Hình 6: Khoảng cách tới siêu phẳng 30
Hình 7: Minh họa Soft Margin Classifier [20] 31
Hình 8: Phản hồi của sản phẩm 37
Hình 9: Phản hồi chứa emoji 38
Hình 10: Xây dựng mô hình đánh giá sản phẩm tự động 40
Hình 11: Giao diện Crawl phản hồi của khách hàng về một sản phẩm 62
Hình 12: Kết quả xóa kí tự đặc biệt 63
Hình 13: Kết quả tách từ kiểu 0-gram 63
Hình 14: Kết quả tách từ kiểu 1-gram 64
Hình 15: Kết quả tách từ kiểu 2-gram 64
Hình 16: Tạo và xem danh sách từ vựng 65
Hình 17: Huấn luyện và đánh giá mô hình 65
Hình 18: Đánh giá sản phẩm tự động dựa trên phản hồi 66
Trang 95 Acc-Test Độ chính xác trên tập kiểm tra
6 Acc-Train Độ chính xác trên tập huấn luyện
7 Acc_Avg Độ chính xác trung bình của Acc-Train và Acc-Test
8 Boolean Mô hình biểu diễn văn bản dạng nhị phân
9 BoW Bag of Word - Túi từ
10 IDF Inverse Document Frequency
11 TF-IDF Term Frequency - Inverse Document Frequency
13 FN False Negative - Âm tính thực sự
14 TN True Negative - Âm tính sai
15 FP False Positive - Dương tính giả
16 TP True Positive - Dương tính thực sự
Trang 10DANH MỤC BẢNG
Bảng 1: Kết quả tách từ ứng với các mô hình N-gram 15
Bảng 2: Cách tính TF, IDF, TF-IDF 16
Bảng 3: Dữ liệu điều kiện thời tiết -Chơi Gold [19] 23
Bảng 4: Tính xác suất với bộ dữ liệu giả định 25
Bảng 5: Các chủ đề dùng thu thập dữ liệu 34
Bảng 6: Bảng kết quả danh sách từ vựng 39
Bảng 7: Kết quả dữ liệu phục vụ quá trình tạo và đánh giá mô hình 41
Bảng 8: So sánh kết quả giữa các NB-Kernel dựa trên Boolean-0_gram 42
Bảng 9: So sánh kết quả giữa các NB-Kernel dựa trên Boolean-1_gram 42
Bảng 10: So sánh kết quả giữa các NB-Kernel dựa trên Boolean-2_gram 43
Bảng 11: So sánh kết quả giữa các NB-Kernel dựa trên BoW-0_gram 43
Bảng 12: So sánh kết quả giữa các NB-Kernel dựa trên BoW-1_gram 44
Bảng 13: So sánh kết quả giữa các NB-Kernel dựa trên BoW-2_gram 44
Bảng 14: So sánh kết quả giữa các NB-Kernel dựa trên TF-0_gram 45
Bảng 15: So sánh kết quả giữa các NB-Kernel dựa trên TF-1_gram 45
Bảng 16: So sánh kết quả giữa các NB-Kernel dựa trên TF-2_gram 46
Bảng 17: So sánh kết quả giữa các NB-Kernel dựa trên TF.IDF-0_gram 46
Bảng 18: So sánh kết quả giữa các NB-Kernel dựa trên TF.IDF-1_gram 47
Bảng 19: So sánh kết quả giữa các NB-Kernel dựa trên TF.IDF-2_gram 47
Bảng 20: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên Kernel 48
NB-Bảng 21: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên các mô hình biểu diễn văn bản-NB 49
Trang 11Bảng 22: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên các kiểu
Bảng 27: So sánh kết quả giữa các SVM-Kernel dựa trên BoW-1_gram 53
Bảng 28: So sánh kết quả giữa các SVM-Kernel dựa trên BoW-2_gram 53
Bảng 29: So sánh kết quả giữa các SVM-Kernel dựa trên TF-0_gram 54
Bảng 30: So sánh kết quả giữa các SVM-Kernel dựa trên TF-1_gram 54
Bảng 31: So sánh kết quả giữa các SVM-Kernel dựa trên TF-2_gram 55
Bảng 32: So sánh kết quả giữa các SVM-Kernel dựa trên TF.IDF-0_gram 55
Bảng 33: So sánh kết quả giữa các SVM-Kernel dựa trên TF.IDF-1_gram 56
Bảng 34: So sánh kết quả giữa các SVM-Kernel dựa trên TF.IDF-2_gram 56
Bảng 35: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên Kernel 57
SVM-Bảng 36: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên các mơ hình biểu diễn văn bản-SVM 58
Bảng 37: So sánh giá trị trung bình về độ chính xác, thời gian dựa trên các kiểu tách từ-SVM 59
Bảng 38: So sánh tổng hợp giữa 2 thuật tốn Nạve bayes và SVM 60
Bảng 39: So sánh tổng hợp giữa các mơ hình biểu diễn văn bản 60
Trang 12LỜI MỞ ĐẦU 1 Đặt vấn đề
Trong những năm gần đây, người dân Việt Nam đã thay đổi rất nhiều về cách thức mua bán hàng hóa, chuyển dần từ mua bán trực tiếp sang mua bán trực tuyến Đặc biệt từ sau ngày 23/1/2020, thế giới chứng kiến đợt phong tỏa đầu tiên do Covid-19 có hiệu lực tại thành phố Vũ Hán của Trung Quốc Dịch bệnh đã lây lan toàn cầu và làm thiệt hại kinh tế cũng như làm thay đổi cách thức sinh hoạt, mua bán trao đổi hàng hóa trên toàn thế giới nói chung và Việt Nam nói riêng “Từ khảo sát khoảng 16.700 người tiêu dùng kỹ thuật số và nhân sự cấp C tại 6 quốc gia Đông Nam Á, trong đó có 3.579 người đến từ Việt Nam của Facebook và Bain & Company, cho thấy chỉ riêng tại Việt Nam, cứ 7 trong số 10 người tiêu dùng đều được tiếp cận kỹ thuật số Báo cáo này cũng dự kiến Việt Nam sẽ có 53 triệu người tiêu dùng số vào cuối năm 2021 Số danh mục hàng hóa được người mua sắm trực tuyến Việt Nam mua trong năm nay đã tăng 50% so với năm 2020, trong khi số lượng cửa hàng trực tuyến tại Việt Nam cũng tăng 40% so với cùng kỳ năm ngoái, nhờ đó tổng doanh số bán lẻ trực tuyến trên toàn quốc tăng gấp 1,5 lần” [1] Song hành với việc số lượng mua hàng trực tuyến tăng cao thì tệ nạn lừa đảo trực tuyến cũng ngày một tăng “Theo thống kê của Cục An ninh mạng và Phòng chống tội phạm công nghệ cao, Bộ Công an, trong năm 2021, cả nước xảy ra gần 2.500 vụ lừa đảo trên không gian mạng, trong đó có hơn 520 vụ đối tượng giả danh cơ quan tư pháp để lừa đảo, chiếm đoạt tài sản của người dân.” [2]
2 Tính cấp thiết của đề tài
Thực tế hiện nay, việc lựa chọn và mua hàng trực tuyến thường bắt gặp một số cách thức mà người mua sử dụng trong quá trình mua hàng đó là: dựa theo cảm tính, dựa vào hình ảnh và những lời quảng cáo về món hàng, ưu
Trang 13tiên chọn mua những mặt hàng của các cửa hàng trực tuyến mà cĩ những đánh giá, nhận xét (comments) tích cực từ những khách hàng đã mua trước đây để hạn chế tối đa việc mua phải hàng nhái, hàng kém chất lượng, Dựa vào những phản hồi đánh giá của người mua hàng trước đĩ là một kênh chứa thơng tin hết sức quan trọng trong việc lựa chọn được những mặt hàng cĩ chất lượng sản phẩm tốt
Việc nhiều người mua hàng trực tuyến để lại những phản hồi tốt hoặc xấu về mĩn hàng đã mua, cùng một mặt hàng cĩ thể cĩ nhiều người để lại phản hồi đánh giá là cơ sở quan trọng để chúng ta xây dựng cơng cụ cĩ khả năng đánh giá sản phẩm Cơng cụ tự động này dựa trên những kỹ thuật máy học sẽ hỗ trợ người dùng cĩ thêm cơ sở trong việc lựa chọn và mua hàng trực tuyến
Vì vậy, việc xây dựng cơng cụ đánh giá sản phẩm trên website thương mại điện tử cĩ tính thiết thực và tính khả thi cao Từ kết quả của đề tài này sẽ đề xuất hướng ứng dụng và phát triển cơng cụ áp dụng vào điều kiện thực tế hiện nay
3 Đối tượng nghiên cứu
Các vấn đề liên quan đến thu thập dữ liệu trên website, xử lý ngơn ngữ tự nhiên, phân lớp văn bản sử dụng kỹ thuật máy học, cụ thể:
Các kỹ thuật bĩc tách và thu thập dữ liệu phản hồi của người mua hàng trên các website thương mại điện tử;
Kỹ thuật tiền xử lý văn bản chẳng hạn như: loại bỏ từ stopword, kỹ thuật tách từ,…
Thuật tốn máy học sử dụng: giải thuật Nạve Bayes, giải thuật Support Vector Machine (SVM) Đánh giá và đề xuất thuật tốn tốt nhất cho mơ hình giải quyết bài tốn
Trang 144 Phạm vi nghiên cứu
Các phản hồi (comments) về đánh giá sản phẩm trên website thương mại điện tử https://www.lazada.vn/
5 Mục tiêu của đề tài
- Mục tiêu tổng quát: Xây dựng cơng cụ đánh giá sản phẩm trên website
thương mại điện https://www.lazada.vn/ dựa trên các phản hồi về các sản phẩm của người dùng trên website
- Mục tiêu cụ thể:
Vận dụng được các thư viện sẵn cĩ của ngơn ngữ lập trình Python trong việc bĩc tách được các phản hồi về các sản phẩm trên website https://www.lazada.vn;
Áp dụng thuật tốn Nạve Bayes, SVM trong việc xây dựng mơ hình cho phép máy tính cĩ khả năng đánh giá được sản phẩm dựa trên các phản hồi của người dùng
Xây dựng cơng cụ cĩ khả năng tự động đánh giá sản phẩm dựa vào phản hồi của người dùng trên website https://www.lazada.vn trong thời gian thực
6 Phương pháp luận và phương pháp nghiên cứu Phương pháp luận
Tìm hiểu về kỹ thuật thu thập dữ liệu (crawl) trên website, kỹ thuật về xử lý ngơn ngữ tự nhiên, gán nhãn văn bản, tiền xử lý văn bản (loại bỏ stopword), các phương pháp biểu diễn văn bản (chẳng hạn như mơ hình túi từ-Bag of N-grams, mơ hình TF-IDF, mơ hình chủ đề hay các cách cải tiến như các mơ hình Word2Vec, GloVe, FastTex (Sarkar, 2019)) Trong đề tài này sử dụng mơ hình túi từ-Bag of N-
grams, mơ hình TF-IDF để thực nghiệm
Nghiên cứu và áp dụng giải thuật máy học Nạve Bayes, SVM
Trang 15Phương pháp nghiên cứu bằng thực nghiệm
Xây dựng chương trình áp dụng giải thuật Nạve Bayes, SVM trong việc đánh giá sản phẩm trên website thương mại điện tử Sau đĩ thực hiện đánh giá kết quả thực nghiệm, tính hiệu quả chương trình bằng tập dữ liệu thu thập và được gán nhãn trực tiếp từ website: https://www.lazada.vn
7 Cấu trúc luận văn
Luận văn cĩ cấu trúc gồm 4 chương, cụ thể như sau:
Chương 1 Tổng quan về các phương pháp biểu diễn văn bản
Giới thiệu tổng quan về khai phá văn bản;
Một số khái niệm liên quan đến khai phá văn bản;
Tổng quan về bài tốn phân lớp văn bản;
Tổng quan về phương pháp biểu diễn văn bản
Chương 2 Kỹ thuật tiền xử lý dữ liệu dạng văn bản tiếng Việt và thuật tốn máy học để xây dựng mơ hình đánh giá sản phẩm
Giới thiệu về các kỹ thuật tiền xử lý văn bản;
Tìm hiểu về thuật tốn SVM và Nạve Bayes
Chương 3 Xây dựng mơ hình đánh giá sản phẩm
Trình bày quy trình về quá trình thu thập và tạo lập tập dữ liệu phục vụ cho huấn luyện và đánh giá mơ hình bài tốn;
Trình bày kết quả dữ liệu thu được và kết quả gán nhãn, phân chia dữ liệu cho việc huấn luyện và đánh giá mơ hình;
Trình bày kết quả danh sách từ vựng;
Sơ đồ hĩa quy trình tạo lập mơ hình giải quyết bài tốn của đề tài
Trang 16Chương 4 Thực nghiệm và đánh giá mô hình đánh giá sản phẩm
Báo cáo các kết quả thực nghiệm huấn luyện và đánh giá mô hình trong việc kết hợp giữa các mô hình biểu diễn văn bản, kiểu tách từ và giải thuật để tạo lập ra các mô hình của bài toán
So sánh kết quả giữa các mô hình liên quan đến thuật toán, mô hình biểu diễn văn bản, phương pháp tách từ để từ đó chọn ra mô hình tối ưu nhất để làm đầu vào của bài toán đánh giá sản phẩm tự động;
Giới thiệu về một số giao diện của chương trình cùng kết quả thực nghiệm trên giao diện khi xử lý các quy trình của mô hình bài toán
Trang 17Tổng quan về các phương pháp biểu diễn văn bản
1.1 Tổng quan về khai phá văn bản
Một số khái niệm liên quan đến khai phá văn bản Khái niệm khai phá dữ liệu:
Khai phá dữ liệu (data mining) là quá trình tính toán để tìm ra các mẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liên ngành của khoa học máy tính [3]
Khái niệm khai phá dữ liệu văn bản:
Khai phá văn bản (hay còn gọi là khai thác văn bản, tiếng Anh: text mining hoặc text data mining) là một quá trình xử lý và trích xuất thông tin nằm trong văn bản, quá trình này là một phần của việc phân tích văn bản trong khai phá dữ liệu [4]
Học máy không có giám sát:
Học không có giám sát (tiếng Anh: unsupervised learning) là một phương pháp của ngành học máy nhằm tìm ra một mô hình mà phù hợp với các quan sát Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập Học không có giám sát thường xem các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó [5]
Học máy có giám sát:
Học có giám sát là một kĩ thuật của ngành học máy để xây dựng một hàm (function) từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp đối tượng đầu vào (thường dạng vector), và đầu ra mong muốn Đầu ra của một
Trang 18hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp lý" [6]
1.2 Tổng quan về bài toán phân lớp văn bản Bài toán phân lớp văn bản có giám sát Phát biểu bài toán phân lớp văn bản:
Trong phân loại văn bản, chúng ta được cung cấp một không gian tài liệu 𝕏 và tập hợp cố định của các nhãn (danh mục) ℂ = {𝑐1, 𝑐2, … 𝑐𝑘} Với tài liệu 𝑑 ∈ 𝕏 sẽ được gán nhãn 𝑐 ∈ ℂ
Cho trước một tập huấn luyện (training) 𝕋 ⊂ 𝕏 gồm 𝑁 tài liệu, 𝕋 = {𝑑1, 𝑑2, … , 𝑑𝑁}, với tài liệu 𝑑𝑖 ∈ 𝕋 được gán nhãn 𝑐𝑖, hay nói cách khác: < 𝑑𝑖, 𝑐𝑖 >∈ 𝕋 × ℂ
Trang 19 Tập hợp nhãn ℂ = {0, 1} trong đĩ 0, 1 tương ứng với lớp “tốt”, “xấu”
Tập huấn luyện 𝕋 ⊂ 𝕏 thu thập được 𝑁 = 3037 phản hồi gồm cả phản hồi “tốt” và “xấu”;
Yêu cầu: Cho trước một sản phẩm 𝑆𝑃 cĩ 𝑘 phản hồi {𝑝1, 𝑝2, … , 𝑝𝑘}, sử dụng các giải thuật học máy để xây dựng một ánh xạ 𝛾: 𝕏 ↦ ℂ từ đĩ tìm ra giá trị 𝛾(𝑝𝑖) ∈ ℂ={0,1} Với tập phản hồi {𝑝1, 𝑝2, … , 𝑝𝑘} ta sẽ thu được tập phân lớp tương ứng là 𝑅 = {𝛾(𝑝1), 𝛾(𝑝2), … , 𝛾(𝑝𝑘)} Gọi 𝑘1, 𝑘2 (𝑘1 +𝑘2 = 𝑘) tương ứng với số lượng phản hồi cĩ giá của hàm 𝛾(𝑝𝑖) cĩ giá trị bằng 0, 1 Kết luận của bài tốn là sẽ đưa ra lời khuyên cho người dùng cĩ nên mua sản phẩm 𝑆𝑃 này hay khơng dựa vào tỉ lệ của hai giá trị 𝑘1, 𝑘2
Tổng quan về các nghiên cứu của bài tốn phân lớp văn bản cĩ liên quan đến đề tài
1.2.2.1 Các nghiên cứu trong nước
Trần Thị Lan Hương, 2012, Luận văn thạc sĩ “Nghiên cứu phân lớp tự động văn bản báo chí tiếng Việt về tài nguyên và mơi trường” sử dụng giải thuật K-Nearest Neighbors (KNN) để giải quyết bài tốn phân lớp văn bản báo chí tiếng Việt về tài nguyên và mơi trường với tỉ lệ chính xác về phân lớp là 94% [8]
Nguyễn Thị Lan, 2013, Luận văn thạc sĩ “Nghiên cứu thuật tốn học máy SVM và ứng dụng trong bài tốn khai phá ý kiến phản hồi của khách hàng trên website”, Học Viện Bưu Chính Viễn Thơng, với độ chính xác 92% [9]
Đỗ Hồng Đạt, 2015, Luận văn thạc sĩ “Phân loại cảm xúc người dùng trong mạng xã hội”, Học viện cơng nghệ bưu chính viễn thơng, dùng hai cách trích chọn đặc trưng n-grams, mơ hình khơng gian Vector (Vector Space Model) và hai bộ phân loại SVM và Nạve Bayes của cơng cụ Weka để tiến hành thực nghiệm Dữ liệu thực nghiệm: 1034 bình luận dùng để huấn luyện
Trang 20(512 bình luận cảm xúc tích cực và 512 bình luận với cảm xúc tiêu cực) với độ chính xác 95% Hạn chế của đề tài này là chưa sử dụng kỹ thuật tách từ đơn/từ ghép trong Tiếng Việt, mới chỉ tách từ bằng phân cách bằng kí tự trắng [10]
Nguyễn Đặng Lập Bằng, Nguyễn Văn Hồ, Hồ Trung Thành, 2020 trong bài báo “Mơ hình khai phá ý kiến và phân tích cảm xúc khách hàng trực tuyến trong ngành thực phẩm” đăng tại tạp chí Khoa học Đại học Mở Thành phố Hồ Chí Minh đã cơng bố mơ hình với độ chính xác đạt 90% [11]
1.2.2.2 Các nghiên cứu trên thế giới
Moazzam Ali1, Vol 12, No 5, 2021, (IJACSA) International Journal of Advanced Computer Science and Applications, trong bài báo “Customer Opinion Mining by Comments Classification using Machine Learning” cĩ thể dịch là “Phân loại ý kiến khách hàng bằng nhận xét sử dụng máy học” tác giả đã huấn luyện (training) với tập dữ liệu là 2400 comments và kiểm tra (testing) với tập dữ liệu 1600 comments sử dụng kỹ thuật tách nội dung của một comment thành các nhĩm K từ (trong đĩ thực nghiệm với K=1, 2, 3, 4) và so sánh kết quả phân lớp của 3 giải thuật: SVM, Nạve Bayes, KNN Kết quả thu được như sau: phân lớp SVM tốt nhất với độ chính xác 71.11% (K=1) và 82.32% (K=2), Nạve Bayes cho kết quả với độ chính xác tốt thứ 2 trong đĩ tốt nhất là 73.68% với K=2, cịn KNN kết quả phân lớp kém nhất [12]
Abinash Tripathy, 2015, bài báo “Classification of Sentimental Reviews Using Machine Learning Techniques” cĩ thể dịch “Phân loại đánh giá tình cảm dựa trên cơng nghệ máy học” tác giả sử dụng giải thuật SVM và Nạve Bayes để phân loại với tập dữ liệu huấn luyện là gồm 1000 mẫu gán nhãn tích cực và 1000 gán nhãn tiêu cực Kết quả thu được là trên giải
Trang 21thuật Nạve Bayes với độ chính xác là 89.53% trong khi đĩ độ chính xác của giải thuật SVM là 94.06% [13]
R.Murugeswari; G.Ramasakth, 2021, bài báo “Conceptual Analysis of Product Evaluations Using Deep Learning” cĩ thể dịch “Phân tích khái niệm đánh giá sản phẩm bằng cách sử dụng Deep Learning”, tác giả đã sử dụng một tập dữ liệu thương mại điện tử cụ thể cĩ tên là Flipkart và phân loại các nhận xét bằng cách sử dụng một số bộ phân loại cụ thể là SVM, Guassian Nạve Bayes, Neural Network Classifier, Multilayer Perceptron (MLP) Trong đĩ phân loại Multilayer Perceptron (MLP) cho thấy độ chính xác tốt nhất so với các loại khác và độ chính xác là 99.94% [14]
1.2.2.3 Những ứng dụng thực tế của bài tốn phân lớp văn bản Dự đốn hành vi của khách hàng (Customer behavior prediction):
Khách hàng cĩ thể được phân loại thành các danh mục khác nhau dựa trên mơ hình mua hàng của họ, mơ hình duyệt cửa hàng web, v.v Ví dụ, các mơ hình phân loại cĩ thể được sử dụng để xác định xem khách hàng cĩ khả năng mua nhiều mặt hàng hơn hay khơng Nếu mơ hình phân loại dự đốn khả năng họ sắp mua nhiều hơn, thì người bán hàng cĩ thể muốn gửi cho họ các khuyến mại và giảm giá tương ứng Hoặc nếu đã xác định được rằng họ cĩ thể sẽ sớm bỏ thĩi quen mua hàng, cĩ thể lưu lại thĩi quen mua sắm sau này bằng cách cung cấp thơng tin của họ [15]
Phân loại tài liệu (Document classification): Một mơ hình phân loại
tài liệu theo các danh mục khác nhau Trong trường hợp này, mơ hình phân loại cĩ thể được coi như một chức năng ánh xạ từ tài liệu sang nhãn danh mục Các thuật tốn khác nhau cĩ thể được sử dụng để phân loại tài liệu như: bộ phân loại Nạve Bayes, Máy vector hỗ trợ (SVM) hoặc các mơ hình Mạng thần kinh Các thuật tốn học sâu như Deep Boltzmann Machines (DBM),
Trang 22Deep Belief Networks (DBN) và Stacked Autoencoders (SAE) cung cấp kết quả phân loại hiện đại trên các bộ dữ liệu phân loại tài liệu khác nhau
Lọc thư rác (Spam filtering): Phân loại email spam bằng cách tìm hiểu
các đặc điểm cấu thành email spam và email khơng spam Mơ hình phân loại cĩ thể là một chức năng ánh xạ từ văn bản email sang phân loại thư rác (hoặc phân loại khơng phải thư rác) Các thuật tốn như Nạve Bayes và Support Vector Machine cĩ thể được sử dụng để phân loại Sau khi mơ hình phân loại được huấn luyện, mơ hình phân loại sau đĩ cĩ thể được sử dụng để lọc các email mới đến là thư rác hoặc khơng phải thư rác
Phân loại văn bản web (Web text classification): Phân loại các trang
web/tài liệu thành các chủ đề khác nhau là một vấn đề phân loại khác Nhiệm vụ phân loại này cĩ thể được thực hiện bằng cách ánh xạ một tài liệu văn bản đến danh mục chủ đề tương ứng của nĩ Chẳng hạn, phân loại văn bản theo chủ đề: thể thao, giải trí, cơng nghệ,…
Phân tích cảm xúc (Sentiment analysis): Mơ hình phân loại nhị phân
máy học cĩ thể được đào tạo để xác định cảm xúc (tích cực/tiêu cực) của một tài liệu văn bản nhất định dựa trên các thuật tốn phân loại như Nạve Bayes, SVM, v.v Điều này sẽ giúp xác định tình cảm được thể hiện trong một tài liệu như email là tích cực hay tiêu cực cho các mục đích kinh doanh như xác định xem khách hàng hài lịng hay khơng hài lịng với dịch vụ được cung cấp
Trang 231.3 Tổng quan về các phương pháp biểu diễn văn bản Một số khái niệm dùng trong luận văn
Từ khóa (Key word): là các từ xuất hiện trong một văn bản có nghĩa
trong từ điển
Từ dừng (Stop word): nhiều từ được dùng để biểu diễn cấu trúc câu,
xuất hiện thường xuyên trong các văn bản, nhưng hầu như không mang ý nghĩa về mặt nội dung, chẳng hạn các giới từ, liên từ,… những từ đó được gọi là từ dừng Ví dụ: có thể, nếu, vì vậy, sau khi, thì, một số, với lại, quả thật, hầu như,…
Trọng số của từ: là độ quan trọng hay hàm lượng thông tin mà từ đó
mang lại cho văn bản Trọng số của từ là đại lượng dùng để đo sự khác biệt giữa văn bản chứa nó với các văn bản khác.
Một số phương pháp đánh trọng số từ khóa
Giả sử có một tập gồm 𝑛 văn bản 𝔻 = {𝑑1, 𝑑2, … , 𝑑𝑛 }, 𝕋 là một tập từ vựng gồm 𝑚 từ khóa 𝕋 = {𝑣1, 𝑣2, … , 𝑣𝑚}, 𝑤𝑖,𝑗 là trọng số của từ khóa 𝑣𝑗trong văn bản 𝑑𝑖
1.3.2.2 Phương pháp dựa trên tần suất
Phương pháp dựa trên tần số TF (Term Frequency): Gọi
𝒕𝒇(𝒗𝒋, 𝒅𝒊) là tần suất xuất hiện của từ khóa 𝒗𝒋 có trong tài liệu 𝒅𝑖, khi đó các giá trị trọng số 𝒘𝒊,𝒋 được xác định như sau:
𝑤𝑖,𝑗 = 𝑡𝑓(𝑣𝑗, 𝑑𝑖) =𝐶𝑜𝑢𝑛𝑡(𝑣|𝑣 ∈ 𝑑𝑖 ∧ 𝑣 = 𝑣𝑗)
Trang 24 Phương pháp tần suất nghịch đảo IDF (Inverse Document Frequency): phép đo này cho biết mức độ hiếm hoặc phổ biến của một
từ/cụm từ có trong toàn bộ của tập tài liệu (tiếng Anh gọi copus) Về mặt trực quan, một thuật ngữ càng phổ biến thì càng ít quan trọng, trong trường hợp này giá trị IDF gần bằng 0.
Ví dụ các từ chẳng hạn như: “là”, “bởi”, “của”,… thường xuất hiện phổ biến trong các tài liệu nhưng có rất ít tầm quan trọng trong việc quyết định nội dung văn bản Điều này không được phản ánh đúng trong thước đo TF, trong phương pháp này, giá trị 𝑤(𝑖,𝑗) được xác định như sau:
Một số phương pháp biểu diễn văn bản
Cho trước: tập 𝔻 gồm n văn bản 𝔻 = {𝑑1, 𝑑2, … , 𝑑𝑛 }, tập từ vựng 𝕋
gồm m từ từ khóa 𝕋 = {𝑡1, 𝑡2, … , 𝑡𝑚}
Gọi 𝑉𝑖 = {𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑗, … , 𝑣𝑖,𝑚} là véc tơ biểu diễn của văn bản di(trong đó 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗 (𝑖 = 1, 2, … , 𝑛; 𝑗 = 1, 2, … , 𝑚 ) Khi đó 𝕎 ={V1, 𝑉2, … , 𝑉𝑛} được gọi là ma trận trọng số của tập văn bản 𝔻
1.3.3.1 Phương pháp Boolean
Trong phương pháp này, mỗi văn bản 𝑑𝑖 ∈ 𝔻 sẽ được mã hóa thành véc tơ 𝑉𝑖 = {𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑗, … , 𝑣𝑖,𝑚, 𝑣𝑖,𝑚+1}, trong đó 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗 (𝑤𝑖,𝑗 được xác định bởi công thức (1))
1.3.3.2 Bag-of-Words (BoW)
Bag-of-words là một kỹ thuật trong xử lý ngôn ngữ tự nhiên của mô hình văn bản Về mặt kỹ thuật, chúng ta có thể nói rằng đó là một phương
Trang 25pháp trích xuất đối tượng địa lý bằng dữ liệu văn bản Cách tiếp cận này là một cách đơn giản và linh hoạt để trích xuất các tính năng từ tài liệu [16]
Tập hợp các từ xuất hiện trong một văn bản được gọi là một “túi từ”, túi từ chỉ theo dõi số lượng từ và bỏ qua các chi tiết ngữ pháp và thứ tự từ Mô hình chỉ quan tâm đến việc các từ đã biết có xuất hiện trong tài liệu hay không, chứ không phải ở vị trí nào trong tài liệu
Tập hợp tất cả các từ xuất hiện trong tất cả các “túi từ” tạo thành danh sách từ vựng 𝕋 Khi đó văn bản thứ 𝑖 trong tập tài liệu 𝔻 được mã hóa thành một véc tơ 𝑉𝑖 = (𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑚) có độ dài |𝕋|, trong đó 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗, 𝑤𝑖,𝑗được xác định bằng công thức (2)
Ví dụ về mã hóa túi từ:
Câu 1: “Đời sống có hạn mà sự học thì vô hạn.” Trang Tử
Câu 2: “Học thầy, học bạn, vô vạn phong lưu.” Tục ngữ dân tộc Thái
Bước 1: Chuyển câu thành chữ thường và tách thành các từ riêng biệt:
Câu 1: {'đời', 'sống', 'có', 'hạn', 'mà', 'sự', 'học', 'thì', 'vô', 'hạn'} Câu 2: {'học', 'thầy', 'học', 'bạn', 'vô', 'vạn', 'phong', 'lưu'}
Bước 2: Lập túi từ cho mỗi câu:
BoW1={'đời':1, 'sống':1, 'có':1, 'hạn':2, 'mà':1, 'sự':1, 'học':1, 'thì':1, 'vô':1}
BoW2={'học':2, 'thầy':1, 'bạn':1, 'vô':1, 'vạn':1, 'phong':1, 'lưu':1}
Bước 3: Lập danh sách từ vựng 𝕋 = 𝐵𝑜𝑊1 ⋃ 𝐵𝑜𝑊2
𝕋 ={'đời', 'sống', 'có', 'hạn', 'mà', 'sự', 'học', 'thì', 'vô', 'thầy', 'bạn,', 'vạn', 'phong', 'lưu'}
Bước 4: Mã hóa văn bản thứ 𝑖 thành véc tơ 𝑉𝑖
Câu 1 mã hóa thành véc tơ 𝑉1 = [1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0] Câu 2 mã hóa thành véc tơ 𝑉2 = [0, 0, 0, 0, 0, 0, 2, 0, 1, 1, 1, 1, 1, 1]
Trang 26Kỹ thuật mã hóa một tài liệu thành một véc tơ như ví dụ trên được gọi là kỹ thuật Bag-of-Words
1.3.3.3 Bag of N-grams
Mô hình N-grams: N-grams được hiểu đơn giản là tần suất xuất hiện của 𝑁 kí tự hoặc từ liên tiếp trong dữ liệu
Một số mô hình N-gram phổ biến:
Mô hình với 𝑁=1 gọi là unigram;
Mô hình với 𝑁=2 gọi là bigrams;
Mô hình với 𝑁=3 gọi là trigrams
Ví dụ: Câu “Đời sống có hạn mà sự học thì vô hạn” ứng với mỗi mô hình n-gram ta có thể tách n-gram như sau:
Bảng 1: Kết quả tách từ ứng với các mô hình N-gram
Tên mô hình
Unigram(𝑁=1) {'đời', 'sống', 'có', 'hạn', 'mà', 'sự', 'học', 'thì', 'vô', 'hạn'}
Bigrams(𝑁 =2) {'đời sống', 'sống có', 'có hạn', 'hạn mà', 'mà sự', 'sự học', 'học thì', 'thì vô', 'vô hạn'}
Trigrams(𝑁 =3) {'đời sống có', 'sống có hạn', 'có hạn mà', 'hạn mà sự', 'mà sự học', 'sự học thì', 'học thì vô', 'thì vô hạn'}
Trong mô hình này, trường hợp 𝑁 = 1 (1_𝑔𝑟𝑎𝑚) ứng với mô hình BoW Còn các trường hợp 𝑁 ≥ 2 các mã hóa cũng tương tự mô hình BoW chỉ khác ở chỗ trong mô hình BoW mỗi từ khóa là một từ đơn còn trong mô hình 𝑁_𝑔𝑟𝑎𝑚 mỗi từ khóa là một cụm gồm 𝑁 từ đơn ghép lại
Trang 271.3.3.4 TF-IDF
Tần suất (Term Frequency-TF): trong phương pháp này, mỗi văn bản
𝑑𝑖 ∈ 𝔻 sẽ được mã hóa thành véc tơ 𝑉𝑖 = {𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑗, … , 𝑣𝑖,𝑚, 𝑣𝑖,𝑚+1}, với 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗 (𝑤𝑖,𝑗 được xác định bởi công thức (2))
Tần suất nghịch đảo (Inverse Document Frequency-IDF): trong
phương pháp này, mỗi văn bản 𝑑𝑖 ∈ 𝔻 sẽ được mã hóa thành véc tơ 𝑉𝑖 = {𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑗, … , 𝑣𝑖,𝑚, 𝑣𝑖,𝑚+1}, với 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗 (𝑤𝑖,𝑗 được xác định
bởi công thức (3)).
TF-IDF (Term Frequency- Inverse Document Frequency): trong
phương pháp này, mỗi văn bản 𝑑𝑖 ∈ 𝔻 sẽ được mã hóa thành véc tơ 𝑉𝑖 = {𝑣𝑖,1, 𝑣𝑖,2, … , 𝑣𝑖,𝑗, … , 𝑣𝑖,𝑚, 𝑣𝑖,𝑚+1}, trong đó 𝑣𝑖,𝑗 = 𝑤𝑖,𝑗 (𝑤𝑖,𝑗 được xác
định bởi công thức (4)) [16].
Cách tính TF, IDF, TF-IDF:
Xét ví dụ có 2 văn bản sau:
Câu 1: “Đời sống có hạn mà sự học thì vô hạn.” Trang Tử
Câu 2: “Học thầy, học bạn, vô vạn phong lưu.” Tục ngữ dân tộc Thái Số lượng từ trong câu 1 là: 10, số lượng từ trong câu 2 là: 8, ta có bảng
tính các giá trị TF, IDF, TF*IDF như sau:
Trang 29Kỹ thuật tiền xử lý dữ liệu dạng văn bản tiếng việt và thuật toán máy học để xây dựng mô hình đánh giá sản phẩm
2.1 Kỹ thuật tiền xử lý dữ liệu dạng văn bản tiếng Việt Các đơn vị chủ yếu trong xử lý văn bản
Âm vị: được sử dụng để chỉ các đơn vị âm thanh nhỏ nhất, tạo nên
hệ thống âm thanh trong ngôn ngữ Âm vị là thành phần cơ bản để tạo thành các từ Âm vị không biểu thị ý nghĩa nào cả nhưng nó lại có tác dụng phân biệt ý nghĩa
Hình vị: Hình vị là một hoặc chuỗi kết hợp một vài âm vị, biểu thị
một khái niệm Nó là đơn vị nhỏ nhất có ý nghĩa Chức năng của hình vị là chức năng ngữ nghĩa
Từ : Là đơn vị nhỏ nhất trong văn bản, được tạo thành từ các ký tự
liên tiếp và được phân tách bằng dấu cách
Câu (Sentence): Là một nhóm từ được xếp chồng lên nhau và kết
thúc bằng dấu chấm câu (., ?, !)
Đoạn (Paragraph): Là một nhóm các câu liên kết với nhau và
thường chứa một ý chính hoặc thông tin liên quan
Văn bản (Document): Là một tài liệu hoặc một bài viết đầy đủ Văn
bản có thể bao gồm nhiều trang và các phân đoạn khác nhau
Những kiểu quan hệ chủ yếu trong ngôn ngữ Quan hệ tuyến tính:
Khi ngôn ngữ được hiện thực hoá thì những yếu tố của nó hiện ra lần lượt cái này tiếp theo cái kia làm thành một chuỗi Khi biểu hiện bằng chữ viết, người ta đã thay thế sự kế tiếp trong thời gian của các yếu tố ngôn ngữ
Trang 30bằng tuyến không gian của các con chữ Đặc điểm này của ngôn ngữ được gọi là tính hình tuyến của các biểu hiện và mối quan hệ giữa các yếu tố trong hình tuyến được gọi là quan hệ tuyến tính hay quan hệ ngang
Quan hệ liên tưởng:
Là quan hệ giữa các yếu tố không cùng hiện diện với nhau, nhưng có những thuộc tính nào đó giống nhau, do đó dễ gợi ra những sự liên tưởng đối với nhau, về nguyên tắc chúng có thể thay thế cho nhau được ở cùng một vị trí trong chuỗi hình tuyến của ngôn ngữ Nghĩa là quan hệ hình là quan hệ giữa các yếu tố có thể thay thế cho nhau được trong cùng vị trí của chuỗi lời nói
Một số đặc điểm của văn bản tiếng Việt Từ không biến đổi hình thái
Một từ luôn có hình thức không biến đổi trong mọi trường hợp, chúng đứng trong câu tương tự như đứng độc lập
Ví dụ, trong tiếng Việt:
Từ “đi” chỉ một hình thái duy nhất là đi
Hay: Tôi nhìn anh ấy Anh ấy nhìn tôi thì các từ ngữ tôi và anh có hình thức hoàn toàn giống nhau dù chúng có đảm nhiệm vai trò hoàn toàn khác nhau: chủ ngữ hay bổ ngữ
Trong khi đó, trong tiếng Anh, đòi hỏi các từ phải có sự biến đổi cho phù hợp với nghĩa ngữ pháp của chúng trong câu: I-me, he-him,…
Quan hệ ngữ pháp và ý nghĩa ngữ pháp được biểu thị chủ yếu bằng hư từ và trật từ
Ví dụ:
Dùng hư từ để biểu thị các các ý nghĩa quá khứ, hiện tại, tương lai: Đọc: đã đọc, vừa đọc, đọc xong, đọc rồi (ý nghĩa quá khứ); đang đọc (ý nghĩa hiện tại); sẽ đọc, sắp đọc (ý nghĩa tương lai)
Trang 31Các bước tiền xử lý dữ liệu văn bản tiếng Việt
Chuyển văn bản thành chữ thường: Việc chuyển tất các kí tự trong
văn bản về chữ thường phục vụ vấn đề so khớp nhằm hỗ trợ tính toán trọng số cho các từ
Xóa bỏ các kí tự đặc biệt: Có tổng cộng 32 kí tự chính cần được xử lý
loại bỏ khỏi văn trước khi thực hiện công đoạn tách từ Danh sách các kí tự cần loại bỏ là: '! "# $% &' () * +, - / :; <=> ? @ [\] ^ _` {|} ~ '
Loại bỏ các chữ số
Xóa từ dừng (stopword)
Xóa bỏ khoảng trắng
Tách từ
Trang 32Phương pháp tách từ trong tiếng Việt 2.1.5.1 Bài toán tách từ
Trong tiếng Việt có 2 loại từ gồm: từ đơn (một âm tiết) và từ ghép (từ 2 âm tiết trở lên) Nếu chỉ dựa vào khoảng trắng thì chưa thể giải quyết được bài toán tách từ tiếng Việt Vì vậy bài toán tách từ trong tiếng Việt trở nên khó khăn hơn nhiều so với một số ngôn ngữ khác chẳng hạn như tiếng Anh, tiếng Đức, tiếng Pháp tách từ chỉ dựa vào khoảng trắng phân cách giữa các từ
Trong tiếng Việt và số ngôn ngữ châu Á khác (ví dụ: Tiếng Trung, tiếng Nhật, ) khoảng trắng dùng để phân cách các từ và phân cách các âm tiết của một từ ghép
Dựa trên đặc điểm của từ kết hợp với cách tiếp cận khác nhau, hiện nay các phương pháp chia thành ba nhóm chính: dựa trên từ điển, dựa trên thống kê và phương pháp lai [18]
2.1.5.2 Các phương pháp tiếp cận trong việc tách từ tiếng Việt Tiếp cận dựa trên từ điển: Phương pháp này có ý tưởng chính là dựa
trên một từ điển có sẵn, thực hiện so khớp từng âm tiết trong văn bản với các từ có trong từ điển Độ chính xác và tốc độ xử lý của phương pháp này phụ thuộc vào kích thước của từ điển Do không cần đến quá trình huấn luyện nên phương pháp này tương đối đơn giản, nhanh và dễ hiểu Cách tiếp cận này gặp hạn chế khi gặp tình huống các từ không tồn tại trong từ điển
Tiếp cận dựa trên thống kê: Cách giải pháp tách từ trong cách tiếp
cận này thường dựa trên một mô hình ngôn ngữ (Language Model - LM) Trong đó, LM được xây dựng dựa trên các số liệu thống kê về số lần xuất hiện hoặc đồng thời xuất hiện của các từ xuất hiện trong một tập văn bản
Phương pháp tách từ sử dụng mô hình trường xác suất có điều kiện và độ hỗn loạn cực đại: Với phương pháp tách từ sử dụng mô hình trường
Trang 33xác suất có điều kiện (CRFs-Conditional Random Fields) và độ hỗn loạn cực đại (MaxEnt-Maximum Entropy), bài toán tách từ được xem như là công việc gán nhãn cho một dãy các từ
Phương pháp tách từ sử dụng mô hình Pointwise: Tiếp cận bằng
cách gán nhãn và sẽ được đánh giá một cách độc lập, không có tham khảo đến kết quả của các nhãn trước đó Trong đó: n-grams âm tiết, n-grams chủng loại của âm tiết và đặc trưng từ điển là 3 đặc trưng của phương pháp này Để xác định vị trí tách từ, phương pháp này sử dụng giải thuật SVM để huấn luyện và phân loại
2.1.5.3 Một số công cụ tách từ tiếng Việt hiện có
JvnSegmenter (Nguyễn Cẩm Tú): CRF Link: http://jvnsegmenter.sourceforge.net
VnTokenizer (Lê Hồng Phương)
Link: http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer Dongdu (Lưu Anh Tuấn): SVM, Link: http://viet.jnlp.org/dongdu Pyvi (Trần Việt Trung), Link: https://github.com/trungtv/pyvi
Công thức định lý Bayes:
𝑃(𝐴|𝐵) = 𝑃(𝐴).𝑃(𝐵|𝐴)
Trang 34Trong đĩ:
𝑃(𝐴) là xác suất 𝐴 xảy ra
𝑃(𝐵) là xác suất 𝐵 xảy ra
𝑃(𝐴|𝐵) là xác suất 𝐴 xảy ra khi cĩ 𝐵
𝑃(𝐵|𝐴) là xác suất B xảy ra khi cĩ 𝐴
2.2.1.2 Phân lớp Nạve Bayes
Xét ví dụ: Cho bảng dữ liệu giả định mơ tả các điều kiện thời tiết để
chơi Golf Với điều kiện thời tiết, mỗi bộ dữ liệu sẽ phân vào lớp “Cĩ” hoặc “Khơng” chơi Golf
Bảng 3: Dữ liệu điều kiện thời tiết -Chơi Gold [19]
Tập dữ liệu được chia thành 2 phần: ma trận đặc trưng và vector phản hồi
Ma trận đặc trưng chứa tất cả các vector (hàng) của tập dữ liệu, trong
đĩ mỗi vector chứa các giá trị của các thuộc tính phụ thuộc (Ngồi trời, Nhiệt độ, Độ ẩm, Giĩ)
Trang 35Vector phản hồi chứa giá trị của biến lớp (dự đốn hoặc kết quả) cho
mỗi hàng của ma trận đặc trưng (Tập dữ liệu trên: biến lớp là Chơi Golf)
Giả định cơ bản của Nạve Bayes cho mỗi thuộc tính là: độc lập, bình đẳng đĩng gĩp vào kết quả
Với tập dữ liệu đang xét, chúng ta cĩ thể hiểu như sau:
Thứ nhất: giả định là khơng cĩ cặp thuộc tính nào là phụ thuộc Ví dụ: nhiệt độ “Nĩng” khơng liên quan đến độ ẩm, quang cảnh, giĩ
Thứ 2: mỗi thuộc tính cĩ cùng trọng số (tầm quan trọng) như nhau Ví dụ, chỉ biết nhiệt độ và độ ẩm khơng thể dự đốn chính xác kết quả Khơng cĩ thuộc tính nào là khơng liên quan và được cho là đĩng gĩp như nhau vào kết quả
Lưu ý: Các giả định do Nạve Bayes đưa ra thường khơng đúng trong các tình huống thực tế Trên thực tế, giả định về tính độc lập khơng bao giờ đúng nhưng thường hoạt động tốt trong thực tế
Dựa vào cơng thức số (5) và bảng dữ liệu số (3) bây giờ chúng ta cĩ thể áp dụng định lý Bayes như sau:
Mặt khác do giả định xác thuộc tính 𝑥𝑖 ∈ 𝑋 là độc lập nên ta cĩ: 𝑃(𝑦|𝑋) = 𝑃(𝑦|𝑥1, 𝑥2, … , 𝑥𝑛) = 𝑃(𝑥1|𝑦).𝑃(𝑥2|𝑦)…𝑃(𝑥𝑛|𝑦).𝑃(𝑦)
𝑃(𝑥1).𝑃(𝑥2)…𝑃(𝑥𝑛) (6) Với mỗi mẫu 𝑋 khi đĩ xác suất 𝑃(𝑦|𝑋) ứng với lớp “cĩ” hoặc “khơng” đều cĩ mẫu số cố định nên ta cĩ thể bỏ mẫu số Cơng thứ (6) cĩ thể viết lại như sau:
Trang 36𝑃(y|x1, x2, … , xn)~ P(y) ∏ni=1P(xi|y) (7) Bây giờ, với mỗi bộ đầu vào 𝑋 để xác định đầu ra (lớp) của 𝑋 bằng cách tính suất của 𝑋 cho tất cả các giá trị của biến lớp 𝑦 và đầu ra ta chọn giá trị của biến lớp 𝑦 có giá trị xác suất tối đa được biểu diễn bằng công thức toán học như sau:
Với dữ liệu đã cho trong Bảng 3 ta sẽ tính toán trước một số xác suất cho mỗi 𝑥𝑖 xuất hiện trong ma trận đặc trưng 𝑋 và vector phản hồi 𝑦 Các kết quả được minh chứng trong Bảng 4 sau đây:
Bảng 4: Tính xác suất với bộ dữ liệu giả định
Với bộ dữ liệu mới 𝑡𝑜𝑑𝑎𝑦 = (𝑆𝑢𝑛𝑛𝑦, 𝐻𝑜𝑡, 𝑁𝑜𝑟𝑚𝑎𝑙, 𝐹𝑎𝑙𝑠𝑒) ta cần tính xác suất cho việc “có” hoặc “không” chơi Golf
Ta tính được: 𝑃(𝑦𝑒𝑠|𝑡𝑜𝑑𝑎𝑦) = 2
9.69 9
14 ≈ 0.0141 (a) 𝑃(𝑁𝑜|𝑡𝑜𝑑𝑎𝑦) =3
5.25 5
14 ≈ 0.0068 (b)
Trang 37𝑃(𝑌𝑒𝑠|𝑇𝑜𝑑𝑎𝑦) + 𝑃(𝑁𝑜|𝑇𝑜𝑑𝑎𝑦) = 1 (c)
Từ (a), (b) và (c) ta chuẩn hĩa về được xác suất như sau: 𝑃(𝑌𝑒𝑠|𝑇𝑜𝑑𝑎𝑦) = 0.0141
0.0141 + 0.0068 = 0.67 (d) 𝑃(𝑁𝑜|𝑇𝑜𝑑𝑎𝑦) = 0.0068
0.0141 + 0.0068= 0.33 (e)
Từ (d) và (e) ta cĩ: 𝑃(𝑌𝑒𝑠|𝑇𝑜𝑑𝑎𝑦) > 𝑃(𝑁𝑜|𝑇𝑜𝑑𝑎𝑦) dự đốn sẽ chơi golf
2.2.1.3 Các phân phối thường dùng trong Nạve Bayes Gaussian Nạve Bayes:
𝑃(𝑥𝑖 ∣ 𝑦) = 1√2𝜋𝜎𝑦2
exp (−(𝑥𝑖−𝜇𝑦)2
Trong đĩ: 𝜎𝑦 và 𝜇𝑦 được ước tính bằng cách sử dụng khả năng tối đa
Multinomial Nạve Bayes:
P(xi|y) = 𝑁𝑦𝑖
Trong đĩ: 𝑵𝒚𝒊 là tổng số lần phần tử 𝑥𝑖 thuộc vector 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛} xuất hiện trong tập dữ liệu huấn luyện thuộc lớp 𝑦𝑖, 𝑁𝑦 = ∑𝑑𝑖=1𝑁𝑦𝑖 (𝑑 là độ dài của vector 𝑋)
Bernoulli Nạve Bayes:
𝑃(𝑥𝑖 ∣ 𝑦) = 𝑃(𝑥𝑖 = 1 ∣ 𝑦)𝑥𝑖 + (1 − 𝑃(𝑥𝑖 = 1 ∣ 𝑦))(1 − 𝑥𝑖) (11) Trong đĩ phân phối này các vector phải biểu diễn dưới dạng nhị phân
Thuật tốn Support Vector Machine
Trong học máy, Support Vector Machine (SVM) là mơ hình học cĩ giám sát với các thuật tốn học liên kết phân tích dữ liệu để phân loại và phân tích hồi quy Thuật tốn này phát triển tại Phịng thí nghiệm AT&T Bell bởi Vladimir Vapnik cùng với các đồng nghiệp (Boser và cộng sự, 1992, Guyon và cộng sự, 1993, Cortes và Vapnik, 1995, [1] Vapnik và cộng sự, 1997) SVM là một trong những phương pháp dự đốn mạnh mẽ nhất, dựa
Trang 38trên khung học tập thống kê hoặc lý thuyết VC do Vapnik (1982, 1995) và Chervonenkis (1974) đề xuất [22]
2.2.2.1 Hyperplane Khái niệm
Chúng ta có thể sử dụng một đường để phân tách dữ liệu theo hai chiều Tương tự cần một mặt phẳng 2𝐷 để phân tách dữ liệu theo 3 chiều Để tổng quát hóa các khái niệm, chúng ta sẽ gọi chúng là siêu phẳng, thay vì đường thẳng, mặt phẳng hoặc khối lập phương cho 𝑛 (𝑛 > 0) chiều dữ liệu [22]
Hình 1: Minh họa Hyperlane
Một số điểm quan trọng cần lưu ý đối với siêu phẳng:
Một siêu phẳng chia không gian D-chiều ban đầu thành hai nửa không gian
Tập dữ liệu là linearly separable (tuyến tính có khả năng phân tách)
nếu mỗi nửa không gian chỉ có các điểm từ một lớp duy nhất
Định nghĩa toán học về hyperlane
Phương trình tổng quát của siêu phẳng trong không gian 𝑑 chiều như sau:
ℎ(𝑋) = 𝛽1𝑥1+ 𝛽2𝑥2+ ⋯ + 𝛽𝑛𝑥𝑛 + 𝑏 = 𝛽𝑇 𝑋 (12)
Trong đó mọi điểm 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑑}
Trang 39Nếu ℎ(𝑋) = 0 có nghĩa 𝑋 nằm trên siêu phẳng, ngược lại 𝑋 nằm một phía của siêu phẳng
Hình 2: Minh họa siêu phẳng [20]
Separating Hyperplane (Tách siêu phẳng)
Giả sử 2 điểm 𝑋1, 𝑋2 là 2 điểm nằm trên siêu phẳng, khi đó chúng ta có:
ℎ(𝑋1) = 𝛽𝑇 𝑋1 + 𝑏 = 0 ℎ(𝑋2) = 𝛽𝑇 𝑋2 + 𝑏 = 0 ⇒ 𝛽𝑇 𝑋1 + 𝑏 = 𝛽𝑇 𝑋2 +𝑏 ⟹ 𝛽𝑇 (𝑋1 − 𝑋2) = 0
Như vậy vector (𝑋1 − 𝑋2)
nằm trên siêu phẳng, vector trọng số 𝛽𝑇 vuông góc với siêu phẳng Chúng ta thấy vector trọng số 𝛽𝑇 quyết định hướng của siêu phẳng còn hệ số 𝑏 là phần bù cho siêu phẳng trong không gian 𝑑 chiều
Maximal Margin Classifier (Phân lớp với lề tối đa)
Để phân loại chúng ta có thể sử dụng separating hyperplane Dấu
của ℎ(𝑋𝑖) ∈ {−1, 1} cho biết nhãn đầu ra của +1 hay -1 Ta có:
ℎ(𝑋𝑖) = 𝛽𝑇 𝑋𝑖 + 𝑏 = 0 và chúng ta định nghĩa 2 lớp là :+1 và -1 Khi đó chúng ta kết hợp có công thức sau:
Hình 3: Minh họa tách siêu phẳng [20]
Trang 40 Margin (Lề)
Lề có thể được xác định bằng cách sử dụng khoảng cách ngắn nhất từ một điểm đến một siêu phẳng
Sử dụng tập dữ liệu có thể quan sát tốt nhất, để có thể xác định Siêu phẳng thích hợp Chúng ta sẽ xem xét về 2 loại lề sau:
Support Vectors of a Hyperplane
Cho một tập dữ liệu (𝑋, 𝑦) và một siêu phẳng (Hyperplane), chúng ta có thể tìm khoảng cách từ một điểm đến siêu phẳng xác định bằng công thức sau: