dung sử dụng trọng số tf-idf tăng cƣờng.
Để tiến hành cài đặt thực nghiệm thì chúng ta sẽ tiến hành bốn bƣớc chung cho phƣơng pháp gợi ý theo nội dung, trong mỗi phƣơng pháp nhỏ chúng ta sẽ cĩ chi
74
Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khĩa 2013B Lớp CNTT1
tiết cài đặt cho các bƣớc khác. Sau đây trình bày về bốn bƣớc tiến hành thực nghiệm chung:
Bước 1: Cài đặt module lấy dữ liệu từ trang VnExpress
Để lấy các bài báo từ trang VnExpress thơng qua RSS thì chúng ta sử dụng bộ thƣ viện phân tích sẵn cĩ của Java để phân tích cấu trúc file RSS, đồng thời sử dụng thƣ viện mã nguồn mở jsoup để bĩc tách nội dung text trong bài báo html, rồi chèn vào cơ sở dữ liệu phục vụ cho bƣớc tiếp theo.
Bước 2: Cài đặt module tiền xử lý dữ liệu
Để tiền xử lý dữ liệu chúng ta sẽ tiến hành xây dựng đoạn mã để loại bỏ thẻ html cịn tồn tại trong các bài báo. Sau khi đã loại hết thẻ html, chúng ta tiến hành sử dụng cơng cụ tách từ tiếng việt VnTokenizer của tác giả Lê Hồng Phƣơng để tách từ của tất cả bài báo. Tách từ xong thì loại bỏ chữ số, ký tự đặc biệt, loại bỏ từ dừng theo danh sách từ dừng sẵn. Tất cả các từ đều đƣợc lƣu lại để làm đầu vào cho bƣớc tiếp theo.
Bước 3: Cài đặt module tính trọng số
Đầu tiên ta sẽ đếm các từ khác nhau trong một bài báo, đếm số lần xuất hiện của tài liệu mà từ đĩ xuất hiện, kiểm tra xem những từ nào nằm trong tiêu đề của các bài báo. Các từ khác nhau sẽ đƣợc lƣu riêng một bảng trong cơ sở dữ liệu cùng với số tài liệu xuất hiện.
Tính tf theo cơng thức (3-1), tính idf theo cơng thức (3-2), sau khi tính xong tf và idf chúng ta sẽ tính tf-idf theo cơng thức (3-3) của tất cả các từ trong các tài liệu.
Tính trung bình số học của giá trị tf-idf trong của tất cả bài báo theo cơng thức (3-4), xác định trọng số tiêu đề của những từ thuộc vào tiêu đề của tất cả bài báo theo cơng thức (3-5).
75
Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khĩa 2013B Lớp CNTT1
Cuối cùng chúng ta sử dụng cơng thức (3-6) để tính trọng số cho các từ trong tất cả các bài báo, lƣu lại các giá trị này trong cơ sở dữ liệu để tiến hành gợi ý.
Bước 4: Biểu diễn nội dung bài báo
Mỗi bài báo sẽ đƣợc biểu diễn bằng một vector trọng số của các từ khác nhau xuất hiện trong bài báo đấy. Thay vì danh sách các từ trong bài báo thì chúng ra sử dụng trọng số của mỗi từ khác nhau để biểu diễn cho bài báo.
Ví dụ: Bài báo C sẽ đƣợc biểu diễn nhƣ sau:
C= (0, 93, 0, 87,…., 0,56)
4.4.1.1. Đối với hồ sơ ngƣời dùng tĩnh.
Sau khi thực hiện cài đặt các module theo bốn bƣớc ở trên thì chúng ta sẽ tiến hành cài đặt thêm các bƣớc riêng của phƣơng pháp gợi ý theo nội dung đối với hồ sơ ngƣời dùng tĩnh nhƣ sau:
Bước 5: Cài đặt module xây dựng hồ sơ người dùng tĩnh
Chúng ta tiến hành biểu diễn hồ sơ ngƣời dùng theo cơng thức (3-8), các tham số cần thiết để xây dựng hồ sơ ngƣời dùng nhƣ sau: chúng ta thu thập đánh giá của tất cả ngƣời dùng trong vịng 7 ngày đầu tiên để đƣa ra gợi ý nên chúng ta sẽ chọn ns = 7. Để xây dựng hồ sơ ngƣời dùng thì chúng ta sẽ căn cứ vào các đánh giá của ngƣời dùng để xây dựng.
Bước 6: Cài đặt module tính độ tương đồng
Nhƣ vậy, các bƣớc trên đã biểu diễn đƣợc bài báo và hồ sơ ngƣời dùng thì chúng ta sẽ tiến hành tính tốn độ tƣơng tự giữa các bài báo chƣa đƣợc đọc bởi ngƣời đƣợc gợi ý và hồ sơ ngƣời dùng. Để tiến hành gợi ý thì chúng ta sẽ lấy lại các bài báo mà ngƣời dùng đã đọc cĩ đánh giá lớn hơn 4 điểm, từ đĩ xác định danh sách các chuyên mục mà ngƣời dùng đã đọc. Cĩ đƣợc các chuyên mục ngƣời dùng đã đọc ta tiến hành lấy những bài báo mà chƣa đƣợc đọc bởi ngƣời dùng đƣợc gợi ý trong
76
Học viên thực hiện: Nguyễn Văn Thịnh CB130460 Khĩa 2013B Lớp CNTT1
ngày 2 ngày cuối cùng (chia dữ liệu thành 8 phần, mỗi phần 2 ngày liên tiếp) và tính độ tƣơng đồng với hồ sơ ngƣời dùng. Sau khi tính tốn độ tƣơng đồng thì chúng ta sẽ sắp xếp danh sách gợi ý theo thứ tự theo độ tƣơng đồng giảm dần, chọn 10 bài báo cĩ độ tƣơng đồng cao nhất trả về 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 các module theo bốn bƣớc ở trên sau đĩ cài đặt thêm các bƣớc riêng đối phƣơng pháp gợi ý theo nội dung đối với 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), các tham số cần thiết để xây dựng hồ sơ ngƣời dùng nhƣ sau: chúng ta thu thập đánh giá trong 7 ngày để đƣa gợi ý nên sẽ chọn ns=7 và để tính hệ số k thì chúng ta sẽ chọn λ =1.0. Để xây dựng hồ sơ ngƣời dùng thì chúng ta sẽ căn cứ vào các đánh giá của 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.