Rút trích đặc trưng đồ thị

Một phần của tài liệu Toàn văn luận án Tiếp cận đồ thị biểu diễn , khai thác văn bản và ứng dụng (Trang 59)

Nếu sử dụng trực tiếp các đồ thị biểu diễn văn bản làm đặc trưng để phân loại thì độ phức tạp tính toán rất cao. Chính vì vậy để giảm độ phức tạp tính toán, ta cần xác định các đặc trưng từ tập đồ thị. Như vậy, mục đích của quá trình xác định đặc trưng từ đồ thị là rút trích các đặc trưng (đồ thị con) liên quan đến việc phân loại và cũng là

trong tập đồ thị nhiều hơn một ngưỡng cho trước. Sau đây là một số khái niệm liên quan.

Định nghĩa 3.1. Đồ thị gán nhãn có hướng

Đồ thị G gán nhãn có hướng [63] là đồ thị biểu diễn bằng bộ G = (V, E, α, β). V là tập đỉnh, E là tập cạnh có hướng (EV × V), α, β là các hàm gán nhãn đỉnh và nhãn cạnh. Mỗi phần tử (u, v) E, với u, vV, uv là cạnh nối từ u đến v.

Định nghĩa 3.2. Đồ thị con

Đồ thị G = (V, E, α, β) là đồ thị con của G‟ = (V‟, E‟, α‟, β‟) và ký hiệu GG'

nếu: VV', EE' (V × V), α(u) = α‟(u) với uV, β(u, v) = β‟(u, v) với (u, v)

E [63].

Định nghĩa 3.3. Độ phổ biến của đồ thị

Cho tập dữ liệu đồ thị D = {G0, G1, …, Gn}, độ phổ biến của đồ thị s (ký hiệu là

support(s)) là số đồ thị Ds là đồ thị con [100].

Hay nói một cách khác support(s) là tần suất xuất hiện của đồ thị s trong D.

Định nghĩa 3.4. Đồ thị con phổ biến

Cho tập dữ liệu đồ thị D = {G0, G1, …, Gn} và độ phổ biến tối thiểu minSup, đồ thị s là đồ thị con phổ biến nếu support(s) ≥ minSup [100].

Trong bước rút trích đặc trưng này, chúng ta khai thác các đồ thị biểu diễn văn bản và tìm những đồ thị con xuất hiện thường xuyên. Tất cả các đồ thị biểu diễn tập huấn luyện được chia thành các lớp không giao nhau. Sau đó thuật toán khai thác đồ thị con phổ biến được kích hoạt trên từng lớp với ngưỡng phổ biến tối thiểu minSup. Chỉ có những đồ thị con xuất hiện ít nhất minSup% trong các đồ thị mới được dùng để xác định đặc trưng.

Trong các phương pháp tìm đồ thị con phổ biến trên tập dữ liệu đồ thị, gSpan là thuật toán nhanh, cho kết quả ổn định [99]. Bên cạnh đó, trong khi phần lớn các thuật toán tìm đồ thị con phổ biến khác khó có thể cải tiến cho tập đồ thị có hướng thì gSpan có thể cải tiến để áp dụng cho tập đồ thị có hướng. Chính vì vậy luận án lựa

chọn gSpan và thực hiện một số cải tiến để có thể áp dụng gSpan lên tập đồ thị có hướng.

Thuật toán : gSpan(D)

1. Sắp xếp nhãn trong CSDL D theo tần suất xuất hiện; 2. Loại bỏ những đỉnh và cạnh không phổ biến;

3. Khởi tạo tập S0là tất cả các đồ thị một đỉnh phổ biến

4. Khởi tạo tập S1 là tất cả những đồ thị một cạnh phổ biến trong D; 5. Sắp xếp S1 theo thứ tự từ điển DFS;

6. for mọi đồ thị con một cạnh phổ biến sS1 do

7. gSpan_Subgraph_Mining(s, S0); 8. Loại bỏ cạnh của s khỏi tập D; 9. if |D| < minSup

10. break; 11. end if

12. end for

Thủ tục: gSpan_Subgraph_Mining(s, S0)

1. if s ≠ min (s) // kiểm tra s có phải mã DFS tối tiểu 2. return

3. end if

4. Gán S0 s cho S0

5. for mọi đồ thị con phải nhất s‟ củas do

6. if support(s‟) minSup 7. gSpan_Subgraph_Mining(s‟, S0)

8. end if

9. end for

Thuật toán gSpan (graph-based Substructure pattern) [100] là thuật toán khai thác đồ thị con phổ biến theo chiều sâu. Đầu vào của thuật toán là tập đồ thị có gán nhãn và đầu ra là tất cả các đồ thị con liên thông có tần suất xuất hiện không nhỏ hơn ngưỡng minSup đã cho. Ý tưởng của thuật toán là phát triển các mẫu trực tiếp từ đồ thị có hai đỉnh và một cạnh, tìm lần lượt từng đồ thị con phổ biến, từ những đồ thị có kích thước nhỏ đến đồ thị có kích thước lớn.

Thuật toán gSpan sử dụng hệ thống biểu diễn đồ thị chính tắc nhằm hỗ trợ quá trình tìm kiếm. Thuật toán ánh xạ mỗi mẫu vào nhãn chính tắc duy nhất và gán mỗi đồ thị một mã DFS (Depth-first search) tối tiểu. Mã DFS là thứ tự duyệt các cạnh của đồ thị theo chiều sâu hay là chuỗi các cạnh DFS. Dựa trên các nhãn này, quan hệ thứ tự đầy đủ giữa các mẫu được tạo lập. Thứ tự từ điển này cũng được dùng trong việc thiết lập cây tìm kiếm phân cấp (gọi là cây DFS). Trong quá trình duyệt cây theo chiều sâu, thuật toán gSpan chỉ mở rộng ứng viên trên các đỉnh hay nhánh nằm bên phải nhất của cây DFS. Hình 3.3 là mã giả của thuật toán gSpan nguyên thủy. Trong mỗi vòng đệ qui, gSpan_Subgraph_Mining(s, S0) xây dựng đồ thị con phải nhất của s

bằng cách phát triển một đỉnh hay một nhánh bên phải nhất từ s và tìm tất cả các đồ thị con phổ biến của s (s là một mã DFS hoặc là một đỉnh trong cây DFS).

Cải tiến gSpan cho đồ thị có hướng

Do đồ thị biểu diễn văn bản là đồ thị có hướng, trong khi gSpan nguyên thủy áp dụng cho tập đồ thị vô hướng nên luận án thực hiện một số cải tiến để có thể áp dụng gSpan lên tập đồ thị có hướng.

Hình 3.4. Ví dụ mã DFS cho đồ thị có hƣớng s v3 E v4 v2 v1 v0 A B C D Mã DFS: (0, 1, A, B, ) (1, 2, B, D, ) (2, 3, D, E, ) (2, 4, D, C, )

Đầu tiên, luận án thêm giá trị hướng vào trong mã DFS. Nhờ vào thứ tự của các đỉnh trong biểu diễn mã DFS mà ta có thể mã hóa thêm hướng của cạnh một cách chính xác, không bị nhập nhằng. Bên cạnh đó, đồ thị biểu diễn văn bản không có nhãn cạnh nên mã DFS sẽ biểu diễn cạnh DFS dưới dạng: (i, j, li, lj, d(i,j)) với li, lj là nhãn đỉnh vivjtương ứng, d(i,j) xác định hướng cạnh giữa hai đỉnh. Luận án gán

d(i,j) = nếu cạnh có hướng từ vi sang vj d(i,j) =  nếu ngược lại. Chẳng hạn ta có đồ thị s có hướng như trong Hình 3.4, khi đó một mã DFS cho đồ thị này được mô tả bên cạnh.

Khi thêm giá trị hướng vào trong mã DFS, ngoài thứ tự từ điển Lgiữa các nhãn đỉnh, luận án bổ sung thứ tự từ điển Dcho mã DFS để có thể xác định thứ tự giữa các mã DFS và từ đó tìm mã DFS tối tiểu. Luận án định nghĩa thứ tự từ điển Dgiữa các hướng cạnh

d(i j) như sau: d(i j) =  có thứ tự tự điển nhỏ hơn d(i j) = . Thứ tự từ điển Dthật sự cần thiết khi mở rộng gSpan cho đồ thị có hướng bởi vì mỗi cạnh có thể có tới hai hướng và các liên kết có thể tồn tại giữa cặp đỉnh. Khi hai cạnh DFS có cùng giá trị i, j, li, lj nhưng có hướng khác nhau thì thứ tự tự điển Dsẽ quyết định thứ tự giữa các cạnh DFS này. Dưới đây là định nghĩa mới của thứ tự từ điển trên mã DFS.

Định nghĩa 3.5. Thứ tự từ điển trên mã DFS

Nếu α = (a0, a1, …, am) và β = (b0, b1, …, bn) là hai mã DFS. Giả sử tập cạnh tiến và tập cạnh lùi của αβ tương ứng là Eα,f, Eα,b, Eβ,fEβ,b. Đặt

) , , , , (  ij (i,j) t i j l l d a  và bt (i, j,li,lj,d(i,j)) là cạnh DFS thứ t

trong mã DFS α và β tương ứng. Khi đó   khi và chỉ khi một trong những điều kiện sau là chính xác.

(i) t, 0 t min(m, n), sao cho ak = bk với k < t và atebt (atebt khi một trong những điều kiện dưới đây xảy ra:

1) atE,bbtE,f

 

4) atE,f, btE,fi i

5) atE,f, btE,f, i i và li li

6) atE,f, btE,f, i i, li li và lj L lj

7) atE,f, btE,f, i i, li li ,lj lj và d(i,j) D d(i,j)) (ii) akbk với 0 tmn m.

Với định nghĩa thứ tự từ điển này, luận án có thể điều chỉnh chính xác bước kiểm tra mã DFS tối tiểu: s ≠ min (s) trong Hình 3.3.

Một điều cần lưu ý nữa khi tạo đồ thị con của s trong thủ tục gSpan_Subgraph_Mining(s, S0) bằng việc phát triển thêm một đỉnh hay một nhánh bên phải nhất từ s. Việc thêm giá trị hướng cạnh sẽ tạo nên ít nhất hai cạnh giữa hai đỉnh: mỗi cạnh cho một hướng. Như vậy, luận án cần kiểm tra các cạnh này giữa hai đỉnh thay vì chỉ kiểm tra một cạnh như trước đây khi tìm đồ thị con phù hợp.

Các phần còn lại của thuật toán gSpan nguyên thủy không thay đổi khi cải tiến cho tập đồ thị có hướng.

Độ phức tạp tính toán của gSpan cải tiến

Độ phức tạp tính toán của gSpan cải tiến tương tự như độ phức tạp của gSpan với một số khác biệt nhỏ. Vấn đề phức tạp nhất trong bài toán khai thác đồ thị con phổ biến là xác định đẳng cấu đồ thị con7. Đây là bài toán có độ phức tạp NP – đầy đủ. Cho nên độ phức tạp về thời gian của gSpan là độ phức tạp mũ. Nếu xác định độ phức tạp về thời gian của gSpan bằng số lần kiểm tra đẳng cấu đồ thị hoặc đẳng cấu đồ thị con thì độ phức tạp về thời gian là O(kFS + rF) với k là số lần xuất hiện của một đồ thị con phổ biến trong một đồ thị của tập dữ liệu, F là số đồ thị con phổ biến,

S là kích thước tập dữ liệu và r là số mã trùng lắp tối đa của một đồ thị con phổ biến được phát triển từ mã tối tiểu [100]. Trong đó, số lần kiểm tra đẳng cấu cần thực hiện để tìm các đồ thị con phổ biến từ đồ thị con phổ biến đã xác định bị chặn trên bởi tích

kFS, số lần thực hiện phép kiểm tra s ≠ min(s) chặn trên bởi rF, còn r bị chặn bởi tích giữa số cạnh và số đỉnh của đồ thị con phổ biến lớn nhất. Như vậy trong trường xấu

7

nhất, độ phức tạp về thời gian của gSpan tăng theo lũy thừa so với kích thước tập dữ liệu.

Do gSpan sử dụng phương pháp tìm kiếm theo chiều sâu và không sử dụng danh sách lưu trữ đồ thị con phổ biến nên không cần dùng nhiều bộ nhớ. gSpan là thuật toán có thể chạy trên bộ nhớ chính khi tập dữ liệu có thể lưu trữ vừa trong bộ nhớ chính. Còn nếu như tập dữ liệu không vừa thì có thể dùng phương pháp chiếu dữ liệu dựa trên đồ thị và sau đó thực hiện gSpan [99].

Khi cải tiến gSpan cho tập đồ thị có hướng, thời gian tìm đồ thị phổ biến có hướng ít hơn đồ thị phổ biến vô hướng. Đó là do mặc dù cần thực hiện nhiều tính toán hơn để xác định đồ thị con có hướng trong tập dữ liệu nhưng số đồ thị con phổ biến có hướng lại ít hơn số đồ thị con phổ biến vô hướng. Vì vậy, độ phức tạp về thời gian của gSpan cải tiến cũng là O(kFS + rF) trong trường hợp tổng quát. Tuy nhiên, với tiếp cận biểu diễn văn bản thành đồ thị mà mỗi đỉnh được gán nhãn duy nhất (tên của “thuật ngữ”) và cạnh có hướng thì giá trị k=1 vì chỉ có tối đa một lần xuất hiện của đồ thị con phổ biến trong một đồ thị của tập dữ liệu. Khi đó, độ phức tạp về thời gian của gSpan cải tiến trong trường hợp của luận án là O(FS + rF).

Bài toán đẳng cấu đồ thị con là bài toán có độ phức tạp NP-đầy đủ trong trường hợp tổng quát (các đỉnh trong đồ thị không được gán nhãn duy nhất, nhiều đỉnh có cùng nhãn như trong tập dữ liệu về hợp chất hóa học). Trong trường hợp của luận án, việc biểu diễn văn bản thành đồ thị mà mỗi đỉnh được gán nhãn duy nhất và cạnh có hướng thì việc xác định đẳng cấu đồ thị con giữa hai đồ thị có thể thực hiện bằng cách kết hợp so khớp đồ thị như sau.

Cho mã DFS tối tiểu của đồ thị con G1, ta cần xác định xem đồ thị con G1 có xuất hiện trong đồ thị G2(G1 G2 ). Bắt đầu từ cạnh thứ nhất trong mã DFS của G1, ta tìm cạnh trùng khớp ở đồ thị G2. Do nhãn đỉnh là duy nhất và cạnh có hướng nên chỉ có có thể có một cạnh tương ứng trong G2(nếu tồn tại). Sau đó, lặp lại quá trình này với các cạnh còn lại trong mã DFS của G1. Quá trình xác định đẳng cấu đồ thị con này

Độ phức tạp tính toán của bài toán xác đỉnh đẳng cấu đồ thị con trong trường hợp xấu nhất là O(n2) (n - số cạnh của đồ thị).

Kỹ thuật khai thác đồ thị giúp rút trích các đặc trưng hay các đồ thị con phổ biến. Trong từng lớp, chúng ta thực hiện việc rút trích đặc trưng là các đồ thị con phổ biến có tần suất xuất hiện lớn hơn ngưỡng phổ biến tối thiểu minSup (sử dụng thuật toán gSpan cải tiến). Hình 3.5 là ví dụ đồ thị con phổ biến của chủ đề Khoa học và Văn hóa tương ứng.

Hình 3.5. Ví dụ đồ thị con phổ biến của chủ đề Khoa học, Văn hóa

Sau đó, ta tổng hợp các đồ thị con phổ biến thu được từ tất cả các lớp và xây dựng tập các đặc trưng – tập đồ thị con phổ biến. Đây là đầu vào cho bước xây dựng vectơ đại diện lớp tiếp theo.

Một phần của tài liệu Toàn văn luận án Tiếp cận đồ thị biểu diễn , khai thác văn bản và ứng dụng (Trang 59)

Tải bản đầy đủ (PDF)

(162 trang)