Các thành phần trong mô hình:
Mã số Tên xử lý Giải thích
Process 1 Tạo cây HTML
Tạo cây theo mô hình DOM (Document Object Model)
Process 2 Tạo nhóm trang Phân nhóm các trang
HTML
Process 3 Xác định mẫu Xây dựng mẫu cho từng
Kênh tin tức điện tử cho các thiết bị cầm tay
39
Process 4 Thiết lập giá trị các lá của cây mẫu
Process 5 Hiển thị trang tin Hiển thị teho định đạng
của thiết bị cầm tay
Process 6 Tính RTDM Tính giá trị RTDM cho
từng cặp cây HTML
Actor 1 Người đọc tin
Event 1 Nhập URL trang tin
Info 1 Nhóm trang
Info 2 Cây HTML
Check 1 Kiểm tra link
Resource 1 Trang web huấn luyện
Khi người dùng cuối nhập địa chỉ một trang tin tức hoặc lựa chọn trang tin có sẵn, hệ thống sẽ tiến hành kiểm tra liên kết (Url) đó:
Nếu tờ báo (News Site) đó đã được duyệt trước đó thì hệ thống sẽ tiến hành xác định mẫu của trang (page) tin tức cần xem và gán nhãn cho cây mẫu với thông tin của trang tin tức, sau đó tạo trang HTML và trả lại kết quả cho người dùng cuối.
Nếu tờ báo đó chưa được duyệt lần nào, hệ thống sẽ phải tiến hành phân nhóm và tạo mẫu. Để tiến hành phân nhóm và tạo mẫu, hệ thống sẽ phải lấy về một số trang huấn luyện (cỡ khoảng 200 trang với độ sâu cấp 3 của site). Từ các trang huấn luyện thu được, hệ thống sẽ tạo cây HTML theo mô hình DOM và áp dụng thuật toán RTDM để tính giá trị RTDM cho từng cặp cây này. Căn cứ vào các giá trị RTDM hệ thống sẽ nhóm các trang HTML cùng kiểu và tạo ra các mẫu. Các mẫu này sẽ được gán nhãn và trên cơ sở các nhãn này, hệ thống sẽ tiến
Kênh tin tức điện tử cho các thiết bị cầm tay
40
hành loại bỏ hay giữ lại các thông tin trên cây HTML sau khi được gán giá trị thực của trang tin.
Process 1 – Tạo cây HTML
Dùng để tạo các cây HTML rồi chèn vào Cơ sở dữ liệu. Đầu vào của tiến trình này là url của trang tin. Để thực hiện công việc tạo cây, ta sử dụng gói có sẵn “MILHTML”. Gói tiện ích MIL HTML cho phép biểu diễn trang HTML theo mô hình DOM, gói được chia sẻ trên diễn đàn codeproject tại địa chỉ sau:
http://www.codeproject.com/dotnet/apmilhtml.asp
Process 2 – Tạo nhóm trang
Module này nhằm tạo ra các nhóm trang từ các trang huấn luyện. Việc tạo nhóm trang sẽ chia site tin tức ra thành các nhóm trang khác nhau: nhóm các trang chủ, nhóm các trang mục tin, nhóm các trang tin chi tiết…. Việc phân nhóm trang được thực hiện nhờ vào phép tính RTDM giữa các cây HTML của trang web cần phân nhóm trang. Số lượng nhóm trang không giới hạn, ta coi 2 cây HTML là cùng chung một nhóm trang nếu chúng giống nhau đến 80% (giá trị ngưỡng này có thể thay đổi để phù hợp với từng trang web)
Process 3 – Xác định mẫu
Xác định mẫu là Module xác định cây HTML chung nhất của một nhóm trang. Cây HTML đó là cây có các là là các kí tự đại diện, thể hiện các vùng chứa thông tin. Mẫu của một nhóm trang sẽ xác định cây khung của nhóm trang đó. Để xác định mẫu của một nhóm trang, ta cũng kết hợp kết quả của RTDM đã được lưu trong CSDL cùng với thuật toán xây dựng wildcard. Mẫu cây của một nhóm sẽ được lưu trong bảng HtmlTree trong cơ sở dữ liệu với trường isPattern = YES.
Process 4 – Thiết lập các giá trị lá của cây mẫu.
Module này nhằm điền lại nhãn của các lá của cây “mẫu”, xác định xem các lá của nó có nhãn là gì: <table> <tr> <td> </table> </tr> </td>… Nhãn của lá ở đây chỉ bao gồm các thẻ Html mà không có nội dung bên trong của thẻ
Kênh tin tức điện tử cho các thiết bị cầm tay
41
đó. Một cây “mẫu” khi được dán nhãn và hiển thị theo định dạng html sẽ cho ta thấy được “khung” của trang tin tức.
Process 5 – Hiển thị trang tin
Module này xác định nội dung cần hiển thị rồi hiển thị chúng lên trên trình duyệt. Để có thể hiển thị theo như mong muốn của người dùng,module này cần kiểm tra, loại bỏ những vùng thông tin dư thừa và chỉ hiển thị các vùng thông tin cần thiết, đồng thời tinh chỉnh các đối tượng cho phù hợp với diện tích của màn hình thiết bị di động. Module này kết hợp kết quả đạt được từ module dán nhãn cho các lá của cây mẫu với một số mẹo heuristic.
Process 6 – Tính giá trị RTDM
Module này tính giá trị RTDM giữa 2 cây và chi phí ánh xạ giữa 2 nút bất kì của 2 cây khác nhau. Các giá trị này sau khi tính được sẽ được lưu trong CSDL.
Nhập Url trang tin:
Là sự kiện người dùng nhập địa chỉ cần xem tin tức qua thiết bị cầm tay. Module này lấy url mà người dùng nhập vào rồi chuyển qua cho module kiểm tra tính hợp lệ của url.
Người đọc tin:
Là người sử dụng cuối của hệ thống. Người sử dụng này gửi các yêu cầu đọc trang tin cho hệ thống.
Nhóm trang
Là các bảng chứa thông tin về trang tin tức cùng với các nhóm trang tin tức đã được xây dựng và cây mẫu của nhóm trang đó nhằm tăng khả năng thực hiện của hệ thống. Với những thông tin này, hệ thống không cần phải tạo mới một quá trình xử lý mà có thể sử dụng ngay những thông tin đã có để tiến hành xử lý trang tin.
Các trang tin HTML
Là nơi lưu trữ thông tin về các cây HTML cùng với các nút của cây đã được xây dựng từ các trang HTML có trong site Tin tức. Các cây này dung để
Kênh tin tức điện tử cho các thiết bị cầm tay
42
thực hiện các quá trình phân tích cấu trúc trang tin và xây dựng lại trang tin theo khuôn dạng mới.
Kênh tin tức điện tử cho các thiết bị cầm tay
43