Trích xuất mẫu chung

Một phần của tài liệu 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 (Trang 29)

Nhiệm vụ chính trong bước Trích xuất mẫu chung (Extraction Pattern Generation) là tổng quát hoá các nhóm trang thành các mẫu chung ne-pattern (node extraction pattern). Khái niệm ne-pattern là một cây được định nghĩa như sau:

Định nghĩa 5 [28]

Mẫu chung (ne-pattern) là một cây có thứ tự được gán nhãn, có gốc cố định (rooted ordered labeled tree) có chứa các đỉnh đặc biệt gọi là các thẻ đại diện (wildcard). Mỗi một wildcard phải là một lá của cây và thuộc một trong các dạng sau:

SINGLE ( .): Wildcard đại diện cho một cây con và bắt buộc phải có. PLUS (+): Wildcard đại diện cho một số cây con và bắt buộc phải có. OPTION (?): Wildcard đại diện cho một cây con và có thể bỏ qua. KLEENE (*): Wildcard đại diện cho một số cây con và có thể bỏ qua.

Ta có thể coi ne-pattern như một biểu diễn đơn giản của cây. Mục đích của bước này là đảm bảo rằng mỗi một wildcard sẽ phù hợp với một vùng thông tin (data-rich) trong template. Single và plus wildcard sẽ tương ứng với các đối tượng ta cần tìm như title của tin tức, kleene wildcard sẽ tương ứng với các đối tượng khác như danh sách các tin tức liên quan.

Ta nói ne-pattern khớp với một cây khi và chỉ khi chi phí ánh xạ giữa ne- pattern và cây đó là hữu hạn. Như thế, mục đích của bước này là: với đầu vào là một nhóm trang, ta phải xây dựng được một ne-pattern mà phù hợp với mọi trang trong nhóm đó. Như vậy, các nội dung khác nhau của các

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

31

trang sẽ được biểu diễn trong ne-pattern dưới dạng các wildcard. Để xây dựng được ne-pattern, ta xây dựng một phép toán kết hợp như sau:

Định nghĩa 6 [28] Gọi Tx

1 và Tx

2 là 2 ne-pattern khác nhau, ta có kết hợp của Tx

1 và Tx

2 là một ne-pattern Tx

3 sao cho:

Cho S1 là tập hợp các cây khớp với mẫu Tx

1

Cho S2 là tập hợp các cây khớp với mẫu Tx

2

Cho S3 là tập hợp các cây khớp với mẫu Tx

3

Khi đó S1 S2 S3.

Quá trình xây dựng ne-pattern của một nhóm được tiến hành bằng cách khởi tạo các cây của tất cả các trang Web trong nhóm, sau đó tiến hành từng bước kết hợp mỗi cây với các cây khác trong nhóm để tạo ra một ne-pattern phù hợp với 2 ne-pattern trước đó (chú ý rằng: mỗi một cây có thể coi là một ne- pattern không có các Wildcard). Tại bước cuối cùng, ta có một ne-pattern chấp nhận mọi trang Web trong nhóm.

Để cải thiện quá trình kết hợp này, ta sử dụng thuật toán RTDM như sau (Giả sử cho 2 ne-pattern Tx

1 và Tx

2, ta cần tìm Tx

3 là kết hợp của Tx

1 và Tx

2). - Ta gọi 2 đỉnh a và b của một ne-pattern là tương đương khi và chỉ khi:

+ a và b là các wildcard cùng kiểu

+ a và b không phải là widlcard nhưng nhãn của a và b là giống nhau - Ta xác định ánh xạ giữa Tx (adsbygoogle = window.adsbygoogle || []).push({});

1 và Tx

2 (chính là một tập các cặp (i, j) M), từ ánh xạ này ta xác định được kết hợp của Tx

1 và Tx

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

32 + Nếu đỉnh a  Tx

1 không có trong ánh xạ thì chèn a' vào Tx

3 với a' = f(a,?). + Nếu a  Tx 1 ánh xạ đến b  Tx 2 thì chèn a' vào Tx 3 với a' = f(a,b) + f(a,b) được định nghĩa như sau:

f(, ) =  f(, +) =  f(, ?) =  f(, ) =  f(, n) =  f(+, +) = + f(+, ) = + f(+, ?) =  f(+, n) = + f(, ) =  f(, ?) = ? f( , n) =  f( ?, ?) = ? f(? , n) = ? f(n1, n2) = n1 nếu n1 và n2 cùng nhãn f(n1, n2) =  nếu n1 và n2 có nhãn khác nhau

Với n1, n2 là các đỉnh không phải là wildcard (thứ tự của n1, n2 trong f không quan tâm).

Các luật ở trên có ý nghĩa là: với các wildcard là option (?) thì sau khi kết hợp có thể giữ lại hoặc không (ghép với các khác), còn các wildcard kleene (*) và plus (+) thì phải được giữ lại đến cuối của quá trình tạo ne-pattern. Còn đối với một đỉnh không phải wildcard kết hợp với một đỉnh khác cũng không phải wildcard thì có thể tạo ra một loại wildcard. Ta cũng chú ý rằng, một vài vùng dữ liệu thông tin có thể trải dài trên nhiều cây con (chẳng hạn như nội dung của tin tức). Việc nhóm các phần này thành một thực thể duy nhất là nhiệm vụ của kleene và wildcard.

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

33

Bên cạnh đó, nếu xem xét kĩ hàm f(a, b) thì ta sẽ thấy, các wildcard kleene (*) và plus (+) chỉ được sinh ra nếu như một trong 2 wildcard là (*) hoặc (+). Các wildcard này cũng sẽ được tạo ra sau một bước hậu xử lý như sau:

 Các wildcard đứng trước một tập hợp các wildcard option (?) thì nên chuyển thành wildcard kleene hoặc plus.

 Nếu như wildcard đứng trước tập hợp các wildcard option là một wildcard single hay plus thì tập hợp các wildcard option và wildcard đó sẽ đuợc chuyển thành 1 wildcard plus duy nhất.

 Nếu wildcard là một option hay kleene wildcard thì wildcard này và cả wildcard option kề với nó sẽ được chuyển thành 1 wildcard kleene.

 Việc gộp các wildcard có thẻ tiến hành nếu như các wildcard không cách nhau quá 3 đỉnh non-wildcard.

Một phần của tài liệu 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 (Trang 29)