Bài viết đề xuất giải pháp xây dựng hệ thống gợi ý bài báo khoa học nhằm gợi ý cho người đọc những bài báo được hệ thống dự đoán là phù hợp với sở thích và lĩnh vực nghiên cứu của họ. Để xây dựng hệ thống, trước hết chúng tôi đề xuất phương pháp thu thập thông tin phản hồi (feedback) từ người dùng, sau đó đề xuất sử dụng phương pháp tập hợp các mô hình phân rã ma trận để dự đoán các phản hồi đó. Mời các bạn cùng tham khảo!
Trang 1Hệ Thống Gợi Ý Bài Báo Khoa Học
Sử Kim Anh và Nguyễn Thái Nghe Trường Đại học Cần Thơ Email: {skanh,ntnghe}@ctu.edu.vn
Tóm tắt - Trong nghiên cứu này, chúng tôi đề xuất giải pháp xây
dựng hệ thống gợi ý bài báo khoa học nhằm gợi ý cho người đọc
những bài báo được hệ thống dự đoán là phù hợp với sở thích và
lĩnh vực nghiên cứu của họ Để xây dựng hệ thống, trước hết
chúng tôi đề xuất phương pháp thu thập thông tin phản hồi
(feedback) từ người dùng, sau đó đề xuất sử dụng phương pháp
tập hợp các mô hình phân rã ma trận để dự đoán các phản hồi
đó Do mỗi bài báo khoa học có thể chỉ phù hợp cho một số đối
tượng nhất định trong cùng lĩnh vực nên chúng tôi cũng đề xuất
áp dụng phương pháp gợi ý lọc theo ngữ cảnh đầu ra trên các kết
quả đã được dự đoán từ đó gợi ý top-N bài báo phù hợp Sau khi
xây dựng xong mô hình gợi ý, bước kế đến là việc phân tích, thiết
kế và cài đặt hệ thống quản lý bài báo đồng thời tích hợp giải
thuật đã xây dựng vào hệ thống Khi đã có hệ thống hoàn chỉnh,
chúng tôi thu thập ý kiến phản hồi từ người dùng thực để đánh
giá hiệu quả của hệ thống Kết quả cho thấy khả năng gợi ý phù
hợp cho người dùng đạt độ tin cậy khá tốt và có thể triển khai
vào thực tế
Từ khóa- Kỹ thuật phân rã ma trận, hệ thống gợi ý, lọc cộng tác,
gợi ý bài báo khoa học
I GIỚI THIỆU
Ở các trường đại học, bên cạnh công tác giảng dạy thì
nghiên cứu khoa học là một nhiệm vụ quan trọng của bất cứ
giảng viên nào Hoạt động nghiên cứu khoa học là tất yếu
trước xu thế phát triển ngày một sâu và rộng trên tất cả lĩnh
vực của thế giới Do đó, để đảm bảo chất lượng đào tạo thì vấn
đề nghiên cứu khoa học phải được đầu tư xuyên suốt, song
hành với quá trình đào tạo của mình, chính vì thế mà các công
trình khoa học của các trường cũng không ngừng tăng lên Với
lượng bài ngày càng tăng, việc tìm kiếm tốn thời gian hơn thì
việc tự động gợi ý bài báo thật sự đáp ứng yêu cầu nghiên cứu
và tìm kiếm thông tin của từng cán bộ hoặc sinh viên đồng
thời phù hợp với chuyên ngành, trình độ, và lĩnh vực nghiên
cứu của người sử dụng là vấn đề rất có ý nghĩa và cần thiết
Bên cạnh đó, Hệ thống gợi ý (recommender systems) hiện
nay được phát triển và ứng dụng rất mạnh mẽ [1, 2, 8, 13]
Đây là một trong những lĩnh vực khá quan trọng trong khai
phá dữ liệu Những nghiên cứu và ứng dụng về lĩnh vực này
cũng tăng mạnh trong những năm gần đây, đặc biệt là ở lĩnh
vực thương mại như Hệ thống gợi ý sản phẩm của Ebay,
Amazon, ; lĩnh vực giáo dục; lĩnh vực giải trí như hệ thống
gợi ý phim ảnh của Movielens, Netflix, [2]; và trong những
lĩnh vực khác [1, 2, 8, 16]
Trong nước, cũng đã có nhiều nhóm nghiên cứu về xây
dựng hệ thống gợi ý như: Hệ thống gợi ý môn học [9], gợi ý
phim [19]; gợi ý bài hát [12]; và trong những lĩnh vực khác
cũng như việc xây dựng các giải thuật cho hệ thống gợi ý [10,
nghiên cứu khoa học, đặc biệt là hỗ trợ công tác tìm kiếm, gợi
ý nguồn tài nguyên học tập, gợi ý các tài liệu, hay cụ thể ở đây
là gợi ý các bài báo khoa học vẫn còn chưa được khai thác tốt, mặc dù trên thế giới đã có các nghiên cứu liên quan trong xây dựng hệ thống gợi ý bài báo, như sử dụng kỹ thuật láng giềng lân cận và tìm kiếm theo ngữ nghĩa đã được giới thiệu trong các nghiên cứu [4, 7]
Trong bài viết này, chúng tôi đề xuất giải pháp “Xây dựng hệ thống gợi ý bài báo khoa học” dùng kỹ thuật phân rã ma trận [21][14] kết hợp với xử lý ngữ cảnh đầu ra [3] nhằm tối ưu hóa việc hiển thị nội dung các bài báo phù hợp với từng đối tượng người đọc
II HỆ THỐNG GỢI Ý
Hệ thống gợi ý (Recommender Systems - RS) là một dạng của hệ thống lọc thông tin (information filtering), nó được sử dụng để dự đoán sở thích (preference) hay xếp hạng (rating)
mà người dùng có thể dành cho một mục thông tin (item) nào
đó mà họ chưa xem xét tới trong quá khứ (item có thể là bài báo, bộ phim, đoạn video clip, sách, ) [14] nhằm gợi ý các mục thông tin “có thể được quan tâm” bởi người dùng Hệ thống gợi ý sẽ đưa ra các gợi ý dựa trên quá trình thu thập, xử
lý và phân tích dữ liệu từ người dùng Dữ liệu đó được chia làm 2 loại là tường minh (explicit) bằng cách yêu cầu người dùng phản hồi trực tiếp và tiềm ẩn (implicit) bằng cách tự động suy luận dựa trên những tương tác của người dùng với hệ thống như: số lần nhấp chuột, thời gian quan sát
Trong phần lớn các trường hợp, bài toán gợi ý được coi là bài toán dự đoán việc xếp hạng (rating) của các sản phẩm (phim, sản phẩm tiêu dùng, sách, nhạc…) chưa được người dùng biết đến Việc dự đoán này thường dựa trên những đánh giá đã có của chính người dùng đó hoặc những người dùng khác Ví dụ, những bài báo được dự đoán là sẽ có xếp hạng cao nhất sẽ được dùng để gợi ý
Hệ thống gợi ý đã chứng minh được ý nghĩa to lớn: giúp cho người sử dụng trực tuyến đối phó với tình trạng quá tải thông tin Hệ thống gợi ý trở thành một trong những công cụ mạnh mẽ và phổ biến trong thương mại điện tử Mục đích của
hệ thống gợi ý là dựa vào hành vi từ thói quen, nhu cầu trong quá khứ của người sử dụng để dự đoán sở thích trong tương lai của họ Một cách hình thức, gọi U là tập tất cả người dùng và I là tập tất cả các mục tin có thể được gợi ý như máy tính, sách, phim ảnh, bài báo Để dự đoán xếp hạng của bài báo ứng với người dùng thì người ta đưa ra hàm rˆ: U x I R
trong đó R là tập được thứ tự toàn phần (ví dụ số nguyên dương hoặc số thực trong tập xác định) Sau khi dự đoán, kết
Trang 2quả sẽ được sắp xếp giảm dần và ta có thể chọn top-N bài báo
để gợi ý cho người dùng
Trong hệ thống gợi ý bài báo này chúng tôi sử dụng Matrix
Factorization (MF), là một state-of-the-art trong hệ thống gợi
ý [1][20], cùng với nhân tố phản hồi tiềm ẩn là số lần click
trên item và nhân tố phản hồi tường minh (rate) là mức độ
quan tâm của người dùng đến mỗi bài báo Tích hợp thông tin
dự đoán bằng phương pháp tập hợp mô hình cho cả hai nhân
tố trên
Trong hệ thống gợi ý bài báo này, mỗi người dùng (giảng
viên, sinh viên) được xem như là một user, mỗi bài báo khoa
học là item, và người dùng đó đạt bao nhiêu lần truy cập vào
từng bài báo hay số bình chọn của người dùng trên mỗi bài
báo được xem là rating như minh họa trong Hình 1
Hình 1 Minh họa kỹ thuật phân rã ma trâ ̣n
Mục tiêu chính của kỹ thuật này là phân rã ma trận X thành 2
ma trận nhỏ hơn W và H sao cho ta có thể xây dựng lại X từ 2
ma trận con này
(1) Với W và H là 2 ma trận con
W = ℜU ×K
H = ℜI×K (2) K: là số nhân tố tiềm ẩn (latent factors) K << |U|; K << |I |
Để xác định W và H, người ta thường sử dụng kỹ thuật tối ưu
hàm mục tiêu, như:
=
−
=
D
i
K
k uk ik ui
ui ui
O
2 1
2
) ˆ (
Sau quá trình tối ưu (có thể dùng stochastic gradient descent)
ta có được W và H, khi đó xếp hạng (đánh giá) của người
dùng u cho bài báo i được dự đoán theo công thức:
∑
=
=
= K
k
T i u ik uk
ui w h w h
r
1
Chi tiết về kỹ thuật này, bạn đọc vui lòng xem thêm trong tài
liệu [20, 14]
III PHƯƠNG PHÁP ĐỀ XUẤT
Trước tiên chúng tôi đề xuất phương pháp thu thập các
thông tin phản hồi từ người dung, sau đó đề xuất và cài đặt các
mô hình tương ứng và đánh giá các mô hình đó trước khi tích
hợp chúng vào hệ thống thực
A Phương pháp thu thập thông tin phản hồi từ người dùng
Hệ thống được xây dựng dưới dạng một website cung cấp thông tin về bài báo giúp người dùng có thể chọn các bài báo mà mình cần đến Khi người dùng truy cập vào hệ thống,
có thể tìm kiếm, xem và tải những bài báo về máy của mình Ngoài ra, hệ thống còn phân loại các bài báo theo từng thể loại, nhằm mang đến sự tiện lợi cho người sử dụng và cung cấp thông tin chi tiết về các bài báo như: tên bài báo, tác giả, tóm tắt…
Với đặc điểm là một hệ thống gợi ý, hệ thống phải có chức năng thu thập những phản hồi từ người dùng Thông thường hệ thống ghi nhận sự phản hồi của người dùng dưới hình thức ghi nhận một giá trị xếp hạng cụ thể (thích (1) / không thích (0), từ 1 đến 5) gọi là phản hồi tường minh (explicit feedback) Tuy nhiên, với cách này thì hệ thống thường khó có thể ghi nhận được nhiều phản hồi từ người dùng Vì người dùng phải tự thể hiện sự phản hồi của mình một cách tường minh Điều này bất tiện và thường làm cho người dùng không thích
Do đó, để tạo sự tiện lợi cho người dùng và hệ thống có thể thu thập được nhiều phản hồi một cách dễ dàng, trong hệ thống gợi ý bài báo này, chúng tôi đề xuất ghi nhận các phản hồi của người dùng dưới dạng phản hồi tiềm ẩn (implicit feedback) Hệ thống sẽ tự động ghi nhận lại thông tin của người dùng thông qua đăng ký tài khoản, ngoài ra giá trị phản hồi - trọng số xếp hạng được ghi nhận bằng số lần click vào bài báo khi người dùng lựa chọn bài báo khi truy xuất hay đăng nhập vào hệ thống Chức năng lưu trữ số lần chọn (click) xem bài báo được hệ thống tự động cập nhật vào cơ sở dữ liệu
và được đếm theo địa chỉ IP (IP address) của người truy xuất Khi thực hiện đăng nhập vào tài khoản, hệ thống sẽ so sánh giữa IP address và người dùng và lưu trữ lại số liệu này theo tài khoản người sử dụng và được sử dụng làm trọng số (rate) cho xếp hạng của người sử dụng
B Cài đặt các giải thuật và Tích hợp các mô hình dự đoán
Trong các hệ thống gợi ý truyền thống, người ta thường sử dụng một thông tin phản hồi tường minh từ người dùng như xếp hạng (từ 1 đến 5) hay dựa trên thông tin tiềm ẩn (như số lần click chuột trên item)
Trong hệ thống gợi ý bài báo này, chúng tôi đề xuất sử dụng phương pháp tập hợp mô hình (ensemble method) để tận dụng cả thông tin phản hồi tường minh và tiềm ẩn do trong những nghiên cứu trước đây đều cho thấy phương pháp tập hợp mô hình cho độ chính xác cao hơn bất kỳ một phương pháp đơn lẽ nào [18]
Cụ thể, hệ thống được tích hợp giải thuật gợi ý MF1 để gợi
ý các bài báo mới phù hợp cho từng người dùng dựa vào các phản hồi tiềm ẩn (click) và MF2 dựa trên phản hồi tường minh (bình chọn theo mức độ quan tâm của người dùng từ 1 đến 5), kết quả dự đoán sau cùng sẽ dùng phương pháp tập hợp mô hình (ví dụ, trung bình) của cả hai kết quả dự đoán này Cách tính được mô tả như sau:
Trang 3Gọi r1là kết quả dự đoán sử dụng phản hồi là số lần mà
người dùng click chuột trên bài báo, sử dụng mô hình MF1
∑
=
=
K
k uk ik
ui w h
r
1
Gọi r2 là kết quả dự đoán sử dụng phản hồi là xếp hạng
mà người dùng đã đánh giá trên bài báo, sử dụng mô hình
MF2
∑
=
k uk ik
r
2
Kết quả dự đoán sau cùng là tập hợp (ensemble method)
của các mô hình trên, để đơn giản chúng tôi sử dụng cách tập
hợp trung bình (average voting for regression model), mặc dù
vậy các phương pháp khác hoàn toàn có thể được áp dụng
2
) (
ˆ 1ui 2ui
ui r r
Bên cạnh đó, chúng tôi cũng nhận thấy rằng nếu hệ thống
gợi ý bài báo thuộc lĩnh vực chuyên ngành này (ví dụ, xã hội)
cho người dùng thuộc chuyên ngành khác (ví dụ, CNTT) thì
có thể chưa phù hợp (trừ các bài viết dạng liên ngành), do vậy
khi gợi ý đến người dùng, để tăng sự hợp lý và độ chính xác
chúng tôi còn lưu ý đến việc xử lý ngữ cảnh đầu ra (contextual
post-filtering [3]), là lĩnh vực của bài báo và lĩnh vực nghiên
cứu của người dùng phải tương tự nhau, nhằm giúp cho người
dùng có thể tìm được những bài báo mà mình cần một cách
nhanh chóng và tiện ích
Chi tiết về việc cài đặt các giải thuật MF minh hoạ như
trong Hình 2, ở đây sử dụng Stochastic gradient descent cho
giải thuật học
Hình 2 Cài đặt kỹ thuật Phân rã ma trận (MF) [14]
IV XÂY DỰNG HỆ THỐNG VÀ TÍCH HỢP GIẢI THUẬT
Tương tự như những hệ thống thông tin quản lý khác, hệ
thống này cũng phải được phân tích, thiết kế các mô hình, cài
đặt và triển khai hệ thống Phần quan trọng nhất của hệ thống này là tích hợp các giải thuật gợi ý vào hệ thống Do giới hạn
về số trang của bài viết, chúng tôi chỉ giới thiệu một vài mô hình cơ bản như bên dưới
A Đặc tả hệ thống
Hệ thống quản lý các tạp chí khoa học cho phép cán bộ và sinh viên trường có thể quản lý, tìm kiếm và xem các bài báo khoa mà họ cần Hệ thống sẽ hiển thị các bài báo và các nội dung theo đúng nhu cầu khách hàng quan tâm Hệ thống có chức năng cho khách hàng chấm điểm, đánh giá chất lượng của bài báo
Đặc biệt hệ thống sẽ gợi ý các cho người dùng trong quá trình lựa chọn sử dụng kỹ thuật phân rã ma trận và hiển thị các bài báo tương tự mà họ đang xem, sử dụng các thuộc tính về chủ đề bài báo và lĩnh vực của người dùng
B Sơ đồ các trường hợp sử dụng của người dùng
Hình 3 Sơ đồ use case của người dùng Giảng viên và sinh viên muốn thực hiện các chức năng trên chỉ khi là thành viên của hệ thống Sau khi đăng nhập vào hệ thống, nếu là người dùng mới thì hệ thống sẽ dựa vào thông tin về chuyên ngành của họ để tư vấn theo thông tin vừa thu thập Tuy nhiên, nếu người dùng đã có chấm điểm cho bài báo, hệ thống sẽ gợi ý các bài báo theo giải thuật đã đề xuất Ngoài ra, hệ thống còn cung cấp các công cụ quản trị như: quản trị người dùng, quản trị thông tin bài báo, công cụ cho phép người quản trị có thể xuất thông tin đánh giá của người dùng trên bài báo để huấn luyện lại mô hình của giải thuật và chức năng kiểm tra hiệu quả của hệ thống gợi ý bài báo
Trang 4C Lược đồ Cơ sở dữ liệu
Hình 4 Lược đồ CSDL của hệ thống
D Thiết kế hệ thống và tích hợp giải thuật
Hệ thống được xây dựng trên nền Web với ngôn ngữ lập
trình PHP kết hợp với hệ quản trị cơ sở dữ liệu MySQL theo
mô hình MVC (Model-View-Controller) Thành phần
Controller sẽ nhận các dữ liệu GET/POST, xử lý những dữ
liệu này, sau đó chuyển sang Model xử lý Model sẽ trả dữ
liệu về phía Controller, sau đó Controller sinh mã
HTML/XHTML để thể hiện trên View
Mô hình tổng thể của hệ thống được mô tả thông qua hình
sau
Hình 5 Mô hình tổng thể của hệ thống
V KẾT QUẢ NGHIÊN CỨU
A Độ đo dùng để đánh giá giải thuật
Chúng tôi sử dụng độ đo lỗi RMSE (Root Mean Squared
Error) là độ đo phổ biến mà cộng đồng người dùng trong lĩnh
vực máy học (machine learning) thường sử dụng RMSE được
xác định bằng công thức:
∑
∈
−
=
test
D r i, u,
2 ui ui
| D
|
1
Trong đó: Dtest ⊆ U × I × R là tập dữ liệu kiểm thử; U: tập người dung (user); I: Tập bài báo (item); rui: giá trị xếp hạng thực tế; rˆ: giá trị dự đoán
B Đánh giá trên tập dữ liệu chuẩn
Để kiểm tra tính đúng đắn của việc cài đặt giải thuật, chúng tôi kiểm tra các mô hình bằng cách sử dụng tập dữ liệu
về tạp chí khoa học Bisonomy để đánh giá giải thuật (www.bibsonomy.org) với khoảng 15.000 người dùng, khoảng 1.800.000 bài báo và có trên 3 triệu đánh giá Đây là tập dữ liệu được dùng để đánh giá giải thuật gợi ý dùng cho các tạp chí khoa học
Trong quá trình đánh giá, chúng tôi chỉ sử dụng khoảng
30000 đánh giá (dùng nghi thức 3-folds cross validation) trên tập dữ liệu và được chia làm 2 phần: lấy ngẫu nhiên 2/3 dữ liệu dùng để huấn luyện (train) và 1/3 còn lại dùng để kiểm tra (test) Lặp lại 3 lần để lấy kết quả trung bình Kết quả thực nghiệm được trình bày trong Bảng dưới đây
Bảng 1 Bảng độ đo lỗi RMSE
Lần 1 Lần 2 Lần 3 Trung bình
Global
Ở đây chúng tôi so sánh nhằm mục đích kiểm tra xem quá trình cài đặt giải thuật MF có đúng đắn hay không chứ không nhằm mục đích so sánh giữa các phương pháp Việc so sánh này đã được các nghiên cứu trước đây thực hiện và đã cho thấy kỹ thuật MF vẫn là một trong các state-of-the-art trong hệ thống gợi ý hiện nay [3][13]
C Kết quả minh họa
1 Giao diện hệ thống
Hệ thống được phát triển trên môi trường web, dùng ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL Hệ thống đang được triển khai tại địa chỉ: http://crd.ctu.edu.vn/journals/, trang chủ của hệ thống được minh họa trong Hình 6 Hệ thống chia thành 2 phần chính kết nối và tương tác nhau là Giao diện người dùng và Giao diện quản trị
Tại giao diện trang chính: người dùng có thể truy cập vào thông tin các bài báo ở mức độ: tên bài báo, tác giả, lĩnh vực
và tóm tắt bài báo Khi người dùng click chọn hệ thống sẽ tự động lưu trữ số lần chọn, mã bài báo dựa vào địa chỉ IP của mỗi người dùng Các bài báo được hiển thị theo các tiêu chí như: Bài báo được xem (click) nhiều nhất; Bài báo được hiển thị dựa vào giá trị dự đoán trung bình toàn cục; Bài báo được hiển thị theo Năm, Theo Loại, Theo lĩnh vực và theo từng Số Khi người dùng đăng ký/ đăng nhập vào hệ thống sẽ tự động lưu trữ số lần chọn của người dùng vào cơ sở dữ liệu so sánh với địa chỉ IP Với sự tương tác của người dùng thông qua giải
Trang 5thuật sẽ thấy được kết quả dự đoán của hệ thống dựa vào ngữ
cảnh được áp dụng là lĩnh vực ở mỗi bài báo và lĩnh vực của
người dùng
Hình 6 Trang chủ của hệ thống
Gợi ý bài báo cho người dùng
Người dùng có thể chấm điểm cho bài báo hoặc gửi góp ý
(feedback) cho bài báo đó như trong Hình 9 Sau khi người
dùng đã chấm điểm bài báo, hệ thống sẽ gợi ý một số bài báo
mới cho người dùng thông qua các mô hình đã được tích hợp
như minh họa trong Hình 10 Bên cạnh đó, hệ thống cũng có
thêm các mục chức năng khác như: gợi ý TOP các bài báo
được nhiều người xem, các bài báo cùng thể loại, cùng lĩnh
vực với bài báo đang xem
Hình 7 Giao diện đánh giá bài báo
Hình 8 Giao diện gợi ý bài báo cho người dùng
Ở giao diện của người quản trị: Các chức năng thông thường để quản trị một hệ thống quản lý các bài báo như: Quản lý bài báo, Quản lý người dùng, Quản lý số bài báo, Quản lý lĩnh vực bài báo, Tìm kiếm thông tin Hệ thống cũng
có thể thống kê các bài báo theo năm, theo lĩnh vực, theo các rating của người dùng
Bên cạnh đó, hệ thống cũng cho phép người quản trị huấn luyện lại các mô hình sau một thời gian sử dụng Người quản trị còn được cung cấp công cụ để tìm các siêu tham số cho giải thuật cũng như đánh giá giải thuật thông qua các độ đo lỗi RMSE, MAE và tính độ chính xác (precision) của hệ thống
2 Đánh giá hiệu quả sử dụng hệ gợi ý
Sau khi tích hợp giải thuật gợi ý và và xây dựng hoàn chỉnh hệ thống, chúng tôi tiến hành thu thập phản hồi từ người dùng thực để kiểm tra hiệu quả của việc gợi ý Dữ liệu thu thập từ người dùng (Giảng viên ĐHCT) đánh giá khoảng 40 bài báo thuộc 4 lĩnh vực: Công nghệ thông tin, Công nghệ, Môi trường và Tự nhiên Dữ liệu được thu thập khoảng 40 người dùng với khoảng trên 400 đánh giá bài báo theo mức độ
từ 1 đến 5 (từ không quan tâm đến rất quan tâm)
Tiếp theo, chúng tôi tiến hành đánh giá hiệu quả của việc gợi ý xem nó có phù hợp cho mỗi người dùng hay không dựa theo hướng dẫn và điều chỉnh từ tài liệu [5] Gợi ý được xem
là phù hợp khi người dùng có chọn bài báo từ danh sách những bài báo đã được gợi ý cho họ Các bước được thực hiện như sau:
• Tạo tập dữ liệu train và test theo từng user Với mỗi user (người dùng) chọn 70% dữ liệu cho train, 30% còn lại dùng vào tập test
• Tiến hành huấn luyện mô hình trên tập dữ liệu train vừa tạo
• Dự đoán cho từng user trên tất cả các item không có trong tập train
• Lấy Top K (K=10) item có giá trị dự đoán cao nhất để kiểm tra, so sánh các giá trị này với tập dữ liệu test Với mỗi lần gợi ý Top K như thế, nếu các item này có trong tập test của user tương ứng, xem như lần gợi ý đó là phù hợp
• Lặp lại cho tất cả các user được chọn thử nghiệm Bảng 2 Minh họa trực quan kết quả dự đoán cho 5 người
dùng
Để minh hoạ trực quan kết quả, chúng tôi chọn ngẫu nhiên
5 user để hiển thị trực quan kết quả Thử nghiệm trên 5 lần
Trang 6chạy, với mỗi lần lấy Top 10 bài báo trong danh sách dự đoán
để kiểm tra trong tập test, kết quả trình bày trong Bảng 2
Trong bảng này, mỗi cột là một người dùng, mỗi hàng là
kết quả thống kê số lượng bài đã được gợi ý trong Top 10 có
xuất hiện trong tập test với các mã bài báo cụ thể Ví dụ: ở lần
kiểm tra thứ nhất, các bài báo được gợi ý cho user 25 có xuất
trong tập test là 1 bài với mã bài báo là 68 Như vậy, trong lần
gợi ý này, user 25 có sản phẩm phù hợp (chính xác) với sở
thích của mình Minh họa tương tự cho các user khác
Nhận xét: Độ chính xác của kết quả gợi ý qua mỗi lần
kiểm tra khá cao đối với các người dùng, trung bình cho 5
người dùng được chọn ngẫu nhiên là 80% Người dùng đăng
nhập có bình chọn và tham gia càng nhiều thì độ chính xác của
hệ thống sẽ đạt giá trị cao
VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong nghiên cứu này, chúng tôi đề xuất giải pháp xây
dựng hệ thống quản lý bài báo khoa học có tích hợp hệ gợi ý
nhằm gợi ý cho bạn đọc những bài báo mới được hệ thống dự
đoán là phù hợp với sở thích và lĩnh vực nghiên cứu của họ
Sở thích của người dùng trên các bài báo mới được dự đoán
dựa trên kết hợp giữa dữ liệu về lĩnh vực chuyên ngành của
người dùng và xếp hạng của người dùng trên các bài báo trong
quá khứ
Sau quá trình dự đoán, chúng tôi cũng đã đề xuất phương
pháp xử lý ngữ cảnh đầu ra (contextual post-filtering, ví dụ lọc
lại theo chuyên môn của người dùng) nhằm hiển thị kết quả
phù hợp hơn nữa cho từng đối tượng sử dụng
Để xây dựng hệ thống, nghiên cứu này đã đề xuất phương
pháp thu thập thông tin phản hồi từ người dùng, sau đó cài đặt
kỹ thuật phân rã ma trận – đang được áp dụng thành công
trong nhiều ứng dụng gợi ý hiện nay Tiếp theo, chúng tôi
kiểm tra tính đúng đắn của giải thuật trên tập dữ liệu chuẩn
Kế đến là việc phân tích, thiết kế và cài đặt hệ thống quản lý
bài báo đồng thời tích hợp giải thuật gợi ý vào hệ thống để có
thể gợi ý bài báo phù hợp cho người dùng Sau khi đã có hệ
thống hoàn chỉnh, chúng tôi thu thập ý kiến phản hồi từ người
dùng thực để đánh giá hiệu quả của hệ thống Hệ thống đang
được thử nghiệm trên dữ liệu thực lấy từ hệ thống quản lý các
bài báo của trường Đại học Cần Thơ, kết quả cho thấy việc
tích hợp hệ gợi ý vào hệ thống quản lý bài báo khoa học là
hoàn toàn khả thi
TÀI LIỆU THAM KHẢO
1 Bobadilla J., Ortega F., Hernando A., Gutiérrez H 2013 Recommender
systems survey Knowledge-Based Systems 46 (2013) 109–132
Elsevier
2 Francesco Ricci, Lior Rokach, Bracha Shapira, and Paul B Kantor
2010 Recommender Systems Handbook (1st ed.) Springer-Verlag New
York, Inc., New York, NY, USA
3 Gediminas Adomavicius, Alexander Tuzhilin Context-Aware
Recommender Systems, Recommender Systems Handbook 2011, pp
217-253 Spinger
4 Gipp, Bela, Jöran Beel, and Christian Hentschel "Scienstein: A research
paper recommender system." Proceedings of the international
conference on emerging trends in computing (ICETiC’09) 2009
5 Guy Shani and Asela Gunawardana Evaluating recommendation systems In Recommender Systems Handbook, pages 257–297 Springer, 2011
6 Herlocker J L., Konstan j A., Borchers a., Andriedl J (1999), “An algorithmic framework for performing collaborative filtering” In Proceedings of the 22nd ACM SIGIR, New York, NY, 230–237
7 Lee, Joonseok, Kisung Lee, and Jennifer G Kim "Personalized academic research paper recommendation system." arXiv preprint arXiv:1304.5457 (2013)
8 Li Chen, Guanliang Chen, and Feng Wang 2015 Recommender systems based on user reviews: the state of the art User Modeling and User-Adapted Interaction 25, 2 (June 2015), 99-154 DOI=10.1007/s11257-015-9155-5 http://dx.doi.org/10.1007/s11257-015-9155-5
9 Huỳnh Lý Thanh Nhàn, Nguyễn Thái Nghe (2013): Hệ thống dự đoán kết quả ho ̣c tâ ̣p và gợi ý lựa chọn môn học Kỷ yếu hội thảo quốc gia lần thứ XVI: Một số vấn đề chọc lọc của CNTT&TT (@2013), trang
110-118 Nhà xuất bản Khoa học kỹ thuật ISBN: 987-604-67-0251-1
10 Nguyễn Duy Phương và Từ Minh Phương 2013 Lọc cộng tác với độ đo tương tự dựa trên đồ thị Chuyên san Các công trình nghiên cứu, phát triển và ứng dụng CNTT&TT, Số 30 (2013)
11 Nguyễn Hùng Dũng, Nguyễn Thái Nghe (2014): Hệ thống gợi ý sản phẩm trong bán hàng trực tuyến sử dụng kỹ thuật lọc cộng tác Tạp chí Khoa học Trường Đại học Cần Thơ, số 31a (2014), trang 36-51 ISSN: 1859-2333
12 Nguyễn Tấn Phong, Nguyễn Thái Nghe 2014 Một giải pháp trong xây dựng Hệ thống gợi ý bài hát Trang 149-154, kỷ yếu hội thảo quốc gia lần thứ XVII: Một số vấn đề chọc lọc của CNTT&TT (@2014) Nhà xuất bản Khoa học và kỹ thuật ISBN: 978-604-67-0426-3
13 Nguyen Thai-Nghe, Lars Schmidt-Thieme 2015 Factorization Forecasting Approach for User Modeling Journal of Computer Science and Cybernetics 133-148 Vol 31, No 2 ISSN: 1813-9663 DOI:
10.15625/1813-9663/31/2/5860
14 Nguyen Thai-Nghe 2013 An introduction to factorization technique for building recommendation systems Vol 6/2013, pp 44-53, Journal of Science - University of Da Lat, ISSN 0866-787X
15 Pham Minh Chuan, Le Thanh Huong, Tran Dinh Khang va Cao Xuan Bach, “Hệ thống khuyến nghị công việc”, Hội nghị khoa học Quốc gia lần thứ VIII - Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin
2013 DOI 10.15625/FAIR VII.2014-0336, pages 153-159
16 Su, X & Khoshgoftaar, T.M (2009) A survey of collaborative filtering techniques Advances in Artificial Intelligence, 2009, 4:1-4:19
17 Takacs, G., Pilaszy, I., Nemeth, B., & Tikk, D 2009 Scalable collaborative filtering approaches for large recommender systems Journal of Machine Learning Research, 10, 623-656
18 Thomas G Dietterich, Ensemble Methods in Machine Learning Lecture Notes in Computer Science Volume 1857, 2000, pp 1-15 Springer
19 Triệu Vĩnh Viêm, Triệu Yến Yến, Nguyễn Thái Nghe (2013): Xây dựng
hệ thống gợi ý phim dựa trên mô hình nhân tố láng giềng Số chuyên đề: Công nghệ Thông tin (2013): 170-179, Tạp chí Khoa học Trường Đại học Cần Thơ, ISSN: 1859-2333
20 Yehuda Koren, Robert Bell, and Chris Volinsky 2009 Matrix Factorization Techniques for Recommender Systems Computer 42, 8 (August 2009), 30-37 DOI=10.1109/MC.2009.263
21 Yehuda Koren and Robert Bell "Advances in collaborative
filtering."Recommender systems handbook Springer US, 2011 145-186