So với lọc theo nội dung, lọc cộng tác có một số ưu điểm như đơn giản trong cài đặt và có thể lọc được mọi loại thông tin hay hàng hoá mà không cần hải biểu diễn dưới dạng văn bản.. Lọc
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS Nguyễn Duy Phương
Phản biện 1: ………
Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
1 Đặt vấn đề
Lọc thông tin (Information Filtering là lĩnh v c nghi n c u các uá trình lọc b
nh ng thông tin không thích hợ và cung cấ thông tin thích hợ đ n với m i người d ng Lọc thông tin được xem là hương há hiệu uả hạn ch tình trạng uá tải thông tin được quan tâm nhiều nhất hiện nay Các hương há lọc thông tin đóng vai trò uan trọng đối với các thống thương mại điện tử, đặc biệt là hệ tư vấn (Recommender System
Hệ tư vấn (Recommender System là hệ thống có khả năng t động hân tích, hân
loại, l a chọn và cung cấ cho người d ng nh ng thông tin, hàng hóa hay dịch vụ mà họ uan tâm Hệ tư vấn được xem như một bi n thể điển hình có vai trò uan trọng trong lọc thông tin Nhiều hệ tư vấn đã được thương mại hóa và triển khai thành công, ti u biểu là hệ
tư vấn của các hãng Amazon.com, Netflix.com, Procter & Gamble
Hệ tư vấn được xây d ng d a tr n hai kỹ thuật lọc thông tin chính: Lọc theo nội
dung (Content-Based Filtering và lọc cộng tác (Collaborative Filtering Lọc theo nội
dung khai thác nh ng khía cạnh li n uan đ n các đặc trưng nội dung thông tin sản hẩm người d ng đã từng sử dụng hay truy nhậ trong uá kh để tạo n n tư vấn Lọc theo nội dung cho lại k t uả khá tốt tr n các dạng thông tin được biểu diễn bằng các đặc trưng nội dung, nhưng gặ hải khó khăn tr n các dạng thông tin đa hương tiện (hình ảnh, âm thanh, dịch vụ Trái lại, lọc cộng tác khai thác nh ng khía cạnh li n uan đ n thói uen sử dụng sản hẩm của cộng đồng người d ng có c ng sở thích để tạo n n tư vấn So với lọc theo nội dung, lọc cộng tác có một số ưu điểm như đơn giản trong cài đặt và có thể lọc được mọi loại thông tin hay hàng hoá mà không cần hải biểu diễn dưới dạng văn bản
Lọc cộng tác cho hệ tư vấn được ti cận theo hai hương há chính: Lọc cộng tác
d a vào bộ nhớ (Memory-Based Collaborative Filtering) và lọc cộng tác d a vào mô hình (Model-Based Collaborative Filtering Điểm khác biệt uan trọng trong hai hương há
ti cận là hương há xây d ng mô hình huấn luyện và mô hình d đoán Lọc d a vào
bộ nhớ ti n hành xây d ng đồng thời mô hình huấn luyện và mô hình d đoán Ngược lại, lọc d a vào mô hình xây d ng mô hình huấn luyện và mô hình d đoán độc lậ nhau So với lọc cộng tác d a vào mô hình, lọc cộng tác d a vào bộ nhớ được á dụng rộng rãi hơn
do tính hiệu uả, đơn giản và có độ chính xác khá cao
Trang 4Lọc cộng tác d a vào bộ nhớ được th c hiện theo hai hương há chính: Lọc d a vào người d ng (User-Based Collaborative Filtering và lọc d a vào sản hẩm (Item-Based Collaborative Filtering Hiệu uả của các hương há lọc d a vào bộ nhớ hụ thuộc vào độ đo tương t gi a các cặ người d ng hoặc sản hẩm Trong uá trình nghi n
c u và ng dụng, nhiều nghi n c u đã được đề xuất để cải thiện các độ đo tương t , đặc biệt trong trường hợ d liệu thưa Mặc d đã có nhiều nghi n c u nhắm tới nội dung này, nhưng đây vẫn là nh ng vấn đề nghi n c u mở, có tính thời s và thu hút s ua tâm của cộng đồng nghi n c u
Đề tài “Nghiên cứu, phát triển phương pháp lọc cộng tác dựa vào bộ nhớ” được
th c hiện trong khuôn khổ luận văn thạc sĩ chuy n ngành “Truyền d liệu và mạng máy tính” nhằm gó hần giải uy t một số vấn đề còn tồn tại của lọc cộng tác d a vào bộ
nhớ
2 Mục tiêu của luận văn
Mục ti u của luận văn là nghi n c u á dụng, cải ti n hương há lọc cộng tác
d a tr n bộ nhớ nhằm cải thiện độ chính xác k t uả d đoán cho các hệ tư vấn Đặc biệt, nghi n c u tậ trung vào việc nâng cao k t uả d đoán nhu cầu người d ng trong trường hợ d liệu thưa
3 Các đóng góp của luận văn
Đóng gó của luận văn là đề xuất một hương há tính toán m c độ tương t
gi a các cặ người d ng hoặc sản hẩm d a vào đồ thị để nâng cao chất lượng d đoán cho các hệ tư vấn Nh ng đóng gó cụ thể của luận văn bao gồm bao gồm:
- Mở rộng biểu diễn đồ thị của Huang [23] cho các hệ thống lọc cộng tác Phương
há biểu diễn h hợ với tất cả các bộ d liệu cho lọc cộng tác hiện tại
- Đề xuất hương há tính toán m c độ tương t gi a các cặ người d ng d a vào hương há ước lượng trọng số các đường đi từ đỉnh người d ng đ n đỉnh người
d ng Đề xuất được á dụng cho hương há UserBased đạt k t uả tốt tr n các
bộ d liệu thử nghiệm khác nhau
- Đề xuất hương há tính toán m c độ tương t gi a các cặ sản hẩm d a vào hương há ước lượng trọng số các đường đi từ đỉnh sản hẩm đ n đỉnh sản hẩm Đề xuất được á dụng cho hương há ItemBased đạt k t uả tốt tr n các
bộ d liệu thử nghiệm khác nhau
Trang 5- Xây d ng được bộ d liệu thử nghiệm cho lọc cộng tác với 7682 người d ng và
3000 sản hẩm di động khác nhau
- Xây d ng hệ tư vấn sản hẩm điện thoại di động Hệ thống cho hé xem, đánh giá, gợi ý nh ng sản hẩm hợ với sở thích của m i người d ng
4 Bố cục của luận văn
Luận văn được tổ ch c thành ba chương, trong đó :
Chương 1 : Giới thiệu tổng uan về lọc cộng tác d a vào bộ nhớ
Nội dung chính của chương trình bày nh ng nghi n c u cơ bản về lọc cộng tác, các hương há lọc cộng tác, đi sâu trình bày về các hương há lọc cộng tác d a tr n bộ nhớ Tr n cơ sở nh ng nghi n c u cơ bản, xác định rõ hướng nghi n c u của đề tài
Chương 2 : Trình bày hương há lọc cộng tác d a tr n mô hình đồ thị, bao gồm :
Phương há lọc d a tr n người d ng, hương há lọc d a tr n sản hẩm Nội dung trình bày trong chương này được tổng hợ từ k t uả nghi n c u đã được trình bày tại hội nghị Quốc Gia lần th 6 về “Nghi n c u cơ bản và ng dụng công nghệ thông tin” tổ
tr c tại Hu ngày 20-21/6/2013 [1]
Chương 3 : Trình bày thi t k và xây d ng hệ tư vấn sản hẩm điện thoại di động sử
dụng hương há lọc cộng tác d a tr n mô hình đồ thị được đề xuất trong chương 2
Trang 6CHƯƠNG 1: LỌC CỘNG TÁC DỰA VÀO BỘ NHỚ
Mục ti u chính của chương này trình bày nh ng vấn đề tổng uan về lọc cộng tác, các hương há lọc cộng tác, hân tích rõ nh ng hạn ch tồn tại của m i hương há
để từ đó xác định rõ hướng nghi n c u cụ thể của đề tài Nh ng k t uả nghi n c u của
đề tài sẽ được trình bày trong các chương ti theo của luận văn
1.1 Phát biểu bài toán lọc cộng tác
Cho tậ hợ h u hạn U = {u1, u2,…, uN} là tậ gồm N người d ng, P = {p1, p2, ,
pM} là tậ gồm M sản hẩm M i sản hẩm p xP có thể là hàng hóa, him, ảnh, tạ chí,
tài liệu, sách, báo, dịch vụ hoặc bất kỳ dạng thông tin nào mà người d ng cần đ n Để
thuận tiện trong trình bày, ta vi t p xP ngắn gọn thành xP, uiU là iU
Mối uan hệ gi a tậ người d ng U và tậ sản hẩm P được biểu diễn thông ua
ma trận đánh giá R ={ r ix , i = 1 N, x = 1 M} M i giá trị r ix thể hiện đánh giá của người
dùng u iU đối với sản hẩm p xP Giá trị r ix có thể được thu thậ tr c ti bằng cách
h i ý ki n người d ng hoặc thu thậ gián ti thông ua cơ ch hản hồi của người d ng
Giá trị r ix = được hiểu người d ng ui chưa đánh giá hoặc chưa bao giờ bi t đ n sản
hẩm p x Nhiệm vụ của lọc cộng tác là d đoán uan điểm của người d ng uaU đối với
nh ng mặt hàng mới p x P, tr n cơ sở đó tư vấn cho người d ng u a nh ng sản hẩm được đánh giá cao [7]
Bảng 1 là một ví dụ về ma trận đánh giá cho hệ lọc cộng tác gồm 3 người d ng U
={ u1, u2, u3} và 4 sản hẩm P = {p1, p2, p3, p4} Các giá trị đánh giá được biểu diễn có
giá trị r ix {, 1, 2, 3, 4, 5} Nh ng giá trị r ix = được hiểu là người d ng iU chưa bi t
đ n sản hẩm xP Ô điền ký t “?” là giá trị cần điền vào của các hương há lọc cộng
Trang 7Ma trận đánh giá R = (r ix) là thông tin đầu vào duy nhất của các hương há lọc cộng tác D a tr n ma trận đầu vào, các hương há lọc cộng tác th c hiện như được
mô tả trong Hình 1.1
Hình 1-1 Các thành phần của hệ thống lọc cộng tác
D a tr n ma trận đánh giá, các hương há lọc cộng tác th c hiện hai tác vụ:
D đoán uan điểm của người d ng hiện thời (Active User về các sản hẩm mà họ chưa đánh giá, đồng thời đưa ra một danh sách các sản hẩm có đánh giá cao nhất hân bổ cho người d ng hiện thời
Có nhiều hương há đề xuất khác nhau để giải uy t bài toán lọc cộng tác Tuy vậy ta có thể hân loại các hương há thành hai cách ti cận chính: Lọc cộng tác d a vào bộ nhớ và lọc cộng tác d a vào mô hình Trong hai hương há này, hương há lọc cộng tác d a vào bộ nhớ được sử dụng rộng dãi hơn cho các hệ thống lọc thông tin
th c t do cài đặt đơn giản, độ chính xác cao, chi hí tính toán thấ Chính vì vậy, hướng
ti cận của luận văn tậ trung nghi n c u hát triển hương há lọc cộng tác d a vào
bộ nhớ
Lọc cộng tác d a tr n bộ nhớ được ti cận theo hai hương há chính: Phương pháp lọc d a vào người d ng (UserBased và lọc d a vào sản hẩm (ItemBased Nội dung cụ thể của hai hương há này được trình bày trong nh ng mục ti theo
Trang 81.2 Phương pháp lọc cộng tác dựa trên sản phẩm
1.2.1 Thuật toán lọc cộng tác dựa trên sản phẩm
Thuật toán lọc cộng tác d a vào sản hẩm xây d ng cho sản hẩm một tậ láng giềng có các đánh giá tương t nhất trong ma trận người d ng – sản hẩm Các đánh giá của nh ng sản hẩm láng giềng này sau đó được sử dụng để đưa ra d đoán Thuật toán lọc cộng tác d a tr n sản hẩm (Item-Based) được th c hiện thông ua 3 bước:
Bước 1: Tính toán độ tương t sản hẩm
Bước 2: Xác định tậ láng giềng cho sản hẩm cần tư vấn
Bước 3: Tính toán đưa ra lời d đoán
1.2.2 Ví dụ lọc cộng tác dựa trên sản phẩm
1.2.3 Hạn chế của phương pháp lọc cộng tác dựa trên sản phẩm
Vấn đề d liệu thưa (S arsity Data Problem
Vấn đề người d ng mới (New User Problem
Vấn đề sản hẩm mới (New Item Problem
1.3 Phương pháp lọc cộng tác dựa trên người dùng
1.3.1 Thuật toán lọc cộng tác dựa trên người dùng
Thuật toán lọc cộng tác d a vào người d ng xây d ng cho m i người d ng một
tậ các láng giềng có các đánh giá tương t trong ma trận người d ng – sản hẩm Các đánh giá từ nh ng người d ng này sau đó được sử dụng để đưa ra d đoán Kĩ thuật lọc cộng tác d a trên người d ng (User-Based) được th c hiện thông ua 3 bước:
Bước 1 Tính toán m c độ tương t gi a các cặ người d ng
Bước 2: Xác định tậ láng giềng cho người d ng cần tư vấn
Bước 3: Tính toán đưa ra d đoán
1.3.2 Ví dụ lọc cộng tác dựa trên người dùng
1.3.3 Hạn chế của phương pháp lọc cộng tác dựa trên người dùng
Vấn đề d liệu thưa (S arsity Data Problem
Vấn đề người d ng mới (New User Problem
Vấn đề sản hẩm mới (New Item Problem
Trang 91.4 Mục tiêu nghiên cứu của luận văn
Như đã trình bày ở trên lọc cộng tác được hân chia thành hai hướng ti cận: lọc cộng tác d a vào bộ nhớ và lọc cộng tác d a vào mô hình Trong hai hương há này, hương há lọc cộng tác d a vào bộ nhớ được sử dụng rộng dãi hơn cho các hệ thống lọc thông tin th c t do cài đặt đơn giản, độ chính xác cao, chi hí tính toán thấ Tuy nhi n với việc sử dụng các dộ đo tương uan, độ đo tương t hiện tại thì các hệ thống lọc thông tin chỉ khai thác được mối uan hệ tr c ti gi a các đối tượng, như vậy b ua rất nhiều mối uan hệ gián ti gi a các đối tượng trong hệ thống
Chính vì vậy, hướng ti cận của luận văn tậ trung nghi n c u hát triển hương pháp lọc cộng tác d a vào bộ nhớ với mục ti u cụ thể như sau:
Nghi n c u và đề xuất hương há hạn ch ảnh hưởng tình trạng d liệu thưa của lọc cộng tác d a tr n mô hình đồ thị Phương há đề xuất được trình bày trong Chương 2
Xây d ng một ng dụng d a tr n hương há đề xuất K t uả hân tích thi t k và xây d ng ng dụng được trình bày trong Chương 3
Trang 10CHƯƠNG 2: PHƯƠNG PHÁP USER-BASED VÀ ITEM-BASED DỰA TRÊN MÔ HÌNH ĐỒ THỊ
Mục ti u chính của chương này trình bày k t uả nghi n c u của luận văn về hát triển hương há lọc cộng tác d a vào bộ nhớ tr n mô hình đồ thị Sử dụng biểu diễn đồ thị cho hé tận dụng được mối uan hệ gián ti gi a các đối tượng người d ng và sản hẩm vào uá trình d đoán và tư vấn Khác với cách ti cận trong [23, 29], hương
há d đoán của luận văn được th hiện d a tr n việc xây d ng một độ đo tương t
gi a các cặ người d ng hoặc sản hẩm D a tr n độ đo tương t này, ta xác định được
tậ láng giềng tốt hơn so với các hương há lọc d a vào bộ nhớ sử dụng các độ đo tương uan
Để thuận tiện cho việc trình bày: Mục (2.1 trình bày hương há biểu diễn đồ thị hai hía cho lọc cộng tác Mục (2.2 trình bày hương há lọc d a tr n người d ng
tr n mô hình đồ thị Mục (2.3 trình bày hương há lọc d a tr n sản hẩm tr n mô hình đồ thị Mục (2.4 trình bày điều kiện cần và đủ để các hệ thống lọc cộng tác á dụng tất cả các hương há tr n mô hình đồ thị Mục (2.5 trình bày về k t uả thử nghiệm,
so sánh và đánh giá với các hương há lọc khác Mục cuối c ng (2.6) là k t luận và hướng nghi n c u ti theo Nội dung trình bày trong chương này được tổng hợ từ k t
uả nghi n c u trong [1]
2.1 Biểu diễn đồ thị hai phía cho lọc cộng tác
Giả sử ta có hệ lọc cộng tác gồm N người d ng U và M sản hẩm P với ma trận đánh giá là R=(rij: i=1, 2, N; j =1, 2, ,M Không hạn ch tính tổng uát của bài toán,
ta giả sử r ix = +v n u người d ng iU đánh giá sản hẩm xP ở m c độ v, trong đó
Đối với các bộ d liệu có giá trị đánh giá r ix{1, 2, , V}, ta chỉ cần th c hiện hé bi n
đổi đơn giản chuyển
V
r
r ix ix Phé bi n đổi này vẫn bảo toàn được m c độ đánh giá theo
th t khác nhau của các hệ lọc cộng tác Đây là một biểu diễn mở rộng của Huang đã
Nếu người dùng i chưa biết đến sản phẩm x
Nếu người dùng i thích sản phẩm x ở mức độ v
Trang 11th c hiện trong [22] Ví dụ với hệ lọc cộng tác được cho trong Bảng 1, sẽ được chuyển
đổi biểu diễn theo (2.1 thành Bảng 2.1 Muc đích của việc chuyển đổi r ix[0,1] để sử dụng trong hương há tính toán m c độ tương t gi a các cặ người d ng và sản hẩm Nội dung này sẽ được trình bày chi ti t trong các mục ti theo
Bảng 2-1 Ma trận đánh giá được chuyển đổi
p1 p2 p3 p4
u3 ? 0.6 ? 0.4
Hệ lọc cộng tác với ma trận đánh giá xác định theo (2.1 hình thành n n một đồ thị
hai hía, một hía là tậ người d ng, hía còn lại là tậ sản hẩm, ký hiệu là đồ thị G
=<V, E> Tậ đỉnh V của đồ thị được chia thành hai tậ : tậ người d ng và tậ sản hẩm
(V=UP Tậ cạnh E của đồ thị được xác định theo công th c (2.2 M i cạnh eE đều
có dạng e = (i, x , trong đó iU và xP Không tồn tại các cạnh của nối gi a hai đỉnh
người d ng hoặc cạnh nối gi a hai đỉnh sản hẩm Trọng số của m i cạnh được xác định theo (2.3)
0
) , (
(2.3)
Gọi C=(cij là ma trận trọng số biểu diễn đồ thị G (i =1, 2, , N+M; j = 1, 2, ,
N+M Khi đó, ma trận vuông C sẽ được chia thành bốn hần theo công th c (2.4)
Trong đó, ma trận vuông U(NN biểu diễn mối uan hệ gi a người d ng và người d ng, P(MM biểu diễn mối uan hệ gi a sản hẩm với sản hẩm, W(NM được xác định
theo (2.3 biểu diễn mối uan hệ gi a người d ng và sản hẩm, WT(MN là chuyển vị
của W(NM biểu diễn mối uan hệ gi a sản hẩm và người d ng Các hần tử của ma
trận U(NN), P(MM ban đầu đều có giá trị 0
M W
M N W N
N U C
Trang 12Ví dụ, với hệ lọc cộng tác được cho trong Bảng 2.1, khi đó đồ thị hai hía biểu diễn cho lọc cộng tác được thể hiện trong Hình 2.1, thành hần của ma trận trọng số được thể hiện trong Hình 2.2
Hình 2-1 Đồ thị hai phía biểu diễn cho lọc cộng tác
Hình 2-2 Ma trận trọng số biểu diễn đồ thị hai phía
Cho đồ thị G =<V,E> biểu diễn dưới dạng ma trận trọng số C xác định theo (2.4)
Khi đó, lọc cộng tác có thể được xem xét như bài toán tìm ki m tr n đồ thị Trong đó,
mức độ tương tự giữa các cặp người dùng được tính toán dựa vào trọng số các đường đi
từ đỉnh người dùng đến đỉnh người dùng, mức độ tương tự giữa các cặp sản phẩm được tính toán dựa vào trọng số các đường đi từ đỉnh sản phẩm đến đến đỉnh sản phẩm, mức
độ phù hợp của người dùng đối với sản phẩm được tính toán dựa vào trọng số các đường
đi từ đỉnh người dùng đến đỉnh sản phẩm M c độ tương t gi a các cặ người d ng sẽ
được điền giá trị vào ma trận U(NN , m c độ tương t gi a các cặ sản hẩm sẽ được
điền giá trị vào ma trận P(MM , m c độ h hợ của người d ng đối với sản hẩm
được điền giá trị vào ma trận W(NM) và WT(MN Trong đó,U(NN), P(MM), W(NM), WT(MN được xác định theo (2.4) Nội dung cụ thể m i hương há ti cận
sẽ được trình bày trong các mục ti theo
0.4 0.6
0.8 0.6 0.8 1.0