Việc khai thác quan điểm của người dùng một cách tự động dựa trên các bàireview, đánh giá hay những comment trên mạng xã hội như Facebook đã vấp phảinhững khó khăn nhất định về độ dài bị
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
oa
LE DUY DAC NHAN
LUAN VAN THAC SI
NGANH KHOA HOC MAY TINH
Mã chuyên ngành: 60.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGÔ THANH HÙNG
TP HO CHÍ MINH - NAM 2017
Trang 2LỜI CAM ĐOANTôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết
quả trình bày trong luận văn là trung thực Các tư liệu được sử dụng trong luận văn
có nguôn gốc và trích dan một cách rõ ràng, day di
Tp Ho Chí Minh, tháng 08 năm 2017
Học viên
Trang 3LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc đến TS Ngô Thanh Hùng, giảng viên
khoa Công Nghệ Phân Mềm, trường Đại học Công Nghệ Thông Tin, Đại học Quốcgia TP Hô Chí Minh đã tận tình hướng dẫn, cung cấp kiến thức, truyền đạt nhữngkinh nghiệm quí báu giúp em hoàn thành tốt luận văn này
Xin cám ơn các Thây, Cô trường Đại học Công Nghệ Thông Tin, Dai họcQuốc gia TP Hô Chi Minh đã nhiệt tình giảng day và cung cấp các kiến thức nên
tang giúp em thực hiện nghiên cứu luận văn.
Xin cám ơn cha, mẹ, các anh, chị em trong gia đình đã hỗ trợ, lo lắng vàđộng viên Đông thời, xin cám ơn tất cả các đồng nghiệp đã ủng hộ, giúp đỡ em
trong quá trình thực hiện luận văn này.
Em rất mong nhận được sự đóng góp ý kiến của các Thây giáo, Cô giáo vàmọi người để luận văn này được hoàn thiện hơn
Em xin chân thành cảm ơn!
Tp Hồ Chí Minh, tháng 08 năm 2017
Học viên
Trang 4Chuong 1: GIGI THIEU G QUAN.
1.1 Phan tích quan điểm
1.2 Những khó khăn trong phân tích quan điểm
1.3 Ứng dụng khai phá quan điểm
1.4, Những nghiên cứu, sản phẩm của khai phá quan điểm
1.5 Mục tiêu của dé tài
Chương 2: Các phương pháp tiếp cận bài toán phân tích quan điềm
2.1 Cac mức độ trong khai phá quan điêm
2.2 Những kĩ thuật, phương pháp tiếp cận bài toán phân tích quan điểm 122.2.1 Hướng tiếp cận phân lớp quan điểm 132.2.2 Phương pháp tiếp cận đối với phân tích quan điểm trên miền
Facebook 14
Chương 3: Phương pháp thực nghiệm
3.1 Phân tích quan điểm trên miền sản phẩm smartphone
3.1.1 Phương pháp „Error! Bookmark not defined.
3.1.2 Kết quả thực nghiệm Error! Bookmark not defined.3.2 Phương pháp đề xuất
3.2.1 Thu thập dữ liệu: Facebook Graph API
3.2.2 Tiền xử lý dữ liệu
3.2.3 Huan luyện dữ liệu
Trang 53.2.4 Bộ phân lớp Nạve Bayes
Trang 6MỤC LỤC HÌNH ẢNHHình 2.1 Các kỹ thuật trong bài toán phân tích quan điểm.
Hình 2.1 Mô hình tổng quát của bộ phân lớp bằng cách tiếp in ngữ vung Bảng 2.2 Mô hình phân lớp tổng quát bằng phương pháp học máy
Hình 3.1 Mô hình hệ thống "
Bang 3.1 Bảng viết tắt từ loại trong cai
Bảng 3.3 Một số luật tách câ
Hình 3.3 Mô tả các bước xây dựng bộ phân lớp
Hình 4.1 Thành phan của bộ hudn luyện
Hình 4.2 Thành phần của di liệu kiêm tra
Bảng 4.1 Bảng nhãn từ và ý nghĩa
Trang 7BANG TU VIET TAT
Từ viết tắt Viết đầy đủ Ý nghĩa
NLP Natural Language Xử lý ngôn ngữ tự nhiên
Processing
SVM Support Vector Machine | Thuật toán máy Vector hỗ trợ
ME Maximum Entropy Thuật toán Entropy cực đại XLNNTN Xử lý ngôn ngữ tự nhiên
Trang 8LỜI MỞ ĐẦU
“Người khác nghĩ gì” luôn là một yếu tố quan trọng ảnh hưởng đến việc đưa raquyết định đối với hầu hết chúng ta Mỗi khi quyết định sự việc, chúng ta đều có xuhướng muốn biết ý kiến của những người xung quanh về van dé đó Trong cuộc sông
ngày nay thực, các doanh nhân hay tổ chức luôn muốn tìm hiểu về ý kiến của kháchhàng hay cộng đồng về sản phẩm và dịch vụ của họ Bản thân mỗi cá nhân cũng muốn
biết về ý kiến của những người dùng khác về một sản phẩm trước khi họ ra quyết địnhmua nó, hay sử dụng dịch vụ đó Việc thu thập ý kiến từ cộng đồng hay người dùngcàng ngày trở thành nhu cầu cấp thiết trong tiếp thị, kinh doanh hay quan hệ côngchúng, thậm chí là trong các chiến dịch tranh cử
Hiện nay nền công nghệ càng ngày càng phát triển, đặc biệt với sự ra đời của Web,
đã giúp cho việc chia sẻ thông tin trong cộng đồng trở nên dễ dàng hơn Và sự bùng
nổ của mang xã hội đã trở thành một nguồn thông tin rất đa dạng và không lồ Theothống kê của tap chí Forbes năm 2014, Facebook hiện có 1.35 tỷ người dùng, Istagram
với hơn 300 triệu người dùng và đứng vị trí thứ 3 là Twitter với khoảng 284 triệu
người dùng Trong đó Facebook có hon 1 tỷ tin nhắn hằng ngày, Twitter với khoảng
500 triệu tweet được gửi đi trong ngày Người dùng các trang mạng xã hội cũng rất đadang, từ những người dùng internet bình thường đến những người nỗi tiếng, đại diện
công ty hay những chính trị gia hay thậm chí là tổng thống Họ có thé chia sẻ nhữngthông tin vô cùng phong phú và phức tạp về cuộc sống của chính mình hoặc quanđiểm về rất nhiều chủ đề và bàn luận về những sự kiện đang diễn ra Họ có thể bànluận về một sản phẩm mới được đưa ra thị trường hay phàn nàn về sản phẩm mà họ
mới sử dụng, thê hiện cảm nhận về bộ phim, bài hát, người noi tiếng
Chính vì thế nó ngày càng trở nên không lồ và đa dang do vậy lượng thông tin ráccũng rất nhiều, vậy làm thế nào để biết được cái gì là cần thiết và cái gì là dư thừa
Các chuyên ngành như Web mining, NLP (Nature Language Processing), hay
Machine Learning đều đi tìm câu trả lời cho câu hỏi đó tuy nhiên chúng cũng chỉ tìm
được câu trả lời cho những phần nhỏ của câu hỏi mà thôi Mỗi người quan tâm một số
lĩnh vực, thông tin về một vài thứ mà trên Web thì bao gồm vô vàn thông tin thếnhưng lĩnh vực mà đa số người đều quan tâm, từ những nhà doanh nghiệp đến kháchhàng đều quan tâm đó chính là sản phẩm Người dùng thì quan tâm sản phẩm này cótốt không, sản phẩm kia tốt ở chỗ nào và chỗ nào không tốt Còn doanh nghiệp thì lại
Trang 9thường quan tâm đến sản phẩm của họ được mọi người tiếp đón thế nào, những điểmnào chưa tốt dé họ bé sung sửa chữa Câu trả lời cho những câu hỏi này nằm trong
nghiên cứu về “Opinion Mining” hay còn gọi “khai phá điểm người dùng” Nghiêncứu này xuất phát từ sự cần thiết, nhu cầu của doanh nghiệp và người dùng, sử dụngnhững công cụ tự động nhằm phân tích phản hồi của người dùng về sản phẩm haydịch vụ của doanh nghiệp, đưa ra những thống kê chỉ tiết về mức độ tình cảm thông
qua các phản hồi
Việc khai thác quan điểm của người dùng một cách tự động dựa trên các bàireview, đánh giá hay những comment trên mạng xã hội như Facebook đã vấp phảinhững khó khăn nhất định về độ dài bị giới hạn, cấu trúc ngữ pháp tự do và chứanhiều lỗi sai chính tả Người dùng còn sử dụng nhiều từ lóng, từ viết tắt, các biểutượng cảm xúc, tên người dùng khác, hay các kí hiệu để đánh dấu chủ đề của tin nhắn
Ngoài ra, vi li do các tin nhắn là ngắn nên người dùng thường chèn thêm các siêu liên
kết tới các trang web khác khi muốn đề cập tới một nội dung nào đó Ví dụ dưới đây làmột tin nhắn trên Facebook: @Nhan Le iphoneSS chạy nhanh hơn, ổn định hơn, camera chụp hình
OK hơn với lại nhìn long lanh và mỏng hon nhiễu, chỉ có pin là hơi đuôi Khó khăn còn gặpphải ở bản thân ngôn ngữ tiếng Việt với những đặc trưng của riêng nó Ta không khó
để nhận thấy ngay sự khác biệt về mặt kí pháp, cú pháp và ngữ pháp tiếng Việt so vớingôn ngữ phỏ biến khác như tiếng Anh
Đề tài “Phân quan điểm người dùng về sản phẩm công nghệ qua các bài reviewtrên Facebook” được đề xuất nhằm mục đích khảo sát ý kiến, quan điểm, ước lượng
mức độ tình cảm của người dùng về một sản phẩm qua các bài review trên mạng xã
hội Qua đó giúp doanh nghiệp có thẻ biết được đánh giá của khác hàng về sản phẩmcủa mình là phản hồi tích cực hay tiêu cực, được yêu thích hay không yêu thích ở mức
độ ra sao, tập trung đúng hướng cải thiện những điểm chưa tốt nhằm phục vụ đúngnhu cầu khách hàng Người dùng có thể tham khảo phản hồi của những người khác để
có thể giúp bản thân có được sự lựa chọn tốt nhất
Mục đích của luận văn là tìm hiểu, nghiên cứu về khai phá quan điểm của người
dùng trên Facebook fanpage của các trang công nghệ như “vnexpress.vn, tinhte.vn,
genk.vn ” với miền tri thức về các tin tức, bình luận về các loại điện thoại thôngminh phổ biến hiện nay Cài đặt thực nghiệm và thống kê độ chính xác trên miền dữ
liệu đó.
Trang 10Luận văn bao gồm những chương chính như sau:
Chương 1: Giới thiệu tong quan về khai pha quan điểm; nhu cầu của việc khai pháquan điêm và một số khái niệm liên qua Đồng thời tôi cũng đề cập đến những khókhăn, thách thức trong việc khai phá quan điểm nói chung, các đề tài ứng dụng đãđược nghiên cứu và thực hiện trong lĩnh vực khai phá quan điểm trong nước và trênthé giời
Chương 2: Trình bày phương pháp khai phá quan điểm đã được phát triển bởi cácnhà nghiên cứu trên thế giới cũng như ở Việt nam đã áp dụng vào việc tổng hợp ý
kiến của người dùng trong tiếng Việt
Chương 3: Trình bày về mô hình khai phá quan điểm và tổng hợp ý kiến người
dùng theo các tính năng của sản phẩm, đề xuất mô hình được áp dụng trong luận văn
này, thử nghiệm với dữ liệu tiếng Việt
Chương 4: Trình bày về kết quả thực nghiệm, đồng thời đưa ra những đánh giá(hạn chế và tích cực) của phương pháp đã được đề xuất trong chương 3
Chương 5: Kết quả đạt được và hướng phát triển của luận văn
Trang 11Chương 1: GIỚI THIỆU TỎNG QUAN
1.1 Phân tích quan điểm
Thuật ngữ “khai phá quan điểm” (Opinion Mining) được Dave [69 — OpinionMining and Sentiment Analysis] đề cập vào năm 2003 song nó thường được giải thíchgắn liền với việc tìm kiếm trên web hoặc trích xuất thông tin (IR — InformationRetrieval) Còn thuật ngữ phan tích quan điểm (Sentiment Analysis) thì gắn liền với
việc phân loại văn bản dựa theo mức độ cảm xúc của người dùng (tích cực hay tiêu
cực) Đến năm 2006, Bing Liu, tác giả quyền sách nồi tiếng, 2012 [5] về lĩnh vực khaiphá quan điểm đã định nghĩa lại một cách rõ ràng hơn về thuật ngữ khai phá quan
điêm như sau:
Phân tích quan điểm (sentiment analysis) hay còn được gọi là khai phá quan điểm(opinion mining) là một lĩnh vực nghiên cứu về phân tích ý kiến, quan điêm, đánh giá,thái độ và cảm xúc về một lĩnh vực cụ thể (entity) ví dụ như: sản phâm, dịch vụ, vấn
dé, sự kiện
Một quan điểm d bao gồm 5 yếu tổ (e;, aij, Su; Hy, t):
d = (6; aij, Sixt, Nx, ty)
Trong do:
: là tên của thực thể
oO ay: là đặc trưng của e¡
©_ Sy: là quan điểm về đặc trưng aj của thực thé e, Quan điểm này có thể tích cực,
tiêu cực, trung lập hoặc có thể được biểu diễn bởi các mức độ khác nhau
o hy: là người đưa ra quan điểm d
© tị thời gian hy, đưa ra quan điểm
Định nghĩa của Bing Liu có một số khái niệm về đối tượng, đặc trưng, người giữquan điểm cần phải được làm rõ như sau:
Đối tượng (object) hoặc Thực thé (entity)
Là một thực thể như người, sản phẩm, sự kiện, chủ dé, tổ chức, vấn đề được
đánh giá Mỗi đối tượng có một tập các thành phần (components) hay thuộc tính
Trang 12(attributes): gọi chung là các đặc trưng (features) Mỗi thành phan hay thuộc tính được
biểu diễn bằng một tập phân cấp gồm tập cha - tập con Đối tượng e có thé được biểu
diễn như sau e: (T, W), trong đó 7 là tập phân cấp gồm tập cha — tập con, và W là tập
“Khả năng hiện thị hình ảnh của iPhone 7 rất tốt”: đặc trưng “khả năng
hiện thi hình anh” là đặc trưng hiện
“iPhone7 mắc qua”: đặc trưng “giá” là đặc trưng an
Đoạn đánh giá
Đoạn đánh giá về một đặc trưng f của đối tượng O trong r là một tập các câu liêntiếp trong r diễn tả quan điểm tích cực hay tiêu cực về đặc trưng f Đoạn đánh giá baogồm tối thiểu ít nhất một câu [12] Da phan các nghiên cứu hiện tại đều tập trung vàophân tích ở mức độ câu, tức là mỗi đoạn sẽ bao gồm một câu và sẽ tiến hành phân tích
từng đoạn (hay câu) Trong ngữ cảnh này 2 khái niệm đó được xem xét tương đương
nhau.
Ví dụ:
Bộ nhớ của điện thoại ít.
Hôm qua, tôi mua một chiếc điện thoại Iphone 5S ở siêu thị điện máy
Trần Anh Tôi rất thích nó Kích thước của nó phù hợp với tay tôi cầm Giá cả
phải chăng mà chat lượng cũng tot
Trang 13Hai ví dụ trên, tuy số lượng câu và độ dài là khác nhau nhưng chúng đều là các
đoạn đánh giá cho sản phẩm điện thoại
Quan điểm ấn, hiện
Quan điểm hiện (explicit opinion) về đặc trưng f của đối tượng O trong tập r là
một câu trực tiếp đưa ra biểu lộ về sản phẩm hoặc khía cảnh cụ thé của sản phẩm
Quan điểm ân (implicit opinion) vé một đặc f của đối tượng O trong tập ra là một câu
thể hiện một cách gián tiếp (ân dụ) quan điểm tích cực hay tiêu cực của người đưa ra
quan điểm
Ví dụ:
“Dién thoại này xài rất tốt”: thể hiện quan điểm hiện — khen chất lượng
của điện thoại
“Dién thoại này mới mua mà đã phải di bảo hành rồi”: thé hiện quan điểm ân —chê chất lượng của điện thoại
1.2 Những khó khăn trong phân tích quan điểm
Thách thức đầu tiên đến từ bản thân ngôn ngữ Mỗi quốc gia khác nhau hay
thậm chí từng vùng miễn trong quốc gia đó có hệ thống ngôn ngữ khác nhau Hệ
thống đó bao gồm các van dé về chữ viết, ngữ pháp, từ vựng của loại ngôn ngữ đó
Do đó việc xây dựng, tìm hiểu một phương pháp chung, một kho từ điển quan điểmchung là vô cùng khó khăn Có thể cách làm này phù hợp với hệ thống ngôn ngữnày song lại không phù hợp với hệ thống ngôn ngữ khác
Thách thức tiếp theo đến từ vấn đề xử lý ngôn ngữ tự nhiên, mỗi người có mộtcách hành văn khác nhau Trong thực tế các bình luận hay quan điểm được đưa ra
bởi những người khác nhau thì họ sẽ có cách diễn đạt không giống nhau từ cách sử
dụng ngôn ngữ, các bình luận được viết theo văn nói và không đúng với cú pháp
câu thông thường, chữ viết tắt hay kiến thức đều riêng biệt và có thể không tuân
theo những quy tắc hay chuẩn mực nhất định nào Ngoài ra còn phải đối mặt vớicác lỗi chính tả, các biểu tượng cảm xúc (emotion) đề thể hiện quan điểm Tiếp đócác trang mạng xã hội, mỗi một bình luận còn thường chứa các hashtag, đường link,
Trang 14điều này làm cho các ứng dụng phân tích quan điểm phải phân loại ra với các bình
luận thông thường
Không chi vậy, quan điểm còn có thể thay đồi theo thời gian Đây là một tháchthức cần phải được xem xét, làm sao dé theo đõi các quan điểm thay đồi theo thờigian Ví dụ “Apple mới nâng cấu cấu hình cho iPhone5S Khá là khủng đấy”, bìnhluận này này có thể phù hợp vào năm 2013 nhưng sau 2 hoặc 3 năm thì không còn
phù hợp nữa.
Ngoài ra các quan điểm mang tính chất so sánh mà không trực tiếp nói đến sản
phẩm được quan tâm Ví dụ trong một bài viết về dòng điện thoại Samsung có
những nhận xét như: “So với máy dòng Android khác thì tốt nhưng còn thua xaIphone lắm =)))” Những nhận xét so sánh với những sản phẩm khác khiến cho các
thông tin bị nhiều và rất dễ dẫn đến sai lệch trong việc đánh giá quan điểm
Một thách thức lớn đối với khai phá quan điểm xuất hiện khi mọi người thể hiện
đánh giá tích cực và tiêu cực trong cùng một câu Mọi người có nhiều ý kiến khác
nhau trong cùng một câu Những câu như vậy có thể gây khó khăn để phân tích cúpháp hoặc khai phá quan điểm Trong luận văn của này, tôi đã cố gắng để giải quyếtvấn đề này bằng việc xây dựng công cụ tách các ý quan điềm trong các câu có đánhgiá về nhiều tính năng thành các ý nhỏ Trong đó, mỗi ý chỉ bao gồm một tính năng vàmột ý kiến đánh giá
1.3 Ứng dụng khai phá quan điểm
Ứng dụng vào việc nghiên cứu thị trường cho doanh nghiệp và người tiêu dùng.Người tiêu dùng khi muốn mua một sản phẩm nào đó, họ thường muốn biết sảnphẩm đó có phù hợp với mình không, cửa hàng nào có dịch vụ hậu mãi tốt, giá ởđâu rẻ hơn đối với họ thì quan điểm của những người đã từng sử dụng sản phẩm
là một nguồn thông tin rất quan trọng với họ Hay đối với doanh nghiệp, trước khiđưa ra một sản phẩm mới hay bắt đầu việc kinh doanh, các doanh nghiệp cũngmuốn biết xu hướng thị hiếu của người tiêu dùng trong thời điểm hiện tại, thái độcủa người tiêu dùng đối với những sản phẩm có tính năng tượng tự như thế nào, cónhững điểm chưa tốt nào cần khắc phục khi đó việc biết được quan điểm của
khách hàng là rất quan trọng
Trang 15Khai phá quan điểm cũng có vài trò quan trọng như một công nghệ hỗ trợ chocác hệ thống khác Một ứng dụng tiềm năng đó là ta có thể áp dụng khai phá quanđiểm trong các hệ thống khuyến cáo, giúp cho hệ thống đưa ra các gợi ý về các sảnphẩm cho người dùng mà có khả năng người dùng quan tâm là cao nhất, tăng lợinhuận cho doanh nghiệp Ví dụ như trong các hệ thống trực tuyến, các quảng cáo
được hiển thị ở góc màn hình cn được kiểm tra xem có phù hợp với nội dung trang
web hay không.
Ngoài ra khai phá quan điểm còn có thé được ứng dung vào chính phủ điện tử.Chẳng hạn như khi một dự luật được đưa ra, chính phủ rất muốn lấy ý kiến của
nhân dân về dự thảo luật, xem rằng nó có hợp lý hay không, nhân dân có những
phản ứng như thé nào về nó
Khai phá quan điểm cũng được dùng rất nhiều trong hệ hỗ trợ quyết định, nhất là
đối với những vấn đề về kinh tế, xã hội Đối với sự kiện chặt 6700 cây xanh ở Hà Nội,phản ứng không đồng tình của người dân đã có tác động to lớn đối với chính quyền
Ủy ban nhân dân thành phó Hà Nội, Bí thư thành ủy Hà Nội phải ra quyết định xemxét và xử lý đối với sở, ban ngành liên quan Hay đối với tin tức về vụ xử phạt đối với
quán café Xin chào tại thành phó Hồ Chí Minh đã buộc thủ tướng Nguyễn Xuân Phúc
ra chỉ đạo xem xét, dừng khởi tố vụ án
1.4 Những nghiên cứu, sản phẩm của khai phá quan điểm
Hiện nay trên thế giới đã có nhiều các nghiên cứu liên quan đến khai phá quanđiểm Có cả những nghiên cứu về mặt lý thuyết dưới dạng các bài báo cáo khoa họccho đến những ứng dụng cụ thé đã được công khai trên những trang mang và đưa
vào sử dụng.
Về mặt sản phẩm ứng dụng hiện nay phải kể đến 2 trang web Sentiment140 và
Tweet Sentiment Visualization Với việc hướng đến kho dữ liệu là các bình luận
trên mạng xã hội Twitter, người dùng có thể nhập đầu vào là một thực thể dướidang từ khóa mà họ quan tâm, ví dụ: “Iphone”, “Ronaldo”, “Obama” hệ thống
sẽ tổng hợp, tìm kiếm sau đó đưa ra phân tích và thống kê
Trang 16Đối với tiếng Việt cũng đã có một số công trình nghiên cứu về khai phá quan điểm
như công trình nghiên cứu về phân tích cảm xúc người dùng máy tính bàn và laptop
[6] của 2 tác giả Kiều Thanh Bình và Phạm Bảo Sơn Nghiên cứu về việc đánh giá, so
sánh của người dùng cho các sản phẩm điện tử [11] của tác giả Nguyễn Thị Duyên.1.5 Mục tiêu của dé tài
Sau khi cân nhắc về mặt thời gian và nhân lực, tôi đã tự đặt ra mục tiêu trong luận
văn này:
— Tìm hiểu van dé cần giải quyết trong việc ứng dụng khai phá quan điểm vàophân tích bình luận của người dùng bằng ngôn ngữ tiếng Việt trong lĩnh vựcSản Phẩm Điện Tử, áp dụng cụ thể cho sản phâm điện thoại thông minh
(smartphone)
— Ứng dụng các cơ sở lý thuyết dé có thé đưa ra được mô hình tổng thể nhằm giảiquyết các bài toán liên quan đến việc rút trích quan điểm và xác định chiềuhướng quan điểm cho các bình luận của người dùng cho sản phẩm điện thoại diđộng Bên cạnh đó, việc rút trích quan điểm còn được phân loại theo tính năng
của sản phẩm (pin, màn hình, giá cả, thiết kế, ứng dụng, camera, cấu hình) trên
mạng xã hội Facebook hiện nay, thay thế cho việc khảo sát bằng phương pháptruyền thông
Xây dựng được ứng dụng cụ thé dé hiện thực hóa mô hình đề xuắt, từ đó kiểm tra
lại tính chính xác và tính khả thi của mô hình.
Trang 17Chương 2: Các phương pháp tiếp cận bài toán phân tích quan
điểm
Hầu hết các ứng dụng khai thác quan điểm cần phải nghiên cứu ý kiến của một sốlượng lớn quan điểm từ nhiều người khác nhau Một ý kiến từ một người duy nhấtthường là không đủ dé đưa ra quyết định Chính vì vậy, cần thiết phải có một công cụ
tự động thực hiện tổng hợp quan điểm từ nhiều người, nhiều đối tượng khác nhau Như đã nói ở trên, khi đưa ra quan điểm về một đối tượng hay một sự kiện nào đó,ngoài những ý kiến đưa ra đánh giá về đối tượng, mọi người thường hay đưa ra ý kiếnđánh giá về một khía cạnh nào đó của đối tượng Vì vậy, tổng hợp quan điểm được ápdụng rãi trong các ngành sản xuất thiết bị điện tử hay smartphone nói chung ngày nay.2.1 Các mức độ trong khai phá quan điểm
Khai phá quan điểm là một chuyên ngành học mới bao gồm: trích xuất thông tin(IR), xử lý ngôn ngữ tự nhiên (NLP) và ngôn ngữ học máy tính Hệ thống đánh giáquan điểm thường có gắng tìm ra những từ, cụm từ chỉ ý kiến, xác định chiều hướng
của những từ, cụm từ, sau đó phân lớp câu, đoạn hay toàn bộ tài liệu dựa trên những
xu hướng quan điểm đó Trong lĩnh vực khai phá quan điểm ba mức độ trong việc
khai phá quan điểm:
© Mức tài liệu (Document level): để đơn giản hóa van đề ta giả sử mỗi đoạn vănthể hiện quan điểm về một thực thể nào đó sẽ chỉ do một người đưa ra Nhiệm vụ củamức độ này là phân loại toàn bộ u chứa quan điểm xem đó là tích cực hay tiêucực Cho ví dụ, khi một đánh giá về sản phẩm được đưa ra, hệ thống sẽ xem xét liệuđánh giá đó có biểu lộ quan điểm tích hay hay tiệu cực về sản phẩm đó không Nhiệm
vụ này thường được biết đến như là việc phân loại ở mức tài liệu Một trong nhữngkhó khăn của vấn dé là trong một đoạn văn bản thường có nhiều những ý kiến khácnhau, thêm nữa những bài viết có chứa quan điểm đánh giá thường được viết theo vănnói nên tính đa dạng phong phú của nó là rất cao, người dùng có thể đưa ra ý kiến cảmxúc của mình theo rất nhiều cách khác nhau, hay thậm chí có thể diễn đạt quan điểm
mà không cần thông qua những từ ngữ trực tiếp
Trang 18o Mức câu (sentence level): nhiệm vụ của mức độ này là phân loại câu để xácđịnh xem đây là câu thể hiện ý kiến tích cực hay tiêu cực hoặc cũng có thể là một ý
kiến trung lập Ta có thể xác định được chủ đề của câu thông qua một bộ từ vựng các
từ quan điểm bằng cách kiểm tra xem các từ trong câu có nằm trong bộ từ vựng
là dựa vào độ tương đồng của mỗi câu Với điều kiện trong một chủ đề các câu chủquan có độ tương đồng cao hơn những câu khách quan Ngoài ra phương pháp nàycòn yêu cầu các câu chủ quan và các câu khách quan trong tài liệu phải đề cập cùngmột chủ dé với câu hỏi
o Mức thực thể, khía cạnh: cả hai mức độ tài liệu và mức độ câu không khám phá
ra được chính xác những gì con người thích và không thích Mức độ khía cạnh thực
hiện việc phân tích một cách cụ thể và sâu sắc Mức độ khía cạnh còn được gọi là mức
độ tính năng Thay vì nhìn vào các cấu trúc ngôn ngữ (tài liệu, đoạn văn, câu, mệnh
đề, cụm từ), mức độ khía cạnh tiếp cận trực tiệp vào ý kiến của bản thân nó Nó dựa
vào nhận định về các ý kiến bao gồm cảm xúc (tích cực hay tiêu cực) và mục tiêu Ta
có ví dụ: “có thể cấu hình iPhone 5S chưa cao nhưng mình vẫn rất hài lòng về nó”
Nếu nhìn vào đó ta thấy đây là một ý kiến tích cực tuy nhiên ta không thé kết luận nó
hoàn toàn là ý kiến tích cực được, về mặt tổng quan người dùng đã hài lòng về chiếc
điện thoại iPhone 5S, tuy nhiên về mặt cấu hình, họ đã biểu lộ ý kiến chê cấu hình
“chưa cao” Trong nhiều ứng dụng cụ thé, việc tập trung phân tích quan điểm còn chia
ra nhiều khía cạnh khác nhau chứ không đơn thuần là một khía cạnh trong cùng mộtsản phẩm
Trong luận văn này, em chỉ tập trung phân tích quan điểm ở mức độ tài liệu
Trang 192.2 Những kĩ thuật, phương pháp tiếp cận bài toán phân tích quan điểm
Trong những năm gần đây, có rất nhiều bài báo và các công trình nghiên cứu cảitiến các thuật toán phân tích quan điểm người dùng Các kỹ thuật này có thể đượcphân loại như trong Hình 2.1 Trong đó ta thấy, có hai hướng tiếp cận chính trong các
kỹ thuật ứng dụng trong giải quyết bài toán phân lớp quan điểm người dùng, đó là: sửdụng các thuật toán học máy hoặc tiếp cận theo hướng sử dụng các kiến thức về từvung và ngữ nghĩa Trong các thuật toán học máy lại có thé được chia ra thành các
thuật toán học có giám sát hay học không giám sát Ngoài ra, trong một, hai năm trở
lại đây bắt đầu xuất hiện các ứng dụng thành công của deep learning vào trong bài
toán phân tích quan điểm [12,13] đạt kết quả cao
stata
Capusased
li approach
‘Semantic
Hình 2.1 Các kỹ thuật trong bài toán phân tích quan điểm
Một cách tổng quát, các bộ phân lớp thường gồm các bước chính sau:
¢ Bước 1: Tiền xử lý dữ : tại bước này, dữ sẽ được làm sạch (data
cleaning), và chuẩn hóa (data normalization), làm đầu vào cho bước tiếp theo
Trang 20¢ Bước 2: Trích trọn đặc trưng và rút gọn đặc trưng (đê giảm độ phức tạp).
¢ Bước 3: Xây dựng mô hình học
© Bước 4: Phân lớp
e Bước 5: Hậu xử lý kết quả phân lớp
Các giải thuật học máy có giám sát đều có hướng tiếp cận chung như sau:
Đầu vào của giải thuật gồm:
ed: tài liệ cần phân loại
¢ C: tập xác định các phân lớp cho tài liệu C = {c, cạ , cạ} Trong bài toán phân tích quan điêm C = {tích cực, tiêu cực, khác}
se Tập dữ liệu huấn luyện với các tài liệu đã được gán nhãn, phân loại thủ công
Đầu ra: bộ phân lớp đã học xong
Trong các mục tiếp theo, chúng tôi sẽ trình bày giới thiệu về một số phương pháptiếp cận phổ biến thường được sử dụng trong phân lớp quan điểm người dung cho dữ
liệu văn bản.
2.2.1 Hướng tiếp cận phân lóp quan điểm
2.2.1.1 Dựa vào miễn tri thức (Knowledge-based)
Trong cach tiép cận nay, mức độ cảm xúc được tính toán dựa vào ham tính toánvới tham số là một số từ khóa nhất định Nhiệm vụ chính cùa phương pháp này là xâydựng được một bộ từ điển (lexicon) các từ mang sắc thái tình cảm, trong đó phải phân
lớp được các từ lớp tích cực (positive), lớp phủ định (negative) hoặc lớp trung gian
(neutral) Sắc thái của các từ trong bộ từ vựng được xây dựng trước khi phân tích quanđiểm Ví dụ, các bộ lexicon có thể được tạo ra bằng cách bắt đầu với một số từ hạt
giống ban đầu, sau đó sử dụng một số thuật giải (heuristic) ngôn ngữ học đề làm giàu
thêm, hoặc bắt đầu với một số từ hạt giống và thêm vào các từ hạt giống khác dựa trêntần số của chúng trong một văn bản
Trang 212.2.1.2 Dựa vào mối quan hệ (Relationship-based)
Trong phương pháp này, việc phân lớp được thực hiện dựa vào những mối quan hệkhác nhau giữa các đặc trưng (features) hoặc bộ phận (components) Những quan hệ
đó có thể lá quan hệ giữa các thành phần được đề cập trong đoạn hoặc mối quan hệgiữa các đặc trưng Chẳng hạn, nếu muốn biết khách hàng đánh giá an pham củamột thương hiệu nào đó, ta có thể xem xét cảm nghĩ của khách hàng về tính năng hoặcthành phầm của nó
2.2.1.3 Dựa vào mô hình ngôn ngữ
Ở đây việc phân lớp được tiếp cận bằng cách xây dựng mô hình ngôn ngữ n-gram.Nhiệm vụ của mô hình ngôn ngữ là cho biết xác xuất của một từ hay một chuỗi m
phần tử (thường là câu) P(w¡ ,W2 Wm), tức là cho phép dự đoán khả năng một chuỗi
từ xuất hiện trong ngôn ngữ đó Nói chung, trong cách tiếp cận này ta ước lượng tần
số xuất hiện của n-gram Trong rút trích thông tin truyền thống và phân loại theo chủ
đề, việc phân loại băng tần số n-gram cho kết quả tốt hơn Tần số được chuyền thành
TF-IDF (Term frequency — Identifier frequency) để xác định mức độ quan trọng của
từ trong tài liệu được phân loại Với mô hình n-gram và uni-gram được xem là đặc
trưng, phương pháp này đã được nghiên cứu nhiều và đạt kết quả tốt B Pang vànhóm tác giả [7] sử dụng mô hình uni-gram trên các đánh giá về phim của khách
hàng, K Dave và nhóm tác giả [4] sử dụng bi-grams và tri-grams trên các đánh giá về
sản phẩm cho kết quả tốt hơn
2.2.2 Phương pháp tiếp cận dối với phân tích quan điểm trên miền Facebook
Sự khác biệt chính giữa việc phân tích quan điểm qua các comments trên
Facebook và tà u đó là cách phân tích các bình luận Facebook thường là xác định
các tính từ thé hiện sắc thái tình cảm, do đa phầm người dùng có xu hướng đưa ra cácbình luận ngắn gọn Trong khi đó việc phân tích quan điểm qua tài liệu thường tậptrung vào việc xác định các đặc trưng có trong văn bản đó Có 3 cách tiếp cận chínhđối với vấn đề phân tích quan điểm người dùng qua các bình luận:
o_ Tiếp cận theo phương pháp Phân tích từ vựng
© Tiếp cận theo phương pháp Máy học
Trang 22o Tiếp cận theo phương pháp kết hợp
2.2.2.1 Phương pháp tiếp cận phân tích từ vựng
Cách tiếp cận từ vựng thường sử dụng bộ từ điển hoặc tập từ vựng đã được gắn
nhãn trước Từng từ trong tài liệu sẽ được so với từ điển đó Nếu một từ xuất hiệntrong từ điển, thì giá trị tình cảm (polarity) của từ đó sẽ được thêm vào "tổng số điểm
tình cảm" của toàn văn bản Ví dụ nếu từ “tuyệt vời” được tìm thấy trong từ điển, và
nó được chú thích mang ý nghĩa tích cực thì tông giá trị tình cảm của tài liệu sẽ tăng
lên Nếu tổng giá trị mức độ tình cảm của văn bản lớn hơn ngưỡng (threshold) thì nó
được phân lớp là tích cực, ngược lại nó thuộc lớp tiêu cực.
Bởi vì việc phân lớp của câu phụ thuộc vào điêm sô mà nó nhận được nên việc tìm
ra thông tin nào của từ là phù hợp nhất cần rất nhiều thời gian để xử lý Công trình
nghiên cứu [9] của J Wiebe và đồng nghiệp đã chỉ ra rằng tính chủ quan của một câuđánh giá có thể được xác định thông qua việc sử dụng một từ điển chỉ chứa các tinh từđược gán nhãn thủ công Độ chính xác đạt tới 80% cho những cụm từ đơn Phát triển
rộng thêm, [6] cũng sử dụng cùng một phương pháp như [9] và áp dụng cho từ vựng
loại động từ, họ đã thử nghiệm mô hình trên tập dữ liệu bài review về phim Song kết
quả đạt chỉ 62% Không sử dụng bộ từ vựng được gán nhãn thủ công, Turney [2] đã
dùng công cụ tìm kiếm trên Internet là AltaVista dé xác định sắc thái của từ trong kho
từ vựng Turney thực hiện hai phép truy vấn: kết hợp từ cần xác định với từ “tốt, kếthợp từ đó với từ “xấu” Sắc thái của từ sẽ được quyết định bởi câu truy vấn nào trả về
số kết quả nhiều hơn Độ chính xác của phương pháp này đạt tới 65%
Trong một nghiên cứu khác, [8] và [10] sử dụng cơ sở dit liệu WordNet để xác
định sắc thái tình cảm của từ Các tác giả đã so sánh từ mục tiêu với hai từ chính
(thường là "tốt" và "xấu") đề tìm đường ngắn nhất từ “từ mục tiêu” đến từ trục trong
hệ thống phân cấp cây WordNet Chiều dài của con đường ngắn nhất này sẽ được
chuyên thành điểm số, giá trị này được lưu vào trong từ điển Độ chính xác đạt được
của [10] là 64% Có một phương pháp tiếp cận khác thay WordNet đã được đề xuất
trong [11] đó là tính toán chiều hướng ý nghĩa của một từ [7] Lấy độ tương quan của
một từ với tập từ mang chiều hướng tích cực trừ đi độ tương quan của từ đó với tập từ
Trang 23mang chiều hướng tiêu cực, [11] đạt được độ chính xác đến 82% với hai chỉ số thống
kê mang hai sắc thái tương phản
Hình 2.1 Mơ hình tổng quát của bộ phân lớp bằng cách tiếp cận ngữ vựng
2.2.2.2 Phương pháp tiếp cận bằng Máy học
Trong hướng tiếp cận máy học cần hai tập dữ liệu: Tập dữ liệu huấn luyện và tập
dữ liệu kiếm tra Các thuật tốn máy học đã được các nhà nghiên cứu sử dụng thành
cơng, mang lại kết quả cao là Support Vector Machine (SVM), Nạve Bayes (NB) và
Maximum Entropy (ME) Thuật tốn máy học cần xác định đặc trưng và các đặc
trưng thường được sử dụng:
o Tần số xuất hiện (TF-IDF): Với mơ hình n-gram và uni-gram được xem là
đặc trưng, phương pháp này đã được nghiên cứu nhiều và đạt kết quả tốt B Pang vànhĩm tác giả [7] sử dụng mơ hình uni-gram trên các đánh giá về phim của kháchhàng, K Dave và nhĩm tác giả [4] sử dụng bi-grams và tri-grams trên các đánh giá vềsản phẩm
Trang 24o Part of speech (POS): Các từ trong đánh giá được gắn thé POS để sử dụng
làm đặc trưng R Prabowo và M Thelwall [13] sử dụng POS trong nghiên cứu của họ tạo một tập các đặc trưng với tính từ và trạng từ M Hu và B Liu [13] sử dụng thẻ
POS và một số kỹ thuật xử lý ngơn ngữ tự nhiên đề lấy tính từ và các từ cảm xúc
o Phú định: B Pang va L Lee [3] sử dụng dé tim các từ trái nghĩa, là một yếu tố
quan trọng trong phân tích đánh giá B Pang và nhĩm tác giả [7] đã sử dụng ba thuật tốn máy học: Support Vector Machine, Nạve Bayes và Maximum Entropy Họ đã so
sánh hiệu quả và đi đến một kết luận rằng, Naive Bayes thực hiện tốt trên tập đặctrưng nhỏ, Support Vector Machine thực hiện tốt trên khơng gian đặc trưng lớn,Maximum Entropy cho kết quả tốt hơn so với Nạve Bayes khi thử nghiệm với khơng
gian đặc trưng lớn [7].
Trong các thuật tốn máy học, SVM được chứng minh là cơng cụ phân lớp mạnh,
hiệu quả hơn phân lớp văn bản truyền thống như Nạve Bayes Thêm vào đĩ, B.Pang
và các cộng sự [4] áp dụng kỹ thuật Nạve Bayes, maximum entropy và SVM để xácđịnh hướng quan điểm phân cực trong bình luận về phim Kết quả phân lớp sử dụng
mơ hình unigram và phân lớp SVM đạt kết quả cao nhất 82.9%
2.2.2.3 Phương pháp lai
Một số phương pháp tiếp cận phân tích quan điểm người dùng bằng cách sử dụngkết hợp cả 2 cách trên Một trong số đĩ đã được áp dụng trong [17] Khởi đầu bằng
việc áp dụng cho cặp từ vựng và dữ liệu chưa được gán nhãn Với hai tập từ vựng
mang ý nghĩa sắc thái trái ngược nhau (tích cực và tiêu cực), các tác giả tạo ra các tàiliệu giả chứa tất cả những từ trong tập từ vựng được chọn Sau đĩ, họ tính tốn độ
tương tự giữa tài liệu giả đĩ và tập dữ liệu chưa được gán nhãn theo phương pháp cosine Dựa trên độ đo cosine, ta sẽ phân lớp tài liệu là tích cực hoặc tiêu cực Sau đĩ
chúng sẽ được dùng đề huấn luyện theo phương pháp Naive Bayes
Trong một nghiên cứu khác [18], B Liu và nhĩm tác giả cũng đề xuất hướng tiếpcận kết hợp tương tự như trên, trong đĩ nhĩm tác giả đã đưa ra một “mơ hình thốngnhất” giúp ta sử dụng thơng tin cơ bản của từ vựng trong lớp từ liên kết với nhau, và
cho phép làm mới lại những thơng tin này đổi với bất cứ miền thơng tin nà, nĩ cịn cĩ
thể được áp dụng với những tập dữ liệu huấn luyện sẵn cĩ bắt kỳ Nhĩm tác giả đã đề
Trang 25xuất một bộ phân lớp gọi là “đa thức vịng lặp” (polling mulúnomial), một tên gọi
khác của hàm đa thức Nạve Bayes Song khơng giống như [17], nhĩm tác giả đã dùng
một bộ dữ liệu được gán nhán thủ cơng để huấn luyện Kết quả đạt được cho thấy việc
kết hợp kiến thức về từ vựng nâng cao hiệu suất, tốt hơn việc sử dụng các cách tiếpcận sử dụng kiến thức về từ vựng hoặc huấn luyện dữ liệu một cách riêng biệt,
Phân tích
Trang 26Chương 3: Phương pháp thực nghiệm
3.1 Phân tích quan điểm trên miền sản phẩm smartphone
Với sự phát triển nhanh chóng của tài nguyên mạng, đặc biệt là những quan điểmtrực tuyến (quan điểm sản phẩm, quan điểm phim ảnh, ) nhiều nghiên cứu hiện đangchú trọng vào mảng phân tích ý kiến, cũng được biết đến như mảng đánh giá quanđiểm Đó là một chuyên ngành học mới bao gồm: trích xuất thông tin (IR), xử lý ngônngữ tự nhiên (NLP) và ngôn ngữ học máy tính Hệ thống đánh giá quan điểm thường
cố gắng tìm ra những từ, cụm từ chỉ ý kiến, xác định chiều hướng của những từ, cụm
từ, sau đó phân lớp câu, đoạn hay toàn bộ tài liệu dựa trên những xu hướng quan điểm
đó Bởi vậy, nhiệm vụ thông thường của hệ thống đánh giá quan điểm bao gồm nhậnbiết từ, cụm từ chỉ quan điểm và phân loại tài liệu hoặc câu theo các chiều hướng quanđiểm Khác với việc phân loại thể loại hay chủ đề, việc phân loại quan điểm đòi hỏi sự
am hiểu về chiều hướng cảm xúc trong bài viết Một số khía cạnh mang tính thách
thức trong đánh giá quan điêm tồn tại trong việc sử dụng những loại từ khác, việc xâydựng thuật ngữ quan điểm, những mức độ quan điểm khác nhau, sự phức tạp của câuchữ, từ ngữ trong những văn cảnh khác nhau, việc phân loại quan điểm trong bài viết
phức tạp.
Ngoài ra, trong quá trình xây dựng hệ thống, ngoài các khó khăn về vấn đề khaiphá dữ liệu như đã trình bày ở trên thì tôi còn gặp một khó khăn lớn về vấn đề xử lýngôn ngữ tiếng Việt Dữ liệu khi thu thập từ trên diễn đàn, có những trường hợp ngườidùng không chỉ đánh giá về một tính năng trên một câu mà họ thường đánh giá về 2, 3tính năng hoặc nhiều hơn nữa Tôi xây dựng bộ công cụ tách câu ghép và câu phứcthành các câu đơn đề thu được kết quả chính xác hơn Khi đưa ra các ý kiến nhận xét
của mình, mọi người thường dùng ngôn ngữ nói trong các bình luận Thông thường,
ngôn ngữ nói không tuân theo chuẩn cấu trúc câu chung mà mỗi người sẽ có một cáchviết khác nhau Vì vậy, việc xử lý ngôn ngữ trong tiếng Việt là vô cùng khó khăn Khithực hiện tách câu, tôi chỉ quan tâm đến từ loại danh từ và tính từ và các từ nối trongcâu, bỏ qua các từ loại khác Khi xây dựng hệ thống, tôi bỏ qua bước trích xuất thựcthể cho đối tượng, và loại bỏ các quan điểm spam, coi tất cả các ý kiến đánh giá đều là
Trang 27các đánh giá về một đối tượng Việc thực hiện loại bỏ các quan điểm Spam và cácquan điểm đánh giá về các đối tượng khác tơi thực hiện một cách thủ cơng.
3.2 Phương pháp đề xuất
Tính ưu việt của phương pháp tiếp cận ngữ vựng (cho tốc độ xử lý nhanh) vàphương pháp máy học tính (vì độ chính xác của nĩ) đã rất phơ biến trên thế giới Cách
tiếp cận ngữ vựng cho kết qua rất nhanh bởi vì các khía cạnh hay đặc trưng được xác
định trước (ví dụ như trong từ điên) để sử dụng trong quá trình trích xuất mức độ tình
cảm Xây dựng được một từ điển để tham chiếu lúc chạy sẽ giảm bớt thời gian xử lý
theo ham mũ Đề cải thiện hiệu suất của các phương pháp ngữ vựng, các tập tính năng
phải cũng phải được mở rộng ra rất nhiều ví dụ nhử một bộ từ điển vơ cùng lớn về sốlượng cũng độ đa dạng của nĩ, kèm theo đĩ là tần số xuất hiện của các từ trong bộ từ
điển Kích thước của bộ từ điển càng lớn thì càng ảnh hướng đến thời gian xử lý Như
vậy, trong cách tiếp cận ngữ vựng hiệu suất và thời gian xử lý tỉ lệ thuận với nhau.Ngồi ra, các phương pháp tiếp cận bằng máy học học bằng đệ quy, và cĩ khả năng tựđiều chỉnh các đặc trưng của chúng, nên với các bộ dữ liệu đầu vào lớn, chúng chothay hiệu suất vượt trội so với các cách tiếp cận bằng ngữ vựng Tuy nhiên, do việc tựđiểu chỉnh và học trong quá trình xử lý nên hiệu suất hệ thống sẽ giảm rõ rệt nếu độ
khĩ tăng.
Mục tiêu của tơi là đề xuất được một phương pháp kết hợp được phương pháp ngữ
vựng và máy học lại với nhau dé cho được kết quả tốt nhất Vì thế trong luận văn nàytơi sử dụng bộ phân lớp Nạve Bayes kết hợp với kho ngữ vựng chứa các từ quanđiểm VietSentiment WordNet Hệ thống của tơi cĩ thể được khái quát hĩa qua hình3.1 Hình 3.1 mơ tả khái quát mơ hình hệ thống phân tích và tong hợp quan điểm trựctuyến của người tiêu dùng Hệ thống của tơi gồm các cơng việc sau:
- Thu thập dữ liệu: Thực hiện thu thập tất cả các ý kiến đánh giá về dịng sản
phẩm điện thoại đi động trên nguồn dữ liệu Facebook Fanpage “tinhte.vn” và
“vnexpress.net”.
- Tiền xử lý dữ liệu: Thực hiện gán nhãn từ loại cho các từ trong câu và loại bỏ
đi các câu khơng phải là các câu quan điểm
Trang 28- Huấn luyện dữ liệu mẫu: Nhận dang thủ cơng từng câu trong bộ dữ liệu mẫu
và phân vào các lớp positive (tích cực), negative (tiêu cực) va other (khác).
- Phan lớp quan điểm theo học máy Nạve Bayes: Dựa vào đầu vào là bộ dữ liệu
mẫu và các câu đánh giá đã được gán nhãn từ loại, đầu ra là phân lớp (tích cực,
tiêu cực hay khơng liên qua) cho các câu đã được gan nhãn trong tập dữ liệu.
- Tổng hợp kết quả: tính trọng số cho mỗi đánh giá dựa trên trọng số của các
cụm từ chỉ quan điểm đã rút trích được, sau đĩ phân loại đánh giá thơng qua
trọng số đĩ Cuối cùng tổng hợp dé tính điểm cho từng tính năng của thực thé
truy vấn dựa trên điểm của các cụm từ chỉ quan điểm liên quan đến nĩ và xuất
Python script crawler
Facebook Graph API
Loại bỏ thẻ Tach comment thành tập |_ Loại bỏ câu Gán nhãn từ
word, ký tự đặc quan điểm
biệt
Tập dữ liệu mẫu từ Facebook đã được phân lớp quan điểm
Bộ phân lớp Nạve Bayes
J
Trang 29Tính toán mức độ quan điểm
Hình 3.1 Mô hình hệ thống
3.2.1 Thu thập dữ liệu: Facebook Graph API
Để phân lớp và huấn luyện ta cần thu thập dữ liệu từ Facebook Vì thế Facebook
đã cung cấp cho các lập trình viên API để giúp ta có thể lấy được dữ liệu từ các
comment của người dùng về một bài viết Graph API được đặt tên theo ý tưởng của
một "đỗ thị xã hội" - một đại diện của các thông tin trên Facebook bao gồm:
- node (nút): Một cách cơ ban là những "thứ" người ta sử dụng, một hình ảnh, một trang, một nhận xét trong facebook
-_ edge (cạnh): Là các kết nối giữa những "thứ", chăng hạn như kết nối giữa
hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh được ghi chú
đó
- field (trường/lĩnh vực): Thông tin về những "thứ", chăng hạn như ngày sinh
nhật của người sử dụng, hoặc tên của một trang.
Graph API cung cấp ba phương thức cơ bản: requesting data (yêu cầu dữ liệu),
posting data (gửi dữ liệu), deleting data (xóa dữ liệu) Tuy nhiên trong quá trình thu
thập dữ liệu từ comment của các bài review sản phẩm tôi chỉ quan tâm đến việc yêucầu gửi di liệu Thông thường bạn có thể đọc dữ liệu các API bằng cách tạo các
HTTP GET request đến các node hoặc các edge của các node
- Object: Mỗi một node có một ID duy nhất dé truy cập thông qua GraphAPI Format của các Oject thường thay đổi theo thời gian và theo các ứng
dụng Ta có thé truy vấn thông tin của đối tượng thông qua Graph API bằng
liên kết
https://graph.facebook.com/objectID/posts?access_token=[access_token]
- Access token: La chuỗi được phat sinh ngẫu nhiên, được cung cấp tạm thời
và sử dụng trên các truy vấn trên facebook, giúp đảm bảo tính bảo mật Nóicách khác nó là một mã cho phép bạn gửi một cái yêu cầu tới server, nếu
Trang 30đang login vào một tài khoản facebook nào đó thì giá trị này được mặc định
hiển thị cho tài khoản đó
Tôi lấy dữ liệu comments của người dùng đối với các bài post trên Facebook thông
qua đường link dưới đây:
https://developers.facebook.com/tools/explorer/145634995501895/2method=GET
&path=FacebookID_PostID%2Fcomments&version=v2.4
3.2.2 Tiền xứ lý dữ liệu
Một nét đặc trưng rất khác biệt của tiếng Việt so với tiếng Anh đó là vấn đề tách từ
(word segmentation) Trong tiếng Anh các từ được phân biệt bởi khoảng trắng, tuynhiên từ trong tiếng Việt thì không như vậy Trong tiếng Việt chỉ coi những từ phânbiệt với nhau bởi dấu trống như ở từ trong tiếng Anh là một tiếng và một từ có thể baogồm một, hai, ba hoặc nhiều tiếng Một tiếng có thể liên kết với từ đứng trước nó,
hoặc đứng sau nó để tạo thành từ Ngoài yêu cầu bắt buộc về một bộ tách từ, chúng tôi
còn sử dụng thêm bộ gán nhãn từ loại trong giai đoạn tiền xử lý của hệ thống, nhằmcung cấp được nhiều thông tin cho các giai đoạn xử lý tiếp theo
Trong bước này, tôi thực hiện tách những câu trong bình luận thành những câu
đơn, tách từ, loại bỏ dấu hay từ kết thúc câu (stop words), gán nhãn cho các từ loại và
loại bỏ đi các câu không phải là câu quan điểm
Tách thành câu đơn
âu theo dấu hiệu kết thúc
Mỗi bình luận, đánh giá sẽ được phân tách thành tập c:
câu như: “.”, “!”, “2”, “\n”, Ví dụ: Xét bình luận: “Mới ra ngoài showroom cầm thử
iPhone, nhìn bên ngoài khá đẹp và cực kỳ sang trọng, cam thích cực kỳ :D Mặt dướilàm bằng nhôm nên không bị in dấu vân tay khi cẩm.”, được phân tách thành: “Mới rangoài showroom cầm thử iPhone, nhìn bên ngoài khá dep và cực kỳ sang trọng, cầmthích cực kỳ :D”, “Mặt dưới làm bằng nhôm nên không bị in dấu vân tay khi cẩm”
Loại bó các ký tự biểu tượng đặc biệt, sửa lỗi chính tả
Ngôn ngữ dùng trong các comment trên Facebook thường được viết theo văn
phong nói nên việc gặp phải lỗi chính tả là điều không thé tránh khỏi Ngoài ra trong
các bình luận của người dùng còn chứa những ký tự đặc biệt như “©; ©; :D; @; =))
Trang 31” để nhắn mạnh cảm xúc của mình nên tôi xây dựng tập dữ liệu bao gồm những ký
tự cảm xúc và thay thế nó bang từ khóa “LAUGH” để tiện trong việc phân tích quanđiểm
(a) Loại bỏ các câu không phải câu quan điểm
Câu bình luận xuất hiện trong bài báo nói về sản phẩm đang xét có thê chưa chắc
là đang nói về sản phẩm đó, nó có thể là nhắc đến sản phẩm khác hoặc đang so sánh
sản phẩm đang xét với sản phẩm khác Vì thế ta cần phải đảm bảo các câu trong bình
luận phải nói về sản phẩm đó thì mới tính là câu chứa quan điểm
Khi thu thập các ý kiến đánh giá từ comment của người dùng thì không phải tất cảcác câu thu được đều là câu quan điềm Câu quan điểm là câu có chứa nr quan điểm.Như trong vi dụ (b) phần trên, May con zen xách dép cũng ko so được với em nó, saukhi gán nhãn từ loại, ta thu được kết quả Mdy/L con/N zen/V xách/V dép/N cũng/Rko/V so/V được/V với/E em/N nớ/N Theo nghiên cứu của Liu [7] thì các từ quan điểmtrong câu thường là các tính từ (A) Trong câu trên không chứa tính từ nào nên có thểcoi đó không phải là một câu quan điểm Hệ thống thực hiện loại bỏ các câu khôngphải là câu quan điểm trong bộ dữ liệu thu thập được
Gán nhãn cho các từ loại
Tôi sử dụng bộ công cụ JvnTextPro của tác giả Nguyễn Cam Tú dành cho xử lýcác câu trong Tiếng Việt để tách câu, tách từ và gán nhãn cho các từ loại cho các từ,
cụm từ trong câu bằng phương pháp sử dụng CRFs (Conditionnal Random Fields)
1 N: Noun (danh từ) 12 C: conjunction (liên từ)
2 Np: Personal Noun (danh từ riêng)
3 Ne: Classification Noun (danh từ chi
loại)
4 Nu: Unit Noun (danh từ đơn vị)
5 V: verb (động từ)
6 A: Adjective (tinh từ)
13 I: Interjection (than tir)
14 T: Particle, modal particle (trợ từ,
tiéu tir)
15 B: Words from foreign countries
(Từ mượn tiếng nước ngoài ví dụ
Internet, )
Trang 327 P: Pronoun (đại từ) 16 Y: abbreviation (từ việt tat)
8: L: attribute (định từ) 17 X: un-known (các từ không phân
9 M: Numeral (số từ) loại được)
10 R: Adjunct (phụ từ) 18 Mrk: punctuations (các dấu câu)
(b) Giá lại còn ngon nữa
(c) Máy con zen xách dép cũng ko so được với em nó
Dữ liệu được đưa qua bộ tách từ để tách các từ, cụm từ (các từ nào được ghép với
nhau tạo thành một cụm từ được các định trong bước này)
(b) Man_hinh đẹp
(c) Giá lại còn ngon nữa
(d) Máy con zen xách dép cũng ko so được với em nó
Cuối cùng, dữ liệu được đưa qua bộ gán nhãn với phương pháp CRFs, chúng ta thu
được nhãn của các từ, cụm từ như sau:
(e) Man_hinh/N đẹp/A
(Ð Giá/N lạ/R còn ngon/A nữa/R
.Máy/L con/N zen/V xách/V dép/N cũng/R ko/V so/V được/V với/E em/N nớ/N
Xây dựng vector đặc trưng
Tiếp đó, mỗi văn bản di trong tập ngữ liệu đang xét sẽ được mô hình hóa như làmột vector trọng số của các đặc trưng, d;(w¡i Wim) Trọng số của một từ sẽ được
Trang 33tính theo tần suất xuất hiện của từ trong văn ban (TF) và tần suất nghịch đảo
của từ trong tập ngữ liệu (IDF).
N
wy = TRy x IDFy = TRị x toe (Gr)
o TF, là số lần xuất hiện của từ thứ j trong văn ban i
o DF; là tổng số văn bản có chứa từ thứ j trong tập ngữ liệu
o N là tổng số văn bản trong tập ngữ liệu
“giá”, “bình dân”}, dạ = {“giá”, “hợp”, “túi
Với “Xiaomi”: tf(*“xiaomi”, dị) = 1; IDF(“xiaomi”) = log(2/1) = 0.3; TF*IDF =
0.3
Với “gid”: th(“gid”, dl) = 1; idf(*giđ”) = log(2/2) = 0; TF*IDF = 0
Mô hình hóa, ta được vector đặc trưng:
đ;(0.3;0.3; 0.3; 0; 0); đạ(0; 0.3; 0.3)
3.2.3 Huấn luyện dữ liệu
Để việc phân lớp cho dữ liệu huấn luyện được chính xác và đạt được tỉ lệ cao nhất
có thê, tôi dự định huấn luyện dữ liệu mẫu bằng cách sử dụng các tập dữ liệu mẫu đã
được gán nhãn sẵn Tuy nhiên hiện nay tình hình phân tích quan điểm người dùngtrong tiếng Việt vẫn còn chưa phát triển rộng rãi nên vẫn chưa có tập dữ liệu mẫu
chuẩn đã được gán nhãn sẵn.
Gán nhãn đữ liệu
Vi lý do trên, tôi dự định sẽ thực hiện gán nhãn bộ dữ liệu mẫu một cách thủ công.
Tôi thu thập tập dữ liệu comment về các bài review các sản phẩm smartphone với
những độ dài khác nhau, các từ khoá đa dạng bằng công cụ JvnTextPro của tác giảNguyễn Cảm Tú và đồng nghiệp phát triển Dữ liệu thu được theo cách như vậy chắc