Tải bản đầy đủ (.pdf) (21 trang)

MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG PHÂN LỚP DỊCH VỤ WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (357.28 KB, 21 trang )



HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG








Phùng Thị Anh


MỘT SỐ PHƢƠNG PHÁP PHÂN LỚP DỮ LIỆU
VÀ ỨNG DỤNG PHÂN LỚP DỊCH VỤ WEB



Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01




TÓM TẮT LUẬN VĂN THẠC SĨ







Hà Nội, Năm 2014



Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG


Ngƣời hƣớng dẫn khoa học: PGS.TS TRẦN ĐÌNH QUẾ


Phản biện 1:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Phản biện 2:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………


Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm







Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

1

MỞ ĐẦU
Dịch vụ Web là sự đột phá quan trọng trong sự phát triển mạnh mẽ của ngành công
nghiệp Công nghệ thông tin, dịch vụ Web cho phép tương tác tốt như Web nhưng lại không
phụ thuộc vào nền tảng và ngôn ngữ tự nhiên, phù hợp cho việc truy cập từ môi trường không
đồng nhất. Với sự tăng trưởng mạnh mẽ về số lượng của các dịch vụ web trên mạng, việc tìm
kiếm trên khối lượng dữ liệu khổng lồ này ngày càng trở nên phức tạp. Trước đây, việc phân
loại thường được thực hiện thủ công theo cách chỉ định cho một dịch vụ vào một thể loại nào
đó đã được phân loại (hay còn gọi là được gán nhãn) theo các quy tắc đã được đặt ra. Tuy
nhiên, cách này có nhiều bất cập khi khối lượng dịch vụ trở nên khổng lồ, kéo theo các quy tắc
phân loại cũng gia tăng, có nhiều người tham gia duy trì hoặc chia sẻ dịch vụ trong một kho dữ
liệu chung. Vì vậy, việc cần thiết có một cơ chế tự động phân loại các dịch vụ web trở nên quan
trọng. Cơ chế tự động này có thể hỗ trợ các nhà xuất bản dịch vụ web (web services publisher)
trong phân loại các dịch vụ mà mình cung cấp còn người dùng chỉ cần đặt một truy vấn, trình
phân loại tự động sẽ xác định các loại phù hợp nhất. Kết quả là cả nhà cung cấp dịch vụ và
người người tiêu dùng có thể khai thác các dịch vụ web tốt hơn.
Nội dung tập trung vào các vấn đề như sau:
Tìm hiểu các thuật toán về phân lớp dữ liệu trong khai phá dữ liệu.
Nghiên cứu, xây dựng tập dữ liệu mẫu về các dịch vụ web để thử nghiệm các thuật toán
phân lớp.
Thử nghiệm các thuật toán phân lớp trên phần mềm khai phá dữ liệu để từ đó đánh giá, so
sánh các kết quả của các thuật toán phân lớp cho các dịch vụ web.
2

CHƢƠNG 1: CỞ SỞ LÝ THUYẾT VỀ PHÂN LỚP DỮ LIỆU VÀ BÀI

TOÁN PHÂN LỚP DỊCH VỤ WEB
Chương này trình bày cơ sở lý thuyết của đề tài bao gồm lý thuyết về khai phá dữ liệu,
phân lớp dữ liệu, các thuật toán phân lớp dữ liệu; lý thuyết về khai phá dữ liệu web nói chung
và các khái niệm, đặc điểm, cấu trúc của dịch vụ Web.
1.1 Giới thiệu về Khai phá dữ liệu
1.1.1 Tại sao lại cần khai phá dữ liệu
Với sự bùng nổ thông tin trong những thập kỷ gần đây thì lượng thông tin ngày càng trở
nên khổng lồ. Làm thế nào để khai thác được “kho” thông tin đó đang là một câu hỏi cần thiết
được đặt ra.
Khai phá dữ liệu (Data Mining) ra đời như là một hướng giải quyết hữu hiệu câu hỏi
trên. Có khá nhiều định nghĩa về Data Mining như là một công nghệ tri thức giúp khai thác
những thông tin hữu ích từ những khó dữ liệu được tích trữ trong suốt quá trình hoạt động của
một công ty, tổ chức nào đó.
1.2 Khái niệm
Khai phá dữ liệu (Data Mining) là một quá trình chắt lọc hay khai phá tri thức từ một
lượng dữ liệu lớn.
Theo Frawley, Piatetski-Shapiro và Matheus [7] Khai phá là một bước trong quá trình
phát triển tri thức trong cơ sở dữ liệu. thi hành một thuật toán khai phá dữ liệu để tìm ra các
mẫu từ dữ liệu.
3


Hình 1.1 Các bƣớc của quá trình phát triển tri thức trong cơ cở dữ liệu
Khai phá dữ liệu là bước thứ 5 trong 7 bước của quá trình phát triển tri thức trong cơ cở
dữ liệu
1.1.3 Một số kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu bao gồm:
Phân lớp (phân loại) dữ liệu (Classification)
Phân nhóm/ phân cụm dữ liệu (Clustering)
Phân tích luật kết hợp (Asociation Rules)

Hồi quy (Regression)
Tổng hợp hóa (Summarization).
1.2. Các thuật toán phân lớp điển hình
1.2.1 Support Vector Machine (SVM)
Support Vector Machine (SVM) lần đầu tiên được đề xuất bởi Vapnik trong những năm
1960 để phân loại dữ liệu và từ đó đã thu hút được sự quan tâm cao trong cộng đồng nghiên
cứu máy học.
4

SVM là một phương pháp có tính tổng quát cao nên có thể được áp dụng cho nhiều loại
bài toán nhận dạng và phân loại
Ý tưởng chính của SVM: Là chuyển tập mẫu từ không gian biểu diễn Rn của chúng sang
một không gian Rd có số chiều lớn hơn. Trong không gian Rd, tìm một siêu phẳng tối ưu để
phân hoạch tập mẫu này dựa trên phân lớp của chúng, cũng có nghĩa là tìm ra miền phân bố
của từng lớp trong không gian Rn để từ đó xác định được phân lớp của 1 mẫu cần nhận dạng.
Ta có thể hiểu, siêu phẳng là một mặt hình học f(x) trong không gian N chiều, với x RN
Các ƣu điểm chính của SVM
– SVM rất hiệu quả để giải quyết bài toán dữ liệu có số chiều lớn (ảnh của dữ liệu biểu diễn
gene,protein, tế bào)
– SVM giải quyết vấn đề overfitting rất tốt (dữ liệu có nhiễu và tách dời nhóm hoặc dữ liệu
huấn luyện quá ít)
– Là phương pháp phân lớp nhanh
– Có hiệu suất tổng hợp tốt và hiệu suất tính toán cao
Các ứng dụng của SVM:
– Nhận dạng: tiếng nói, ảnh, chữ viết tay (hơn mạng nơron)
– Phân loại văn bản, khai mỏ dữ liệu văn bản
– Phân tích dữ liệu theo thời gian
– Phân tích dữ liệu gien, nhận dạng bệnh, công nghệ bào chế thuốc
– Phân tích dữ liệu marketing
– V v

1.2.2 Thuật toán Bayes
Thuật toán Bayes là một trong những thuật toán phân lớp điển hình trong học máy và
khai phá dữ liệu. Đây cũng là một trong những thuật toán được sử dụng rộng rãi nhất trong
phân lớp văn bản. Trong học máy, Bayes được coi như là thuật toán học máy chuẩn (base line)
để so sách với các thuật toán khác
Ý tưởng chính của thuật toán là tính xác suất hậu nghiệm của sự kiện c xuất hiện sau khi
sự kiện x đã có trogn không gian ngữ cảnh t thông qua tổng hợp các xác suất tiên nghiệm của
sự kiện c xuất hiện khi sự kiện x đã có trong tất cả các điều kiện T thuộc không gian t:
p(c|x,t) = p(c|x,T)p(T|x) (với T in t)
5

Định lý Bayes
Gọi X = là một mẫu, các thành phần của nó biểu diễn các giá trị được
tạo ra trên một tập n thuộc tính. Theo phương pháp Bayesian, X được xem là “bằng chứng” hay
“dấu hiệu” (“evidence”). H là một giả thuyết nào đó, chẳng hạn như dữ liệu X thuộc một lớp cụ
thể C. Với các bài toán phân lớp, mục tiêu của chúng ta là xác định P(H|X), xác suất mà giả
định H xảy ra với các dấu hiệu cho trước. Nói một cách khác, chúng ta đang đi tìm xác suất để
mẫu X thuộc về lớp C khi đã biết được các thuộc tính mô tả mẫu X.
Theo định lý Bayes, xác suất mà chúng ta muốn tính P(H|X) có thể được biểu diễn qua
các xác suất P(H), P(X|H) và P(X) như sau:

Và các xác suất này có thể được thiết lập từ tập dữ liệu cho trước.
1.2.3 Luật kết hợp
Luật Kết hợp là tìm các mẫu phổ biến, sự kết hợp, sự tương quan hay các cấu trúc nhân
quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ và những kho
thông tin khác để đưa ra các mỗi liên kết giữa các phần tử dữ liệu.
Định nghĩa Luật kết hợp
Cho một tập I = {I1, I2, , Im} là tập các 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 Cơ sở dữ liệu chứa n giao dịch, trong đó mỗi bản ghi T là một giao dịch và

chứa các tập mục, X I. T được gán nhãn với một định danh duy nhất.
Ta nói rằng, một giao dịch T D hỗ trợ một tập X I nếu nó chứa tất cả các mục của X.
Một tập X được gọi là tập mục k phần tử (k-itemset) nếu lực lược của X bằng k (tức là
|X|=k)
Định nghĩa 1: Độ hỗ trợ của X, ký hiệu là support(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 D, nghĩa là:

Định nghĩa 2: Một luật kết hợp có dạng R:X=>Y, trong đó X,Y là tập các mục, X,Y I
và X Y =
6

– X được gọi là tiên đề
– Y được gọi là hệ quả của luật
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (support) và độ tin cậy
(confidence).
Định nghĩa 3: Độ hỗ trợ (support) của luật kết hợp X=>Y là tỉ lệ phần trăm giữa số
lượng các giao dịch chứa cả X và Y (X Y) với tổng số các giao dịch có trong cơ sở dữ liệu.
Đơn vị tính %.
Support = Tổng số lượng giao dịch hỗ trợ X Y/Tổng số giao dịch
Định nghĩa 4: Độ tin cậy (confidence) là tỉ lệ phần trăm giữa số lượng các giao dịch
chứa cả X và Y (X Y) với số giao dịch có chứa X. Đơn vị tính %.
Confidence = Tổng số lượng giao dịch hỗ trợ X Y / Tổng số giao dịch hỗ trợ X.
Một số thuật toán khai phá luật kết hợp
– Thuật toán Apriori
– Thuật toán Apriori-TID
– Thuật toán Apriori-Hybrid
– Thuật toán Count Distribution (CD)
– Thuật toán Data Distribution (DD)
– Thuật toán Candidate Distribution
– Thuật toán khai phá luật kết hợp phân tán nhanh(FDM)

– Thuật toán khai phá phân tán luật kết hợp(DMAR)
– Thuật toán lai tạp Apriori - Decision Tabble (Decision Tabble)
1.3 Dịch vụ Web
1.3.1 Khái niệm
Dịch vụ Web là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa
các ứng dụng trên các máy tính khác nhau thông qua mạng Internet.

7

1.3.2 Các đặc điểm của Dịch vụ Web
– Cho phép các ứng dụng trên máy chủ và máy khách có thể tương tác được với nhau thông
qua môi trường mạng Internet mà không yêu cầu chúng phải chạy cùng một hệ điều hành,
cũng như không cần bất cứ yêu cầu nào về sự tương thích giữa hai hệ điều hành.
– Công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới mà nó có thể
kết hợp dựa trên các mã nguồn mở và những công nghệ tiêu chuẩn sẵn có như XML, SOAP,
WSDL, UDDI…
– Dịch vụ Web có thể gồm nhiều mô đun độc lập, mỗi mô đun sẽ thực hiện một c hức năng
ứng dụng, số lượng mô đun tùy thuộc vào các hoạt động của khách hàng và chủ thể, các mô
đun này được công khai trên mạng internet và được thực thi trên máy chủ.
– dịch vụ Web ở tất cả lĩnh vực trong cuộc sống như: các hệ thống tìm kiếm thông tin thư
viện; hệ thống bán hàng qua mạng; đặt mua vé tàu xe; cập nhật các thông tin về thị trường,
tiền tệ…
1.3.3 Kiến trúc của dịch vụ Web
Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL
(Web Service Description Language) và UDDI (Universal Description, Discovery, and
Integration). Hình 1 mô tả chồng giao thức của dịch vụ Web, trong đó UDDI được sử dụng để
đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL.









Hình 1.4:Chồng giao thức của dịch vụ Web

WEBSERVICES
UDDI (Discovery)
WSDL (Description)
SOAP
(Remote sevice call)
HTTP
(Transport application protocol)
TCP/IP
(Transport protocol)
8

1.3.4 Các thành phần của Dịch vụ Web
XML – eXtensible Markup Language
WSDL – Web Service Description Language
Universal Description, Discovery, and Integration (UDDI)
SOAP – Simple Object Access Protocol
1.4 Kết luận
Chương này đã khái quát được các lý thuyết liên quan đến việc thực hiện đề tài bao gồm
các khái niệm, kỹ thuật về khai phá dữ liệu; Lý thuyết về các thuật toán phân lớp điển hình
được lựa chọn để thực hiện luận văn. Nội dung của chương nhằm mục đích cung cấp một cái
nhìn tổng quan và cơ sở để thực hiện việc giải quyết bài toán áp dụng các thuật toán phân lớp
để phân lớp các dịch vụ Web ở Chương 2 và Chương 3.
9


CHƢƠNG 2: ÁP DỤNG CÁC THUẬT TOÁN PHÂN LỚP CHO BÀI
TOÁN PHÂN LỚP DỊCH VỤ WEB
Như đã trình bày trong phần mở đầu, mục đích của luận văn là tìm hiểu, nghiên cứu các
thuật toán phân lớp, từ đó áp dụng các thuật toán phân lớp cho bài toán phân lớp dịch vụ Web.
Ở Chương 1 đã mô tả các phương pháp khai phá dữ liệu nói chung và các thuật toán phân lớp
đặc trưng (cụ thể ở đây là 3 thuật toán: SVM, Bayes và Luật hết hợp). Chương 2 này sẽ mô tả
chi tiết cơ chế thực hiện của các thuật toán phân lớp cho bài toán cụ thể là phân lớp các dịch vụ
Web.
2.1. Bài toán phân lớp dịch vụ Web
2.1.1 Đặt vấn đề
Ngày nay, ứng dụng dựa trên dịch vụ web như lập trình giao diện/ứng dụng ngày càng
phổ biến. Các ứng dụng này phải có tính năng: không phụ thuộc vào môi trường và không phụ
thuộc vào việc thực thi. Điều này tạo nên khả năng xây dựng một dịch vụ web mới tự động kết
hợp những thứ đã có và những yêu cầu mới. Phân loại, sắp xếp dịch vụ web là hướng nghiên
cứu khác của dịch vụ web.
Mỗi dịch vụ web có một file WSDL – ngôn ngữ định miêu tả dịch vụ web – định nghĩa
và miêu tả thông tin của dịch vụ web như tên dịch vụ web, hoạt động và đầu vào/đầu ra. Bài
toán phân loại dịch vụ web thực chất là bài toán phân tích khai phá văn bản để phân loại các tài
liệu WSDL (Web Service Description Language. Từ đó phân tích mức độ phụ thuộc giữa các
nội dung của WSDL và các thể loại của dịch vụ Web.
2.1.2 Framework khai phá WSDL
Đầu tiên, chúng ta có một cái nhìn tổng quát trong khai phá dữ liệu truyền thống: khai
phá text và khai phá web. So sánh khai phá dữ liệu, khai phá text tập trung vào trích xuất thông
tin mà sử dụng mục đích cụ thể, không thể hiện rõ nội dung. Khai phá web tập trung vào phân
tích thuộc tính của cấu trúc web ví dụ như nội dung của những page khác link tới trang hiện tại.
Hiện nay, file tự miêu tả XML, ngôn ngữ đánh dấu mở rộng hỗ trợ rất nhiều trong việc truyền
tải thông tin. WSDL dựa trên cấu trúc XML và chuẩn W3C nghĩa là nó phải chứa cấu trúc 3
lớp của dịch vụ web, hoạt động, danh sách đầu vào đầu ra, cho phép dễ dàng phân tích. Thực
tế, ý tưởng cơ bản của chúng tôi là dựa trên phần tử chứa trong kiến trúc 3 lớp

10

2.1.3 Kiến trúc hệ thống phân lớp dịch vụ Web
Chúng ta cần xây dựng một hệ thống phân lớp dịch vụ web. Mỗi khi một dịch vụ web
mới đưa vào, ta sẽ trích xuất tương ứng với file và tách chúng thành các token, bộ từ khóa
token trong môt tả hoạt động/dịch vụ web, tên của hoạt động và danh sách tham số chứa trong
cả tên biến đầu vào và đầu ra. Sau đó, ánh xạ tất cả chúng thành vector, chỉ phụ thuộc vào thuật
toán khác nhau và sử dụng bộ phân lớp để miêu tả nhóm có thể và lưu trữ kết quả cho việc sử
dụng về sau.

Hình 2.1: Kiến trúc hệ thống phân lớp dịch vụ Web
2.2. Áp dụng các thuật toán phân lớp cho bài toán phân lớp dịch vụ Web.
2.2.1 Phân lớp dịch vụ Web dựa trên SVM
Quá trình phân lớp các dịch vụ Web bằng SVM dựa vào cấu trúc WSDL của các trang
Web bằng việc biểu diễn dưới dạng văn bản sử dụng mô hình không gian vector. SVM xem
mỗi dịch vụ Web là một vector f(d
1
, d
2
, d
3
…,d
n
) được biểu diễn như văn bản. Áp dụng công
thức trong phương trình của siêu phẳng là:
F(x
1
, x
2
, …,x

n
) = C + w
i
x
i


WSDL
TRÌNH PHÂN LỚP DỊCH VỤ WEB
Trình quản lý phân lớp dịch vụ
web
Phân
tích

pháp
WSD
L
Sinh
các
luật
phân
lớp
Kho
chứa các
mục của
WSDL
Định
nghĩa
Hoạt
động

Trình
phân
lớp

Lớp N
Lớp B
Lớp A
11

Thay thế mỗi văn bản tương ứng với mỗi dịch vụ Web vào phương trình siêu phẳng này:
F(d
1
, d
2
, …,d
n
) = C + w
i
x
i

Với I = 1,…,n.
Nếu f(d) >=0 thì dịch vụ Web thuộc lớp +1.
Nếu f(d) <0 thì dịch vụ Web thuộc lớp -1.
Có thể thấy rằng quá trình áp dụng thuật toán SVM vào bài toán phân lớp các dịch vụ
Web là việc thay thế vector trọng số biểu diễn dịch vụ Web đó vào phương trình siêu phẳng
của SVM, từ đó tì ra được nhãn lớp của các dịch vụ Web chưa gán nhãn.
Như vậy, thực chất của quá trình phân lớp các dịch vụ Web bằng SVM áp dụng với dữ
liệu huấn luyện là các dịch vụ Web còn tập working set hay còn gọi là dữ liệu chưa gán nhãn là
những dịch vụ Web được các dịch vụ Web đã có nhãn trong tập huấn luyện trỏ tới.

Tập dữ liệu huấn luyện được thu thập từ Internet, chúng đều là các ứng dụng dịch vụ
web online được phát hành. Hầu hết các dịch vụ web tìm thấy thông qua website:
và được trích xuất thông tin để thiết kế thành file dữ liệu phù hợp với
định dạng của phần mềm thử nghiệm là Weka.
2.2.2 Phân lớp dịch vụ Web dựa trên Bayes
Bayes là phương pháp được sử dụng rộng rãi để phân loại và phân cụm [3][7]. Phương
pháp Bayes là một kỹ thuật xác suất đơn giản. Naive Bayes được đánh giá tốt và hiệu quả. Kết
quả phân loại đạt trung bình 80% độ chính xác tùy theo thuật toán.
Trong một nghiên cứu của một nhóm tác giả tại Viện công nghệ MLR Ấn độ và Đại học
Berhampur Ấn độ đã nghiên cứu phân lớp các dịch vụ Web bằng Naive Bayes, mô hình
Markov và Tìm kiếm Tabu. Trong nghiên cứu đó, các tác giả đã thực hiện phân lớp tập dữ liệu
mẫu gồm các dịch vụ Web được tập hợp từ Internet dựa vào các tài liệu mô tả về chúng như
UDDI, WSDL bằng cách sử dụng phương pháp phân lớp Naïve Bayes, so sánh với mô hình
Markow và mạng tìm kiếm Tabu. Kết quả nghiên cứu Naïve Bays có khả năng phân lớp chính
xác cao hơn. Độ chính xác trung bình của phân loại bằng Naive Bayes là 85,62%, tiếp theo là
tìm kiếm Tabu 82. 45% và mô hình Markov là 81,36%.
Phương pháp phân lớp Bayes hoạt động như sau:
12

Cho T là một tập đào tạo của các mẫu, mỗi mẫu có các nhãn lớp của chúng. Có tất cả k
lớp, . Mỗi mâu được biểu diễn bởi một vector n chiều, , vector này
chứa giá trị của n thuộc tính tương ứng.
Cho một mẫu X, phương pháp phân lớp sẽ dự đoán X thuộc lớp có xác suất hậu nghiệm cao
nhất với các điều kiện của X. Khi đó X được dự đoán là thuộc lớp nếu và chỉ nếu:
P( |X) > P( ) với
Do đó chúng ta tìm thấy lớp mà tối đa hóa xác suất P( |X). Lớp trong đó P( |X)
lớn nhất được gọi là giả thuyết hậu nghiệm lớn nhất. Theo định lý Bayes:

Do P(X) là giống nhau cho mọi lớp, nên chỉ cần tối đa hóa P(X| )P( . Nếu lớp các
xác suất tiền nghiệm, P( , không được biết, thì thường sẽ giả thiết rằng nó bằng nhau cho

tất cả các lớp, khi đó P( = P( ) = … = P( ), và do đó chúng ta chỉ cần tối đa hóa P(X|
) thay vì tối đa hóa cho cả P(X| )P( ). Chú ý rằng lớp các xác suất tiền nghiệm có thể được
thiết lập bởi:

Với các tập dữ liệu cho trước có nhiều thuộc tính, nó sẽ tốn chi phí để tính P(X| ). Để
giảm bớt chi phí tính toán lượng giá P(X| ) P( ), giả thiết về sự độc lập của lớp điều kiện
được tạo ra. Nó giả định rằng giá trị của các thuộc tính điều kiện là độc lập với nhau. Xét về
mặt toán học, điều này có nghĩa là:

Các xác suất ) có thể được dễ dàng thiết lập từ tập
huấn luyện. Nhớ lại rằng, ở đây tham chiếu đến giá trị thuộc tính cho mẫu X.
Nếu là thuộc tính rời rạc, thì P( |C) được ước lượng bởi tần số liên quan của các
mẫu có giá trị cho thuộc tính thứ k trong lớp C.
Nếu là thuộc tính liên tục, thì P( |C) được ước lượng thông qua một hàm mật độ
Gaussian.
13

Chương 3 của luận văn sẽ thử nghiệm hai thuật toán của Bayes là BayesNet và Navie
Bayes để phân lớp các dịch vụ web. Từ đó đưa ra đánh giá, nhận xét chi tiết cho hai thuật toán
này nói riêng và so sánh với các thuật toán khác nói chung.
2.2. 3 Phân lớp dịch vụ Web dựa trên Luật kết hợp
Một cách tiếp cận khác cho bài toán phân lớp dịch vụ web là khai phá dữ liệu và phân
lớp tài liệu WSDL (webservice description language) dựa trên thuật toán luật kết hợp. Ứng
dụng để phân tích mức độ độc lập giữa nội dung WSDL và các mục của dịch vụ web. Một bộ
phân loại học máy được sử dụng để suy diễn một dãy các lớp được lựa chọn thành một bộ tiền
xử lý mô tả dịch vụ web (preprocessed web service description).
Trong phần nghiên cứu này, chúng ta sẽ khai thác sự phụ thuộc giữa các loại dịch vụ
Web và giao diện của nó được mô tả bởi WSDL [11a] cho việc phân lớp dịch vụ web. Luật kết
hợp được sử dụng để xây dựng bộ phân lớp dịch vụ web để tự động phân lớp dịch vụ web. Đây
là xác định các mục của dịch vụ web, cho một tập hợp các loại được xác định trước. Mục tiêu

của nghiên cứu này là:
– Xây dựng một hệ thống phân lớp sử dụng luật kết hợp áp dụng trên các mục của dịch vụ
web, nó là các hoạt động và các văn bản định nghĩa các thông số và các ý kiến được viết
bởi nhà phát triển.
– Phân tích tầm quan trọng của thuật ngữ cho việc phân loại riêng biệt mục cùng với tần
suất và mức độ xuất hiện trong tài liệu khác của nó.
– Phân tích hệ thống này có cung cấp phương pháp tốt hơn các phương pháp truyền thống
hay không.
Phân loại dịch vụ web là việc xác định một thể loại của một dịch vụ Web, từ một số mục
được xác định trước. Trình phân loại tự động được thực hiện trên cơ sở các thông tin được
cung cấp bởi các tài liệu WSDL. Có hai giai đoạn trong quá trình phân loại [9b] như trong hình
vẽ:
14


Hình 2.2: Các giai đoạn phân lớp dịch vụ Web
Quá trình phân lớp sử dụng một trình phân loại tài liệu giám sát trong đó suy luận một
chuỗi các thể loại ứng cử viên cho một quá trình tiền xử lý mô tả dịch vụ Web.
Thực nghiệm luật kết hợp và thuật toán phân loại trên bộ dữ liệu các dịch vụ Web được
thực hiện trên bộ công cụ WEKA bằng thuật toán cải tiến của thuật toán Apriori là Decision
Table. Với tập dữ liệu mẫu được xây dựng bằng cách trích xuất thông tin từ các file mô tả
WSDL của các dịch vụ Web được công bố trên các trang Xmethods.com.
Chi tiết về tập dữ liệu và kết quả thực nghiệm sẽ được trình bày tại Chương 3.
2.3 Kết luận
Chương này đã mô tả chi tiết về bài toán phân lớp dịch vụ Web, áp dụng 3 thuật toán
phân lớp điển hình là SVM, Bayes, Luật kết hợp cho bài toán phân lớp dịch vụ Web. Nội dung
của chương tập trung vào phân tích cơ chế và hoạt động phân lớp của các thuật toán phân lớp
đó cho các dịch vụ Web.
15


CHƢƠNG 3: THỬ NGHIỆM, ĐÁNH GIÁ
Chương này của luận văn sẽ mô tả quá trình thiết kế, xây dựng tập dữ liệu mẫu là các
dịch vụ Web với các tham số độc lập được trích xuất từ file WSDL và thực hiện việc thử
nghiệm phân lớp các dịch vụ Web theo 3 phương pháp đã được phân tích tại Chương 2 trên
phần mềm Weka.
3.1. Phát biểu bài toán
Bài toán phân lớp dịch vụ web là bài toán xây dựng một tập dữ liệu huấn luyện của các
dịch vụ web, từ đó áp dụng một trong các thuật toán phân lớp dữ liệu, phân lớp cho các dịch vụ
web mới được đưa vào.
Để thực hiện thử nghiệm và đánh giá các thuật toán phân lớp được mô tả ở chương 2
cho việc phân lớp các dịch vụ web, chúng ta cần bộ dữ liệu đầu vào là các dịch vụ Web. Vì
vậy, yêu cầu trước tiên cần đặt ra là cần xây dựng được tập dữ liệu mẫu (hay còn gọi là tập dữ
liệu huấn luyện). Tập dữ liệu này đảm bảo phải đưa ra được các tham số đặc trưng của dịch vụ
Web đó và đồng nhất cho tất cả các dịch vụ web.
Yêu cầu tiếp theo để có thể thực hiện thử nghiệm, đánh giá là lựa chọn công cụ thử
nghiệm phù hợp, cung cấp đa dạng các công cụ khai phá dữ liệu như cho phép thay đổi dữ liệu,
thay đổi thuật toán, phương pháp đánh giá. Như đã giới thiệu ở các phần trước của luận văn,
công cụ được lựa chọn để thử nghiệm đánh giá ở đây là phần mềm khai phá dữ liệu Weka. Chi
tiết về phần mềm sẽ được giới thiệu ở mục sau.
3.2 Thiết kế và Mô tả dữ liệu
Tập dữ liệu được sử dụng trong ví dụ sẽ tập trung vào các thông số cơ bản trong một file
WSDL của dịch vụ Web. Các dịch vụ Web là các dịch vụ Web được công bố trên các trang:
Xmethods.net, SALCentral.com, service-repository.com.
Mỗi dịch vụ Web được công bố trên các trang này đều có kèm theo một file mô tả
WSDL. Bằng cách phân tích và chiết xuất dữ liệu từ file WSDL này thành các thuộc tính độc
lập, luận văn đã xây dựng thành công tập dữ liệu mẫu.
Các thuộc tính hoặc các biến độc lập được trích xuất ra từ file WSDL bao gồm:
Các thuộc tính hoặc các biến độc lập trong tập dữ liệu này là:

16




Tham số
Mô tả
Đơn vị
1
Compliance
Mức độ mà một tài liệu WSDL đặc tả theo WSDL
%
2
Best Practices
Mức độ mà một dịch vụ Web theo WS-I Basic Profile
%
3
Documentation
Tổng số tài liệu hướng dẫn

4
Class
Loại dịch vụ web


Do mục đích sẽ sử dụng phần mềm khai phá dữ liệu Weka để thử nghiệm, nên tập dữ
liệu mẫu được thiết kế theo đúng định dạng mà phần mềm Weka có thể đọc. Cụ thể như sau:
Định dạng file: * .afff
Nội dung file dữ liệu gồm 2 phần:
Phần 1: Định nghĩa mối quan hệ dữ liệu và các thuộc tính của dữ liệu. Phần này sẽ khai
báo dữ liệu được xây dựng ở dạng gì, có bao nhiêu thuộc tính và kiểu dữ liệu của thuộc tính.
Khai báo mối quan hệ của dữ liệu bằng cú pháp:

@relation Loại_Dữ_Liệu
Khai báo các thuộc tính theo cú pháp
@attribute Tên_Thuộc_Tính Kiểu_dữ_liệu
Phần 2: dữ liệu cho các thuộc tính
Phần này bắt đầu bằng từ khóa @data
17

Mối bộ dữ liệu tương ứng với một dòng,dữ liệu cho từng tham số cách nhau bằng dấu
“,”, nếu là dữ liệu dạng text thì nằm trong bộ dấu ‘’.
3.3 Giới thiệu phần mềm Weka
Như đã mô tả trong Chương 2 là các thuật toán phân lớp áp dụng cho tập dữ liệu mẫu là
các dịch vụ Web sẽ được thử nghiệm bằng phần mềm Weka. Weka là một công cụ phần mềm
viết bằng java phục vụ lĩnh vực học máy và khai phá dữ liệu. Được phát triển bởi các nhà khoa
học thuộc đại học Waikato, Newzeland với phiên bản đầu tiên được phát hành vào năm 1994.
Đến năm 1997 Weka được xây dựng lại bằng java và hoàn thiện 100% Java vào năm 1999.
Đây là một phần mềm mã nguồn mở tích hợp các thuật toán máy học và khai thác dữ
liệu với giao diện trực quan, dễ sử dụng và có thể chạy trên mọi hệ điều hành.
3.4 Thử nghiệm phân loại các dịch vụ Web
3.4.1 Tiền xử lý dữ liệu
- Khởi động Weka và mở chế độ làm việc Explorer
- Tại Tab Preprocess chọn nút Open file => chọn đến file WebServices.arff
3.4.1 Phân lớp các dịch vụ web áp dụng SVM
Phần này sử dụng Weka để phân lớp các dịch vụ web bằng thuật toán SMO – một thuật
toán của SVM.
3.3 Phân lớp các dịch vụ web áp dụng Bayes
Phần này sử dụng Weka để phân lớp các dịch vụ web bằng hai thuật toán BayesNet và
Navie Bayes.
3.4.3 Phân lớp các dịch vụ web áp dụng Luật kết hợp.
Phần này sử dụng Weka để phân lớp các dịch vụ web bằng thuật toán Decision Table–
thuật toán lai tạp của thuật toán Apriori.

3.5 Nhận xét, đánh giá
3.5.1 Kết quả thực nghiệm dưới dạng bảng
3.5.1 Kết quả thực nghiệm dưới dạng biểu đồ
3.6. Kết luận
Chương này đã thực hiện được các công việc gồm (1) xây dựng tập dữ liệu mẫu là các
tham số của các dịch vụ Web được phát hành online, (2) thử nghiệm các thuật toán phân lớp đã
18

tìm hiểu trên tập dữ liệu mẫu, (3) đánh giá, so sánh được các thuật toán phân lớp đã sử dụng,
giải quyết được yêu cầu đặt ra ban đầu của luận văn.
19

KẾT LUẬN
Luận văn đã thực hiện được đầy đủ mục đích ban đầu đặt ra là nghiên cứu, tìm hiểu về
các phương pháp phân lớp dữ liệu trong lĩnh vực khai phá dữ liệu, từ đó áp dụng để phân loại
cho các Dịch vụ web dựa vào ba phương pháp chính đã đề xuất là Máy véc tơ hỗ trợ, Bayes, và
Luật kết hợp. Cụ thể nội dung của luận văn đã thực hiện được các công việc sau:
Trình bày chi tiết về các kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu, cụ thể là ba kỹ
thuật Máy véc tơ hỗ trợ, Bayes và Luật kết hợp;
Thực hiện xây dựng được tập dữ liệu phù hợp về các Dịch vụ web để thử nghiệm phân
lớp trên phần mềm khai phai phá dữ liệu Weka bằng các thuật toán của ba phương pháp
Máy véc tơ hỗ trợ, Bayes, Luật kết hợp;
Từ kết quả thử nghiệm, đã đưa ra được những đánh giá, so sánh rõ ràng cho các thuật
toán được ứng dụng. Trong đó, BayesNet đã thể hiện là thuật toán phân loại tối ưu nhất,
có độ chính xác và tin cậy cao nhất, các tỉ lệ sai số đều ở mức nhỏ nhất so với các thuật
toán còn lại. Đứng sau BayesNet là thuật toán Decision Table, sau đó là SMO (một
thuật toán của SVM) và cuối cùng là Navie Bayes.
Do hạn chế về thời gian và kiến thức nên trong luận văn còn chưa nghiên cứu sâu được
cơ chế của quá trình phân lớp của các thuật toán. Cơ sở dữ liệu đưa vào thực nghiệm còn ít.
Hướng nghiên cứu tiếp theo của đề tài sẽ nghiên cứu xây dựng tập dữ liệu mẫu nhiều hơn về số

lượng, đa dạng hơn về các tham số và trên nhiều loại dữ liệu khác nhau của các Dịch vụ web.






×