Giải thuật bóc tách bản ghi dữ liệu có cấu trúc

Một phần của tài liệu Hệ thống bóc tách giá cả sản phẩm tự động (Trang 30)

2.2.1 Các nghiên cứu liên quan

Bóc tách thông tin Web từ các bản ghi dữ liệu đã được cấu trúc một cách cân đối là vấn đề quan trọng. Xác định được dữ liệu cần bóc tách nằm ở bản ghi nào thường là bước đầu tiên. Để giải quyết vấn đề này có một vài phương pháp được nghiên cứu và áp dụng phổ biến. Phần lớn các giải pháp cho vấn đề này chủ yếu dựa trên nền tảng của wrapper như đã nhắc đến ở trên. Cách tiếp cận này đòi hỏi thực hiện hoàn toàn bằng tay cho mỗi trang Web dựa trên các mẫu (pattern) đã được quan sát. Dù việc xây dựng tập luật mẫu theo cách trực quan hay thông qua các tệp cấu hình thì cách tiếp cận này vẫn đòi hỏi người sử dụng thao tác nhiều, và tỏ ra bất lợi với nguồn dữ liệu lớn, hỗn tạp.

Sau đây là tổng quan một vài kĩ thuật bóc tách tiêu biểu.

2.2.1.1 Kĩ thuật thủ công

Đây là kĩ thuật đơn giản nhất, bằng quan sát các trang web và mã nguồn HTML của chúng để tìm các mẫu HTML hiển thị chung nhất và sau đó người lập trình xây dựng các chương trình xác định các bản ghi dữ liệu đó. Cách tiếp cận này không thể mở rộng để áp dụng cho nhiều trang Web khác nhau và nhiều site khác nhau.

2.2.1.2 Kĩ thuật tách dựa trên học có giám sát

Đối với kĩ thuật này, hệ thống tách (hay còn gọi là wrapper) yêu cầu người dùng gán nhãn cho một tập các trang mẫu và xác định định dạng đầu ra cho các wrapper. Các wrapper có giao diện đồ họa cho phép người dùng gán nhãn. Sau quá trình này, các wrapper sẽ học cấu trúc các thành phần cần tách dựa trên tập các trang mẫu đã được gán nhãn.

Để minh họa cho kĩ thuật này ta lấy ví dụ dựa trên việc phân tích tiêu đề các bài báo trên trang vnexpress.net

Hình 2.4: Minh họa kĩ thuật tách dựa trên học có giám sát

Hai tiêu đề xuất hiện trong hình minh họa trên được khoanh ô. Chúng ta quan sát phía bên phải, đó là cây thẻ HTML DOM tương ứng của bài báo. Hai nút được chọn (có màu sẫm) tương ứng với hai tiêu đề. Ta nhận thấy rằng, từ nút cao nhất của cây thẻ, hai nút tương ứng với hai tiêu đề bài báo có cùng một vết (một đường đi qua các nút tính từ nút gốc đến nút hiện tại).

html >> table >> td >> table >> table >> tr >> a

Bằng việc gán nhãn cho các vết này, ta có thể tách được tất cả các tiêu đề bài báo. Vết là đúng cho tất cả các trang báo trên site mà được tạo ra từ một khuôn mẫu.

2.2.1.3 Kĩ thuật tách dựa trên học bán giám sát

Khác với hệ thống được học có giám sát, các hệ thống tách dựa học bán giám sát không yêu cầu người dùng gán nhãn cho các trang mẫu để tạo các qui tắc tách thông tin. Các wrapper kiểu này chấp nhận các trang web mẫu thô không cần gán nhãn, sau đó nó tự động tìm qui tắc (rule) tách thông tin. Tuy nhiên, phương pháp này yêu cầu người dùng lựa chọn các thông tin cần tách sau quá trình học. Do đó, nó được gọi là bán giám sát.

Với phương pháp sử dụng kĩ thuật này, các dấu hiệu nhận dạng, các thuộc tính của thẻ HTML là rất quan trọng để nhận dạng thông tin.

Tên thuộc tính Ý nghĩa của thuộc tính Xuất hiện trong các thẻ

Align Kiểu căn lề (trái, phải, giữa) APPLET,EMBED, FIELDSET,IMG...

Allowtranspa-

rency Đặt chế độ trong suốt FRAME,IFRAME...

alinkColor Mầu của các link active Document

Background Ảnh nền của object BODY,TABLE,TD,TH

Bgcolor Màu nền của object BODY,MARQUEE,TABLE,CO L,COLGROUP...

Bordercolor Màu viền của object FRAME,FRAMESET...

Bordercolordark Màu viền đậm của object TABLE,TD,TH,TR

Bordercolorlight Màu viền nhạt của object TABLE,TD,TH,TR

Cellindex Số hiệu cell TD,TH

Color Màu của Text A,ADDRESS,B,BIG,TABLE,X

MP...

Classname Class của object A,ADDRESS,B,BIG,TABLE,X MP...

Clear Vị trí Object... BR

Clip Phần Object ẩn A,ADDRESS,B,BIG,TABLE,X

MP...

Dir Thứ tự của Object A,ADDRESS,B,BIG,TABLE,X

MP...

Face Font Face BASEFONT,FONT

fgColor Màu chữ của Object Document

Frameborder Có vẽ viền Object không ? FRAME,FRAMESET,IFRAME

Framespacing Khoảng cách giữa FRAME FRAMESET

Nowrap Wordwrap BODY,DD,DIV,DT,TD,TD,TH

Size Kích cỡ BASEFONT,FONT,HR,INPUT..

.

vAlign Kiểu canh lề CAPTION,COL,TBODY,TFOO

T…

… …

2.2.1.4 Kĩ thuật tách thông tin không có giám sát

Khác với các hệ thống tách có giám sát, các hệ thống tách dựa trên việc học không giám sát không cần các trang mẫu được gán nhãn và không cần quá trình tương tác với người dùng để tạo các qui tắc tách.

Trong luận văn này sẽ đưa ra một hướng giải quyết dựa trên giải thuật Khoảng cách cây soạn thảo.

Một phần của tài liệu Hệ thống bóc tách giá cả sản phẩm tự động (Trang 30)