Xác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùngXác định và phân tích quan điểm của người dùng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
HÀ NỘI - 2018
Trang 3LỜ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ỳ công trình nào khác
Tác giả luận văn
Đặng Quang Huy
Trang 43.2.1 Ph ơng pháp xây dựng từ điển từ bằng WordNet 33
3.2.2 Xác đ nh h ớng ngữ nghĩa c a các từ đánh giá 39
Trang 54.3 Tổng kết chương 54
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
FBS Bài toán tổng hợp các đặc trưng cơ bản (Feature-Based
Summarization) NLP Xử lý ngôn ngữ tự nhiên (Natural Language Processing)
IDE Môi trường phát triển tích hợp (Integrated Development
Environmen)
Trang 7DANH SÁCH BẢNG
Bảng 1.1 Ví dụ về các đánh giá thô của người dùng
Bảng 1.2 Bản tổng hợp đánh giá người dùng sau khi phân loại
Bảng 1.3 Dữ liệu đánh giá của người dùng cho điện thoại
Bảng 1.4 Đánh giá của người dùng cho điện thoại
Bảng 1.5 Kết quả sau khi xác định quan điểm của câu đánh giá
Bảng 2.1 Tách từ và gán nhãn từ loại cho mỗi câu đánh giá
Bảng 2.2 Những câu đánh giá sau khi xác định quan điểm
Bảng 2.3 Tổng hợp các câu đánh giá
Bảng 2.4 Kết quả sau khi thực hiện gán nhãn với câu đánh giá
Bảng 2.5 Treebank tiếng việt với các danh từ
Bảng 2.6 Tối ưu thuật toán Apriori
Bảng 2.7 Thuật toán xác định đặc trưng hiếm
Bảng 3.1 Thuật toán xác định tính từ đánh giá
Bảng 3.2 Kiểm tra thủ tục kết thúc thuật toán thu thập từ WordNet
Bảng 3.3 Thuật toán xác định quan điểm cho từng câu đánh giá
Trang 8Bảng 3.4 Thuật toán xác định quan điểm cho từng từ đánh giá
Bảng 3.5 Bản tổng hợp đánh giá quan điểm người dùng
Bảng 4.1 Bảng mô tả dữ liệu đánh giá
Bảng 4.2 Bảng công thức tính độ chính xác và độ bao phủ
Bảng 4.3 So sánh kết quả thực nghiệm với đánh giá dựa trên tri thức con người
Bảng 4.4 So sánh kết quả thực nghiệm với đánh giá dựa trên tri thức con người
Trang 9DANH SÁCH HÌNH VẼ
Hình 1.1 Kiến trúc hệ thống xác định quan điểm người dùng
Hình 2.1 Treebank cho tiếng việt
Trang 10MỞ ĐẦU
Các trang bán hàng trực tuyến hiện nay thường yêu cầu khách hàng đánh giá về những sản phẩm mà họ đã mua Đối với các dịch vụ trực tuyến nói chung và các trang thương mại điện tử nói riêng, những bài đánh giá của người dùng đóng một vai trò hết sức quan trọng đối với những khách hàng tiềm năng đang có nhu cầu lựa chọn và mua sản phẩm đó Đồng thời, những đánh giá đó cũng cung cấp cho nhà sản xuất những thông tin phản hồi từ khách hàng, để từ đó họ dễ dàng tiếp cận với thị hiếu người dùng hơn Hầu hết những đánh giá đó đều xuất hiện dưới dạng văn bản, và mỗi một bài nhận xét đều đánh giá đến một hoặc nhiều khía cạnh của sản phẩm Ví dụ: “Chiếc máy ảnh này chụp vào ban đêm rất tối nhưng kiểu dáng nhìn rất đẹp” Mà đối với những sản phẩm phổ biến thì số lượng bài đánh giá sẽ ngày càng nhiều, do đó đối với các khách hàng tiềm năng mà nói thì khó có thể nắm bắt được hết nội dung mà những bài đánh đang diễn đạt Vậy nên cần thiết phải
có một phương pháp và một hệ thống tự động phân tích tổng hợp quan điểm người dùng Có thể nói đây là một bài toán phổ biến được cộng đồng nghiên cứu đặc biệt quan tâm đến vì tính thực tiễn cao của nó trong cuộc sống
Cụ thể em tập trung vào bài toán cụ thể như sau, với một tập dữ liệu văn bản đánh giá người dùng cho một sản phẩm cho trước, và kết quả cần đạt được là một bản tóm tắt thông tin của sản phẩm dựa trên các đặc trưng và đánh giá của người dùng Có thể nhận thấy cụ thể ta phải giải quyết hai vấn đề: (1) xác định được các đặc trưng nào của sản phẩm được người dùng đề cập đến thông qua các bài đánh giá, (2) xác định được hướng đánh giá của người dùng đối với đặc trưng được đề cập đó Cuối cùng tạo ra một bản tổng hợp tóm tắt và phân loại dựa trên các đặc trưng của sản phẩm, và với mỗi
Trang 11đặc trưng, đưa ra số lượng các bài đánh giá xem đánh giá đó đang đánh giá tích cực hay tiêu cực đến đặc trưng đó của sản phẩm
Trong luận văn này em sẽ tập trung các hướng tiếp cận dựa trên các bài toán cơ bản để giải quyết cho bài toán tổng hợp những đặc trưng của sản phầm, từ đó phân tích và áp dụng các thuật toán thích hợp cho việc khai phá
dữ liệu và phân tích quan điểm người dùng Sau cuối là tổng hợp cuối cùng
về thông tin của sản phẩm Dựa trên sự tổng hợp, người dùng có thể xem được những đánh giá trên tất cả đặc trưng nào đó mà họ quan tâm Công việc này, trước đây, đã được cộng đồng nghiên cứu và thực nghiệm thành công trên dữ liệu tiếng anh, kết quả đã cho có độ chính xác tương đối cao Nhưng đối với một ngôn ngữ đơn âm tiết và đa dạng về nghĩa như tiếng việt thì đây
là bài toán khá mới mẻ Với luận văn này, em sẽ phân tích chi tiết vào từng câu đánh giá để giải quyết bài toán xác định quan điểm người dùng trên một sản phẩm một cách có hệ thống dựa trên cơ sở lý thuyết vững chắc, đáp ứng mục tiêu đã đặt ra
Nội dung của luận văn được bố cục thành 4 chương như sau:
Chương 1 sẽ trình bày tổng quan về bài toán xác định quan điểm người dùng theo từng đặc trưng của sản phẩm Đồng thời mô tả về các bài toán FBS cơ bản xung quanh để có được cái nhìn bao quát về bài toán xác định quan điểm người dùng Phương pháp được đề cập trong luận văn tuy có
sự khác về mục đích và cách thức giải quyết vấn đề nhưng hoàn toàn liên quan đến các bài toán cơ bản trong khai phá dữ liệu
Chương 2 trình bày phương pháp trích xuất những đặc trưng của sản phẩm thông qua từng câu đánh giá Trong chư ơng này sẽ đề xuất k thuật phổ biến như tách từ, gán nhãn từ loại cho việc xác định những danh từ, cụm danh từ trong những câu đánh giá Từ những từ được xác định, chư ơng này cũng đề cập một số phư ơng pháp để chắt lọc và trích xuất ra các đặc trưng
Trang 12của sản phẩm, đồng thời loại b những đặc trưng vô nghĩa, không liên quan, không phải đặc tính của sản phẩm
Chương 3 trình bày phương pháp xác định quan điểm người dùng đối với từng đặc trưng Ngoài ra, việc xác định các tính từ đánh giá hiệu quả cho từng đặc trưng cũng được đề cập đến Sau đó sẽ dự báo được hướng ngữ nghĩa câu đánh giá Cuối cùng, tổng hợp lại thông tin của sản phầm thông qua từng câu đánh giá của người dùng
Chương 4 trình bày thực nghiệm đánh giá hiệu quả phương pháp trình bày trong các chương trước Cuối cùng đưa ra ưu điểm và những hạn chế đối đối với phương pháp và các công việc sẽ thực hiện trong tương lai
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ XÁC ĐỊNH QUAN ĐIỂM NGƯỜI DÙNG
Hiện nay trên các trang dịch vụ trực tuyến nói chung, việc tích hợp và hiển thị các đánh giá người dùng đã được nhiều shop và các ứng dụng chú ý đến bởi tầm quan trọng của nó Tuy nhiên những đánh giá đó chỉ đang xuất hiện ở dạng thô, chưa kể đến việc quá tải thông tin khi số lượng đánh giá tăng lên một cách chóng mặt Điều đó đang gây khó khăn cho người dùng khi muốn theo dõi những đánh giá hữu ích cho một sản phẩm họ đang có nhu cầu Luận văn này sẽ tập trung vào việc đưa ra những thông tin hữu ích về sản phẩm bao gồm những đặc trưng, những đánh giá của người người đối với sản phẩm, đó là cái mà những khách hàng tiềm năng quan tâm đến Do đó, phương pháp xác định quan điểm người dùng dựa trên những bài đánh giá sẽ giúp cho người dùng giảm công sức b ra để tìm kiếm những thông tin thực
sự hữu ích cho mình
1.1 Bài toán xác ịn quan iểm n ười dùn
Trong khuôn khổ luận văn này em sẽ trình bày về bài toán xác định quan điểm người dùng, các vấn đề cần giải quyết và những bài toán cơ bản liên quan Bài toán đặt ra là, với đầu vào là một bộ tập các bài đánh giá của người dùng cho một sản phẩm nào đó, chẳng hạn trên các trang thương mại điện tử, hệ thống sẽ phân tích các đánh giá để cho ra một bản tổng hợp, bao gồm thông tin về các đặc trưng của sản phẩm được nhắc trong các đánh giá cùng với quan điểm của người dùng đối với từng đặc trưng Ở đây, từng đặc trưng của sản phẩm sẽ hiển thị số lượng và chi tiết các câu đánh giá cho đặc trưng đó được phân loại theo hướng tích cực, tiêu cực, trung tính Các đánh giá của người dùng được viết dưới dạng ngôn ngữ tự nhiên, không có hạn chế về cấu trúc Ví dụ, với đầu vào là một bộ dữ liệu đánh giá cho sản phẩm iphone 6s như sau:
Trang 14Bản 1.1: Ví dụ về các án iá t ô của n ƣời dùn
- Imessage và facetime cực tiện, e hay thu âm hát hò mà cái mic c a nó thu hay lắm, b o mật hai lớp rất b o mật
- Touch ID th hệ 2 đọc cực kỳ nhanh Nâng cấp về ram nữa, nói chung cái
< Các đánh giá tích cực >
Tiêu cực: 74 _ Chụp ban đêm ảnh mờ và đục
< Các đánh giá tiêu cực >
Trung tính: 12 _ Chất lƣợng hình ảnh đƣợc cải thiện, nhƣng màu chƣa đƣợc sắc nét lắm
< Các đánh giá trung tính >
=====================
Trang 15đặc trưng: Pin Tích cực: 231 _ Pin đã được cải thiện rõ rệt
< Các đánh giá tích cực >
Tiêu cực: 74 _ Pin sạc cả tiếng chưa đầy, nản
< Các đánh giá tiêu cực >
Trung tính: 12 _ Pin ngon hơn iphone 6s nhưng nhìn chung không có gì nổi bật
< Các đánh giá trung tính >
…
Như mô tả ở trên thì hình nh và pin là hai đặc trưng trong nhiều đặc
trưng cơ bản của iphone 6s, với đặc trưng pin thì 231 là là số câu có đánh giá
tích cực, 74 là đánh giá tiêu cực và 12 là đánh giá trung tính ( trong luận văn
khi nhắc đến câu trung tính em định nghĩa đó là câu xuất hiện số lượng đánh giá tích cực và tiêu cực bằng nhau ) Với cách biểu diễn như vậy khách hàng tiềm năng có thể dễ dàng nắm bắt được thông tin về sản phầm, liệu rằng sản phẩm có đáng mua hay không?
Để thực hiện được việc xác định quan điểm với từng đặc trưng, cần giải quyết hai bài toán con sau:
1 Cần xác định được đặc trưng nào đang được đề cập đến trong những bài đánh giá
2 Cần xác định hướng đánh giá của người dùng đối với đặc trưng được đề cập đến
Vậy nên, để giải quyết bài toán lớn, em đã chia bài toán thành các bài toán nh hơn bao gồm: (1) trích chọn các đặc trưng dựa trên những bài đánh giá người dùng, (2) xác định quan điểm người dùng với mỗi bài đánh giá có
Trang 16chứa đặc trưng được nhắc đến trong câu, (3) cuối cùng đưa ra bản tổng hợp cuối cùng về thông tin sản phẩm đã trích chọn được và biểu diễn thông qua việc nhóm các câu đánh giá sau khi phân loại
1.2 Một số ứn dụn tíc ợp p ần án iá n ười dùn
Hiện nay có rất nhiều những ứng dụng có tích hợp phần đánh giá của người dùng, nhất là đối với những ứng dụng mang tính thương mại và dịch
vụ, ví dụ như như các trang đặt phòng khách sạn, phần đánh giá được sắp xếp và hiển thị bên cạnh thông tin phòng, người dùng hoàn toàn có thể xem được các bài đánh giá đối với mỗi loại phòng họ quan tâm Bởi vì đối với thói quen của nhiều người, họ thường quan tâm đến những đánh giá, cảm nhận của người dùng trước khi đưa ra quyết định cuối cùng của mình, liệu có nên đặt phòng đó không Với ứng dụng đặt phòng Mytour, các bài đánh giá được hiển thị như sau:
Trang 17Hìn 1.1: Ứn dụn Mytour ặt p òn k ác sạn
Trong đó, mỗi một phòng đều được sắp xếp để hiển thị số lượng đánh giá của người dùng Ứng dụng hiển thị và cho phép người dùng có thể xem các đánh giá từ người dùng Để xem chi tiết từng đánh giá thì người xem chỉ việc nhấp chọn vào các đường dẫn Khi xem chi tiết các đánh giá, giao diện
sẽ hiển thị toàn bộ nội dung đánh giá của người dùng như mô tả dưới đây
Hìn 1.2: Đán iá của n ười dùn về p òn k ác sạn
Ngoài ra, trên một số kênh bán hàng trực tuyến và giới thiệu sản phẩm như thegioididong.com hay fptshop.com.vn, ngoài các thông tin chính về sản phẩm, phần thông tin về các đánh giá người dùng cũng được hiển thị bên
Trang 18dưới mỗi sản phẩm để thuận tiện cho việc những khách hàng mới có thể xem
và đánh giá hơn Như trong mô tả bên dưới thì hầu hết khi giới thiệu về sản phẩm, thông tin về số lượng các bài đánh giá luôn được hiển thị bên cạnh tiêu đề để người dùng có thể dễ nhận thấy nhất Và hầu hết những bài đánh giá này được các shop chủ động liên hệ và thu nhận từ những đánh giá thực của người dùng mỗi khi họ nhận được sản phẩm thông qua đặt hàng online hoặc mua tại shop Đối với những trang bán hàng trực tuyến như vậy, việc khuyến khích người dùng đánh giá phản hồi như vậy là một công việc cần thiết và quan trọng Đối với trang thegioididong.com sau khi người dùng nhận được sản phẩm, thay vì để người dùng chủ động đánh giá, thì các shop chủ động liên hệ để người dùng đánh giá phản hồi cho sản phẩm, vì những đánh giá đó là những đánh giá chủ quan của người dùng đối với sản phẩm,
do đó có ảnh hưởng lớn đến những quyết định của những khách hàng tiềm năng đang có nhu cầu mua sản phẩm sau này
Trang 19Hìn 1.3: Hiển t ị số lượn án iá c o sản p ẩm Ip one 7 Plus
Ngoài những đánh giá từ người dùng, đối với một số trang bán hàng trực tuyến khác cũng khuyến khích những người am hiểu về sản phẩm và đánh giá trực tiếp không nhất thiết phải mua sản phẩm, điều này cũng phần nào dẫn đến việc số lượng các đánh giá cũng tăng lên Hơn thế nữa, việc thực hiện trao đổi trực tiếp giữa các người dùng với nhau cũng là những tính năng mới nhằm để kích cầu số lượng các bài đánh giá
Trang 20Hìn 1.4: Đán iá của n ười dùn c o sản p ẩm Iphone 7 Plus
1.3 Xác ịn các ặc trưn an ược n ắc t i
Đối với bài toán xác định quan điểm người dùng, việc xác định các đặc trưng sản phẩm dựa trên những bài đánh giá từ người dùng là quan trọng
vì đặc trưng của sản phẩm là cái mà người dùng trực tiếp đánh giá và bộc lộ
quan điểm Với đầu vào là các dữ liệu đánh giá từ người dùng của một sản
phẩm và kết quả mong muốn thu được là một bộ các đặc trưng sản phẩm
Trang 21Ví dụ với dữ liệu đánh giá cho sản phẩm điện thoại như sau:
Bản 1.3: Dữ liệu án iá của n ười dùn c o iện t oại
Nhìn qua thì có vẻ pin hơi y u, mà ram nâng cấp lên 2gb, sợ một ngày ph i
" pin, ram, camera, màu, thân máy "
Đây là một bài toán cơ bản đã được cộng đồng NLP nghiên cứu và thực hiện với độ chính xác tương đối cao Theo nghiên cứu của Morinage[15], họ tập trung vào việc so sánh các đánh giá trên các sản phẩm khác nhau trong cùng một thể loại, mục đích là để chọn ra sản phẩm uy tín hơn Tuy nhiên khác với bài luận văn của em ở điểm: (1) Bài nghiên cứu của
họ không nhắm tới việc tạo ra bản tổng hợp thông tin của sản phẩm thông đánh giá người dùng (2) Công việc của họ không khai thác những tính năng của sản phầm dựa trên đánh giá của người dùng Nhưng luận văn của em đang mong muốn tìm tất cả các tính năng của sản phẩm trong một tập hợp các đánh giá của khách hàng bất kể chúng nổi bật hay không Hầu hết các công trình hiện có đang xử lý tập trung trên một tài liệu Một số nhà nghiên cứu cũng đã nghiên cứu tóm tắt nhiều tài liệu nhằm tím kiếm thông tin tương
tự nhau Mục đích chính của họ là tóm tắt những điểm tương đồng và khác biệt trong nội dung thông tin giữa các tài liệu này [18] Đối với bài toán này
em sẽ thực hiện dựa trên thuật toán trích chọn các đặc trưng [2] đã được
Trang 22nghiên cứu áp dụng và cải tiến Phương pháp có phần đơn giản nhưng kết quả thu được có độ chính xác tương đối cao (khoảng 84%), như trong nghiên cứu của Bing Liu [17]
1.4 Xác ịn quan iểm n ười dùng
Tiếp theo đó, với mỗi đặc trưng cần xác định chiều hướng đánh giá về sản phẩm đối với mỗi câu đánh giá (có thể là tích cực hoặc tiêu cực) Có thể coi đây là bài toán phân tích quan điểm người dùng cơ bản Với từng câu đánh giá, hoàn toàn có thể xác định được quan điểm của người dùng đối với từng đặc trưng được nhắc tới
Bản 1.4: Đán iá của n ười dùn c o iện t oại
Bluetooth thì cực kỳ tồi, 1 số thi t b không cho phép connect hoặc connect
Trang 23Das và Chen [5] sử dụng một bộ từ điển được làm thủ công kết hợp với một số phương pháp chấm điểm để phân loại các thông tin chứng khoán trên các bản tin cho nhà đầu tư Tong [25] tạo ra các tiến trình quan điểm Tiến trình đó theo dõi các cuộc thảo luận trực tuyến về phim ảnh và hiển thị một cốt truyện về số lượng những thông điệp đánh giá tích cực và tiêu cực theo thời gian Thông điệp được phân loại bằng cách tìm kiếm các cụm từ cụ thể cho biết quan điểm của tác giả đối với bộ phim (ví dụ: "hành động tuyệt vời", "hình ảnh tuyệt vời", ) Mỗi cụm từ phải được thêm vào từ điển và gán nhãn theo cách thủ công để thể hiện quan điểm tích cực hoặc tiêu cực Nhưng những từ điển đó thì phụ thuộc vào tên miền (ví dụ: phim ảnh) và bắt buộc phải được xây dựng lại cho mỗi tên miền mới Nhưng trong khuôn khổ luận văn, em sử dụng phương pháp đơn giản hơn là chỉ tạo ra một danh sách
nh các tính từ giống nhau gắn với các nhãn tích cực hoặc tiêu cực, giống với phương pháp của Bing Liu[17], và dữ liệu em thực hiện trên tiếng việt
Và phương pháp em sử dụng cho việc xác định ngữ nghĩa các bài đánh giá là xây dựng bộ từ điển WordNet[19] thay vì việc sử dụng các kho ngữ liệu sẵn
có Sử dụng WordNet có thể dễ dàng xác định được hướng ngữ nghĩa của các từ đánh giá, để rồi từ đó xác định được hướng nghĩa của câu Trong [25], việc xác định hướng ngữ nghĩa của câu cũng sử dụng bộ từ điển được gán nhãn một cách thủ công Mỗi cụm từ phải được thêm vào từ điển và gán nhãn theo cách thủ công để thể hiện quan điểm tích cực hoặc tiêu cực Nhưng trong bài luận văn, em chỉ tạo ra một danh sách nh các tính từ giống nhau gắn với các nhãn tích cực hoặc tiêu cực Phương pháp này tuy đơn giản nhưng lại phù hợp với mục đích của bài toán xác định quan điểm người dùng, vì chỉ cần xác định câu đánh giá đó đang đánh tích cực, tiêu cực hay trung tính đối với mỗi đặc trưng sản phẩm
Trang 241.5 Tổn kết c ươn
Trong chương 1, em đã giới thiệu qua về bài toán xác định quan điểm người dùng với dữ liệu đầu vào với các bài toán cơ bản cho việc xử lý, tóm tắt thông tin sản phẩm thông qua các đặc trưng sản phẩm và hướng đánh giá của người dùng về một sản phẩm bất kì Để giải quyết bài toán lớn, cần thiết phải chia nh bài toán thành các bài toán nh hơn, và với mỗi bài toán
cơ bản thường có nhiều phương pháp, thuật toán khác nhau để giải quyết vấn
đề Tại mỗi bước em đã chọn ra những phương pháp thích hợp nhất để giải quyết bài toán Cuối cùng, em đưa ra một hệ thống tổng quát nhất cho bài toán xác định quan điểm người dùng, bao gồm các bước nh hơn và chi tiết theo trình tự xác định Nội dung chi tiết của từng bước em sẽ mô tả chi tiết trong các chương tiếp theo
Trang 25CHƯƠNG 2: XÁC ĐỊNH ĐẶC TRƯNG CỦA SẢN
PHẨM
Trong khuôn khổ chương này, em sẽ trình bày từng bước chi tiết để giải quyết bài toán xác định các đặc trưng của sản phẩm Đây là một phương pháp đã được mô tả ở [17], nhưng trong luận văn em sẽ trình bày lại để phù hợp với bài toán của mình Để xác định được các đặc trưng của sản phẩm, trong chương này em sẽ trình bày một số phương pháp trích chọn, phân tích ngữ nghĩa đối với từng câu đánh giá Do sự phức tạp trong việc xử lý ngôn ngữ và điểm hạn chế trong các phương pháp trích chọn đặc trưng, nên trong luận văn em có trình bày một số phương pháp xén tỉa để loại bớt đi những từ
vô nghĩa và những đặc trưng dư thừa Cuối cùng em sẽ mô tả sự khác nhau
và cách thức chi tiết đối với phương pháp trích chọn ra những đặc trưng thường gặp và những đặc trưng hiếm của sản phẩm
2.1 Tổn quan về kiến trúc của ệ t ốn xác ịn quan iểm n ười dùng
Hệ thống thực hiện tổng hợp theo ba bước chính: (1) trích chọn các đặc trưng của sản phẩm thu được từ đánh giá của người dùng; (2) xác định các câu đánh giá trong mỗi lần, xem xét và quyết định mỗi câu có ý kiến là tích cực, tiêu cực hay là trung tính; (3) cuối cùng là tổng hợp và tóm tắt lại thông tin về sản phẩm
Trang 26Hìn 2.1: Kiến trúc ệ t ốn xác ịn quan iểm n ươi dùn
(Nguồn : Minqing Hu and Bing Liu, KDD 2004 Mining and summarizing
customer reviews)
Với đầu vào cho hệ thống là tên một sản phẩm bất kì và một bộ các đánh giá của của người dùng về sản phẩm được thu thập từ các nguồn dữ liệu trên mạng sau đó được lưu vào cơ sở dữ liệu Cách thức thực hiện là được biểu diễn theo nhiều bước Bước đầu tiên, mỗi câu đánh giá em sẽ áp dụng các thuật toán tách từ và gán nhãn từ loại thông qua các thư viện sẵn có để phân tích ngữ nghĩa từng câu
Trang 27Bản 2.1: Tác từ và án n ãn từ loại c o mỗi câu án iá
Đang/R xài/V S6/M và/CC 6S/M +/Nu / Quả thực/Np nâng cấp/V ram/N và/CC Apple/Np A9/M khiến/V ip/V nhanh/A và/CC mạnh/A khủng
khiếp/A / Cơ mà/Np nó/P nặng/A kinh khủng/V / To/A và/CC vướng/V nữa/R /
Touch/Np ID/Np thì/C cũng/R chưa/R phải/V ghê gớm/A lắm/R thiết nghĩ/A cho/E cùng/A nhanh/A hơn/R vài/L giây/N cũng/R chả/R làm/V đc/N gì/P /
Camera/Np cũng/R không/R hơn/A nhau/N là/V mấy/L / cái/Nc đáng/V đc/V nhất là/X ram/V 2G/Np / ram/V 2G/Np mang/V lại/R chải/N
nghiệm/V tốt/A hơn/R rõ ràng/A /
Sau đó, các đặc trưng thường gặp được trích chọn ra từ những câu đánh giá đã được gán nhãn từ loại ở bước trước thông qua các thuật toán khai phá dữ liệu Tiếp theo, thông qua một vài phương pháp xén tỉa để loại b bớt
các từ không liên quan, các từ vô nghĩa, không phải đặc trưng của sản phẩm
"Ram, màn hình, pin, camera, màu sắc, máy, touch"
Bước tiếp theo, các đặc trưng hiếm cũng được trích chọn ra thông qua các tính từ đánh giá
“Hệ điều hành, phiên b n, dây sạc, mặt kính”
Khi đã xác định được các đặc trưng của sản phẩm, thông qua từng câu đánh giá chứa những đặc trưng sản phẩm, tại bước này ta xác định được hướng tích cực và tiêu cực của từng câu đối với đặc trưng sản phẩm
Trang 28Bản 2.2: N ữn câu án iá sau k i xác ịn quan iểm
Positive
Tìm hiểu k đi, nhân của ios là nhân tùy biến, chip VGA cũng rất khủng chứ không phải loại thường Nếu muốn so thì nên so trên cùng một phần cứng hoặc cùng một os
Trang 292.2 Xác ịn ặc trưn của sản p ẩm
2.2.1 Trích chọn các danh từ trong từng câu đánh giá
Đối với bài toán xác định quan điểm người dùng thì việc xác định được các thuộc phổ biến là bước quan trọng nhất Hầu hết các đặc trưng sản phẩm xuất hiện trong câu với chức năng là danh từ hoặc cụm danh từ Nên bước đầu tiên ta cần phải xác định được các danh từ được nhắc đến trong từng câu đánh giá Để trích xuất ra các danh từ, tại bước này em sử dụng thư viện vnTagger[13] Thư viện vnTagger có độ chính xác khá cao, khoảng 96,1% cho việc gán nhãn từ loại đối với ngôn ngữ tiếng việt
Trang 30Trước khi thực hiện gán nhãn cho toàn bộ các bài đánh giá, em có một bước tiền xử lý đối với từng câu có ký hiệu đặc biệt, ví dụ như các kí tự …, ! , :)), =)) (Do đa số dữ liệu đánh giá được lấy từ các diễn đàn, các trang công nghệ nên người dùng có xu hướng thêm các ký hiệu biểu cảm) Đồng thời việc tiền xử lý cũng đồng nhất các từ với nhau do bất kỳ ngôn ngữ nào, mọi người vẫn thường sử dụng văn nói, lối viết tắt, các ngôn ngữ tự chế để diễn
đạt ngữ pháp, ví dụ như (người dùng hay sử dụng từ cam thay thế cho từ camera, hay như các câu tự chế như: pùn quá, cái này t ko bit), vì với những
từ như vậy sẽ khiến cho thư viện gán nhãn không đúng do nhầm tưởng bất
cứ một từ nào không có trong dữ liệu đánh giá sẽ coi từ đó như một danh từ riêng
Trang 31Một câu đánh giá sau khi được tách từ và gán nhãn sẽ có khuôn mẫu
như sau:
Bản 2.4: Kết quả sau k i t ực iện án n ãn v i câu án iá
Đánh giá/V khá/R khách quan/A !/! Nhất là/X về/E ram/N ,/, cá nhân/N mình/P vẫn/R thấy/V IOS/Np ram/V 1G/Np vẫn/R ổn/A ,/, nh ng/C lên/R 2G/M vẫn/R ngon/A hơn/R nhiều/A
Trong câu trên các từ sau khi được gán nhãn sẽ có dạng word/alias, với word là là một từ có nghĩa trong câu, còn alias là định danh hay chức năng của word được biểu diễn trong câu Ví dụ như IOS/Np thì IOS là một từ
có nghĩa hoàn chỉnh, còn Np là định danh của từ IOS, nên có thể hiểu rằng
trong câu trên, IOS mang chức vụ là danh từ riêng
Do các đặc trưng của sản phẩm trong câu thường xuất hiện trong câu dưới hình thức danh từ Do đó khi gán nhãn từ loại trong câu ta chỉ nên quan tâm đến các danh từ, việc sử dụng treebank tiếng việt để gán nhãn cho các danh từ em sử dụng bao gồm (ngoài ra có thể tham khảo tại [13]):
Bản 2.5: Treebank tiến việt v i các dan từ
Trang 32Hìn 2.1: Treebank c o tiến việt
Để giảm thiểu việc xử lý nên trong luận văn này em chỉ trích chọn những danh từ có gán nhãn N và NP vì những đặc trưng sản phẩm không thể
là danh từ riêng, danh từ chỉ loại, danh từ chỉ đơn vị Sau khi gán nhãn xong toàn bộ các câu thì em sẽ lưu lại một lần nữa toàn bộ các bài đánh giá đã có gán nhãn vào cơ sở dữ liệu cho tiện việc xử lý, xác định các đặc trưng của sản phẩm cho bước sau
2.2.2 ác định các đ c tr ng th ng g p c a n ph m
Đối với các đặc trưng của sản phẩm, có thể phân thành hai loại là: (1) đặc trưng thường gặp và (2) đặc trưng hiếm gặp
Có thể hiểu đặc trưng thường gặp là những đặc trưng mà được nhiều người dùng quan tâm đến đánh giá nhiều hơn những đặc trưng khác, vì đó là những đặc trưng có thể đặc trưng riêng cho sản phẩm, đặc trưng đó nên có ảnh hưởng lớn đến quyết định của các khách hàng tiềm năng, liệu rằng có
nên mua sản phẩm hay không? Ví dụ: Đối với điện thoại thì bộ nhớ, camera, ram, … là những đặc trưng thường gặp, đối với máy ảnh thì có len, hình nh,
độ phân gi i, là những đặc trưng thường gặp Do đó việc xác định các đặc
Trang 33trưng thường gặp có thể thực hiện bằng các phương pháp trích chọn đặc trưng để tìm ra những danh từ có tần suất xuất hiện cao trong mỗi bài đánh giá từ người dùng Trong phần này em sẽ trình bày chi tiết từng bước cho phương pháp này
Các đặc trưng hiếm gặp là những đặc trưng ít được người dùng đề cập tới trong các bài đánh giá Những đặc trưng này ít được người dùng quan tâm nên thường ít ánh hướng đến quyết định của người dùng Do tần số xuất hiện của những đặc trưng hiếm gặp xuất hiện quá ít trong các bài đánh giá nên không thể dùng các phương pháp giống như các đặc trưng thường gặp
Có thể nhận thấy đối với các tính từ đánh giá trong câu thường để đánh giá cho một danh từ nào đó Vậy nếu loại b đi những đặc trưng thường gặp thì
sẽ hoàn toàn xác định được những đặc trưng hiếm thông qua các bài đánh giá Phương pháp này em sẽ mô chi tiết ở bên dưới
Tiếp theo cần định nghĩa ra về các kiểu đặc trưng xuất hiện trong các bài đánh giá Thường thường, trong các câu đánh giá, các đặc trưng sẽ xuất
hiện ở hai dạng: t ng minh và không t ng minh Ví dụ:
“Cái camera này chụp ban đêm không được đẹp”
Có thể dễ dàng hiểu được, hình ảnh do chiếc camera này chụp không được đẹp, và người dùng không hài lòng về nó Camera là đặc trưng tường
minh được nhắc đến trực tiếp trong câu và hoàn toàn có thể trích chọn được Nhưng với các đặc trưng không tường minh như:
“Con điện thoại mới này nghe nhạc rè rè, không sắc nét”
Người dùng không hài lòng, vì chiếc điện thoại mới nghe nhạc không được hay, khó có tìm được đặc trưng nào của sản phẩm đang được đề cập
đến nếu như từ đó không xuất hiện trong câu, rõ ràng đặc trưng loa là một từ
người đọc có thể ngầm hiểu, nhưng với các phương pháp trích chọn thì khó
có thể trích phát hiện ra được Nên trong phạm vi luận văn, em sẽ không xét đến những đặc trưng không tường minh
Trang 34Như đã mô tả ở bên trên, để xác định được các thuộc đặc trưng thường gặp, ta cần xác định được một nhóm các đặc trưng sản phẩm có tần suất xuất hiện cao, giống như việc ta đang cố gắng cô đọng lại một nhóm các danh từ mà có tần suất xuất hiện cao hơn những từ khác trong bộ dữ liệu đánh giá từ người dùng Để trích chọn được tất cả những danh từ có tần suất xuất hiện cùng nhau Trong cơ sở dữ liệu, mỗi bản ghi được lưu tại bước thu thập dữ liệu tương đương với một bài đánh giá người dùng cho sản phẩm Việc tìm ra các đặc trưng sản phẩm, đồng nghĩa với việc ta đang tìm một bộ các danh từ xuất hiện cùng nhau trong mỗi bài đánh giá Trong luận văn này
em sử dụng thuật toán Apriori[2] Dựa trên các danh từ và cụm danh từ sau khi được gán nhãn từ các bước trước, có thể dễ dàng thu được một bộ các danh từ cùng nhau có tần xuất xuất hiện nhiều nhất, và những danh từ, cụm danh từ đó là những ứng cử viên cho những đặc trưng thường gặp của sản phẩm Nhưng thực tế cho thấy đối với những dữ liệu lớn, thuật toán Apriori cho tốc độ trích lọc dữ liệu khá chậm, nên em có tham khảo thêm các cách tối ưu thông qua các thuật toán CBA [14] và [26]