Chương 3 : Hệ thống gợi ý tin tức tiếng Việt xenoNews
3.3 Thiết kế và cài đặt chi tiết các thành phần hệ thống
3.3.1 Hồ sơ đối tượng tin tức (News Item Profile)
Hệ thống gợi ý xenoNews đi theo hướng tiếp cận dựa trên nội dung. Chính vì vậy, muốn tính tốn để đưa quyết định cĩ nên gợi ý tin đĩ cho người dùng hay khơng, thì trước đĩ ta cần phải tạo được hồ sơ đối tượng.
Dựa trên cách thức phân loại của các trang tin tổng hợp: VietnamNet, VNExpress, Dân trí, …, mỗi bài báo sẽ được chia vào một trong các chuyên mục của Bảng 3.1.
Bảng 3.1: Các mục tin tức của hệ thống
Thời sự Thị trường Thể thao Cơng nghệ Phong cách Giáo dục Sức khoẻ Nhà đất
Tài chính – Kinh doanh CNTT – Viễn thơng Văn hố Du học Chăm sĩc sức khoẻ BĐS Chứng khốn Khoa học Giải trí Tuyển sinh Giới tính Khơng gian
sống Việc làm
Để biến đổi chuỗi ký tự gồm nhiều từ đơn trong nội dung tin tức thành các token (từ, từ ghép cĩ nghĩa) trong tiếng Việt, tơi sử dụng các cơng cụ và dữ liệu:
- Bộ tách từ vnTokenizer phiên bản 4.1.1 của nhĩm tác giả Lê Hồng Phong 1: theo thống kê của tác giả trên website, cơng cụ cĩ độ chính xác xấp xỉ 97%, được xây dựng sử dụng kết hợp từ điển (từ điển tiếng Việt được lấy từ đề tài VLSP 2) và giải thuật n-gram, trong đĩ mơ hình n-gram được huấn luyện sử dụng treebank (kho ngữ liệu câu được chú giải ngữ pháp) tiếng Việt (70.000 câu đã được tách từ).
1
http://www.loria.fr/∼lehong/tools/vnTokenizer.php
2
- Danh sách 570 từ dừng (stopword) tiếng Việt, lấy từ website Xử lý ngơn ngữ tự nhiên tiếng Việt 3. Từ dừng là các từ xuất hiện quá phổ biến trong một ngơn ngữ nhất định, do vậy cĩ ít giá trị khi tính tốn, so sánh.
Hệ thống, cụ thể trong trường hợp này là phần back-end, thường xuyên thu thập tin tức mới từ các báo điện tử phổ biến như: VietnamNet, Dân trí, Tinh tế, … Các tin này được lấy thơng qua các kênh RSS mỗi trang báo cung cấp, bao gồm những thơng tin cơ bản như: tiêu đề, mơ tả ngắn, ảnh, thời gian xuất bản, đường dẫn tới bài viết đầy đủ (trên các báo điện tử). Mỗi tin tức đều được tự động phân loại vào chuyên mục tương ứng, dựa trên nguồn RSS. Tơi tạm gọi quá trình này là thu thập thơng tin cơ bản về tin tức.
Như vậy, sau các bước trên, ta đã cĩ được các dữ liệu thơng tin cơ bản của các bài báo, được lọc ra từ RSS. Dựa trên những dữ liệu này, quá trình tạo hồ sơ đối tượng trải qua các bước:
1. Lấy trang web chứa tin thơng qua URL đã cĩ => được tồn bộ mã HTML của trang web chứa bài báo.
2. Chọn phần chứa tin tức => đoạn mã HTML chứa nội dung bài báo. 3. Loại bỏ các tag HTML => nội dung dạng thơ của bài báo.
4. Phân đoạn từ, sử dụng bộ tách từ vnTokenizer => nội dung bài báo dưới dạng một chuỗi các token.
5. Loại bỏ các từ dừng => chuỗi các token đã được làm sạch.
6. Xây dựng và lưu hồ sơ đại diện của bài báo: biểu diễn bài báo dưới dạng đếm số lần xuất hiện của token: di = {(token1i, count1i), …, (tokenxi, countxi)}, trong đĩ x là số token của bài báo i. Các hồ sơ đối tượng được mã hĩa dưới dạng nhị phân và lưu trữ trên đĩa cứng, phục vụ truy xuất nhanh khi cần đến.