5 Các nghiên cứu liên quan bài toán phân lớp cảm xúc bình luận người dùng hiện nay .... Hệ thống sẽ sử dụng mô hình Support Vector Machines để phân loại các bình luận phim bởi các đặc t
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA -
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS Phạm Minh Tuấn
Phản biện 1: TS Đặng Hoài Phương
Phản biện 2: TS Nguyễn Thị Hoa Huệ
Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ khoa học máy tính họp tại Trường Đại học Bách khoa vào ngày 13 tháng 10 năm 2018
Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
- Thư viện Khoa Công nghệ thông tin Trường Đại học Bách khoa –ĐHĐ
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của TS Phạm Minh Tuấn
Những nội dung trình bày trong luận văn là những kiến thức của riêng cá nhân tôi tích lũy trong quá trình học tập, nghiên cứu, không sao chép lại một công trình nghiên cứu hay luận văn của bất cứ tác giả nào khác
Trong nội dung của luận văn, những phần tôi nghiên cứu, trích dẫn đều được nêu trong phần các tài liệu tham khảo, có nguồn gốc, xuất xứ, tên tuổi của các tác giả, nhà xuất bản rõ ràng
Những điều tôi cam kết hoàn toàn là sự thật, nếu sai, tôi xin chịu mọi hình thức xử lý kỷ luật theo quy định
TÁC GIẢ LUẬN VĂN PHÙNG VĂN HÒA
Trang 4LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến thầy Phạm Minh Tuấn, thầy đã dành nhiều thời gian tận tình chỉ bảo, hướng dẫn
em trong suốt quá trình tìm hiểu, triển khai và nghiên cứu đề tài Thầy
là người đã định hướng và đưa ra nhiều góp ý trong quá trình em thực hiện luận văn này
Em xin gửi lời cảm ơn chân thành tới toàn thể các thầy giáo, cô giáo trong khoa Công nghệ thông tin - Trường Đại học Bách Khoa Đà Nẵng đã dạy bảo tận tình, trang bị cho em những kiến thức bổ ích và tạo điều kiện thuận lợi trong suốt quá trình em học tập và nghiên cứu tại trường Các kiến thức, kinh nghiệm quý báu của các thầy cô giáo không chỉ giúp cá nhân em hoàn thiện hệ thống kiến thức trong học tập mà còn giúp em ứng dụng các kiến thức đó trong công việc hiện tại
Do có nhiều hạn chế về thời gian và kiến thức nên luận văn không tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn cùng quan tâm
Xin chân thành cảm ơn!
HỌC VIÊN PHÙNG VĂN HÒA
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH SÁCH BẢNG v
DANH SÁCH HÌNH v
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI Ý KIẾN NGƯỜI DÙNG 5
Bài toán phân loại ý kiến bình luận người dùng xem phim trực tuyến 5
Các nghiên cứu liên quan bài toán phân lớp cảm xúc bình luận người dùng hiện nay 5
Các kỹ thuật liên quan đến bài toán phân loại cảm xúc bình luận 5
Các nghiên cứu liên quan đến bài toán phân loại ý kiến người dùng 6
Hướng tiếp cận giải quyết bài toán phân loại cảm xúc dựa vào các kỹ thuật học máy 6
Xử lý ngôn ngữ tự nhiên 6
Khái niệm 6
Các bước xử lý 7
Ứng dụng 7
Các bài toán và khái niệm cơ bản liên quan 7
Biểu thức chính quy (regular expressions) 7
Corpus 8
Trang 6Tokenization (tách từ) 8
Ambiguous (nhập nhằng nghĩa) 9
Stopwords (từ dừng) 9
Named Entities Recognition (nhận dạng tên thực thể) 9 Lemmatization và Stemming 10
Part of Speech (gán nhãn từ loại) 10
Khó khăn trong xử lý ngôn ngữ tự nhiên tiếng Việt 10
Trích xuất đặc trưng 11
TF-IDF 11
Bag-of-Word (mô hình túi từ) 11
Word2Vec 11
CHƯƠNG 2: MÁY HỌC VECTƠ HỖ TRỢ 11
2.1 Tổng quan về bài toán phân lớp 11
Khái niệm 11
Một số thuật toán phân lớp phổ biến 12
2.1.2.1 Naive Bayes 12
2.1.2.2 K-Nearest Neighbors 12
2.1.2.3 Maximum Entropy 12
Đánh giá mô hình phân loại 12
Phân tích giá trị đơn 12
2.2 Support Vector Machine (SVM) 12
Giới thiệu 12
Cơ sở toán học 13
2.2.2.1 Ý tưởng 13
2.2.2.2 Xây dựng bài toán tối ưu cho SVM 13
Biên mềm (Soft Margin) 14
Các hàm thiệt hại cho SVM 14
2.3 Hàm hạt nhân SVM (Kernel) 14
Trang 7Giới thiệu 14
Cơ sở toán học 15
Tính chất hàm hạt nhân 15
2.4 Phân lớp cảm xúc bình luận phim bằng SVM 15
Thu thập dữ liệu 15
Tiền xử lý 15
2.4.2.1 Làm sạch dữ liệu 15
2.4.2.2 Tách từ 15
Trích xuất đặc trưng bình luận 15
2.4.3.1 Trích xuất đặc trưng TF-IDF 15
2.4.3.2 Giảm chiều dữ liệu 15
Huấn luyện và đánh giá mô hình 15
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 16
3.1 Dữ liệu, công cụ và môi trường thực hiện 16
3.2 Tiền xử lý dữ liệu 16
3.3 Trích xuất đặc trưng bình luận 18
3.4 Huấn luyện mô hình SVM và đánh giá 19
KẾT LUẬN 22
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 24
PHỤ LỤC 24
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
DANH SÁCH BẢNG
DANH SÁCH HÌNH
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, ngành công nghiệp điện ảnh đang bùng nổ khiến cho người xem khó khăn trong việc chọn phim khó khăn hơn Đa phần người xem vẫn thường có xu hướng dựa vào những bình luận, nhận xét phim từ những người xem trước để quyết định việc xem phim vì
nó cung cấp một cái nhìn tổng quát về phim nhanh chóng và thực tế
Do đó, những lời bình luận về phim đóng vai trò rất quan trọng trong việc quyết định xem phim của người xem
Có nhiều lý do khiến cho việc đọc bình luận phim là không nên
và số lượng bình luận nhiều khi có số lượng lớn Do đó cần phải có một công cụ khai thác dữ liệu để khám phá thông tin từ các lời bình luận phim nhằm tiết kiệm thời gian và công sức cho người xem trong việc lựa chọn phim để xem
Hệ thống sẽ sử dụng mô hình Support Vector Machines để phân loại các bình luận phim bởi các đặc tính của thuật toán rất phù hợp cho việc phân loại dữ liệu có số lượng đặc trưng lớn như văn bản và bản chất của SVM cũng được dùng cho phân lớp nhị phân Ngoài ra, qua các thực tế đã được kiểm chứng thì hệ thống phân loại văn bản sử dụng thuật toán SVM có độ chính xác cao và tốc độ xử lý nhanh
2 Mục tiêu và nhiệm vụ nghiên cứu
a) Mục tiêu
Nghiên cứu và xây dựng một chương trình có khả năng phân loại ý kiến bình luận phim của người dùng theo cảm xúc tích cực và tiêu cực một cách tự động dựa trên việc phân tích nội dung của bình luận thành các từ hoặc cụm từ khóa và áp dụng bộ phân lớp nhị phân SVM
Trang 9- Nghiên cứu đặc trưng của tiếng Việt
- Nghiên cứu các bài toán cơ bản của xử lý ngôn ngữ tự nhiên Trích xuất đặc trưng từ dữ liệu văn bản qua đó có thể biểu diễn văn bản dưới dạng vector nhằm phục vụ cho mục đích huấn luyện và phân loại
- Tìm hiểu các phương pháp đánh giá phân lớp
- Chuẩn bị dữ liệu bình luận đã được gán nhãn cảm xúc cho việc huấn luyện và đánh giá mô hình phân lớp
3 Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ của luận văn thuộc loại nghiên cứu và ứng dụng, đề tải chỉ giới hạn nghiên cứu các vấn đề sau:
- Các mô hình, thuật toán phân lớp dữ liệu Đặc biệt là mô hình phân lớp dữ liệu SVM
- Đặc trưng của tiếng Việt
- Các thuật toán cơ bản của xử lý ngôn ngữ tự nhiên
- Các phương pháp đánh giá phân lớp
4 Phương pháp nghiên cứu
Trang 10- Tìm hiểu các thuật toán xử lý văn bản cơ bản
- Tìm hiểu các phương pháp trích xuất đặc trưng văn bản b) Phương pháp thực nghiệm
- Xây dựng chương trình demo dựa trên giải pháp đề xuất
- Thực nghiệm trên dữ liệu đầu vào là các ý kiến thuộc dữ liệu kiểm thử đã được thu thập ban đầu
- Kiểm tra, nhận xét và đánh giá kết quả
5 Ý nghĩa khoa học và thực tiễn của đề tài
- Tạo được bộ dữ liệu phục vụ cho việc huấn luyện các mô hình phân loại văn bản tích cực và tiêu cực của tiếng Việt
- Kết quả có thể làm tài liệu tham khảo cho các học viên – sinh viên trong việc nghiên cứu xử lý ngôn ngữ tự nhiên b) Ý nghĩa thực tiễn
Ứng dụng cho các hệ thống phân tích người dùng của các trang phim trực tuyến hoặc cho chính những người xem phim trực tuyến Góp phần giúp ban quản trị có thể quan sát và lấy ý kiến người dùng tốt hơn và giảm sức lao động của con người Đồng thời cũng giúp người dùng giảm thiểu thời gian và công sức trong việc đọc bình luận
để quyết định xem phim Ngoài ra đề tài còn có ý nghĩa thúc đẩy phát
Trang 11triển và ứng dụng trí tuệ nhân tạo trong xử lý ngôn tự nhiên Tiếng Việt
6 Cấu trúc luận văn
Luận văn được trình bày bao gồm 3 chương:
Chương 1 Tổng quan bài toán phân loại ý kiến người dùng: Nội dung của chương trình bày tổng quan về bài toán phân loại ý kiến bình luận phim của người dùng theo cảm xúc tích cực và tiêu cực trên các trang xem phim trực tuyến phổ biến ở Việt Nam Đồng thời cũng trình bày các nội dung chính về cơ sở lý thuyết của lĩnh vực xử lý ngôn ngữ tự nhiên
Chương 2 Phương pháp học máy SVM: Nội dung chương sẽ giới thiệu tổng quan về bài toán phân lớp dữ liệu trong lĩnh vực học máy, các mô hình phân lớp phổ biến và cách đánh giá hiệu quả của mô hình phân lớp Đồng thời trình bày các cơ sở lý thuyết chính để xây dựng mô hình phân lớp SVM cho bài toán phân loại ý kiến bình luận Chương 3 Thực nghiệm và đánh giá kết quả: Nội dung chương trình bày về sử dụng SVM để huấn luyện dữ liệu bình luận phim và tiến hành phân loại bình luận theo cảm xúc Xây dựng ứng dụng demo và đánh giá các kết quả từ các phương pháp trích xuất đặc trưng văn bản và thuật toán phân lớp khác nhau Từ đó rút ra những kết luận quan trọng trong bài toán phân loại ý kiến bình luận người dùng theo cảm xúc
Phần kết luận: Phần này sẽ trình bày những kết quả đạt được của luận văn, đồng thời cũng chỉ ra những hạn chế và hướng phát triển trong tương lai
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI
có một quy trình xử lý tự động
Phân loại cảm xúc bình luận khác với bài toán phân lớp văn bản thông thường ở chỗ các bình luận thường ngắn, phi cấu trúc, nhiễu và chứa rất nhiều lỗi như lỗi chính tả, viết tắt, thiếu dấu câu, sử dụng các
từ ngữ không chính thống và thường chứa nhiều ký tự đặc biệt [11]
Hình 1.3: Mô hình phân lớp cảm xúc bình luận SVM Các nghiên cứu liên quan bài toán phân lớp cảm xúc bình luận người dùng hiện nay
Các kỹ thuật liên quan đến bài toán phân loại cảm xúc bình luận Bài toán phân loại ý kiến của người dùng sử dụng phương pháp phân lớp Các thuật toán phân lớp tiêu biểu cho bài toán phân lớp văn bản bao gồm [8]: Cây quyết định (Decision Tree), máy vector hỗ trợ (Support Vector Machine - SVM), K láng giềng gần nhất (KNN),
Trang 13Maximum Entropy Model (MaxEnt), Naive Bayes Trong luận văn của mình, tác giả tiến hành thực nghiệm với cả bốn mơ hình phân lớp tiêu biểu trên để chứng minh hiệu quả của mơ hình phân lớp SVM cho bài tốn phân lớp cảm xúc bình luận
Các nghiên cứu liên quan đến bài tốn phân loại ý kiến người dùng
Cĩ nhiều nghiên cứu tiếng Việt về khai phá quan điểm, tuy nhiên những nghiên cứu trong chuyên về phân tích cảm xúc người dùng ở Việt Nam cịn ít Các nghiên cứu thường thiên về khai phá quan điểm nĩi chung, nhưng chuyên về miền cảm xúc người dùng thì hầu như chưa cĩ Đặc biệt với bài tốn phân lớp cảm xúc bình luận phim tiếng Việt thì chưa cĩ nghiên cứu nào được cơng bố trước đây Hướng tiếp cận giải quyết bài tốn phân loại cảm xúc dựa vào các kỹ thuật học máy
Mục tiêu của học máy (Machine Learning) là xây dựng một giải thuật để nhận biết được dữ liệu đầu vào mới từ những dữ liệu đã được huấn luyện trước đĩ
Cĩ hai giai đoạn chính trong việc phân lớp dữ liệu là giai đoạn huấn luyện và giai đoạn áp dụng [5]
Ở cả hai giai đoạn huấn luyện và áp dụng, dữ liệu đều phải qua hai pha chính là Tiền xử lý dữ liệu (Data preprocessing) và trích chọn vec-tơ đặc trưng (Feature selection)
Sau khi lựa chọn đặc trưng xong, ta cĩ thể áp dụng các giải thuật phân lớp khác nhau ví dụ như k-nearest neighbors, Nạve Bayes, Máy vec-tơ hỗ trợ (SVM)… để phân loại bình luận theo cảm xúc
Xử lý ngơn ngữ tự nhiên
Khái niệm
Trang 14Xử lý ngôn ngữ tự nhiên (natural language processing - NLP)
là một nhánh của lĩnh vực trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người Mục tiêu của lĩnh vực này là làm cho máy tính thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như giao tiếp giữa người và máy, cải thiện hiệu quả giao tiếp giữa người với người, hoặc đơn giản là nâng cao hiệu quả xử
lý văn bản và lời nói
Các bước xử lý
Quá trình xử lý ngôn ngữ tự nhiên thường được thực hiện theo
mô hình như sau
Hình 1.4: Quy trình xử lý ngôn ngữ tự nhiên phổ biến Ứng dụng
Xử Lý Ngôn Ngữ Tự Nhiên có vai trò hết sức quan trọng trong ngành Khoa Học Máy Tính Nó có vô vàn ứng dụng hữu ích trong cuộc sống cũng như nghiên cứu Chúng ta có thể điểm qua một vài ứng dụng của xử lý ngôn ngữ tự nhiên như: Nhận dạng chữ viết, nhận dạng tiếng nói, tổng hợp tiếng nói, dịch tự động, tìm kiếm thông tin, tóm tắt văn bản, khai phá dữ liệu
Các bài toán và khái niệm cơ bản liên quan [6]
Biểu thức chính quy (regular expressions)
Regular Expression hay còn gọi là biểu thức chính quy là một chuỗi ký tự mô tả mẫu văn bản, được dùng để xử lý chuỗi nâng cao thông qua biểu thức riêng của nó, những biểu thức này sẽ có những
Trang 15nguyên tắc riêng và ta phải tuân theo nguyên tắc đó thì biểu thức mới hoạt động được
Một mẫu biểu thức chính quy là một tập các kí tự thường Các
kí tự đặc biệt cho các mục đích tìm kiếm nâng cao mà tìm kiếm trực tiếp sẽ khó khăn
Corpus
Trong ngôn ngữ học, corpus là 1 dữ liệu tập hợp các văn bản, ngôn ngữ đã được số hoá Corpus là 1 tài nguyên quan trọng trong NLP Chúng được sử dụng để phân tích thống kê và kiểm tra giả thuyết, chiết suất 1 cách tự động các qui tắc ngữ pháp “văn mạch tự do”, kiểm tra các lần xuất hiện hoặc xác nhận các quy tắc ngôn ngữ trong một ngôn ngữ cụ thể
Corpus có thể bao gồm ngôn ngữ viết, ngôn ngữ nói hoặc cả hai Kho dữ liệu văn bản nói thường được lưu trữ ở dạng bản ghi âm Corpus có thể chứa các văn bản bằng một ngôn ngữ (monolingual corpus) hoặc dữ liệu văn bản bằng nhiều ngôn ngữ (multilingual corpus)
Morphological Analysis (phân tích hình thái)
Trong ngôn ngữ học, phân tích hình thái học là nghiên cứu các
từ, cách chúng được hình thành và mối quan hệ của chúng với các từ khác trong cùng một ngôn ngữ chẳng hạn như từ gốc, ranh giới từ, dấu, phần của lời nói, v.v Qua đó tìm ra cấu trúc và hình thành các từ Đơn vị quan trọng nhất của nó là morpheme Có ba bài toán điển hình trong lĩnh vực này, bao gồm việc phân đoạn từ (word segmentation), nhận diện tên riêng (named entity recognition) và gắn thẻ một phần lời nói (Part-of-speech tagging)
Tokenization (tách từ)
Trang 16Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ trong câu văn, cũng có thể hiểu đơn giản rằng tách từ
là quá trình xác định các từ đơn, từ ghép… có trong câu Đối với xử
lý ngôn ngữ, để có thể xác định cấu trúc ngữ pháp của câu, xác định
từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác định được đâu là từ trong câu
Ambiguous (nhập nhằng nghĩa)
Nhập nhằng là hiện tượng mà khi nói, viết hoặc diễn tả những
từ ngữ, ý nghĩ mơ hồ, không rõ nghĩa hoặc có nhiều nghĩa làm cho người đọc hoặc người nghe không phân biệt rõ ràng, dẫn đến sự hiểu nhấm ý nghĩa
lý văn bản vad độ chính xác phân lớp văn bản được tăng lên
Có rất nhiều cách để loại bỏ StopWords trong đó có 2 cách phổ biến là: Dùng từ điển và dựa theo tần suất xuất hiện của từ
Named Entities Recognition (nhận dạng tên thực thể) Nhiệm vụ xác định tên riêng của người, tổ chức, địa điểm, hoặc các thực thể khác là một nhiệm vụ khai thác thông tin từ các tài liệu ngôn ngữ tự nhiên Đây là bài toán khá cơ bản trong nhóm các bài toán trích chọn thông tin
Có ba hướng tiếp cận chính cho bài toán nhận dạng thực thể trong văn bản là: hướng tiếp cận sử dụng hệ luật được xây dựng bởi