Chương 3 : Xây dựng hệ thống gợi ý tin tức sử dụng phản hồi ẩn
3.1. Kiến trúc hệ thống
3.1.1. Mô tả kiến trúc hệ thống
Hệ thống cần xây dựng sẽ được mô tả như sau:
Xây dựng một hệ thống gợi ý tin tức tiếng Việt cho người dùng đã đăng nhập vào hệ thống. Các tin tức được lấy từ nguồn RSS của các trang báo, trang tin điện tử khác nhau (Dân Trí, VnExpress, VietNamNet, Thanh Niên, Tiền Phong, …) thường xuyên, định kỳ. Hệ thống cho phép người dùng bình luận, đọc các tin tức liên quan với tin hiện tại, đánh dấu tin, chia sẻ tin qua các mạng xã hội, gửi email đính kèm liên kết của tin tức cho bạn bè và in tin tức ra giấy. Hệ thống phải tự động đánh giá sở thích của người dùng theo thời gian để đưa ra được các tin tức gợi ý chính xác và không trùng lặp giúp tăng số lượng đọc tin tức. Hệ thống cũng phải có các cơ chế bảo mật giảm thiểu lỗi và tấn công hệ thống.
Dựa vào hệ thống gợi ý tin tức tiếng Việt xenoNews của tác giả Nguyễn Thạc Huy (học viên cao học Trường đại học Công nghệ - Đại học Quốc gia Hà Nội) được mô tả trong luận văn “Chọn lọc thông tin dựa trên nội dung ứng dụng xây dựng hệ thống gợi ý tin tức theo nhu cầu người dùng” tôi tiến hành cài đặt module phản hồi ẩn của mình lên hệ thống này.
xenoNews là hệ thống gợi ý tiếng Việt cho người dùng. Nguồn thông tin của hệ thống được thu thập tự động từ các báo, trang thông tin điện tử của Việt Nam (Dân Trí, VnExpress, VietNamNet, …) từ các nguồn tin RSS của các trang này. Người dùng đã đăng nhập trên hệ thống khi sử dụng sẽ được hệ thống đưa ra những gợi ý về các tin tức mà người dùng quan tâm theo đánh giá sở thích cá nhân của bản thân mình.
Vì dựa vào xenoNews làm nền tảng hệ thống và tôi chỉ xây dựng module phản hồi ẩn để đưa vào hệ thống này nên hệ thống mới được xây dựng có kiến trúc tương tự như kiến trúc của xenoNews. Hệ thống có cấu trúc 3 tầng ứng với 3 phần chính:
Hình 3.2: Kiến trúc hệ thống của xenoNews
- Phần lõi xử lý (back-end): đây là phần chịu trách nhiệm xử lý chính trong hệ thống, thực hiện hầu hết các nhiệm vụ: thu thập tin tức từ các báo điện tử, xử lý nội dung tin, cập nhật mô hình người dùng, tính toán và gợi ý tin tức, … - Phần giao diện người dùng (front-end): chính là trang web người dùng truy cập
để đọc tin. Phần này có các chức năng chính sau: hiển thị các tin tức và kết quả xử lý của phần back-end tới người dùng, nhận yêu cầu từ người dùng và thu thập thông tin phản hồi, …
- Tầng trung gian (middle-level): bao gồm có cơ sở dữ liệu (CSDL) và một bộ phận xử lý yêu cầu (từ front-end), với các nhiệm vụ sau: cập nhật tương tác của người dùng vào cơ sở dữ liệu, đồng thời chuyển dữ liệu mà back-end đã tính toán đến người dùng thông qua giao diện web.
3.1.2. Nguyên lý hoạt động của hệ thống
Đầu tiên, người quản trị sẽ cập nhật các nguồn tin RSS từ các trang báo, trang thông tin điện tử vào cơ sở dữ liệu. Module thu thập tin tức truy cập vào cơ sở dữ liệu để lấy các nguồn tin RSS. Với mỗi nguồn tin RSS, module thu thập tin tức truy cập các
trang báo để lấy mã HTML của tin tức đẩy vào module tạo hồ sơ đối tượng để mỗi tin tức sẽ có một hồ sơ đối tượng tin tức. Hồ sơ đối tượng tin tức sẽ được đẩy vào module gợi ý.
Người dùng xem và tương tác với hệ thống qua giao diện hiển thị là website tổng hợp tin tức, website lấy dữ liệu từ cơ sở dữ liệu. Tại giao diện sẽ được cài đặt các công cụ để thu thập thông tin phản hồi ẩn của người dùng vào module phản hồi ẩn. Module phản hồi ẩn xử lý các thông tin này để cập nhật hồ sơ người dùng vào module quản lý hồ sơ người dùng. Module quản lý hồ sơ người dùng sẽ quản lý toàn bộ hồ sơ của người dùng thông qua cơ sở dữ liệu và module phản hồi ẩn để đưa ra hồ sơ người dùng đẩy vào module gợi ý. Module gợi ý dựa vào hồ sơ đối tượng tin tức và hồ sơ người dùng để đưa ra kết quả gợi ý đẩy vào cơ sở dữ liệu và từ đó truyền sang giao diện hiển thị để đưa ra website có những tin tức gợi ý cho người dùng theo đúng sở thích của người dùng đó. Cơ sở dữ liệu Module thu thập tin tức Nguồn RSS Mã HTML của tin tức Module quản lý hồ sơ người dùng Kết quả gợi ý Hồ sơ người dùng Người dùng Giao diện hiển thị Module tạo hồ sơ đối tượng
Module gợi ý Hồ sơ đối tượng tin tức
Tương tác Module phản hồi ẩn Thông tin phản hồi ẩn Cập nhật hồ sơ người dùng
Hình 3.3: Sơ đồ hoạt động của hệ thống
Trong các phần sau tôi sẽ trình bày về việc xây dựng module phản hồi ẩn, được coi là thành phần bổ sung vào hệ thống xenoNews có sẵn. Các thành phần, hệ thống lưu trữ thông tin đều sử dụng tập trung trên máy chủ.