Kênh tin tức điện tử cho các thiết bị cầm tay 1
MỤC LỤC
TRANG PHỤ BÌA Trang
LỜI CAM ĐOAN
MỤC LỤC
TÓM TẮT 3
CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT 4
CHÚ GIẢI KÝ HIỆU VÀ MÔ HÌNH 5
CÁC HÌNH MINH HỌA 6
MỞ ĐẦU 7
CHƢƠNG 1. XÂY DỰNG KÊNH CUNG CẤP TIN ĐIỆN TỬ TRÊN
THIẾT BỊ CẦM TAY 10
1.1. Báo điện tử và công nghệ Internet không dây 10
1.1.1. Báo điện tử - một thành tựu của Internet 10
1.1.2. Sự phát triển của các thiết bị cầm tay 11
1.1.3. Công nghệ kết nối internet không dây 12
1.2. Bài toán xây dựng kênh tin tức điện tử trên thiết bị cầm tay 13
1.2.1. Mô tả bài toán 13
1.2.2. Mô tả các chức năng cơ bản của hệ thống 14
1.3. Hƣớng tiếp cận giải quyết bài toán 14
Chƣơng 2. THUẬT TOÁN RTDM VÀ ỨNG DỤNG TRONG TRÍCH
XUẤT TIN 16
2.1. Khái niệm “Chi phí chuyển đổi cây” 16
2.2. Thuật toán RTDM 20
2.3. Áp dụng RTDM trích xuất tin tức tự động 27
CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
Từ viết tắt
Giải nghĩa
Data extraction
Trích xuất dữ liệu
Edit distance
Chi phí chuyển đổi giữa 2 cây (thay thế, chèn, xoá nút)
FK
Foreign Key
PDA
Personal digital assistant
PF
Primary & Foreign Key
PK
Primary Key
RTDM
Restricted Top-Down Mapping
Trees
Cây biểu diễn cấu trúc trang HTML
T
x
Cây biểu diễn trang Web.
T
x
[i]
Nút thứ i của cây T
x
t[i]
Miêu tả sự phụ thuộc lẫn nhau của các đối
tượng
Kênh tin tức điện tử cho các thiết bị cầm tay 6
CÁC HÌNH MINH HỌA
Hình 1 - Ví dụ về ánh xạ giữa 2 cây 18
Hình 2 – Ví dụ ánh xạ trên-xuống 20
Hình 3 – Một ví dụ về ánh xạ trên xuống hạn chế 21
Hình 4 - Một mẫu tin chi tiết Quốc tế trên trang tienphongonline.com.vn 28
Hình 5: Các bước trích xuất tin tức [28] 29
Hình 6 - Các bước hình thành ne-pattern từ các nhóm 35
Hình 7 : Gói các lớp phục vụ tính toán giá trị RTDM 44
Hình 8 : Gói các lớp quản lý các trang tin tức 44
Davi de Castro Reis và các đồng tác giả đề xuất [28], một thuật toán được
đánh giá rất hiệu quả trong việc trích xuất tin tức tức tự động thông qua việc
phân tích cấu trúc cây.
Thuật toán RTDM được cải tiến trên thuật toán trích xuất thông tin Web đã
có để áp dụng đặc thù riêng cho bài toán trích xuất tin tức. Qua thực nghiệm
trên 35 trang tin tức, thuật toán RTDM cho kết quả trung bình 87.71% trích
xuất tin tức thành công không cần có sự can thiệp của con người. Hiện tại,
RTDM được sử dụng như là thành phần lõi chính của hệ thống trích xuất tin
tức có tên là AkwanClipping (Akwan Information Technologies, Kênh tin tức điện tử cho các thiết bị cầm tay 8
, thuộc công ty Google tại Braxin) cung cấp tin tức
hàng ngày của các tờ báo phổ biến nhất tại Braxin.
Chúng tôi đã chi tiết và hoàn thiện các nội dung không công bố của thuật
toán RTDM, đồng thời tiến hành xây dựng một hệ thống kênh cung cấp tin
điện tử trên các thiết bị cầm tay thông minh. Hệ thống thử nghiệm đã trích
chọn thông tin trên các báo điện tử tiếng Việt phổ dụng hiện nay. Chúng tôi
đã tiến hành đánh giá hệ thống và các kết quả đánh giá cho thấy hệ thống là
hữu dụng. Tuy nhiên, để đưa hệ thống vào hoạt động thực tiễn cần phải
nghiên cứu tăng tốc độ hoạt động của nó.
Nội dung của luận văn được tổ chức thành bốn chương được giới thiệu sơ bộ
như dưới đây.
Chương 1. Xây dựng kênh tin tức điện tử trên các thiết bị cầm tay giới thiệu
sự phát triển nhanh chóng của báo điện tử và công nghệ kết nối Internet
không dây, tiền đề cho việc ra đời của kênh cung cấp tin điện tử trên các
10
CHƢƠNG 1. XÂY DỰNG KÊNH CUNG CẤP TIN ĐIỆN TỬ TRÊN
THIẾT BỊ CẦM TAY
1.1. Báo điện tử và công nghệ Internet không dây
1.1.1. Báo điện tử - một thành tựu của Internet
Đọc báo chí, xem tin tức là một nhu cầu không thể thiếu của mỗi người trong
xã hội thông tin, không phân biệt lứa tuổi. Các loại báo chí được phát hành
đa dạng về nội dung, hình thức phù hợp với nhu cầu riêng biệt của từng độc
giả.
Hiện nay, với sự phát triển lớn mạnh của internet kéo theo sự bùng nổ thông
tin, thông qua các trang báo điện tử. Chỉ với một thao tác tìm kiếm đơn giản,
ta cũng có thể tìm được hàng trăm đến hàng ngàn trang báo đủ chủng loại.
Chẳng hạn ta sử dụng công cụ tìm kiếm của Google để tìm theo từ khoá
"Báo điện tử" và những trang từ Việt nam, hàng loạt các trang tin tức được
liệt kê như vietnamnet.vn, vnexpress.net, dantri.com.vn, tuoitre.com.vn…
Theo thống kê của google.com.vn thì có đến 852.000 kết quả tìm được, tất
nhiên trong số đó rất nhiều các kết quả là trùng nhau, nhưng con số đó cũng
đủ để nói lên sự phát triển lớn mạnh về số lượng của các trang tin tức điện tử
tại Việt Nam hiện nay.
Một ưu điểm lớn của các tin tức trên các trang báo điện tử đó là tính thời sự,
cập nhật rất cao. Đối với các tin tức trên báo in giấy, có khi ta phải đợi đến
ngày hôm sau mới được xem. Nhanh nhất như báo "Thể thao Việt nam",
cũng phải đến 5h sáng hôm sau mới có thể đăng thông tin về các trận đấu
trong buổi đêm ngày hôm đó. Ngược lại, đối với các báo điện tử, thông tin
có thể được cập nhật gần như lập tức khi có sự kiện.
Theo thống kê trên diễn đàn nghiệp vụ báo chí Việt Nam vào tháng 11 năm
2004
được tín nhiệm nhất ở nước Mỹ như New York Times, Washington Post, số
người đọc báo qua mạng đã vượt trội số người đọc báo in (New York Times:
12,8 triệu/5 triệu; Washington Post: 7.8 triệu/1.8 triệu, Los Angeles Times:
4.3 triệu/2.4 triệu)
1,
2
.
Cũng vì sự phát triển bùng nổ như vậy nên việc đọc thông tin trên báo điện
tử một cách hiệu quả cũng không phải là dễ dàng. Hiện tượng người đọc báo
điện tử khó kiểm soát tin và nội dung tin đã đọc đã trở thành thực tế. Cần
thiết xây dựng phương tiện hỗ trợ người dùng giải quyết hiện tượng nói trên.
1.1.2. Sự phát triển của các thiết bị cầm tay
Ngày nay, với sự phát triển vượt bậc của khoa học công nghệ, các sản phẩm
cầm tay đã thực sự đem lại rất nhiều hiệu quả lao động cho con người. Các
thiết bị có thể kể đến ở đây là các điện thoại thông minh (smart phone), máy
tính bỏ túi (pocket pc). Cùng với sự phát triển công nghệ, các thiết bị này đã
được hỗ trợ khả năng lướt Web không dây với tốc độ ngày càng cải thiện.
Do đó, đây cũng là một kênh tiếp cận thông tin, tin tức điện tử thuận tiện
nhanh chóng, gọn nhẹ mọi lúc mọi nơi. Hơn thế nữa, do nhu cầu công việc 2
Hình 1. Tin tức điện tử trên các thiết bị cầm tay Kênh tin tức điện tử cho các thiết bị cầm tay
Chưa cần đến khả năng kết nối tốc độ cao, các dịch vụ truy cập internet di
động cũng sẽ được hình thành tại VN trong thời gian tới với tốc độ chấp
nhận được 156Kbps đối với các thiết bị di động. Dịch vụ băng rộng di động
của EVN Telecom sử dụng công nghệ CDMA 2000-1X, tần số 450 Mhz,
cho phép người sử dụng kết nối Internet trực tiếp trên máy điện thoại hoặc
thông qua máy tính cá nhân với tốc độ 156 Kbps đối với mạng 1X tại bất cứ
nơi nào có phủ sóng
5
. 3
4
5
Kênh tin tức điện tử cho các thiết bị cầm tay 13
1.2. Bài toán xây dựng kênh tin tức điện tử trên thiết bị cầm
tay
1.2.1. Mô tả bài toán
Mục tiêu của luận văn là nghiên cứu các công nghệ khai phá dữ liệu văn bản,
áp dụng cho việc xây dựng một kênh tin tức điện tử hỗ trợ cho những người
Giải pháp này áp dụng định dạng cho các trang tin bất kì có thể xem được
trên các màn hình thiết bị cầm tay có kích thước hạn chế.
b) Chức năng xử lý trang tin
- Yêu cầu: xử lý nội dung trang tin cần xem, xác định kiểu trang tin, lọc bỏ
các thông tin dư thừa và xây dựng lại trang tin cho phép hiển thị trên thiết bị
cầm tay.
c) Chức năng định dạng hiển thị tin trên các thiết bị cầm tay
- Yêu cầu: Hiển thị các trang tin (phân phối giữa hình ảnh, văn bản cho phù
hợp để có thể hiển thị tốt trên các thiết bị cầm tay)
- Đề xuất giải pháp: Bản thân các trình duyệt trên các thiết bị cầm tay khi
kết nối vào một trang bất kì sẽ hiển thị hết nội dung của trang đó, do vậy ta
xây dựng một Web site thu nhỏ kích thước của trang Web tin tức. Công việc
chỉnh sửa này thực hiện trên Web server sẽ làm tăng hiệu quả hoạt động của
thiết bị cầm tay do tốc độ xử lý của các thiết bị cầm tay là không yêu cầu
cao.
1.3. Hướng tiếp cận giải quyết bài toán
Nội dung đề tài này là giải quyết bài toán phân cụm các trang web theo nội
dung. Trên cơ sở bài toán phân cụm các trang web, hệ thống tìm ra các
khuôn mẫu trang Web trong một site cung cấp tin tức điện tử, mỗi khuôn Kênh tin tức điện tử cho các thiết bị cầm tay 15
mẫu đó được coi là một lớp các trang Web tương ứng trong site. Đối với mỗi
khuôn mẫu, hệ thống áp dụng việc trích xuất nội dung các trang tin tức và
định dạng lại cho phép xem được trên các thiết bị cầm tay.
Như vậy, một bài toán cốt lõi của hệ thống là phân cụm các trang Web thuộc
và T
B
là "giá tối thiểu" phải trả cho một tập các thao tác
để chuyển đổi T
A
thành T
B
.
Mặc dù có thể áp dụng cho cây bất kỳ, nhưng để thuận tiện áp dụng nên
trong luận văn này, chúng tôi tập trung chủ yếu vào cây có thứ tự, được gán
nhãn, có gốc cố định (labeled ordered rooted tree). Một cây có gốc (rooted
tree) là cây có đỉnh gốc là cố định. Cây có thứ tự có gốc (ordered rooted
tree) là cây có gốc cố định và thứ tự các con là cố định với mỗi đỉnh. Cây có
thứ tự, được gán nhãn, có gốc cố định là cây có mỗi đỉnh được gán nhãn l.
Từ đây về sau, chúng ta sẽ đơn giản sử dụng khái niệm "cây" để chỉ cây có
thứ tự, được gán nhãn, có gốc cố định, các trường hợp khác sẽ được chú
thích cụ thể. Kênh tin tức điện tử cho các thiết bị cầm tay 17
Để mô tả cấu trúc cây của các trang Web, ta giả sử rằng các trang Web này
được biểu diễn dưới dạng một cây "cây có thứ tự, được gán nhãn, có gốc cố
định". Các nhãn ở đây chính là các thẻ HTML như <table>, <tr>, <td> …
1
, j
1
), (i
2
, j
2
)
M:
i
1
= i
2
khi và chỉ khi j
1
= j
2
.
T
1
[i
1
] ở bên trái của T
1
[i
2
] khi và chỉ khi T
2
]
Hình 1 - Ví dụ về ánh xạ giữa 2 cây
Điều kiện 1 xác định một đỉnh của một cây không xuất hiện quá 1 lần trong
ánh xạ, điều kiện thứ 2 bảo toàn thứ tự trái - phải giữa các nút, còn điều kiện
thứ 3 đảm bảo cấu trúc phân cấp giữa 2 cặp nút trong ánh xạ.
Nói một cách đơn giản, phép ánh xạ cho phép mô tả các bước hiệu chỉnh từ
cây này thành cây kia, không quan tâm đến thứ tự các thao tác được áp dụng.
Trong hình 3, những đường nét đứt giữa các đỉnh của cây T
1
và các đỉnh của
cây T
2
phải thay đổi nếu các đỉnh này khác nhau, các đỉnh còn lại không phải
thay đổi. Đỉnh không có đường nào nối tới trên cây T
1
là đỉnh sẽ bị xoá, còn
đỉnh không có đường nào nối tới trên cây T
2
là đỉnh phải được chèn vào.
Như đã đề cập ở trên, việc tìm chi phí chuyển đổi cây tương đương với việc
tìm chi phí nhỏ nhất cho ánh xạ giữa 2 cây. Gọi M là ánh xạ giữa hai cây T
1
và cây T
2
, gọi S là tập con các cặp (i,j) M với các nhãn riêng biệt, D là tập
h
2
) với n
1
và n
2
là kích thước của cây, h
1
và h
2
là
độ cao tương ứng. Đây là thuật toán tính toán động thực hiện việc tính toán
đệ quy chi phí chuyển đổi giữa các xâu biểu diễn tập hợp các đỉnh con của
các đỉnh của cây. J. T. L. Wang và các đồng tác giả [21] đã giới thiệu một
thuật toán với độ phức tạp O(d
2
n
1
n
2
min(h
1
,l
1
)min(h
2
,l
2
)) với d là chi phí
chuyển đổi giữa các cây con, h
M với i
1
và i
2
tương ứng
không phải là nút gốc của T
1
và T
2
. Kênh tin tức điện tử cho các thiết bị cầm tay 20
Hình 2 – Ví dụ ánh xạ trên-xuống
Thuật toán đầu tiên giải quyết bài toán tính toán chi phí chuyển đổi cho ánh
xạ trên - xuống được Selkow giới thiệu trong [17].
Yang [25] giới thiệu một thuật toán quy hoạch động với độ phức tạp là
O(n
1
n
giữa các cây đó.
2.2. Thuật toán RTDM
Mục này sẽ trình bày một thuật toán xác định một kiểu ánh xạ "trên-xuống
hạn chế" (Restricted Top-Down Mapping) [28]. Một cách trực quan, trong Kênh tin tức điện tử cho các thiết bị cầm tay 21
phép ánh xạ trên-xuống hạn chế, các thao tác chèn, xóa, thao tác thay thế các
đỉnh chỉ hạn chế thao tác với các lá của cây.
Định nghĩa 3 [28]
Một ánh xạ trên-xuống M giữa cây T
1
và cây T
2
được gọi là trên-xuống hạn
chế khi và chỉ khi với mọi cặp (i
1
,i
2
)
M, mà t
1
[i
1
]
và
T
2
, đầu tiên thuật toán RTDM tìm các cây con cùng mức giống hệt nhau của
T
1
và T
2
. Bước này của thuật toán thực hiện trong thời gian tuyến tính sử
dụng đồ thị các lớp tương đương thực hiện tương tự như trong [19], tuy
nhiên thuật toán trong [28] thực hiện duyệt cây theo thứ tự sau và cách tiếp
cận đơn giản hơn vì chỉ quan tâm đến những cây con cùng mức giống hệt
nhau. Sau khi các đỉnh của cây được nhóm thành các lớp tương đương,
chúng ta áp dụng thuật toán của Yang [25] để tìm ánh xạ trên-xuống hạn chế
nhỏ nhất giữa các cây. Nội dung thuật toán RTDM được trình bày như sau:
1
RTDM(T
1
, T
2
,
: ngưỡng) Kênh tin tức điện tử cho các thiết bị cầm tay 22
9
C
i
{con của (t
1
[i])}
10
C
j
{con của (t
2
[j])}
11
d
M[i - 1, j] + tổng_chi_phí_xoá(T
1
[k]); (T
1
[k] là các đỉnh
C
i
)
12
i
17
elseif
18
if T
1
[i] là lá
19
s
chi_phí_thay_thế(T
1
[i], T
2
[j])
20
s
s + tổng_chi_phí_chèn (T
2
[k]) ; (T
2
[k] là các đỉnh
C
j
)
21
elseif T
2
[j] là lá
[j],
) Kênh tin tức điện tử cho các thiết bị cầm tay 23
26
end if
27
end if
28
M[i, j]
min(d, i, s)
29
end for
30
end for
31
return M[m, n]
32
End
Như diễn giải trong [28], thuật toán chuyển đổi cây trên-xuống thông thường
của Chawathe trình bày trong bài báo [5] thực hiện trong thời gian O(n
1
n
và trích xuất các thành phần của tin tức (ví dụ như: tiêu đề, nội dung,…).
Tuy nhiên thuật toán trên mới chỉ cho phép tính toán chi phí chuyển đổi cây,
giá trị trả về là tổng các chi phí xoá, chèn và thay thế. Giá trị đó chỉ có thể áp
dụng trong bước 1 (phân cụm) trong 4 bước trích xuất đề cập trong phần sau.
Các bước trích xuất mẫu, khớp dữ liệu yêu cầu phải xác định được ánh xạ
giữa hai cây. Vì yếu tố bí mật kinh doanh nên Davi de Castro Reis và các
đồng tác giả đã không đưa vào các bước cho phép lưu giữ ánh xạ giữa hai
cây trong thuật toán này.
Chính vì vậy luận văn này xin đề xuất thuật toán sửa đổi thuật toán RTDM
của nhóm tác giả Braxin cho phép tính toán chi phí chuyển đổi cây và lưu
giữ ánh xạ giữa 2 cây này.
1
SetTreeNodeIndex(T
1
)
SetTreeNodeIndex(T
2
)
Đánh số thứ tự cho các nút trên
cây T
1
và T
2
theo thứ tự duyệt trước
2
Mapping[i,j] = 0; (
i = 0, M,
j = 0, N)
n
số con của nút gốc của cây T
2
.
7
M [i,0]
0
i = 0, m
8
M[0,j]
0
j = 0, n
9
Action[i,j] = 0; (
i = 0, m,
j = 0, n)
Lưu giữ thao tác cho chi phí nhỏ
nhất, Action[i,j] = 1 – thay thế, 2 – Kênh tin tức điện tử cho các thiết bị cầm tay
[k] là các đỉnh
C
i
)
15
i
M[i, j -1 ] + tổng_chi_phí_chèn(T
2
[k]) ; (T
2
[k] là các đỉnh
C
j
)
16
Action[i, j] = 1;
Mặc định là thay đổi
17
if M[i -1, j -1] >
then
18
s
2
[k] là các đỉnh
C
j
)
25
elseif T
2
[j] là lá
26
s
chi_phí_thay_thế(t
1
[i], t
2
[j])
27
s
s + tổng_chi_phí_xoá(T
1
[k]); (T
1
[k] là các đỉnh
C
i
)
34
if (i = min(d, i, s)) Action[i, j] = 3;
Chi phí chèn nhỏ nhất
35
end for
36
end for
37
ii = m;
38
jj = n;
39
while ((ii > 0) && (jj > 0))
theo vết ngược về vị trí M[0,0] tuỳ
theo giá trị của Action để gán ánh xạ
giữa các nút
40
switch (Action[ii, jj])
41
case 1:
thay đổi
42
Mapping[ii,jj] = 1
43
ii ;
44
jj ;
45
case 2:
xoá