TID Chuỗi truy cập Chuỗi con phổbiến
t1 <bcbae> <bbae> t2 <bacbae> <babae> t3 <abe> <abe> t4 <abedd> <abeb> t5 <abad> <aba>
Các chuỗi con phổ biến (cột thứ 3 trong bảng 2.7) của mỗi chuỗi dữ liệu gốc được tạo ra bằng cách xóa đi các chuỗi 1-sequences không phổ biến. Cây bắt đầu với nút gốc là rỗng và xây dựng dần xuống dưới bằng cách chèn mỗi chuỗi con phổ biến như là một nhánhđi từ gốc đến nút lá. Suốt quá trình xây dựng cây, một bảng các con trỏ liên kết đầu cũng được tạo ra, chỉ chứa chuỗi phổ biến 1-sequences (trong ví dụ này là a, b và e), mỗi một chuỗi có một liên kết kết nối tới vị trí xuất hiện đầu tiên trong cây và xâu chuỗi các con đường của nó thơng qua các nhánh của mỗi sự xuất hiện của chuỗi con như hình 2.2a. Để khai thác cây, thuật toán bắt đầu từ item phổbiến ở bảng liên kết đầu và sửdụng nó như là một hậu tố điều kiển để xây dựng một cây WAP điều kiện trung gian và tìm các item phổ biến xây dựng
trên hậu tố đểlấy chuỗi phổbiến độdài k.
Hình2.2 Khai thác cây WAP sửdụng thuật tốn WAP-mine
Ở ví dụ này, như hình 2.2a, chúng ta bắt đầu với item e, bổ sung item này vào tập chuỗi phổ biến là fs = {e} và theo liên kết đầu đểtìm các chuỗi bba:1, baba:1,
ab:2, ta có item a và b đều có độ hỗtrợ là 4, chúng được coi là các chuỗi phổbiến 1. Bây giờ, xây dựng cây con WAP cho hậu tố |e như hình 2.2b cho các chuỗi
bba:1, baba:1, ab:2 và khai thác cây này để có hậu tố điều kiện |be như hình 2.2c theo liên kết đầu của b, dẫn đến chuỗi be được bổsung vào tập chuỗi phổbiến là fs
= {e, be}. Theo liên kết đầu của b trên cây WAP|e (tìm kiếm điều kiện theo e) cho ra b:1, ba:1, b:-1, a:2 với độ hỗ trợ của b(1) và a(3), độ hỗ trợ của b nhỏ hơn
minSup nên xóa nó, kết quảlà a:1, a:2, cho ra cây điều kiện WAP|be như hình 2.2c. Tiếp theo, bổsung các chuỗi phổ biến mới tìm được vào tập fs, fs = {e, be,abe} và theo liên kết đầu của nó trên cây WAP|be cho kết quảlà Ø (hình 2.2c). Sau đó, thuật toán duyệt lùi đệ quy đối với cây WAP|(b) để khai thác liên kết a cho cây WAP|ae (hình 2.2d). Khai thác đầy đủ của cây WAP ví dụ được mơ tả ở hình 2.2, tập chuỗi phổ biến tìm được fs = {e, be, abe, ae, b, bb, ab, a, ba}. Thuật toán WAP-mine
được khẳng định là tốt hơn GSP. Mặc dù duyệt CSDL chỉ hai lần và tránh vấn đề phát sinh chuỗi ứng viên bùng nổ như các phương pháp phát sinh và kiểm tra ứng viên và phương pháp dựa trên Apriori, nhưng WAP-mine cũng gặp phải vấn đề về tiêu tốn bộnhớ vì nó phải xây dựng lại nhiều cây WAP trung gian một cách đệ quy suốt quá trình khai thác khi số lượng mẫu phổ biến tăng. Vấn đề này được giải quyết bởi thuật toán PLWAP [14].
Thuật toán FS-Miner
FS-Miner [10] là thuật toán phát triển mẫu với phép chiếu cây tương tự như WAP-mine và hỗtrợ khai thác tương tác và gia tăng. FS-Miner quan trọng ởchỗnó bắt đầu khai thác ngay lập tức các mẫu 2-sequences từlần duyệt CSDL lần thứhai (tại k=2). Nó có thể làm như vậy nhờ biểu diễn nén trên câyFS, trong đó sử dụng một bảng liên kết đầu các cạnh chứkhông phải các nút và item đơn so với cây WAP và cây PLWAP. Xét ví dụ trên dữ liệu ở bảng 2.2, và chỉ xét trường hợp chuỗi kề nhau (ví dụ, cba là chuỗi con kềcủa bcbae,nhưngca thì khơng). Hình 2.3 biểu diễn
bảng đầu liên kết tạo ra cùng với cây FS cho các chuỗi trong bảng 2.2.
Hình2.3 Cây FS và bảng đầu liên kết cho các web log của bảng 2.2
Thuật toán FS-miner và FS-tree đều sửdụng hai loại độ hỗ trợ và độhỗtrợ tối thiểu, đó là MsuppCseq là độ hỗ trợ nhỏ nhất của chuỗi phổ biến tương tự như
minSup được sử dụng trong bài luận văn này, và MsuppClink là độ hỗ trợ nhỏ nhất của liên kết phổ biến (chuỗi phổ biến 2-sequences). Một liên kết h với độ hỗ trợ
Suplink(h) được coi là phổ biến nếu Supplink(h) MsuppCseq và được coi là liên kết phổ biến tiềm năng nếu MSuppClink Supplink(h) < MsuppCseq. Nếu Supplink(h)
không thỏa cả MsuppClink và MsuppCseq thì nó là một liên kết khơng phổbiến. Các liên kết có tiềm năng phổ biến được duy trì để hỗ trợ và kích hoạt khả năng khai thác tương tác và tăng cường của thuật toán FS-Miner. Các liên kết phổbiến và liên kết có tiềm năng phổ biến được đánh dấu ở bảng liên kết đầu như trong hình 2.3. Chỉ sử dụng những liên kết phổ biến để khai thác. Giả sử xét ví dụ với
MsuppClink=2 và MsuppCseq=3. Trước hết, duyệt CSDLở bảng 2.2 một lần để đếm cho các liên kết và chèn chúng vào bảng liên kết đầu. Ở lần duyệt CSDL lần thứ hai, xây dựng câyFS theo cách tương tự như cây WAP và PLWAP, ngoại trừchuỗi mà chứa những liên kết không phổ biến sẽ được tách ra, mỗi phần được chèn vào cây một cách riêng rẽ. Xây dựng các con trỏliên kết từbảng liên kết đầu để kết nối sự xuất hiện của các thành phần trong bảng liên kết đầu, El-Sayed và đồng sự2004 [10]đãđềra 4 tính chất quan trọng của cây FS như sau:
(1) Bất kì chuỗi đầu vào náo có liên kết khơng phổ biến sẽbị loại trừ trước khi chèn vào cây FS.
(2) Nếu MSuppClink <MsuppCseq thì cây FS sẽ lưu trữ nhiều thông tin hơn cần thiết. Đây là một nhược điểm nhưng FS-Miner cần phải có đặc điểm này để khai thác tương tác và tăng cường theo cách tương tựISM.
(3) Tất cảcác mẫu có thểmà kết thúc với một liên kết phổ biến h chotrước thì có thể thu được bằng cách theo con trỏ của h từ bảng liên kết đầu đến nhánh đúng trên cây FS.
(4) Đểrút trích một chuỗi kết thúc với một liên kết h cố định từmột nhánh trên cây FS, chúng ta chỉ cần xem xét đường dẫn của nhánh tiền tốkết thúc với liên kết đódị vềgốc của cây.
Như vậy, q trình khai thác gồm 4 bước. Bước 1, với mỗi liên kết phổ biến, thực hiện rút trích đường đi dẫn xuất theo sau bởi các con trỏ liên kết từ bảng liên kết đầu, ta có liên kết b−a, từ đó ta có thể rút ra hai đường đi dẫn xuất (c−b:2,
Bước 2, xây dựng cơ sởchuỗi điều kiện bằng cách thiết lập bộ đếm độphổbiến cho mỗi liên kết trong đường đi đến bộ đếm của liên kết h trong đường đi dẫn xuất của nó, với b−a ta có tập điều kiện (c−b:2)và (a−b:1), a−b khơng có cơ sởchuỗi điều kiện vì nó chỉ liên kết trong đường dẫn của riêng nó. Bước 3, xây dựng cây điều kiện FS và chèn mỗi đường đi từ cơ sở điều kiện của h (ởví dụnày là b−a) vào cây
theo cách dị lui. Bước 4, rút trích các chuỗi phổbiến bằng cách duyệt cây điều kiện theo chiều sâu và chỉ trả về những chuỗi thỏa MsuppCseq. Lúc này cây cơ sở điều kiện khơng có bất kỳ liên kết nào thỏa MsuppCseq; giả sử liên kết c−b không thỏa
MsuppCseq, trong trường hợp này chúng ta rút trích nó từ cây và thêm b−a vào cây vì nó ở trong cây hậu tố điều kiện của b−a (từ bước 3) để lấy chuỗi phổ biến
<cba>. Cuối cùng, quá trình khai thác sẽkết thúc với danh sách các chuỗi phổbiến kềnhau (bao gồm các liên kết phổ biến và các chuỗi phổbiến 1-sequences). Trong bài báo, El-Sayed và đồng sự 2004 [10] không thực hiện so sánh FS-Miner với WAP-mine hay so sánh với thuật toán chiếu cây tương tựnào, mà so sánh FS-Miner với một dạng biến đổi của Apriori. FS-Miner cũng cho kết quả thực hiện với thời gian hiệu quả khi xử lý CSDL có số lượng lớn các item phân biệt. Tuy nhiên, FS-Miner có một số nhược điểm như cấu trúc cây phát triển nhanh và thưa do chuỗi nào có liên kết khơng phổbiến thì bị tách ra và biểu diễn bởi nhiều nhánh trên cây, nên khối lượng thông tin lưu trữ trên cây càng nhiều hơn. Sau khi khảo sát kỹ lưỡng, người ta công nhận rằng với khai thác tương tác và tăng cường thì cách làm của FS-Miner khá tốt và đơn giản.
2.3.3 Các kỹ thuật loại trừ sớm
Trong tất cả nghiên cứu đã có, các thuật toán dựa trên kỹ thuật loại trừ sớm là hướng tiếp cận mới đối với khai thác mẫu tuần tự. Những thuật toán này sử dụng một loại quy nạp vị trí để loại trừ các chuỗi ứng viên rất sớm trong quá trình khai thác và tránh phải đếm độhỗtrợ càng nhiều càng tốt. Cách giải quyết của quá trình khia thác là phát triển mẫu đơn giản. Ý tưởng quy nạp vị trí như sau: Nếu vị trí sau cùng của một item nhỏ hơn vị trí của tiền tố hiện thời (suốt quát trình khai thác) thì item khơng thểxuất hiện sau tiền tố đó trong cùng một chuỗi dữliệu.
Các thuật tốn này thường sửdụng một bảng để dị các vị trí sau cùng của mỗi item trong chuỗi và sử dụng thông tin này cho việc loại trừsớm chuỗi ứng viên; vì vị trí sau cùng của item là chìa khóa để xác định liệu có thể item thêm vào một chuỗi tiền tố độdài kcho trước hay khơng, vì vậy tránh phải đếm độhỗtrợ và tạo ra chuỗi ứng viên không phổ biến. Trong thuật toán HVSM, Song và đồng sự 2005 [12]đã nhấn mạnh tầm quan trọng của biểu diễn bit và bổ sung thêm phương pháp duyệt CSDL theo chiều ngang trước theo chiều dọc sau, sử dụng cấu trúc dữ liệu cây đặc biệt, trong đó mỗi nút lấy các nút anh em phổ biến cũng như các nút con của nó trong quá trình kết nối để mở rộng itemset, vì vậy tránh phải đếm độ hỗtrợ; tuy nhiên sựthực hiện của HVSM khơng vượt qua được SPAM. Mặt khác, với thuật tốn DISC-all [13], bên cạnh thứ tự từ điển thông thường trên các item, thuật tốn cịn sửdụng thứtự thời gian và dạng biến đổi của CSDL chiếu để chia nhỏ khơng gian tìm kiếm, phụthuộc vào thứtựcủa các chuỗi phổbiến 1-sequences.
Thuật toán DICS-all
Các thuật toán dựa trên Apriori loại trừ các chuỗi không phổ biến dựa trên thuộc tính khơng đơn điệu, so sánh chuỗi trực tiếp (Direct Sequence Comparison - DISC) loại trừnhững chuỗi khơng phổ biến theo những chuỗi khác có cùng độdài. Đểso sánh những chuỗi có cùng độ dài với nhau, thủ tục so sánh dựa trên thứtựtừ điển và thứ thự thời gian. Ví dụ, chuỗi A = <a(bc)(de)> nhỏ hơn chuỗi
B = <a(cd)(bf)> theo thứ tựtừ điển vì tại vị trí thứ hai tương ứng của hai chuỗi có
b < c, vị trí này được gọi là điểm khác biệt. Hơn nữa, nếu C = <(abc)(de)> thì C < A vì so sánh theo thứtựthời gian thì của itemsetởvịtrí 1. Theo thứtựnày, nếu
μk là chuỗi con độ dài k nhỏ nhất của A thì ta gọi μk là chuỗi con-k tối thiểu (k-minimum subsequence). Chiu và đồng sự 2004 [13] cũng sử dụng mối quan hệ này để định nghĩa thứ tự k-tối thiểu, có thểsắp xếp các chuỗi trong CSDL theo thứ tự này. Cho trước ngưỡngminSup ξ, chuỗi-k tối thiểu tại vị trí thứξ trong CSDLđã sắp xếp được gọi làαξ,bất kỳchuỗi-k tối thiểu xuất hiện tại vị trí nhỏ hơn vịtrí của
αξ (theo thứ tự k-tối thiểu) đều khơng phổ biến ví CSDL đã được sắp xếp. Tất cả
chuỗi-k tối thiểu nhỏ hơn αξ đều bị loại bỏ và với mỗi CID của những chuỗi này, thuật tốn tìm chuỗi-k tối thiểu kế tiếp (còn gọi là chuỗi-k tối thiểu điều kiện) sao
cho nó được sắp đặt ở vị trí k đối với αξ, tạo ra CSDL được sắp mới theo αξ.
Chúng ta thấy rằng những chuỗi-k không phổbiến nhỏ hơnαξ được bỏ qua và chỉ kiểm tra những chuỗi con-k tối thiểu điều kiện;đây là cách mà thuật tốn có thểloại trừ những chuỗi ứng viên không phổ biến mà không cần phải đếm độ hỗ trợ của chúng. Thuật toán DISC-all dùng kỹ thuật DISC để loại trừ chuỗi ứng viên. Trước hết, duyệt CSDL để chia các chuỗi dữ liệu thành các phần mức đầu bởi các chuỗi 1-tối thiểu. Những phần này được khai thác để tìm tất cả các chuỗi phổ biến 2-sequences sử dụng PrefixSpan như CSDL chiếu, các chuỗi 1-squences và 2-sequences khơng phổbiến bị xóa đi đểtạo ra chuỗi dữliệu ngắn hơn. Sau đó, mỗi phần này lại tiếp tục được chia thành các phần mức hai bởi các chuỗi 2-tối thiểu để tìm chuỗi phổ biến 3-sequences… Đây chính là phân chia đa mức, số mức phụ thuộc vào chi phí thực hiện và độ lợi ích thu được. Việc phát sinh các phần được thực thi theo chiều sầu. Mỗi khi chi phí tăng, thuật tốn sẽ chuyển sang thực hiện chiến lược DISC. Ở đây, với mỗi phần, DISC-all tạo ra CSDL được sắp xếp để tạo ra chuỗi phổbiến độ dài k. Sau đó, mỗi chuỗi dữliệuởphần mức thứ hai được gán lại vào phần mức thứ hai khác trước chuỗi 2-tối thiểu kếtiếp. Khi xử lý xong tất cả các phần ở mức thứ hai, mỗi chuỗi dữliệu của phần mức thứnhất được gán lại vào phần mức thứ nhất khác trước chuỗi 1-tối thiểu kế tiếp. Mỗi phần được xử lý như một CSDL chiếu và được khai thác để tìm các chuỗi phổ biến 2-sequences, 3-sequences theo cách tương tự như SPADE; chuỗi 4-sequences và lớn hơn được khai thác theo chiến lược DISC.