Tuy nhiên, các phương phápkhuyến nghị phổ biến thường gặp khó khăn, thách thức khó giải quyếtnhư: phương pháp khuyến nghị nội dung phải phân tích nội dung của sốlượng khổng lồ bài báo để
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
NGUYỄN HỮU ĐẠT
KHÓA LUẬN TỐT NGHIỆP KHUYẾN NGHỊ CỘNG TÁC
DỰA TRÊN TIẾP CẬN HỌC SÂU
DEEP LEARNING FOR COLLABORATOR RECOMMENDATION
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
Trang 2TP HỒ CHÍ MINH, 2020
Trang 3ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
NGUYỄN HỮU ĐẠT – 15520104
KHÓA LUẬN TỐT NGHIỆP KHUYẾN NGHỊ CỘNG TÁC
DỰA TRÊN TIẾP CẬN HỌC SÂU
DEEP LEARNING FOR COLLABORATOR RECOMMENDATION
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
TS HUỲNH NGỌC TÍN
Trang 4DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………
…… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin
1 ……… – Chủ tịch
2 ……… – Thư ký
3 ……… – Ủy viên
4 ……… – Ủy viên
Trang 5ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP HCM, ngày tháng năm 2020
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận:
Khuyến Nghị Cộng Tác Dựa Trên Tiếp Cận Học Sâu
Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:
Nguyễn Hữu Đạt 15520104 TS Huỳnh Ngọc Tín
Đánh giá Khóa luận:
1 Về cuốn báo cáo:
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
2 Về nội dung nghiên cứu:
Trang 63 Về chương trình ứng dụng:
4 Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
Trang 7NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận:
Khuyến Nghị Cộng Tác Dựa Trên Tiếp Cận Học Sâu
Nhóm sinh viên thực hiện: Cán bộ phản biện:
Nguyễn Hữu Đạt 15520104
Đánh giá Khóa luận:
1 Về cuốn báo cáo:
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
5 Về nội dung nghiên cứu:
6 Về chương trình ứng dụng:
Trang 87 Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên: Nguyễn Hữu Đạt: ……… /10
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 9LỜI CẢM ƠN
Trước hết, em xin gởi lời cảm ơn đến quý thầy cô Khoa Công nghệ phầnmềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM Sau hơn 4 năm trònhọc tập tại trường, em đã được trang bị các kiến thức cơ bản, các kỹ năng để có thểhoàn thành Khóa luận tốt nghiệp của mình
Đặc biệt với thầy Huỳnh Ngọc Tín, em xin cảm ơn thầy vì đã nhiệt tình,quan tâm, hướng dẫn và truyền đạt những kiến thức và kinh nghiệm cho em trongsuốt thời gian thực hiện Khóa luận tốt nghiệp của mình Bên cạnh đó, em cũngmuốn gửi lời cảm ơn đến bạn bè, anh chị thuộc công ty VCGroup đã động viên, tậntình giúp đỡ trong lúc em thực hiện khóa luận tốt nghiệp
Tuy nhiên, việc vấp phải sai sót trong hoàn tất Khóa luận tốt nghiệp là điềukhông tránh khỏi, em mong nhận được sự góp ý của quý thầy và các bạn để đượchoàn thiện hơn
Một lần nữa, em xin chân thành cảm ơn
Thành phố Hồ Chí Minh, 31 tháng 07 năm 2020
Sinh viên
Nguyễn Hữu Đạt
Trang 10MỤC LỤC
Chương 1 TỔNG QUAN ĐỀ TÀI 2
1.1 Dẫn nhập 2
1.2 Mục tiêu đề tài 5
1.3 Nội dung thực hiện 5
1.4 Phạm vi, đối tượng nghiên cứu 6
1.5 Kết quả đạt được 6
1.6 Bố cục của khóa luận 6
Chương 2 BÀI TOÁN KHUYẾN NGHỊ CỘNG TÁC VÀ MỘT SỐ NGHIÊN CỨU LIÊN QUAN 8
2.1 Mở đầu 8
2.2 Bài toán khuyến nghị cộng tác 8
2.3 Tiếp cận dựa trên nội dung 9
2.3.1 Giới thiệu 9
2.3.2 Một số thuật ngữ 9
2.3.2.1 Phân tích nội dung bài báo 9
2.3.2.2 Xây dựng hồ sơ người dùng 10
2.3.3 Thuật toán 11
2.3.3.1 Dựa trên bộ nhớ 11
2.3.3.2 Dựa trên mô hình 12
2.3.4 Lợi thế 13
2.3.4.1 Khởi động lạnh – bài báo mới 13
2.3.4.2 Khai phá định dạng văn bản thuần túy 14
2.3.4.3 Kết quả khuyến nghị tốt và dễ xây dựng 14
Trang 112.3.5 Bất cập 14
2.3.5.1 Giảm đi tính mới lạ và cả tính đa dạng 14
2.3.5.2 Xử lý trên tập dữ liệu khổng lồ hơn 14
2.4 Khuyến nghị lọc cộng tác 14
2.4.1 Giới thiệu 14
2.4.1 Một số thuật ngữ 15
2.4.1.1 Ma trận đánh giá 15
2.4.1.2 Nghiên cứu viên tương đồng 17
2.4.2 Thuật toán 17
2.4.2.1 Dựa trên bộ nhớ 17
2.4.2.2 Dựa trên mô hình 19
2.4.3 Lợi thế 22
2.4.3.1 Đối tượng khuyến nghị có thể đa dạng hóa 22
2.4.3.2 Không giới hạn bởi đối tượng dạng văn bản 22
2.4.4 Bất cập 22
2.4.4.1 Ma trận thưa 22
2.4.4.2 Khởi động lạnh – bài báo mới 22
2.5 Tương tự đỉnh topo dựa trên mạng đồng tác giả 22
2.5.1 Giới thiệu 22
2.5.2 Một số thuật ngữ 23
2.5.2.1 Mạng tác giả 23
2.5.2.2 Mạng cộng tác đồng tác giả 24
2.5.3 Thuật toán 24
2.5.4 Lợi thế 26
Trang 122.5.4.1 Không đối mặt với ma trận thưa 26
2.5.4.2 Xu hướng hiện đại và đầy tiềm năng 26
2.5.5 Bất cập 26
2.5.5.1 Khởi động lạnh – bài báo mới 26
2.5.5.2 Chưa linh hoạt trong việc khai thác mô hình mạng 27
2.6 Khó khăn, thách thức 27
2.6.1 Độ linh hoạt 27
2.6.2 Sự khổng lồ của kho dữ liệu khoa học 27
2.6.3 Ma trận thưa 27
2.7 Kết chương 27
Chương 3 TIẾP CẬN HỌC SÂU 28
3.1 Mở đầu 28
3.2 Một số khái niệm cơ bản 29
3.2.1 Homophily 29
3.2.2 Strutural equivalence 29
3.2.3 Tập nghiên cứu viên lân cận 29
3.2.4 Breadth-First Sampling 30
3.2.4.1 Ưu điểm 30
3.2.4.2 Khuyết điểm 31
3.2.5 Depth-first Sampling 31
3.2.5.1 Ưu điểm 31
3.2.5.2 Khuyết điểm 31
3.2.6 Biased Random Walks 31
3.2.6.1 Công thức 32
Trang 133.2.6.2 Cải tiến 34
3.3 Mô hình Skip-gram 34
3.3.1 Window_size 35
3.3.2 Sự kế thừa mô hình Skip-gram 35
3.4 Phương pháp Node2Vec 37
3.5 Kết chương 39
Chương 4 THỰC NGHIỆM ĐÁNH GIÁ 40
4.1 Mở đầu 40
4.2 Dữ liệu thực nghiệm 40
4.2.1 Nguồn dữ liệu 40
4.2.2 Tập huấn luyện 40
4.2.3 Tập đánh giá 42
4.3 Thiết lập thực nghiệm 45
4.4 Phương pháp đánh giá 46
4.5 Kết quả thực nghiệm 47
4.6 Bàn luận 49
4.7 Kết chương 51
Chương 5 KẾT LUẬN 51
5.1 Kết quả đạt được 51
5.2 Hướng phát triển 52
Trang 14DANH MỤC HÌ
Hình 1-1: Sự gia tăng của kho dữ liệu khoa học dựa trên Cơ sở dử dữ liệu khoa học DBLP 3Y
Hình 2-1 Biểu diễn nội dung bài báo 10
Hình 2-2 Biểu diễn hồ sơ người dùng 11
Hình 2-3 Ma trận đánh giá gồm 5 nghiên cứu viên sử dụng khoảng đánh giá từ 1 (không thể cộng tác) đến 5 (cộng tác rất hữu ích) Trong đó, những ô trống thể hiện việc không thể xác định giá trị cộng tác của cặp nghiên cứu viên tương ứng 15
Hình 3-1 Thuật toán tìm lân cận phổ biến nhằm thỏa mãn nguyên tắc liên kết: homophily và structural equivalence 30
Hình 4-1 Hình thành liên kết cộng tác trong mạng đồng tác giả 41
Hình 4-2 Mạng huấn luyện đồng tác giả (hình ảnh minh họa) 41
Hình 4-3 Phân bố mạng huấn luyện 42
Hình 4-4 Mạng đánh giá đồng tác giả (hình ảnh minh họa) 43
Hình 4-5 Phân bố mạng đánh giá 44
Hình 4-6 Cấu hình và thiết lập (mã nguồn: https://github.com/datnhemployee/khuyennghicongtac_15520104) 46
Hình 4-7 Biểu đồ so sánh kết quả khuyến nghị bằng Node2vec từ Bảng 4-7 48
Hình 4-8 Biểu đồ so sánh kết quả khuyến nghị bằng Node2vec và các phương pháp tại Bảng 4-8 49
Hình 5-1 Mạng đồng tác giả CoNet 0 (Giả thiết) 58
Hình 5-2 Mạng đồng tác giả CoNet 1 (Giả thiết) Những đường nét đứt thể hiện cho liên kết cộng tác đã xảy ra trong mạng đồng tác giả CoNet 0 Những đường nét liền thể hiện cho liên kết mới được tạo xảy ra trong trong mạng đồng tác giả CoNet 1 58
Hình 5-3 Bảng Probabilty transition cho từng nút khi đã qua trước 1 cạnh 63
Hình 5-4 Lan truyền thuận với W 1 và one-hot vectơ của u 2 70
Hình 5-5 Lan truyền thuận với W 2 và one-hot vectơ của u 2 (không softmax) 70
Hình 5-6 Tính chênh lệch so với W 2 dựa trên vectơ mô tả sự khác biệt 72
Hình 5-7 Tính chênh lệch so với W 1 dựa trên vectơ mô tả sự khác biệt 72
Trang 15Hình 5-8 Cập nhật W 1 73Hình 5-9 Cập nhật W 2 73
Trang 16DANH MỤC BẢNG
Bảng 2-1 Bài toán khuyến nghị cộng tác 9
Bảng 2-2 Thuật toán khuyến nghị lọc dựa trên nội dung theo bộ nhớ 12
Bảng 2-3 Thuật toán khuyến nghị lọc dựa trên nội dung theo mô hình 13
Bảng 2-4: Ma trận đánh giá giá trị cộng tác giữa cặp nghiên cứu viên bất kì 17
Bảng 2-5: Thuật toán khuyến nghị lọc cộng tác dựa trên bộ nhớ 19
Bảng 2-6: Thuật toán khuyến nghị lọc cộng tác dựa trên mô hình K-means 21
Bảng 2-7: Thuật toán khuyến nghị dựa trên độ tương tự đỉnh 26
Bảng 3-1 Giá trị q, p và ý nghĩa của Steplu 34
Bảng 3-2 Thuật toán mô hình Skip-gram 36
Hình 3-3 Một mạng Neuron cho một từ của mô hình Skip-gram 37
Bảng 3-4 Thuật toán mô hình Skip-gram 38
Bảng 4-1 Kích thước dữ liệu 40
Bảng 4-2 Kích thước tập huấn luyện 41
Bảng 4-3 Kích thước tập đánh giá và mạng đánh giá 43
Bảng 4-4 Trường dữ liệu của bài báo khoa học từ kho dữ liệu dplb 45
Bảng 4-5 Trường dữ liệu của nghiên cứu viên từ kho dữ liệu DBLP 45
Bảng 4-6 Thiết lập thực nghiệm 46
Bảng 4-7 Kết quả thực nghiệm Node2vec bằng việc tùy chỉnh tham số 48
Bảng 4-8 Kết quả thực nghiệm Node2vec và một số phương pháp phổ biến 49
Bảng 5-1 Danh sách nghiên cứu viên (Giả thiết) 56
Bảng 5-2 Danh sách liên kết đồng tác giả 2014-2015 (Giả thiết) 57
Bảng 5-3 Danh sách liên kết đồng tác giả 2016-2017 (Giả thiết) 57
Bảng 5-4 xác suất chuyển dịch cho từng nút 60
Bảng 5-5 Bảng xác suất bước cho từng nút Cột Start:ID thể hiện ID của nút cho trước Cột End:ID thể hiện ID của những nút liên kết trực tiếp với nút cho trước Những ô tô đậm thể hiện những nút có xác suất chuyển dịch thấp 61
Bảng 5-6 Bảng xác suất bước cho từng nút theo n Những ô tô đậm thể hiện việc chia sẻ xác suất chuyển dịch cao xuống xác suất chuyển dịch thấp 61
Trang 17Bảng 5-7 Bảng xác suất bước cho từng nút (chuẩn hóa probability transition) 62
Bảng 5-8 Bảng xác suất bước cho từng nút Cột Start:edge thể hiện cạnh đã đi qua Cột End:ID thể hiện ID của những nút liên kết trực tiếp với nút cuối cùng trong cạnh đã đi quá Những ô tô đậm thể hiện những xác suất chuyển dịch thấp 62
Bảng 5-9 Bảng xác suất bước cho từng nút theo n Những ô tô đậm thể hiện việc chia sẻ xác suất chuyển dịchcao xuống xác suất chuyển dịch thấp 64
Bảng 5-10 Bảng xác suất bước cho từng nút (chuẩn hóa xác suất chuyển dịch) 64
Bảng 5-11 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 65
Bảng 5-12 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 65
Bảng 5-13 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 65
Bảng 5-14 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 65
Bảng 5-15 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 66
Bảng 5-16 Bảng xác suất bước cho u 2 không đi qua cạnh cho trước 66
Bảng 5-17 Cách lấy tập nút lân cận N S u của của nút cho trước trong mạng đồng tác giả sử dụng window¿¿ Trong đó, Xk đại diện cho nút nghiên cứu viên đang xét; Y(c=1) đại diện cho nút lân cận thứ tự 1 trong tập lân cận N S u 67
Bảng 5-18 Biểu diễn one-hot vectơ cho từng nghiên cứu viên trong NS(u 2) và u 2.67 Bảng 5-19 Biểu diễn one-hot vectơ cho từng nghiên cứu viên trong NS(u 9) và u 9 68
Bảng 5-20 Biểu diễn one-hot vectơ cho từng nghiên cứu viên trong NS(u 7) và u 7. 68
Bảng 5-21 Biểu diễn one-hot vectơ cho từng nghiên cứu viên trong NS(u 6) và u 6. 69
Bảng 5-22 Ma trận trọng số W 1 69
Bảng 5-23 Ma trận trọng số W 2 70
Bảng 5-24 Vectơ tại output layer khi dùng softmax 71
Bảng 5-25 Sự khác biệt so với u 9 71
Bảng 5-26 Sự khác biệt so với u 7 71
Bảng 5-27 Tổng sự khác biệt so với NS 72
Trang 18Bảng 5-28 Vectơ nghiên cứu viên u 2 lấy từ không gian chiều d=5 Nói cách khác, dòng thứ 2 từ trên xuống trong ma trận W 1 74
Trang 19DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ
State-of-the-art : Hiện đại
Neuron Network : Mạng nơron dùng trong phương pháp
học sâu
Trang 20TÓM TẮT KHÓA LUẬN
Tổng quan: Trong nghiên cứu khoa học, việc cộng tác đem lại nhiều lợiích cho các nhà nghiên cứu khi chung tay thực hiện công trình nghiên cứucủa mình Dần theo thời gian, kho dữ liệu bài báo khoa học trở nên khổng
lồ và kích thước tăng đáng kể Do đó, bài toán khuyến nghị cộng tác dầnnhận được quan tâm bởi các nhà khoa học Tuy nhiên, các phương phápkhuyến nghị phổ biến thường gặp khó khăn, thách thức khó giải quyếtnhư: phương pháp khuyến nghị nội dung phải phân tích nội dung của sốlượng khổng lồ bài báo để thực hiện khuyến nghị; Khuyến nghị lọc cộngtác lại phải đối mặt với thách thức của chính phương pháp đó, ma trậnthưa; Ngoài ra, phương pháp tương tự đỉnh chỉ giới hạn bởi tìm kiếm lâncận theo duy nhất nguyên tắc liên kết Homophily; Các phương pháp họcmáy phải tìm đặc trưng bằng phương pháp thủ công mà vốn điều này ảnhhưởng đến kết quả tiên đoán của mô hình Sự ra đời phương pháp học sâuNode2vec đã giúp giải quyết toàn bộ những khó khăn đang vướng phải củacác phương pháp phổ biến Bên cạnh đó, Node2vec có một số công trìnhnghiên cứu kế thừa giải quyết thách thức và khó khăn mà Node2vec còn
bỏ ngỏ Sự khác biệt và những kế thừa của Node2vec khiến việc ứng dụngNode2vec vào khuyến nghị cộng tác là cần thiết Khóa luận được thựchiện nhằm phục vụ cộng đồng học thuật trong việc nghiên cứu phươngpháp ứng dụng cho khuyến nghị cộng tác Đồng thời, so sánh Node2vecvới một số phương pháp truyền thống khi giải quyết bài toán khuyến nghịcộng tác sẽ làm nổi bật ưu nhược điểm của Node2vec so với các phươngpháp truyền thống Nhờ vào đó, các nghiên cứu viên/ nhà phát triển có thểchọn lựa sử dụng giữa Node2vec và phương pháp truyền thống trongkhuyến nghị cộng tác
Trang 21Chương 1 TỔNG QUAN ĐỀ TÀI
1.2 Dẫn nhập
Khuyến nghị cộng tác trong nghiên cứu khoa học là việc khuyến nghị mộtdanh sách nghiên cứu viên có khả năng cộng tác với một nghiên cứu viên bất kì.Trong nghiên cứu khoa học, các nghiên cứu viên thường cộng tác để thực hiệnnghiên cứu Việc cộng tác sẽ giúp nghiên cứu viên giảm bớt chi phí về thời gian,vốn đầu tư và kết hợp nhiều chuyên môn, lĩnh vực nhằm đem lại chất lượng chocông trình nghiên cứu Do đó, việc tìm thông tin như thông tin bài báo, lý lịch tácgiả nhằm mục đích cộng tác viết báo khoa học là yêu cầu thiết yếu Tuy nhiên,lượng thông tin khổng lồ và sự tăng đột ngột sẽ dẫn đến việc chọn lọc thông tintrở nên khó khăn Với những nhà nghiên cứu chưa dày dạn kinh nghiệm, họ phảiđối mặt với lượng thông tin dày đặc làm việc chọn nghiên cứu viên khác để cùngnghiên cứu khoa học là thách thức khó[1] Đối với những nhà nghiên cứu dày dạnkinh nghiệm, lượng thông tin tăng với số lượng chóng mặt sẽ làm họ bị quá tảithông tin[1] Theo báo cáo của DBLP, số lượng bài báo khoa học ngành khoa học
máy tính đã cán mốc 5,075,794 vào 12/05/2020 (Hình 1 -1) Số liệu này cho
thấy số lượng bài báo khoa học là rất lớn Chỉ với 3 năm trước đó, tức năm 2017,
số lượng bài báo chỉ đạt 4,011,685 bài báo Điều đó đặt ra thách thức với các nhànghiên cứu là sự tăng đột biến, hơn một triệu bài báo khoa học đã được công bốchỉ trong vài năm Vậy, các nhà nghiên cứu rất cần danh sách nhà nghiên cứu cótiềm năng cộng tác (từng nghiên cứu chung, đồng tác giả viết báo khoa học,chung loại đề tài nghiên cứu) để cộng tác (cùng nghiên cứu, hay rõ hơn, đồng tácgiả báo khoa học)
Trang 22Hình 1-1: Sự gia tăng của kho dữ liệu khoa học dựa trên Cơ sở dử dữ liệu khoa
học DBLP(Nguồn: https://dblp.uni-trier.de/statistics/recordsindblp,
truy cập lần cuối 13/05/2020)Đối đầu với thách thức đó, một số hệ thống khuyến nghị nghiên cứu họcthuật ra đời như ResearchGate (https://www.researchgate.net/), ScientDirect(https://www.sciencedirect.com/) Ngoài ra, có nhiều nghiên cứu về phương phápkhuyến nghị cộng tác viết báo khoa học như: Maximum Path based RelationStrength và Relation Strength Similarity[1]; tác giả Khang và cộng sự đã đề xuất
số đo theo quốc gia và theo lĩnh vực chuyên môn kết hợp với số đo tương tự đỉnhphổ biến[2]; phương pháp dựa trên sự tương tự giữa hồ sơ người dùng giữa cáctác giả của tác giả Gollapalli và các cộng sự[3] Tuy nhiên, các phương phápkhuyến nghị phổ biến thường gặp nhiều khó khăn khi giải quyết bài toán khuyếnnghị cộng tác Phương pháp khuyến nghị lọc dựa trên nội dung phải đối mặt với
Trang 23số lượng bài báo khổng lồ để thực hiện phân tích và khuyến nghị[4] Hơn thế nữa,phương pháp này chỉ phụ thuộc vào đối tượng khuyến nghị dạng văn bản[1,4,5].Còn với khuyến lọc cộng tác, nghiên cứu viên chưa cộng tác với nhiều nghiêncứu viên khác khiến hệ thống phải đối mặt với thách thức về ma trận thưa[1], [4],[5] Các phương pháp khuyến nghị dựa trên độ tương tự đỉnh quá phụ thuộc vàonguyên tắc liên kết Homophily và không thể linh hoạt với xu hướng cộng tác củacác nghiên cứu viên trong mạng đồng tác giả Nếu sử dụng các phương phápkhuyến nghị phổ biến bằng cách kết hợp mô hình học máy, việc ánh xạ sangkhông gian vectơ đặc trưng là điều cần thiết để huấn luyện nhưng lại phải xâydựng bằng cách thủ công
Vậy, phương pháp học sâu Node2vec ra đời đã giải quyết được toàn bộkhó khăn thách thức của các phương pháp khuyến nghị truyền thống trên Năm
2016, tác giả A.Grover và cộng sự kế thừa phương pháp Word2vec[4,5] –phương pháp học sâu cũng giới hạn bởi việc phân tích đối tượng dạng văn bản –
để cho ra đời công trình nghiên cứu của mình, Node2vec[8] Node2vec linh hoạtvới nhiều tham số nhằm tiên đoán liên kết giữa nút cho trước trong mạng bất kì(không hướng/ có hướng, không trọng số/ có trọng số) dựa vào chính những nútliên kết trực tiếp/ gián tiếp (thông qua nút khác) với nút đó[8] Chính điều này đãkhiến các nhà nghiên cứu hướng sự quan tâm bằng việc tiếp tục kế thừa và đềxuất phương pháp so sánh/ cải tiến Node2vec Chỉ trong từ 2017-2019, lần lượtcác bài báo khoa học đề xuất nhiều phương pháp so sánh với Node2vec gồm: tácgiả B.Adhikari và cộng sự công bố phương pháp Sub2vec kế thừa Word2vecphân cụm các nút trong mạng[9]; A.Narayanan và những cộng sự đã công bốphương pháp Graph2vec nhằm để so sánh với Sub2vec[10]; Hơn thế nữa, Z.Xu
và các cộng sự đề xuất Seren2vec nhằm tăng tính mới lạ trong danh sách đốitượng khuyến nghị[11] Ngoài các phương pháp kể trên, bản thân Node2vec cũng
có nhánh kế thừa gồm: dynnode2vec, được đề xuất bởi tác giả Mahdavi và cộng
sự nhằm giải quyết thách thức thời gian học mô hình khi mạng có sự thayđổi[12]; tác giả Fu và cộng sự đã đề xuất phương pháp HIN2Vec nhằm nắm bắt
Trang 24cấu trúc khi có nhiều loại liên kết trong mạng [13]; tác giả Dong và cộng sự còn
đề xuất phương pháp vượt trội hơn cả là metapath2vec và metapath2vec++ nhằmnắm bắt cấu trúc mạng mà trong đó nút và liên kết thuộc vào nhiều loại khác nhau[14]
Khóa luận nghiên cứu Node2Vec nhằm giải quyết khó khăn thách thức màcác phương pháp khuyến nghị phổ biến đang gặp phải Song song đó, so sánh,đánh giá Node2vec với các phương pháp phổ biến trong việc giải quyết khó khăn
và thách thức mà bài toán khuyến nghị cộng tác đặt ra Ngoài khó khăn về dữ liệulớn (dữ liệu khoa học hiện rất lớn, điển hình là dữ liệu khoa học máy tính dblp),bài toán khuyến nghị cộng tác cũng có thách thức về độ chính xác về kết quảkhuyến nghị Vậy, khóa luận này đặt ra mục tiêu là nghiên cứu, thử nghiệm vàđánh giá phương pháp học sâu đang được quan tâm, cụ thể là Node2Vec chokhuyến nghị cộng tác Không dừng lại ở đó, phương pháp Node2Vec sẽ được sosánh với các phương pháp khuyến nghị phổ biến bằng cách cùng thực nghiệm vớibài toán khuyến nghị cộng tác nhằm làm rõ ưu, nhược và những thách thức giữaphương pháp state-of-the-art và một số phương pháp phổ biến
1.4 Nội dung thực hiện
Tìm hiểu bài toán khuyến nghị cộng tác
Tìm hiểu một số phương pháp khuyến nghị phổ biến và state-of-the-art chokhuyến nghị cộng tác
Thực nghiệm, đánh giá, so sánh
Xây dựng tool demo
Viết báo cáo tổng kết
Trang 251.5 Phạm vi, đối tượng nghiên cứu
Lĩnh vực bài báo: Khoa học máy tính
Tiếp cận học sâu: phương pháp Node2vec
Phương pháp khuyến nghị phổ biến:
Hiểu bài toán khuyến nghị cộng tác
Hiểu một số phương pháp khuyến nghị cộng tác phổ biến
Hiểu và áp dụng phương pháp học sâu, cụ thể là Node2Vec cho khuyếnnghị cộng tác
Đánh giá, so sánh Node2Vec với các phương pháp khuyến nghị phổ biến
Công cụ demo
Báo cáo tổng kết
1.7 Bố cục của khóa luận
Khóa luận được bố cục như sau:
Danh mục hình.
Danh mục bảng.
Danh mục từ viết tắt, thuật ngữ.
Chương 1: Giới thiệu tóm tắt về lý do, mục tiêu, nội dung thực hiện và
những kết quả đạt được sau khi thực hiện khóa luận
Chương 2: Giới thiệu về bài toán Khuyến nghị cộng tác và sơ lược một số
nghiên cứu liên quan
Chương 3: Giới thiệu về phương pháp Node2Vec.
Trang 26 Chương 4: Thực nghiệm, đánh giá và so sánh phương pháp Node2Vec với
những phương pháp khuyến nghị phổ biến
Chương 5: Tổng kết những thành quả đạt được và hướng phát triển trong
tương lai
Tài liệu tham khảo.
Trang 27Chương 2 BÀI TOÁN KHUYẾN NGHỊ CỘNG TÁC VÀ MỘT SỐ
NGHIÊN CỨU LIÊN QUAN
Chương này sẽ tập trung tìm hiểu bài toán khuyến nghị cộng tác và một số phương pháp phổ biến nhằm giải quyết bài toán khuyến nghị cộng tác
2.2 Bài toán khuyến nghị cộng tác
Bài toán khuyến nghị cộng tác trong khoa học là bài toán liệt kê danh sáchnghiên cứu viên tại đầu ra tương ứng với từng nghiên cứu viên trong tập cho trướctại đầu vào Những nghiên cứu viên ở danh sách đầu ra là những nghiên cứu viên cótiềm năng cộng tác với nghiên cứu viên tại đầu vào Một số hệ thống khuyến nghịnghiên cứu học thuật lớn ra đời giải quyết bài toán này như ResearchGate(https://www.researchgate.net/), ScientDirect (https://www.sciencedirect.com/) Bêncạnh đó, bài toán gần đây còn nhận được nhiều sự quan tâm của cộng đồng họcthuật Tài liệu [1] đã đề xuất phương pháp tương tự đỉnh Maximum Path basedRelation Strength và Relation Strength Similarity nhằm khuyến nghị cho nghiêncứu viên có ít nhất một bài báo khoa học trong mạng đồng tác giả Cũng với tương
tự đỉnh, tác giả Khang và cộng sự đã đề xuất số đo theo quốc gia và theo lĩnh vựcchuyên môn kết hợp với số đo phổ biến cũng cho cùng loại nghiên cứu viên này[2].Một nghiên cứu khác của Gollapalli và các cộng sự đã đề xuất cách tính sự tương
tự giữa các hồ sơ người dùng của từng nghiên cứu viên trong mạng đồng tác giả[3]
Trong báo cáo khóa luận này, bài toán khuyến nghị cộng tác trong nghiêncứu khoa học được trình bày như sau:
Trang 28Bảng 2-1 Bài toán khuyến nghị cộng tác
2.3 Tiếp cận dựa trên nội dung
2.3.1 Giới thiệu
Những cách tiếp cận phổ biến được chia thành 2 loại lớn: tiếp cận dựa trênnội dung và tiếp cận lọc cộng tác[1] Với tiếp cận dựa trên nội dung, hệ thống thựchiện tìm sở thích của người dùng (hay còn gọi là xây dựng hồ sơ người dùng) dựatrên việc phân tích đối tượng dạng văn bản mà người dùng tương tác (mục 2.3.2.1).Với bài toán khuyến nghị cộng tác, những đối tượng này thường là nội dung các bàibáo mà nghiên cứu viên đã công bố, bài mô tả tóm tắt từng nghiên cứu của nghiêncứu viên hoặc bài mô tả hoạt động nghiên cứu của nghiên cứu viên trong quákhứ[3] Tuy nhiên, nguồn dữ liệu có được (trình bày tại 4.2.1) chỉ chứa tên bài báonên em thực hiện lấy tên bài báo thay cho nội dung bài báo nhằm xây dựng hồ sơngười dùng
2.3.2 Một số thuật ngữ
1.1.1.1 Phân tích nội dung bài báo
Với tập bài báo P={ p1, p2, … , p V}, nội dung bài báo p ∈ P sẽ được chuyển vềdạng vectơ và được biểu diễn như sau:
Content ( p)=⃗ w p=(w1, w2, … , w V) (1)
Trang 29Trong đó,
V: Thường là số từ phân biệt có được từ tập bài báo P[1,14] Tuy nhiên, với
trường hợp nguồn dữ liệu không chứa nội dung bài báo, em lấy tên bài báo
làm nội dung bài báo Do vậy, việc tách từng từ trong tựa đề bài báo sẽ vô
nghĩa nếu bị tách nhỏ nên toàn bộ tên bài báo trở thành cụm từ Theo đó, V
sẽ là số bài báo trong tập P cho trước
w v , v ∈[1,V ] : Thường đại diện cho từ trong bài báo[1] Giá trị có thể là số
lần xuất hiện của từ thứ v trong bài báo p v hoặc có thể biểu diễn sự tồn tại có
hay không việc xuất hiện của từ thứ v trong bài báo
p v ADDIN ZOTERO ITEM CSL CITATION{citationID: RhWJLJ8s , properties :{formattedCitation :[3], plainCitation :[3], noteIndex : 0 }, citationItems:[{id :33 , uris :[http://zotero.org/users/local/cdRiq4Dr/items/EINP2NZW ], uri:[http://zotero.org/users/local/cdRiq4Dr/items/EINP2NZW ], itemData :{id:33 , type:paper-conference , container-title :Proceedings of the 12th ACM/IEEE-CS joint conference on Digital Libraries - JCDL '12 , DOI:10.1145/2232817.2232849, event : the 12th ACM/IEEE-CS joint conference , event-place: Washington, DC, USA , ISBN :978-1-4503-1154-0, language :en , page :167 , publisher: ACM Press , publisher-place : Washington, DC, USA , source :DOI.org (Crossref) , title :Similar researcher search in academic environments , URL: http://dl.acm.org/citation.cfm?doid=2232817.2232849 , author :[{family :Gollapalli , given:Sujatha Das }, {family :Mitra , given: Prasenjit }, {family :Giles, given :C Lee}], accessed :{date-parts :[[2020 ,5,26 ]]}, issued :{date-parts :[[2012]]}}}], schema : https://github.com/citation-style-language/schema/raw/master/csl-citation.json }[3]
Giá trị của w v dựa vào việc xây dựng hồ sơ người dùng Trong bài báo của
Gollapalli và các cộng sự dùng tần suất xuất hiện từ thứ v biểu diễn hồ sơ
người dùng nên trọng số w v phải tương ứng là tần suất xuất hiện từ thứ từ thứ
v của tập V[3] Ở đây, với điều kiện tập dữ liệu như đã trình bày, w v đại diện
cho tựa đề của bài báo thứ v trong tập bài báo P và w v ∈ {0,1 } w v mang giá trị
1 nếu v là vị trí của bài báo tương ứng trong tập bài báo, ngược lại, w v mang
giá trị 0
Hình 2-1 Biểu diễn nội dung bài báo
2.3.2.1 Xây dựng hồ sơ người dùng
Thông qua phân tích nội dung của bài báo, với mỗi người dùng, hệ thống
thực hiện tìm sở thích người dùng (hay còn gọi là hồ sơ người dùng) thông qua nội
dung bài báo mà người dùng tương tác/ công bố Thật vậy, với nghiên cứu viên u
nằm trong tập chứa N nghiên cứu viên U ={u1,u2, … , u N}, tức u ∈U, hồ sơ người
dùng UserProfile(u) được biểu diễn như sau:
Trang 30Hình 2-2 Biểu diễn hồ sơ người dùng
2.3.3 Thuật toán
Phương pháp tiếp cận lọc dựa trên nội dung sẽ được chia thành 2 loại[1,14]:
Phương pháp tiếp cận lọc dựa trên nội dung theo bộ nhớ
Phương pháp tiếp cận lọc dựa trên nội dung theo mô hình
Trang 31Thực hiện:
1 ∀ p ∈ P, tạoContent ( p) theo công thức (1)
2 ∀ u ∈U, tìm UserProfile (u) theo công thức (2)
‖·‖ thể hiện độ dài của vectơ
2. ∀ u ∈U, lấy danh sách nghiên cứu viên U TopK ¿{u Top 1 , u Top2 , … ,u TopK}, K ≤ N đểkhuyến nghị cho nghiên cứu viên u thông qua hàm f (u ' , u)
Bảng 2-2 Thuật toán khuyến nghị lọc dựa trên nội dung theo bộ nhớ
2.3.3.2 Dựa trên mô hình
Ngoài việc tính giá trị của hàm hữu ích như phương pháp dựa trên bộ nhớ
(mục 2.3.3.1), hệ thống còn huấn luyện mô hình để phân biệt nghiên cứu viên khác
thành loại sẽ cộng tác hay sẽ chưa cộng tác[1] Việc thực hiện khuyến nghị sẽ theotừng bước như sau:
Trang 32Phương pháp: Khuyến nghị lọc dựa trên nội dung theo mô hình (tổng quát) Bước 1: Học
1 ∀ p ∈ P, tạoContent ( p) theo công thức (1)
2 ∀ u ∈U, tìm UserProfile (u) theo công thức (2)
3 Huấn luyện mô hình dựa trên UserProfile (.)
Bước 2: Khuyến nghị
Đầu vào:
U ={u1,u2, … , u N}, n∈[1 , N ' ]: Tập gồm N ' nghiên cứu viên, N '<N
Đầu ra: ∀ u ∈U, lấy danh sách nghiên cứu viên U TopK ¿{u Top 1 , u Top2 , … ,u TopK}, K ≤ N đểkhuyến nghị cho nghiên cứu viên u
1. ∀ u ∈U, khuyến nghị K nghiên cứu viên u ' qua hàm hữu ích f (u ' , u) đượctính thông qua mô hình
Bảng 2-3 Thuật toán khuyến nghị lọc dựa trên nội dung theo mô hình
2.3.4 Lợi thế
2.3.4.1 Khởi động lạnh – bài báo mới
Điểm nổi bật của khuyến nghị dựa trên nội dung là giải quyết được trườnghợp “khởi động lạnh” Đó là, với bài báo mới, hệ thống khuyến nghị sẽ rút trích nộidung bài báo này và mô hình hóa lại hồ sơ người dùng của tác giả để tính hàm hữuích[1,14]
2.3.4.2 Khai phá định dạng văn bản thuần túy
Nhờ vào phân tích nội dung bài báo, định dạng văn bản thuần túy như báo,trang mạng sẽ không trở thành khó khăn với hệ thống khuyến nghị tiếp cận lọc dựatrên nội dung[1]
Trang 332.3.4.3 Kết quả khuyến nghị tốt và dễ xây dựng
Tuy phương pháp rất dễ xây dựng nhưng không đồng nghĩa với kết quảkhuyến nghị không tốt Ngược lại, theo như kết quả trình bày tại 4.5, khuyến nghịbằng lọc dựa trên nội dung cao gấp 2 lần các phương pháp tương tự đỉnh và cảNode2vec
2.3.5 Bất cập
2.3.5.1 Giảm đi tính mới lạ và cả tính đa dạng
Theo tác giả [5], tính mới lạ (novelty) được thể hiện khi danh sách đối tượngđược khuyến nghị gồm nhiều đối tượng mà người dùng chưa từng thấy trong quákhứ Điều này sẽ không xảy ra với hệ khuyến nghị tiếp cận lọc dựa trên nội dung vìtoàn bộ thuật toán sẽ dựa trên bài báo được công bố hoặc bài mô tả hoạt động củamột nghiên cứu viên để khuyến nghị danh sách tương ứng với nội dung của bài báohoặc bài mô tả hoạt động của nghiên cứu viên đó[1,3,14]
2.3.5.2 Xử lý trên tập dữ liệu khổng lồ hơn
Dữ liệu công bố bài báo vốn đã khổng lồ thì giờ đây, với khuyến nghị dựatrên nội dung, hệ thống phải đối mặt thêm với dữ liệu về nội dung bài báo Việc nàyvốn thực sự là thách thức của bài toán khuyến nghị cộng tác
2.4 Khuyến nghị lọc cộng tác
2.4.1 Giới thiệu
Khác với tiếp cận lọc dựa trên nội dung, hệ thống khuyến nghị thuộc loại này
sẽ tiên đoán/ ước lượng mức độ đánh giá cộng tác của cặp nghiên cứu viên bất kì đểthực hiện khuyến nghị
1.1.1 Một số thuật ngữ
2.4.1.1 Ma trận đánh giá
Với khuyến nghị cộng tác, không gian nghiên cứu viên
U ={u ,u , … , u },u ' ∈U , u ∈U , ma trận đánh giá R kích thước N × N chứa giá trị r
Trang 34thể hiện khả năng cộng tác được đánh giá bởi nghiên cứu viên u cho u ' Các giá trịcủa r u , u 'thuộc vào khoảng từ giá trị 1 (không thể cộng tác) đến giá trị 5 (cộng tác rấthữu ích)[1,14] Ngoài ra, r u , u ' có thể mang giá trị -1 (không thể cộng tác) hoặc giá trị1(cộng tác rất hữu ích)[5] Tuy vậy, ma trận sẽ tồn tại các giá trị r u , u ' =∅, tức chưađược nghiên cứu viên u đánh giá giá trị cộng tác với u ' cho nên ma trận đánh giá là
ma trận thưa[1,14] Một ví dụ minh họa cho ma trận thưa được mô tả tại
Ma trận đánh giá với bài toán khuyến nghị cộng tác có chút thay đổi so vớibài toán khuyến nghị thông thường Bài toán khuyến nghị thông thường sẽ có cột làcác vật phẩm (đối tượng khuyến nghị là vật) Thế nhưng, với bài toán khuyến nghịcộng tác, đối tượng khuyến nghị lại chính là người dùng, là các nghiên cứu viêntham gia vào hệ thống Việc cần khuyến nghị danh sách các nghiên cứu viên sẽ đưacác nghiên cứu viên vào cột của ma trận đánh giá Các ô trong ma trận đánh giá tại
vị trí n × n' với n ∈[1 , N ], n ' ∈[1, N ], mang giá trị r u n , u n' thể hiện đánh giá giá trị cộngtác của nghiên cứu viên thứ n cho việc cộng tác với nghiên cứu viên thứ n '
Với U ={u1,u2, … , u N}, N ∈ N là tập nghiên cứu viên, P={p1, p2, … , p M}, M ∈ N
là tập toàn bộ bài báo, tập tác giả A={author (u , p)} với u ∈U, p ∈ P, ma trận đánhgiá R chứa r u , u ' là giá trị đánh giá giá trị cộng tác của nghiên cứu viên u với u ' Khi
Trang 35đó, để r u , u ' nằm trong thang điểm đánh giá từ 1 (không thể cộng tác) đến 5 (cộng tácrất hữu ích) như hình Bảng 2 -4, r u , u ' sẽ được định nghĩa là sự tham gia của tác giả
u ' trong quá trình nghiên cứu khoa học nghiên cứu viên u càng lớn thì đánh giá giátrị cộng tác của u dành cho u ' càng lớn Vậy, công thức tính r u , u ' được định nhưsau:
P u: Tập các bài báo có tác giả là nghiên cứu viên u
5: Giá trị đánh giá lớn nhất trong tập giá trị đánh giá {1,2,3,4, 5 }
Qua công thức (4), ma trận đánh giá giờ đây là ma trận bất đối xứng (tức
r u , u ' ≠ r u ', u) Cũng qua đó, với nghiên cứu viên chưa có bất kì bài báo nào sẽ khôngthể biết được giá trị cộng tác với bất kì nghiên cứu viên nào của hệ thống Vớinhững cặp nghiên cứu viên chưa từng chung nghiên cứu, giá trị đánh giá sẽ đượcxác định thông qua tiếp cận lọc cộng tác
Trang 36Ý nghĩa Đánh giá Giá trị
Không thể cộng tác 1
Cộng tác không hữu
ích 2Cộng tác có thể hữu ích 3
Cộng tác khá hữu ích 4
Cộng tác rất hữu ích 5
Bảng 2-4: Ma trận đánh giá giá trị cộng tác giữa cặp nghiên cứu viên bất kì
(dựa trên hình 1.1 từ [5])
2.4.1.2 Nghiên cứu viên tương đồng
Nghiên cứu viên tương đồng với nghiên cứu viên u là những người có cácđánh giá trong ma trận đánh giá tương tự như đánh giá của u[1]
2.4.2 Thuật toán
Phương pháp tiếp cận lọc cộng tác sẽ được chia thành 2 loại[1]:
Phương pháp tiếp cận lọc cộng tác dựa trên bộ nhớ
Phương pháp tiếp cận lọc cộng tác dựa trên mô hình
2.4.2.1 Dựa trên bộ nhớ
Với bài toán khuyến nghị cộng tác, phương pháp tiếp cận lọc cộng tác theo
bộ nhớ dựa trên toàn bộ dữ liệu để xây dựng ma trận đánh giá nhằm thực hiện ướclượng mức đánh giá cộng tác giữa cặp nghiên cứu viên bất kì để khuyến nghị Đểlàm được điều này, hệ khuyến nghị tiếp cận lọc cộng tác dựa trên đánh giá của
Trang 37nghiên cứu viên khác[1,14] Nội dung thực hiện với các bước như trên sẽ được viếtthành mã giả như sau:
Phương pháp: tiếp cận lọc cộng tác dựa trên bộ nhớ
Bước 1: Học
Đầu vào:
Không gian người dùng U ={u1,u2, … , u N}
Ma trận đánh giá: R=[⃗ r u] (Chưa tiên đoán)
Trang 38Thực hiện: ∀ u ∈U, trả về Top u , K={u1,u2, … , u K} gồm K các nghiên cứu viên
là những nghiên cứu viên được xếp hạng hạng nhất đến hạng K theo giá trịước lượng đánh giá của nghiên cứu viên u
Bảng 2-5: Thuật toán khuyến nghị lọc cộng tác dựa trên bộ nhớ
2.4.2.2 Dựa trên mô hình
Có rất nhiều phương pháp học máy được ứng dụng trong khuyến nghị cộngtác[1] và mỗi mô hình đề có điểm khác biệt Tuy nhiên, trong giới hạn hiểu biết, em
sẽ trình bày thuật toán lọc cộng tác kết hợp k-means của Gilda cùng cộng sự[15].Điểm đặc biệt của phương pháp học máy K-means là phân từng nghiên cứu viênvào đúng nhóm gồm các nghiên cứu viên tương đồng Nhờ đó, việc tiên đoán đánhgiá trở nên chính xác hơn Bài báo [15] cũng đã so sánh và cho thấy kĩ thuật tiếpcận lọc cộng tác theo mô hình sử dụng thuật toán gom cụm K-means means giúptăng 60% độ chính xác so với kĩ thuật lọc cộng tác truyền thống Thuật toán sẽ ghithành mã giả như sau:
Phương pháp: khuyến nghị lọc cộng tác sử dụng k-means
Bước 1: Học
Đầu vào:
Không gian người dùng U ={u1,u2, … , u N}
Ma trận đánh giá: R=[⃗ r u] (Chưa tiên đoán)
Trang 39 t⃗u=[t u ,u ' ']: Vectơ nhãn của vectơ ⃗r u trong ma trận đánh giá R.Với vectơ t⃗u, t u ,u ' ' mang giá trị 1 nếu ⃗r u thuộc vào cụm có r⃗u ' ' làđiểm nằm chính giữa của cụm; còn lại, t u ,u ' có giá trị 0[k-meansbài học](u ' ∈U ).
U center: Tập các nghiên cứu viên là tác giả duy nhất 1 bài báotrong toàn bộ hệ thống
‖∙‖22: Bình phương độ dài của vectơ
Với kiểu biểu diễn t⃗u, do chỉ một và chỉ một t u ,u ' ' mang giá trị 1 nên bài toán (6) trở thành:
u ' '=arg min
u '' ‖⃗r u−⃗r u ' '‖2
2
(10)Khi đó, chỉ cần thay từng điểm trung tâm sẽ xác định được u ' '
3 Vậy, ta có R ' u ' ' là ma trận của những vectơ có r⃗u ' ' là điểm chính giữacủa cụm tương ứng Gọi U u ' ' là tập chứa nghiên cứu viên thuộc cụm
có r⃗u ' ' là điểm chính giữa ∀ u ' ' ' ∈U u ' ', ∀ u ∈U,r u , u ' được định nghĩa lạinhư sau:
Trong đó, giá trị của f (u ' ' ' ,u ) có thể dùng các phương pháp sau:
a Dùng trung bình đánh giá như công thức (8)
b Dùng giá trị thường xuyên được đánh giá của nghiên cứu viêntrong cụm[15]
f (u ' ' ' ,u )=arg max
r ∈R type ∑
neighbor ∈U u' '
δ(r , rneighbor ,u ' old) (12)Với
R type: Tập chứa các giá trị có thể có của r u , u ' (không chứa giá trị ∅)
r neighbor ,u ' old: Giá trị cũ của r u , u ' (có thể là giá trị ∅)
δ(r , r neighbor ,u '
old
)={1 nếu (r=r neighbor ,u ' old)
0, còn lại
Trang 40Thực hiện: ∀ u ∈U, trả về Top u , K={u1,u2, … , u K} gồm K các nghiên cứu viên
là những nghiên cứu viên được xếp hạng hạng nhất đến hạng K theo giá trịước lượng đánh giá của nghiên cứu viên u
Bảng 2-6: Thuật toán khuyến nghị lọc cộng tác dựa trên mô hình K-means
2.4.3 Lợi thế
2.4.3.1 Đối tượng khuyến nghị có thể đa dạng hóa
Không bị giới hạn bởi nội dung của đối tượng khuyến nghị nên danh sáchkhuyến nghị có thể đa dạng hóa dựa vào cách tính độ tương tự giữa các nghiên cứuviên
2.4.3.2 Không giới hạn bởi đối tượng dạng văn bản
Không bị giới hạn bởi đối tượng phải có dạng văn bản như phương pháp lọc dựa trên nội dung
2.4.4 Bất cập
2.4.4.1 Ma trận thưa
Trên thực tế, số lần có đồng tác giả của một nghiên cứu viên trong hoạt độngnghiên cứu là rất ít so với toàn bộ nghiên cứu viên Điều này sẽ giảm chất lượngtiên đoán vì không đủ dữ liệu để dự đoán sở thích của người dùng[1] Ma trận đánhgiá khi đó sẽ xuất hiện rất nhiều giá trị rỗng nên được gọi là ma trận thưa