1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân loại cảm xúc người dùng trong mạng xã hội

61 1,4K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 2,1 MB

Nội dung

Phân loại cảm xúc người dùng trong mạng xã hội

Trang 1

PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG

TRONG MẠNG XÃ HỘI

LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI - 2015

Trang 2

PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG

TRONG MẠNG XÃ HỘI

CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN

MÃ SỐ: 60.48.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN ĐÌNH QUẾ

HÀ NỘI - 2015

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kì tài liệu nào khác

TÁC GIẢ LUẬN VĂN

Trang 4

LỜI CẢM ƠN

Được sự đồng ý của Khoa Quốc tế và Sau Đại học của Học Viện Công NghệBưu Chính Viễn Thông và giảng viên hướng dẫn khoa học: PGS.TS Trần ĐìnhQuế, tôi đã thực hiện luận văn: “Phân loại cảm xúc người dùng trong mạng xã hội”

Để hoàn thành luận văn này, tôi xin chân thành cảm ơn các thầy cô giảngviên trong khoa Quốc Tế và Sau Đại Học của Học Viện Công Nghệ Bưu ChínhViễn Thông đã tận tình giảng dạy, hướng dẫn tôi trong suốt quá trình học tập vànghiên cứu ở Học Viện

Xin chân thành cảm ơn thầy giáo Trần Đình Quế, người đã trực tiếp hướng dẫn nghiên cứu khoa học cho tôi Trong quá trình thực hiện luận văn, thầy đã chỉ bảo và truyền đạt những kiến thức khoa học quý báu, đồng thời cũng đưa những góp ý thiết thực giúp tôi hoàn thành luận văn này

HỌC VIÊN

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT 5

DANH SÁCH BẢNG 6

DANH SÁCH HÌNH VẼ 7

MỞ ĐẦU 7

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TỐN PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG 10

1.1 Bài tốn phân loại cảm xúc người dùng trong mạng xã hội 10

1.1.1 Lý do phân loại cảm xúc người dùng 10

1.1.2 Giới thiệu bài tốn và một số nghiên cứu liên quan 10

1.1.3 Mơ hình xử lý dữ liệu cho bài tốn phân loại cảm xúc 12

1.1.4 Những thách thức trong bài tốn phân loại cảm xúc 13

1.2 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 14

1.2.1 Phân loại dựa trên Nạve Bayes 15

1.2.2 Phân loại dựa trên máy vec-tơ hỗ trợ (Support Vector Machine) 17

1.3 Kết luận chương 19

CHƯƠNG 2: MƠ HÌNH BÀI TỐN VÀ CÁC BƯỚC TRONG PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG 20

2.1 Mơ hình tổng quát bài tốn 20

2.2 Pha thu thập dữ liệu 22

2.3 Pha tiền xử lý dữ liệu 24

2.4 Pha trích chọn đặc trưng và vec-tơ hĩa văn bản 25

2.4.1 N-grams 25

2.4.2 Mơ hình khơng gian vec-tơ (Vector Space Model) 29

2.5 Phân loại sử dụng SVM & Nạve Bayes với Weka 38

2.5.1 Giới thiệu về file arff 38

2.5.2 Sử dụng Weka để phân loại SVM và Nạve bayes 39

2.6 Kết luận chương 41

Trang 6

CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 42

3.1 Thơng tin dữ liệu và mơi trường thực nghiệm 42

3.2 Phát biểu bài tốn thực nghiệm 43

3.3 Kết quả thử nghiệm 44

3.3.1 Bài tốn 1: So sánh mơ hình Unigram và VSM trong bộ phân loại Support Vector Machine 45

3.3.2 Bài tốn 2: So sánh mơ hình Unigram và VSM trong bộ phân loại Nạve Bayes 46

3.3.3 Bài tốn 3: So sánh tính hiệu quả của 2 bộ phân loại SVM và Nạve Bayes với phương pháp xây dựng vec-tơ đặc trưng Unigram 48

3.3.4 Bài tốn 4: So sánh tính hiệu quả của 2 bộ phân loại SVM và Nạve Bayes với phương pháp xây dựng vec-tơ đặc trưng Vector Space Model 50

3.4 Thảo luận, đánh giá, so sánh 51

3.5 Kết luận chương 52

KẾT LUẬN 53

DANH MỤC CÁC TÀI LIỆU THAM KHẢO 56

PHỤ LỤC 58

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

NLP Natural Language Processing Xử lý ngôn ngữ tự nhiênHCI Human Computer Interaction Tương tác người – máyVSM Vector Space Model Mô hình không gian vec-tơSVM Support Vector Machine Máy vec-tơ hỗ trợ

TF-IDF Term Frequency–Inverse

Document Frequency

Tần suất từ - tuần suất ngược trong văn bản

Trang 8

DANH SÁCH BẢNG

Hình 1.1: Mơ hình xử lý dữ liệu cho bài tốn phân loại cảm xúc 12

Hình 1.2: Mơ tả về siêu phẳng trong SVM 17

Hình 1.3: Mơ tả về đường biên trong SVM 18

Hình 1.4: Mơ tả về đường biên trong SVM 19

Hình 2.1 Mơ hình tổng quát của bài tốn 20

Hình 2.2: Dữ liệu thơ trên trang mp3.zing.vn 23

Hình 2.3: Dữ liệu sau khi crawl về lưu trữ vào cơ sở dữ liệu 23

Hình 2.4 Túi từ vựng được tạo bởi mơ hình n-grams 28

Hình 2.5 Nhĩm 3 vec-tơ khảo sát với mơ hình n-grams 29

Hình 2.6: Minh họa của Christian S Perone 30

Hình 2.7 Kết quả tính tốn TF, IDF với mơ hình VSM 37

Hình 2.8 Kết quả trích chọn đặc trưng với mơ hình VSM 37

Hình 2.9 Nhĩm 3 vec-tơ khảo sát với mơ hình VSM 38

Hình 2.10: Mẫu file arff chuẩn 39

Hình 2.11: Các bước sử dụng Weka để phân loại dữ liệu 40

Hình 2.12: Kết quả đánh giá mơ hình bài tốn 41

Hình 3.1: Biểu đồ so sánh mơ hình unigram và VSM trong SVM với k-folds=5 45

Hình 3.2: Biểu đồ so sánh mơ hình unigram và VSM trong SVM với k-folds=10 46

Hình 3.4: Biểu đồ so sánh mơ hình Unigram và VSM trong Nạve Bayes với k-folds=5 47

Hình 3.5: Biểu đồ so sánh mơ hình Unigram và VSM trong Nạve Bayes với k-folds=10.47 Hình 3.6: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với Unigram với k-folds=5 49

Hình 3.7: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với Unigram với k-folds=10 49

Hình 3.8: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với VSM với k-folds=5 & k-folds=10 50

Trang 9

DANH SÁCH HÌNH VẼ

Hình 1.1: Mơ hình xử lý dữ liệu cho bài tốn phân loại cảm xúc 12

Hình 1.2: Mơ tả về siêu phẳng trong SVM 17

Hình 1.3: Mơ tả về đường biên trong SVM 18

Hình 1.4: Mơ tả về đường biên trong SVM 19

Hình 2.1 Mơ hình tổng quát của bài tốn 20

Hình 2.2: Dữ liệu thơ trên trang mp3.zing.vn 23

Hình 2.3: Dữ liệu sau khi crawl về lưu trữ vào cơ sở dữ liệu 23

Hình 2.4 Túi từ vựng được tạo bởi mơ hình n-grams 28

Hình 2.5 Nhĩm 3 vec-tơ khảo sát với mơ hình n-grams 29

Hình 2.6: Minh họa của Christian S Perone 30

Hình 2.7 Kết quả tính tốn TF, IDF với mơ hình VSM 37

Hình 2.8 Kết quả trích chọn đặc trưng với mơ hình VSM 37

Hình 2.9 Nhĩm 3 vec-tơ khảo sát với mơ hình VSM 38

Hình 2.10: Mẫu file arff chuẩn 39

Hình 2.11: Các bước sử dụng Weka để phân loại dữ liệu 40

Hình 2.12: Kết quả đánh giá mơ hình bài tốn 41

Hình 3.1: Biểu đồ so sánh mơ hình unigram và VSM trong SVM với k-folds=5 45

Hình 3.2: Biểu đồ so sánh mơ hình unigram và VSM trong SVM với k-folds=10 46

Hình 3.4: Biểu đồ so sánh mơ hình Unigram và VSM trong Nạve Bayes với k-folds=5 47

Hình 3.5: Biểu đồ so sánh mơ hình Unigram và VSM trong Nạve Bayes với k-folds=10.47 Hình 3.6: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với Unigram với k-folds=5 49

Hình 3.7: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với Unigram với k-folds=10 49

Hình 3.8: Kết quả so sánh hai bộ phân lớp SVM và Nạve Bayes với VSM với k-folds=5 & k-folds=10 50

Trang 10

MỞ ĐẦU

Ngày nay, với sự gia tăng về số lượng và nội dung các trang thông tin điện tửnhư mp3.zing.vn, keeng.vn và các mạng xã hội như Facebook, Twitter,… Internetkhông chỉ còn là nơi cung cấp thông tin ở dạng sự kiện mà còn là nơi người dùngbày tỏ cảm xúc, trao đổi cảm nhận, kinh nghiệm về các vấn đề đời sống hoặc về cácvấn đề mà chính người dùng đó đang đọc Có rất nhiều các nghiên cứu trong việckhai phá nội dung văn bản để tìm ra những điều mới mẻ phục vụ kinh doanh Chẳnghạn như nhu cầu tổng hợp những phản hồi hay bình luận của người dùng trênInternet để đưa ra kết luận một sản phẩm có tốt hay không? Phản ứng của kháchhàng đối với một sự kiện nào đó như thế nào?…

Đối với lĩnh vực khai phá dữ liệu truyền thống, thay vì tập trung vào lịch sửngười dùng như lịch sử mua bán, thời gian truy cập…, lĩnh vực khai phá cảm xúcngười dùng lại tập trung vào việc phân tích ý nghĩa của các bình luận trên các trangthông tin hay mạng xã hội Do đó, có thể hiểu bài toán phân loại cảm xúc ngườidùng là sự kết hợp của lĩnh vực Khai phá dữ liệu và Xử lý ngôn ngữ tự nhiên Tínhđến hiện nay, việc xử lý bài toán phân loại cảm xúc người dùng có nhiều hướng tiếpcận khác nhau và nhiều mức xử lý khác nhau, tuy nhiên các tài liệu liên quan đếnviệc xử lý đa phần là áp dụng cho tiếng Anh Việc phân loại cảm xúc người dùngcho Tiếng việt còn nhiều hạn chế

Mục đích của luận văn “Phân loại cảm xúc người dùng trong mạng xã hội” làtìm hiểu tổng quan về bài toán phân loại cảm xúc người dùng, tập trung và phân tíchcác phương pháp tiếp cận, các phương thức hoạt động và xử lý dữ liệu chung củabài toán này Đánh giá những thành phần và những yếu tố quan trọng trong việckhai phá ngữ nghĩa Tìm hiểu về các thuật toán học máy, tập trung vào phương thức

và cách trích chọn đặc trưng Đặc biệt với hai phương pháp phân loại dựa trênSupport Vectors Machine và Naive Bayes Đánh giá, so sánh hai phương pháp nàyvới các phương pháp trích chọn đặc trưng khác nhau

Đối tượng nghiên cứu của luận văn là tập trung khai phá phân loại cảm xúccủa người dùng khi đang nghe nhạc dựa trên các bình luận vào bài hát của

Trang 11

mp3.zing.vn Dữ liệu thu thập trên ba miền nhạc trẻ, nhạc cách mạng và tổng hợp.Luận văn tập trung vào cách trích chọn đặc trưng n-grams, mơ hình khơng gian vec-

tơ (Vector Space Model) và xử lý dữ liệu của các thuật tốn học máy, đi sâu hơnvào nghiên cứu thuật tốn SVM & Nạve Bayes Luận văn sẽ thực hiện phân loại

cảm xúc dựa vào tính chất của cảm xúc là: cảm xúc tích cực và cảm xúc tiêu cực.

Cụ thể những nội dung này sẽ được bố cục theo từng chương như sau:

Chương 1 Tổng quan về bài tốn phân loại cảm xúc: Nội dung chương

này sẽ trình bày về lý do và cơ sở lý thuyết cho việc phân loại cảm xúc Các hướngtiếp cận, các hướng nghiên cứu trước đĩ của một số tác giả, đồng thời cũng giớithiệu mơ hình xử lý tổng quát và các khĩ khăn phức tạp khi giải quyết bài tốn.Phần cuối của chương 1 luận văn sẽ giới thiệu về các thuật tốn học máy

Chương 2 Mơ hình bài tốn và các bước trong phân loại cảm xúc người dùng: Nội dung chương này sẽ trình bày mơ hình tiến trình xử lý của ứng dụng mà

luận văn đã xây dựng, bắt đầu bằng tiến trình thu thập dữ liệu, chuẩn hĩa dữ liệu, sửdụng các phương pháp trích chọn đặc trưng khác nhau để vec-tơ hĩa văn bản Bướccuối cùng là sử dụng Weka để áp dụng các bộ phân loại Nạve Bayes và Máy vec-tơ

hỗ trợ (SVM) vào mơ hình bài tốn để đưa ra các kết quả đánh giá sau này

Chương 3 Thử nghiệm và đánh giá kết quả: Sau khi xây dựng ứng dụng,

chương này sẽ tiến hành cài đặt và thử nghiệm hiệu quả của các đặc trưng sử dụng,

từ đĩ chọn ra những đặc trưng cho kết quả cao nhất theo thơng số độ đo Fscore Từ

đĩ rút ra những kết luận quan trọng trong bài tốn phân loại cảm xúc người dùng

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 12

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI CẢM

XÚC NGƯỜI DÙNG

1.1. Bài toán phân loại cảm xúc người dùng trong mạng xã hội

1.1.1. Lý do phân loại cảm xúc người dùng

Ngày nay, với sự phát triển mạnh mẽ của internet… người ta có thể ngồihàng giờ mỗi ngày để đọc báo, nghe nhạc và chia sẻ cảm xúc, viết các ghi chú, bìnhluận… Ẩn trong những bình luận đó là những cảm xúc vui, buồn, yêu, ghét… củangười dùng Những thứ mang hướng “cảm tính” như thế nếu không phải là conngười tự đọc, tự hiểu được thì nó thực sự là một thách thức lớn đối với máy tính

Đứng trên quan điểm thương mại điện tử, thì việc phát hiện ra cảm xúc ngườidùng đúng sẽ giúp ta hiển thị những nội dung quảng cáo tốt hơn Chẳng hạn, pháthiện một người có tâm trạng mệt mỏi, có thể gợi ý một số đồ uống tăng lực, địađiểm giải trí, hay đơn giản là phát một bản nhạc nhẹ nhàng để phục vụ khách hàng

Với những vấn đề đặt ra như thế, luận văn xin chọn đề tài nghiên cứu về

“Phân loại cảm xúc người dùng trong mạng xã hội”.

1.1.2. Giới thiệu bài toán và một số nghiên cứu liên quan

Phân tích tâm lý và khai phá quan điểm người dùng là một trong những vấn

đề được nghiên cứu sôi động nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên (Liu2012) [11]

Cảm xúc được định nghĩa là phản ứng của con người đối với các sự kiện,hiện tượng (kể cả bên trong hoặc bên ngoài cơ thể) cái mà có một ý nghĩa nào đóđối với con người [5]

Cảm xúc, tình cảm là vấn đề được nhiều nhà khoa học quan tâm, nghiên cứu

Vì thế có nhiều quan điểm khác nhau về số lượng các loại cảm xúc Căn cứ vào tính

chất của cảm xúc có thể chia cảm xúc thành 2 loại: cảm xúc tích cực và cảm xúc

tiêu cực Căn cứ vào biểu hiện và nội dung, chúng ta có thể chia cảm xúc thành 6

loại cơ bản: vui, buồn, giận dữ, ngạc nhiên, ghét, sợ hãi Theo nghiên cứu của W.

Trang 13

Gerrod Parrot [1] Từ những cảm xúc cơ bản nhưng dưới sự tác động của các kíchthích khác nhau trong những điều kiện, hồn cảnh khác nhau mà cảm xúc của conngười cũng cĩ lúc đan xen, pha lẫn nhiều cảm xúc khác loại nhưng cùng tồn tạitrong một thời điểm Và chính điều này đã tạo ra hàng loạt các cảm xúc khác.

Trong những năm gần đây, với sự bùng nổ của internet, facebook, twiter…

cĩ rất nhiều những nghiên này cứu tập trung vào miền mạng xã hội Do một số đặcđiểm của của ngơn ngữ trên mạng xã hội, ví dụ hạn chế về số ký tự hoặc cảm xúcphụ thuộc nhiều vào nội dung người dùng đang đọc, nghe nên việc phân loại cảmxúc người dung trong mạng xã hội là một vấn đề đầy thử thách

Các nghiên cứu trước đây chủ yếu tập trưng dựa trên từ vựng – LexiconBased (Hu and Liu 2004) và dựa trên phương pháp học máy - Machine LearningBased Methods (Pang et al 2002) Đối với phương pháp dựa trên từ vựng, kết quảphụ thuộc nhiều vào chất lượng của các từ miêu tả cảm xúc Đối với phương phápdựa trên học máy, ví dụ: SVM, Nạve Bayes, kết quả phụ thuộc nhiều vào cách tríchchọn đặc trưng, mà ở đây sử dụng phổ biến là n-gram hoặc đặc trưng từ vựng(Lexicon-based features) Một số nghiên cứu khác sử dụng mơ hình vec-tơ khơnggian - Vector Space Model (Taner Danisman & Adil Alpkocak 2008) [10] cũngcho thấy sự những ưu điểm của mình

Đối với các nghiên cứu Tiếng Việt trong phạm vi khai phá quan điểm nàycịn ít, chẳng hạn như “A featủe-based opinion mining model on product reviews inVietnames” của Vũ Tiến Thành [4] nghiên cứu 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ĩ

Trong phạm vi luận văn, chúng ta sẽ nghiên cứu phân loại cảm xúc dựa trênphương pháp học máy với hai mơ hình xây dựng vec-tơ đặc trưng N-Grams và mơhình khơng gian vec-tơ (Vector Space Model), và hai bộ phân lớp Nạve Bayes vàmáy vec-tơ hỗ trợ (Support Vector Machine)

Trang 14

1.1.3. Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc

Mặc dù có những hướng tiếp cận để giải quyết bài toán khác nhau, tuy nhiênnhóm nghiên cứu của Pravesh đã đưa ra mô hình chung cho bài toán này trong hộinghị quốc tế về công nghệ tính toán mềm năm 2014 (International Journal on SoftComputing-IJSC) [18]

Hình 1.1: Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc

Ý nghĩa và nhiệm vụ từng tiến trình cụ thể như sau:

1.1.3.1 Thu thập dữ liệu

Bước này sẽ thu thập các trang web chứa bình luận người dùng Để thực hiệnbước này có thể sử dụng cơ sở dữ liệu của trang web hoặc sử dụng Crawler hoặcAgent để thực hiện tự động Kết quả bước này sẽ thu thập được toàn bộ các địnhdạng dữ liệu của website đối tượng ở dạng HTML hay TXT, dữ liệu này sẽ được điqua xử lý ở các bước sau

1.1.3.2 Chuẩn hóa dữ liệu

Về mặt cấu trúc, dữ liệu thu được ở bước thứ nhất ở định dạng HTML hoặcPHP, do đó bước Chuẩn hóa dữ liệu sẽ lọc lấy những thông tin cần thiết như thờigian, tiêu đề bài viết cùng với bình luận người dùng Ngoài ra, những bình luậnngười dùng thu thập được có thể không thỏa mãn những yêu cầu về ngữ pháp hoặcngữ nghĩa Bước này cũng sẽ loại bỏ những mẫu bình luận không phù hợp hoặc sửađổi (như thêm dấu với Tiếng Việt) để đảm bảo dữ liệu thu thập được phù hợp vớiviệc Gán nhãn hay Trích chọn đặc trưng ở bước sau

Trang 15

1.1.3.3 Gán nhãn dữ liệu

Với cách tiếp cận bằng bộ từ vựng, bước này sẽ sử dụng dữ liệu từ bộ từvựng đó để so khớp hay gán nhãn những từ trong văn bản tương ứng trong từ điển.Với phương pháp tiếp cận bằng thuật toán học máy, dữ liệu sẽ được gán nhãn dựavào đặc trưng ngôn ngữ của văn bản Cụ thể như gán nhãn câu, gán nhãn từ và từloại hay các biểu tượng cảm xúc trong bình luận

1.1.3.4 Trích chọn đặc trưng

Dựa trên dữ liệu được gán nhãn, đặc trưng để phân lớp là trọng số hướng ngữnghĩa của bình luận với cách sử dụng bộ từ vựng Các thuật toán học máy sẽ sửdụng đặc trưng ngôn ngữ như n-grams sau khi tách từ hay gán nhãn từ loại để huấnluyện và kiểm thử với bộ dữ liệu chuẩn được chọn ra từ các bước trước đó

1.1.3.5 Phân lớp dữ liệu

Dữ liệu đầu vào đã qua các bước tiền xử lý sẽ qua bộ phân lớp sử dụng cácthuật toán học máy Với cách tiếp cận bằng bộ từ vựng, bước này sẽ áp dụng cácluật ngữ pháp hay các quy tắc thay đổi ngữ nghĩa để tính ra trọng số cuối cùng sau

đó quyết định hướng ngữ nghĩa của bình luận

1.1.4. Những thách thức trong bài toán phân loại cảm xúc

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

luận, tán gẫu trên mạng của người dùng có số ký tự khá ngắn, thường chỉmột đến hai câu Cảm xúc của người dùng phụ thuộc nhiều vào nội dungngười dùng đang đọc, nghe hoặc tâm trạng của họ trước đó Nên việc phânloại cảm xúc người dung trong mạng xã hội là một vấn đề đầy thử thách

ký tự được thay đổi liên tục Nắm bắt được những biểu tượng cảm xúc đó thểhiện cho tâm trạng nào cũng là một thử thách khác biệt

chính thống nên ngôn ngữ bị viết tắt hoặc biến tướng đi rất nhiều, thậm chí là

Trang 16

sai chính tả Chẳng hạn từ “Không” có thể viết tắt thành “ko”, “o”, hoặc “k”.Việc xử lý những ngoại lệ này cũng là một thử thách không nhỏ.

một sự vật hiện tượng được nói đến trong chính nội dung câu đó Ví dụ:

“Chiếc điện thoại này đẹp đấy”, thì quan điểm lúc này là tốt, và đối tượngđược nói tới là “chiếc điện thoại” Nhưng trong miền khai phá cảm xúc, thìđối tượng nói tới không phải là hẳn có sẵn Ví dụ: “Bài hát này rất hay, mỗilần nghe nó tôi lại cảm thấy buồn” thì đối tượng nói tới ở đây là “tôi” chứkhông phải là bài hát Đây là một thách thức lớn dành cho những nghiên cứusâu trong lĩnh vực này

1.2. 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

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, cụ thể:

- Giai đoạn huấn luyện: Từ tập dữ liệu huấn luyện đưa ra được mô hình chotừng lớp

- Giai đoạn áp dụng: Phân lớp văn bản mới dựa vào mô hình đã được xâydựng từ giai đoạn huấn luyện

Ở 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 (Featureselection) Cụ thể các bước này như sau:

- Tiền xử lý dữ liệu (Data preprocessing): Ở bước này, dữ liệu sẽ được xử lý

để loại bỏ hay chỉnh sửa cho phù hợp với mục tiêu của bộ phân loại Với việc xử lýngôn ngữ tự nhiên, dữ liệu thu thập được sẽ chứa những thông tin dư thừa ( thẻHTML, PHP…) hoặc gặp những sai sót về ngữ pháp chính tả Tập dữ liệu thô sẽđược loại bỏ những thông tin dư thừa này hay chỉnh sửa lại những sai sót để đảmbảo cho dữ liệu đạt chuẩn yêu cầu về ngôn ngữ Ở pha tiếp theo, dữ liệu sẽ đượcphân tích thành các đơn vị nhỏ về cú pháp như tách câu, tách từ, gán nhãn hoặcnhận diện từ loại Những thông tin về các đơn vị ngôn ngữ này sẽ ảnh hưởng đến

Trang 17

ngữ nghĩa của câu hay văn bản và sẽ được sử dụng trong việc lựa chọn đặc trưng đểxây dựng mơ hình phân lớp.

- Lựa chọn đặc trưng (Feature selection): Ở bước này, các thành phần ngơnngữ sẽ được lựa chọn hợp lý sao cho một văn bản cĩ thể được vec-tơ hĩa Cụ thể,một văn bản sẽ được biểu diễn như sau:

Trong đĩ

v1, v2 vn là tập các vec-tơ đặc trưngSau khi lựa chọn đặc trưng xong, ta cĩ thể áp dụng một trong nhiều bộ phân loại khác nhau ví dụ như Nạve Bayes hoặc Máy vec-tơ hỗ trợ (SVM)

1.2.1. Phân loại dựa trên Nạve Bayes

Nạve Bayes là kỹ thuật phân loại phổ biến trong học máy cĩ giám sát Ýtưởng chính của kỹ thuật này dựa vào xác suất cĩ điều kiện giữa từ hay cụm từ vànhãn phân loại để dự đốn văn bản mới cần phần loại thuộc lớp nào Nạve Bayesđược ứng dụng nhiều trong giải quyết các bài tốn phân loại văn bản [12]; xây dựng

bộ lọc thư rác tự động [13],[14]; hay trong bài tốn khai phá quan điểm [15],[16]bởi tính dễ hiểu, đễ triển khai cũng như độ chính xác tốt

Ý tưởng cơ bản của cách tiếp cận Nạve Bayes là sử dụng xác suất cĩ điềukiện giữa các đặc trưng và nhãn để dự đốn xác suất nhãn của một văn bản cần phânloại Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuấthiện của tất cả các đặc trưng trong văn bản đều độc lập với nhau Giả định đĩ làmcho việc tính tốn Nạve Bayes hiệu quả và nhanh chĩng hơn các phương pháp khác

vì khơng sử dụng việc kết hợp các đặc trưng để đưa ra phán đốn nhãn Kết quả dựđốn bị ảnh hưởng bởi kích thước tập dữ liệu, chất lượng của khơng gian đặctrưng…

Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:

Trang 18

Áp dụng trong bài tốn phân loại, các dữ kiện gồm cĩ:

D: tập dữ liệu huấn luyện đã được vec-tơ hĩa dưới dạng

Các thuộc tính độc lập điều kiện đơi một với nhau

Theo định lý Bayes:

Theo tính chất độc lập điều kiện:

Trong đĩ:

là xác suất thuộc phân loại i khi biết trước mẫu X

xác suất là phân loại i

loại i

Các bước thực hiện thuật tốn Nạve Bayes:

thức

Trang 19

1.2.2. Phân loại dựa trên máy vec-tơ hỗ trợ (Support Vector Machine)

Máy vec-tơ hỗ trợ (Support Vector Machine - SVM) là một phuơng pháp

tìm một siêu phẳng (Hyper Plane) hay tập các siêu phẳng trong không gian hữu hạnchiều của các vec-tơ biểu diễn văn bản, phân chia các vec-tơ này thành 2 phần là hailớp của bộ phân loại Khoảng cách từ siêu phẳng tới điểm gần nhất được gọi là biêncủa bộ phân loại Khi có một vec-tơ mới, khoảng cách từ vec-tơ này đến đến siêuphẳng được tính toán, sau đó sẽ được xếp vào phân loại phù hợp với nó

Để đơn giản ta sẽ xét bài toán phân loại nhị phân, sau đó sẽ mở rộng vấn đề

ra cho bài toán phân nhiều lớp

Xét một ví dụ của bài toán phân loại hình 1.2 ở đó ta phải tìm một đườngthẳng sao cho bên trái nó toàn là các điểm đỏ, bên phải nó toàn là các điểm xanh.Bài toán mà dùng đường thẳng để phân chia này được gọi là phân loại tuyến tính(linear classification)

Hình 1.2: Mô tả về siêu phẳng trong SVM

Hàm tuyến tính phân biệt hai lớp như sau:

(1)Trong đó:

là vec-tơ trọng số hay vec-tơ chuẩn của siêu phẳng phân cách, T là kíhiệu chuyển vị

là độ lệch

Trang 20

là véc tơ đặc trưng, làm hàm ánh xạ từ không gian đầu vào sangkhông gian đặc trưng.

Lưu ý cách dùng từ ở đây: điểm dữ liệu, mẫu… đều được hiểu là input vec-tơ

không gian đa chiều thì gọi đó là siêu phẳng

Giả sử tập dữ liệu của ta có thể phân tách tuyến tính hoàn toàn (các mẫu đềuđược phân đúng lớp) trong không gian đặc trưng (feature space), do đó sẽ tồn tại giá

huấn luyện

SVM tiếp cận giải quyết vấn đề này thông qua khái niệm gọi là lề, đườngbiên… (margin) Lề được chọn là khoảng cách nhỏ nhất từ đường phân cách đếnmọi điểm dữ liệu hay là khoảng cách từ đường phân cách đến những điểm gần nhất

Hình 1.3: Mô tả về đường biên trong SVM

Trong SVM, đường phân loại tốt nhất chính là đường có khoảng cách marginlớn nhất (tức là sẽ tồn tại rất nhiều đường phân cách xoay theo các phương khácnhau, và ta chọn ra đường phân cách mà có khoảng cách margin là lớn nhất)

Trang 21

Hình 1.4: Mô tả về đường biên trong SVM

Ta có công thức tính khoảng cách từ điểm dữ liệu đến mặt phân cách nhưsau:

1.3. Kết luận chương

Đây là chương mở đầu của luận văn nhằm giới thiệu và tập trung xem xétmột cách tổng quan về bài toán phân loại cảm xúc người dùng trong mạng xã hội.Điều này giúp chúng ta có một cái nhìn sơ lược về bài toán, những thách thức cũngnhư khó khăn khi nghiên cứu lĩnh vực này Luận văn cũng nêu ra hướng nghiên cứu

sẽ được sử dụng trong mà luận văn sẽ áp dụng trong chương 2, chương 3

Trang 22

CHƯƠNG 2: MÔ HÌNH BÀI TOÁN VÀ CÁC BƯỚC TRONG

PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG

Trong chương này, luận văn trình bày chi tiết các bước xây dựng mô hình bàitoán từ thu thập dữ liệu, trích chọn đặc trưng đến sử dụng công cụ để ra được kếtquả khảo sát Nắm vững được phần này thì hoàn toàn có thể xây dựng lại bài toánvới các mô hình trích chọn đặc trưng khác nhau, các kỹ thuật phân loại khác nhauphục vụ cho việc phát triển các hướng nghiên cứu khác sau này

2.1. Mô hình tổng quát bài toán

Hình 2.1 Mô hình tổng quát của bài toán

Trang 23

Đầu vào của mơ hình là tập các dữ liệu bình luận trên các website âm nhạcnhư ZingMp3, Keeng Các bình luận trên các website này cĩ dạng html hoặcjson Bộ Crawler sẽ tiến hành thu thập dữ liệu, loại bỏ các tag khơng cần thiết vàlưu trữ vào database (dưới dạng text).

Các dữ liệu bình luận thơ sẽ được tách từ, loại bỏ các từ dừng (các từ khơng

cĩ ý nghĩa trong việc biểu diễn cảm xúc), các ký tự đặc biệt, ký tự trắng, sửanhững lỗi sai chính tả Dữ liệu bình luận thơ lúc này cĩ thể gọi là dữ liệu đã làmmịn

Cơng việc tiếp theo là xây dựng vec-tơ đặc trưng cho tập bình luận đã làmmịn Mục đích của việc này là biểu diễn dữ liệu bình luận dưới dạng vec-tơ đặctrưng Vec-tơ là kiểu biểu diễn chuẩn để bước tiếp theo ta sử dụng các kỹ thuậtphân loại như Nạve Bayes, SVM Cĩ một số cách để xây dựng vec-tơ đặctrưng, phổ biến là N-Grams và Vector Space Model Kết quả của phần này làfile cĩ đuơi arff

Sau khi cĩ vec-tơ đặc trưng, ta tiến hành phân loại dựa vào kỹ thuật NạveBayes và SVM bằng cơng cụ Weka Trong phạm vi của luận văn, dữ liệu bìnhluận sẽ được phân loại thành một trong hai lớp “Cảm xúc tích cực” và “Cảm xúctiêu cực”

Cảm xúc tích cực là những cảm xúc miêu tả niềm hạnh phúc, vui vẻ, thíchthú, yêu thương Cảm xúc tiêu cực là những cảm xúc miêu tả về sự buồn bã, đauđớn, nhớ thương, chán nản v.v.v Việc phân loại cảm xúc này được phân loạinhư hình 2.2

Trang 24

Bảng 2.1: Bảng phân loại cảm xúc tích cực, tiêu cực

Cuối cùng ta sẽ tiến hành tổng hợp, đánh giá, so sánh về kết quả đạt được.Các pha cụ thể sẽ được trình bày chi tiết ở các mục tiếp theo của luận văngồm thu thập dữ liệu, tiền xử lý dữ liệu, trích chọn đặc trưng sử dụng mơ hình n-grams và mơ hình vec-tơ khơng gian (Vector Space Model), phân loại sử dụnghai bộ phân loại Nạve Bayes và SVM

1.4. Pha thu thập dữ liệu

Luận văn thực hiện thu thập dữ liệu trên 2 website nhạc hàng đầu Việt nam làZingMp3 và Keeng

chuyện phiếm nhiều hơn là bày tỏ cảm xúc / cảm nhận về bài hát Do đĩ,luận văn sẽ tạm thời khơng sử dụng bình luận từ website này

thập dữ liệu bình luận theo 2 chủ đề là “Top 100 bài nhạc cách mạng haynhất”[19] và “Top 100 bài nhạc trẻ hay nhất”[20]

Trang 25

Hình 2.2: Dữ liệu thô trên trang mp3.zing.vn

Để lấy được nội dung dưới dạng json của bình luận, luận văn sử dụng thưviện Gson[21] của Google Dữ liệu sau khi được crawl về sẽ được lưu trực tiếp vào

cơ sở dữ liệu như hình 2.3 để tiện xử lý sau này

Luận văn thu thập các bình luận từ 01/02/2015 đến 01/05/2015

Tổng số bình luận thu thập được là 13645 bình luận

Code chi tiết phần thu thập dữ liệu tại project EmotionClassifications đínhkèm trong phụ lục 01, file CrawlingZing.java

Hình 2.3: Dữ liệu sau khi crawl về lưu trữ vào cơ sở dữ liệu

Trang 26

1.5. Pha tiền xử lý dữ liệu

Trong lĩnh vực xử lý ngôn ngữ tự nhiên, pha tiền xử lý dữ liệu vô cùng quantrọng giúp hiệu chỉnh lại nội dung bình luận, bỏ những phần thừa Điều này sẽ gópphần tăng độ chính xác cho bộ phân loại

Pha tiền xử lý dữ liệu gồm 2 phần chính:

hoặc không liên quan gì đến tâm trạng người dùng hoặc dễ gây hiểu lầm.Đồng thời, lúc này mỗi bình luận cũng được chia vào một trong hai lớp

“Cảm xúc tích cực” và “Cảm xúc tiêu cực” luôn Công việc này đượcthực hiện bởi phương pháp thủ công Sau khi thực hiện phần này, ta được

1034 bình luận Bao gồm 512 bình luận có cảm xúc tích cực, và 522 bìnhluận có cảm xúc tiêu cực

chuẩn các từ viết tắt các thao tác chuẩn hóa được thực hiện như ví dụbảng 2.2 Tại đây, các khoảng cách trắng đã được loại bỏ Các từ viết tắthoặc ngôn ngữ không chính thống đã được làm chuẩn Tại phần này, toàn

bộ câu sẽ được chuyển về dạng ký tự chữ thường để tiện xử lý sau này.Các dấu câu cũng bị loại bỏ

Bảng 2.2: Ví dụ về chuẩn hóa dữ liệu trong pha tiền xử lý

Ví dụ về bình luận

trước chuẩn hóa

Bài này hay wá nghe hoài ko chán

sau khi đã chuẩn hóa

bài này hay quá nghe hoài không

chánCode chi tiết phần tiền xử lý dữ liệu tại project EmotionClassifications đínhkèm trong phụ lục 01, file ReadDataAfterHandle.java

Trang 27

1.6. Pha trích chọn đặc trưng và vec-tơ hĩa văn bản

Để áp dụng được hai bộ phân lớp Nạve Bayes hay SVM, ta phải chuẩn hĩađược dữ liệu đầu vào của hai bộ phân lớp này Cụ thể là từ các tập dữ liệu thu thậpđược, đối với mỗi bình luận, ta phải tìm ra được những đặc trưng của bình luận đĩ,

và chuẩn hĩ nĩ thành vec-tơ Mơ hình tổng thể của bài tốn phân loại cảm xúc sửdụng hai mơ hình trích chọn đặc trưng là n-grams và mơ hình khơng gian vec-tơ(Vector Space Model)

1.6.1. N-grams

Đây là mơ hình phổ biến nhất và dễ áp dụng vì tính đơn giản của nĩ Mơhình cĩ thể áp dụng với hầu hết bài tốn phân loại nĩi chung để xây dựng vec-tơđặc trưng

Với mơ hình N-grams, ta định nghĩa một mẫu các từ cĩ độ dài n Giá trị n cĩthể thay đổi với n =1,2,3, Ta cĩ thể thay đổi nhiều giá trị n khác nhau để tìm ra kếtquả tối ưu nhất Với n = 1 cịn được gọi là Unigram hay Bag Of Words, n = 2bigram, n = 3 trigram Mơ hình này rất tốt trong việc trích chọn đặc trưng ‘phủđịnh’ trong văn bản Chẳng hạn “khơng vui”, “khơng thích” là những mẫu phủ địnhlàm thay đổi hồn tồn cảm xúc của người dùng trong văn bản

Để hiểu hơn về cách trích chọn đặc trưng này ta xét một ví dụ xây dựng

vec-tơ cụ thể dưới đây

Chẳng hạn ta cĩ 2 bình luận:

Bảng 2.3 Các nội dung bình luận ví dụ cho n – gram

như sau:

Bảng 2.4 Túi từ vựng unigram

ID Từ vựng

1 Nghe

Trang 28

Bảng 2.5 Vec-tơ đặc trưng của unigram

Vậy ta được 02 vec-tơ đặc trưng trong mô hình trích chọn đặc trưng unigram

Trang 29

Bảng 2.7 Vec-tơ đặc trưng của bigrams

bài

Bàihát

Hátrất

Rấtbuồn

Tôikhông

Khôngthích

Thíchbài

HátnàyBình

Bình

Vậy ta được 02 vec-tơ đặc trưng trong mô hình trích chọn đặc trưng bigrams

Trang 30

Áp dụng giải thuật:

Code chi tiết phần trích chọn đặc trưng theo mô hình Unigram tại projectEmotionClassifications đính kèm trong phụ lục 01, file TestNgramsMain.java.Chương trình sẽ chạy gồm 2 bước:

Sau khi chạy bước “Tạo túi từ vựng”, ta được bộ gồm 2210 từ, cũng chính là

2210 đặc trưng của phương pháp này Ví dụ như “kiếm”, “kiến”, “niệm”…Các đặc trưng này có thể mang nghĩa không liên quan gì tới miêu tả cảm xúchoặc đôi khi là vô nghĩa

Hình 2.4 Túi từ vựng được tạo bởi mô hình n-grams

Sau khi có “Túi từ vựng”, chương trình sẽ tiến hành quét các bình luận đểxác định xem các đặc trưng trên có xuất hiện trong mỗi bình luận hay không Mỗibình luận là một vec-tơ gồm 2210 đặc trưng ở trạng thái 0 hoặc 1 Các vec-tơ đượcxây dựng theo 3 nhóm: nhạc trẻ, nhạc cách mạng và cả hai loại trên

Ngày đăng: 28/11/2015, 18:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] H. Yujin, Z. Xiaoling, L. L. Wang, and Xuelin. “A bayes text classification method based on vec-tơspace model”. Computer and Digital Engineering, 32:28–30, feb 2004 Sách, tạp chí
Tiêu đề: A bayes text classification method based on vec-tơspace model
[3] Pham Huyen-Trang, et al (2011) "A solution for grouping Vietnamese synonym feature words in product reviews." Services Computing Conference (APSCC), 2011 IEEE Asia-Pacific. IEEE Sách, tạp chí
Tiêu đề: A solution for grouping Vietnamese synonym feature words in product reviews
[4] Vu, Tien-Thanh, et al. "A feature-based opinion mining model on product reviews in Vietnamese." Semantic Methods for Knowledge Management and Communication. Springer Berlin Heidelberg, 2011. 23-33 Sách, tạp chí
Tiêu đề: A feature-based opinion mining model on product reviews in Vietnamese
[14] Johan Hovold “Naive Bayes Spam Filtering Using Word-Position-Based Attributes”, Proceedings of the Second Conference on Email and Anti-Spam, (2004) Sách, tạp chí
Tiêu đề: Naive Bayes Spam Filtering Using Word-Position-Based Attributes
[15] Bo Pang, Lillian Lee “A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts”, Proc. of 42nd ACL, pp. 271-278. (2004) Sách, tạp chí
Tiêu đề: A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts
[16] Yustinus Eko Soelistio and Martinus Raditia Sigit Surendra, “Simple text mining for sentiment analysis of political figure using Nạve Bayes classifier”, The Proceedings of The 7th ICTS, Bali, pp. 99-104, (2013) Sách, tạp chí
Tiêu đề: Simple text mining for sentiment analysis of political figure using Nạve Bayes classifier
[17] CORTES, C. and V. VAPNIK, 1995. Support-vec-tơ networks. Machine Learning. [Cited by 2683] (213.94/year) Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w