Bài viết đề xuất một tiếp cận mới cho hệ tư vấn lọc cộng tác dựa trên người dùng. Hệ tư vấn lọc cộng tác theo người dùng được xây dựng dựa trên độ đo hàm ý thống kê. Trong hệ tư vấn này, chúng tôi xây dựng một độ đo tương đồng dựa trên độ đo chỉ số hàm ý thống kê gọi là độ đo tương đồng hàm ý thống kê để xác định sự tương đồng giữa hai người dùng trong hệ thống. Thông qua thực nghiệm trên hai tập dữ liệu MovieLense và MSWeb cho thấy rằng độ đo tương đồng mà chúng tôi đề xuất cho kết quả khá tốt trên hệ tư vấn lọc cộng tác dựa trên người dùng so với các độ đo tương đồng truyền thống như Pearson correlation, Cosine similarity và Jaccard.
Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX “Nghiên cứu ứng dụng Công nghệ thông tin (FAIR'9)”; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00029 HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ Phan Quốc Nghĩa1, Nguyễn Minh Kỳ2, Đặng Hồi Phƣơng3, Huỳnh Xn Hiệp4,5 Phịng Khảo thí, Trường Đại học Trà Vinh Khoa Cơng nghệ Thông tin, Trường Đại học Kỹ thuật – Công nghệ Cần Thơ Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng Khoa Công nghệ Thông tin Truyền thông, Trường Đại học Cần Thơ Nhóm nghiên cứu liên ngành DREAM-CTU/IRD, Trường Đại học Cần Thơ nghiatvnt@tvu.edu.vn, nmky@ctuet.edu.vn, dhphuong@dut.udn.vn, hxhiep@ctu.edu.vn TÓM TẮT— Từ đời đến nay, hệ tư vấn lọc cộng tác nói chung, hệ tư vấn lọc cộng tác dựa người dùng nói riêng có phát triển vượt bậc mặt ứng dụng kỹ thuật, công nghệ ứng dụng vào thực tế sống Đặc biệt, hệ tư vấn nhà quản lý sử dụng làm công cụ hỗ trợ hữu hiệu nhiều lĩnh vực kinh doanh Amazon, Netflix Pandora Tuy nhiên, hệ hệ tư vấn chưa đáp ứng đầy đủ yêu cầu người sử dụng Trong viết đề xuất tiếp cận cho hệ tư vấn lọc cộng tác dựa người dùng Hệ tư vấn lọc cộng tác theo người dùng xây dựng dựa độ đo hàm ý thống kê Trong hệ tư vấn này, xây dựng độ đo tương đồng dựa độ đo số hàm ý thống kê gọi độ đo tương đồng hàm ý thống kê để xác định tương đồng hai người dùng hệ thống Thông qua thực nghiệm hai tập liệu MovieLense MSWeb cho thấy độ đo tương đồng mà đề xuất cho kết tốt hệ tư vấn lọc cộng tác dựa người dùng so với độ đo tương đồng truyền thống Pearson correlation, Cosine similarity Jaccard Từ khóa— Độ đo tương đồng, độ đo số hàm ý thống kê, hệ tư vấn lọc cộng tác dựa người dùng, Độ đo tương đồng hàm ý thống kê I GIỚI THIỆU Hệ tư vấn lọc cộng tác dựa người dùng phiên hệ tư vấn dựa lọc cộng tác Nó giới thiệu lần báo “GroupLens: an open architecture for collaborative filtering of netnews” vào năm 1994 cho hệ tư vấn GroupLens Usenet [12] Đây hệ tư vấn lọc cộng tác dựa người dùng hỗ trợ người đọc tìm báo mà họ thích số lượng lớn báo Hệ thống tự động thu thập giá xếp hạng người dùng khứ để dự đốn sở thích người dùng Với kiến trúc hồn tồn mở, nên hệ thống phát triển mở rộng dễ dàng Tiếp theo GroupLens Usenet, có hai hệ tư vấn khác sử dụng phương pháp tư vấn lọc cộng tác dựa người dùng, hệ tư vấn cho người dùng nghe nhạc Ringo [15] hệ tư vấn cho người dùng xem phim BellCore [16] Hệ tư vấn lọc cộng tác dựa người dùng giải thuật đơn giản làm sáng tỏ tiền đề cốt lõi phương pháp tư vấn lọc cộng tác Đó tìm người dùng khứ có hành vi tương đồng với người dùng Sau đó, sử dụng kết xếp hạng họ cho mặt hàng hay mục liệu để dự đốn sở thích người dùng Như vậy, để có danh sách sản phẩm hay mục liệu giới thiệu cho người dùng mới, hệ tư vấn lọc cộng tác dựa người dùng u cầu phải có hàm để tính tương đồng hai người dùng phương pháp tính độ lệch trung bình giá trị xếp hạng người dùng tương đồng với người dùng dựa ma trận xếp hạng người dùng cho sản phẩm hay mục liệu [9][8][11] Trong viết này, dựa mơ hình hệ tư vấn lọc cộng tác truyền thống sử dụng độ đo tương đồng như: Pearson, Cosine, Jaccard, đề xuất tiếp cận cho hệ tư vấn lọc cộng tác dựa người dùng - Hệ tư vấn lọc cộng tác theo người dùng dựa độ đo hàm ý thống kê Trong hệ thống này, xây dựng độ đo tương đồng dựa độ đo số hàm ý thống kê (Implication index) để xác định tương đồng hai người dùng gọi độ đo tương đồng hàm ý thống kê để thay cho độ đo tương đồng hệ thống Cụ thể hơn, giá trị tương đồng hai người dùng xác định dựa luật hàm ýthống kê theo khuynh hướng khơng đối xứng Trong đó, luật hàm ý thống kê sinh dựa phản ví dụ (counter-example) [14] giá trị tương đồng xác định dựa tần suất xuất tham số , , , , ̅ bảng phân phối xác suất 2x2 Mơ hình tư vấn lọc cộng tác dựa người dùng sử dụng đo tương đồng hàm ý thống kê xây dựng triển khai thực nghiệm hai tập liệu MovieLense [2] MSWeb [7] đồng thời so sánh kết với mơ hình tư vấn lọc cộng tác theo người dùng sử dụng độ đo tương đồng truyền thống Bài viết tổ chức thành phần Phần giới thiệu hệ tư vấn lọc cộng tác dựa người dùng, nghiên cứu liên quan nêu vấn đề nghiên cứu Phần giới thiệu mơ hình hệ tư vấn lọc cộng tác dựa người dùng Phần trình bày cách xây dựng độ đo tương đồng hai người dùng dựa độ đo hàm ý thống kê Phần mô tả bước xây dựng hệ tư vấn theo người dùng dựa độ đo hàm ý thống kê Phần trình bày kết thực nghiệm mơ hình so sánh kết với mơ hình khác Phần cuối tóm tắt số kết quan trọng đạt II HỆ TƢ VẤN LỌC CỘNG TÁC DỰA TRÊN NGƢỜI DÙNG Hệ tư vấn lọc cộng tác dựa người dùng hệ thống tìm mục liệu hay sản phẩm tương đồng để giới thiệu cho người dùng dựa giá trị xếp hạng người dùng khác khứ Những mục liệu hay HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ 232 sản phẩm có hạng cao dùng để tư vấn cho người dùng Một cách hình thức, mơ hình tư vấn lọc cộng tác dựa người dùng mô tả sau: { } tập m người dùng, { } tập n sản phẩm hay mục liệu, Gọi ma trận xếp hạng người dùng cho sản phẩm hay mục liệu với dòng biểu diễn cho người dùng ( ), cột biểu diễn cho sản phẩm hay mục liệu ( ), giá trị xếp hạng người dùng cho sản phẩm người dùng cần tư vấn 2.1 Tính độ tƣơng đồng hai ngƣời dùng Lựa chọn độ đo để tính độ tương đồng hai người dùng khâu quan trọng việc thiết kế hệ tư vấn lọc cộng tác dựa người dùng Bởi vì, ảnh hưởng trực tiếp đến kết tư vấn hệ thống Hiện tại, lĩnh vực nghiên cứu máy học, có nhiều độ đo đề xuất cho mục đích Trong đó, Pearson correlation, Cosine similarity Jaccard ba độ đo nhiều hệ tư vấn sử dụng Pearson correlation độ đo tính tương đồng hai người dùng dựa tương quan thống kê [8][9][13] Độ tương đồng hai người dùng u v xác định công thức (1): ∑ ̅ ̅ √∑ ̅ √∑ ̅ (1) Với giá trị tương đồng người dùng u người dùng v; I tập sản phẩm hay mục liệu xếp hạng hai người dùng; giá trị xếp hạng người dùng cho sản phẩm ; ̅ giá trị xếp hạng trung bình người dùng giá trị xếp hạng người dùng ; cho sản phẩm ; ̅ giá trị xếp hạng trung bình người dùng ; Cosine similarity độ đo tính tương đồng hai người dùng dựa khơng gian vector đại số tuyến tính [8][9][13] Các giá trị xếp hạng người dùng m sản phẩm hay mục liệu biểu diễn vector m chiều Độ tương đồng hai người dùng u v xác định khoảng cách Cosine hai vector ⃗ vector ⃗ theo công thức (2): ⃗ ⃗ Với phẩm); ⃗ ∑ ⃗ ‖⃗ ‖ ‖⃗ ‖ √∑ (2) √∑ giá trị tương đồng người dùng u người dùng v; m số chiều vector (số sản giá trị xếp hạng người dùng cho sản phẩm ; giá trị xếp hạng người dùng cho sản phẩm ; Jaccard độ đo xác định độ tương đồng hai người dùng dựa phép toán hai tập hợp hữu hạn [11] Đây độ đo đề xuất để xử lý vấn đề giá trị xếp hạng người dùng cho sản phẩm hay mục liệu ma trận xếp hạng bị bỏ qua gán giá trị Trong độ đo này, tập sản phẩm hay mục liệu người dùng u xếp hạng xây dựng thành tập hợp tương ứng hồ sơ người dùng u Độ tương đồng hai người dùng tính lực lượng phần tử phép tốn giao hai tập hợp (∩ - intersection) chia cho lực lượng phần tử phép toán hợp hai tập hợp (∪ - union) Giá trị tương đồng người dùng u người dùng v tính cơng thức (3): | | (3) | ∪ | Với giá trị tương đồng người dùng u người dùng v; tập hợp biểu diễn giá trị xếp hạng danh mục sản phẩm hay mục liệu người dùng ; tập hợp biểu diễn giá trị xếp hạng danh mục sản phẩm hay mục liệu người dùng 2.2 Sinh kết tƣ vấn Để tính tốn kết khuyến nghị cho người dùng u, bước đầu tiên, hệ tư vấn lọc cộng tác dựa người dùng sử dụng độ đo tương đồng để tìm danh sách N người dùng tương đồng với người dùng u Khi có danh sách N người dùng tương đồng, hệ thống kết hợp giá trị xếp hạng họ để sinh dự đốn sở thích người dùng u sản phẩm hay mục liệu i Thơng thường, kết dự đốn tính dựa trọng số trung bình giá trị xếp hạng N người dùng tương đồng biểu diễn công thức (4) [8][9]: ̅ ∑ ̅ ∑ | | (4) Phan Quốc Nghĩa, Nguyễn Minh Kỳ, Đặng Hoài Phương, Huỳnh Xuân Hiệp 233 III ĐỘ ĐO TƢƠNG ĐỒNG HÀM Ý THỐNG KÊ CHO HAI NGƢỜI DÙNG Phân tích hàm ý thống kê phương pháp phân tích liệu nghiên cứu mối quan hệ hàm ý biến hay thuộc tính liệu, cho phép phát luật (rules ) không đối xứng theo dạng “nếu A sau gần B” “xem xét đến mức độ mà B đáp ứng hàm ý A” [14] Hình Mơ hình biểu diễn luật hàm ý thống kê Mỗi luật dạng biểu diễn bảng dựa khái niệm xác suất gọi Bảng phân phối xác suất 2x2 để lưu trữ tần suất đếm đáp ứng điều kiện cho trước Từ Bảng phân phối xác suất này, giá trị xác suất tính dựa tần suất xuất , , , , ̅ tương ứng sau: , , ̅ ̅ , Bảng Bảng phân phối xác suất 2x2 luật ̅ ̅ ̅ ̅ ̅̅ ̅ ̅ Khi giá trị hấp dẫn (interestingness value) độ đo hàm ý thống kê cho luật hàm dựa số luật có bảng phân phối xác suất 2x2 có dạng theo cơng thức (5) [14]: xác định ̅ ̅ √ (5) Từ công thức tính giá trị hấp dẫn độ đo số hàm ý thống kê, khoảng cách hay khác hai người dùng xác giá trị trung bình số hàm ý dựa luật hàm ý thống kê mà vế trái tập sản phẩm hay mục liệu nằm hồ sơ người dùng u vế phải tập sản phẩm hay mục liệu không nằm hồ sơ người dùng v theo công thức (6): ∑ | | (6) Với giá trị khoảng cách người dùng u người dùng v; tập sản phẩm hay mục liệu người dùng xếp hạng; tập sản phẩm hay mục liệu người dùng xếp hạng; tập tập , tập bù tập x, y hai tập phần tử rời ( ); tổng số luật hàm ý thống kê sinh Dựa cơng thức tính khoảng cách hai người dùng, đề xuất độ đo tương đồng dùng để đo giá trị tương đồng hai người dùng gọi độ đo tương đồng hàm ý thống kê tính cơng thức (7): (7) IV HỆ TƢ VẤN LỌC CỘNG TÁC THEO NGƢỜI DÙNG DỰA TRÊN ĐỘ ĐO TƢƠNG ĐỒNG HÀM Ý THỐNG KÊ Dựa bước xây dựng hệ tư vấn lọc công tác dựa người dùng [8][9][11] độ đo xác định độ tương đồng hai người dùng dựa độ đo hàm ý thống kê trình bày phần trên, đề xuất bước xây dựng hệ tư vấn lọc cộng tác theo người dùng dựa độ đo tương đồng hàm ý thống kê sau: 4.1 Tìm hiểu tốn thực tế Hệ tư vấn công cụ hỗ trợ người dùng lựa chọn sản phẩm dịch vụ thông qua mạng Internet Vì thế, việc nắm bắt kỳ vọng người dùng, mà họ cần cung cấp từ hệ thống, bước quan trọng quy trình xây dựng hệ tư vấn Nó sở cho việc lựa chọn xử lý liệu điều kiện cần để đưa hệ thống vào ứng dụng thực tế 4.2 Lựa chọn xử lý liệu Việc lựa chọn xử lý liệu đánh giá bước quan trọng tiến trình xây dựng hệ thống tư vấn Bởi đặc thù hệ tư vấn kết tư vấn sinh dựa tính tốn từ liệu cũ Cụ thể hơn, hệ tư vấn đưa khuyến nghị cho người dùng tương lai cách áp dụng phép toán thống kê, thuật toán 234 HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ máy học tập liệu chuyên ngành thu thập khứ Vì vậy, lựa chọn xử lý tốt liệu góp phần làm tăng độ xác kết khuyến nghị hệ thống 4.3 Xây dựng giải thuật tƣ vấn Trong giải thuật này, có người dùng cần tư vấn, hệ thống sử dụng độ đo tương đồng hai người dùng dựa độ đo tương đồng hàm ý thống kê để tìm danh sách người dùng tương đồng với người dùng Sau đó, danh sách sản phẩm hay mục liệu xếp hạng cao để giới thiệu cho người dùng tính tốn dựa giá trị xếp hạng người dùng tương đồng Giải thuật hệ tư vấn thực theo bước sau: Input: Ma trận xếp hạng người dùng, Người dùng cần tư vấn ua Output: Danh sách sản phẩm hay mục liệu có giá trị xếp hạng cao Begin Bƣớc 1: Cập nhật xây dựng hồ sơ người dùng ua Bƣớc 2: Tìm danh sách người dùng tương đồng: - Chọn hệ số k để xác định danh sách k người dùng tương đồng với người dùng - Xác định danh sách người dùng tương đồng dựa độ đo tương đồng hàm ý thống kê Bƣớc 3: Tìm danh sách sản phẩm hay mục liệu xếp hạng cao k người dùng tương đồng: - Tính giá trị xếp hạng trung bình cho sản phẩm hay mục liệu - Sắp xếp sản phẩm hay mục liệu dựa giá trị trung bình xếp hạng Bƣớc 4: Chọn N sản phẩm hay mục liệu có trị trung bình xếp hạng cao làm kết tư vấn End Để thấy rõ bước thực giải thuật, biểu diễn giải thuật tư vấn ví dụ cụ thể, trình bày hình Trong hình này, giả sử hệ thống tư vấn cho người dùng lựa chọn sản phẩm (từ i đến i8) hệ thống có 10 người dùng (từ u1 đến u10) xếp hạng cho sản phẩm Các sản phẩm xếp hạng từ đến (“1”- đánh giá thấp nhất; “5” – đánh giá cao nhất; “?” – người dùng không đánh giá cho sản phẩm) Hệ thống yêu cầu tư vấn sản phẩm cho người dùng ua, với hệ số k cho (tính người dùng tương đồng) Từ yêu cầu này, hệ thống tìm danh sách người dùng tương đồng với ua u1, u4, u7 u8 để đoán giá trị xếp hạng mà người dùng ua bỏ qua xác định danh sách sản phẩm mà hệ thống đốn ua thích Hình Minh họa giải thuật tư vấn lọc cộng tác dựa người dùng (A) Ma trận xếp hạng tính toán danh sách sản phẩm dự đoán cho người dùng ua; (B) Xác định người dùng tương đồng với người dùng 4.4 Đánh giá mơ hình tƣ vấn Đánh giá độ xác mơ hình tư vấn khâu quan trọng quy trình xây dựng hệ tư vấn [5][4][3] Nó giúp cho người thiết kế mơ hình lựa chọn mơ hình, kiểm tra độ xác mơ hình trước đưa mơ hình vào ứng dụng thực tế Để đánh giá mơ hình tư vấn lọc công tác dựa người dùng, người xây dựng hệ thống cần thực qua bước sau: 4.4.1 Chuẩn bị liệu cho đánh giá Để đánh giá mơ hình tư vấn, bước chuẩn bị liệu, bước tập liệu thực nghiệm chia làm hai tập con: tập liệu huấn luyện (Training set) tập liệu kiểm tra (Testing set) [10][11] Hiện tại, có nhiều phương pháp để chia tập liệu cho việc đánh giá mơ hình tư vấn như: Splitting: phương pháp để xây dựng tập huấn luyện tập kiểm tra cách cắt tập liệu thực nghiệm thành phần Với phương pháp này, người thiết kế mơ hình cần định tỷ lệ phần trăm cho tập huấn luyện tập kiểm tra Ví dụ, tập huấn luyện chiếm 80 phần trăm tập kiểm tra chiếm 20 phần trăm lại Phan Quốc Nghĩa, Nguyễn Minh Kỳ, Đặng Hoài Phương, Huỳnh Xuân Hiệp 235 Bootstrap sampling: phương pháp xây dựng tập huấn luyện tập kiểm tra cách cắt tập liệu thực nghiệm thành phần Tuy nhiên, việc cắt thực ngẫu nhiên nhiều lần nhằm mục đích để người dùng thành viên tập huấn luyện lần cắt thành viên tập kiểm tra lần cắt Điều khắc phục nhược điểm không đồng tập liệu thực nghiệm đồng thời tăng tính tối ưu tập liệu có kích thước nhỏ K-fold cross-validation: phương pháp xây dựng tập huấn luyện tập kiểm tra cách cắt tập liệu thực nghiệm thành k tập có kích cỡ giống (gọi k-fold) Sau đó, thực k lần đánh giá, với lần đánh giá sử dụng tập làm tập kiểm tra k-1 tập lại dùng làm tập huấn luyện Kết đánh giá tính từ kết k lần kiểm tra phép tính trung bình Phương pháp đảm bảo người dùng lần xuất tập kiểm tra Vì thế, có độ xác cao ba phương pháp nêu Tuy nhiên, nhiều chi phí cho việc tính tốn so với hai phương pháp cịn lại 4.4.2 Đánh giá mơ hình tư vấn Có hai phương pháp để đánh giá mơ hình tư vấn: đánh giá dựa xếp hạng (Evaluation the ratings) đánh giá dựa khuyến nghị (Evaluation the recommendations) [10] Phương pháp đầu đánh giá xếp hạng sinh mơ hình Phương pháp cịn lại đánh giá trực tiếp khuyến nghị mơ hình Đánh giá dựa xếp hạng: phương pháp đánh giá độ xác mơ hình cách so sánh giá trị xếp hạng dự đoán với giá trị thực hay xác tìm giá trị trung bình lỗi dựa vào ba đại lượng RMSE, MSE MAE [5][10] Mơ hình đánh giá tốt đại lượng có giá trị thấp Root mean square error (RMSE): Độ lệch chuẩn giá trị thực giá trị xếp hạng √ ∑ ̂ | | Mean squared error (MSE): Trung bình bình phương độ lệch giá trị thực giá trị xếp hạng dự đốn Nó bình phương độ lệch chuẩn ∑ ̂ | | Mean absolute error (MAE): Trung bình trị tuyệt đối độ lệch giá trị thực giá trị xếp hạng dự đoán | | ∑ | ̂ | Với tập tất xếp hạng người dùng cho sản phẩm hay mục liệu; giá trị xếp hạng thực người dùng i cho sản phẩm hay mục liệu j; ̂ giá trị xếp hạng dự đoán người dùng i cho sản phẩm hay mục liệu j Đánh giá dựa khuyến nghị: phương pháp đánh giá độ xác mơ hình cách so sánh khuyến nghị mơ hình đưa với lựa chọn mua hay không mua người dùng Phương pháp sử dụng ma trận hỗn độn 2x2 (Confusion matrix) để tính độ xác (Precision), độ bao phủ (Recall) trung bình điều hịa độ xác độ bao phủ (F-measure) [5][10] Mơ hình đánh giá tốt ba số có giá trị cao Bảng Ma trận hỗn độn Lựa chọn người dùng Mua Không mua Khuyến nghị mơ hình Giới thiệu Khơng giới thiệu TP FN FP TN Trong đó: TP: Những sản phẩm mơ hình khuyến nghị mua FP: Những sản phẩm mơ hình khuyến nghị khơng mua FN: Những sản phẩm khơng mơ hình khuyến nghị mua TN: Những sản phẩm khơng mơ hình khuyến nghị không mua V THỰC NGHIỆM 5.1 Dữ liệu sử dụng Trong phần thực nghiệm này, sử dụng hai tập liệu khác để chạy mơ hình hai kịch khác Kịch 1, sử dụng tập MovieLense [2] dự án nghiêm cứu GroupLens Trường Đại học HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ 236 Minnesota (the University of Minnesota) vào năm 1997 Kịch 2, sử dụng tập liệu MSWeb Microsoft công bố vào năm 1998 [7] Trong kịch 1, tiến hành thực nghiệm tập liệu MovieLense Đây tập liệu thu thập từ kết xếp hạng 943 người dùng cho 1.664 phim (99.392 kết xếp hạng từ đến 5) thông qua trang web MovieLense (movielens.umn.edu) thời gian tháng (từ 19/9/1997 đến 22/4/1998) Tập liệu tổ chức theo định dạng ma trận gồm 943 hàng, 1.664 cột 1.569.152 ô chứa giá trị xếp hạng Tuy nhiên, người dùng xem tất phim Vì thế, ma trận xếp hạng có 99.392 lượt xếp hạng người dùng cho danh mục phim Trong kịch 2, tiến hành thực nghiệm tập liệu MSWeb Đây tập liệu người dùng Microsoft truy cập trang web thời gian tuần tháng năm 1998 lấy mẫu xử lý từ file log địa www.microsoft.com Tập liệu bao gồm 38.000 người dùng nặc danh truy cập 285 địa web gốc xử lý tổ chức thành ma trận nhị phân với 32.710 hàng, 285 cột 98.653 giá trị xếp hạng 5.2 Công cụ thực (ARQAT) Để triển khai hai kịch thực nghiệm, sử dụng công cụ ARQAT triển khai ngơn ngữ R Đây gói cơng cụ nhóm phát triển từ tảng công cụ ARQAT phát triển Java [6] Công cụ gồm chức năng: xử lý liệu, hàm sinh luật hàm ý thống kê, hàm đếm tham số ̅ , hàm tính độ đo hấp dẫn khách quan cho luật hàm ý dựa tham số hàm thống kê n, ̅ , chức tính độ tương đồng hai đối tượng dựa độ đo số hàm ý, chức xây dựng đánh giá mơ hình hệ tư vấn [10] 5.3 Kịch 5.3.1 Lựa chọn xử lý liệu Tập liệu MovieLense lưu trữ dạng ma trận xếp hạng số thực (giá trị từ đến 5) gồm 943 dịng, 1.664 cột với 1.569.152 chứa giá trị xếp hạng Trong đó, 93 phần trăm giá trị xếp hạng có giá trị phần trăm cịn lại có giá trị xếp hạng có giá trị từ đến (Giá trị hạng 1.469.760; Giá trị hạng 6.059; Giá trị hạng 11.307; Giá trị hạng 27.002; Giá trị hạng 33.947; Giá trị hạng 21.077) Như vậy, toàn tập liệu MovieLense có 99.392 giá trị xếp hạng người dùng thật xếp hạng cho phim Trong đó, đa số giá trị xếp hạng nằm khoảng từ đến giá trị xếp hạng chiếm số lượng cao Để thấy rõ phân bố giá trị xếp hạng tập liệu MovieLense sử dụng biểu đồ nhiệt để đại diện cho giá trị xếp hạng người dùng trình bày hình Hình Biểu đồ nhiệt trình bày phân bố giá trị xếp hạng người dùng tập liệu MovieLense Từ biểu đồ nhiệt, thấy có số phim xếp hạng vài người dùng có số người dùng xếp hạng cho vài phim Nếu sử dụng trường hợp để huấn luyện mơ hình dẫn đến sai lệch thiếu thông tin Vì vậy, chúng tơi định chọn người dùng có xếp hạng cho 50 phim phim phải 100 người dùng xếp hạng để xây dựng tập thực nghiệm cho mơ hình Khi đó, ma trận liệu thực nghiệm 560 dòng, 332 cột 55.298 giá trị xếp hạng Trong đó, chúng tơi chia tập liệu thành hai tập con: Tập huấn luyện chiếm tỷ lệ 80 phần trăm Tập kiểm tra chiếm tỷ lệ 20 phần trăm cịn lại 5.3.2 Kết mơ hình Với mục tiêu kiểm tra độ xác mơ hình ma trận xếp hạng dạng số thực, chúng tơi tiến hành xây dựng mơ hình tư vấn theo người dùng dựa độ đo tương đồng hàm ý thống kê tập liệu huấn luyện với 449 người dùng kiểm tra kết mô hình tập liệu kiểm tra với 111 người dùng Trong đó, số người dùng tương đồng xác định k=25 Kết tư vấn mơ hình xuất theo định dạng ma trận với cấu trúc 10 x 111 Phan Quốc Nghĩa, Nguyễn Minh Kỳ, Đặng Hoài Phương, Huỳnh Xuân Hiệp 237 (mỗi cột người dùng, ô phim chọn để giới thiệu cho người dùng cột tương ứng) Hình trình bày kết tư vấn cho người dùng đầu tiên, với người dùng chọn 10 phim xếp hàng cao Hình Trình bày kết tư vấn người dùng Dựa ma trận kết tư vấn, thống kê số lần giới thiệu phim Qua kết thống kê, thấy phần lớn phim giới thiệu lần Trong đó, có đến 38 phim giới thiệu lần, 26 phim giới thiệu lần Ngược lại, số phim giới thiệu từ lần trở lên chiếm số lượng tương đối nhỏ Đa số có số lượng Trong có phim giới thiệu đến 41 lần 5.3.3 Đánh giá mơ hình Trong phần này, chúng tơi tính thơng số lỗi (RMSE, MSE, MAE) cho người dùng cho mơ hình dựa liệu xây dựng phương pháp k-fold (k=5) Đối với thông số lỗi người dùng, chúng tơi trình bày phân bố thông số lỗi dạng biểu đồ đồng thời so sánh thông số với thông số lỗi mơ hình sử dụng độ đo tương đồng Pearson (hình 5) Qua biểu đồ ta thấy rằng, số lượng người dùng phân bố thông số lỗi mơ hình sử dụng độ đo tương đồng hàm ý thống kê có giá trị cao so với số lượng người dùng phân bố thông số lỗi mơ hình sử dụng độ đo tương đồng Pearson Đối với thơng số lỗi tồn mơ hình, chúng tơi tiếp tục so sánh với mơ hình sử dụng độ đo tương đồng Pearson trình bày bảng Qua kết so sánh, thấy mơ hình chúng đề xuất có thơng số lỗi thấp mơ hình sử dụng độ đo tương đồng Pearson tập liệu MovieLense Bảng Trình bày so sánh thơng số lỗi hai mơ hình Mơ hình sử dụng độ đo tƣơng đồng hàm ý thống kê Mơ hình sử dụng độ đo Pearson RMSE MSE MAE 0.8961562 0.8030960 0.7077939 0.9796664 0.9597462 0.7704055 Mơ hình sử dụng độ đo tương đồng hàm ý thống kê Mơ hình sử dụng độ đo tương đồng pearson Hình Trình bày so sánh thơng số lỗi người dùng hai mơ hình 5.4 Kịch 5.4.1 Lựa chọn xử lý liệu Ma trận liệu nhị nhân MSWeb có kích thước đương đối lớn với 32.710 dịng, 285 cột, 98.635 giá trị xếp hạng Tuy nhiên, qua khảo sát chung tơi thấy có nhiều người dùng truy cập vài trang web nhiều trang web truy cập vài người dùng Để tăng độ tin cậy kết khuyến nghị mơ hình, chúng tơi tiến hành xây dựng tập liệu cho mơ hình theo điều kiện chọn người dùng truy cập 10 địa web trang web truy cập 50 người dùng Sau thực thao tác chọn lọc, chúng tơi có ma trận liệu cho thực nghiệm có kích thước 796x135 Tương tự kịch 1, ma trận liệu thực HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ 238 nghiệm chia làm hai tập con: Tập liệu huấn luyện có kích thước 626x135 (chiếm 80%), Tập liệu kiểm tra có kích thước 170x135 (chiếm 20%) 5.4.2 Kết mơ hình Với mục tiêu kiểm tra độ xác mơ hình ma trận xếp hạng nhị phân, chúng tơi tiến xây dựng mơ hình tư vấn theo người dùng dựa độ đo tương đồng hàm ý thống kê tập liệu xử lý Trong lần thực nghiệm này, chọn số người dùng tương đồng k=30 người dùng giới thiệu trang web mà mơ hình dự đốn họ u thích Kết tư vấn cho người dùng trình bày hình Hình Trình bày kết khuyến nghị tập MSWeb cho users Từ ma trận kết tư vấn, chúng tơi trích chọn 10 trang web mơ hình chọn để giới thiệu đến người dùng nhiều (hình 7a) Trong đó, đứng đầu danh sách trang tìm kiếm Microsoft (Microsoft.com Search) với 74 lần giới thiệu đến người dùng Ngược lại với danh sách 10 trang web đứng đầu, trích danh sách 10 trang web có số lần giới thiệu (hình 7b) Hầu hết trang giới thiệu lần ngoại trừ trang Microsoft Excel giới chọn để giới thiệu lần Hình Danh sách 10 trang web giới thiệu nhiều 10 trang giới thiệu 5.4.3 Đánh giá mơ hình Do tập liệu MSWeb tập liệu nhị phân, nên mô hình đánh giá dựa khuyến nghị Trong đánh giá này, tiếp tục sử dụng phương pháp chia liệu k-fold để xây dựng liệu đánh giá với k=5 Để khảo sát độ xác mơ hình, chúng tơi kiểm tra mơ hình với số lượng trang web giới thiệu đến người dùng tăng dần (từ đến 15) Kết đánh giá trung bình k-fold mơ hình sử dụng độ đo tương đồng hàm ý thống kê mơ hình sử dụng độ đo tương đồng Jaccard trình bày hình Trong hình này, thấy số precision giảm số trang web giới thiệu tăng hai độ đo tương đồng Ngược lại với precision, số recall tăng hai độ đo tương đồng số trang web giới thiệu tăng Khác với hai số trên, số F-measure đạt giá trị cao số trang web giới thiệu 10 mơ hình sử dụng độ đo tương đồng hàm ý thống kê mơ hình sử dụng độ đo tương đồng Jaccard Điều cho thấy mơ hình sử dụng độ đo tương đồng hàm ý thống kê cho kết tốt người dùng giới thiệu 10 trang web mô hình sử dụng độ đo tương đồng Jaccard cho kết tốt người dùng giới thiệu trang web Hình So sánh kết đánh giá trung bình k-fold số trang web giới thiệu tăng dần từ đến 15 VI KẾT LUẬN Trong viết này, xây dựng mơ hình hệ tư vấn lọc cộng tác dựa người dùng cách đề xuất độ đo tương đồng dựa độ đo số hàm ý thống kê để xác định tương đồng hai người dùng Giống hệ tư vấn lọc cộng tác dựa người dùng khác, mơ hình chúng tơi đảm bảo bước như: xử lý liệu, xây dựng ma trận xếp hạng, tính độ tương đồng hai người dùng, xác định danh sách sản phẩm người dùng tương đồng xếp hạng cao để đưa kết khuyến nghị đánh giá tính xác mơ hình Tuy nhiên, điểm mơ hình bước xác định danh sách người dùng tương đồng, thay sử dụng độ đo tương đồng quen thuộc Pearson correlation, Cosine similarity, Jaccard để xác định tương đồng hai Phan Quốc Nghĩa, Nguyễn Minh Kỳ, Đặng Hoài Phương, Huỳnh Xuân Hiệp 239 người dùng, sử dụng độ đo tương đồng hàm ý thống kê Qua thực nghiệm, chúng tơi thấy mơ hình chúng tơi cho kết khuyến nghị xác tập liệu số thực tập liệu nhị phân Đối với tập liệu số thực MovieLense, số lỗi (RMSE, MSE, MAE) mơ hình có giá trị thấp so với kết đánh giá mô hình sử dụng độ đo tương đồng Pearson Đối với tập liệu nhị phân MSWeb, số đánh giá độ xác Precision, Recall, F-measure mơ hình có giá trị vượt trội so với số mơ hình sử dụng độ đo tương đồng Jaccard Kết thực nghiệm cho thấy mô hình hệ tư vấn lọc cộng tác theo người dùng sử dụng độ đo tương đồng hàm ý thống kê có khả ứng dụng vào thực tế TÀI LIỆU THAM KHẢO [1] F Liu and H J Lee, Use of social network information to enhance collaborative filtering performance, Expert Systems with Applications 37(7), pp.4772-4778, 2010 [2] F Maxwell Harper and Joseph A Konstan, The MovieLens Datasets: History and Context ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 4, Article 19, pp.1-19, 2015 [3] Feng Zhang, TiGong, Victor E Lee and Gansen Zhao, Chunming Rong and Guangzhi Qu, Fast algorithms to evaluate collaborative filtering recommender systems, Knowledge-Based Systems 96 (2016) pp.96–103, 2016 [4] Gunawardana A and Shani G, A Survey of Accuracy Evaluation Metrics of Recommendation Tasks, Journal of Machine Learning Research, 10, pp.2935–2962, 2009 [5] Herlocker JL, Konstan JA, Terveen LG and Riedl JT, Evaluating collaborative filtering recommender systems, ACM Transactions on Information Systems, 22(1), ISSN 1046-8188, pp.5–53, 2004 [6] Hiep Xuan Huynh, Fabrice Guillet and Henri Briand, ARQAT: An Exploratory Analysis Tool For Interestingness Measures, pp.334-344, 2005 [7] Jack S Breese, David Heckerman and Carl M Kadie, Anonymous web data from www.microsoft.com, Microsoft Research, Redmond WA, 98052-6399, USA, https://kdd.ics.uci.edu/databases/msweb/msweb.html, 1998 [8] Martin P Robillard, Walid Maalej, Robert J Walker and Thomas Zimmermann, Recommendation Systems in Software Engineering, Springer Heidelberg New York Dordrecht London, ISBN 978-3-642-45135-5, 2014 [9] Michael D Ekstrand, John T Riedl and Joseph A Konstan, Collaborative Filtering Recommender Systems, Foundations and Trends in Human–Computer Interaction Vol 4, No (2010), pp.81–173, 2010 [10] Michael Hahsler, Lab for Developing and Testing Recommender Algorithms, Copyright (C) Michael Hahsler, http://RForge.R-project.org/projects/recommenderlab/, 2015 [11] Michael Hahsler, recommenderlab: A Framework for Developing and Testing Recommendation Algorithms, the Intelligent Data Analysis Lab at SMU, http://lyle.smu.edu/IDA/recommenderlab/, 2011 [12] P Resnick, N Iacovou, M Suchak, P Bergstrom, and J Riedl, GroupLens: an open architecture for collaborative filtering of netnews, inACM CSCW ’94, pp 175–186, ACM, 1994 [13] Prem Meville and Vikas Sindhwani, Recommender Systems, Encyclopedia of Machine Learning, Springer-Verlag, pp 829838, 2010 [14] R Gras and P Kuntz, An overview of the Statistical Implicative Analysis (SIA) development, Statistical Implicative Analysis Studies in Computational Intelligence (Volume 127), Springer-Verlag, pp.11-40, 2008 [15] U Shardanand and P Maes, Social information filtering: Algorithms for automating “word of mouth”, in ACM CHI ’95, pp 210–217, ACM Press/Addison-Wesley Publishing Co., 1995 [16] W Hill, L Stead, M Rosenstein, and G Furnas, Recommending and evaluating choices in a virtual community of use, inACM CHI ’95, pp 194–201, ACM Press/Addison-Wesley Publishing Co., 1995 240 HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ USER-BASED COLLABORATIVE FILTERING RECOMMENDATION SYSTEM BASED ON IMPLICATION STATISTIC MEASURES Phan Quoc Nghia, Nguyen Minh Ky, Dang Hoai Phuong, Huynh Xuan Hiep ABSTRACT— From the first appearance, recommender system in general and User-based collaborative filtering recommendation system have been developed greatly in technology and their application in life In particular, recommender systems are used by many managers as an effective tool in order to support the business in various fields such as Amazon, Netflix and Pandora However, the present generation of recommender systems has not fully met the requirements of users yet In this paper, we propose a new approach for User-based collaborative filtering recommender system The User-based collaborative filtering recommender system based on Implication statistic measures In the system, we build a new similarity measures for two users are based on the Implication intensity measures It is called statistical implicative similarity measures Through experiments on two datasets MovieLense and MSWeb show that our similarity measures has fairly good results on User-based collaborative filtering model compared with traditional similarity measures as Pearson correlation, Cosine similarity, and Jaccard ... TƢ VẤN LỌC CỘNG TÁC THEO NGƢỜI DÙNG DỰA TRÊN ĐỘ ĐO TƢƠNG ĐỒNG HÀM Ý THỐNG KÊ Dựa bước xây dựng hệ tư vấn lọc công tác dựa người dùng [8][9][11] độ đo xác định độ tư? ?ng đồng hai người dùng dựa độ. .. dựng mơ hình hệ tư vấn lọc cộng tác dựa người dùng cách đề xuất độ đo tư? ?ng đồng dựa độ đo số hàm ý thống kê để xác định tư? ?ng đồng hai người dùng Giống hệ tư vấn lọc cộng tác dựa người dùng khác,...HỆ TƯ VẤN LỌC CỘNG TÁC THEO NGƯỜI DÙNG DỰA TRÊN ĐỘ ĐO HÀM Ý THỐNG KÊ 232 sản phẩm có hạng cao dùng để tư vấn cho người dùng Một cách hình thức, mơ hình tư vấn lọc cộng tác dựa người dùng