Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
2,32 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢƠNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN VĂN THỊNH Hệ gợi ý Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KĨ THUẬT CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS-TS Lê Thanh Hƣơng HÀ NỘI 09-2015 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 LỜI CÁM ƠN Trƣớc tiên em xin gửi lời cảm ơn chân thành đến thầy cô viện Công nghệ thông tin truyền thông, mơn Hệ thống thơng tin, nhƣ tồn thể thầy cô trƣờng Đại học Bách Khoa Hà Nội truyền đạt cho em nhiều kiến thức quý báu suốt thời gian theo học chƣơng trình sau đại học vừa qua Đó kiến thức vơ quan trọng giúp em ngày trƣởng thành vững vàng chun mơn Đặc biệt, em xin chân thành cảm ơn PGS.TS Lê Thanh Hƣơng – ngƣời tận tình giúp đỡ, bảo em suốt thời gian thực luận văn, giảng viên trực tiếp hƣớng dẫn em làm đề tài tốt nghiệp Cuối em xin cảm ơn toàn ngƣời gia đình nhƣ bạn bè ln quan tâm động viên em suốt trình thực luận văn Những tình cảm nguồn động viên vơ lớn lao để em tiếp tục đối đầu với khó khăn sống công việc sau Hà Nội, ngày 03 tháng 09 năm 2015 Tác giả Nguyễn Văn Thịnh Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 MỤC LỤC LỜI CÁM ƠN .1 MỤC LỤC DANH SÁCH HÌNH CHƢƠNG 1: MỞ ĐẦU CHƢƠNG 2: CÁC KIẾN THỨC NỀN TẢNG 2.1 Các phƣơng pháp gợi ý 2.2 Mơ hình hố hệ thống gợi ý 14 2.2.1 Phƣơng pháp gợi ý dựa theo nội dung 14 2.2.2 Phƣơng pháp gợi ý theo lọc cộng tác 30 2.2.3 So sánh phƣơng pháp gợi ý .34 2.2.4 Các hệ thống gợi ý lai 36 2.3 Một số hệ thống gợi ý điển hình 40 CHƢƠNG 3: CÁC PHƢƠNG PHÁP GỢI Ý ĐƢỢC CÀI ĐẶT TRONG HỆ THỐNG .44 3.1 Đặc trƣng hệ thống gợi ý tin tức 44 3.2 Phƣơng pháp gợi ý dựa theo nội dung 45 3.2.1 Biểu diễn nội dung báo 45 3.2.2 Biểu diễn hồ sơ ngƣời dùng .49 3.3 Phƣơng pháp gợi ý dựa lọc cộng tác .51 3.4 Phƣơng pháp gợi ý lai 53 CHƢƠNG 4: THỰC THI HỆ THỐNG GỢI Ý TIN TỨC CHO ĐIỆN THOẠI DI ĐỘNG .54 4.1 Phân tích thiết kế hệ thống 54 4.1.1 Biểu đồ ca sử dụng (Use case) 54 4.1.2 Biểu đồ trình tự (Sequence diagram) 63 4.2 Xây dựng tập liệu 66 4.2.1 Thu thập liệu báo .66 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 4.2.2 Thu thập thơng tin ngƣời dùng .69 4.2.3 Thu thập đánh giá ngƣời dùng .70 4.2.4 Tiền xử lý liệu 71 4.2.5 Dữ liệu sử dụng phƣơng pháp tính trọng số tf-idf tăng cƣờng 71 4.2.6 Dữ liệu sử dụng phƣơng pháp gợi ý theo nội dung dựa mơ hình chủ đề ẩn LDA 71 4.2.7 Dữ liệu sử dụng phƣơng pháp lọc cộng tác 72 4.3 Môi trƣờng công cụ sử dụng 72 4.3.1 Cấu hình phần cứng 72 4.3.2 Các phần mềm sử dụng 73 4.4 Thiết kế thử nghiệm .73 4.4.1 Bài toán gợi ý báo đƣợc cài đặt phƣơng pháp lọc nội dung sử dụng trọng số tf-idf tăng cƣờng 73 4.4.2 Bài toán gợi ý báo đƣợc cài đặt phƣơng pháp lọc nội dung dựa mơ hình chủ đề ẩn LDA 76 4.4.3 Cài đặt phƣơng pháp lọc cộng tác .78 4.4.4 Cài đặt phƣơng pháp lai 79 4.5 Phƣơng pháp đánh giá 80 4.5.1 Các số sử dụng đánh giá 80 4.5.2 Phƣơng pháp đánh giá 81 CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 88 5.1 Các kết đạt đƣợc 88 5.2 Hƣớng phát triển 89 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 DANH SÁCH BẢNG Bảng 2.1: Phân loại hệ thống gợi ý .10 Bảng 2.2: So sánh phƣơng pháp gợi ý 14 Bảng 3.1: Danh sách đƣờng dẫn file RSS chuyên mục .68 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 DANH SÁCH HÌNH Hình 1: Minh hoạ hệ thống gợi ý lọc cộng tác 11 Hình 2: Minh hoạ hệ thống gợi ý dựa theo nội dung 12 Hình 3: Minh hoạ hệ thống gợi ý dựa sở tri thức 13 Hình 4: Sơ đồ kiến trúc mức cao hệ thống gợi ý dựa theo nội dung 15 Hình 5: Tài liệu với K chủ đề ẩn 22 Hình 6: Biểu diễn đồ họa LDA .22 Hình 7: Ƣớc lƣợng tham số tập liệu văn 24 Hình 8: Minh hoạ hệ thống gợi ý lai .36 Hình 9: Kết gợi ý theo lọc cộng tác Amazon 41 Hình 10: Kết gợi ý dựa theo nội dung Amazon .41 Hình 11: Giao diện thu thập đánh giá cho sách Amazon .42 Hình 12: Chức Feedback Profile trang eBay 43 Hình 1: Biểu đồ ca sử dụng hệ thống………………………………… …….54 Hình 2: Biểu đồ trình tự chức gợi ý theo nội dung 64 Hình 3: Biểu đồ trình tự chức gợi ý theo lọc cộng tác 65 Hình 4: Biểu đồ trình tự chức gợi ý lai 66 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 CHƢƠNG 1: MỞ ĐẦU 1.1 Bài toán gợi ý tin tức điện thoại di động Lƣợng độc giả sử dụng internet để đọc báo tin tức ngày gia tăng với tốc độ lớn Lấy ví dụ với Báo VnExpress, lƣợng truy cập liên tục tăng trang Google Analytics thống kê VnExpress có 42 triệu lƣợt xem (pageviews) trung bình ngày 24 triệu độc giả thƣờng xuyên (unique visitor), 16% từ nƣớc ngồi Thói quen ngƣời đọc có thay đ i với xu hƣớng sử dụng thiết bị di động Sau nhiều năm đƣợc dự báo, cuối việc đọc tin tức qua điện thoại di động khơng cịn “tƣơng lai”, mà “hiện tại” Lƣu lƣợng truy cập VnExpress qua mobile tăng gấp đơi vịng năm qua chiếm gần 25% t ng lƣợt xem Tỷ lệ dự tính tiếp tục tăng mạnh năm Vì mà cần phải đáp ứng tiện ích tối đa cho ngƣời đọc (Nguồn: trang VnExpress) Trong năm gần đây, hệ thống gợi ý (recommender system) đƣợc biết đến nhƣ phát triển quan trọng việc giúp ngƣời dùng đối mặt với bùng n thông tin Hệ thống đƣợc ứng dụng nhiều lĩnh vực nhƣ thƣơng mại điện tử với Amazon, Netflix, Ebay ; lĩnh vực giải trí với MovieLens, Last.fm, Film-Conseil ; lĩnh vực khác nhƣ tin tức trực tuyến netnews,… Kể từ năm 2007, có hội nghị chuyên hệ gợi ý (ACM) diễn đàn quốc tế hàng đầu cho việc trình bày kết nghiên cứu mới, lĩnh vực rộng lớn hệ gợi ý Tuy nhiên, hệ thống gợi ý địi hỏi phải có nhiều cải tiến để làm cho phƣơng pháp gợi ý hiệu phù hợp với lĩnh vực (loại liệu) áp dụng để cung cấp gợi ý phù hợp với cá nhân riêng biệt Trong khuôn kh nghiên cứu này, muốn hƣớng tới hệ thống gợi ý áp dụng cho trang báo mạng Với trang tin tức, ngƣời đọc gặp số trở ngại việc tìm đọc thơng tin theo ý thích gia tăng số lƣợng nhƣ đa dạng nội dung tin tức Vì ứng dụng đời nhằm mục đích tránh bất tiện cho ngƣời dùng điện thoại di động việc phải mở nhiều trang tin tức Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 khác nhau, tiết kiệm thời gian, công sức chi phí cho khách hàng, giúp họ tìm báo cách nhanh chóng xác 1.2 Mục tiêu đề tài Đề tài đồ án tốt nghiệp tơi nhằm tìm hiểu tốn gợi ý tin tức cho thiết bị di động, phƣơng pháp gợi ý truyền thống, áp dụng phƣơng pháp gợi ý để cài đặt hệ thống gợi ý đọc báo phù hợp với sở thích cá nhân độc giả sử dụng điện thoại di động Các phƣơng pháp gợi ý truyền thống đƣợc cài đặt bao gồm lọc cộng tác (collaborative filtering based recommendation), lọc dựa nội dung (content based recommendation) gợi ý lai ghép (hybrid) 1.3 Tính ứng dụng Đề tài áp dụng cho trang báo nhƣ VnExpress, Dân trí, Zing.vn… để gợi ý cho độc giả báo mà họ thích Từ giảm thời gian phải đọc q nhiều báo cho độc giả, thu hút thêm độc giả mới, giữ đƣợc độc giả cách lâu dài Để thu lợi nhuận từ ứng dụng đặt quảng cáo ứng dụng cho bên thứ ba nhƣ Google Inc, Apple Inc… Ứng dụng hồn tồn triển khai AppStore, cho phép ngƣời dùng iPhone tải miễn phí 1.4 Cấu trúc luận văn Cấu trúc luận văn gồm phần: Chƣơng 1: Giới thiệu đề tài gồm giới thiệu tốn gợi ý, mục tiêu đề tài tính ứng dụng đề tài Chƣơng 2: Trình bày kiến thức tảng lĩnh vực gợi ý bao gồm định nghĩa hệ thống gợi ý, giới thiệu số phƣơng pháp gợi ý, mơ hình hố hệ Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 thống gợi ý, số hệ thống gợi ý điển hình Trong phần mơ hình hố hệ thống gợi ý: trình bày phƣơng pháp gợi ý theo lọc cộng tác gợi ý dựa theo nội dung, so sánh hai phƣơng hệ thống gợi ý lai ghép Trong phần số gợi ý điển hình: trình bày số hệ thống gợi ý đƣợc sử dụng lĩnh vực thƣơng mại điện tử Chƣơng 3: Trình bày chi tiết thực thi phƣơng pháp gợi ý đƣợc cài đặt hệ thống gợi ý tin tức Các phƣơng pháp bao gồm lọc cộng tác, lọc dựa theo nội dung gợi ý lai ghép Chƣơng 4: Trình bày phân tích thiết kế hệ thống, cấu trúc tập liệu đƣợc sử dụng hệ thống kết đánh giá hệ thống Chƣơng 5: Trình bày kết đạt đƣợc hƣớng mở rộng Phần cuối trình bày tài liệu tham khảo tham chiếu đƣợc sử dụng viết đồ án Tóm tắt chƣơng Trong chƣơng chúng tơi chủ yếu trình bày tốn cần giải quyết, mục tiêu đồ án, tính ứng dụng đề tài cấu trúc đồ án Chƣơng đồ án trình bày lý thuyết t ng quan hệ thống gợi ý, phƣơng pháp gợi ý, số hệ thống gợi ý điển hình đƣợc áp dụng thực tế Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 CHƢƠNG 2: CÁC KIẾN THỨC NỀN TẢNG Hệ thống gợi ý (Recommender systems Recommendation systems) dạng hệ hỗ trợ định, cung cấp giải pháp mang tính cá nhân hóa mà khơng phải trải qua trình tìm kiếm phức tạp Hệ gợi ý học từ ngƣời dùng gợi ý sản phẩm tốt số sản phẩm phù hợp Hệ thống gợi ý sử dụng tri thức sản phẩm, tri thức chuyên gia hay tri thức khai phá học đƣợc từ hành vi ngƣời dùng để đƣa gợi ý sản phẩm mà họ thích hàng ngàn hàng vạn sản phẩm có hệ thống Các website thƣơng mại điện tử, ví dụ nhƣ sách, phim, nhạc, báo…sử dụng hệ thống gợi ý để cung cấp thông tin giúp cho ngƣời sử dụng định lựa chọn sản phẩm Các sản phẩm đƣợc gợi ý dựa số lƣợng sản phẩm đƣợc bán, dựa thông tin cá nhân ngƣời sử dụng, dựa phân tích hành vi mua hàng trƣớc ngƣời sử dụng để đƣa dự đoán hành vi mua hàng tƣơng lai khách hàng Các dạng gợi ý bao gồm: gợi ý sản phẩm tới ngƣời tiêu dùng, thông tin sản phẩm mang tính cá nhân hóa, t ng kết ý kiến cộng đồng, cung cấp chia sẻ, phê bình, đánh giá mang tính cộng đồng liên quan tới yêu cầu, mục đích ngƣời sử dụng Các phần dƣới trình bày chi tiết phƣơng pháp gợi ý 2.1 Các phƣơng pháp gợi ý Giả sử I tập đối tƣợng (Item) đƣợc gợi ý, U tập ngƣời dùng, u ngƣời dùng cụ thể tập U i đối tƣợng cụ thể I mà muốn dự đoán cho u (dựa vào sở thích u) Phƣơng pháp gợi Dữ liệu sở Dữ liệu đầu Tiến trình xử lý Dựa theo lọc cộng Các điểm số đánh Các điểm số đánh Nhận ngƣời sử tác giá giá u cho dụng U ngƣời sử dụng đối tƣợng I tƣợng tự với u ( ý Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 cuối (chia liệu thành phần, phần ngày liên tiếp) tính độ tƣơng đồng với hồ sơ ngƣời dùng Sau tính tốn độ tƣơng đồng xếp danh sách gợi ý theo thứ tự theo độ tƣơng đồng giảm dần, chọn 10 báo có độ tƣơng đồng cao trả cho ngƣời dùng 4.4.1.2 Đối với hồ sơ ngƣời dùng động Cũng tƣơng tự nhƣ xây dựng hồ sơ ngƣời dùng tĩnh ta tiến hành cài đặt module theo bốn bƣớc sau cài đặt thêm bƣớc riêng đối phƣơng pháp gợi ý theo nội dung hồ sơ ngƣời dùng động nhƣ sau: Bước 5: Cài đặt module xây dựng hồ sơ người dùng động Chúng ta tiến hành biểu diễn hồ sơ ngƣời dùng theo công thức (3-7), tham số cần thiết để xây dựng hồ sơ ngƣời dùng nhƣ sau: thu thập đánh giá ngày để đƣa gợi ý nên chọn ns=7 để tính hệ số k chọn λ =1.0 Để xây dựng hồ sơ ngƣời dùng vào đánh giá ngƣời dùng để xây dựng Bước 6: Cài đặt module tính độ tương đồng: tiến hành tƣơng tự nhƣ xây dựng hồ sơ ngƣời dùng tĩnh 4.4.2 Bài toán gợi ý báo đƣợc cài đặt phƣơng pháp lọc nội dung dựa mơ hình chủ đề ẩn LDA Tƣơng tự cần phải thực bƣớc bƣớc nhƣ phần trình bày Ngồi để biểu diễn vector đặc trƣng báo cần phải bƣớc sau: Bước 3: Cài đặt module xây dựng vector đặc trưng từ mơ hình chủ đề ẩn LDA Để xây dựng vector đặc trƣng cho báo sử dụng công cụ JGibbLDA tác giả Phan Xuân Hiếu, Nguyễn Cẩm Tú Yêu cầu đầu vào liệu cho cơng cụ nhƣ trình bày phần 4.2.6, sau ta cần cung cấp tham số đầu vào cho công cụ nhƣ sau: 76 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 alpha: K/50 (K số topic).Giá trị mặc định công cụ JGibbLDA beta: 0.1-giá trị mặc định công cụ JGibbLDA ntopics: Số topic Giá trị mặc định 100 topic Ngoài tham số khác: savestep, niters, twords đƣợc chọn mặc định theo tác giả Phan Xuân Hiếu Nguyễn Cẩm Tú Công cụ JGibbLDA trả cho tập file nhƣng phạm vi đồ án quan tâm tới file .theta file chứa liệu báo trọng số topic File biểu diễn ma trận hai chiều: hàng danh sách báo, cột topic, giá trị hàng cột trọng số topic với báo Số cột số topic chọn, số hàng t ng số tài liệu mà ta thu thập Ví dụ: Topic Topic … Topic 100 Bài báo 0.96 0.54 … 0.23 … … … … … Bài báo n 0.23 0.78 … 0.98 Bước 4: Biểu diễn báo Thay biểu diễn trọng số từ khác biểu diễn báo vector đặc trƣng chứa trọng số topic với báo (100 topic), nhƣ số chiều vector đặc trƣng ln cố định số topic Tiếp chi tiết cài đặt cho phƣơng pháp khác đƣợc trình bày phần dƣới 4.4.2.1 Đối với hồ sơ ngƣời dùng tĩnh Chúng ta tiến hành cài đặt tƣơng tự bƣớc bƣớc phần 4.4.1.1 4.4.2.2 Đối với hồ sơ ngƣời dùng động Chúng ta tiến hành cài đặt tƣơng tự bƣớc bƣớc phần 4.4.1.2 77 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 4.4.3 Cài đặt phƣơng pháp lọc cộng tác Đối phƣơng pháp gợi ý dựa theo lọc cộng tác đầu vào đánh giá ngƣời dùng, nên cài đặt thực nghiệm theo bƣớc sau: Bước 1: Cài đặt module tính độ tương tự người dùng Phƣơng pháp lọc cộng tác sử dụng ngƣời dùng có sở thích để gợi ý cho nhau, thực theo hai yêu cầu sau: Thứ để cài đặt module cần xác định ngƣời dùng “khẩu vị” với ngƣời dùng đƣợc gợi ý, khuôn kh đồ án xét ngƣời dùng có sở thích ngƣời dùng mà đánh giá báo mà định gợi ý cho ngƣời dùng Thứ hai độ tƣơng tự hai ngƣời dùng, sử dụng tập giao điểm số đánh giá hai ngƣời dùng để tính độ tƣơng tự Để tính tốn độ tƣơng tự hai ngƣời dùng ta sử dụng công thức (3-12) Ở bƣớc sử dụng đánh giá ngƣời dùng vòng ngày để xác định ngƣời dùng tƣơng tự Với ngƣời dùng cụ thể ta sử dụng liệu đánh giá ngƣời dùng ngày đầu, đồng thời sử dụng liệu đánh giá tất ngƣời dùng ngày Bước 2: Cài đặt module tính điểm số cho báo Ta lấy tất báo mà ngƣời dùng chƣa đọc ngày cuối (chúng ta chia liệu thành phần, phần ngày) để tiến hành tính điểm số cho báo, với báo ta áp dụng bƣớc để tính độ tƣợng tự với ngƣời dùng Tiếp ta áp dụng cơng thức (3-11), (3-10) để tính điểm số báo ngƣời dùng đƣợc gợi ý Chú ý ta lấy lại ngƣời dùng đánh giá báo mà ta muốn tính điểm để tính độ tƣơng tự ngƣời dùng 78 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Sau tính tốn điểm số cho tất báo mà ngƣời dùng chƣa đọc hệ thống trả top 10 báo có điểm số cao nhất, xếp theo thứ tự điểm số giảm dần Nhƣ trình bày xong module để cài đặt phƣơng pháp gợi ý cho ngƣời dùng, phần trình bày phƣơng pháp đánh giá hệ thống đồ án 4.4.4 Cài đặt phƣơng pháp lai Nhƣ trình bày mục 3.4 khn kh đồ án sử dụng phƣơng pháp lai kết hợp (Mix) Do vấn đề thu thập liệu đánh giá ngƣời dùng cịn nhiều hạn chế nên chúng tơi tập trung vào phƣơng pháp gợi ý theo nội dung chủ yếu, mà đề xuất trả top 10 báo tỷ lệ 9:1 tƣơng ứng với phƣơng pháp lọc nội dung phƣơng pháp lọc cộng tác Ở phần cần cài đặt module lai đơn giản kết hợp hai kết phƣơng pháp riêng lẻ Module chọn top hệ thống gợi ý lọc theo nội dung top gợi ý theo lọc cộng tác Vấn đề trùng lặp báo hai phƣơng pháp đƣợc giải nhƣ sau: Chọn báo lọc nội dung, tiếp chọn báo lọc cộng tác, báo lấy lọc cộng tác có xuất báo lọc nội dung chọn danh sách báo gợi ý theo lọc cộng tác mà không xuất báo thuộc gợi ý nội dung theo thứ tự giảm dần điểm số Chúng ta có phƣơng pháp lai khác nhƣ sau: Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng tĩnh dựa vào trọng số tf-idf tăng cƣờng lọc cộng tác (H.1) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng động dựa vào trọng số tf-idf tăng cƣờng lọc cộng tác (H.2) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng tĩnh dựa mơ hình chủ đề ẩn LDA lọc cộng tác (H.3) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng động dựa mơ hình chủ đề ẩn LDA lọc cộng tác (H.4) 79 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 4.5 Phƣơng pháp đánh giá 4.5.1 Các số sử dụng đánh giá Việc đánh giá chất lƣợng tin tức gợi ý trả hệ thống toán khó, khơng có độ đo ngữ nghĩa đánh giá xác đƣợc phù hợp ngƣời dùng tin tức hệ thống trả lại Herlocker đƣa hai nguyên nhân chủ yếu dẫn tới việc đánh giá hệ thống gợi ý khó khăn: Nguyên nhân chất lƣợng hệ gợi ý phụ thuộc vào tập liệu sử dụng Một hệ gợi ý tin tức có mơ hình tốt chƣa gợi ý tốt hệ gợi ý có liệu tốt (nhƣ sở liệu tin tức phong phú) Nguyên nhân thứ hai việc đánh giá hệ gợi ý hƣớng tới mục tiêu khác Trong số hệ thống, đánh giá dựa số lần gợi ý dẫn đến định sai Trong số khác, đánh giá dựa xem xét ngƣời dùng hài lịng khơng hài lịng kết gợi ý Ngồi lý lý chủ quan thu thập liệu đồ án em vấp phải vấn đề ngƣời dùng đánh giá hệ thống test nội Thật vậy, số hệ thống nhấn mạnh đa dạng mục danh sách gợi ý, ngƣời khác tập trung vào tính Có nhiều tiêu đánh giá khác nhƣng khuôn kh đồ án này, sử dụng precision, recall F- Measure số chủ yếu đƣợc sử dụng hệ thống gợi ý thƣơng mại điện tử Ở đó: 𝑖 𝑖 𝑖 𝑖 𝑖 𝑖 80 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 true positive (tp): tin tức thú vị gợi ý cho ngƣời dùng true negative (tn): tin tức thú vị không gợi ý cho ngƣời dùng false negative (fn): tin tức không thú vị không gợi ý cho ngƣời dùng false positive (fp) : tin tức không thú vị gợi ý cho ngƣời dùng 4.5.2 Phƣơng pháp đánh giá Chúng đánh giá hệ thống cách sử dụng đánh giá cho báo ngƣời dùng trƣớc thu thập (trong ngày) Đối phƣơng pháp gợi ý dựa theo nội dung: Tập liệu để biểu diễn hồ sơ ngƣời dùng (User Profile): Sử dụng tập liệu đánh giá ngƣời dùng đƣợc gợi ý ngày đầu tiền để biểu diễn hồ sơ ngƣời dùng Từ tập liệu đánh giá ta xác định đƣợc báo có số điểm từ điểm trở lên ngày ngƣời dùng đƣợc gợi ý Những báo sử dụng biểu diễn hồ sơ ngƣời dùng theo hai phƣơng pháp hồ sơ ngƣời dùng tĩnh hồ sơ ngƣời dùng động cho ngƣời dùng đƣợc gợi ý Tập liệu kiểm thử: tập liệu để đánh giá ngƣời dùng đƣợc gợi ý ngày thứ Chúng ta thống kê đƣợc danh sách báo đƣợc ngƣời dùng gợi ý cho từ điểm trở lên để đánh giá kết gợi ý trả cho ngƣời dùng đƣợc gợi ý Biểu diễn user profile (7 ngày đầu tiên) Dữ liệu đánh giá ngƣời dùng gợi ý (8 ngày) Dữ liệu test (ngày thứ 8) 81 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Đối với phƣơng pháp gợi ý theo lọc cộng tác: Tập liệu xác định ngƣời dùng tƣơng tự (để đƣa gợi ý): để xác định ngƣời dùng tƣơng tự với ngƣời dùng gợi ý sử dụng tập liệu đánh giá ngƣời dùng gợi ý ngày đánh giá báo ngày đánh giá báo tất ngƣời dùng Tập liệu kiểm thử: để kiểm thử hệ thống gợi ý theo lọc cộng tác sử dụng ngày đánh giá thứ ngƣời dùng đƣợc gợi ý, lấy lại danh sách báo có số điểm đánh giá từ điểm trờ lên so sánh với kết gợi ý Xác định ngƣời dùng tƣơng tự (7 ngày đầu ngƣời dùng đƣợc gợi ý tất liệu đánh giá ngƣời dùng khác) Dữ liệu đánh giá tất ngƣời dùng đƣợc gợi ý (8 ngày) Dữ liệu test (ngày thứ ngƣời dùng gợi ý) 82 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Nhƣ trình bày phần chúng tơi sử dụng độ đo precision, recall FMeasure để đánh giá hệ thống: ố 𝑖 𝑖 ấ í ố ố ấ ố (4-1) ấ ợ í ườ (4-2) (4-3) Trong đó: true positive (tp): tin tức thú vị gợi ý cho ngƣời dùng true negative (tn): tin tức thú vị không gợi ý cho ngƣời dùng false negative (fn): tin tức không thú vị không gợi ý cho ngƣời dùng false positive (fp) : tin tức không thú vị gợi ý cho ngƣời dùng Sau đánh giá với ngƣời dùng tiến hành tính trung bình độ đo precision, recall F- Measure tất ngƣời dùng để đánh giá tồn hệ thống chúng ta, cơng thức tính tốn nhƣ sau: ̅̅̅̅̅̅̅̅̅̅̅̅̅ ∑ ̅̅̅̅̅̅̅̅̅ ∑ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ∑ 𝑖 𝑖 (4-4) (4-5) (4-6) Trong: u ngƣời dùng thực tế thứ u U t ng số ngƣời dùng thực tế đánh giá hệ thống 83 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Để đánh giá hệ thống liệu thu đƣợc ngày liên tiếp đƣợc chia thành hai phần: ngày đầu để hệ thống gợi ý cho ngƣời dùng ngày cuối (ngày thứ 8) sử dụng đánh giá hệ thống Yêu cầu chung: Ngƣời dùng phải đăng nhập đƣợc sử dụng tính gợi ý Mỗi ngƣời dùng phải có 20 đánh giá Hệ thống xây dựng hồ sơ ngƣời dùng với báo mà có số điểm đánh giá từ điểm trở lên (phƣơng pháp gợi ý theo nội dung) Danh sách gợi ý gồm 10 báo đƣợc xếp theo điểm số tính tốn hệ thống cho báo giảm dần a Đánh giá hệ thống gợi ý theo nội dung Sau đƣa 10 báo gợi ý theo nội dung kiểm tra xem liệu đánh giá ngày cuối ngƣời dùng có đánh giá hay cho điểm báo 10 báo hệ thống gợi ý Từ lấy lại số báo mà có điểm đánh giá lớn điểm, báo báo mà đƣợc xem nhƣ đƣợc gợi ý xác tới ngƣời dùng số tin tức gợi ý xác (tp) Để tính recall tiến hành kiểm tra xem ngày thứ t ng số báo có điểm đánh giá từ điểm trở lên bài, đƣợc cho t ng số báo phù hợp với ngƣời dùng đƣợc gợi ý (tp+fn) Sau tính đƣợc precision, recall dễ dàng tính đƣợc FMeasure Chú ý đối phƣơng pháp gợi ý theo nội dùng xét có số điểm đánh giá từ điểm trở lên để xây dựng hồ sơ ngƣời dùng Tất ngƣời dùng phải tham gia vào trình đánh giá hệ thống, sau tính đƣợc precision, recall F- Measure theo công thức (4-1), (4-2), (4-3), để đánh giá hệ thống gợi ý theo nội dung tính trung bình precision, recall FMeasure tất ngƣời dùng theo công thức (4-4), (4-5), (4-6) Ví dụ: Những đánh giá ngƣời dùng A ngày cuối (ngày thứ 8): 84 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Tiêu đề Điểm số đánh giá Ba tàu Việt Nam hƣ hỏng tàu Trung Quốc đâm Công nhân đƣợc phát tiền để dụ dỗ biểu tình Phó t ng thống Mỹ nói Biển Đơng với tƣớng Trung Quốc … …… Nga - Trung liên minh đối đầu với Mỹ Sử dụng phƣơng pháp gợi ý theo nội dung ta thu đƣợc 10 báo gợi ý từ đánh giá trƣớc ngƣời dùng A ngày đầu tiên: Số Tiều đề Chính xác thứ tự Phó t ng thống Mỹ nói Biển Có Đơng với tƣớng Trung Quốc Ba tàu Việt Nam hƣ hỏng tàu Có Trung Quốc đâm Chân dung kẻ bắt cóc đại gia Không chấn động Sài Thành … …… 10 Trung Quốc bác bỏ tin báo động Không Không biên giới Việt - Trung Giả sử kết gợi ý có xuất đánh giá ngƣời dùng ngày thứ có điểm số đánh giá lần lƣợt 4, Từ ta có kết gợi ý xác cho ngƣời dùng Từ ta tính đƣợc precision nhƣ sau: 85 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 ố 𝑖 𝑖 𝑖 ợ𝑖 ố 𝑖 í ợ𝑖 Trong đánh giá ngày thứ có đánh giá có số điểm lớn 4, ta tính đƣợc recall nhƣ sau: ố 𝑖 ố 𝑖 ấ ợ í ớ𝑖 ườ𝑖 , Từ hai độ đánh giá ta tính đƣợc : 𝑖 𝑖 𝑖 𝑖 , b Đánh giá hệ thống gợi ý lọc cộng tác Để đánh giá hệ thống lọc cộng tác, tiến hành đánh giá cho ngƣời dùng, tƣơng tự nhƣ lọc nội dung lấy liệu dùng gợi ý ngày ngƣời dùng đƣợc gợi ý ngày tất ngƣời dùng lại Sau đƣa danh sách 10 báo gợi ý cho ngƣời dùng dựa vào đánh giá ngƣời dùng sở thích ngày, sử dụng liệu đánh giá ngày thứ ngƣời dùng đƣợc gợi ý để tính precision, recall F- Measure hệ thống đối ngƣời dùng đƣợc gợi ý Chúng ta xem 10 báo gợi ý báo xuất danh sách đọc mà xuất đánh giá ngày thứ ngƣời dùng đƣợc gợi ý có số điểm lớn Những báo báo mà hệ thống gợi ý theo lọc cộng tác gợi ý xác (tp) Sau biết t ng số báo gợi ý xác cho ngƣời dùng đƣợc gợi ý tính precision cho ngƣời dùng gợi ý theo công thức (4-1) phần Chúng ta xác định t ng số báo từ điểm trở lên xuất đánh giá có điểm số lớn ngƣời dùng đƣợc gợi ý ngày thứ (tp+fn), dựa vào tp, tp+fn dễ dàng tính đƣợc recall hệ thống theo cơng thức (4-2), tiếp tính F- Measure thơng qua precision, recall xác định theo công thức (4-3) 86 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 Tất ngƣời dùng phải tham gia vào q trình đánh giá hệ thống, sau tính đƣợc precision, recall F- Measure ngƣời dùng để đánh giá hệ thống gợi ý lọc cộng tác tính trung bình precision, recall F- Measure tất ngƣời dùng theo công thức (4-4), (4-5), (4-6) c Đánh giá hệ thống lai Để đánh hệ thống lai hai phƣơng pháp gợi ý lọc nội dung lọc cộng tác dựa vào đánh giá hai phƣơng pháp Nhƣ trình bày phần trên, gợi ý lai sử dụng phƣơng pháp lai kết hợp (Mix), hệ thống đƣa 10 báo gợi ý cho ngƣời dùng cụ thể dựa vào đánh giá ngƣời dùng đƣợc gợi ý ngày (lọc nội dung), đồng thời sử dụng đánh giá ngày ngƣời dùng lại (lọc cộng tác) Với ngƣời dùng cụ thể tiến hành đánh giá cách kiểm tra 10 báo gợi ý trả theo bƣớc sau đây: Kiểm tra xem 10 báo trả có báo nằm đánh giá ngƣời dùng đƣợc gợi ý ngày thứ mà có điểm đánh giá từ điểm trở lên Danh sách báo thoả mãn tiêu chí đƣợc sử dụng để tính precision (tp) Đồng thời kiểm tra danh sách báo lớn điểm trở lên tất đánh giá ngƣời dùng đƣợc gợi ý ngày thứ 8, đƣợc sử dụng tính recall (tp+fn) Từ bƣớc ta thu đƣợc t ng số báo gợi ý xác (tp) dùng để tính precision ngƣời dùng cụ thể dựa vào công thức (3-1) Đồng thời ta xác định đƣợc t ng số báo phù hợp với ngƣời dùng (tp+fn) sử dụng tính recall theo cơng thức (3-2) Cuối tính F- Measure dựa vào cơng thức (3-3) Sau tính precision, recall F- Measure tất ngƣời dùng ta tính trung bình precision, recall F- Measure theo công thức (3-4), (3-5), (3-6) Từ ta đánh giá đƣợc hệ thống lai dựa vào hai phƣơng pháp gợi ý lọc nội dung lọc cộng tác 87 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 5.1 Các kết đạt đƣợc Các hệ thống gợi nhận đƣợc nhiều quan tâm từ cộng đồng nghiên cứu t chức kinh tế đóng góp giải vấn đề tràn ngập thông tin cung cấp dịch vụ hƣớng cá nhân Tuy nhiên, lĩnh vực gợi ý tin tức, hƣớng tiếp cận nhiều vấn đề cần giải Nắm bắt đƣợc nhu cầu đó, đồ án tiến hành nghiên cứu, khảo sát số hƣớng tiếp cận giải tốn gợi ý có Sau đó, dựa khảo sát này, đồ án phát triển thử nghiệm bốn giải pháp gợi ý cho hệ thống cung cấp tin tức a Các kết đạt đƣợc Đồ án tìm hiểu khái niệm, thuật ngữ, kĩ thuật liên quan đến hệ thống gợi ý Dựa vào khảo sát đặc trƣng gợi ý tin tức, phân tích ƣu nhƣợc điểm phƣơng pháp xây dựng thành phần hệ gợi ý mơ hình sở thích ngƣời dùng thuật toán gợi ý, đồ án phát triển thử nghiệm phƣơng pháp gợi ý tin tức lai dựa lịch sử thao tác ngƣời dùng Trong đó, hệ thống thực thi bốn phƣơng pháp gợi ý lai gợi ý theo nội dung gợi ý theo lọc cộng tác: Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng tĩnh dựa vào trọng số tf-idf tăng cƣờng lọc cộng tác (H.1) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng động dựa vào trọng số tf-idf tăng cƣờng lọc cộng tác (H.2) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng tĩnh dựa dựa mơ hình chủ đề ẩn LDA lọc cộng tác (H.3) Lai hai phƣơng pháp gợi ý theo nội dung sử dụng hồ sơ ngƣời dùng động dựa mơ hình chủ đề ẩn LDA lọc cộng tác (H.4) Hƣớng tiếp cận có nhiều tiềm đƣợc chứng minh thơng qua số số liệu thống kê kết ban đầu 88 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 b Một số vấn đề cần tiếp tục giải Tuy mơ hình bƣớc đầu đạt đƣợc số kết khả quan, nhƣng tồn nhiều vấn đề cần giải Đầu tiên, chƣa có độ đo ngữ nghĩa cho hệ thống gợi ý tƣơng tự, đánh giá chủ yếu dựa nhận định chủ quan tính phù hợp hay khơng phù hợp kết tƣ vấn Thêm vào đó, hạn chế số lƣợng chất lƣợng kho liệu tin tức ảnh hƣởng xấu đến chất lƣợng gợi ý Cuối cùng, hệ thống sử dụng liệu tự xây dựng thu thập đánh giá ngƣời dùng thực tế để có để đánh giá xác hệ thống, dẫn đến phƣơng pháp theo lọc cộng tác có độ xác thấp 5.2 Hƣớng phát triển Hiện hệ thống sử dụng phƣơng pháp lai đơn giản hai phƣơng pháp gợi ý truyền thống lọc theo nội dung lọc cộng tác Chính mà em đề xuất vài hƣớng phát triển đề tài: Xây dựng hệ thống lai theo trọng số hệ thống mà điểm số dự đốn báo đƣợc tính từ điểm số dự đoán hai phƣơng pháp Xây dựng gợi ý theo nội dung dựa theo mơ hình chủ đề ẩn kết hợp với thực thể nội dung tin tức ngƣời dùng vừa truy cập 89 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 TÀI LIỆU THAM KHẢO Francesco Ricci and Lior Rokach and Bracha Shapira (2011), Introduction to Recommender Systems Handbook, Recommender Systems Handbook, Springer, page.1-35 Schafer, J B., Konstan, J And Riedl, (1999), Recommender Systems in ECommerce In: EC ‟99: Proceedings of the First ACM Conference on Electronic Commerce, Denver, CO, page 158-166 Belkin, N J and Croft, W B.: (1992), Information Filtering and Information Retrieval: Two Sides of the Same Coin? Communications of the ACM 35(12), page 29-38 Mitchell, T.: (1997), Machine Learning McGraw-Hill, New York Pazzani, M.J., Billsus, D.: (2007) Content-Based Recommendation Systems In: P.Brusilovsky, A.Kobsa, W.Nejdl (eds) The Adaptive Web, Lecture Notes in Computer Science, vol.4321, pp.325-341 G Salton (1989), Automatic Text Processing, Addison Wesley A Marakura and N.Abe (1998), “Collaborative Filtering Using Weighted Majority Prediction Algorithms,” Proc 15th Int‟l Conf.Machine Learning Phan Xuân Hiếu, Nguyễn Cẩm Tú (2008): „A Java Implementation of Latent Dirichlet Allocation (LDA) using Gibbs Sampling for Parameter Estimation and Inference‟ Mai Thế Hùng: Tìm hiểu phƣơng pháp gợi ý áp dụng xây dựng hệ thống gợi ý phim Trang 13-38 10 Pasquale Lops, Marco de Gemmis and Giovanni Semeraro, Content-based Recommender Systems: State ofthe Art and Trends, page 76 11 Lê Hồng Phƣơng, vnTokenizer - Vietnamese word segmentation, VNU University of Science 90 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 ... hố hệ thống gợi ý: trình bày phƣơng pháp gợi ý theo lọc cộng tác gợi ý dựa theo nội dung, so sánh hai phƣơng hệ thống gợi ý lai ghép Trong phần số gợi ý điển hình: trình bày số hệ thống gợi ý. .. bao gồm định nghĩa hệ thống gợi ý, giới thiệu số phƣơng pháp gợi ý, mơ hình hố hệ Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 thống gợi ý, số hệ thống gợi ý điển hình Trong... gợi ý lai 43 Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khóa 2013B Lớp CNTT1 CHƢƠNG 3: CÁC PHƢƠNG PHÁP GỢI Ý ĐƢỢC CÀI ĐẶT TRONG HỆ THỐNG 3.1 Đặc trƣng hệ thống gợi ý tin tức Hệ thống gợi ý