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

Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện

77 828 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 77
Dung lượng 1,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyệnNghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

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ỳ công trình nào khác

Tác giả luận văn

NGUYỄN ĐỖ HẢI

Trang 4

LỜI CẢM ƠN

Để có thể hoàn thành được luận văn này, em xin chân thành cảm ơn các thầy

cô trong khoa Công nghê thông tin – Học viện Công nghệ Bưu chính Viễn thông đã tận tình dạy bảo, truyền thụ kiến thức cho em trong suốt thời gian học tập, nghiên cứu tại Nhà trường

Em xin gửi lời cảm ơn chân thành nhất tời thầy Từ Minh Phương và thầy Ngô Xuân Bách, là những người đã trực tiếp hướng dẫn và chỉ bảo tận tình em trong quá trình làm đồ án này Em đặc biệt cảm ơn các thầy vì đã truyền đạt cho em rất nhiều kiến thức và kinh nghiệm trong quá trình làm đồ án Em xin cảm ơn các thầy đã tạo cho em một điều kiện làm đồ án tốt nhất có thể

Bên cạnh đó, em vô cùng cảm ơn công ty FPT Software đã cho em một môi trường làm việc hiệu quả và cơ sở vật chất đầy đủ để em có thể hoàn thành đồ án này một cách thuận lợi nhất

Cuối cùng, em vô cùng cảm ơn tất cả thành viên trong gia đình, tất cả bạn bè, những người đã cho em sự động viên nhiệt tình nhất trong quá trình làm đồ án này

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 - GIỚI THIỆU 4

1.1 Hệ t ốn tư vấn 4

1.1.1 Mục đích 4

1.1.2 Các thành phần chính 6

1.1.3 Một số tác vụ chính của hệ thống tư vấn 7

1.2 Một số p ươn p áp tư vấn đã p át triển 8

1.2.1 Phương pháp tư vấn dựa trên lọc cộng tác 8

1.2.2 Phương pháp tư vấn dựa trên nội dung 15

1.2.3 Phương pháp tư vấn dựa trên thông tin cá nhân 20

1.2.4 Phương pháp tư vấn lai 21

1.3 Kết luận c ươn 22

CHƯƠNG 2 - GIẢI PHÁP TƯ VẤN LAI SỬ DỤNG ĐỒNG HUẤN LUYỆN 24 2.1 P ươn p áp đồng huấn luyện 25

2.1.1 Tổng quan về phương pháp đồng huấn luyện 25

2.1.2 Một số ứng dụng của phương pháp đồng huấn luyện 27

2.2 Đề xuất giải p áp tư vấn lai sử dụn đồng huấn luyện 29

2.2.1 Mô tả bài toán 29

2.2.2 Giải pháp tổng thể 30

2.2.3 Một số phương pháp tính độ tin cậy 31

2.3 Xây dựng giải p áp tư vấn 33

2.3.1 Xây dựng các bộ hồi quy 33

2.3.2 Đồng huấn luyện 38

2.3.3 Tổng hợp kết quả 45

2.4 Kết luận c ươn 46

CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ 49

3.1 Mô tả dữ iệu 49

Trang 6

3.1.1 Mô tả bộ dữ liệu MovieLens 49

3.1.2 Thu thập thông tin bổ sung về các bộ phim 50

3.2 P ƣơn p áp t ử nghiệm 51

3.2.1 Phân chia dữ liệu 51

3.2.2 Xây dựng mô hình hồi quy lọc cộng tác 52

3.2.3 Xây dựng mô hình hồi quy dựa trên nội dung 54

3.2.4 Đồng huấn luyện 55

3.2.5 Tổng hợp kết quả 57

3.3 Kết quả v đán iá 57

3.3.1 Các chỉ số đánh giá 57

3.3.2 Kết quả thực nghiệm 58

3.3.3 Nhận xét và phân tích kết quả 61

3.4 Kết luận c ƣơn 63

KẾT LUẬN 65

TÀI LIỆU THAM KHẢO 67

Trang 7

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

API Application Programming

Interface Thư viện lập trình ứng dụng

CONFINE CONFidence estimation based on

the Neighbors’ Errors

Ước lượng độ tin cậy dựa trên sai số của các hàng xóm

CONFIVE CONFidence estimation based on

the Variance in the Envỉonment

Ước lượng độ tin cậy dựa trên biến thiên của môi trường MAE Mean Absolute Error Sai số tuyệt đối trung bình RMSE Root Mean Square Error Sai số bình phương trung bình

Trang 8

DANH SÁCH BẢNG

Bảng 1.1 - Dữ liệu có cấu trúc về các bộ phim trên IMDB 16

Bảng 1.2 - Bảng phân loại các phương pháp lai 21

Bảng 3.1 - Thống kê về bộ dữ liệu MovieLens 100k 49

Bảng 3.2 - Các tham số của OMDb API 51

Bảng 3.3 - Số lượng đánh giá trong hai bộ dữ liệu huấn luyện và kiểm thử 52

Bảng 3.4 - Bảng tham số cho quá trình đồng huấn luyện 56

Bảng 3.5 - Kết quả đánh giá hiệu quả của ba phương pháp qua từng vòng lặp 59

Bảng 3.6 - Bảng so sánh hiệu quả của các phương pháp tư vấn 59

Bảng 3.7 - Bảng kết quả thực nghiệm với trường hợp cold-start 60

Trang 9

DANH SÁCH HÌNH VẼ

Hình 1.1 - Ý tưởng của phương pháp lọc cộng tác 9

Hình 1.2 - Biểu diễn sở thích người dùng qua đánh giá 10

Hình 1.3 - Phương pháp lọc cộng tác dựa trên phân cụm 13

Hình 1.4 - Dữ liệu không có cấu trúc ở dạng văn bản 17

Hình 1.5 - Phân loại k-láng giềng gần nhất 18

Hình 1.6 - Mô hình phương pháp tư vấn dựa trên thông tin cá nhân 20

Hình 2.1 - Phương pháp đông huấn luyện trước đây 24

Hình 2.2 - Phương pháp đồng huấn luyện đề xuất 25

Hình 2.3 - Thuật toán đồng huấn luyện 26

Hình 2.4 - Sơ đồ các bước đồng huấn luyện cho bài toán phân loại 28

Hình 2.5 - Mô hình tư vấn sử dụng đồng huấn luyện cải tiến 31

Hình 2.6 - Các bước xây dựng mô hình hồi quy lọc cộng tác 34

Hình 2.7 - Phương pháp phân tích ma trận 35

Hình 2.8 - Đầu ra cho mô hình hồi quy lọc cộng tác 35

Hình 2.9 - Các bước xây dựng mô hình hồi quy dựa trên nội dung 37

Hình 2.10 - Các bước tìm láng giềng của từng người dùng 39

Hình 2.11 - Các bước tìm láng giềng của từng đối tượng 40

Hình 2.12 - Các bước chuẩn hóa điểm tin cậy 42

Hình 3.1 - Thu thập thông tin bổ sung từ OMDb API dựa trên tiêu đề phim 50

Hình 3.2 - Đầu vào cho phương pháp lọc cộng tác 52

Hình 3.3 - Đầu ra cho mô hình hồi quy lọc cộng tác 53

Hình 3.4 - Biểu đồ chỉ số RMSE trên các bin dữ liệu 63

Hình 3.5 - Biểu đồ chỉ số MAE trên các bin dữ liệu 63

Trang 10

MỞ ĐẦU

Ngày nay, con người đang sống trong thời đại số, nơi mà mạng Internet được phổ biến khắp toàn cầu Mỗi một người dùng Internet được tiếp cận với rất nhiều nguồn thông tin khác nhau Do đó họ có thể tìm thấy bất cứ thứ gì mình muốn trên Internet Tuy nhiên có một vấn đề được đặt ra đó là những thông tin nào thực sự cần thiết cho người dùng Internet trong hàng nghìn nguồn thông tin khác nhau trên mạng Internet? Ví dụ như khi vào một trang Web để xem phim như Netflix, sẽ có hàng trăm nghìn bộ phim trong cơ sở dữ liệu của Netflix được đưa ra cho người dùng lựa chọn Và lúc này, người dùng sẽ rất khó khăn để tìm ra bộ phim mà họ muốn xem trong một số lượng lớn các bộ phim như vậy

Để giải quyết vấn đề này, các hệ thống tư vấn [6][8][15][19] đã ra đời với nhiệm vụ đưa ra những gợi ý giúp cho người dùng dễ dàng tìm được thông tin mà mình cần tìm một cách nhanh chóng và chính xác Đã có rất nhiều nghiên cứu được thực hiện để tìm ra phương pháp tư vấn hiệu quả Một số phương pháp đã cho kết quả tốt như: phương pháp tư vấn dựa trên lọc cộng tác [8][19], phương pháp tư vấn theo nội dung [8], phương pháp tư vấn dựa trên thông tin cá nhân [15] và phương pháp lai giữa các phương pháp trên

Từ trước đến nay, các phương pháp tư vấn như tư vấn dựa trên nội dung, tư vấn dựa trên lọc cộng tác có những hướng khai thác các khía cạnh của dữ liệu khác nhau để đưa ra tư vấn một cách tốt nhất Mỗi một phương pháp tư vấn này lại có một số nhược điểm riêng như vấn đề cold-start của phương pháp lọc cộng tác, hay vấn đề thiếu thông tin của phương pháp lọc theo nội dung Để giải quyết vấn đề này, các phương pháp tư vấn lai ra đời để kết hợp các phương pháp tư vấn này lại với nhau để khắc phục các nhược điểm của nhau

Mục đích của luận văn này là đi xây dựng một hệ thống tư vấn lai như vậy, phương pháp lai được sử dụng trong luận văn này là phương pháp đồng huấn luyện Đây là một phương pháp dùng để kết hợp hai phương pháp tư vấn là phương pháp

Trang 11

tư vấn dựa trên lọc cộng tác và phương pháp tư vấn dựa trên nội dung lại với nhau Phương pháp đồng huấn luyện thường bổ sung các dự đoán của hai bộ hồi quy lẫn nhau để huấn luyện lại Tuy nhiên việc bổ sung toàn bộ các dự đoán này chưa tính toán đến việc các dự đoán đó có thể sai dẫn đến việc sử dụng các dự đoán sai đó sẽ ảnh hưởng đến độ chính xác của mô hình hồi quy còn lại Để giải quyết vấn đề này, phương pháp trong luận văn sử dụng một cải tiến: trước khi bổ sung giá trị dự đoán của bộ hồi quy này vào tập huấn luyện bộ hồi quy còn lại, ta sẽ thêm bước ước lượng độ tin cậy của dự đoán; chỉ những dự đoán có độ tin cậy cao mới được bổ sung vào dữ liệu huấn luyện cho bộ hồi quy còn lại Cải tiến này cho phép giảm ảnh hưởng của dự đoán sai tới các vòng lặp đồng huấn luyện sau đó Có rất nhiều cách

để tính toán độ chính xác của một dự đoán, luận văn này lựa chọn hai phương pháp CONFINE và CONFIVE [4] để tính độ tin cậy của các dự đoán của các mô hình hồi quy

Luận văn này có nội dung tiếp nối các nghiên cứu của học viên về hệ tư vấn, một số kết quả liên quan đã được đăng trong tạp chí Information sciences [3] và trình bày tại hội nghị SoCPAR 2013 [8]

Với mục tiêu như vậy, bố cục của luận văn sẽ bao gồm bốn chương theo cấu trúc như sau:

Chương 1: Giới thiệu

Trình bày một cách tổng quan về mục tiêu, ý nghĩa cũng như các thành phần chính của một hệ tư vấn Giới thiệu qua về một số phương pháp tư vấn đã được phát triển cũng như những ưu nhược điểm của nó

Chương 2: Giải pháp tư vấn lai sử dụn đồng huấn luyện

Nội dung của chương này sẽ làm sáng tỏ về mặt lý thuyết cho hệ thống tư vấn

mà luận văn này định xây dựng Phần đầu của chương này sẽ đi sâu tìm hiểu về phương pháp đồng huấn luyện Sau đó, luận văn sẽ đề xuất ra một giải pháp tư vấn lai sử dụng đồng huấn luyện có cải tiến Cuối cùng luận văn sẽ đi sâu vào từng bước

để xây dựng nên hệ thống tư vấn sử dụng giải pháp đề xuất

Chương 3: Thực nghiệm và đán giá

Trang 12

Chương 3 sẽ mô tả các bước để triển khai giải pháp đề xuất ở chương 2 vào

thực tiễn Bên cạnh đó nội dung chương 3 sẽ tiến hành đánh giá những kết quả đạt

được thông qua một số độ đo thường được sử dụng cho bài toán tư vấn

Kết luận

Tổng kết bài toán, tóm tắt những kết quả đã đạt được và còn chưa đạt được

Từ đó đề xuất mục tiêu hướng tới cũng như hướng nghiên cứu, phát triển tiếp theo

Trang 13

CHƯƠNG 1 - GIỚI THIỆU

Chương này sẽ giới thiệu một cách tổng quan về hệ thống tư vấn bao gồm mục tiêu mà bài toán hướng tới, các thành phần của hệ thống tư vấn Đồng thời cũng trình bày sơ lược về những giải pháp đã được phát triển cho bài toán tư vấn

1.1 Hệ t ốn tư vấn

1.1.1 Mục đích

Các hệ thống tư vấn là một tập hợp các kỹ thuật, công cụ phần mềm có nhiệm

vụ cung cấp các gợi ý cho người dùng về các sản phẩm mà họ có thể quan tâm và muốn sử dụng Những gợi ý này có thể rất hữu ích cho người dùng trong quá trình đưa ra quyết định, ví dụ như người dùng nên xem bộ phim nào, nghe bài hát nào, mua sản phẩm nào, hay đọc tin tức nào

Các hệ thống tư vấn thường chỉ đưa ra gợi ý cho người dùng về một loại sản phẩm cụ thể nào đó (ví dụ: phim, sách, hay tin tức) Các kỹ thuật tư vấn sẽ dựa trên những thông tin về từng loại sản phẩm để đưa ra các tư vấn hiệu quả, hữu ích nhất cho từng loại sản phẩm

Ngoài ra, các hệ thống tư vấn cũng thường tập trung vào tư vấn cho người dùng cá nhân, vì những người dùng này thường không đủ khả năng hay công sức để tìm kiếm trong một số lượng lớn các sản phẩm hiện có trên một trang Web Một ví

dụ về một hệ thống tư vấn thật đó là hệ thống tư vấn phim cho người dùng trên trang Netflix1 Hệ thống này sẽ đưa ra cho mỗi người dùng một danh sách ngắn các

bộ phim mà người dùng có thể muốn xem được lấy ra từ cơ sở dữ liệu hàng nghìn

bộ phim của họ Vì các hệ tư vấn thường cá nhân hoá các tư vấn, với mỗi một người dùng khác nhau sẽ nhận được một danh sách các gợi ý khác nhau Bên cạnh đó, cũng có những hệ thống tư vấn mà không được cá nhân hóa, đó là những hệ thống

mà chỉ đưa ra những sản phẩm hot nhất ở thời điểm hiện tại Những hệ thống tư vấn như vậy thường chỉ hữu ích trong một số trường hợp nhất định

1 https://www.netflix.com/

Trang 14

Một hệ thống tư vấn thường đưa ra gợi ý theo hai cách Cách thứ nhất, hệ thống tư vấn sẽ lọc ra trong tập các sản phẩm và đưa ra cho người dùng một danh sách các sản phẩm mà người dùng có thể quan tâm nhất Các hệ thống tư vấn loại này sẽ đi giải quyết bài toán xếp hạng Cách tư vấn thứ hai là hệ thống sẽ tính toán đánh giá của người dùng về một sản phẩm để từ đó đánh giá xem có nên đưa một sản phẩm ra tư vấn cho người dùng hay không Hệ thống tư vấn loại này sẽ đi giải quyết bài toán dự đoán đánh giá người dùng Nội dung luận văn sẽ tập trung giải quyết bài toán dự đoán đánh giá người dùng này

Các hệ thống tư vấn đóng vai trò quan trọng với cả các công ty cung cấp các sản phẩm, cũng như với những người dùng muốn sử dụng các sản phẩm Với các công ty cung cấp sản phẩm, hệ thống tư vấn có thể giúp họ bán được nhiều sản phẩm hơn, cải thiện mức độ hài lòng và ưa chuộng của khách hàng với những sản phẩm của mình hơn, hiểu được người dùng thực sự cần gì ở những sản phẩm Cụ thể là 2/3 số lượt xem trên trang xem phim trực tuyến Netflix đến từ các video được

tư vấn, hệ thống tư vấn giúp trang tin tức Google News tăng 38% số lượt nhấn chuột, và 35% lượng hàng hóa bán được trên trang thương mại điện tử Amazon đến

từ việc sử dụng các hệ thống tư vấn

Việc sử dụng các hệ thống tư vấn cũng giúp ích rất nhiều cho người dùng Họ

có thể tìm thấy các sản phẩm cần thiết cho mình một cách nhanh chóng mà không tốn nhiều công sức Bình thường nếu người dùng muốn tìm kiếm một sản phẩm nào

đó, họ phải dựa trên những thông tin mà nhà sản xuất cung cấp hoặc sử dụng các hệ thống tìm kiếm như Google để tìm kiếm Nhưng với các hệ thống tư vấn, người dùng sẽ nhận được những tư vấn một cách nhanh chóng mà không phải thực hiện những thao tác phức tạp như trên

Bên cạnh đó, người dùng cũng có thể sử dụng các hệ thống tư vấn để thể hiện những quan điểm, sở thích của mình bằng cách cung cấp các đánh giá (rating hoặc bình luận) cho các sản phẩm Sau khi cung cấp đánh giá cho các sản phẩm, hệ thống

tư vấn sẽ tổng hợp các đánh giá này để xây dựng nên được sở thích của người dùng

Trang 15

1.1.2 Các thành phần chính

1.1.2.1 Tập người dùng:

Tập người dùng là tập hợp tất cả các người dùng sẽ được hệ thống tư vấn đưa ra những gợi ý về những sản phẩm mà họ có thể muốn sử dụng Bên cạnh đó, một người dùng có thể để lại những phản hồi cho hệ thống Những phản hồi này có thể được sử dụng làm cơ sở để hệ thống đưa ra tư vấn cho người dùng

Mỗi một người dùng sẽ được biểu diễn bới tập các thuộc tính Những thuộc tính này có thể là các thông tin cá nhân (họ tên, tuổi, thu nhập, tình trạng hôn nhân, trình hộ học vấn, ngành nghề, quốc tịch, …), hoặc các sở thích cá nhân (môn thể thao ưa thích, bộ phim ưa thích, …) Những thuộc tính đó sẽ được hệ thống tư vấn

sử dụng để xây dựng nên các mô hình tư vấn riêng cho từng người dùng

1.1.2.2 Tập đối tượng tư vấn:

1.1.2.3 Tập các phản hồi từ người dùng:

Tập các phản hồi từ người dùng là những tác động của một người dùng cụ thể nào đó lên một đối tượng tư vấn cụ thể Những phản hồi này thường được chia làm hai loại bao gồm những phản hồi ngầm và những phản hồi cụ thể

Trang 16

Những phản hồi ngầm là những phản hồi mà chúng ta chỉ có thể có được khi quan sát những tương tác giữa người dùng với hệ thống (xem video, nghe tập tin âm thanh, cuộn chuột, lưu trữ, đánh đấu, chép và dán, …)

Những phản hồi cụ thể là những thông tin mà người dùng đưa ra một cách trực tiếp như đánh giá cho sản phẩm, cho điểm sản phẩm, xếp hạng các phần tử trong một tập các sản phẩm, đưa ra danh sách các sản phẩm ưa thích, …

Tất cả những phản hồi này sẽ được hệ thống ghi nhận và kết hợp với các thông tin của người dùng, và thông tin của sản phẩm để xây dựng nên một mô hình tư vấn phù hợp

1.1.3 Một số tác vụ chính của hệ thống tư vấn

Các nghiên cứu về hệ thống tư vấn hiện nay thường được phân loại thành hai tác vụ tư vấn chính là: 1 - dự đoán đánh giá, 2 – tư vấn top N sản phẩm Hai tác vụ này đã được nghiên cứu từ khá lâu và cho ra nhiều kết quả khá tốt Phần này, sẽ mô

tả qua về hai tác vụ chính này của hệ thống tư vấn này

1.1.3.1 Dự đoán đánh giá

Giả sử một hệ thống tư vấn có M người dùng và N sản phẩm Trong thực tế, những dữ liệu mô tả sở thích của người dùng thường được hệ thống thu thập lại dưới dạng những đánh giá mà người dùng cho một sản phẩm Một đánh giá của người dùng thường là một số điểm trên thang điểm nhất định nào đó, mà người dùng gán cho một sản phẩm Đánh giá thể hiện độ hài lòng của người dùng với sản phẩm

Nhiệm vụ chính của tác vụ dự đoán đánh giá này là đi tìm ra những đánh giá chưa biết từ những đánh giá đã biết Nếu chúng ta biểu diễn các đánh giá bằng ma trận , thì nhiệm vụ của tác vụ dự đoán đánh giá là đi điền vào những ô trống còn thiếu trong ma trận đó

1.1.3.2 Tư vấn Top-N sản phẩm

Trang 17

Trên thực tế, tác vụ dự đoán đánh giá thường không có ý nghĩa trong các hệ thống tư vấn Thay vào đó, việc liệt kê ra một danh sách các sản phẩm tương tự với

sở thích của người dùng thường được sử dụng trong các hệ thống này, đây chính là tác vụ có tên là tư vấn Top-N sản phẩm Tác vụ này sẽ liệt kê ra một danh sách có N sản phẩm mà có thể liên quan nhất đến sở thích của người dùng và trả về cho người dùng mỗi khi họ sử dụng hệ thống Tác vụ này được ứng dụng ở nhiều lĩnh vực khác nhau

Tác vụ tư vấn Top-N sản phẩm có thể tận dụng các kết quả của tác vụ dự đoán đánh giá để đưa ra tư vấn Tuy nhiên, việc điền đầy đủ ma trận người dùng – sản phẩm thường rất phức tạp và tốn nhiều thời gian Do đó, tác vụ này thường sử dụng một số phương pháp học máy khác để so sánh độ tương đồng giữa một sản phẩm với sở thích của người dùng

1.2 Một số p ươn p áp tư vấn đã p át triển

1.2.1 Phương pháp tư vấn dựa trên lọc cộng tác

1.2.1.1 Giới thiệu chung

Phương pháp lọc cộng tác là một phương pháp thiết kế hệ tư vấn được sử dụng rộng rãi Phương pháp này hoạt động dựa trên việc thu thập và phân tích những thông tin có liên quan đến những hoạt động, mối quan tâm, hành vi của người dùng;

từ đó sẽ dự đoán thứ mà người dùng thích Có thể nói một hệ thống tư vấn dựa trên lọc cộng tác thực hiện tư vấn dựa trên sự tương đồng về sở thích

Hơn thế nữa, phương pháp lọc cộng tác là một quá trình lọc thông tin dựa trên những kỹ thuật cộng tác giữa các tác nhân, quan điểm, hay các nguồn dữ liệu Các

hệ thống sử dụng phương pháp lọc cộng tác thường chứa một lượng lớn dữ liệu Các phương pháp lọc cộng tác cũng được ứng dụng cho nhiều loại dữ liệu khác nhau như dữ liệu từ các bộ cảm biến, dữ liệu tài chính, …

Ý tưởng chính của phương pháp lọc cộng tác [18] là một số người dùng có thói quen, sở thích giống nhau Từ đó, các phương pháp lọc cộng tác sẽ sử dụng một

số kỹ thuật kết nối những người dùng có cùng sở thích lại với nhau để đưa ra tư vấn

Trang 18

một cách chính xác nhất Để làm được điều này, một phương pháp lọc cộng tác thường phải thỏa mãn ba điều kiện (1) hệ thống phải có nhiều người tham gia (đảm bảo rằng bất kỳ người dùng nào cũng tìm được người dùng khác có cùng sở thích), (2) phải có cách nào đó để người dùng dễ dàng biểu diễn sở thích của họ với hệ thống, và (3) các thuật toán có thể kết hợp người dùng có sở thích tương tự lại với nhau

Hình 1.1 - Ý tưởng của p ươn p áp ọc cộng tác

Từ những ý tưởng cơ bản trên, có thể xây dựng được nhiều kiểu hệ thống tư vấn bằng phương pháp lọc cộng tác khác nhau Tuy nhiên, các hệ thống này thường được rút gọn thành hai bước cơ bản:

1 Tìm kiếm những người dùng có cùng mẫu đánh giá (sở thích) với người dùng đang xét

2 Sử dụng tập người dùng cùng sở thích tìm được ở bước 1 để đưa ra dự đoán cho người dùng đang xét

Trang 19

Hình 1.2 - Biểu diễn sở t íc n ười dùn qua đán iá

1.2.1.2 Phân loại phương pháp tư vấn dựa trên lọc cộng tác

Các phương pháp lọc cộng tác thường được chia thành hai loại là các phương pháp dựa trên bộ nhớ và các phương pháp dựa trên mô hình Việc phân loại các phương pháp này dựa trên cách thức hoạt động của các phương pháp

a Phương pháp lọc cộng tác dựa trên bộ nhớ

Ý tưởng cơ bản của các phương pháp lọc cộng tác dựa trên bộ nhớ đó là sử dụng dữ liệu về những đánh giá của người dùng về các đối tượng để tính toán độ tương tự giữa các người dùng hay giữa các đối tượng Phương pháp này là những phương pháp lọc cộng tác đầu tiên được sử dụng, và hiện nay nó vẫn được sử dụng trong một số hệ thống thương mại Ưu điểm của các phương pháp loại này là nó đưa

ra tư vấn khá hiệu quả và dễ dàng để triển khai

Một số phương pháp lọc cộng tác tiêu biểu cho các phương pháp loại này là: phương pháp lọc cộng tác dựa trên người dùng và phương pháp lọc cộng tác dựa trên đối tượng

Phương pháp lọc cộng tác dựa trên người dùng sẽ đi xác định tập k láng

giềng gần nhất của một người dùng Từ tập người dùng láng giềng đã xác định được, chúng ta có thể tính toán được dự đoán của người dùng đang xét với bất kỳ đối tượng chưa được đánh giá nào

Trang 20

Để tính toán độ tương đồng giữa người dùng đang xét và người dùng nào đó chúng ta có thể sử dụng độ đo Pearson dưới đây:

+ : là trung bình các đánh giá của người dùng

+ : là đánh giá mà người dùng cho đối tượng

+ : là trung bình các đánh giá của người dùng

Sau khi đã tính toán được độ tương đồng giữa những người dùng, chúng ta sẽ

sử dụng công thức (1.2) dưới đây để tính toán đánh giá của người dùng cho các đối tượng chưa đánh giá

( ) ∑ ( ∑ ) ( )

( )

Trong đó:

+ NN : là tập những người dùng láng giềng của người dùng

Phương pháp lọc cộng tác dựa trên đối tượng sẽ có cách làm ngược lại với

phương pháp lọc cộng tác dựa trên người dùng Cụ thể, phương pháp này sẽ đi tìm

kiếm cho đối tượng được đánh giá bởi người dùng những đối tượng có điểm đánh giá tương đương Phương pháp này cũng cần sử dụng công thức Pearson (1.3)

để tính độ tương tự giữa các đối tượng:

( ) ∑ ( ) ( )

√∑ ( ) √∑ ( )

( )

Trang 21

và công thức (1.4) để tính dự đoán đánh giá của người dùng cho một đối tượng bất kỳ:

( ) ∑ ( )

∑ ( ) ( )

Có thể nói, các phương pháp lọc cộng tác dựa trên bộ nhớ lưu trữ dữ liệu về những đánh giá của người dùng trực tiếp trên bộ nhớ máy và sử dụng trực tiếp những thông tin này để sinh ra những tư vấn cho người dùng

b Phương pháp lọc cộng tác dựa trên mô hình

Các phương pháp lọc cộng tác dựa trên mô hình không lưu trữ và sử dụng trực tiếp các dữ liệu đánh giá của người dùng như các phương pháp lọc cộng tác dựa trên

bộ nhớ, mà chúng sẽ được xử lý offline trước khi được sử dụng bằng một số kỹ thuật để làm giảm số chiều hoặc để lọc thông tin dựa trên các đối tượng Trong quá trình hệ thống vận hành, chỉ có những mô hình được tính toán trước hay được học trước, được sử dụng để đưa ra dự đoán

Một số phương pháp lọc cộng tác tiêu biểu cho các phương pháp lọc cộng tác loại này là phương pháp lọc cộng tác dựa trên phân tích ma trận, phương pháp lọc cộng tác dựa trên khai phá luật kết hợp hay phương pháp lọc cộng tác dựa trên phân cụm

Phương pháp lọc cộng tác dựa trên phân cụm là phương pháp được thực

hiện dựa trên ý tưởng chia để trị Nghĩa là phương pháp này sẽ sử dụng các thuật toán phân cụm để chia người dùng thành từng cụm người dùng khác nhau dựa trên lịch sử đánh giá của họ cho các đối tượng Những người dùng trong cùng một cụm

sẽ có sở thích giống nhau, và do đó họ sẽ nhận được những tư vấn giống nhau Mặt khác, chúng ta cũng có thể phân cụm các đối tượng dựa trên lịch sử những đánh giá mà chúng được nhận Từ đó, các đối tượng trong cùng một cụm sẽ được đem ra tư vấn khi một đối tượng trong cụm được đánh giá hay sử dụng

Trang 22

Phương pháp lọc cộng tác dựa trên phân cụm này có ưu điểm lớn nhất là thực hiện tư vấn rất nhanh kể cả trong điều kiện hệ thống lớn, lý do là bởi phương pháp này đưa ra tư vấn theo cụm Với mỗi một cụm nó sẽ cho một tư vấn giống nhau với tất cả các thành phần trong cụm Ngoài ra, phương pháp này cũng có thể được sử dụng để tìm ra tập các láng giềng gần nhất trong phương pháp tư vấn lọc cộng tác dựa trên bộ nhớ

Hình 1.3 - P ươn p áp ọc cộng tác dựa trên phân cụm

Phương pháp lọc cộng tác dựa trên phân cụm có một nhược điểm đó là phương pháp này làm giảm tính cá nhân hóa trong các tư vấn mà nó đưa ra

Phương pháp lọc cộng tác dựa trên khai phá luật kết hợp là phương pháp sử

dụng một kỹ thuật khá nổi tiếng trong lĩnh vực học máy cũng như khai phá dữ liệu

đó là phương pháp khai phá luật kết hợp [9] Phương pháp khai phá luật kết hợp này

sẽ sử dụng dữ liệu hiện có để tìm ra mỗi quan hệ kết hợp giữa các phần tử có trong

bộ dữ liệu hiện có Cụ thể trong trường hợp bài toán tư vấn này, phương pháp khai phá luật kết hợp sẽ đi tìm ra các quy luật đánh giá các đối tượng dựa trên lịch sử đánh giá của người dùng đối với các đối tượng này Sau khi đã tìm ra được các quy luật này, hệ thống sẽ đưa ra tư vấn cho người dùng dựa trên độ tin cậy của các luật kết hợp đã được khai phá ra

Trang 23

Phương pháp lọc cộng tác dựa trên khai phá luật kết hợp có ưu điểm là dễ triển khai, dễ thực thi, không tốn nhiều không gian bộ nhớ, và đặc biệt là nó có thể áp dụng cho các hệ thống lớn với số lượng người dùng lớn

Nhược điểm của phương pháp này là nó không thích hợp với lĩnh vực mà ở đó người dùng thay đổi sở thích một cách nhanh chóng, ngoài ra các luật kết hợp chỉ chính xác khi mà chúng được cung cấp đầy đủ dữ liệu để kiểm chứng

Phương pháp lọc cộng tác dựa trên phân tích ma trận là phương pháp lọc

cộng tác sử dụng một số kỹ thuật phân tích ma trận (như Single Value Decompsition - SVD, Latent Sentiment Analysis – LSA, hay Principal Component Analysis - PCA) để phát hiện những nhân tố có ý nghĩa ẩn trong dữ liệu về lịch sử đánh giá của người dùng

Thông thường, khi sử dụng phương pháp lọc cộng tác, mỗi một người dùng được biểu diễn bởi một vector có số chiều bằng với số lượng các đối tượng trong hệ thống Giá trị của mỗi chiều có thể là đánh giá của người dùng cho đối tượng đó Tuy nhiên, số lượng các đối tượng thường rất lớn, trong khi số các đánh giá mà người dùng đưa ra lại rất ít Do đó, vector biểu diễn của người dùng thường chứa nhiều giá trị trống Nếu sử dụng các vector này để đưa ra tư vấn như trong các phương pháp lọc cộng tác dựa trên bộ nhớ vẫn làm thì sẽ rất tốn tài nguyên cho các

vị trí trống này

Để giải quyết vấn đề đó, nhiều nghiên cứu đã sử dụng phương pháp phân tích

ma trận để biến ma trận là ma trận biểu diễn lịch sử đánh giá của người dùng, thành các ma trận con có kích thước nhỏ hơn để biểu diễn sở thích của người dùng theo một số chủ đề nhất định, cũng như độ liên quan giữa các đối tượng với các chủ

đề trên

Phương pháp lọc cộng tác dựa trên phân tích ma trận là phương pháp đã được

áp dụng vào nhiều hệ thống tư vấn khác nhau và cho kết quả tốt hơn một số phương pháp lọc cộng tác dựa trên bộ nhớ Phương pháp lọc cộng tác dựa trên phân tích ma

Trang 24

trận đã được sử dụng để xây dựng nên một hệ thống tư vấn đoạt giải nhất trong cuộc thi thiết kế hệ thống tư vấn của Netflix

1.2.2 Phương pháp tư vấn dựa trên nội dung

1.2.2.1 Giới thiệu chung

Phương pháp tư vấn theo nội dung cũng là một phương pháp để xây dựng nên một hệ thống tư vấn Phương pháp này dựa trên thông tin chi tiết và những đặc tính của các đối tượng để đưa ra tư vấn Những thuật toán của phương pháp này sẽ tư vấn những đối tượng có những điểm tương tự với những đối tượng mà người dùng

đã có tương tác trước đó Hay nói cách khác, các đối tượng tư vấn sẽ được so sánh với các đối tượng đã được đánh giá trước đó bởi người dùng, sau đó đối tượng có đặc điểm trùng khớp nhất sẽ được tư vấn cho người dùng Có thể nói, phương pháp

tư vấn theo nội dung chú trọng tới nội dung của các đối tượng hơn là những quan điểm của người dùng

Việc đầu tiên phải làm với mỗi hệ thống tư vấn theo nội dung đó là biểu diễn thông tin của các đối tượng dưới dạng văn bản, hay các thông tin về siêu dữ liệu ở dạng không có cấu trúc cố định thành dạng có cấu trúc để máy tính có thể hiểu được

và xử lý được

Sau khi đã biểu diễn được thông tin của các đối tượng, việc tiếp theo một hệ thống tư vấn theo nội dung phải làm đó là dựa trên lịch sử hoạt động của người dùng (những đánh giá, những bình luận, …) xây dựng nên hồ sơ người dùng, hồ sơ người dùng này là một mô hình mô tả sở thích của người dùng Từ hồ sơ người dùng này chúng ta sẽ so sánh với nội dung của các đối tượng mới để xem nó có trùng khớp với nhau không để đưa ra tư vấn

1.2.2.2 Phương pháp biểu diễn đối tượng tư vấn

Việc đầu tiên cần làm đối với một hệ thống tư vấn theo nội dung đó là tìm cách biểu diễn các đối tượng tư vấn về dạng mà máy có thể hiểu và xử lý được Thông thường, dữ liệu về các đối tượng tư vấn thường ở hai dạng là có cấu trúc và

Trang 25

không có cấu trúc Với mỗi dạng dữ liệu chúng ta lại có những cách biểu diễn khác nhau

Dữ liệu có cấu trúc là dữ liệu thường được lưu trữ ở dạng bảng có cấu trúc cố định Nghĩa là với mỗi đối tượng tư vấn, chúng ta sẽ có những thông tin cố định về đối tượng đó, mỗi một thông tin như vậy gọi là một thuộc tính Với những dữ liệu

có cấu trúc này, các thuật toán học máy có thể sử dụng trực tiếp để xây dựng nên những mô hình sở thích người dùng mà không cần có bước xử lý đệm nào

Bảng 1.1 - Dữ liệu có cấu trúc về các bộ phim trên IMDB

Ngoài những dữ liệu có cấu trúc, dữ liệu không có câu trúc cũng là một nguồn thông tin được sử dụng nhiều trong các hệ thống tư vấn theo nội dung Dữ liệu không có cấu trúc là những dữ liệu không thể tổ chức thành dạng bảng cố định như

dữ liệu có cấu trúc Những dữ liệu loại này thường ở dạng ký tự như một bài báo trên các trang tin điện tử, hay một đoạn mô tả về một sản phẩm nào đó Những dữ liệu ở dạng này thường không thể sử dụng trực tiếp cho các thuật toán học máy, để

sử dụng được những dữ liệu ở dạng này chúng ta cần sử dụng một số phương pháp

để chuyển chúng về dạng dữ liệu có cấu trúc

Trang 26

Hình 1.4 - Dữ liệu không có cấu trúc ở dạn văn bản

Để chuyển từ dữ liệu ở dạng văn bản về dạng có cấu trúc, chúng ta có thể sử dụng phương pháp Tf-Idf Đây là phương pháp sử dụng các từ trong văn bản làm các thuộc tính như trong dữ liệu có cấu trúc Tập hợp tất cả các từ trong tập các văn bản hiện có sẽ là tập các thuộc tính, và với mỗi một văn bản thì các thộc tính này sẽ

có trọng số khác nhau thể hiện mức độ quan trọng của từ đó với văn bản đang xét

Để tính toán trọng số của từ trong một văn bản , chúng ta sử dụng công thức:

( ) ( )

√∑ ( ) ( )

( )

Trong đó:

+ N : số văn bản có trong tập dữ liệu đầu vào

+ : tần suất xuất hiện của từ trong văn bản

+ : số văn bản trong tập dữ liệu đầu vào mà xuất hiện từ

Sau khi đã biểu diễn được các dữ liệu không có cấu trúc về dạng có cấu trúc, chúng ta sẽ đi xây dựng mô hình mô tả sở thích cho người dùng sử dụng một số thuật toán học máy thông dụng

1.2.2.3 Một số phương pháp xây dựng mô hình sở thích người dùng

Xây dựng mô hình sở thích người dùng là một trong những bước quan trọng nhất trong một hệ thống từ vấn theo nội dung Sau khi xây dựng được mô hình này,

Trang 27

với một đối tượng mới, một hàm dự đốn sẽ đưa ra dự đốn xem người dùng cĩ thích đối tượng này hay khơng, hoặc hàm dự đốn này cĩ thể đưa ra một số thực

mơ tả đánh giá dự đốn của người dùng cho đối tượng này Phần này của luận văn

sẽ đi trình bày một số thuật tốn để xây dựng mơ hình sở thích người dùng từ lịch

sử tương tác của người dùng

a Thuật tốn láng giềng gần nhất

Thuật tốn láng giềng gần nhất lưu trữ tất cả các dữ liệu huấn luyện vào bộ nhớ Sau đĩ, để đưa ra dự đốn cho một đối tượng tư vấn mới thì thuật tốn sẽ đi so sánh đối tượng này với tất cả những đối tượng đã được tương tác bởi người dùng để tìm ra k đối tượng gần nĩ nhất gọi là k láng giềng Giá trị dự đốn của đối tượng mới này sẽ được tính tốn dựa trên k láng giềng này

Hình 1.5 - Phân loại k-láng giềng gần nhất

Với mỗi kiểu dữ liệu sẽ cĩ một phương pháp so sánh độ tương đồng khác nhau Cụ thể, dữ liệu cĩ cấu trúc sử dụng độ đo là khoảng cách Euclid để tính độ tương đồng giữa hai đối tượng; dữ liệu khơng cĩ cấu trúc sau khi được chuyển về dạng cĩ cấu trúc sẽ sử dụng độ đo là độ tương đồng Cosine

b Thuật tốn phân loại Nạve Bayes

Trang 28

Thuật tốn phân loại Bayesian là phân loại thống kê Thuật tốn phân loại Bayesian dựa trên định lý Bayes Một thuật tốn phân loại đơn giản của Bayesisan

là Nạve bayes, so với việc thực thi của phân lớp cây quyết định và mạng nơron, bộ phân loại Bayesian đưa ra độ chính xác cao và nhanh hơn khi áp dụng vào các cơ sở

dữ liệu lớn

Nạve Bayesian là một bộ phân loại Bayesian với giả định rằng xác suất của một giá trị thuộc tính trên một lớp là độc lập với xác suất của các thuộc tính khác Giả định này gọi là độc lập cĩ điều kiện lớp Do đĩ sẽ đơn giản hĩa các tính tốn rắc rối

c Thuật tốn Support Vector Machine

Support Vector Machine (SVM) [1] là một thuật tốn học cĩ giám sát sử dụng cho các bài tốn phân loại hay hồi quy SVM là một phương pháp phân loại được sử dụng phổ biến cũng như cho độ chính xác cao

SVM hoạt động dựa trên hai nguyên tắc chính [1]:

- Nguyên tắc thứ nhất là SVM tìm cách phân chia các đối tượng cĩ nhãn khác

nhau bằng một siêu phẳng sao cho khoảng cách từ siêu phẳng tới những đối tượng cĩ nhãn khác nhau là lớn nhất

- Nguyên tắc thứ hai giải quyết trường hợp các đối tượng khơng thể phân chia

bằng một siêu phẳng , SVM sẽ ánh xạ khơng gian ban đầu sang một khơng gian mới cĩ số chiều cao hơn, sau đĩ tìm siêu phẳng với lề cực đại trong khơng gian này

Một siêu phẳng được SVM tạo ra từ quá trình huấn luyện thường cĩ dạng:

Trang 29

đường thẳng phân chia không gian hai chiều làm hai phần, mỗi phần sẽ chứa những đối tượng cùng nhãn phân loại với nhau

1.2.3 Phương pháp tư vấn dựa trên thông tin cá nhân

Một phương pháp tư vấn thường được sử dụng thay thế hai phương pháp trên trong những trường hợp chúng không thể đưa ra được tư vấn là phương pháp tư vấn dựa trên thông tin cá nhân [15][13] Phương pháp tư vấn dựa trên thông tin cá nhân

sẽ đưa ra tư vấn cho người dùng dựa trên những thông tin riêng tư về người dùng như tuổi, giới tính, nghề nghiệp, địa chỉ, sở thích,… Những thông tin này đã được người dùng cung cấp cho hệ thống khi họ đăng ký tham gia các hệ thống này

Hình 1.6 - Mô ìn p ươn p áp tư vấn dựa trên thông tin cá nhân

Phương pháp này hoạt động dựa trên giả thiết là những người dùng có thông tin cá nhân tương tự nhau thì sẽ có cùng sở thích với nhau Ví dụ, những người trong độ tuổi từ 20 đến 25, có nghề nghiệp là sinh viên thường thích nghe nhạc Hàn Quốc, hoặc thích xem phim khoa học viễn tưởng Từ giả thiết trên, hệ thống sẽ đi phân chia người dùng thành các cụm có thông tin cá nhân tương tự nhau - gọi là các hàng xóm Sau đó với mỗi người dùng mới, khi tham gia hệ thống, sẽ được phân vào một cụm các hàng xóm của nhau Hệ thống sẽ tìm ra những đối tượng mà

Trang 30

những hàng xóm của người dùng mới đánh giá cao và đưa ra tư vấn cho người dùng

Ưu điểm của phương pháp này là không yêu cầu lịch sử đánh giá của một người dùng cụ thể như ở hai phương pháp lọc cộng tác và lọc theo nội dung Do đó phương pháp này thường đưa ra kết quả một cách nhanh chóng, dễ dàng và chính xác cho những người dùng ít hoạt động

Nhược điểm của phương pháp này liên quan đến vấn đề bảo mật và chính sách riêng tư Lý do là những thông tin cá nhân của người dùng là những thông tin nhạy cảm và có tính riêng tư cao, nên rất khó có thể thu thập được Mặt khác, phương pháp lọc theo thông tin cá nhân này sẽ phân cụm người dùng dựa trên những thông tin cơ bản, do đó kết quả tư vấn có thể giống nhau giữa nhiều người dùng

1.2.4 Phương pháp tư vấn lai

Như đã trình bày ở những phần trên, mỗi một phương pháp tư vấn sẽ có những

ưu điểm và nhược điểm riêng Phương pháp tư vấn lai là môt phương pháp tư vấn kết hợp các phương pháp đã có lại với nhau để dạt được kết quả tối ưu hơn, hạn chế được những điểm yếu của từng phương pháp Có rất nhiều cách để kết hợp các

phương pháp này lại với nhau [13] Error! Reference source not found., chúng sẽ

ược chia làm một số nhóm bao gồm weighted, mixed, cascade, switching, feature combination, feature augmentation, meta-level

Bảng 1.2 - Bảng phân loại các p ươn p áp ai

Weighted Kết quả của các phương pháp tư vấn được kết hợp

với nhau để tạo ra một tư vấn duy nhất

Switching Hệ thống lựa chọn đánh giá của một phương pháp

tư vấn trong tập các phương pháp tư vấn được kết

Trang 31

hợp để chọn ra đánh giá dựa trên hoàn cảnh hiện tại

Mixed Kết hợp tất cả các kết quả đầu ra của các phương

pháp tư vấn để tạo thành tập kết quả đầu ra cuối cùng

Feature conbination Các đặc trưng của các phương pháp tư vấn khác

nhau được kết hợp lại với nhau để làm đầu vào cho một thuật toán tư vấn duy nhất

Feature augmentation Đầu ra của một phương pháp tư vấn được sử dụng

làm đặc trưng đầu vào cho một phương pháp khác Cascade Một phương pháp tư vấn sẽ chọn lọc lại các kết quả

tư vấn của một phương pháp khác

Meta-level Các mô hình được học bởi một hệ tư vấn được sử

dụng làm đầu vào cho một hệ tư vấn khác

1.3 Kết luận c ươn

Tóm lại, một hệ thống tư vấn được xây dựng nhằm mục đích đưa ra gợi ý cho người dùng về một số sản phẩm mà họ có thể quan tâm dựa trên nhiều nguồn thông tin khác nhau Các hệ thống tư vấn có ý nghĩa rất quan trọng không chỉ với những người sử dụng các hệ thống tư vấn, mà còn có ý nghĩa với những nhà cung cấp dịch

vụ tư vấn

Các hệ thống tư vấn thường bao gồm ba thành phần chính là tập những người

sử dụng là những người tương tác với hệ thống và nhận tư vấn từ hệ thống, tập các đối tượng tư vấn là những sản phẩm được đem ra tư vấn cho người dùng và nhận phản hồi từ người dùng, cuối cùng là tập các phản hồi là những tác động của người dùng lên các đối tượng tư vấn

Trang 32

Một hệ thống tư vấn có thể thực hiện một trong hai tác vụ chính là dự đoán đánh giá và tư vấn top-N sản phẩm Tác vụ dự đoán đánh giá là quá trình hệ thống đưa ra dự đoán về đánh giá của một người dùng cho những đối tượng tư vấn mà họ chưa đánh giá lần nào Tư vấn top-N sản phẩm là quá trình hệ thống đưa ra danh sách N đối tượng tư vấn mà người dùng có thể quan tâm nhất

Có bốn phương pháp tư vấn hay được sử dụng là phương pháp tư vấn dựa trên lọc cộng tác, phương pháp tư vấn dựa trên nội dung, phương pháp tư vấn dựa trên thông tin cá nhân và phương pháp lai Mỗi một phương pháp tư vấn sử dụng những loại thông tin khác nhau để đưa ra tư vấn, và mỗi phương pháp đều có những ưu nhược điểm riêng

Trong số đó, phương pháp tư vấn lai nổi lên là phương pháp tốt nhất do phương pháp này là sự kết hợp của nhiều phương pháp tư vấn khác lại với nhau để khắc phục nhược điểm của nhau Do đó, nội dung luận văn này sẽ đi xây dựng một phương pháp tư vấn lai kết hợp cả ba phương pháp tư vấn còn lại lại với nhau bằng một phương pháp mới có tên là phương pháp đồng huấn luyện Chương tiếp theo của luận văn sẽ đi xây dựng những cơ sở lý thuyết cho phương pháp tư vấn lai sử dụng đồng huấn luyện này

Trang 33

CHƯƠNG 2 - GIẢI PHÁP TƯ VẤN LAI SỬ DỤNG ĐỒNG

HUẤN LUYỆN

Nội dung của chương hai sẽ đi tìm hiểu một phương pháp thường được sử dụng để xây dựng các hệ thống tư vấn lai có khả năng tận dụng những dữ liệu chưa gán nhãn có tên là phương pháp đồng huấn luyện Từ những tìm hiểu đó, luận văn

sẽ đề xuất ra một giải pháp tư vấn lai sử dụng phương pháp đồng huấn luyện để giải quyết bài toán dự đoán đánh giá Phương pháp đồng huấn luyện trước đây [2][5] thường thêm tất cả các giá trị dự đoán được vào bộ huấn luyện cho bộ phân loại sau, tuy nhiên trong các dự đoán này sẽ tồn tại một số dự đoán lỗi (các ô màu đỏ trong hình 2.1) mà ảnh hưởng đến sự chính xác của các bước tiếp theo (bước đồng huấn luyện vòng 2 trong hình 2.1)

Hình 2.1 - P ươn p áp đồng huấn luyện trước đây

Để giải quyết vấn đề này, luận văn sẽ cải tiến thuật toán đồng huấn luyện thông thường bắng cách thêm vào quá trình đồng huấn luyện một bước tính toán độ tin cậy của các dự đoán để loại bỏ đi những dự đoán sai, từ đó chỉ có những dự đoán đúng mới được sử dụng để huấn luyện cho các bước đồng huấn luyện tiếp theo Có rất nhiều phương pháp tính độ tin cậy khác nhau, nhưng trong luận văn này sẽ sử dụng hai phương pháp tính độ tin cậy thích hợp cho bài toán hồi quy là phương pháp CONFINE [4] và phương pháp CONFIVE [4] Sau khi loại bỏ những ô dự đoán sai thì kết quả sẽ chính xác hơn (Hình 2.2)

Trang 34

Hình 2.2 - P ươn p áp đồng huấn luyện đề xuất

2.1 P ươn p áp đồn uấn uyện

2.1.1 Tổng quan về phương pháp đồng huấn luyện

Học bán giám sát là một kỹ thuật học máy thu hút được nhiều sự chú ý của các nhà nghiên cứu bởi một số lượng lớn các dữ liệu chưa được gán nhãn có thể được

sử dụng để cải thiện hiệu năng của các thuật toán học máy trong khi nếu chỉ sử dụng các dữ liệu có gán nhãn là không đủ để làm điều này Blum và Mitchell [5] lần đầu tiên xem xét đến vấn đề chia những thông tin về một mẫu dữ liệu thành hai phần dưới hai góc nhìn độc lập Ví dụ, một trang Web có thể được biểu diễn bởi các từ xuất hiện trong trang Web đó, hoặc cũng có thể được biểu diễn bằng các từ xuất hiện trong một siêu liên kết trỏ tới trang Web đó Do đó chúng ta có thể chỉ cần sử dụng một trong hai cách biểu diễn trên để phân loại một trang Web Phương pháp phân chia đặc điểm của một đối tượng thành hai phần trên đây được gọi là đồng huấn luyện

Blum và Mitchell chỉ ra rằng thuật toán đồng huấn luyện chỉ hoạt động được trên các bộ dữ liệu mà khi chia các đặc trưng của chúng thành hai tập riêng biệt phải thỏa mãn hai giả thiết Đó là, (1) mỗi một tập đặc điểm phải đủ khả năng để phân loại chính xác, (2) hai tập con phải thỏa mãn tính chất độc lập có điều kiện khi cho trước lớp Giả thiết thứ nhất thể hiện tính tương thích của việc phân phối các đối tượng với hàm mục tiêu Nghĩa là, kết quả của các bộ phân loại khi chạy qua từng

bộ đặc điểm của đối tượng sẽ giống nhau trong phần lớn các đối tượng trong bộ dữ

Trang 35

liệu Giả thiết thứ hai là giả thiết về việc các đặc điểm ở hai tập con phải hoàn toàn độc lập với nhau Trong ví dụ về việc phân loại trang Web, giả thiết này cho rằng các từ xuất hiện trong nội dung trang Web không liên quan gì đến những từ trong siêu liên kết đến trang Web đó

Đầu vào:

: tập các mẫu đã gán nhãn

: tập các mẫu chưa gán nhãn

: tập con các đặc điểm thứ nhất của một mẫu

: tập con các đặc điểm thứ hai của một mẫu

: bộ phân loại áp dụng cho tập đặc điểm thứ nhất

: bộ phân loại áp dụng cho tập đặc điểm thứ nhất

: số mẫu lấy ra sau mỗi bước

Đầu ra:

Tập các nhãn cho toàn bộ các mẫu

Thuật toán:

Lặp cho đến khi :

- Huấn luyện bộ phân loại bằng tập dữ liệu với các đặc điểm trong tập

- Huấn luyện bộ phân loại bằng tập dữ liệu với các đặc điểm trong tập

- Với mỗi bộ phân loại ( ), thực hiện:

 sử dụng dự đoán nhãn cho các mẫu trong tập

 chọn mẫu trong thêm vào tập

 loại bỏ mẫu trên ra khỏi

Hình 2.3 - Thuật toán đồng huấn luyện

Phương pháp đồng huấn luyện bắt đầu bằng việc xây dựng hai bộ phân loại (gọi là và ) để học trên hai tập đặc điểm con ( mỗi một bộ phân loại sử dụng

Trang 36

cho một tập con) Sử dụng những dữ liệu đã gán nhãn để làm dữ liệu huấn luyện cho hai bộ phân loại này

Sau đó, sử dụng hai bộ phân loại để dự đoán nhãn cho dữ liệu chưa được gán nhãn Kết quả thu được là tập các đối tượng chưa gán nhãn kèm theo nhãn dự đoán của chúng Các kết quả của bộ phân loại được bổ sung vào tập dữ liệu huấn luyện của bộ phân loại , và ngược lại

Mỗi bộ phân loại được học lại trên bộ dữ liệu mới (bao gồm dữ liệu gán nhãn ban đầu và dữ liệu được gán nhãn và chuyển sang từ bộ phân loại còn lại) Quá trình này được lặp lại cho đến khi không còn dữ liệu chưa gán nhãn hoặc số vòng lặp đạt đến một ngưỡng nhất định

2.1.2 Một số ứng dụng của phương pháp đồng huấn luyện

Phương pháp đồng huấn luyện [5] ban đầu được đề xuất để giải quyết bài toán phân loại, nhưng trong quá trình phát triển của mình phương pháp đồng huấn luyện còn được sử dụng để giải quyết nhiều bài toán khác nữa, những bài toán mà có quá nhiều dữ liệu chưa được gán nhãn Phần này của luận văn sẽ đi tìm hiểu một số ứng dụng của phương pháp đồng huấn luyện này

2.1.2.1 Bài toán phân loại

Bài toán phân loại là bài toán đầu tiên áp dụng phương pháp đồng huấn luyện Tuy nhiên, phương pháp đồng huấn luyện có thể dùng cho bài toán hồi quy Trong bài toán phân loại, đầu vào sẽ là một tập nhỏ các đối tượng được gán một nhãn phân loại và tập rất lớn các đối tượng chưa được gán nhãn, đầu ra của bài toán là một mô hình có khả năng phân loại được các đối tượng mới Mỗi một đối tượng trong tập

dữ liệu đầu vào được biểu diễn bởi một tập các thuộc tính

Phương pháp đồng huấn luyện sẽ chia các tập các thuộc tính của mỗi đối tượng thành hai tập con riêng biệt, hai tập con này thỏa mãn tính chất độc lập có điều kiện và có thể sử dụng để huấn luyện tốt một bộ phân loại

Trang 37

Sau đó mỗi một tập thuộc tính con của các đối tượng đã gán nhãn trong tập dữ liệu đầu vào sẽ được đưa vào huấn luyện cho một bộ phân loại

Mỗi bộ phân loại sau đó sẽ được sử dụng để dự đoán nhãn phân loại cho các đối tượng chưa được gán nhãn trong tập dữ liệu đầu vào Sau đó, chúng chọn ra những đối tượng chưa được gán nhãn cùng với nhãn dự đoán của chúng để huấn luyện lại cho bộ phân loại kia

Hình 2.4 - Sơ đồ các bước đồng huấn luyện cho bài toán phân loại

Sau đó, mỗi bộ phân loại được huấn luyện lại dựa trên những đối tượng được

bổ sung từ bộ phân loại còn lại, từ đó quá trình lặp bắt đầu cho tới khi đạt đến số vòng lặp nhất định thì dừng lại

Cuối cùng, khi một đối tượng mới xuất hiện, hai bộ phân loại sẽ dự đoán nhãn của đối tượng đó và nhãn dự đoán của đối tượng này là nhãn dự đoán có độ tin cậy cao hơn từ hai bộ phân loại trên

2.1.2.2 Bài toán dự đoán đánh giá

Bài toán dự đoán đánh giá là một nhánh của bài toán tư vấn Mục đích của bài toán này là đưa ra dự đoán về đánh giá của một người dùng cho các đối tượng mà người dùng đó chưa đánh giá Đầu vào của bài toán là những thông tin về các đối tượng, về người dùng, và ma trận đánh giá của người dùng cho các đối tượng

Trang 38

Chúng ta có thể hiểu phương pháp đồng huấn luyện là một phương pháp tư vấn thuộc loại phương pháp tư vấn lai Nghĩa là để áp dụng phương pháp đồng huấn luyện, việc trước tiên phải làm đó là lựa chọn các phương pháp tư vấn cơ bản để kết hợp chúng lại với nhau

Bước tiếp theo là chúng ta sẽ đi biểu diễn các thông tin về các đối tượng và các người dùng trong bộ dữ liệu đầu vào thành các tập đặc điểm phù hợp với từng phương pháp tư vấn Sau đó ta sẽ xây dựng nên hai mô hình tư vấn dựa trên những thông tin về các đối tượng cũng như những người dùng có trong ma trận đánh giá Các ô còn thiếu trong ma trận đánh giá ban đầu sẽ được hai mô hình tư vấn đưa ra dự đoán Sau đó những ô dự đoán mỗi mô hình sẽ được đem kết hợp với ma trận đầu vào của hai mô hình để huấn luyện lại mô hình mới Vòng lặp huấn luyện bắt đầu từ đây

Hệ thống sẽ kết thúc khi toàn bộ các ô trong ma trận ban đầu được bổ sung hết bởi hai mô hính Kết quả cuối cùng của mỗi ô còn thiếu trong ma trận ban đầu sẽ là

sự kết hợp của hai ô tương ứng lấy từ ma trận sinh bởi hai mô hình tư vấn

2.2 Đề xuất iải p áp tư vấn ai sử dụn đồn uấn uyện

2.2.1 Mô tả bài toán

Nội dung của luận văn sẽ đi xây dựng một phương pháp tư vấn lai sử dụng đồng huấn luyện Phương pháp này sẽ đi giải quyết bài toán dự đoán đánh giá của người dùng cho các bộ phim trong hệ thống

Các thành phần chính của bài toán này bào gồm:

Ngày đăng: 02/12/2016, 04:02

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Nguyễn Việt Tân, Hoàng Vũ, Đặng Vũ Tùng, Từ Minh Phương (2014), “Phân loại dữ liệu có liên kết sử dụng phương pháp đồng huấn luyện”, Tạp chí Khoa học DHQGHN: Khoa học Tư nhiên và Công nghệ, Tập 30, Số 4, trang 48-57.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Phân loại dữ liệu có liên kết sử dụng phương pháp đồng huấn luyện”, "Tạp chí Khoa học DHQGHN: Khoa học Tư nhiên và Công nghệ
Tác giả: Nguyễn Việt Tân, Hoàng Vũ, Đặng Vũ Tùng, Từ Minh Phương
Năm: 2014
[3] Ngo Xuan Bach, Nguyen Do Hai, Tu Minh Phuong (2016), “Personalized recommendation of stories for commenting in forum-based social media”, Information Sciences, pp. 48-60 Sách, tạp chí
Tiêu đề: Personalized recommendation of stories for commenting in forum-based social media”, "Information Sciences
Tác giả: Ngo Xuan Bach, Nguyen Do Hai, Tu Minh Phuong
Năm: 2016
[4] S. Briesemeister, J. Rahrienführer, O. Kohlbacher (2012), “No longer confidential: estimating the confidence of individual regression predictions”, PLoS ONE Sách, tạp chí
Tiêu đề: No longer confidential: estimating the confidence of individual regression predictions
Tác giả: S. Briesemeister, J. Rahrienführer, O. Kohlbacher
Năm: 2012
[5] A. Blum, T. Mitchell (1998), “Combining Labeled and Unlabeled Data with Co- Training”, In Proceedings of COLT, pp. 92-100 Sách, tạp chí
Tiêu đề: Combining Labeled and Unlabeled Data with Co-Training
Tác giả: A. Blum, T. Mitchell
Năm: 1998
[6] A. Felfernig, M. Jeran, G. Ninaus, F. Reinfrank, S. Reiterer, M. Stettinger (2014), “Basic approaches in recommendation systems”, In Recommendation Systems in Software Engineering, pp. 15-37 Sách, tạp chí
Tiêu đề: Basic approaches in recommendation systems
Tác giả: A. Felfernig, M. Jeran, G. Ninaus, F. Reinfrank, S. Reiterer, M. Stettinger
Năm: 2014
[8] Nguyen Do Hai, Tran Quang An, Ngo Xuan Bach, Tu Minh Phuong (2013), “What Should I Comment: Recommending Posts for Commenting”, International Conference of Soft Computing and Pattern Recognition, Hà Nội Sách, tạp chí
Tiêu đề: What Should I Comment: Recommending Posts for Commenting
Tác giả: Nguyen Do Hai, Tran Quang An, Ngo Xuan Bach, Tu Minh Phuong
Năm: 2013
[10] W. Hill, L. Stead, M. Rosenstein, and G. Furnas (1995), “Recommending and evaluating choices in a virtual community of use”, In Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 194–201 Sách, tạp chí
Tiêu đề: Recommending and evaluating choices in a virtual community of use
Tác giả: W. Hill, L. Stead, M. Rosenstein, and G. Furnas
Năm: 1995
[11] Joachims, Freitag, Mitchell (1997), “WebWatcher: A Tour Guide for the World Wide Web”, In Proceedings of the 15th International Joint Conference on Artificial Intelligence, Nagoya, Japan, pp. 770 -775 Sách, tạp chí
Tiêu đề: WebWatcher: A Tour Guide for the World Wide Web
Tác giả: Joachims, Freitag, Mitchell
Năm: 1997
[12] Pazzani, Billsus (1997), “Learning and revising user profiles: The identification of interesting web sites”, Machine learning, 27(3), pp. 313-331 Sách, tạp chí
Tiêu đề: Learning and revising user profiles: The identification of interesting web sites
Tác giả: Pazzani, Billsus
Năm: 1997
[13] Prasad, Kumari (2012), “A categorical review of recommender systems”, International Journal of Distributed and Parallel Systems (IJDPS) Vol.3, No.5 Sách, tạp chí
Tiêu đề: A categorical review of recommender systems
Tác giả: Prasad, Kumari
Năm: 2012
[15] Laila Safoury, Akram Salah (2013), “Exploiting User Demographic Attributes for Solving Cold-Start Problem in Recommender System”, Lecture Notes on Software Engineering Vol. 1, No. 3 Sách, tạp chí
Tiêu đề: Exploiting User Demographic Attributes for Solving Cold-Start Problem in Recommender System
Tác giả: Laila Safoury, Akram Salah
Năm: 2013
[16] Shardanand, Maes, (1995, May), “Social information filtering: algorithms for automating “word of mouth” ”. In Proceedings of the SIGCHI conference on Human factors in computing systems , pp. 210-217 Sách, tạp chí
Tiêu đề: Social information filtering: algorithms for automating “word of mouth” ”. "In Proceedings of the SIGCHI conference on Human factors in computing systems
Tác giả: Shardanand, Maes
Năm: 1995
[17] Z. Tao, M. Cheung, J. She, R. Lam (2014), “Item Recommendation Using Collaborative Filtering in Mobile Social Games: A Case Study”, In Big Data and Cloud Computing (BdCloud), 2014 IEEE International Conference, pp.293-297 Sách, tạp chí
Tiêu đề: Item Recommendation Using Collaborative Filtering in Mobile Social Games: A Case Study”, In "Big Data and Cloud Computing (BdCloud), 2014 IEEE International Conference
Tác giả: Z. Tao, M. Cheung, J. She, R. Lam
Năm: 2014
[18] Loren Terveen, Will Hill (2001), “Beyond Recommender Systems: Helping People Help Each Other”, HCI in the New Millennium 1, pp. 487-509 Sách, tạp chí
Tiêu đề: Beyond Recommender Systems: Helping People Help Each Other”", HCI in the New Millennium 1
Tác giả: Loren Terveen, Will Hill
Năm: 2001
[19] L. Ungar, D. Foster (1998), “Clustering methods for collaborative filtering”, In Proceedings of the Workshop on Recommendation Systems, AAAI Press, Menlo Park California Sách, tạp chí
Tiêu đề: Clustering methods for collaborative filtering”, In Proceedings of "the Workshop on Recommendation Systems
Tác giả: L. Ungar, D. Foster
Năm: 1998
[1] Từ Minh Phương, Học viện Công nghệ Bưu chính Viễn thông (2014), Giáo trình Trí tuệ nhân tạo Khác
[14] F. Ricci, Lior Rokach, and Bracha Shapira (2011), Introduction to recommender systems handbook, Springer US Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 - Ý tưởng của p ươn  p áp  ọc cộng tác - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 1.1 Ý tưởng của p ươn p áp ọc cộng tác (Trang 18)
Hình 1.2 - Biểu diễn sở t íc  n ƣời dùn  qua đán   iá - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 1.2 Biểu diễn sở t íc n ƣời dùn qua đán iá (Trang 19)
Hình 1.3 - P ƣơn  p áp  ọc cộng tác dựa trên phân cụm - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 1.3 P ƣơn p áp ọc cộng tác dựa trên phân cụm (Trang 22)
Hình 1.5 - Phân loại k-láng giềng gần nhất - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 1.5 Phân loại k-láng giềng gần nhất (Trang 27)
Hình 1.6 - Mô  ìn  p ƣơn  p áp tƣ vấn dựa trên thông tin cá nhân - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 1.6 Mô ìn p ƣơn p áp tƣ vấn dựa trên thông tin cá nhân (Trang 29)
Hình 2.1 - P ươn  p áp đồng huấn luyện trước đây - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.1 P ươn p áp đồng huấn luyện trước đây (Trang 33)
Hình 2.2 - P ƣơn  p áp đồng huấn luyện đề xuất - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.2 P ƣơn p áp đồng huấn luyện đề xuất (Trang 34)
Hình 2.4 - Sơ đồ các bước đồng huấn luyện cho bài toán phân loại - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.4 Sơ đồ các bước đồng huấn luyện cho bài toán phân loại (Trang 37)
Hình 2.5 - Mô  ìn  tƣ vấn sử dụn  đồng huấn luyện cải tiến - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.5 Mô ìn tƣ vấn sử dụn đồng huấn luyện cải tiến (Trang 40)
Hình 2.6 - Các bước xây dựng mô hình hồi quy lọc cộng tác - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.6 Các bước xây dựng mô hình hồi quy lọc cộng tác (Trang 43)
Hình 2.7 - P ƣơn  p áp p ân tíc  ma trận - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.7 P ƣơn p áp p ân tíc ma trận (Trang 44)
Hình 2.9 - Các bước xây dựng mô hình hồi quy dựa trên nội dung - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.9 Các bước xây dựng mô hình hồi quy dựa trên nội dung (Trang 46)
Hình 2.10 – Các bước tìm láng giềng của từn  n ười dùng - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.10 – Các bước tìm láng giềng của từn n ười dùng (Trang 48)
Hình 2.11 – Các bước tìm láng giềng của từn  đối tượng - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 2.11 – Các bước tìm láng giềng của từn đối tượng (Trang 49)
Hình 3.4 - Biểu đồ chỉ số RMSE trên các bin dữ liệu - Nghiên cứu giải pháp tư vấn lai sử dụng đồng huấn luyện
Hình 3.4 Biểu đồ chỉ số RMSE trên các bin dữ liệu (Trang 72)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm