You are on page 1of 20

ng dụng một số kỹ thuật khai phá dữ liệu để

phân tích dữ liệu viễn thông nhằm


tăng cư ng chất lượng dịch vụ khách hàng
An application of data mining techniques to analyze data telecommunications
to enhance the quality of customer service
NXB H. : ĐHCN, 2012 Số trang 78 tr. +

Lư ng Hồng Giang

Trư ng Đại học Công nghệ


Luận văn ThS ngành: Hệ Thống Thông Tin; Mã số: 60 48 05
Ngư i hướng dẫn: PGS.TS.Nguyễn Hà Nam
Năm bảo vệ: 2012
Abstract: Tổng quan về khai phá dữ liệu: khai phá dữ liệu; Quá trình khai phá tri th c
trong cơ s dữ liệu (CSDL); Các kỹ thuật tiếp cận trong khai phá dữ liệu; Kiến trúc c a hệ
thống khai phá dữ liệu; ng dụng khai phá dữ liệu. Giới thiệu khai phá mẫu phổ biến, luật
kết hợp bao gồm: khái niệm về khai phá phổ biến và tổng quan về luật kết hợp. Lưu trữ dữ
liệu lớn dựa trên Oracle DBMS. Áp dụng Luật kết hợp vào Cơ S Dữ Liệu Oracle (đặc tả
bài toán, tính độ hỗ trợ, các ví dụ minh họa). ng dụng vào phân tích dữ liệu viễn thông
tại Beeline

Keywords: Công nghệ thông tin; Khai phá dữ liệu; Dữ liệu viễn thông; Phân tích dữ liệu;
Hệ thống thông tin

Content
Ngành công nghiệp viễn thông lưu trữ một khối lượng dữ liệu khổng lồ, bao gồm chi tiết
cuộc gọi, thông tin cảnh báo trình trạng c a hệ thống mạng viễn thông và thông tin dữ liệu về
khách hàng. ng dụng kỹ thuật khai phá dữ liệu (data mining) để phát hiện các quy luật ẩn ch a
trong khối dữ liệu khổng lồ đó sẽ mang lại cho các doanh nghiệp viễn thông nhiều cơ hội để phát
triển các ng dụng mang tính thực tiễn cao. Đây là một hướng đi phù hợp và đã sớm được áp
dụng phổ biến nhiều công ty viễn thông lớn trên thế giới.
Với sự phát triển mạnh mẽ c a khoa học công nghệ cùng với sự lớn mạnh c a thị trư ng
viễn thông tại Việt Nam, đến nay có 08 doanh nghiệp được cấp phép hoạt động dịch vụ điện thoại
di động. Tính đến hết tháng 8/2012, tổng số thuê bao điện thoại di động c a Việt Nam đã lên đến
140 triệu thuê bao, đạt mật độ 160 máy/100 dân. Với tỷ lệ điện thoại cao gấp 1,6 lần dân số, thị
trư ng viễn thông di động Việt Nam xem như đã bước vào giai đoạn bão hoà. Tốc độ tăng trư ng
thuê bao dự báo sẽ rơi từ m c 40-50%/năm hiện nay xuống chỉ còn 5-15%/năm trong 4-5 năm tới.
Việt Nam, nhu cầu dịch vụ viễn thông ngày càng gia tăng và m rộng với nhiều dịch vụ
tiện ích, bao gồm cả internet và băng rộng, có thể tr thành truy cập phổ cập, thay thế nhu cầu
viễn thông cố định. Chính vì vậy, một nhu cầu đặt ra cho các nhà cung cấp các dịch vụ viễn thông

1
là đối mặt được với áp lực cạnh tranh khốc liệt từ các nhà cung cấp dịch vụ trong nước đến các tập
đoàn viễn thông đa quốc gia.
Đối với ngành viễn thông, thị phần và khách hàng là hai yếu tố hết s c quan trọng, quyết
định sự thành công c a doanh nghiệp. Chính vì vậy việc nắm được các nhu cầu s thích c a khách
hàng cũng như những xu hướng biến động c a thị trư ng là một lợi thế to lớn cho các doanh
nghiệp cạnh tranh và m rộng thị trư ng c a mình. Ngày nay, các công ty viễn thông không
ngừng nâng cao, cải tiến các dịch vụ c a mình và tìm kiếm dich vụ mới để đáp ng nhu cầu ngày
càng lớn c a khách hàng. Đòi hỏi các nhà mạng cần phải có định hướng, chiến lược kinh doanh
hợp lý để đ ng vững trong môi trư ng viễn thông hiện nay tại Việt Nam. Khai phá dữ liệu chính
là một trong những kỹ thuật hữu ích nhất để giải quyết những vấn đề này.
Vấn đề đặt ra: Bài toán đặt ra cho các nhà mạng di động là thu thập được các tri th c từ
các kho dữ liệu khách hàng khổng lồ. Phân loại dữ liệu cước di động là một phương pháp giúp
cho các nhà mạng di động có thể phân loại được các nhóm đối tượng khách hàng khác nhau, từ đó
đưa ra các chiến lược kinh doanh phù hợp với từng đối tượng khách hàng.
Luận văn “ứng dụng một số kỹ thuật khai phá dữ liệu để phân tích dữ liệu viễn thông
nhằm tăng cường chất lượng dịch vụ khách hàng”
Đề tài được nghiên c u dựa trên luật kết hợp, một trong những những kỹ thuật rất quan
trọng c a khai phá dữ liệu. Nội dung chính c a luận văn được chia thành năm chương như sau:
Chương 1: M đầu
Chương 2: Giới thiệu khai phá mẫu phổ biến, luật kết hợp
Chương 3: Lưu trữ dữ liệu lớn dựa trên Oracle DBMS
Chương 4: Áp dụng Luật kết hợp vào Cơ S Dữ Liệu Oracle
Chương 5: ng dụng vào phân tích dữ liệu viễn thông tại Beeline:
Phân tích một cơ s dữ liệu, trình bày về cách cài đặt chương trình khai thác luật kết hợp
trong việc sử dụng các dịch vụ giá trị gia tăng c a khách hàng. Dựa vào kết quả này mà ngư i
quản lý c a các doanh nghiệp viễn thông nắm bắt được những nhóm dịch vụ nào có liên quan tới
nhau, phục vụ cho mục đích quản lý và lựa chọn các dịch vụ và th i điểm phát hành các loại dịch
vụ cho các nhóm khách hàng khác nhau.
Khai phá dữ liệu.
Khai phá dữ liệu là một khái niệm ra đ i vào những năm cuối c a thập kỷ 80. Nó bao hàm
một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn
(các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử
dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu.
một m c độ trừu tượng nhất định có thể định nghĩa: Khai phá dữ liệu (Data Mining) là
một quá trình tìm kiếm, phát hiện các tri th c mới, tiềm ẩn, hữu dụng trong CSDL lớn.

2
Khai phá tri thức (KDD) là mục tiêu chính c a khai phá dữ liệu, do vậy hai khái niệm đó
được xem như hai lĩnh vực tương đương nhau. Nhưng, nếu phân chia một cách tách bạch thì khai
phá dữ liệu là một bước chính trong quá trình KDD.
Quá trình khai phá tri th c trong cơ sở dữ liệu
Khai phá tri th c trong CSDL ( Knowledge Discovery in Databases - KDD) là lĩnh vực liên
quan đến các ngành như: thống kê, học máy, CSDL, thuật toán, trực quan hóa dữ liệu, tính toán
song song và hiệu năng cao,…
Quá trình KDD có thể phân thành các giai đoạn sau:

Hình 1.1: Khai phá dữ liệu là một bước trong quá trình khai phá tri thức
Các kỹ thuật tiếp cận trong khai phá dữ liệu.
Nếu đ ng trên quan điểm c a học máy (Machine Learning), thì các kỹ thuật trong Data
Mining, bao gồm: Học có giám sát (Supervised learning, Học không có giám sát (Unsupervised
learning, Học nửa giám sát (Semi - Supervised learning.
Nếu căn c vào lớp các bài toán cần giải quyết, thì Data Mining bao gồm các kỹ thuật sau:
Phân lớp và dự đoán (Classification & prediction), Luật kết hợp (Association rules), Khai thác
mẫu tuần tự (Sequential/temporal patterns), Phân cụm (Clustering/segmentation).
Kiến trúc c a hệ thống khai phá dữ liệu
Như đã trình bày trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri th c
từ số lượng lớn dữ liệu lưu trữ trong các cơ s dữ liệu, kho dữ liệu hoặc các nơi lưu trữ khác.

3
Hình 1.2: Kiến trúc của hệ thống khai phá dữ liệu
ng dụng c a khai phá dữ liệu
Khai phá dữ liệu thu hút được rất nhiều sự quan tâm c a các nhà nghiên c u nh vào tính
ng dụng thực tiễn c a nó. Khai phá dữ liệu có nhiều ng dụng trong thực tế. Một trong số ng
dụng điển hình như: phân tích dữ liệu và hỗ trợ ra quyết định, tài chính và thị trư ng ch ng
khoán, điều trị và chăm sóc y tế, text mining & web mining, các lĩnh vực khoa học, mạng viễn
thông.
Hướng tiếp cận c a luận văn.
Các ứng dụng quản lý và chăm sóc khách hàng
Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin khách hàng và dữ
liệu về chi tiết cuộc gọi (call detail records). Các ng dụng khai phá dữ liệu phổ biến trong lĩnh
vực viễn thông:
 ng dụng khai phá dữ liệu dựa trên việc xem xét luật kết hợp giữa các dịch vụ viễn thông khách
hàng sử dụng.
 Một vấn đề khá phổ biến các công ty viễn thông hiện là sự thay đổi nhà cung cấp dịch vụ
(customer churn). Đây là vấn đề khá nghiêm trọng ảnh hư ng đến tốc độ phát triển thuê bao,
cũng như doanh thu c a các nhà cung cấp dịch vụ.
 Cuối cùng, một ng dụng cũng rất phổ biến đó là phân lớp khách hàng (classifying). Dựa vào dữ
liệu khách hàng và chi tiết cuộc gọi có thể tìm ra các luật để phân loại khách hàng.
Hướng nghiên cứu của đề tài.
Đề tài phân tích dữ liệu viễn thông nhằm nhận diện được những đặc tính c a khách hàng và thông
qua đó có thể đưa ra các chính sách chăm sóc khách hàng thích hợp dựa trên dự đoán hoặc có một
chiến lược tiếp thị hiệu quả. ng dụng khai phá dữ liệu dựa trên việc xem xét luật kết hợp giữa
các dịch vụ viễn thông khách hàng sử dụng. Dựa vào kết quả này mà ngư i quản lý c a các doanh
nghiệp viễn thông nắm bắt được những nhóm dịch vụ nào có liên quan tới nhau, phục vụ cho mục
đích quản lý và lựa chọn các dịch vụ giá trị gia tăng và th i điểm phát hành các loại dịch vụ giá trị
gia tăng cho các nhóm khách hàng khác nhau. Xây dựng chiến lược phát triển hệ thống và tìm
những khách hàng tiềm năng cho các gói sản phẩm khác nhau.
4
Giới thiệu khai phá mẫu phổ biến, luật kết hợp
Khái niệm về khai phá mẫu phổ biến
Mẫu phổ biến
Mẫu phổ biến (Frequent pattern): là mẫu (tập mục - itemsets, dãy mục – itemlists, dãy con –
subsequence, hoặc cấu trúc con – substructures…) mà xuất hiện phổ biến trong một tập dữ liệu.
Agrawal, Imielinski, Swami – 1993 – trong ngữ cảnh bài toán tập phổ biến và luật kết hợp
Ý nghĩa của khai phá mẫu phổ biến
Tìm kiếm mẫu phổ biến đóng vai trò thiết yếu trong khai phá luật kết hợp, tìm kiếm mối
tương quan, và các mối quan hệ trong cơ s dữ liệu. Hơn nữa nó giúp phân lớp, phân cụm dữ liệu,
và hỗ trợ các nhiệm vụ khai phá dữ liệu khá tốt. Do vậy, khai phá mẫu phổ biến đã tr thành
nhiệm vụ quan trọng trong khai phá dữ liệu.
Bài toán thực tế
Có thể kết luận rằng, khai phá mẫu phổ biến là quá trình tìm kiếm mối quan hệ tuần hoàn, lặp đi
lặp lại trong một cơ sở dữ liệu.
Ví dụ, thông tin khách hàng mua máy giặt thì cũng có xu hướng mua xà phòng giặt máy tại
cùng một th i điểm được mô tả trong luật kết hợp dưới đây:
Máy giặt => Xà phòng giặt [độ hỗ trợ = 2%, độ tin cậy = 60%]
Tổng quan về luật kết hợp
Khái niệm luật kết hợp
Tập toàn bộ các mục I = {i1, i2, …, ik}: “tất cả các mặt hàng”. Cho D là một cơ s dữ liệu giao
dịch như là danh sách các mặt hàng (mục: item) trong một phiếu mua hàng c a khách hàng. Giao
dịch T là một tập mục. Một giao dịch T là một tập con c a I: T  I. Mỗi giao dịch T có một định
danh là TID. X là một tập mục X  I và T là một giao dịch: Gọi T ch a X nếu X  T. Gọi X  Y
là một “luật kết hợp” nếu X  I, Y  I và XY=.
 Kí hiệu support(X) (hoặc sup(X), s(X)) là tỷ lệ phần trăm c a các giao dịch hỗ trợ X trên
tổng các giao dịch trong D, nghĩa là:
|{T  D|X  T}|
sup  X   (1)
D
Tập mục X có P(X)  s>0 (với s cho trước) được gọi là tập phổ biến (frequent set)
 Luật kết hợp X  Y có độ hỗ trợ (support) s trong CSDL giao dịch D nếu trong D có s% các
giao dịch T ch a XY: chính là xác suất P(XY).
Support (X  Y) = P(XY) : 1  s (X  Y)  0 (2)
 Luật kết hợp X  Y có độ tin cậy (confidence) c trong CSDL D nếu như trong D có c% các
giao dịch T ch a X thì cũng ch a Y: chính là xác suất P(X|Y).
Confidence (X  Y) = P(X|Y) : 1  c (X  Y)  0 (3)

5
Luật X  Y được gọi là đảm bảo độ hỗ trợ s trong D nếu s(X  Y)  s. Luật X  Y được gọi là
đảm bảo độ tin cậy c trong D nếu c(X  Y)  c. Luật thỏa mãn cả hai ngưỡng hỗ trợ tối thiểu
(min_sup) và ngưỡng tin cậy tối thiểu (min_conf) được gọi là luật mạnh. Độ hỗ trợ và độ tin cậy
nhận giá trị trong khoảng từ 0% đến 100% hoặc từ 0.0 đến 1.0. giá trị min_sup và min_conf được
xác định b i ngư i dung hoặc hệ chuyên gia.
Như vậy, quá trình khai phá luật kết hợp phải được thực hiện thông qua hai bước:
Bước 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu do ngư i dùng xác
định. Các tập mục thoả mãn độ hỗ trợ tối thiểu được gọi là các tập mục phổ biến.
Bước 2: Tạo luật liên kết mạnh từ tập mục phổ biến sinh ra các luật mong muốn. Ý tư ng
chung là nếu gọi XYZW và XY là các tập mục phổ biến, thì chúng ta có thể xác định luật nếu XY
=> ZW giữ lại với tỷ lệ độ tin cậy:

conf 
Sup( XYZW )
(5)
Sup( XY )
Nếu conf ≥ min_conf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ trợ tối thiểu vì
XYZW là phổ biến).
Giải thuật Apriori để sinh các luật kết hợp.
Để hình dung rõ hơn các giai đoạn trong quá trình phát hiện luật kết hợp, chúng ta sẽ xem xét giải
thuật Apriori phát hiện luật kết hợp từ cơ s dữ liệu tác vụ.
Tính chất Apriori: Mọi tập con khác rỗng của tập mục phổ biến cũng phải phổ biến. Ví dụ,
nếu {bia, bỉm, hạnh nhân} là phổ biến thì {bia, bỉm} cũng vậy, mọi giao dịch ch a {bia, bỉm,
hạnh nhân} cũng ch a {bia, bỉm}.
Giải thuật Apriori:
a. Duyệt (Scan) toàn bộ cơ s dữ liệu giao dịch để có được độ hỗ trợ (support) S c a 1-
itemset, so sánh S với độ hỗ trợ tối thiểu min_sup, để có được 1-itemset (F1)
b. Sử dụng Fk-1 nối (kết nối) Fk-1 để sinh ra candidate k-itemset. Loại bỏ các itemsets không
phải là tập phổ biến thu được k-itemset ( bước cắt tỉa)
c. Tiếp tục duyệt cơ s dữ liệu giao dịch để có được độ hỗ trợ S c a mỗi candidate k-itemset,
so sánh S với min_sup để thu được tập phổ biến k –itemset (Fk)
d. Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (không tìm thấy tập phổ biến)
e. Với mỗi tập phổ biến I, sinh tất cả các tập con s không rỗng c a I
f. Với mỗi tập con s không rỗng c a I, sinh ra các luật s => (I-s) nếu độ tin cậy (Confidence)
c a nó > =min_conf
Mô tả thuật toán Apriori dưới dạng giả mã
Đầu vào:
- Cơ s dữ liệu giao dịch D = {t|t : giao dịch}.
- Độ hỗ trợ tối thiểu min_sup > 0
Đầu ra: Tập hợp tất cả các tập phổ biến.
6
Phương pháp:
(0) mincount = min_sup * |D|;
(1) F1 = {tất cả các tập mục phổ biến có độ dài bằng 1};
(2) For (k=2; Fk-1   , k++){
(3) Ck = Apriori-gen (Fk-1); //Sinh mọi ng viên có độ dài k.
(4) For ( mỗi giao dịch t  D) { // quét CSDL D để đếm
(5) Ct = ( c  Ck| c  t); //tất cả các ng viên c thuộc Ck với c là tập con c a giao dịch
t.
(6) For (mỗi ng viên c  Ct)
(7) c.Count++;
(8) } // kết thúc lặp các giao dịch t  D
(9) Fk = { c  Ck | c.count  min_sup }
(10) } //kết thúc vòng lặp.
(11) } Return k Fk
Thuật toán Apriori được trình bày dưới dạng giả mã và các th tục liên quan. Bước 1 c a Apriori
là tìm tất cả các tập mục phổ biến F1 có độ dài bằng 1. Từ bước 2 đến bước 10, Fk-1 được sử dụng
để sinh ng viên Ck theo trình tự để tìm Lk với k ≥ 2. Th tục Apriori_gen sinh các ng viên và sử
dụng tính chất Apriori để loại trừ những tập con không phổ biến (bước 3). Th tục này được mô tả
phía dưới. Một khi tất cả các ng viên đã được sinh ra, CSDL sẽ được quyét (bước 4). Với mỗi
giao dịch, một hàm con được sử dụng để tìm tất cả các tập con c a giao dịch đã được ng cử
(bước 5), và số ng viên c a mỗi giao dịch được tính (bước 6 và 7). Cuối cùng, tất cả các ng viên

đáp ng độ hỗ trợ tối thiểu (bước 9) cấu thành lên tập mục phổ biến k Fk (bước 11). Th tục
được gọi sau đó để sinh luật kết hợp từ tập mục phổ biến.
Th tục Apriori_gen thực hiện kết nối và cắt tỉa. Trong thành phần kết nối, Fk-1 được kết nối với
Fk-1 để sinh các ng viên tiềm năng (bước 1 đến bước 4). Thành phần tỉa (bước 5 đến bước 7) dựa
vào tính chất Apriori để loại bỏ các ng viên mà có tập con không phổ biến. Th tục
has_infrequent_subset dùng để kiểm tra các tập con không phổ biến.
Procedure Apriori_gen (Fk-1 : tập mục phổ biến có độ dài k-1)
(1) For (mỗi tập mục l1  Fk-1)
(2) For (mỗi tập mục l2  Fk-1)
(3) If ( l1[1] = l2[1]  l1[2] = l2[2]  …  l1[k-2] = l2[k-2]  l1[k-1] = l2[k-1] )
then {
(4) c = l1 ⋈ l2 ; // bước kết nối: sinh ng viên
(5) If has_infrequent_subset (c, Fk-1) then
(6) delete c; //bước tỉa: loại bỏ các ng viên không có lợi
(7) Else thêm c vào Ck;

7
(8) }
(9) Return Ck;
Procedure has_infrequent_subset (c: ng viên, Fk-1: tập các tập phổ biến có độ dài (k-1));
(1) For (mỗi (k-1) – tập con s c a c)
(2) If s  Fk-1 then
(3) Return TRUE;
(4) Return FALSE;
Lưu trữ dữ liệu lớn dựa trên Oracle DBMS

Hầu hết các nghiên c u về khai phá dữ liệu đã đề xuất thuật toán và tối ưu hóa làm việc trên
các flat files, ch không phải là một DBMS, ch yếu do những lý do sau đây:
- Dễ dàng hơn để phát triển các thuật toán hiệu quả trong một ngôn ngữ lập trình truyền
thống.
- Việc tích hợp các thuật toán khai phá dữ liệu vào một DBMS sẽ mang lại khó khăn trên nền
tảng mô hìnhquan hệ và kiến trúc hệ thống.
- Hơn nữa, SQL có thể làm chậm và rư m rà cho các tính toán phân tích số.
Do đó, ngư i sử dụng các ng dụng khai phá dữ liệu thư ng biến đổi các bộ dữ liệu bên trong
DBMS ra flat files sau đó mới đưa vào công cụ khai phá dữ liệu, để tránh hiệu suất giảm và loại
bỏ khả năng quản lý dữ liệu quan trọng như xử lý truy vấn và an ninh dữ liệu, đồng th i kiểm soát
và khả năng chịu lỗi.
Hầu hết các thuật toán đã được tối ưu hóa để giảm bớt số lần duyệt các tập dữ liệu. Hệ thống
có thể phân tích lượng lớn các tập dữ liệu nhanh hơn so với các công cụ khai phá dữ liệu sử dụng
flat files, ví dụ như weka.
Hướng nghiên c u c a đề tài nghiên c u các vấn đề thực hiện khai phá dữ liệu bên trong một
DBMS, chú ý đến các bộ dữ liệu lớn. DBMS ngày càng phát triển và chiếm ưu thế hiện nay như
Oracle.
Giới thiệu hệ quản trị CSDL Oracle
Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin khách hàng và dữ
liệu về chi tiết cuộc gọi (call detail records). Và CSDL Oracle là một lựa chọn tối ưu để lưu trữ
lượng dữ liệu lớn đó trong các doanh nghiệp viễn thông.
Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ng dụng và ngư i dùng
cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ng dụng Oracle tương thích với
hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song lớn. Oracle
cung cấp một hệ quản trị cơ s dữ liệu (Database Management System - DBMS) uyển chuyển:
Oracle Server để lưu giữ và quản lý các thông tin dùng trong các ng dụng.

8
Phương pháp tiếp cận và kiến trúc
Đề tài trình bày một hệ thống khai phá dữ liệu trên hệ quản trị cơ s dữ liệu quan hệ Oracle
dựa trên các truy vấn SQL và các hàm định nghĩa trực tiếp b i ngư i dùng, và sẽ ch ng minh rằng
“SQL là không hiệu quả hoặc không đầy đ cho khai phá dữ liệu là sai”. Mục đích c a luận văn là
khám phá rất nhiều những vấn đề gặp phải khi CSDL được tích hợp vào quá trình khai phá dữ
liệu.
Hiện nay có nhiều công cụ khai phá dữ liệu thương mại sẵn có trên thị trư ng như IBM‟s
Intelligent Miner, DBMiner,Oracle Data Mining, …Chúng có khả năng cung cấp khai phá dữ liệu
trên CSDL quan hệ. Mặc dù chúng là những công cụ khai khá là hiệu quả, chúng phát triển cho
những hệ quản trị CSDL cụ thể.
Các file sử dụng cho các thuật toán khai phá, chúng được sử dụng làm dữ liệu đầu vào và
không ch a trong cơ s dữ liệu. Chúng thư ng bị giới hạn số lượng giao dịch có thể được khai
phá. Ví dụ, DBMiner giới hạn số lượng giao dịch là 64K mà nó có thể xử lý khai phá. Ngư i sử
dụng có thể lựa chọn RDBMS sử dụng cho các ng dụng c a mình để hệ thống không giới hạn về
số lượng giao dịch và có thể phải chuyển sang RDBMSs khác một cách dễ dàng. Với hệ quản trị
CSDL Oracle chúng ta sẽ có được một số ưu điểm:
- Phân tích kế hoạch truy vấn, lựa chọn kế hoạch tốt nhất cho mỗi tính toán khai phá dữ liệu,
xác định tối ưu hóa hiệu năng.
- Với các truy vấn SQL có rất nhiều bảng tạm th i được tạo ra trong quá trình duyệt dữ liệu.
Mỗi bảng tạm (temporary table) đều được kiểm soát để được lưu trữ và lập chỉ mục
(index) nếu cần thiết.
- Khả năng viết lại câu truy vấn là rất cần thiết trong hệ quản trị CSDL.
- Để có được hiệu năng tốt nhất, bảng dữ liệu lớn sẽ được tạo chỉ mục và phân khu dữ liệu.
Áp dụng Luật kết hợp vào Cơ S Dữ Liệu Oracle

Đặc tả bài toán


Dữ liệu vào: định dạng đầu vào là một bảng có hai cột. Cột đầu tiên là định danh giao dịch
(tid) và cột th hai là danh mục mặt hàng (item). Trong mỗi giao dịch, nếu có nhiều hơn một mặt
hàng, thì sẽ có nhiều dòng dữ liệu trong bảng giao dịch với cùng giá trị trong cột tid và các giá trị
khác nhau trong cột mặt hàng.

9
Một tùy chọn khác có thể là định dạng bảng bình thư ng với nhiều cột, một cột là tid và
phần còn lại là các mặt hàng (items). Đối với giao dịch với số lượng lớn các mặt hàng, định dạng
đầu tiên sẽ có danh sách hữu hạn các mặt hàng như số lượng thực tế mà các mặt hàng tồn tại trong
giao dịch. Đề tài lựa chọn cách th nhất là vì hai lý do:
1. Đầu tiên là chúng ta không biết số lượng c a các mục trong mỗi giao dịch.
2. Ngoài ra cơ s dữ liệu hiện tại trên thị trư ng có thể chỉ hỗ trợ số lượng nhất định các cột
cho một bảng. Nếu một trư ng hợp phát sinh trong đó có số lượng mặt hàng trong một
giao dịch hơn m c cho phép c a các cơ s dữ liệu cơ bản, không có cách nào chúng ta có
thể quản lý chính xác c a dữ liệu. Cũng sẽ có rất nhiều các giá trị null trong các hàng, các
item không được sử dụng trong tất cả các giao dịch.
Dữ liệu ra: Đầu ra là một tập các bộ quy tắc, dữ liệu được trình bày theo hình th c bảng được
đặt tên là RULES. Không phải luật kết hợp nào được sinh ra cũng cùng độ dài do đó chúng ta sẽ
sử dụng độ dài tối đa để xác định số lượng các cột c a bảng đầu ra. Một luật kết hợp được sinh ra
cần phải có ít mặt hàng (item) hơn số lượng cột trong bảng. Những cột bổ sung cho luật kết hợp
được sinh ra được gán giá trị 0. Cấu trúc bảng RULES (item1, item2, … ,itemk, nullm, rulem,
confidence, support). đây k là độ dài c a tập phổ biến có độ dài lớn nhất. Cột nullm là cột có
giá trị 0 đầu tiên, rulem là vị trí c a „=>‟ trong luật kết hợp. Confidence và support lần lượt là độ
tin cậy và độ hỗ trợ c a luật kết hợp được sinh ra.
Sinh tập các ng viên
Thực hiện phép nối giữa tập mục phổ biển Fk
Thuật toán Apriori đã được trình bầy trong chương 2, với mỗi k, tập ng viên có độ dài k
(Ck) có thể được sinh từ tất cả các tập mục phổ biến có độ dài bằng k-1 (Fk-1). Fk-1 sẽ có k-1 cột:
Item1, Item2, …, Itemk-1, các giá trị lần lượt c a tập mục phổ biến được sắp xếp theo th tự tăng
dần.
insert into Ck
select I1.item1, … ,I1.itemk-1, I2.itemk-1
from Fk-1 I1, Fk-1 I2
where I1.item1 = I2.item1 and

I1.itemk-2 = I2.itemk-2 and
I1.itemk-1 < I2.itemk-1
Hình 4.1: Thực hiện phép nối giữa tập mục phổ biến Fk
Ví dụ, Tập mục phổ biến có độ dài k=3, F3: {{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {1, 3, 5}, {2, 3, 4}},
sinh tập các ng viên có độ dài k = 4: C4: {1, 2, 3, 4}, and {1, 3, 4, 5}.
Thực hiện bước tỉa loại bỏ ứng viên không có lợi
Tiếp theo, là bước tỉa để loại bỏ các ng viên không có lợi. Các tập con độ dài (k-1) c a
tập các ng viên Ck không tồn tại trong các tập mục phổ biến có độ dài bằng k-1 (Fk-1) là được xóa
10
bỏ. Chúng ta sử dụng phương pháp K-way join[15] để thực hiện, dựa vào các giá trị lần lượt c a
tập mục phổ biến được sắp xếp theo th tự tăng dần và tất cả tập con c a tập phổ biến phải phổ
biến. Các tập con (tập phổ biến) độ dài k-1 sẽ xác nhận cho các tập phổ biến độ dài k. Điều này
được thực hiện bằng việc thêm phép kết nối với điều kiện để xác nhận lần lượt cho từng cột
(item). Đầu tiên kiểm tra item1, nếu tập ng viên (I1.item2, I1.item3, …, I1.itemk-1, I2.itemk-1)
thuộc Fk-1 như trong phép kết nối với I3 được thể hiện hình bên dưới. Một phép kết nối với Ir (3
<= r <= k) chúng ta sẽ kiểm tra item r-2 với điều kiện:
I1.item1 = Ir.item1 and

I1.itemr-3 = Ir.itemr-3 and
I1.itemr-1 = Ir.itemr-2 and

I1.itemk-1 = Ir.itemk-2 and
I2.itemk-1 = Ir.itemk-1
Hình 4.2: Thực hiện bước tỉa loại bỏ ứng viên không có lợi

Hình 4.3: Sinh và tỉa tập các ứng viên có độ dài k


Ví dụ, bảng F3 có tập dữ liệu {{1 2 3}, {1 2 4}, {1 3 4}, {1 3 5}, {2 3 4}}. Sau khi thực
hiện kết nối F3 với chính nó ta được kết quả trả về là {{1 2 3 4}, {1 3 4 5}. Bước tỉa sẽ xóa tập
con {1 3 4 5} không phổ biến. B i vì tập {1 3 4 5} được sinh ra từ hai tập con là {1 3 4} và {1 3
5} nhưng tập con {3 4 5} không tồn tại trong tập mục phổ biến F3. Do đó nó bị xóa và tập các
ng viên có độ dài 4 (C4) là {1 2 3 4}.

11
Hình 4.4: Sinh và tỉa tập các ng viên có độ dài k = 4
Tính độ hỗ trợ
Đây là một phần quan trọng và chiếm hầu hết th i gian c a quá trình khai phá dữ liệu.
Bước này là cần thiết để xác định tất cả các tập phổ biến từ các tập ng cử viên. Trình bày phương
pháp sử dụng chuẩn SQL-92 cho việc tính toán độ hỗ trợ, K-way (Kwj) [15]:
Phương pháp cơ bản để tính độ hỗ trợ tại k bất kỳ, thực hiện kết nối giữa tập các tập mục
c a tập các ng viên với k bảng giao dich T và thực hiện hàm nhóm (Group by) trên các tập mục
c a tập các ng viên đó. Câu lệnh SQL và sơ đồ cây với k-way kết nối được hiển thị dưới đây:
Insert into Fk
Select item1, … , itemk, count(*)
From Ck,Tt1,…,Ttk
Where t1.item = Ck.item1 and

tk.item = Ck.itemk and
t1.tid = t2.tid and

tk-1.tid = tk.tid
Group by item1, item2, … ,itemk
Having count(*) > minsup

Hình 4.5: Tính độ hỗ trợ theo phương phá K-way

12
Hình 4.6: Mô hình cây tính độ hỗ trợ bằng phương pháp nối K-way
Sinh các luật kết hợp từ các tập mục phổ biến
Kết hợp các tập mục phổ biến có độ dài từ 1 đến k
Từ các tập mục phổ biến có độ dài từ 1 đến k, chúng ta kết hợp dữ liệu từ các bảng F1 đến
Fk vào bảng dữ liệu FISETS(item1,…,itemk, nullm, count) với nullm là vị trí có giá trị 0 đầu tiên,
và count là độ hỗ trợ c a tập mục, như sau:
Insert into fisets as
select item1, …, 0 itemk, 2 nullm,count from F1
union all
select item1, item2, …, 0 itemk, 3 nullm,count from F2
union all

union all
select item1, item2,…, itemk, k+1 nullm,count from Fk
Hình 4.7: Kết hợp các tập mục phổ biến độ dài từ 1 đến k
Sinh các tập con bảng tập mục phổ biến FISETS
Bước tiếp theo, sinh các tập con cho mỗi tập hữu hạn trong bảng tập mục phổ biến
FISETS. Sau đó cập nhật vào bảng SUBSETS(item1, …, itemk, nullm, rulem, count) với cột
nullm là cột có giá trị 0 đầu tiên, rulem là vị trí c a „=>‟ trong luật kết hợp và count là độ hỗ trợ.
Đối với một dòng dữ liệu trong bảng FISETS, có giá trị trong các cột (item1,…,itemk) tăng dần.
Để sinh các tập con cho mỗi tập hữu hạn trong bảng tập mục phổ biến FISETS đề tài sử dụng
thuật toán đệ quy liệt kê tổ hợp chập k c a n phần tử:
declare
n number; --Mảng có độ dài n

13
source number [ ] := null; --Mảng kết quả
k number := 3; --Số lượng phần tử
selected boolean [ n ]; --Mảng lưu trạng thái
procedure choose(element number, startIdx number) is
begin
if element = k then
--In danh sách phần tử trong mảng source[k]
for i in 1 .. n loop
if selected[i] = true then
--In phần tử mảng sẽ được chọn
end if;
end loop;
else
for i in startIdx .. n loop
if selected [ i ] = false then
selected [ i ] = true;
--Thực hiện thuật toán đệ quy
choose(element + 1, i + 1);
selected [ i ] = false;
end if;
end loop;
end if;
end choose;
Begin
choose(0, 0);
End;
Hình 4.8: Liệt kê tổ hợp chập k của n phần tử
Sinh các luật kết hợp
Chúng ta sẽ kết hợp hai bảng FISETS và SUBSETS với điều kiện:

 min_ conf
SUBSETS .count
FISETS .count
Cập nhật dữ liệu vào bảng RULES (item1,…, itemk, nullm, rulem, confidence, support)
(1) insert into Rules
(2) select s.item1, …, s.itemk, s.nullm, s.rulem,
(float(s.count)/f.count)*100 Confidence, s.count Support
(3) from SUBSETS s, FISETS f

14
(4) where (s.item1 = f.item1 OR s.rulem <= 1 )
(5) AND (s.item2 = f.item2 OR s.rulem <= 2 )
(6) ...
(7) AND (s.itemk = f.itemk OR s.rulem <= k )
(8) AND s.rulem = f.nullm
(9) AND s.count*100/ f.count >= minconf
Hình 4.9: Sinh các tập luật kết hợp mạnh từ các tập mục phổ biến

Ứng dụng vào phân tích dữ liệu viễn thông tại Beeline

Trong phạm vi đề tài, chương trình sử dụng ngôn ngữ PL/SQL, SQL động để thực hiện xử lý các
vấn đề.
Mô tả và chuyển đổi dữ liệu
Dữ liệu chi tiết cuộc gọi (call detail data - CDR): Mỗi một cuộc gọi c a khách hàng trên mạng
viễn thông đều phát sinh một mẫu tin chi tiết cuộc gọi. Các mẫu tin này bao gồm các thông tin đặc
tả thuộc tính quan trọng c a cuộc gọi như : số gọi, số bị gọi, th i gian bắt đầu và th i gian đàm
thoại.
Xây dựng hệ thống thực nghiệm
Từ dữ liệu đầu vào là bảng TRANSACTIONS (TID, ITEM), chúng ta sẽ xây dựng ng
dụng thực nghiệm theo các bước như đã giới thiệu trong chương bốn. Trong quá trình thực hiện
ng dụng sẽ có các bảng tạm (temp tables) được tạo ra lưu trữ tập các ng viên Ck và tập mục phổ
biến Fk với độ hỗ trợ tương ng.
Sinh tập các ứng viên
Đầu tiên chúng ta sẽ sinh ra các tập mục phổ biến F1 từ bảng TRANSACTIONS như sau:
create table F1 as
select item item1, count(*) count
from transactions
group by item
having count(*) > 1
Từ bảng tập mục phổ biến F1, tạo bảng sinh các ng cử viên C2 bằng việc nối bảng F1 với
chính nó:
create table C2 as
Select I1.item1, I2.item1 item2 From F1 I1, F1 I2 Where I1.item1 < I2.item1
Thực hiện phép nối giữa tập mục phổ biển Fk-1, để sinh tập các ng viên Ck, sau đó thực hiện
bước tỉa loại bỏ ng viên không có lợi như được mô tả trong mục 4.2.2 (thực hiện bước tỉa loại bỏ
ng viên không có lợi). Tham khảo th tục c_table_creation trong phần phụ lục.

15
Tính độ hỗ trợ
Tìm tập mục phổ biến có độ dài k (Fk) và tính độ hỗ trợ c a mỗi tập mục tham khảo th tục
f_table_creation trong phần phụ lục.
Sinh các luật kết hợp từ các tập mục phổ biến
Kết hợp các tập mục phổ biến có độ dài từ 1 đến k bằng cách kết hợp dữ liệu c a bảng tạm đã
tạo ra F1, …,Fk vào bảng FISETS, từ bảng FISETS chúng ta tìm tập con cảu tập mục phổ biến
trong bảng FISETS và lưu vào bảng SUBSETS.
Tham khảo th tục Gensubs_combination trong phần phụ lục sẽ thực hiện việc tìm tất cả các
tập con c a các tập phổ biến trong bảng FISETS, th tục Gensubs_combination thực hiện việc tìm
các tập con bằng cách liệt kê tổ hợp chập k c a n phần tử bằng phương pháp đệ quy.
Th tục subsets_table_creation sẽ lưu tất cả các tập mục phổ biến được sinh ra từ th tục
Gensubs_combination vào bảng SUBSETS.
Th tục rules_table_creation sẽ kết hợp bảng và lưu dữ liệu vào bảng RULES, bảng RULES
sẽ lưu tất cả các tập phổ biến với độ hỗ trợ (support) và độ tin cậy(confidence) tương ng. Kết quả
thu được trong bảng RULES như sau:

Hình 5.1: Các luật kết hợp với độ tin cậy tối thiểu > 80%
Phân tích dữ liệu kết quả thực nghiệm
Mật độ phân bố luật kết hợp trên độ hỗ trợ và độ tin cậy
Với số lượng 41.714 luật kết hợp, 29.112 luật kết hợp có độ hỗ trợ bé hơn 0.01, 9.076 luật kết
hợp có độ hỗ bé hơn 0.1, 2.456 luật kết hợp có độ hỗ bé hơn 0.4, 116 luật kết hợp có độ hỗ có độ
hỗ trợ bé hơn 0.5, 274 luật kết hợp có độ hỗ trợ bé hơn 0.8 và 680 luật kết hợp có độ hỗ bé hơn 1.
Chúng ta có biểu đồ thể hiện số lượng luật kết hợp là không đồng đều với các độ hỗ trợ khác
nhau:

16
Hình 5.2: Mật độ luật kết hợp trên độ hỗ trợ
Biểu đồ biểu hiện mật độ số lượng các luật kết hợp với độ tin cậy tương ng (5%, 10%, 20%,
30%, ..100%).

Hình 5.2: Mật độ luật kết hợp trên độ tin cậy


Xác định mối quan hệ dịch vụ gia tăng bằng phát hiện luật kết hợp.
Với dữ liệu gốc ban đầu đã có, chương trình phần mêm đề tài phát triển sẽ giúp phát hiện các
luật kết hợp. Với những tiêu chí khác nhau sẽ có các luật kết hợp khác nhau, phần tiếp theo c a
luận văn sẽ đi vào phân tích cụ thể một số luật kết hợp này.
Chạy chương trình trên tập dữ liệu phục vụ phát hiện luật kết hợp với việc lựa chọn độ hỗ trợ
cực tiểu minSup = 0,01 (hay 1%) và độ tin cậy cực tiểu minConf = 0,8 (80%), đã nhận được 177
luật kết hợp (chi tiết xem Phụ lục, mục 5, kết quả phát hiện luật kết hợp), trong đó 5 luật có độ hỗ
trợ cao nhất được trình bầy dưới :
Luật 1: Local Incoming VC; SMS MO Beeline to SC
 Local Outgoing VC to Other Mobile
Với độ tin cậy và độ hỗ trợ là (98.55%, 2.01%)

17
Luật này chỉ ra rằng 2.01% những thuê bao sử dụng dịch vụ giá trị gia tăng gọi nội mạng, nhắn tin
đa phương tiện và gọi ngoại mạng trong tổng số các giao dịch. Nếu thuê bao sử dụng dịch vụ giá
trị gia tăng gọi nội mạng, nhắn tin đa phương tiện thì sẽ gọi ngoại mạng với độ tin cậy là 98.55%.
Luật 2: Local Outgoing VC to PSTN; Local Incoming VC
 Local Outgoing VC to Other Mobile
Với độ tin cậy và độ hỗ trợ là (99.27%, 6.04%)
Luật này chỉ ra rằng 6.04% những thuê bao sử dụng dịch vụ giá trị gia tăng gọi đến số cố định, gọi
nội mạng và gọi ngoại mạng trong tổng số các giao dịch. Nếu thuê bao sử dụng dịch vụ giá trị gia
tăng gọi đến số cố định, gọi nội mạng thì sẽ gọi ngoại mạng với độ tin cậy là 98.55%.
Luật 3 : Local Outgoing VC to PSTN; Local SMS to Other Mobile Local
 Outgoing VC to Other Mobile
Với độ tin cậy và độ hỗ trợ là (99.18%, 5.24%)
Luật này chỉ ra rằng 5.24% những thuê bao sử dụng dịch vụ giá trị gia tăng gọi đến số cố định,
nhắn tin ngoại mạng và gọi ngoại mạng trong tổng số các giao dịch. Nếu thuê bao sử dụng dịch vụ
giá trị gia tăng gọi đến số cố định, nhắn tin ngoại mạng thì sẽ gọi ngoại mạng với độ tin cậy là
99.18%. Như vậy cũng là điều dễ hiểu vì một thuê bao có thể nhắn tin ngoại mạng thì khả năng
gọi đến số ngoại mạng sẽ cao.
Luật 4 : Local SMS to Other Mobile
 Local Outgoing VC to Other Mobile
Với độ tin cậy và độ hỗ trợ là (95.25%, 10.64%)
Luật này chỉ ra rằng 10.64% những thuê bao sử dụng dịch vụ giá trị gia nhắn tin ngoại mạng và
gọi ngoại mạng trong tổng số các giao dịch. Nếu thuê bao sử dụng dịch vụ giá trị gia tăng nhắn tin
ngoại mạng thì sẽ gọi ngoại mạng với độ tin cậy là 95.25%. Như vậy cũng là điều dễ hiểu vì một
thuê bao có thể nhắn tin ngoại mạng thì khả năng gọi đến số ngoại mạng sẽ cao.
Luật 5: Local SMS to Other Mobile; GPRS Internet
 Local Outgoing VC to Other Mobile
Với độ tin cậy và độ hỗ trợ là (96.94%, 2.66%)
Luật này chỉ ra rằng 2.66% những thuê bao sử dụng dịch vụ giá trị gia nhắn tin ngoại mạng, sử
dụng dịch vụ GPRS và gọi ngoại mạng trong tổng số các giao dịch. Nếu thuê bao sử dụng dịch vụ
giá trị gia nhắn tin ngoại mạng và sử dụng dịch vụ GPRS thì khả năng sẽ gọi ngoại mạng với độ
tin cậy là 98.94%. Như vậy cũng là điều dễ hiểu vì một thuê bao có thể nhắn tin ngoại mạng và sử
dụng dịch vụ CPRS để vào mạng thì khả năng gọi đến số ngoại mạng sẽ cao.

18
Kết luận
Khoá luận đã trình bày tổng quan và các nét đặc trưng nhất trong lĩnh vực Data Mining bao
gồm các vấn đề cần khám phá tri th c, các hướng tiếp cận và nghiên c u tiểu biểu, trong đó phát
hiện luật kết hợp là một phương pháp khám phá tri th c quan trọng trong khai phá dữ liệu có
nhiều ý nghĩa trong khoa học cũng như trong thực tiễn.
Về mặt lý thuyết, khai phá tri th c bao gồm các bước: Hình thành, xác định và định nghĩa bài
toán; thu thập và tiền xử lý dữ liệu; khai phá dữ liệu, rút ra các tri th c; sử dụng các tri th c phát
hiện được.
Về thuật toán khai phá tri th c, luận văn trình bày thuật toán Apriori và minh hoạ thuật toán
Apriori thực hiện phát hiện luật phổ biến trên CSDL quan hệ.
Về mặt cài đặt thử nghiệm, khoá luận giới thiệu kỹ thuật khai phá dữ liệu theo thuật toán
Apriori áp dụng vào bài toán phát hiện và dự báo m c độ sử dụng các dịch vụ gia tăng c a viễn
thông.
Phát hiện luật kết hợp là kỹ thuật phát hiện thông tin, tri th c trên tập dữ liệu lớn hoặc rất lớn
nên ý nghĩa và độ tin cậy c a các luật này càng cao nếu tập dữ liệu càng lớn, nói cách khác số
lượng các dịch vụ gia tăng được lựa chọn càng nhiều và dữ liệu chi tiết cuộc gọi càng dài về mặt
th i gian càng tốt. Tuy nhiên sự hạn chế về th i gian luận văn không thể đáp ng được đòi hỏi
như vậy.
Số lượng các luật kết hợp nói chung là khá lớn và không tránh khỏi có một số luật kết hợp dư
thừa. Cho đến nay có rất nhiều nghiên c u đề xuất giải pháp nhằm hạn chế sự dư thừa c a luật
nhưng có thể nói chưa có giải pháp nào triệt để và cũng chưa có phần mềm nào hỗ trợ tốt về vấn
đề này. Ngư i ta có thể khắc phục số lượng các luật kết hợp bằng cách tăng độ hỗ trợ cực tiểu và
độ tin cậy cực tiểu và luận văn đã thực hiện theo hướng này.
Các luật kết hợp nói chung có độ hỗ trợ không cao (điều đó là tự nhiên) nhưng độ tin cậy rất
cao. Điều đó ngầm định rằng các quan hệ về các dịch vụ giá tri gia tăng được sử dụng được tìm
thấy thông qua luật kết hợp là rất đáng tin cậy.

References
Tiếng Việt:
1. Hà Quang Thụy, “Bài giảng cao học môn học Khai phá web”, Trư ng Đại học Công
nghệ, 2007.
2. Trần Văn Thiện, “ ng dụng các kỹ thuật khai phá dữ liệu vào lĩnh vực viễn thông”. Học
viện bưu chính viễn thông, 2006.
http://www.uit.edu.vn/forum/index.php?act=Attach&type=post&id=22124
3. Hoàng Hải Xanh, Các kỹ thuật phân cụm trong Data Mining, Luận văn, Đại Học Công
Nghệ - Đại học Quốc Gia Hà Nội.

19
Tiếng Anh:
4. Agrawal R., Mannila H., Srikant R., Toivonen H.; Fast Discovery of Association Rules.
Advances in Knowledge discovery and DataMining, edited by U.M. fayyad, G.Platstsky-
Shapiro, P.Smyth, and Uthurusamy, AAAI Press/The MIT Press,1996, pp.306-328.
5. Jiawei Han and Micheline Kamber (2001), Data Mining: Concepts and Techniques,
Hacours Science and Technology Company, USA.
6. Antonic M., Zaiane O. R.; Mining Positive and Negative Rules:
An Approach for Confined Rules, Proc. Intl.Conf on Principles and Practice of Knowledge
Discovery in Database, 2004, pp 27-38.
7. Cai C.H.; Mining Association Rules with Weighted Items, Thesis, Chinese University of
Hongkong, 8/1998.
8. Cornelis C., Yan P., Kang X., Chen G.; Mining Positive and Negative Association Rules
from Large Databases, 14244-023-6/06, 2006 IEEE.
9. Han J., and Fu Y.; Discovery of Multiple Level Association Rules from Large Databases;
Proc. of Inter. Conference on very large databases; Zurich, Swizerland, pp 420-431, Sep.
1995.
10. Kryszkiewicz M., Cichon K.; Support Oriented Discovery of Generalized Disjunction-Free
Representation of Frequent Patterns with Negation; PAKDD 2005, LNAI 3518, pp 672-
682, 2005.
11. Pasquier N., Bastide Y., Taouil R., and Lakhal L.; Efficient Mining of Association Rules
Using Closed Itemset Latics. Information Systems, Vol 24, No. 1, pp. 20-46, 1999.
12. Wang W., Yang J., Yu P.S.; Efficient Mining of Weighted Association Rules, IBM
Research Report RC 21692 (97734), March, 2000
13. GARY M. WEISS. Data mining in telecommunicaton. Department of computer and
information science, Fordham university
14. SEYYED JAMALEDDIN PISHVAYI. Customer Relationship Management. Tehran
University
15. Thomas S., Architectures and Optimizations for Integrating Data Mining Algorithms with
Database Systems, Ph.D. dissertation, University of Florida, Gainesville, 1998.
16. Frank Wang, Na Helian, A scanonce algorithm for large database mining implemented in
sql, London Metropolitan University, 166-220 Holloway Road, London N7 8DB, United
Kingdom.

20

You might also like