Dựavào các hàm đo trong các đại số này, kết hợp với thuật toán khai phá dữ liệuApriori chúng tôi triển khai việc rút trích tóm tắt, sau đó kết xuất dạng ngôn ngữ.. Xây dựng thuật toán si
Trang 1LỜI NÓI ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thôngtin đã làm cho khả năng thu thập và lưu trữ thông tin tăng nhanh Bên cạnh
đó, việc tin học hóa một cách ồ ạt và nhanh chóng các hoạt động sản xuất,kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng tamột lượng dữ liệu lưu trữ khổng lồ Thông thường các thông tin biểu đạt bằngngôn ngữ bao giờ cũng dễ dàng nhận biết được nhanh hơn so với nhiều loại
dữ liệu khác Trong thực tế, dữ liệu thu thập được chủ yếu là dữ liệu số Các
dữ liệu này hàm chứa một lượng thông tin hữu ích, tuy nhiên để hiểu cácthông tin đó ở dạng nguyên bản là điều không dễ dàng Vì vậy, nhu cầu xử lí
dữ liệu để thu được tri thức phục vụ cuộc sống là rất quan trọng và đượcnhiều nhà nghiên cứu quan tâm [3, 8, 9, 10] Làm thế nào để chắt lọc đượcthông tin một cách tự động, nhanh chóng? Điều này đòi hỏi chúng ta phải cóthuật toán xử lí và tận dụng sức mạnh tính toán của máy tính
Trong các nghiên cứu trước đây về tính toán trên các từ [5], ngữ nghĩa củacác từ được biểu diễn bằng tập mờ Tuy nhiên, việc dựa trên lí thuyết tập mờ
có nhiều hạn chế do cách thức xây dựng các hàm thuộc và việc xấp xỉ các giátrị ngôn ngữ bởi các tập mờ còn mang tính chủ quan, phụ thuộc nhiều vào ýkiến chuyên gia cho nên dễ mất thông tin Mặt khác, bản thân các giá trị ngônngữ đã hàm chứa một cấu trúc thứ tự nhưng khi ánh xạ gán nghĩa sang tập mờthì không còn bảo toàn cấu trúc đó nữa Lý thuyết Đại số gia tử (ĐSGT) doNguyễn Cát Hồ và W.Wechler đề xuất năm 1990 [7] đã khắc phục đượcnhững hạn chế trên Trong đó mọi hạng từ là giá trị của một biến ngôn ngữđều được sinh ra từ hai hạng từ nguyên thủy bằng cách tác động các gia tử.Ngữ nghĩa của các hạng từ được xác định trong quan hệ thứ tự với các hạng
từ khác Điều này rất phù hợp với cách sử dụng ngôn ngữ của con người
Trang 2Chẳng hạn, khi chúng ta xét thuộc tính thu nhập với hai từ nguyên thủy là cao
và thấp, các gia tử là tương_đối và rất thì tập các từ được sinh ra với thứ tự ngữ nghĩa một cách tự nhiên như sau: rất thấp ≤ thấp ≤ tương_đối thấp ≤
tương_đối cao ≤ cao ≤ rất cao.
Với những ưu điểm đó, chúng tôi chọn cách tiếp ĐSGT gia tử để rút racác câu tóm tắt dạng ngôn ngữ từ cơ sở dữ liệu (CSDL) số Cụ thể là mỗimiền trị của một thuộc tính trong CSDL sẽ tương ứng với một ĐSGT Dựavào các hàm đo trong các đại số này, kết hợp với thuật toán khai phá dữ liệuApriori chúng tôi triển khai việc rút trích tóm tắt, sau đó kết xuất dạng ngôn ngữ
Mục đích của luận văn là dựa trên cơ sở của ĐSGT, mối quan hệ giữaluật kết hợp và tóm tắt dữ liệu để xây dựng giải thuật rút tự động các câu tómtắt ngôn ngữ giải quyết bài toán tóm tắt dữ liệu tổng quát
Luận văn có ba chương:
Chương 1 Các kiến thức cơ sở
Trong chương này, trước tiên tôi sẽ đi trình bày một số vấn đề củaĐSGT: các khái niệm cơ bản, ánh xạ định lượng ngữ nghĩa, độ đo mờ, khoảngtính mờ và khoảng tương tự Tiếp theo là một số kiến thức tổng quan về khaiphá dữ liệu, luật kết hợp trong CSDL và ứng dụng Cuối cùng là thuật toánApriori để khai phá luật kết hợp
Chương 2 Xây dựng thuật toán sinh tóm tắt ngôn ngữ từ dữ liệu số
Nội dung được trình bày trong chương là một số dạng tóm tắt dữ liệutheo Yager và bài toán tóm tắt dữ liệu tổng quát Sự liên quan giữa luật kếthợp với tóm tắt dữ liệu Trọng tâm của chương là xây dựng thuật toán sinhtóm tắt ngôn ngữ dựa trên ĐSGT Thuật toán được minh họa bằng việc tínhtoán các bước trên một bộ dữ liệu cụ thể
Chương 3 Cài đặt và thử nghiệm
Trang 3Trong chương này sẽ giới thiệu CSDL Vertebral Column về bệnh cộtsống để xây dựng ứng dụng và từng bước phân tích bài toán đặt ra Chươngtrình được cài đặt bằng ngôn ngữ lập trình C trong môi trường MicrosoftVisual C++ Cuối chương là phần trình bày giao diện của chương trình và kếtquả thực nghiệm.
Trang 4CHƯƠNG 1 CÁC KIẾN THỨC CƠ SỞ
Vấn đề sử dụng tập mờ để biểu diễn các giá trị ngôn ngữ đã đáp ứngđược nhu cầu thực tế của con người Tuy nhiên, theo cách sử dụng tập mờ tathấy có nhiều nhược điểm gây nên việc dễ mất mát thông tin Do đó, vấn đềđặt ra là có một cấu trúc toán học mô phỏng chính xác hơn cấu trúc ngữ nghĩacủa một khái niệm mờ Nguyễn Cát Hồ và W.Wechler đã đưa ra cấu trúcĐSGT vào năm 1990 [7] Đây là một cấu trúc đại số cho miền giá trị của cáchạng từ mà ngữ nghĩa được xác định dựa trên thứ tự của nó trong miền hạng
từ Ưu điểm nổi bật của ĐSGT là các tính toán, ánh xạ luôn luôn bảo toànquan hệ thứ tự ngữ nghĩa
Dữ liệu con người thu thập được ở nhiều dạng và nó chứa những thôngtin có giá trị nhất định nào đó Trong môi trường hiện nay, người ta ngày càngcần có nhiều thông tin với tốc độ nhanh để trợ giúp việc đưa ra quyết định dựatrên một khối lượng dữ liệu khổng lồ đã có Từ đó đã làm phát triển một kỹthuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu Và một trongnhững hướng tiếp cận hiệu quả để khai phá dữ liệu là sử dụng luật kết hợp.Trong chương này, tôi sẽ đi trình bày một số khái niệm cơ bản trongĐSGT, tổng quan về khai phá dữ liệu và thuật toán Apriori khai phá luật kết hợp
1.1.1. Các khái niệm cơ bản
Chúng ta xét miền ngôn ngữ của biến chân lý TRUTH gồm các từ sau: Dom(TRUTH) = {true, false, very true, very false, more-or-less true, more- or-less false, possibly true, possibly false, approximately true, approximately false, little true, little false, very possibly true, very possibly
Trang 5false, }, trong đó true, false là các từ nguyên thủy, các từ nhấn very, or-less, possibly, approximately, little gọi là các gia tử.
more-Cho X là một biến ngôn ngữ và Dom(X) là tập chứa tất cả các hạng từtrong tập giá trị của biến X Tập X = Dom(X) có thể được coi như là một
cấu trúc đại số AX = (X, G, C, H, ≤) Trong đó:
- (X, ≤) là cấu trúc dựa trên thứ tự, ≤ là quan hệ thứ tự ngữ nghĩa vốn
có giữa các hạng từ của biến X
- G = {c – , c + } là tập các phần tử sinh, c + là hạng từ nguyên thủy dương,
c – là hạng từ nguyên thủy âm Ta có c – ≤ c + Ví dụ: chậm ≤ nhanh,
Các gia tử trong tập H – và H + cũng có thứ tự ngữ nghĩa H – = {h -q , h -q+1 , ,
h -1 } với thứ tự ngữ nghĩa h -q ≥ h -q+1 ≥ ≥ h -1 và H + = {h 1 , h 2 , , h p} với
thứ tự ngữ nghĩa h 1 ≤ h 2 ≤ ≤ h p.
Giả sử rằng X\C = H(G), với H(G) là tập các hạng từ sinh ra từ các phần tử sinh trong G sử dụng các gia tử trong H Tương tự H(x) gồm các hạng từ sinh ra từ x sử dụng các gia tử trong H.
Dạng biểu diễn chính tắc của mỗi hạng từ x ∈ Dom(X) là h m …h 1 c, độ dài của hạng từ là |x| = m + 1 Kí hiệu X k là tập các hạng từ độ dài k, X (k) là
tập các hạng từ có độ dài không quá k.
Về mối quan hệ giữa các gia tử [7] chúng ta có các khái niệm sau:
Trang 6(1) Mỗi gia tử hoặc là dương, hoặc là âm đối với bất kì một gia tử nàokhác, kể cả chính nó.
(2) Nếu hai khái niệm u và v độc lập, nghĩa là u ∉ H(v) và v ∉ H(u) thì ∀x
∈ H(u) ta có x ∉ H(v) Ngoài ra nếu u và v là không sánh được thì bất kỳ x
∈ H(u) cũng không sánh được với bất kì y ∈ H(u).
(3) Nếu x ≠ hx thì x ∉ H(hx) và nếu h ≠ k và hx ≤ kx thì h’hx ≤ k’kx với mọi gia tử h, k, h’, k’ Hơn nữa hx ≠ kx thì hx độc lập với kx.
(4) Nếu u ∉ H(v) và u ≤ v (u ≥ v) thì u ≤ hv (u ≥ hv), đối với mọi gia tử h.
Định nghĩa trên mới chỉ dựa vào các tính chất ngữ nghĩa và di truyềnngữ nghĩa của ngôn ngữ nhưng đã tạo ra cấu trúc đủ giàu để xây dựng cácquan hệ đối sánh trong mô hình CSDL mờ
gia tử h tác động lên một hạng từ x ∈ H(G) luôn luôn tạo ra một ngữ nghĩa
mới (tức là hx ≠ x) Từ đây, ta có dạng biểu diễn chính tắc cho mỗi hạng từ
là duy nhất
Trang 7Một ánh xạ xác định ngữ nghĩa định lượng của các hạng từ trong miền
hạng từ X của một biến ngôn ngữ X là υ : X [0, 1], thỏa mãn hai
điều kiện:
- υ là ánh xạ 1-1 và trù mật trong đoạn [0, 1], với [0, 1] là miền
tham chiếu thông thường của X
- υ duy trì thứ tự trong X.
Ánh xạ υ được gọi là ánh xạ định lượng ngữ nghĩa (semantically
quantifying mapping – SQM) Giá trị υ(x) thể hiện ngữ nghĩa định lượng bằng số của hạng từ x Ánh xạ này phụ thuộc mạnh mẽ vào ngữ nghĩa của
các hạng từ mờ
1.1.3. Độ đo tính mờ
Độ đo tính mờ của x, ký hiệu là fm(x), là đường kính của tập H(x), với H(x) là tập các phần tử của X được sinh ra từ x bởi các gia tử
X nếu thỏa mãn các điều kiện sau:
(fm1) fm là độ đo tính mờ đầy đủ trên X, tức là
) ( ) ( 0 ,
u fm u h fm i p i q
hiệu là µ(h).
định nghĩa một cách đệ quy như sau, với ∀ h, h’∈ H, c ∈ {c – , c +}
Trang 81) Sgn(c−) = −1, Sgn(c + ) = +1;
2) Sgn(h'hx) = −Sgn(hx) nếu h' âm đối với h và h'hx ≠ hx;
3) Sgn(h'hx) = Sgn(hx) nếu h' dương đối với h và h'hx ≠ hx;
4) Sgn(h'hx) = 0 nếu h'hx = hx.
Mệnh đề 1.1 [5] Với ∀x ∈ X, ta có: ∀h ∈ H, nếu Sgn(hx) = +1 thì hx > x, nếu Sgn(hx) = -1 thì hx < x và nếu Sgn(hx) = 0 thì hx = x.
Các tính chất của độ đo tính mờ trong ĐSGT:
Dựa trên cấu trúc của ĐSGT, trong đó quan hệ giữa các phần tử làquan hệ thứ tự ngữ nghĩa, mô hình toán học của tính mờ và độ đo tính mờcủa các khái niệm mờ đã được định nghĩa trong các công trình của NguyễnCát Hồ và cộng sự, ở đây tôi chỉ trình bày một số mệnh đề và bổ đề liên
(0 ,
c fm c
h fm
i p i
(0 ,
x fm x h fm
i p i
h
1)
(
, với α, β > 0 và α + β = 1
Định nghĩa 1.4 [6] Cho fm là hàm độ đo tính mờ trên X và ĐSGT tuyến
tính đầy đủ AX = (X, G, C, H, ≤) Hàm định lượng ngữ nghĩa υ trong AX kết hợp với fm được định nghĩa đệ quy như sau:
(1) υ(W) = θ = fm(c−), υ(c−) = θ−αfm(c−) = βfm(c−), υ(c + ) = θ
+αfm(c +), 0 < θ < 1;
Trang 9h fm x
h Sgn x
f x h
j
i
i j
1
)()
()
()(
=
x h fm x h x
h fm x
h Sgn x
f x h
j i
i j
ω h j x = +Sgn h j x Sgn h q h j x − ∈
1.1.4. Khoảng tính mờ
Khoảng tính mờ của hạng từ x, kí hiệu ℑ(x) Ánh xạ ℑ được xây dựng
bằng cách gán mỗi phần tử x ∈ X với một đoạn con của đoạn [0,1], đoạn con này có độ dài bằng độ đo tính mờ của phần tử x
Giả sử AX = (X, G, C, H, ≤) là ĐSGT tuyến tính đầy đủ và hàm độ đo
tính mờ fm: X → [0,1] Ta gọi Intv([0,1]) là họ tất cả các đoạn con của đoạn
[0,1] Việc gán ngữ nghĩa mờ được xác định như sau: ℑ : X → Intv([0,1])
Họ {ℑ(x) : x ∈ X } được gọi là một tựa phân hoạch (semi-partition)
của đoạn [0,1] nếu với x,y ∈ X, x ≠ y thì đoạn con ℑ(x) và ℑ(y) có chung
Trang 10với nhau nhiều nhất một điểm và x∈X ℑ(x) = [0,1] Để thuận tiện về sau, chúng ta ký hiệu X k = {x ∈ X : |x| = k}.
nghĩa mờ theo fm Khi đó:
i) {ℑ(c−), ℑ(c+)} là một tựa phân hoạch của đoạn [0,1] và với mọi x ∈ X,
họ {ℑ(h i x) : i ∈ [−q^p]} là một tựa phân hoạch của ℑ(x).
ii) Họ {ℑ(x) : x ∈ X n } là một tựa phân hoạch của đoạn [0,1] và nếu x < y và
hạn các hạng từ X(k) = {x ∈ X: |x| ≤ k} Khoảng tương tự mức k, chứa x, với
x ∈ X(k) kí hiệu Sm(x) là tập các khoảng {ℑ(x) : x ∈ X(k)} của miền tham
chiếu [0,1] thỏa mãn các điều kiện sau:
- (S1) Chúng tạo thành một phân hoạch của [0,1]
- (S2) Các giá trị trong Sm(x) được coi là tương tự với υ(x) trong đó υ là
ánh xạ định lượng ngữ nghĩa được xác định bởi fm Nói cách khác, chúng tương tự với ngữ nghĩa của x ở mức độ k.
Trang 11Các khoảng tương tự mức k được xây dựng bằng cách phân hoạch tập
các khoảng mờ {ℑ(x) : x ∈ X k’} thỏa mãn các điều kiện sau:
1) Các khoảng tương tự rời nhau và mỗi khoảng tương tự là hợp củacác khoảng mờ kề nhau
2) Mỗi khoảng tương tự là hợp của ít nhất 2 khoảng mờ mức k’, mà
điểm đầu mút của chúng là giá trị υ(x) Ngoại trừ hai khoảng tương tự Sm(0), Sm(1) chỉ chứa ít nhất một khoảng mờ, một điểm đầu mút của
nó là 0 hoặc 1
Nếu |H –| ≥ 2 và |H +| ≥ 2 thì các khoảng tương tự mức k sẽ được xây dựng từ các khoảng mờ mức k’ ≥ k + 1 Trong các trường hợp khác, khoảng tương tự mức k được xây dựng từ khoảng mờ mức k’ ≥ k + 2.
Dữ liệu số nhìn vào tưởng như không mang ý nghĩa gì nhưng nó ẩn chứanhiều thông tin hữu ích cần thiết cho công tác quản lí và đưa ra quyết định.Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này(khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽphải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rấttốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này
có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càngcần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngàycàng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên mộtkhối lượng dữ liệu khổng lồ đã có Từ thực tế đó đã làm phát triển mộtkhuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá
dữ liệu
1.2.1 Khái niệm
Trang 12Khai phá dữ liệu được dùng để mô tả quá trình phát hiện tri thức trongCSDL Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp choviệc dự báo trong kinh doanh, các hoạt động sản xuất, Khai phá dữ liệulàm giảm chi phí về thời gian so với phương pháp truyền thống trước kia(ví dụ như phương pháp thống kê).
Sau đây là một số định nghĩa mang tính mô tả của nhiều tác giả vềkhai phá dữ liệu [11]:
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương
pháp được dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt cácmối quan hệ và các mẫu chưa biết bên trong dữ liệu.”
Định nghĩa Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết
định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờtrong CSDL lớn.”
Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm
thường nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và cóthể hiểu được.”
1.2.2 Quá trình phát hiện tri thức trong CSDL
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiềulĩnh vực: thống kê, trí tuệ nhân tạo, CSDL, thuật toán, tính toán song song
và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu, …Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ như:
- Bảo hiểm, tài chính và thị trường chứng khoán
- Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định
Trang 13- Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thốnggiám sát lỗi, sự cố, chất lượng dịch vụ,
Hình 1.1 Quy trình phát hiện tri thức
Quy trình phát hiện tri thức thường tuân theo các bước sau:
Bước thứ nhất: Hình thành và định nghĩa bài toán Đây là bước tìm
hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụcần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các trithức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợpvới mục đích ứng dụng và bản chất của dữ liệu
Hình thành và
định nghĩa bài toán
Thu thập vàtiền xử lí dữ liệu
Khai phá dữ liệurút ra các tri thức
Phân tích và kiểm định kết quả
Sử dụng các tri thức phát hiện được
Trang 14Bước thứ hai: Thu thập và tiền xử lí dữ liệu Trong bước này dữ liệu
được thu thập ở dạng thô (nguồn dữ liệu thu thập có thể là từ các kho dữliệu hay nguồn thông tin internet) Trong giai đoạn này dữ liệu cũng đượctiền xử lí để biến đổi dữ liệu và cải thiện chất lượng dữ liệu cho phù hợpvới phương pháp khai phá dữ liệu được lựa chọn trong bước trên Bước nàythường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện trithức Các giải thuật tiền xử lí dữ liệu bao gồm:
- Xử lí dữ liệu bị mất/thiếu: Các dạng dữ liệu bị thiếu sẽ được thay thếbởi các giá trị thích hợp
- Khử sự trùng lắp: Các đối tượng dữ liệu trùng lắp sẽ bị loại bỏ đi Kĩthuật này không được sử dụng cho các tác vụ có quan tâm đến phân
bố dữ liệu
- Giảm nhiễu: Nhiễu và các đối tượng tách rời khỏi phân bố chung sẽ
bị loại đi khỏi dữ liệu
- Chuẩn hóa: Miền giá trị của dữ liệu sẽ được chuẩn hóa
- Rời rạc hóa: Các dạng dữ liệu số sẽ được biến đổi ra các giá trị rời rạc
- Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có
- Giảm chiều: Các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức Đây là bước quan
trọng nhất trong tiến trình khám phá tri thức Kết quả của bước này là trích
ra được các mẫu và/hoặc các mô hình ẩn dưới các dữ liệu Giai đoạn nàybao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khaiphá dữ liệu, dùng phương pháp khai phá nào? Thông thường, các bài toánkhai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra tính chấtchung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện cácsuy diễn dựa trên dữ liệu hiện có Tuỳ theo bài toán xác định được mà talựa chọn các phương pháp khai phá dữ liệu cho phù hợp
Bước thứ tư: Phân tích và kiểm định kết quả Là hiểu các tri thức đã
tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Trong bước này, kết
Trang 15quả tìm được sẽ được biến đổi sang dạng phù hợp với lĩnh vực ứng dụng và
dễ hiểu hơn cho người dùng
Bước thứ năm: Sử dụng các tri thức phát hiện được Là hiểu tri thức
đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên cóthể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bìnhtrên tất cả các lần thực hiện Các kết quả của quá trình phát hiện tri thức cóthể được đưa và ứng dụng trong các lĩnh vực khác nhau Do các kết quả cóthể là các dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệthống hỗ trợ ra quyết định nhằm tự động hoá quá trình này
Tóm lại, phát hiện tri thức là một quá trình kết xuất ra tri thức từ kho
dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất
1.2.3 Luật kết hợp và khả năng ứng dụng
Một trong những hướng tiếp cận hiệu quả để khai phá dữ liệu là sửdụng luật kết hợp, đây là dạng luật biểu diễn tri thức ở dạng khá đơn giản.Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần
dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luậtkết hợp
1.2.3.1 Luật kết hợp trong CSDL
Luật kết hợp là dạng luật khá đơn giản nhưng lại mang khá nhiều ýnghĩa Thông tin mà dạng luật này đem lại là rất đáng kể và hỗ trợ khôngnhỏ trong quá trình ra quyết định Tìm kiếm được các luật kết hợp mangnhiều thông tin từ CSDL là một trong những hướng tiếp cận chính củalĩnh vực khai thác dữ liệu
Gọi I = {I1, I2, , Im} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục Gọi D là một CSDL, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục, T ⊆ I.
X, Y ⊂ I là các tập mục gọi là itemsets, và X ∩Y = φ Ở đây, X được gọi
Trang 16là tiền đề, Y là mệnh đề kết quả Hai thông số quan trọng của luật kết hợp
là độ hỗ trợ (Supp) và độ tin cậy (Conf).
Định nghĩa 1.7 Độ hỗ trợ của một tập mục X trong CSDL D là tỉ số
giữa các giao tác T ⊂D chứa tập X và tổng số giao tác trong D (hay là phần trăm của các giao tác trong D có chứa tập mục X) kí hiệu
là Supp(X).
D
X T D T X
)(
tác có chứa X ∪Y và số giao tác trong CSDL D, kí hiệu:
Supp(X Y)
D
Y X T D T Y
của số giao tác trong D chứa X ∪ Y với số giao tác trong D có chứa tập
mục X Kí hiệu độ tin cậy của một luật là Conf(r), với 0 ≤ conf(r) ≤ 1.Việc khai thác các luật kết hợp từ CSDL chính là việc tìm tất cả cácluật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tincậy do người sử dụng xác định trước Các ngưỡng của độ hỗ trợ và độ
tin cậy được kí hiệu là Minsupp và Minconf.
Việc khai thác các luật kết hợp được phân tích thành hai vấn đề sau đây:
- Tìm tất cả các tập mục thường xuyên xảy ra mà có độ hỗ trợ lớn
hơn hoặc bằng Minsupp.
- Tạo ra các luật mong muốn sử dụng các tập mục lớn mà có độ tin
cậy lớn hơn hoặc bằng Minconf.
1.2.3.2 Luật kết hợp mờ
Trang 17Yêu cầu sử dụng Tham chiếu tập luật R Lựa chọn luật Ứng dụng
Với luật kết hợp mờ, như đã nói trong phần mở đầu, với mỗi mục
có thể chia ra các miền mờ (như “trẻ”, “trung niên”, ), thực chất là tachia một mục ban đầu thành các mục con và giá trị của mỗi hàng tại mục
đó sẽ nằm trong [0, 1] chứ không chỉ là 0 hoặc 1 Khi đó, độ hỗ trợ của
một miền mờ s i thuộc mục x i được định nghĩa là:
j xi si
n j
xi
n A
x j
x s
x j
x s
xk sk
x s
x
n A
A A
2 1 1 1
2 2
Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đờisống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phântích thị trường chứng khoán, tài chính và đầu tư, Ứng dụng luật kếthợp phải chỉ rõ các đặc điểm về: nguồn gốc, điều kiện áp dụng, phạm viứng dụng, mục đích ứng dụng Những đặc điểm này được thể hiện bằng
mô hình sau:
Trang 18Hình 1.2 Mô hình ứng dụng luật
Trong đó:
- Yêu cầu sử dụng là phạm vi tính ứng dụng của tập luật ví dụ như vềkhoa học, kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng khoán,
- Tham chiếu đến tập luật R, ở giai đoạn này các tập luật được thamchiếu tại đây là các tập luật được sinh ra từ CSDL chứa tác nhân yêucầu sử dụng
- Lựa chọn luật, ở bước này chúng ta tiến hành lọc các luật hữu ích nhấtphục vụ cho phạm vi sử dụng
- Ứng dụng, đây là kết quả mong đợi nhất từ khi bắt đầu khai thác chođến khi thi hành luật
Mô hình ứng dụng luật đã làm sáng tỏ tính ứng dụng của việc khaithác luật kết hợp trong CSDL
Thực tế, ứng dụng của khai thác luật kết hợp trong CSDL giao dịch
là một phạm trù của DataMining nên ứng dụng của nó rất rộng lớn, nhất
là trong sự phát triển của xã hội hiện nay
Tóm lại, tính ứng dụng của khai thác luật kết hợp trong CSDL giaodịch là việc ứng dụng các tập luật tìm thấy trong đó nhằm vào nhữngmục đích cụ thể và đạt được kết quả tốt
1.3.1. Ý tưởng
Apriori là một thuật giải do Rakesh Agrawal và cộng sự [9] đề xuấtlần đầu vào năm 1993 Thuật toán tìm giao dịch t có độ hỗ trợ và độ tin cậythỏa mãn lớn hơn một giá trị ngưỡng nào đó
Ý tưởng chính của thuật toán Apriori:
Trang 19- Tạo ra các tập mục phổ biến có 1 phần tử, rồi tiếp đến là 2 phần tử,
3 phần tử, cho đến khi chúng ta tạo ra tập mục phổ biến của mọikích thước
- Mỗi tập mục được tạo ra phải được tính toán độ hỗ trợ
- Tập mục phổ biến k phần tử được tạo ra từ tập phổ biến k – 1 phần
tử Bằng cách, nối từng đôi một tập mục phổ biến k – 1 phần tử đã
có để tạo ra tập ứng viên k phần tử Sau đó, những tập ứng viên nào
có chứa một tập con không phải là phổ biến sẽ bị loại bỏ
1.3.2. Thuật toán Apriori
Dữ liệu vào: I, D, Minsupp, Minconf
Dữ liệu ra: Tất cả những luật kết hợp thỏa Minsupp và Minconf
Thuật toán sử dụng tính chất tập con của một tập phổ biến là phổ biến
- Duyệt qua dữ liệu nhiều lần
- Lần duyệt đầu tiên – tính độ hỗ trợ cho mỗi mục và xác định tậpmục nào phổ biến
- Lần duyệt thứ k
+ Sinh ứng cử viên Ck có k-mục từ các tập mục phổ biến k-1 mục ở
bước trước
+ Xác định tập mục phổ biến Lk từ tập ứng cử Ck Lặp lại quá trình
cho đến khi không tìm được các tập mục phổ biến mới
+ Quá trình này gồm 2 bước như sau:
Bước 1: Bước kết nối
• Để tìm tập mục phổ biến k-mục Lk chúng ta xuất phát từ các tập mục phổ biến Lk-1, sinh tập ứng cử k-mục Ck bằng cách kết nối các phần tử Lk-1.
• Nối các phần tử trong Lk-1 được thực hiện như sau: các phần tử trong Lk-1 được kết nối với nhau nếu chúng có chung (k-2) mục
đầu tiên giống nhau tức là:
(l1[1]=l2[1])^(l1[2]=l2[2])^ ^(l1[k-2]=l2[k-2])^(l1[k-1]<l2[k-1])
Trang 20• Điều kiện (l1[k-1]<l2[k-1]) là để đảm bảo không sinh thừa các tậpứng cử Tập kết quả nhận được có dạng: l1[1]l1[2]l1[3] l1[k-2]l1[k-1]l2[k-1].
for (moi l1 ∈ Lk-1) do
for (moi l2 ∈ Lk-1) do
if (l1[1]=l2[1]) (l1[2]=l2[2]) &(l1[k-2]=l2[k-2]) (l1[k-1]<l2[k-1]) then
c = l1 x l2
Bước 2: Bước tỉa
Để rút gọn kích thước của Ck sử dụng tính chất bất kì tập con
(k-1)-mục nào không phổ biến thì không thể là tập con của tập k-mụcphổ biến Do đó, nếu bất kì tập k-mục nào mà có tập (k-1) mục không
phổ biến thì sẽ bị loại bỏ khỏi Ck Việc kiểm tra này có thể thực hiện
nhanh bằng cách duy trì một cây băm cho tất cả các tập mục phổ biến
L1 = {1-mục}
For (k=2; Lk-1≠φ;k++) do begin
Ck = apriorigen(Lk-1); //Tạo tập ứng cử viên k hạng mục
For (moigiaotact ∈ D) do begin //Duyệt CSDL để tính
Support
Ct = subset(Ck,t) //Lấy ra tập con của t là ứng viên
For (moi ung cu c ∈ Ct) do
c.count++;
endend
Lk = {c ∈ Ck | c.count ≥ Minsupp}
End
Lk = Y k
Lk
Hàm Apriori_gen nhận Lk-1 và trả về tập ứng viên kích thước k.
Gồm 2 bước: Kết nối và tỉa
Procedure apriori_gen (Lk-1; Minsupp){
for (mỗi l1 ∈ Lk-1) do
for (mỗi l2 ∈ Lk-1) do{
Trang 21if (l1[1]=l2[1])^(l1[2]=l2[2])^…^(l1[k-2]=l2[k-2])^(l1[k-1]
<l2[k-1]) then
c = l1 x l2 //Bước kết Lk-1 với chính nó
if (has_inrequent_subset(c, Lk-1) then
xóa c; //Loại bỏ các ứng viên không có lợi
else thêm c vào Ck
* Hạn chế của thuật toán Apriori:
- Số lượng lớn tập phổ biến được tạo ra làm gia tăng sự phức tạp không gian
- Quá nhiều lần duyệt CSDL được yêu cầu vì số lượng lớn tập phổ biếnđược tạo
- Khi số lần duyệt CSDL nhiều làm gia tăng sự phức tạp thời gian khiCSDL gia tăng
1.3.3. Ví dụ minh họa cho thuật toán Apriori
Xét CSDL giao dịch bán hàng gồm 5 giao dịch như sau:
Bảng 1.1 CSDL sử dụng minh họa thuật toán Apriori
1 Bia, Tã giấy, Bột trẻ em, Bánh mì, Cây dù
2 Tã giấy, Bột trẻ em
3 Bia, Tã giấy, Sữa
4 Tã giấy, Bia, Chất tẩy rửa
5 Bia, Sữa, Cô-ca Cô-la
Minsupp = 40% (2/5), Minconf= 70%
Trang 22Thuật toán Apriori tìm các luật kết hợp trong giao dịch bán hàng trênnhư sau:
Trang 23Kết quả ta có các luật kết hợp sau: (với Minsupp = 40%, Minconf = 70%)
R1: Bia Tã giấy (Supp =60%, Conf = 75%)
R2: Tã giấy Bia (Supp =60%, Conf = 75%)
R3: Sữa Bia (Supp =40%, Conf = 100%)
R4: Bột trẻ em Tã giấy (Supp =40%, Conf = 100%)
Từ kết quả các luật được sinh ra bởi giao dịch bán hàng trên, ta thấy
rằng có luật có thể tin được (hợp lý) như Bột trẻ em Tã giấy, có luật cầnphải phân tích thêm như Sữa Bia và có luật có vẻ khó tin như Tã giấy Bia Ví dụ này sinh ra các luật có thể không thực tế vì dữ liệu dùng để phân
tích rất nhỏ
1.4 Kết luận chương
Trang 24Trong chương này, tôi đã trình bày khái niệm ĐSGT, mối quan hệ giữacác gia tử và một số vấn đề liên quan như: ánh xạ định lượng ngữ nghĩa, độ
đo tính mờ, khoảng tính mờ và khoảng tương tự Qua đó thấy được ĐSGT làmột cấu trúc toán học mô phỏng chính xác hơn cấu trúc ngôn ngữ của mộtkhái niệm mờ so với lý thuyết tập mờ
Cũng trong chương, tôi giới thiệu sơ lược một số kiến thức tổng quan vềkhai phá dữ liệu, định nghĩa về luật kết hợp và khả năng ứng dụng của nó.Cuối cùng là trình bày ý tưởng và nắm được các bước của thuật toán Apriorikhai phá luật kết hợp để làm tiền đề cho các chương sau
CHƯƠNG 2 XÂY DỰNG THUẬT TOÁN SINH TÓM TẮT NGÔN NGỮ TỪ DỮ LIỆU SỐ
Sau khi tìm hiểu các thuật toán khai phá luật kết hợp mờ trong cácnghiên cứu trước đây và thấy được sự bao trùm của bài toán tóm tắt dữ liệuvới bài toán khai phá luật kết hợp, từ đó xây dựng một thuật toán sinh tóm tắt
Trang 25ngôn ngữ tổng quát Với sự kết hợp của hai ý tưởng: Một là, trang bị cho mỗimiền thuộc tính một cấu trúc ĐSGT để biểu diễn và xử lí được các thông tin
mờ Hai là, tận dụng ý tưởng và thay đổi cách dùng tham số của thuật toánApriori để tìm được các tóm tắt thay vì chỉ tìm các luật kết hợp
Trong chương này sẽ đi trình bày lại ngắn gọn bài toán tóm tắt dữ liệu,một số dạng tóm tắt dữ liệu theo Yager và ứng dụng ĐSGT trong tóm tắt dữliệu bằng ngôn ngữ để đi xây dựng thuật toán sinh tóm tắt ngôn ngữ cho bộ
dữ liệu số
2.1 Bài toán tóm tắt dữ liệu
Ở đây, tôi sẽ trình bày ngắn gọn cách tiếp cận cơ bản của Yager về tómtắt các bộ dữ liệu (CSDL) bằng ngôn ngữ Theo Yager vào năm 1982 [10] bàitoán tóm tắt dữ liệu bằng ngôn ngữ (linguistic database summarization) đượcphát biểu như sau:
- V là tập các thuộc tính cần quan tâm
- Y = {y1, , y n } là một tập các bản ghi có các thuộc tính trong V
- D = {V(y1), , V(y n)} là tập dữ liệu
Một tóm tắt dữ liệu bằng ngôn ngữ của tập dữ liệu trên gồm có:
Trang 26Lưu ý rằng chúng tôi xem xét ở đây một số hình thức cụ thể, cơ bản củamột bản tóm tắt ngôn ngữ Chúng tôi không xem xét các hình thức khác của
tóm tắt ví dụ như "trên 70% số công nhân dưới 35 tuổi" có thể được xem xét
để cung cấp thông tin tương tự như "Hầu hết công nhân là trẻ" bởi vì về sau
rõ ràng bên ngoài lớp tóm tắt ngôn ngữ được xem xét Cũng lưu ý rằng chúng
ta bàn luận ở đây chỉ là tóm tắt ngôn ngữ của các bộ giá trị số Người ta có thểtưởng tượng rõ ràng việc tóm tắt ngôn ngữ của các thuộc tính tượng trưngnhưng vấn đề liên quan này nằm ngoài phạm vi của bài báo này
Trước tiên, chúng ta nên bàn luận về các dạng của các yếu tố cơ bản củatóm tắt, tức là tóm tắt, định lượng thỏa đáng, và làm thế nào để tính toán mức
độ đúng đắn
2.1.1 Dạng tóm tắt
Vì phương tiện giao tiếp duy nhất giữa tự nhiên và con người là ngôn
ngữ tự nhiên, do đó chúng ta giả định rằng tóm tắt S là một diễn đạt ngữ
nghĩa ngôn ngữ biểu diễn bằng một tập mờ Chẳng hạn, tôi ví dụ một tóm
tắt là ''trẻ'' sẽ được biểu diễn như một tập mờ vũ trụ, ví dụ {1, 2, , 90},
nghĩa là chứa các giá trị có thể có về tuổi con người, ví dụ dưới 35 tuổi là
chắc chắn "trẻ", nghĩa là hạng thành viên bằng 1, tuổi trên 50 là chắc chắn
"không trẻ", nghĩa là hạng thành viên bằng 0, và đối với lứa tuổi từ 35 đến
50 tuổi, số hạng thành viên từ 0 đến 1, tuổi càng cao thì hạng thành viêntương ứng càng thấp Rõ ràng, ý nghĩa của tóm tắt, tức là tập mờ tương ứngcủa nó là thực tế chủ quan, và có thể được xác định trước hoặc gợi ra từngười sử dụng
Một tóm tắt liên quan đến một thuộc tính đơn giản được minh hoạ bởi
"trẻ" cũng phục vụ cho mục đích giới thiệu khái niệm về một tóm tắt ngôn
ngữ, do đó nó được giả định bởi Yager Tuy nhiên, nó ít thực tế hơn Nó có
Trang 27thể mở rộng trên một vài giá trị thuộc tính như là "trẻ và lương cao", và sau
đó là các tổ hợp phức tạp hơn nữa
Rõ ràng, khi chúng tôi thử tóm tắt dữ liệu bằng ngôn ngữ, điều thú vịnhất là các tóm tắt thích hợp, ví dụ:
- lao động có năng suất,
- khuyến khích môi trường làm việc,
- thứ tự khó,
liên quan đến sự kết hợp phức tạp của các thuộc tính, một hệ thống phâncấp (không phải tất cả các thuộc tính có cùng tầm quan trọng), các giá trịthuộc tính là AND và/hoặc OR, k trong số n, hầu hết, của chúng cầnđược tính đến
Quá trình tạo và xử lý các tóm tắt không tầm thường này cần một sốcông cụ và kỹ thuật cụ thể được trình bày dưới đây
2.1.2 Dạng định lượng thỏa đáng
Định lượng thỏa đáng Q là chỉ số thể hiện số lượng dữ liệu thỏa tóm
tắt và được diễn đạt bằng một hạng từ
Cơ bản có hai loại định lượng bằng ngôn ngữ có thể được sử dụng:
- Tuyệt đối: Khoảng 5, không nhỏ hơn 20,
- Tương đối: Một ít, hầu hết, gần như tất cả,
Lưu ý rằng các biểu thức ngôn ngữ nói trên gọi là định lượng ngônngữ mờ có thể được xử lí bằng logic mờ Định lượng tương đối chính làđịnh lượng mờ
Đối với các tóm tắt mờ, trong trường hợp một định lượng thỏa đáng
mờ, dạng của nó là chủ quan, và có thể được xác định trước hoặc gợi ra từngười sử dụng
2.1.3 Độ đúng đắn
Độ đúng đắn T là một giá trị nằm trong khoảng [0, 1] Ngữ nghĩa của
T thể hiện chất lượng hoặc độ tốt của tóm tắt Giá trị T đã từng được tính
Trang 28theo hai phương pháp hoặc bằng công thức tính toán của Zadeh (1983) đốivới một câu có định lượng hoặc là dùng pháp toán tính trung bình có trọng
số (OWA) của Yager (1988) Các công thức tính toán trong cả hai phương
pháp nói trên đều dựa vào giá trị hàm thuộc tóm tắt S và định lượng thỏa đáng Q khi S và Q được biểu diễn bằng các tập mờ.
trong đó y là thực thể, F là điều kiện lọc.
Ví dụ 2.2 Hai câu tóm tắt tương ứng với hai dạng tổng quát:
“Nhiều (Q) công nhân (y) là cực kì trẻ (S)” là tóm tắt ở Dạng 1
“Hầu hết (Q) công nhân (y) cực kì trẻ (F) có lương cực kì thấp (S)” là
tóm tắt Dạng 2
Về cơ bản, các hình thức trừu tượng tương ứng với các trường hợp màchúng ta giả định về các tóm tắt tìm kiếm Có hai trường hợp giới hạn, đó là:(1) giả định toàn bộ protoform trừu tượng hoặc (2) giả định rằng tất cả cácphần tử của một protoform được cho ở mức thấp nhất của khái niệm trừutượng như các thuật ngữ ngôn ngữ cụ thể Trong trường hợp 1 tóm tắt dữ liệu
sẽ rất tốn thời gian, nhưng có thể tạo ra quan điểm thú vị, bất ngờ trên dữ liệu.Trong trường hợp 2 người sử dụng phải dự đoán được một công thức tốt đểtổng hợp nhưng đánh giá khá đơn giản tương đương với trả lời một truy vấn
mờ Do đó, trường hợp thứ hai liên quan đến tổng hợp được gọi là các truy
Trang 29vấn ngẫu nhiên Điều này có thể được minh họa trong Bảng trong đó năm loại
cơ bản của tóm tắt ngôn ngữ được chỉ ra, tương ứng với các protoform của
nhiều dạng trừu tượng Trong Bảng 2.1, Scấu trúc biểu thị các thuộc tính và liên
kết của chúng trong một bản tóm tắt được biết, trong khi Sgiá trị biểu thị mộttóm tắt tìm kiếm
Loại 1 có thể dễ dàng được tạo ra bởi một phần mở rộng đơn giản củatruy vấn mờ như trong FQUERY Về cơ bản, người dùng phải xây dựng mộtbản tóm tắt các truy vấn, và phải định rõ các hàng phù hợp với truy vấn này là
gì và bộ định lượng ngôn ngữ nào là tốt nhất biểu thị phần này Một tóm tắtloại 2 là một mở rộng đơn giản của loại 1 bằng cách thêm một bộ lọc mờ.Tóm tắt loại 3 đòi hỏi khó khăn hơn Mục tiêu chính của chúng là xác định
các giá trị điển hình của một thuộc tính Vì vậy, truy vấn S bao gồm chỉ một
điều kiện đơn giản được xây dựng bởi thuộc tính có giá trị điển hình được tìmkiếm, toán tử quan hệ “=” và một nơi lưu giữ giá trị tìm kiếm Ví dụ, sử dụng
tóm tắt dưới đây trong một ngữ cảnh của dữ liệu cá nhân: Q = “hầu hết” và S
= “tuổi = ?” (ở đây biểu thị một nơi lưu giữ được đề cập ở trên) chúng ta tìmkiếm một giá trị điển hình của tuổi Một tóm tắt loại 4 có thể tạo ra các giá trịđiển hình cho một vài thứ, có thể mờ, tập con của các hàng Từ quan điểmtính toán Tóm tắt loại 5 đại diện cho một hình thức tổng quát nhất được xemxét ở đây: các luật mờ mô tả sự phụ thuộc giữa các giá trị cụ thể của thuộc
tính riêng Ở đây việc sử dụng B là cần thiết, trong khi trước đó nó không bắt
buộc Các tóm tắt loại 1 và 3 đã được thực hiện thêm vào của Kacprzyk vàZadrozny FQUERY cho Access Hai cách tiếp cận cho tóm tắt loại 5 đã được
đề xuất Thứ nhất, một tập con của các tóm tắt như vậy có thể được tạo rakhai thác những điểm tương đồng với khái niệm luật kết hợp và sử dụng cácthuật toán có hiệu quả Thứ hai, thuật toán di truyền có thể được sử dụng đểtìm kiếm không gian của tóm tắt