Tải bản đầy đủ (.pdf) (56 trang)

Nghiên cứu công nghệ khai phá dữ liệu văn bản áp dụng cho các trang tin tức trên các thiết bị cầm tay (PDAS & SMARTPHONES).PDF

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.94 MB, 56 trang )



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


2.3.1 Phân cụm trang 29
2.3.2 Trích xuất mẫu chung 30
2.3.3 Khớp dữ liệu 33


Kênh tin tức điện tử cho các thiết bị cầm tay


2

2.3.4 Gán nhãn dữ liệu 35
Chƣơng 3 . PHÂN TÍCH THIẾT KẾ HỆ THỐNG 37
3.1.Giới thiệu 37
3.2. Mô hình Use Case: 38
3.2. Mô hình lớp 43
3.4. Danh sách các thực thể 45
3.5. Mô hình thực thể liên kết 45
Chƣơng 4. KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 46
4.1. Giới thiệu chung về hệ thống 46
4.2. Thực nghiệm và đánh giá kết quả 46
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
PHỤ LỤC. MÔ TẢ CHI TIẾT CÁC THỰC THỂ 54



Kênh tin tức điện tử cho các thiết bị cầm tay


4


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]

Cây con có nút gốc tại vị trí thứ i



Kênh tin tức điện tử cho các thiết bị cầm tay


5

CHÚ GIẢI KÝ HIỆU VÀ MÔ HÌNH

STT
Ký hiệu
Giải thích
1

Tiến trình thực hiện một nhiệm vụ nào đó
trong hệ thống
2

Tác nhân của hệ thống, đóng vai trò tương
tác với hệ thống trong quá trình thực hiện
3

Nguồn thông tin cung cấp cho hệ thống
4

Điều kiện kiểm tra và đưa ra các quyết định
tương ứng với các kết quả nhận được
5



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










Kênh tin tức điện tử cho các thiết bị cầm tay


7

MỞ ĐẦU
Sự phát triển của báo điện tử, một thành quả của Internet nói riêng và của
Công nghệ thông tin nói chung, đã dẫn tới các thay đổi lớn đối với thói quen
đọc báo. Internet với ưu thế về tốc độ và khả năng vươn xa cho phép độc giả
có thể tiếp cận tin tức mọi lúc mọi nơi. Với sự tiến bộ không ngừng của công
nghệ viễn thông, ngày nay thiết bị cầm tay thông minh ngày càng được phổ
biến với giá cả ngày càng hạ và đã trở thành một công cụ đắc lực, bình dân
và không thể thay thế. Tốc độ kết nối Internet không dây được cải thiện
không chỉ về tốc độ mà cả về phạm vi phủ sóng, trong đó, thế hệ mạng
không dây chuẩn WIMAX (IEEE 802.16) cho phép khoảng cách phủ sóng
tới 50km và thông lượng tối đa tới 70Mbps.
Tất cả những yếu tố trên đây đã trở thành tiền đề cho việc đáp ứng nhu cầu
xem tin tức trên thiết bị cầm tay, một nhu cầu đã trở thành thiết yếu, hàng
ngày, hàng giờ của mỗi người dùng cuối các thiết bị này.
Tuy nhiên, việc đọc báo trên các thiết bị cầm tay còn nhiều bất tiện. Khung
màn hình hạn chế của thiết bị cầm tay không cho phép hiển thị trang Web
được thiết kế cho máy tính để bàn: font chữ thường bị lỗi khi xem tin tức
trên thiết bị cầm tay, các thông tin quảng cáo và banner cũng được tải về
cùng với tin tức làm giảm đáng kể tốc độ và gây tràn màn hình…
Chính vì vậy, mục đích của luận văn này là xây dựng một hệ thống cho phép
dễ dàng và thuận tiện xem tin tức tiếng Việt của báo điện tử bất kỳ trên thiết
bị cầm tay thông minh.
Luận văn sử dụng thuật toán RTDM (Restricted Top-Down Mapping) do

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

thiết bị cầm tay. Mô tả bài toán và hướng tiếp cận giải quyết bài toán xây
dựng kênh tin điện tử từ các báo điện tử tiếng Việt trên các thiết bị cầm tay
cũng được trình bày.
Bài toán xây dựng kênh tin tức điện tử trên các thiết bị cầm tay được giải
quyết trên cơ sở phân cụm các trang Web trong site báo điện tử theo đó nội
dung tin tức cần trích chọn được lấy từ vùng nội dung thông tin trong cấu
trúc các trang Web của site đó.
Chương 2. Thuật toán RTDM và ứng dụng trong trích xuất tin trình bày vấn
đề đánh giá tính tương đồng của các trang Web thông qua khái niệm chi phí
chuyển đổi cây đối với kiến trúc cây mô tả các trang Web. Sau khi phân
cụm, lớp tương ứng với mỗi cụm được gán nhãn để tạo dựng mô hình phân
lớp cho các trang Web mới và trích chọn tin tức. Luận văn đề xuất một phiên
bản chi tiết của thuật toán để thi hành hệ thống trích chọn tin tức trên các báo
điện tử. Với phiên bản này, vấn đề thi hành hệ thống trở nên dễ dàng hơn.
Chương 3 giới thiệu quá trình phân tích và thiết kế hệ thống theo tiếp cận
hướng đối tượng. Các mô hình tương ứng được trình bày ở đây.
Chương 4. trình bày hệ thống thực nghiệm với một số nhận xét đánh giá kết
quả thực nghiệm.


Kênh tin tức điện tử cho các thiết bị cầm tay


9

Phần Kết luận tóm tắt các kết quả chính yếu nhất của luận văn.



Kênh tin tức điện tử cho các thiết bị cầm tay



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

1
, hiện có khoảng 2 triệu người Việt Nam truy cập Internet, và không ít
hơn số đó là độc giả của các tờ báo điện tử như VietNamNet, VnExpress,
TuoitreOnline, Lao động điện tử


1



Kênh tin tức điện tử cho các thiết bị cầm tay


11

Do ưu thế
về phương
tiện công
nghệ mà
báo điện tử
ngày càng
thu hút
được nhiều
độc giả. Ở
Mỹ, nếu
tính theo số
lượng độc
giả thì báo
giấy đang ngày càng bị thất thế so với báo điện tử. Một nghiên cứu hồi tháng
3-2005 của Hiệp Hội Báo In Hoa Kỳ (NNA) cho thấy với các tờ báo lớn và

đượ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



12

của con người cộng với giá cả cũng hợp lý nên các thiết bị này cũng ngày
càng được dùng phổ biến hơn (nhiều nhất vẫn là trong các doanh nghiệp).
Những thuận lợi này là cơ sở dẫn tới nhu cầu xem tin tức điện tử trên các
thiết bị cầm tay ngày một phát triển
3
.
1.1.3. Công nghệ kết nối internet không dây
Song song với sự phát triển của các thiết bị cầm tay, công nghệ kết nối
không dây cũng phát triển ngày càng mạnh mà mới đây nhất là chuẩn
Wimax - 802.16e với khả năng kết nối với tốc độ 20Mbps trong phạm vi
3km và có thể tiến xa hơn. Wimax hay còn gọi là chuẩn 802.16, mới được
công nhận vào tháng 1/2003, cung cấp khả năng truy cập băng rộng không
dây giữa người sử dụng và điểm kết nối bằng các băng tần từ 2 đến 11 GHz,
có thể kết nối mà không cần điều kiện tầm nhìn thẳng. Hiện tại, chuẩn này đã
được kết nối thử nghiệm tại khoảng trên 100 điểm trên toàn thế giới. Công
nghệ này đặc biệt phù hợp với việc phổ cập Internet băng rộng tại nhiều
miền sâu, vùng xa.
Trên thế giới hiện có khoảng 100 cuộc thử nghiệm công nghệ WiMAX đang
được tiến hành. Sự quan tâm của các chính phủ và các nhà cung cấp dịch vụ
về triển khai công nghệ WiMAX là bằng chứng rõ ràng cho thấy công nghệ
này rất thiết thực, người dùng cuối sẽ được tận hưởng những giá trị sử dụng
cao từ dịch vụ băng rộng không dây và khả năng di động không giới hạn.
Hiện nay, công nghệ WiMAX đang được sử dụng làm công nghệ không dây
cố định cho truy cập băng rộng đầu cuối trong năm 2005 và sẽ tiến tới di
động hoàn toàn trong những năm tới
4


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

sử dụng có thể đọc tin tức trên thiết bị cầm tay (PDA). Hệ thống này sẽ trích
lọc, thu gọn các trang báo cồng kềnh thành các trang tin gọn nhẹ, dễ đọc với
sự loại bỏ các thông tin dư thừa, các banner quảng cáo, thu nhỏ các hình ảnh
sao cho phù hợp với màn hình hạn chế của các thiết bị cầm tay (Hình 1).
Hình 2 mô tả sơ đồ của hệ thống kênh tin tức điện tử cho các thiết bị cầm
tay. Hệ thống được tích hợp vào phục vụ truy nhập Web của các thiết bị cầm
tay, cung cấp dịch vụ đọc tin tức PDA. Mỗi khi người dùng cuối sử dụng
dịch vụ này, hệ thống căn cứ vào các khuôn mẫu đã được nhận biết về mỗi
báo điện tử để trích chọn chỉ nội dung tin tức cần thiết cho người dùng. Cách
làm như vậy rất thích hợp với việc khai thác tin tức từ các thiết bị cầm tay.

Hình 2. Sơ đồ hệ thống Kênh tin tức cho 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


14

1.2.2. Mô tả các chức năng cơ bản của hệ thống
Hệ thống cần thực hiện được các chức năng cơ bản là xác định các tin - mục
tin trên các báo điện tử, xử lý trang tin và định dạng hiển thị tin trên các thiết
bị cầm tay. Dưới đây là một số yêu cầu cơ bản của các chức năng này.
a) Chức năng xác định các tin - mục tin trên các báo điện tử
- Yêu cầu: xác định được các mục tin của các trang báo điện tử, trong các
trang chi tiết, hệ thống phải xác định được các vùng tin cần trích xuất, vùng
tin có thể loại bỏ. Các vùng tin tức sau khi trích xuất sẽ được định dạng lại
cho phép hiển thị trên thiết bị cầm tay.
- Đề xuất giải pháp:
Sử dụng kĩ thuật phân tích cấu trúc trang tin sử dụng thuật toán RTDM [28].

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

site báo điện tử để xác định các lớp trang Web có chung khuôn dạng trình
diễn, qua đó nhận diện được vùng trong khuôn mẫu này chứa các nội dung
cần trích chọn. Vấn đề xác định tính tương đồng giữa các trang Web, nền
tảng để phân cụm, được trình bày trong chương tiếp theo thông qua khái
niệm chi phí chuyển đổi cây và thuật toán RTDM [28].


Kênh tin tức điện tử cho các thiết bị cầm tay


16

CHƢƠNG 2. THUẬT TOÁN RTDM VÀ ỨNG DỤNG TRONG
TRÍCH XUẤT TIN
2.1. Khái niệm “Chi phí chuyển đổi cây”
Như giới thiệu ở chương trước, việc tìm kiếm hoặc trích xuất dữ liệu từ các
trang Web có thể được thực hiện thông qua việc phân tích cấu trúc của các
trang Web đó. Với việc phân tích cấu trúc của các trang Web này, ta có thể
nhóm các trang có cùng cấu trúc thành một nhóm trang và tìm những biểu
diễn giống nhau của cấu trúc của các trang Web này trong một nhóm.
Nội dung chính của chương này được tổng hợp các nội dung cơ bản của
[28]. Phiên bản chi tiết của thuật toán RTDM do luận văn đề xuất. Ngoài ra,
luận văn cũng đưa ra một số nhận xét, ý tưởng có thể dùng để cải tiến thuật
toán.
Theo Davi de Castro Reis và các đồng tác giả [28], cấu trúc của các trang
Web có thể được biểu diễn dưới dạng một cây (Ví dụ như Cây DOM), vì vậy
chúng ta sử dụng khái niệm chi phí chuyển đổi cây (Tree Edit Distance) để
đánh giá mức độ giống nhau giữa các trang. Một cách trực quan, khoảng
cách giữa hai cây T
A

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> …






Hình 3. Ví dụ cây có thứ tự, được gán nhãn, có gốc cố định
Chi phí tính toán chi phí chuyển đổi cây thông qua việc sử dụng 3 thao tác
chính là Xoá đỉnh, Chèn đỉnh, Thay thế đỉnh. Chi phí cho từng thao tác này
là khác nhau tuỳ trường hợp. Giải pháp của bài toán chính là tìm tập hợp các
thao tác được thực hiện với chi phí là nhỏ nhất để chuyển đổi giữa hai cây.
Một bài toán tương đương chính là bài toán tìm ánh xạ chuyển đổi (dưới đây
gọi tắt là ánh xạ) giữa hai cây với chi phí nhỏ nhất.
Trong các phần trình bày dưới đây, kí hiệu T
x
để chỉ một cây và kí hiệu T
x
[i]
để chỉ đỉnh thứ i của T
x
. Kích thước của một cây chính là số đỉnh có trong
cây đó. Davi de Castro Reis và các đồng tác giả đã xem xét khái niệm ánh xạ
chuyển đổi cây như một khái niệm cơ bản trong phương pháp của họ [28].
Định nghĩa 1 [17, 18, 21, 25, 28]
Ánh xạ giữa cây T
1
kích thước n
1
và cây T
2
kích thước n
2
là một tập hợp M
các cặp có thứ tự (i, j) thoả mãn các điều kiện sau với mọi (i

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

[j
1
] ở bên trái T
2
[j
2
]


Kênh tin tức điện tử cho các thiết bị cầm tay


18

 T
1
[i
1
] là tổ tiên của T
1
[i
2
] khi và chỉ khi T
2
[j
1
] là tổ tiên của T
2
[j
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ợp các nút trong T
1
mà không xuất hiện trong bất cứ cặp (i,j)  M, I là tập
hợp các nút trong T
2
mà không xuất hiện trong bất cứ cặp (i,j)  M. Khi đó
chi phí cho việc ánh xạ được cho bởi công thức:
c = Sp + Iq + Dr
Trong đó p, q, r tương ứng là chi phí cho thao tác thay thế, chèn và xóa một
nút. Ta có thể giả thiết các chi phí này là bằng nhau nhưng khi cài đặt vào
ứng dụng thực thì các chi phí này có thể khác nhau.


Kênh tin tức điện tử cho các thiết bị cầm tay


19

Bài toán tính toán chi phí chuyển đổi giữa hai cây là một bài toán khó, có
một số giải thuật, đưa vào một số các yếu tố cân bằng khác nhau, được đề
xuất gần đây, tuy nhiên tất cả đều có độ phức tạp tính toán trên cấp đa thức
bậc hai. Hơn nữa, người ta chứng minh rằng nếu hai cây không có thứ tự thì
bài toán có độ phức tạp là NP-đầy đủ.
Thuật toán đầu tiên về bài toán ánh xạ (được giới thiệu trong tài liệu [18])
với độ phức tạp là O(n
1
n
2
h
1

h
2
) với n
1
và n
2
là kích thước của cây, h
1
và h
2

độ 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

1
và h
2
là chiều cao còn l
1
và l
2
là số các lá
của mỗi cây.
Một trong các cách tiếp cận điển hình là tiếp cận dựa trên phép ánh xạ trên-
xuống, phép ánh xạ trên-xuống hạn chế các thao tác chèn và xoá ở các nút lá.
Hình 4 minh hoạ một ánh xạ trên-xuống như định nghĩa dưới đây.
Định nghĩa 2
Ánh xạ M giữa cây T
1
và cây T
2
được gọi là trên-xuống khi và chỉ khi với mọi
cặp (i
1
,i
2
)

M, ta cũng có một cặp (cha(i
1
), cha(i
2
))


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

2
) trong đó n
1
, n
2
là kích thước tương ứng của T
1
và T
2
.
S. S. Chawathe [5] giới thiệu một thuật toán khác khá phổ biến giải quyết bài
toán ánh xạ trên-xuống cũng với độ phức tạp O(n
1
n
2
), tuy nhiên thuật toán
này không sử dụng phương pháp quy hoạch động mà được giải quyết bằng
thuật toán đơn hình.
Ánh xạ trên-xuống cũng đã áp dụng thành công trong một số ứng dụng liên
quan đến Web, ví dụ như ứng dụng phân loại tài liệu. Trong [16], Nierman
và Jagadish sử dụng thuật toán tính toán chi phí chuyển đổi cho ánh xạ trên
xuống để phân nhóm các tài liệu XML.
Trong bài toán "Trích xuất tin tức tự động", luận văn này chỉ quan tâm đến
vấn đề xác định sự tương đồng giữa cấu trúc của các trang Web. Thực sự là
các trang Web có cấu trúc hoặc là cấu trúc HTML hoặc là XML, như đã đề
cập ở trên, có thể biểu diễn dưới dạng cây có thứ tự được gán nhãn, có gốc
cố định. Thường mô hình DOM được vận dụng để mô tả cây.
Trong phần tiếp theo sẽ trình bày thuật toán mới xác định chi phí ánh xạ giữa
các cây biểu diễn cấu trúc của các trang Web cho lớp bài toán giới hạn đó là
ánh xạ trên-xuống, kết quả của thuật toán này chính là chi phí chuyển đổi

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
]


t
2
[i
2
], thì sẽ không có
con cháu của i
1
và i
2
thuộc M, với i
1
và i
2
không phải là nút gốc của các cây
T
1
, T
2
.






Hình 3 – Một ví dụ về ánh xạ trên xuống hạn chế
Theo [28], thuật toán RTDM là kết hợp giữa ý tưởng được nêu trong các
công trình [19, 25]. Để xác định ánh xạ giới hạn trên-xuống giữa 2 cây T
1


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


2
begin
3
m

số con của nút gốc của cây T
1

4
n

số con của nút gốc của cây T
2
.
5
M [i,0]

0

i = 0, m
6
M[0,j]

0

j = 0, n
7
for i=1 to m do
8
for j=1 to n do

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


M[i, j -1 ] + tổng_chi_phí_chèn(T
2
[k]) ; (T
2
[k] là các đỉnh

C
j
)
13
if M[i -1, j -1] >

then
14
s




15
elseif T
1
[i] và T
2
[j] là các cây con giống nhau
16
s

0

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á

22
s

chi_phí_thay_thế(t
1
[i], t
2
[j])
23
s

s + tổng_chi_phí_xoá(T
1
[k]); (T
1
[k] là các đỉnh


C
i
)
24
else
25
s

RTDM(T
1
[i], T
2

[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

2
),
và theo lý thuyết thì đây là thuật toán tốt nhất hiện nay. Còn với thuật toán
RTDM thì thời gian thực hiện trong trường hợp tồi nhất cũng chỉ là O(n
1
n
2
).
Tuy nhiên trong thực tế, nó thực hiện tốt hơn nhiều do nó chỉ thực hiện trên
ánh xạ trên-xuống hạn chế.
Thuật toán RTDM có chi phí thời gian tính toán tồi nhất khi hai cây giống
hệt nhau. Trong các trường hợp khác, chi phí thường được cắt giảm khi thuật
toán bỏ qua các dòng lệnh 18-23 hoặc 15-16. Ở đây thuật toán có đưa ra khai
niệm “ngưỡng” để đề phòng trường hợp thuật toán rơi vào vòng lặp vô hạn,
khi đó thuật toán bỏ qua các dòng lệnh 13-14, trường hợp này rất hay xẩy ra
khi chúng ta phân cụm các cây dựa trên cấu trúc tương tự của chúng.
Chúng ta cũng nhận thấy rằng, nếu bỏ các dòng lệnh 18-23 thì thuật toán
mới thu được áp dụng cho việc tính toán chi phí chuyển đổi cây trên-xuống
thông thường.
Một khía cạnh đáng chú ý khác của thuật toán RTDM là tính linh hoạt của
chi phí các thao tác trên cây cho phép kết quả đưa ra có tính phức hợp cao.
Nó cho phép so sánh cây cho trước với mẫu có kích thước biến đổi.


Kênh tin tức điện tử cho các thiết bị cầm tay


24

Thuật toán sẽ được áp dụng để tìm kiếm tin tức tự động trên các trang Web

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)

Biến toán cục, Mapping[i,j]= 1- có
ánh xạ giữa nút thứ i trên cây T
1

nút thứ j trên cây T
2
, 0 – không có
ánh xạ, M- số con cháu của T
1
, N –
số con cháu của T
2

3
RTDM(T
1
, T
2
,

: ngưỡng)
4
begin
5
m

số con của nút gốc của cây T
1

6

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



25

xóa, 3 – chèn
10
for i=1 to m do
11
for j=1 to n do
12
C
i


{con của (t
1
[i])}
13
C
j


{con của (t
2
[j])}
14
d

M[i - 1, j] + tổng_chi_phí_xoá(T
1
[k]); (T
1

[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





19
elseif T
1
[i] và T
2
[j] là các cây con giống nhau
20
s

0
21
elseif
22
if T
1
[i] là lá
23
s

chi_phí_thay_thế(T
1
[i], T
2
[j])
24
s

s + tổng_chi_phí_chèn (T
2
[k]) ; (T

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
)

28
else
29
s

RTDM(T
1
[i], T
2
[j],

)
30
end if
31
end if
32
M[i, j]

min(d, i, s)
33
if (d = min(d, i, s)) Action[i, j] = 2;
Chi phí xoá nhỏ nhất


Kênh tin tức điện tử cho các thiết bị cầm tay


26


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á

46
Mapping[ii,jj] = 0
47
ii ;
48
case 3:
chèn
49
Mapping[ii,jj] = 0
50
jj ;
51
endswitch
52
endwhile
53
return M[m, n]
54
End
Trong thuật toán sửa đổi, hai cây trước khi đưa vào thuật toán RTDM sẽ
được đánh số thứ tự cho các nút. Nút gốc sẽ có số thứ tự 1, các nút còn lại
trong cây được đánh số theo thứ tự duyệt trước của cây.

×