HỌ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 VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
Người hướng dẫn khoa học: PGS.TS Trần Đình Quế
Phản biện 1: TS Dao Dinh Khả
Phan bién 2: TS Tran Quy Nam
Luận văn sé được bảo vệ trước Hội đông châm luận van thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 8 giờ ngày 20 tháng 08 năm 2016
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 3MO DAU
Thế giới là một nơi tràn ngập thông tin và chúng đều muốn nhận được sự chú ý của người dùng, chúng ta bị quá tải bởi lượng thông tin quá nhiều: trong 60s, có hơn 6.600 ảnh
hưởng được đăng lên Flickr, 600 video được tải lên YouTube với độ dài tổng cộng hơn 25 giờ, 70 tên miền mới được đăng ký, 20.000 thông tin mới được đăng trên nền tảng Tumblr,
1.200 quảng cáo mới được đưa lên trang rao vặt Craigslist Bên cạnh đó nhu cầu tìm kiếm thông tin của con người cũng rất lớn, cũng trong 60s ấy máy chủ tìm kiếm của Google nhận hơn 694.445 câu lệnh tra cứu, hơn 100 câu hỏi được nhập vào Answers.com và 40 câu hỏi
trên Yahoo Answers [24].
Tuy nhiên, các công cụ chi hữu ích khi người dùng xác định được nội dung cai cu thể
mà họ muốn tìm Trong trường hợp người dùng không xác định được nội dung mà họ cần
tìm, họ cần sự tư vấn dé đưa ra sự lựa chọn cuối cùng Cùng với sự phát triển của khoa học
công nghệ, các hệ thống tư vấn tự động được nghiên cứu vào giữa những năm 1990 và thu hút được nhiều sự quan tâm bởi tính ứng dụng của nó trong nhiều lĩnh vực [14].
Hệ tư van RS (Recommender System) là hệ thống có khả năng tự động phân tích,
phân loại, lựa chọn và cung cấp cho người dùng những thông tin, hàng hóa hay dịch vụ mà
họ quan tâm Hệ tư vấn được xem như một biến thê điển hình có vai trò quan 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é tu van duoc xây dựng dựa trên hai kỹ thuật lọc thông tin chính: Loc theo nội dung CBF (Content-Based Filtering) và lọc cộng tác CF (Collaborative Filtering) Lọc theo nội dung khai thác những khía cạnh liên quan đến nội dung thông tin sản phẩm người dùng đã
từng sử dụng hay truy nhập trong quá khứ để tạo nên tư vấn Trái lại, lọc cộng tác khai thác
những khía cạnh liên quan đến thói quen sử dụng sản phâm của cộng đồng người dùng có cùng sở thích dé tạo nên tư van [1].
Mỗi phương pháp đều có những ưu điểm riêng, nhiều kết quả nghiên cứu cũng cho thấy lọc cộng tác cho kết quả tư vấn tốt hơn Tuy nhiên, vẫn còn nhiều thách thức, nhiều vấn
đề mang tính đặc thù đối với thông tin tư vấn như tính thưa thớt dữ liệu huấn luyện, xử lý người dùng mới, hàng hóa mới, yêu cầu kết hợp các dạng thông tin khác nhau, làm việc với
dữ liệu kích thước lớn được cập nhật thường xuyên [1].
Đê tài được thực hiện nhăm góp phân giải quyêt một sô vân đê còn tôn tại của lọc
Trang 4thông tin cho các hệ tư vấn.
Cấu trúc luận văn
Nội dung của luận văn được trình bày trong ba phần chính như sau: 1 Phần mở đầu
2 Phần nội dung: bao gồm ba chương
Chương 1: Tổng quan về hệ tư vấn
Trình bày một cách khái quát về hệ tư van, một số trang tư vấn nỗi tiếng, bai toán cho hệ tư vấn Đồ án giới thiệu các kỹ thuật tư vấn với sự kết hợp của cả hai phương pháp trên
Chương 2: Phương pháp kết hợp lọc cộng tác và nội dung
Trình bày phương pháp kết hợp giữa lọc cộng tác và lọc nội dung dựa trên mô hình đồ thị Đề xuất phương phoc lọc kết hop dé ứng dựng xây dựng hệ thống tư vấn
ở chương 3
Chương 3: Xây dựng hệ thống
Nội dung chương 3 đã trình bày thiết kế và xây dựng hệ tư vấn phim cho phương pháp lọc kết hợp được đề xuất trong chương 2 Hệ thống phản ánh đầy đủ các chức năng cơ ban của một hệ tư van.
3 Phần kết luận
Trang 5CHUONG 1 TONG QUAN VE HỆ TƯ VAN
1.1 Giới thiệu về hệ tư van
Trong cuộc sông hàng ngày, khi có nhu cầu mua bán hay làm một việc gì đó chúng ta có thể tham khảo ý kiến của những người xung quanh, những người đã từng trải nghiệm
hoặc hiểu về sở thích của ta Tuy nhiên trong thời đại của công nghệ thông tin, lượng thông
tin là vô cùng phong phú và không phải lúc nao chúng ta cũng có thé tham khảo ý kiến của moi người dé nhận được sự giúp đỡ dé có được sự lựa chọn tốt nhất Như vậy vấn đề đặt ra là cần có một hệ thống tự động giúp con người lựa chọn thông tin, sản phẩm phủ hợp trong núi dữ liệu không lồ ấy Hệ tư vấn là một giải pháp như vậy.
Có thể hiểu hệ tư vấn là một hệ thống lọc thông tin đặc biệt, nó có gắng tìm ra những
sản phẩm thuộc một lĩnh vực nào đó (âm nhạc, phim, sách, báo, web, ) mà người dùng
Thay vì sử dụng các thông tin nội dung sản phẩm, một hướng tiếp cận khác cho tư van lựa chọn sử dụng các thông tin về lịch sử đánh giá của tat cả người dùng dé tư vấn gọi là tư van dựa trên lọc cộng tác (Resnick et al , 1994) Cuối cùng là sự kết hợp cả hai kỹ thuật tư vấn dựa trên nội dung và lọc cộng tác được gọi là tư vấn lai đã được nghiên cứu trong một số tài liệu như: Balabanovic va Shoham (1997), Bruke (2002),.
1.2 Một số hệ tư vẫn nỗi tiếng
1.2.1 Amazon.com
1.2.2 IDMB.com
1.2.3 Một số hệ tư van khác
1.3 Các phương pháp tư vấn
1.3.1 Phương pháp lọc theo nội dung1.3.1.1 Bài toán lọc theo nội dung
Cho P={p,,p; p„} là tập gồm N sản phẩm Nội dung sản phẩm p€ P được ký hiệu là Content(p) được biểu diễn thông qua tập K đặc trưng nội dung của P Tập các đặc trưng sản phẩm P được xây dựng bằng các kỹ thuật truy vấn thông tin để thực hiện mục đích dự đoán của những sản phẩm khác tương tự với p.
Cho U={u,,u,, u,} là tập gồm M người dùng Với mỗi người dùng ue P,
gọi ContentBasedProfile(u) là hồ sơ người dùng u Hồ sơ của người dùng thực
Trang 6chất là lịch sử truy cập hoặc đánh giá của người đó đối với các sản phẩm ContentBasedProfile(u) được xây dựng bang cách phân tích nội dung các sản phẩm
mà người dùng đã từng truy nhập hoặc đánh giá dựa trên các kỹ thuật truy vấn
thông tin.
1.3.1.2 Lọc nội dung dựa vào bộ nhớ
Lọc nội dung dựa vào bộ nhớ là phương pháp sử dụng toàn bộ tập hé sơ sản phẩm và tập hồ sơ người dùng để thực hiện huấn luyện và dự đoán Trong phương pháp này, các sản phẩm mới được tính toán và so sánh với tất cả hồ sơ người dùng Những sản phẩm mới có mức độ tương tự cao nhất với hồ sơ người dùng sẽ được dùng dé tư van cho người dùng này [20].
1.3.1.3 Lọc nội dung dựa vào mô hình
Lọc nội dung dựa trên mô hình là phương pháp sử dụng tập hồ sơ sản phẩm và tập hồ sơ người dùng để xây dựng nên mô hình huấn luyện Mô hình dự đoán sau đó sẽ sử dụng kết quả của mô hình huấn luyện dé sinh ra tư van cho người dùng.
1.3.2 Phương pháp lọc cộng tác
1.3.2.1 Bài toán lọc cộng tác
Ký hiệu U={u,,u,, uy} là tập gồm N người dùng, P={p,.p; p„} là tap gôm M sản phâm mà người dùng có thê lựa chọn.
Tiếp theo, ký hiệu R {r,},i 1 N j= 1 M là ma trận đánh giá, trong đó mỗiỤ
người dùng ;eU đưa ra đánh giá của mình cho một số sản phẩm p,eP bằng một sô ”„ Giá trị 7; phản ánh mức độ ưa thích của người dùng u, đôi với sản phâm p,.ij ij Giá tri 7, có thé thu thập trực tiếp bằng cách hỏi ý kiến người dùng hoặc thu thập
gián tiếp thông qua cơ chế phan hồi của người dùng Giá trị r =6 trong trường hợp người dùng u, chưa đánh giá hoặc chưa bao giời biết đến sản phẩm Pj.
Với một người dùng cần được tư van u, (được gọi là người dùng hiện thời, người dùng cần được tư vấn, hay người dùng tích cực), bài toán lọc cộng là bài toán
dự đoán đánh gia của u, đối với những mặt hàng mà u, chưa đánh giá (r, =¢), trên
cơ sở đó tư vân cho u, những sản phâm được đánh giá cao.
Ma trận đánh giá R ={7,\ là thông tin đầu vào duy nhất của các phương pháp
Trang 7lọc cộng tác Dựa trên ma trận đánh giá, các phương pháp lọc cộngtác thực hiện hai
tac vu:
" Dự đoán: quan điểm của người dùng hiện thời AU(Active User) về các sản
phẩm mà họ chưa đánh giá.
= Tư vấn: đưa ra một danh sách các sản phẩm có đánh giá cao nhất phân bé cho
người dùng hiện thời.
1.3.2.2 Lọc cộng tác dựa trên bộ nhớ
Thuật toán lọc cộng tác dựa trên hàng xóm gần nhất có thé được biểu diễn như sau:
Thuat toan : Lọc cộôngtác dia trén ngivoi ding
1 Input: Ma trận đánh giá, người dùng y,s6 hang xóm K
2 /tính độ tương quan Person
15 Output: dự đoán đánh giá P,, ;
Hình 1.3.Thuật toán lọc cộng tác dựa trên người dùng
1.3.2.3 Lọc cộng tác dựa vào mô hình
Khác với phương pháp dựa trên bộ nhớ, phương pháp lọc dựa trên mô hình
[17,18] sử dụng tập đánh giá để xây dựng mô hình huấn luyện Kết quả của mô hình huấn luyện được sử dụng để sinh ra dự đoán quan điểm của người dùng về các sản phẩm chưa được họ đánh giá Ưu điểm của phương pháp này là mô hình huấn luyện có kích thước nhỏ hơn rất nhiều so với ma trận đánh giá và thực hiện dự đoán
nhanh Mô hình chỉ cần cập nhập lại khi có những thay đổi lớn và chỉ thực hiện lại pha xây dựng mô hình.
1.3.3 Phương pháp lọc kết hợp 1.3.3.1 _ Bài toán lọc kết hợp
Ngoài tập người dùng U, tập sản phẩm P và ma trận lọc cộng tác R như đã
Trang 8trình bày ở trên, ký hiệu C={c,,c,, ,c,} là tập K đặc trưng biểu diễn nội dung thông
tin các sản phẩm peP hoặc người dùng „eU.
Bài toán lọc kết hợp là dự đoán cho người dùng hiện thời u, những sản phẩm p¿<P chưa được u, đánh giá dựa trên ma trận đánh giá r, và các đặc trưng nội
dung
C={c,,c,, ¢,}-1.3.3.2 Các phương pháp lọc kết hợp
= Kết hợp tư vấn riêng rẽ.
"_ Thêm các đặc điểm dựa trên nội dung vào mô hình lọc cộng tác " Thêm các đặc điểm cộng tác vào mô hình dựa trên nội dung.
= Mô hình hợp nhất.
1.3.4.Những van đề ton tại của các hệ tư vấn
1.3.4.1 Phương pháp lọc theo nội dung
"Thiếu sự kết hợp hiệu quả các đặc trưng nội dung vào lọc cộng tác
"Thiếu sự kết hợp hiệu quả các đặc tính của lọc cộng tác vào lọc nội dung
1.4 Kết luận chương 1
Chương này khái quát về hệ tư vấn cũng như các kỹ thuật sử dụng trong hệ tư vấn Mỗi kỹ thuật đưa ra có các ưu điểm riêng, phương pháp lọc nội dung thực hiện hiệu quả với
các dạng thông tin được biểu diễn dưới dạng đặc trưng nội dung nhưng lại khó thực hiện trên các dạng thông tin đa phương tiện Lọc cộng tác cho lại kết quả tốt hơn so với lọc nội dung và có thể lọc bất kỳ dạng thông tin nào nhưng gặp phải vấn đề dữ liệu thưa, người
dùng mới và sản phẩm mới Lọc kết hợp chỉ phát huy hiệu quả nếu ta giải quyết được những mâu thuẫn trong khi kết hợp các đặc trưng nội dung vào lọc cộng tác.
Trang 9CHƯƠNG2 PHƯƠNG PHÁP KET HỢP LOC CỘNG TÁC VA
LOC NOI DUNG
2.1 Lọc cộng tác dựa trên mô hình đồ thị
2.1.1 Phương pháp biểu diễn đồ thị
Mô hình đồ thị cho lọc cộng tác có thé mô tả như sau Cho ma trận đánh giá đầu vào của lọc cộng tác R=(,) Gọi X =(+z,) là ma trận cấp NxM có các phần tử được xác định theo công thức (2.1) Trong đó, x, =1 tương ứng với trạng thái người dùng u, đã đánh giá
sản phẩm p ;›x„ =0 tương ứng với trạng thai người dùng chưa đánh giá sản phẩm p je 0 otherwise
Đồ thị biểu diễn đánh giá của người dùng đối với các sản phẩm (Goi tắt là Người
dùng - Sản phẩm) G =(V, E) được biéu diễn theo ma trận X, trong đó tập đỉnh V=U UP(U là tập người dùng, P là tập sản phẩm); tập cạnh E bao gồm tập các cạnh biêu diễn đánh giá của người dùng đối với sản phâm Cạnh nối giữa đỉnh u, eU và đỉnh u, €U, p ,eP được thiết lập nếu người dùng u, đã đánh giá sản phẩm p ,(xy =D.
2.1.2 Phương pháp dự đoán trên đồ thị Người dùng-Sản phẩm
2.1.2.1 Tach đồ thị Người dung-San phẩm thành các đồ thị con
Cho đồ thị Người dùng-Sản phẩm G=(V,E) được biểu diễn theo ma trận X = (x) cap NxM như mục 2.1.1 Ký hiệu X'= (x;) là ma trận cấp NxM được xác định theo công thức (2.2), X” =(x,) là ma trận cap NxM được xác định theo công thức (2.3).
0 otherwise
0 otherwise
Đồ thi G' =(V,E*) được biểu diễn theo ma trận X* có tập đỉnh đúng bằng tập đỉnh
của G, có tập cạnh E* bao gôm các cạnh có trọng sô dương của G.
E' ={e=(u,,p,) Ely, =1} (2.4)
Đồ thị G =(V,E ) được biểu dién theo ma trận X~ có tập đỉnh đúng bang tap dinh
cua G, có tập cạnh E” bao gôm các cạnh có trọng sô dương của G.
Trang 10Bước 1: Tìm trong số các đường đi độ dài lẻ L trên đô thị G* sao cho các
đường di có độ dài nhỏ được đánh trọng số cao, các đường di có độ dài lớn đượcđánh trọng sé thấp.
ee, ( a.X 615 di
(X'*)s=j ENT py tyLb—2
BP iy = SSE cc
Bước 2: Sắp xếp các sản phẩm theo thứ tự giảm dẫn của trọng số x‡h
Bước 3: Chọn K sản phẩm có trọng số xi" cao nhất chưa được đánh giá để
tư vẫn cho người dùng hiện thời.
Hình 2.1 Thuật toán dự đoán trên đồ thị Gt
Bước I: Tìm trọng số các đường di độ dài lẻ L trên đồ thị G~ sao cho các
đường di có độ dài nhỏ được đánh trọng số thấp, các đường đi có độ dài lớn được
đánh trọng số cao.
F + YO £ —
((—a)?.X~.(X-)? (xX jk? if L 7Q2)Pp ca
Bước 2: Sắp xếp các sản phẩm theo thứ tự tăng dẫn của trọng sé xq"
Bước 3: Chọn K sản phẩm có trọng số xz" cao nhất chưa được đánh giá đểtư vẫn cho người dùng hiện thời.
Hình 2.2 Thuật toán dự đoán trên đồ thị G~
Trang 112.1.2.4 Dự đoán theo tất cả đánh giá
Thuật toán : Dịt đoán trên tat ca đánh: giá
Đâu vào:
= Ma trận X*,X~ biểu diễn đồ thị G*,G";
=" alà hãng số 0<as1, L là độ dài đường di;=" Kià số sản phẩm can tư vẫn
Đầu ra:
= K sản phẩm có trọng số cao nhất chưa được người dùng đánh giá
Các bước thực hiện:
Bước 1: Tinh ma trận trọng số (X*)} của các đường đi độ dài lẻ trên ma
trận X* sao cho các đường di có độ dài nhỏ được đánh trọng số cao, các đường dicó độ dài lớn được đánh trọng số thấp.
=| a.Xt 1 L— 1
Oa = an 0617" (061M2 if L = 3,5,7
trận X~ sao cho các đường di có độ dai nhỏ được đánh trọng số thấp, các đườngđi có độ dài lớn được đánh trọng số cao.
x7) ={ —a.X~ ifi—1
Oa = (T—a)?.X~.(X-)T.(X )§? if L — 3,5,7 Bước 3: Kết hợp ma trận trọng số XL = (X*)E+(X-)E
Bước 4: Sắp xếp các sản phẩm theo thứ tự tăng dan của trọng số xk
Bước 5: Chọn K sản phẩm có trọng số x" cao nhất chưa được đánh giá để
tư vẫn cho người dùng hiện thời.
Hình 2.3 Thuật toán dự đoán trên tất cả đánh giá
2.2 Kết hợp lọc cộng tác và lọc nội dung
2.2.1 Phương pháp biểu diễn đồ thị kết hợp
Cho ma trận đánh giá người dùng R= tr,} được xác định theo công thức (2.1), ma
trận nội dung sản phẩm Y= { yy} được xác định theo công thức (2.2), ma trận X ={x i} được xác định theo công thức (2.3) Khi đó, đồ thị kết hợp G=(V,E) được hình thành bởi
tập đỉnh V=U UPUC (U là tập người dùng, P là tập sản phẩm, C là tập đặc trưng nội dung
sản phẩm) và tập cạnh E Trong đó, tập cạnh E bao gồm hai loại cạnh: Cạnh biéu diễn đánh giá của người dùng đối với sản phẩm và cạnh biểu diễn giữa sản phẩm và nội dung sản
phẩm Cạnh nối giữa đỉnh u,¢U và đỉnh p, <P được thiết lập nếu x, #0 cạnh nối giữa
p,€P và c,eC được thiết lập nếu y„ #0 Các cạnh đánh giá (u,, p,) được đánh trong số là
r„ =+1 hoặc z, =—1 Các cạnh nối giữa đỉnh người dùng và đỉnh nội dung (u,.c ‘) được xem như có trong số bang nhau là +1.
Trang 122.2.2.1 Lọc cộng tác dựa trên mô hình đồ thị kết hợp
Các phương pháp lọc cộng tác thuần túy thực hiện dự đoán dựa trên việc tính toán
mức độ tương tự giữa u, với những người dùng còn lại thông qua các giá trị đánh giá r,,
sau đó phân bồ K sản phẩm chưa được u, đánh giá có mức độ tương tự cao nhất đối với u, Phương pháp dự đoán này có thé dé dang cai đặt bằng mô hình đồ thị thông qua việc tính toán các đường đi độ dài 3 từ đỉnh người dùng đến đỉnh sản phẩm thông qua các cạnh
Trang 13đánh giá Những sản phâm nào có số đường đi độ dài 3 nhiều nhất đến nó sẽ được phân bổ
cho người dùng hiện thời.
2.2.2.2 Lọc nội dung dựa trên mô hình đồ thị kết hợp
Các phương pháp lọc theo nội dung thuần túy thực hiện dự đoán dựa trên việc so sánh nội dung sản phẩm người dùng từng ưa thích và chọn ra những sản phẩm có nội dung
tương tự nhất dé phân bé cho họ những mặt hàng này 2.2.2.3 Phương pháp lọc kết hợp đơn giản
Phương pháp lọc kết hợp đơn giản (SimpleHybrid) Những sản phẩm nào có số
đường đi nhiều nhất đến nó sẽ được dùng dé phân bổ cho người dùng hiện thời Phương
pháp này dễ dàng được thực hiện băng cách tổng hợp số đường đi độ dài 3 từ đỉnh người dùng đến đỉnh sản pham theo từng phương pháp riêng biệt nhau, sau đó cộng kết quả dé tìm những sản pham có nhiều đường đi nhất dé phân bổ cho người dùng.
" L là độ dài đường đi trên đô thị 6†, G7; " aAlacd hang số (0<a;AS1);
« K là số sản phẩm can tư vẫn Dau ra:
« K sản phẩm có trọng số cao nhất chưa được người dùng đánh giá
Các bước thực hiện:
Bước 1: Xác định trọng số các đường di loại 1 là y? Bước 2: Xác định trọng số các đường di loại 2 là X}
Bước 4: Sắp xếp các sản phẩm theo thứ tự giảm dan của trọng số
Bước 5: Chọn K sản phẩm có trọng số cao nhất tư vẫn cho người dùng hiện
Hình 2.5 Thuật toán dự đoán trên đồ thị kết hợp