Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.95 MB, 21 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>Luận văn được hồn thành tại:</small>
<small>Phản biện 1: TS. Dao Dinh Khả</small>
<small>Luận văn sé được bảo vệ trước Hội đông châm luận van thạc sĩ tại</small>
<small>Vào lúc: .8.. giờ .... ngày ..20... tháng ..08.. năm ....2016....</small>
<small>Có thê tìm hiêu luận văn tại:</small>
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 <small>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</small>
<small>trên Yahoo Answers...[24].</small>
<small>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ể</small>
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 <small>CBF (Content-Based Filtering) và lọc cộng tác CF (Collaborative Filtering). Lọc theo nội</small> 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
<small>dữ liệu kích thước lớn được cập nhật thường xuyên [1].</small>
<small>Đê tài được thực hiện nhăm góp phân giải qut một sơ vân đê cịn tơn tại của lọc</small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">thông tin cho các hệ tư 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 <small>phương pháp trên</small>
<small>Chương 2: Phương pháp kết hợp lọc cộng tác và nội dung</small>
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
<small>ở chương 3</small>
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
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">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
<small>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</small>
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),.
<small>1.2.1. Amazon.com</small>
<small>1.2.2. IDMB.com</small>
<small>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</small>
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ự đố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
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">chấ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
<small>thông tin.</small>
<small>1.3.1.2. Lọc nội dung dựa vào bộ nhớ</small>
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 tố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].
<small>1.3.1.3. Lọc nội dung dựa vào mơ hình</small>
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ự đố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.
<small>1.3.2. Phương pháp lọc cộng tác</small>
<small>1.3.2.1. Bài toán lọc cộng tác</small>
Ký hiệu U={u,,u,,....uy} là tập gồm N người dùng, P={p,.p;....p„} là tap <small>gôm M sản phâm mà người dùng có thê lựa chọn.</small>
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 <small>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,.</small><sub>ij ij</sub> 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 tố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
<small>cơ sở đó tư vân cho u, những sản phâm được đánh giá cao.</small>
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
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><small>lọ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</small>
<small>tac vu:</small>
" 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
<small>người dùng hiện thời.</small>
<small>1.3.2.2. Lọc cộng tác dựa trên bộ nhớ</small>
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 <small>như sau:</small>
<small>Thuat toan : Lọc cộôngtác dia trén ngivoi ding</small>
<small>1. Input: Ma trận đánh giá, người dùng y,s6 hang xóm K</small>
<small>2. /tính độ tương quan Person</small>
<small>15. Output: dự đốn đánh giá P,, ;</small>
<small>Hình 1.3.Thuật tốn lọc cộng tác dựa trên người dùng</small>
<small>1.3.2.3. Lọc cộng tác dựa vào mơ hình</small>
<small>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</small>
[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ự đố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 <small>pha xây dựng mơ hình.</small>
Ngồ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ư đã
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><small>trì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</small>
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 <small>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</small>
<small>dung </small>
= 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.
<small>1.3.4.1. Phương pháp lọc theo nội dung</small>
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.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">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 <small>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á</small>
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 <small>0 otherwise</small>
Đồ 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).
<small>0 otherwise</small>
<small>0 otherwise</small>
Đồ thi G' =(V,E*) được biểu diễn theo ma trận X* có tập đỉnh đúng bằng tập đỉnh
<small>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.</small>
Đồ thị G =(V,E ) được biểu dién theo ma trận X~ có tập đỉnh đúng bang tap dinh
<small>cua G, có tập cạnh E” bao gơm các cạnh có trọng sơ dương của G.</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><small>Bước 1: Tìm trong số các đường đi độ dài lẻ L trên đô thị G* sao cho các</small>
<small>đườ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.</small>
<small>ee, ( a.X 615 di</small>
<small>(X'*)s=j ENT py tyLb—2</small>
<small>BP iy = SSE cc</small>
<small>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</small>
<small>Bước 3: Chọn K sản phẩm có trọng số xi" cao nhất chưa được đánh giá để</small>
<small>tư vẫn cho người dùng hiện thời.</small>
<small>Hình 2.1. Thuật tốn dự đốn trên đồ thị Gt</small>
<small>Bước I: Tìm trọng số các đường di độ dài lẻ L trên đồ thị G~ sao cho các</small>
<small>đường di có độ dài nhỏ được đánh trọng số thấp, các đường đi có độ dài lớn được</small>
<small>đánh trọng số cao.</small>
<small>F + YO £ —</small>
<small>((—a)?.X~.(X-)?. (xX jk? if L 7Q2)Pp ca</small>
<small>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"</small>
<small>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.</small>
<small>Hình 2.2. Thuật toán dự đoán trên đồ thị G~</small>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">2.1.2.4. Dự đoán theo tất cả đánh giá
<small>Thuật toán : Dịt đoán trên tat ca đánh: giá</small>
<small>Đâu vào:</small>
<small>= Ma trận X*,X~ biểu diễn đồ thị G*,G";</small>
<small>=" alà hãng số 0<as1, L là độ dài đường di;=" Kià số sản phẩm can tư vẫn</small>
<small>Đầu ra:</small>
<small>= K sản phẩm có trọng số cao nhất chưa được người dùng đánh giá</small>
<small>Các bước thực hiện:</small>
<small>Bước 1: Tinh ma trận trọng số (X*)} của các đường đi độ dài lẻ trên ma</small>
<small>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.</small>
<small>=| a.Xt 1 L— 1</small>
<small>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.</small>
<small>x7) ={ —a.X~ ifi—1</small>
<small>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</small>
<small>Bước 5: Chọn K sản phẩm có trọng số x" cao nhất chưa được đánh giá để</small>
<small>tư vẫn cho người dùng hiện thời.</small>
<small>Hình 2.3. Thuật toán dự đoán trên tất cả đánh giá</small>
2.2.1. Phương pháp biểu diễn đồ thị kết hợp
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
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.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">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 tốn
<small>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,,</small>
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ự đốn này có thé dé dang cai đặt bằng mơ hình đồ thị thơng qua việc tính tố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
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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ổ
<small>cho người dùng hiện thời.</small>
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;
« 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á
<small>Các bước thực hiện:</small>
Bước 1: Xác định trọng số các đường di loại 1 là y?
<small>Hình 2.5. Thuật tốn dự đốn trên đồ thị kết hợp</small>
</div>