1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Luận văn thạc sĩ) nghiên cứu và ứng dụng khai phá dữ liệu để xây dựng hệ tư vấn cho diễn đàn trực tuyến

69 31 0

Đ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 69
Dung lượng 2,07 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VŨ THỊ PHƯỢNG NGHIÊN CỨU VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY DỰNG HỆ TƯ VẤN CHO DIỄN ĐÀN TRỰC TUYẾN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VŨ THỊ PHƯỢNG NGHIÊN CỨU VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY DỰNG HỆ TƯ VẤN CHO DIỄN ĐÀN TRỰC TUYẾN Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Hà Nam Hà Nội - 2013 Mục Lục Lời cảm ơn .4 Lời cam đoan Danh mục hình vẽ Danh mục bảng biểu Danh mục từ viết tắt Lời mở đầu .9 Chương Giới thiệu toán .10 1.1 Đặt vấn đề 10 1.2 Mục tiêu đề tài 11 1.3 Phương pháp nghiên cứu 11 1.4 Bố cục luận văn 11 Chương Tổng quan hệ tư vấn .13 2.1 Lý thuyết hệ tư vấn .13 2.2 Phân loại hệ tư vấn .14 2.2.1 Hệ tư vấn dựa nội dung 14 2.2.2 Hệ thống lọc cộng tác 17 2.3 Nghiên cứu số hệ thống gợi ý tin tức 20 2.3.1 Trang web Amazon.com .20 2.3.2 Trang web baomoi.com .22 2.3.3 Hệ thống gợi ý tin Việt xenoNews 23 Chương Kỹ thuật lọc cộng tác hệ tư vấn nghiên cứu liên quan 27 3.1 Các độ đo tương tự vận dụng lọc cộng tác 27 3.1.1 Phép đo khoảng cách Minkowski 27 3.1.2 Khoảng cách Hamming .29 3.1.3 Độ tương quan Pearson .29 3.1.4 Độ tương đồng dựa Cosine 31 3.1.5 Độ tương đồng Jaccard 31 3.2 Các kỹ thuật lọc cộng tác 32 3.2.1 Lọc cộng tác dựa kinh nghiệm .33 3.2.1.1 Lọc cộng tác dựa vào người dùng 34 3.2.1.2 Lọc cộng tác dựa vào tài nguyên 39 3.2.2 Lọc cộng tác dựa mơ hình 41 3.3 Kỹ thuật chọn tốp N gợi ý lọc cộng tác 42 3.4 Một số nghiên cứu khắc phục hạn chế lọc cộng tác 45 Chương Xây dựng mơ hình thực nghiệm .51 4.1 Hệ thống lọc tin cho diễn đàn .51 4.2 Quá trình xử lý lọc tin cho diễn đàn 52 4.2.1 Tính điểm, tạo ma trận rate 52 4.2.2 Xây dựng nhóm người dùng tương tự 53 4.2.3 Tạo tốp N gợi ý 54 4.2.4 Kiểm tra điều kiện .55 4.3 Ví dụ minh họa trình xử lý lọc 55 4.4 Môi trường thực nghiệm lọc 56 4.5 Mô tả chuyển đổi liệu diễn đàn 56 4.6 Thực nghiệm đánh giá kết .59 4.6.1 Độ đo đánh giá lọc tin diễn đàn 59 4.6.2 Thực nghiệm phân tích kết 62 Kết luận 64 Tài liệu tham khảo 66 Lời cảm ơn Trước tiên, xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Hà Nam, Đại học Công nghệ, Đại học Quốc Gia Hà Nội tận tình hướng dẫn tơi suốt q trình thực luận văn tốt nghiệp Tôi xin bày tỏ lời cảm ơn chân thành tới trường Đại học Công Nghệ thầy cô giáo giảng dạy, truyền thụ kiến thức thời gian học tập trường Cuối cùng, tơi xin cảm ơn tất gia đình, bạn bè, người thân yêu ủng hộ, động viên, giúp đỡ, tạo điều kiện cho tơi hồn thành luận văn Do thời gian có hạn nên luận văn khơng thể tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến thầy, giáo, bạn bè, quý vị quan tâm tới đề tài để luận văn hoàn thiện Học viên Vũ Thị Phượng Lời cam đoan Tôi xin cam đoan kết đạt luận văn sản phẩm riêng cá nhân Tất tham khảo từ nghiên cứu liên quan nêu nguồn gốc cách rõ ràng trích dẫn hợp pháp Trong luận văn, khơng có việc chép tài liệu, cơng trình nghiên cứu người khác mà không rõ tài liệu tham khảo Học viên Vũ Thị Phượng Danh mục hình vẽ Hình 2.1 Tư vấn dựa nội dung 15 Hình 2.2 Tư vấn dựa cộng tác .17 Hình 2.3 Hệ thống tư vấn lai Fab .19 Hình 2.4 Hệ thống tích hợp gợi ý sách Amazon.com 21 Hình 2.5 Giao diện gợi ý sản phẩm đánh giá Amazon 21 Hình 2.6 Giao diện tạo chuyên mục trang web baomoi.com 22 Hình 2.7 Giao diện gợi ý tin không xếp baomoi.com 23 Hình 3.1 Đồ thị ví dụ so sánh đánh giá người dùng lân cận 30 Hình 3.2 Sơ đồ thể quy trình CF 33 Hình 3.3 Mơ tả CF dựa vào người dùng 35 Hình 3.4 Minh họa phương pháp user - based .36 Hình 3.5 Minh họa vấn đề chọn k hàng xóm 38 Hình 3.6 Minh họa phương pháp item - based .39 Hình 4.1 Quá trình xử lý lọc .51 Hình 4.2 Quá trình chuyển đổi liệu lọc .58 Hình 4.3 So sánh độ đo F1 dùng hàm tương quan Cosine Euclidean .63 Danh mục bảng biểu Bảng 2.1 Tổng hợp ba phương pháp tư vấn kỹ thuật hỗ trợ [1] .20 Bảng 3.1 Ví dụ đánh giá người dùng 27 Bảng 3.2 Giá trị khoảng cách dùng độ đo Manhattan 28 Bảng 3.3 Giá trị khoảng cách dùng độ đo Euclidean 28 Bảng 3.5 Ma trận ví dụ minh họa độ tương đồng Cosine 31 Bảng 3.6 Ma trận mơ tả trung bình giá trị ma trận user-item .46 Bảng 3.7 Bảng minh họa mơ hình cộng đồng đa tiêu chí 48 Bảng 4.1 Ma trận rate đầu vào cho thuật toán CF 52 Bảng 4.2 Ma trận rate phản ánh k người dùng gần 54 Bảng 4.3 Bảng ma trận giá trị ví dụ trình xử lý lọc 55 Bảng 4.4 Bảng ma trận ví dụ minh họa kỹ thuật tốp N 56 Bảng 4.5 Bảng mô tả thành phần độ đo đánh giá 60 Bảng 4.6 Bảng ma trận giá trị ví dụ đánh giá lọc 61 Bảng 4.7 Thống kê độ xác với k hàng xóm khác .63 Bảng 4.8 Thống kê chi tiết kết đánh giá dùng độ đo Cosine 64 Danh mục từ viết tắt CSDL RS CF CB Cơ sở liệu Recommender System (Hệ tư vấn, lọc) Collaborative Filltering (Lọc cộng tác) Content – Based (Lọc dựa vào nội dung) Lời mở đầu Ngày với tốc độ phát triển mạnh mẽ Internet mang đến cho người nhiều tiện ích, dịch vụ khác Đặc biệt với tham gia thương mại điện tử, trang mạng cá nhân, diễn đàn điện tử, blog… số lượng thông tin trao đổi Internet tăng theo cấp số nhân Người dùng dễ bị ngập lụt nhiều nguồn, nhiều loại thông tin mà làm để tiếp cận thơng tin muốn cách nhanh nhất, đơi cịn rơi vào tình trạng vơ phương hướng khơng nhận thơng tin, sản phẩm quan trọng phù hợp với Mặc dù có số cơng cụ tìm kiếm với từ khóa google, yahoo bing giúp tìm kiếm thông tin cần thiết Tuy vậy, với lượng thơng tin tăng lên nhanh chóng cơng cụ dần tỏ khơng hồn tồn đáp ứng nhu cầu người Người dùng phải bỏ nhiều thời gian để lọc thông tin từ kết tìm kiếm máy tìm kiếm Vậy nhu cầu đặt cần có hệ thống tư vấn để định hướng người dùng đến thông tin quan trọng phù hợp với nhiều nhu cầu khác họ Các hệ tư vấn tính tốn dự đốn khả người dùng thích sản phẩm hay thơng tin đó, từ đưa gợi ý phù hợp với người dùng Trong giới Internet có nhiều trang web cần đến hệ tư vấn như: trang kinh doanh sản phẩm, người dùng cần nên tư vấn sản phẩm phổ dụng, đại phù hợp với sở thích mục đích sinh hoạt họ; trang tin tức tổng hợp, người dùng không muốn nhiều thời gian tản mạn kết nối khác hay trang xem phim người dùng đắm chìm biển vơ số phim ngồi nước mà khơng biết phim thực hứng thú Đặc biệt xuất nhiều diễn đàn điện tử (forum) cá nhân, nhóm cá nhân hay tổ chức Vấn đề tơi muốn đề cập luận văn cần thiết hệ gợi ý tin diễn đàn điện tử Luận văn định hướng nghiên cứu tổng quan hệ tư vấn trọng tâm hệ thống gợi ý tin tức dựa vào cộng tác định hướng người dùng theo phương pháp láng giềng gần (user- based - nearest neigbor collaborating fillter), sử dụng kỹ thuật tốp N gợi ý vận dụng vào hệ thống diễn đàn điện tử Tuệ Tĩnh 54 4.2.3 Tạo tốp N gợi ý Như phân tích chương có nhiều cách chọn tốp N gợi ý, lọc luận văn thiết kế chọn cách tìm tốp N theo tổng rate hàng xóm lớn ngưỡng θ (là trung bình tổng rate xét tập k hàng xóm) - Với người dùng u, ta tìm tập k người dùng Uk = (ui) nằm tập U i =1 k Bảng 4.2 Ma trận rate phản ánh k người dùng gần m item s1 s2 k user s3 s4 s5 s6 s7 s8 s9 s10 sj … sm ua 0 1 u1 5 0 … … u2 0 0 2 … … u3 1 0 … … u4 0 1 u5 2 … … u6 0 0 … … … … … … … … … … … … … … … ui … rui,sj … un-1 1 0 Xét người dùng ua; giả sử ta tìm k hàng xóm tin cậy ua là: Uk={ui}=(u1 ,u4,u6,….ui) Ta có: totalus mảng chứa tất tổng rate ui đánh giá cho sj tập k người dùng Uk totalus  u U i r k, s jS ui s j (4.3) avgus giá trị trung bình tổng rate si tập k người dùng Uk avgus  totalus k (4.4) Tốp N mục tin tư vấn cho us số mục tin có tổng totalus > avgus 55 4.2.4 Kiểm tra điều kiện Bộ phận có chức kiểm tra tin mà hệ thống gợi ý có trùng mà người dùng tương tác chưa Nếu trùng loại bỏ khỏi kết gợi ý Hoặc kiểm tra xem người dùng có phải người dùng khơng để đưa hình thức gợi ý phù hợp 4.3 Ví dụ minh họa trình xử lý lọc Để hiểu q trình xử lý lọc ta xét ví dụ minh họa liệu nhỏ gồm người dùng, tin: m=9, n=7 Với k=3 Bảng 4.3 Bảng ma trận giá trị ví dụ q trình xử lý lọc s1 s2 s3 s4 s5 s6 s7 s8 s9 ua 0 1 u1 5 0 u2 0 u3 0 0 u4 0 0 u5 0 0 0 u6 0 0 1- Tìm hàng xóm tin cậy Ở ta minh họa với độ đo Cosine Xét ua =(4,1,3,5,2,0,0,1,1) - Độ đo Cosine ua với người dùng khác là: Ví dụ: similary(ua , u1 )    1      1      1  1 ( 42  12  32  52  22  02  02  12  12 )  52  22  42  52  12  02  02  64   0.948 57  80 Tương tự ta có: Similary(ua,u2)=0.299 Similary(ua,u3)=0.098 Similary(ua,u5)=0.126 Similary(ua,u6) = 0.653 Similary(ua,u4) = 0.549 Giả sử ta chọn số hàng xóm tương đồng k=3, từ ta chọn hàng xóm tin cậy ua Uk= (u1,u4,u6) có độ đo Cosine với ua lớn 56 2- Tìm tốp N mục tin tư vấn cho ua Bảng 4.4 Bảng ma trận ví dụ minh họa kỹ thuật tốp N s1 s2 s3 s4 s5 s6 s7 s8 S9 ua 0 1 u1 5 0 u2 0 u3 0 0 u4 0 0 u5 0 0 0 u6 0 0 totalus 12 3 Ta có: totalus mảng chứa tất tổng rate si tập k người dùng (3 người dùng u1,u4,u6) avgus giá trị trung bình tổng rate si tập k người dùng avgus =(7+2+12+9+1+3+0+3+4)/9=4.6 Tốp N mục tin tư vấn cho u1 mục có tổng totalus > avgus Ta có tốp N mục tin lọc dành cho ua là: tốp N={s1,s3,s4} có tổng rate là: 7;12;9 lớn 4.6 Vậy lọc tin trả lại kết gợi cho ua tin s1,s3,s4 4.4 Môi trường thực nghiệm lọc Quá trình thử nghiệm lọc tiến hành máy tính cá nhân có cấu hình yêu cầu chương trình hỗ trợ sau: - CPU: Core™ i5-2430M CPU 2* 2.40GHz - RAM: 2GB - OS: Windows - Bộ nhớ ngoài: 160GB - Cơ sở liệu: MySQL - Ngôn ngữ: PHP - Ngôn ngữ truy vấn MySQL 4.5 Mô tả chuyển đổi liệu diễn đàn  Một số hoạt động người dùng diễn đàn Tuệ Tĩnh liên quan đến luận văn - Một người dùng muốn đọc, bình luận (comment), gửi (post) nhiều tin nhiều chủ đề khác nên đăng ký tài khoản Do đó, thường khách đến diễn đàn có tài khoản CSDL - Một người dùng đọc mà khơng bình luận tin bình luận hay đưa (up) tin lên chủ đề cho phép 57 - Một tin người dùng up lên thường comment, số lượt comment, số người dùng comment thông tin quan trọng để dùng cho tốn  Mơ tả số bảng CSDL diễn đàn Tuệ Tĩnh liên quan đến lọc Hệ thống CSDL diễn đàn bao gồm 164 bảng, u cầu tốn ta phân tích có bảng liên quan sau: (Sơ đồ liên kết bảng hình 5.1) 1/ Bảng user_profile Thể thông tin hồ sơ cứng người dùng ngày sinh (dob_day), tháng sinh (dob_month), năm sinh (dob_year), nơi sinh ( location,) nghề nghiệp (occupation) Các thông tin mang tính chất liệt kê thơng tin người dùng cụ thể q trình tư vấn Nó liệu quan trọng để làm sở để tìm cộng đồng tương tự áp dụng cho người dùng tham gia diễn đàn nhằm giải vấn đề hạn chế „người dùng mới“ lọc cộng tác 2/ Bảng user Thể thông tin hồ sơ người dùng liên quan trình tương tác với trang web Như message_count tổng số lượt comment mà người dùng tham gia vào toàn tin diễn đàn ∞ 3/ Bảng xf_thread Cho biết tin (thread_id) n thuộc chủ đề (node_id) có số lượt comment bao nhiêu, số lần đọc (view_count) bao nhiêu, (user_id) người tạo Thơng tin giúp người dùng nhận tiêu đề tin mà hệ thống tư vấn 4/ Bảng xf_thread_read Cho biết user_id A đọc tin (thread_id) Vậy từ bảng liệu ta có thơng tin quan trọng loại tương tác “đọc” người dùng A với tin i hay khơng? Nếu bảng tồn cặp (user_id,thread_id) chứng tỏ user_id thread_id tồn tương tác “đọc” Tương tác tiêu chí quan trọng để tính rate (đánh giá) người dùng u với tin i Trong luận văn tơi định có tồn tương tác đọc rate cộng thêm điểm 5/ Bảng xf_thread_user_post Cho biết tin (thread_id) comment người dùng nào, với số lượt comment (post_count) họ Đây tiêu chí quan trọng thứ hai để tính rate người dùng mục tin Mỗi lần comment rate cộng thêm điểm Nếu người dùng A comment tin i lần (post_count=2) điểm mà A đánh 58 giá cho i cộng thêm Điểm đánh giá người dùng A mục tin i tính tổng điểm đọc thông qua bảng xf_thread_read điểm comment thông qua bảng xf_thread_user_post  Các bước chuyển đổi liệu ∞ p User item rate s1 s2 item ua s1 ua s7 s8 s9 s10 0 1 ua ua ua ua s2 s3 s4 … … u1 5 0 … … u2 0 0 2 … … u3 1 0 … … u1 u1 … u1 … s1 s2 … s9 … … … u4 0 1 … … u5 2 … … … … … … … … … … … … … … … ui … rui,sj … un-1 1 0 n user s3 s4 s5 s6 sj sm Hình 4.2 Quá trình chuyển đổi liệu lọc Dưới chi tiết bước trình chuyển đổi liệu B1 Tạo bảng liệu bảng user_read chứa user_id (mã user), thread_id (mã tin), post_count (số lần comment), thread_read_date (ngày đọc) trích lọc từ hai bảng xf_thread_read xf_thread_user_post 59 Bảng user_read lấy tất tin bảng xf_thread_read có mã thread_id; user_id với bảng xf_thread_user_post khơng mã lấy giá trị bảng xfthread_read bảng xf_ thread_read chứa xf_thread_user_post ngược lại Tức người dùng comment tin mà khơng đọc đọc mà khơng comment đọc comment Do tồn giá trị NULL kết trả lại B2 Tạo bảng liệu user_rate chứa user_id (mã người dùng), thread_id (mã tin), rate Giá trị rate tạo theo quy luật vừa mô tả Rate tổng điểm thu hai loại tương tác đọc comment Vậy với đặc điểm liệu tác giả xây dựng bảng rate hình 4.2 Trong đó, dòng thể rate cặp user-item phản ánh điểm người dùng dành cho mục tin Qua ta thấy người dùng tương tác với tin, với hệ thống tính tốn điểm đánh giá Đây bảng quan trọng truy vấn từ liệu gốc diễn đàn Tuệ Tĩnh để từ việc dùng code ta chuyển giá trị thread_id thành hàng giá trị cột rate giao hàng user cột thread_id thu ma trận rate cuối bảng 4.1 đầu vào thuật toán CF mà luận văn nghiên cứu 4.6 Thực nghiệm đánh giá kết 4.6.1 Độ đo đánh giá lọc tin diễn đàn Có nhiều độ đo đánh giá sử dụng để đánh giá thuật toán hệ tư vấn như: MAE (Mean Absolute Error), coverage, EU (Expected Utility) độ xác (Precision) độ hồi tưởng (recall) độ đo phổ biến tìm kiếm thơng tin kế tục nghiên cứu Sarwar Billsus Pazzani [21,23] Độ đo phù hợp để đánh giá toán tốp N gợi ý việc xem xét điểm đánh giá mục tin Theo Herlicker phải xem xét: - Một lượng lớn mục tin thường xuyên đánh giá người dùng nhỏ mục tin có sẵn tập liệu - Số mục tin có liên quan tập test nhỏ nhiều so với tồn liệu Vì vậy, giá trị độ xác độ hồi tưởng phụ thuộc nhiều vào số lượng mục tin đánh giá người dùng, giá trị họ khơng nên hiểu biện pháp tuyệt đối Vấn đề tư vấn lấy tốp N (top-N) mục tin cho người dùng, đầu hệ thống danh sách mục tin mà người dùng hài lòng Điểm quan trọng chủ yếu việc đánh giá hệ thống muốn tìm hiểu xem người sử dụng quan tâm đánh giá số tất mục tin danh sách tốp N mục tin Từ nhiều nghiên cứu chất lượng lọc cộng tác lấy tốp N gợi ý thể 60 qua tiêu chí: độ xác, độ hồi tưởng tiêu chuẩn đánh giá (F1) tổng hợp từ độ xác độ hồi tưởng [21,23,25] Độ xác tỉ lệ mục tin hệ thống đánh giá “có liên quan” (gợi ý cho người dùng) người dùng phản hồi gợi ý xác tổng số mục tin mà hệ tư vấn cho tốt Còn độ hồi tưởng phần trăm mục tin người dùng cho “có liên quan” (đến sở thích, đặc điểm đọc họ) đồng thời hệ thống đưa vào kết gợi ý cho người dùng tổng số mục tin mà người dùng đọc Để hiểu rõ vận dụng độ đánh giá vào lọc ta gọi: + Nr: tổng số mục tin người dùng quan tâm thực (người dùng cho tốt với họ) toàn liệu + Ns: Số mục tin mà hệ thống gợi ý cho người dùng (bộ lọc đánh giá tốt) + Nrs: Số mục tin mà lọc gợi ý người dùng cho phù hợp với họ Bảng 4.5 Bảng mô tả thành phần độ đo đánh giá Số tin người dùng quan tâm (Relevant) Số tin dùng không quan tâm (Irrelevant) Tổng Số tin RS gợi ý (Recommended) Nrs Số tin không RS gợi ý (Not Recommended) Nrn Tổng Nr Nis Nin Ni Ns Nn N Trong liệu diễn đàn, xét người dùng ta coi mục tin có rate > rate trung bình tất mục tin thuộc vào lớp Relevant (quan tâm) đối chiếu với bảng Nr, cịn lại mục tin thuộc vào lớp irrelevant (không quan tâm ) tức tập Ni Để tính recall, precision ta cần chia tập mục tin thành tập mục tin lọc tư vấn (Ns) tập không tư vấn (Nn) Việc lấy tốp N mục tin tư vấn: số có tổng điểm (xét người dùng tương đồng) > trung bình tổng rate (xét người dùng tương đồng) Chú ý rằng: tập Ns tập tốp N mà ta bàn thuật tốn Từ ta có cơng thức tính độ đo sau: Pr ecision  Re call  N rs Ns Nr s Nr (4.5) (4.6) Để hiểu rõ chất hai độ đo này, ta xét lại ví dụ mục 4.3 xét liệu lớn gồm n=6 người dùng, m=13 mục tin bảng 4.6 ua người dùng tập thực nghiệm lấy để thực nghiệm Trước tiên ta chia tập mục tin thành phần, phần chiếm 2/3 mục tin (13*2/3) làm liệu học 61 (giả sử từ s1 đến s9) phần chiếm 1/3 mục tin (13*1/3) làm liệu kiểm tra (giả sử từ s10 đến s13) Ta dùng liệu học để tìm người hàng xóm tin cậy ua Bảng 4.6 Bảng ma trận giá trị ví dụ đánh giá lọc s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 ua 0 1 1 u1 5 0 3 u2 0 0 u3 0 0 u4 0 0 3 u5 0 0 0 1 u6 0 0 1 Giả sử dùng độ đo Cosine để tính độ tương tự ta có kết sau: Similary(ua,u1) = 0.948 Similary(ua,u2)=0.299 Similary(ua,u3) = 0.098 Similary(ua,u4) = 0.549 Similary(ua,u5)=0.126 Similary(ua,u6) = 0.653 Xét số hàng xóm k=3 ta chọn hàng xóm tin cậy ua {u1,u4,u6} có độ đo Cosine với ua lớn Tiếp theo ta xét liệu kiểm tra từ s10 đến s13, dùng kỹ thuật lấy tốp N gợi ý phân tích mục 4.2.3 ta có tốp N mục tin tư vấn cho ua {s11, s12,s13} có tổng rate 4; 4; (lớn trung bình tổng rate 3.8) => Ns=3 Xét người dùng thực nghiệm ua ta tính avgua=(1+0+1+1)/4=0.75 Như mục tin có rate>0.75 mục tin mà ua xem quan tâm thực Đó mục tin {s10,s12,s13} có rate 1; 1; 1 Nr=3; Từ ta tính Nrs =2 (vì lọc giới thiệu mục tin trùng với mục tin ua quan tâm thực tin s12,s13) Precision=Nrs/Ns=2/3=66.7% Recall=Nrs/Nr=2/3=66.7% Một phân lớp hữu ích cho mục đích gợi ý cần phải đưa nhiều mục tin thông tin thực phù hợp cho người dùng (tối ưu độ hồi tưởng), với độ xác cao (tối ưu độ xác) Để hợp hai giá trị này, Lewis cộng Gale đề xuất độ đo F-measure (F1), giá trị kết hợp có trọng số precision recall, khoảng giá trị từ đến Các kết báo cáo luận văn coi độ xác độ hồi tưởng có tầm quan trọng Từ đó, ta có cơng thức F1 định nghĩa sau: 62 2* precision * recall (5.3) precision  recall Vậy với mẫu liệu 4.3 ta tính được: F1=2*precision*recall/(precision+recall)=2*66.7*66.7/(66.7+66.7)=66.7% F1 nên tính tốn người dùng riêng lẻ sau tính trung bình độ đánh giá tất người dùng tập thử nghiệm T [13] Cách đánh giá áp dụng vào đánh giá chất lượng tư vấn lọc tin diễn đàn Tuệ Tĩnh luận văn F1  4.6.2 Thực nghiệm phân tích kết Trong luận văn trình thực nghiệm nhằm kiểm tra môđun lọc cộng tác liệu diễn đàn Tuệ Tĩnh xem độ đo Euclidean hay Cosine cho chất lượng lọc cao Việc chọn số lượng người dùng lân cận k (số người dùng tương đồng) định chất lượng tư vấn Do lọc test giá trị k khoảng [5 20] chứng minh độ xác lọc mức phát triển để vận dụng thực tiễn Ngoài luận văn thực nghiệm gợi ý tin, nhập mã người dùng lọc hiển thị nhóm người dùng tương đồng với họ hiển thị danh sách tin gợi ý cho người Bộ lọc cộng tác thực nghiệm dành cho diễn đàn Tuệ Tĩnh chọn liệu có 1628 cặp tương tác user – item, có khoảng 245 người dùng khác gần 300 mục tin (mã tin) Mỗi người có tương tác với 10 tin Để có kết đánh giá, ta chia liệu thành hai phần Phần chiếm 2/3 liệu tin ban đầu tập người dùng cố định (245 người) coi tập học Phần hai chiếm 1/3 liệu tin ban đầu tập người dùng cố định (245 người) coi tập kiểm tra Quá trình thực nghiệm chọn ngẫu nhiên 10 người dùng gọi tập người dùng thử nghiệm Các độ đánh giá tính tốn người dùng riêng lẻ sau tính trung bình độ đánh giá tất người dùng tập thử nghiệm T Với người dùng thử nghiệm ta tìm cộng đồng người dùng tương tự cách sử dụng độ đo Cosine (hoặc Euclidean) Sau tìm cộng đồng người dùng tương tự lọc áp dụng kỹ thuật lấy tốp N mục tin (xét tập liệu kiểm tra) lấy tin tập kiểm tra cần tư vấn cho người dùng thử nghiệm Bộ lọc đối chiếu với kết thực tế mà người dùng thử nghiệm đánh giá tin tập kiểm tra Từ trùng lặp tin người dùng đọc thực với tin lọc gợi ý ta tính độ xác (precision) độ hồi tưởng (recall) phân tích mục 4.6.1 - Q trình thực nghiệm với phép thử giá trị người dùng lân cận (k) khác ta có kết thống kê độ xác (precision) bảng 4.7 Quan sát bảng 5.2 ta thấy với user_id = 1305 ứng với việc chọn k hàng xóm tin cậy khác cho độ xác khác nhau, k=5 độ xác 59.5 tương tự ta thấy 63 k=9,11,13,15… 40 Kết thử nghiệm cho thấy k=11 cho độ xác ổn định cao Bảng 4.7 Thống kê độ xác với k hàng xóm khác Số hàng xóm user_id K=5 K=9 K=11 K=13 … 683 48.5 58.6 60 59.4 … 1305 59.7 65.3 66.7 60.3 3539 79.4 80.3 80 74.6 … 9701 56.3 51.7 64.3 58.4 …… …… …… …… … Trung bình 65.2 66.5 …… 65.6 67.1 - Quá trình thử nghiệm hai độ đo tương tự Cosine Euclidean, xét người dùng tập thử nghiệm kết độ đo F1 tổng hợp từ hai độ đo precision recall thống kê hình 4.3 Kết thực nghiệm cho biết dùng độ đo Cosine lọc tin diễn đàn sử dụng kỹ thuật lọc cộng tác cho kết tư vấn cao dùng độ đo Euclidean F1 100.0% 90.0% 75.9% 80.0% 80.0% 75.0% 70.0% 88.9% 75.0% 66.7% 75.0% 72.0% 66.7% 60.0% 53.8% 50.0% F1_cosine 50.0% 40.0% 40.0% F1_euclidean 40.0% 28.6% 33.3% 30.0% 26.7% 22.2% 20.0% 28.6% 28.6% 10.0% 0.0% 64 197 345 683 1305 2749 2803 3539 9701 11309 User_id Hình 4.3 So sánh độ đo F1 dùng hàm tương quan Cosine Euclidean - Chi tiết số kết tập người dùng thử nghiệm dùng độ đo Cosine thể bảng 4.8 Qua kết thống kê với user_id=345 số tin mà lọc gợi ý ý người dùng (người dùng quan tâm thực sự) Trong lọc gợi ý cho người 12 Từ ta tìm độ xác cho người dùng 75% (9*100/12) Số mà người quan tâm thực 15, từ ta tính độ hồi tưởng 60% (9*100/15) Với kết bảng 4.8 nhận thấy số tin người dùng quan tâm thực số tin mà lọc (dựa vào cộng đồng tương tự người này) gợi ý cho họ chênh lệch không nhiều Bộ lọc cho kết đồng người 64 dùng thực nghiệm chứng tỏ việc tìm cộng đồng tương tự liệu diễn đàn phù hợp khả quan Với liệu diễn đàn độ hồi tưởng cao độ xác số lượng quan tâm người khác khác nhau, có người quan tâm bài, có người quan tâm nhiều Do cộng đồng người tương đồng với họ quan tâm số lượng lớn họ, dẫn đến số lọc tin gợi ý cho họ lớn số họ quan tâm thực Bảng 4.8 Thống kê chi tiết kết đánh giá dùng độ đo Cosine Tiêu chí đánh giá Số tin người dùng quan tâm trùng với hệ thống gợi ý Số tin lọc gợi ý Số tin người dùng quan tâm thực 14 12 50.0 58.3 53.8 197 60.0 100 75.0 345 12 15 75.0 60.0 66.7 683 14 10 60.0 90.0 72.0 1305 3 66.7 66.7 66.7 2749 12 17 13 70.6 92.3 80.0 2803 11 17 12 64.7 91.7 75.9 3539 80.0 100 88.9 9701 14 11 64.3 81.8 72.0 11309 4 75.0 75.0 75.0 67.1 81.6 73.6 User_id 64 Trung bình Precision(%) Recall(%) F1(%) Nhận xét: Qua thực nghiệm tăng, giảm lượng người dùng tin 10%, 20% độ xác tăng giảm khơng đáng kể Mà độ xác phụ thuộc vào số lượng đánh giá (tức số lượng tương tác) mà người dùng dành cho tin Với người dùng có q tương tác với tin việc tìm cộng đồng tương tự thường không thực tế dẫn đến độ xác khơng cao có chênh lệch lượng người dùng quan tâm lượng hệ thống tư vấn Người dùng có nhiều tương tác với nhiều mục tin (xét tin tập học) độ xác mà hệ thống tư vấn cho cao Do đó, với diễn đàn thành viên hoạt động tích cực chất lượng tư vấn dành cho họ cao Vậy qua kết thực nghiệm ta thấy, dùng độ tương tự Cosine cho kết độ xác cao hơn, số người dùng tương tự nên chọn k=11 Độ xác 67.1 % chứng tỏ lọc tạo đạt mức yêu cầu để làm ứng dụng gợi ý cho người dùng duyệt tin KẾT LUẬN 65 Ngày khai phá liệu lĩnh vực rộng nghiên cứu ứng dụng thực tế Trong đó, hệ tư vấn quan tâm ứng dụng nhiều với mong muốn đáp ứng nhu cầu ngày cao người dùng Một số kết tác giả làm luận văn: - Tìm hiểu thực trạng nhu cầu tìm kiếm thơng tin người dùng diễn đàn nghiên cứu liệu diễn đàn tuetinhonline.edu.vn để vận dụng lọc cộng tác vào thực nghiệm tư vấn tin cho diễn đàn - Tìm hiểu tổng quan hệ tư vấn nghiên cứu kỹ thuật hệ tư vấn lọc cộng tác Cụ thể phương pháp láng giềng gần kết hợp lấy tốp N tin, vận dụng phương pháp vào diễn đàn - Trích lọc xử lý liệu gốc diễn đàn để tạo ma trận đánh giá user-item làm đầu vào cho thuật toán CF Việc khai thác tri thức tiềm ẩn liệu gốc tương tác người dùng diễn đàn Từ lấy đánh giá khách quan người dùng tin Khía cạnh mà luận văn áp dụng vận dụng cho tất hệ thống tồn tương tác người dùng hệ thống, tương tác lưu lại theo cách thức trang mua bán trực tuyến, trang tin tức tổng hợp… - Thực nghiệm đưa gợi ý tin cho người dùng riêng lẻ họ cung cấp mã, thực nghiệm đánh giá chất lượng lọc để so sánh hai độ đo Cosine Euclidean xem độ đo cho kết gợi ý xác hơn, đồng thời thử nghiệm giá trị k hàng xóm để chọn tham số phù hợp Qua thông số đánh giá lọc khẳng định chất lượng lọc khá, vận dụng vào thực tiến  Hướng nghiên cứu - Tích hợp mơ đun lọc cộng tác thành chức Tuệ Tĩnh Từ xây dựng giao diện hợp lý, sáng tạo cho gợi ý: tạo hội thoại online nhóm cộng đồng hàng xóm mà hệ tư vấn xử lý backend - Cải thiện tốc độ xử lý lọc lượng người dùng tăng lên - Sử dụng độ đo tương tự hỗn hợp khai thác thuộc tính cá nhân người dùng việc tạo cộng đồng hàng xóm tin cậy để tăng chất lượng gợi ý tin, đồng thời việc khắc phục số hạn chế hạn chế người dùng Kết hợp với phương pháp lọc dựa nội dung để khắc phục hạn chế lọc 66 Tài liệu tham khảo Tiếng Anh [1] Adomavicius, G., & Tuzhilin, A.(2005), Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions Knowledge and Data Engineering, IEEE Transactions on, 17(6), 734-749 [2] William W Cohen, Center for Automated Learning and Discovery Carnegie Mellon Uninversity, “Collaborative Filtering: Atutorial” [3] J.S Breese, d.Heckerman, and C Kadie, “Emprical analysis of predictive algorithms for collaborative filtering,”Communications of the ACM, vol.40, no.3, pp.66-72,197 [4] M Balabanovic and Y Shoham, (1997), “Fab: Content-based, Collaborative Recommendation,” Communications of the ACM, vol 40, no 3, pp 66–72 [5] M Pazzani and D Billsus, (1997), “Learning and Revising User Profiles : The Identification of Interesting Web Sites,” Machine Learning 27, pp 313–331 [6] P Resnick, N Iacovou, and M Suchak, (1994), “GroupLens: an open architecture for collaborative filtering of netnews,” Proceedings of the Computer Supported Cooperative Work Conf [7] Billsus, D and M Pazzani (1998), Learning collaborative information filters In International Conference on Machine Learning, Morgan Kaufmann Publishers [8] Soboroff, I and C Nicholas, (August 1999), Combining content and collaboration in text filtering In IJCAI'99 Workshop: Machine Learning for Information Filtering [10] Linden, G., Smith, B., & York, J (2003), Amazon com recommendations: item-to-item tượng collaborative filtering Internet Computing, IEEE, 7(1), 76-80 [11] Cremonesi, P., Koren, Y., & Turrin, R (2010, September), Performance of recommender algorithms on topn recommendation tasks In Proceedings of the fourth ACM conference on Recommender systems (pp 39-46) ACM [12] D Billsus and M Pazzani, (2000), “User modeling for adaptive news access,” User modeling and user-adapted interaction, pp 147–180 [13] Vozalis, E., & Margaritis, K G (2003, September) Analysis of recommender systems algorithms In Proceedings of the 6th Hellenic European Conference on Computer Mathematics and its Applications (HERCMA-2003), Athens, Greece [14] M Claypool, A Gokhale, and T Miranda, “Combining content-based and collaborative filters in an online newspaper,” Proceedings of ACM CHI’95, 1999 [15] M Pazzani, (1999), “A framework for collaborative, content-based and demographic filtering,” Artificial Intelligence Review, pp 1–16 [16] Han, J., Kamber, M., & Pei, J (2006), Data mining: concepts and techniques Morgan kaufmann, chapter 11 67 [17] Breese, J S., Heckerman, D., & Kadie, C (1998, July), Empirical analysis of predictive algorithms for collaborative filtering In Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence (pp 43-52) Morgan Kaufmann Publishers Inc [18] Benjamin Marlin,(2003), “collaborative filtering: A Machine Learning Perspective” [19] Gjoka, M., & Soldo, F (2008), Exploring collaborative filters: Neighborhoodbased approach working paper, Department of MSIS, University of Texas, Austin [20] Wang, J., De Vries, A P., & Reinders, M J (2006, August), Unifying user-based and item-based collaborative filtering approaches by similarity fusion In Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval (pp 501-508) ACM [21]McLaughlin, M R., & Herlocker, J L (2004, July), A collaborative filtering algorithm and evaluation metric that accurately model the user experience In Proceedings of the 27th annual international ACM SIGIR conference on Research and development in information retrieval (pp 329-336) ACM [22] Herlocker, J L., Konstan, J A., Riedl, J., (2002), “An Empirical Analysis of Design Choices in Neighborhood-based Collaborative Filtering Algorithms” Information Retrieval, 287-310 [23] Herlocker, J L., Konstan, J A., Terveen, L G., & Riedl, J T (2004), Evaluating collaborative filtering recommender systems ACM Transactions on Information Systems (TOIS), 22(1), 5-53 [24] Cremonesi, P., Koren, Y., & Turrin, R (2010, September), Performance of recommender algorithms on top-n recommendation tasks In Proceedings of the fourth ACM conference on Recommender systems (pp 39-46) ACM [25] Hernández del Olmo, F., & Gaudioso, E (2008), Evaluation of recommender systems: A new approach Expert Systems with Applications, 35(3), 790-804 [26] Ron Zacharski, “A programer’s guide to data Mining”, ebook [27] Sarwar, B., Karypis, G., Konstan, J., & Riedl, J (2001, April), item-based collaborative filtering recommendation algorithms In Proceedings of the 10th international conference on World Wide Web (pp 285-295) ACM [28] Linacre, J M (2010), Predicting responses from Rasch measures Journal of applied measurement, 11(1), [29] Harper, F M., Konstan, J A., Li, X., & Chen, Y (2005, September), User motivations and incentive structures in an online recommender system In Proceedings of Group 2005 Workshop on Sustaining Community: The role and design of incentive mechanisms in online systems [30] HB.Deng Introduction to Recommendation System, China University of Hongkong 68 seminar, 2006 Tiếng Việt [31] Nguyễn Thạc Huy (2013), Chọn lọc thông tin dựa nội dung ứng dụng xây dựng hệ thống gợi ý tin tức theo nhu cầu người dùng, Luận văn Thạc sĩ, Trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội [32] Nguyễn Duy Phương, Luận án Tiến sĩ, (2011), “Phát triển số phương pháp lọc thông tin cho hệ tư vấn” Trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội ... NGHỆ VŨ THỊ PHƯỢNG NGHIÊN CỨU VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY DỰNG HỆ TƯ VẤN CHO DIỄN ĐÀN TRỰC TUYẾN Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC... giá số hệ thống tư vấn giới Việt Nam, từ phân tích khác biệt mơ hình tư vấn tin diễn đàn với hệ thống Chương Kỹ thuật lọc cộng tác hệ tư vấn nghiên cứu liên quan Tìm hiểu hệ tư vấn dựa vào cộng... luận văn Chương Giới thiệu toán Nêu toán nghiên cứu luận văn, mục tiêu phương pháp nghiên cứu 12 Chương Tổng quan hệ tư vấn Trình bày kiến thức tổng quan hệ tư vấn, phân biệt loại hệ tư vấn nêu

Ngày đăng: 05/12/2020, 11:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w