Luận văn áp dụng cách tiếp cận chọn dịch vụ web dựa trên cộng đồng các agent, kỹ thuật được áp dụng hỗ trợ cho việc chọn sử dụng dàn khái niệm.. Khi agent nhận được trả lời từ phía agent
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
VŨ THỊ NHƯ QUỲNH
CHỌN DỊCH VỤ WEB DỰA TRÊN DÀN KHÁI NIỆM
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
Người hướng dẫn khoa học: PGS TS Trần Đình Quế
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2010
Trang 2MỞ ĐẦU
Dịch vụ web được xem là các thành phần phần mềm
có khả năng tương tác với nhau dựa vào các giao thức và các chuẩn mở như SOAP, WSDL, UDDI, BPEL Các chuẩn này đều hướng đến hỗ trợ các thao tác trong môi trường dịch vụ web như khám phá, chọn lựa, tích hợp và thực thi Trong vài năm trở lại đây, kết hợp web ngữ nghĩa, công nghệ agent và dịch vụ web đã thu hút nhiều quan tâm nghiên cứu Chọn dịch vụ là một pha quan trọng trong vòng đời phát triển của dịch vụ web ngữ nghĩa FCA (Formal Concept Analysis) là một lý thuyết toán học cho phép xây dựng một cấu trúc được sắp xếp có thứ tự (cây phân cấp), gọi là dàn khái niệm, từ một ngữ cảnh ; trong khi đó công nghệ agent nhằm hỗ trợ cho tự động hoá các hoạt động trong môi trường dịch vụ
Đề tài “Chọn dịch vụ web dựa trên dàn khái niệm”
sẽ tìm hiểu về chọn dịch vụ web ngữ nghĩa Luận văn áp dụng cách tiếp cận chọn dịch vụ web dựa trên cộng đồng các agent, kỹ thuật được áp dụng hỗ trợ cho việc chọn sử dụng dàn khái niệm
Nội dung của luận văn gồm 3 chương:
Chương 1: Tổng quan về chọn dịch vụ web ngữ nghĩa
Chương 2: Chọn dịch vụ web dựa trên dàn khái niệm
Chương 3: Thử nghiệm và kết quả
Trang 3I NỘI DUNG CHÍNH CỦA TỪNG CHƯƠNG
CHƯƠNG 1:
Chương 1 sẽ giới thiệu tổng quan về các đặc điểm của dịch vụ web, và các hạn chế của nó Bằng việc bổ sung ngữ nghĩa cho các bản mô tả dịch vụ, dịch vụ web ngữ nghĩa hiện là công nghệ cho phép tự động quảng bá, tìm kiếm, chọn lựa, tích hợp và thực thi các dịch vụ do vậy ngày càng đáp ứng được nhu cầu của người dùng Chọn dịch vụ là một pha quan trọng trong vòng đời phát triển của dịch vụ web ngữ nghĩa Phần cuối chương giới thiệu các phương pháp chọn dịch vụ và đi sâu vào hệ thống chọn dịch vụ dựa trên agent cải tiến các phương pháp truyền thống cho chọn dịch vụ.
Chọn dịch vụ web ngữ nghĩa
Sự xuất hiện của các chuẩn công nghệ dịch vụ web ngữ nghĩa đã tạo điều kiện phát triển cho các ứng dụng diện rộng trong môi trường các hệ thống mở Số lượng các dịch
vụ ngày càng tăng làm cho việc tìm kiếm chọn lựa ra một dịch vụ thoả mãn yêu cầu của người dùng ngày càng cấp thiết hơn Tuy nhiên việc tìm kiếm này phải đối mặt với thách thức rất lớn là có rất nhiều các nhà cung cấp đưa ra các dịch vụ cùng loại nhau Việc khám phá dịch vụ chỉ cho phép tìm ra các dịch vụ thoả mãn yêu cầu của người dùng
Còn việc chọn dịch vụ là sắp xếp thứ hạng các dịch vụ từ
tập hợp các dịch vụ thu được từ pha khám phá, từ đó chọn
Trang 4ra dịch vụ nào là dịch vụ thoả mãn yêu cầu của người dùng nhất [15]
Hệ thống chọn dịch vụ dựa trên agent
Mỗi nhà cung cấp dịch vụ và người dùng dịch vụ được đại diện bởi một agent Tại mỗi agent sẽ lưu điểm đánh giá về các agent khác và điểm mà nó cho các dịch vụ của các nhà cung cấp Khi một agent nhận được yêu cầu từ phía người dùng, nó gửi yêu cầu này đến các agent hàng xóm của nó để nhận được thông tin đánh giá dịch vụ của các agent hàng xóm này
Tại agent hàng xóm, nó thực hiện một trong hai việc: Đưa ra câu trả lời; hoặc không trả lời một câu truy vấn nào Khi agent nhận được trả lời từ phía agent hàng xóm,
nó dựa vào thông tin này và các thông tin lưu trữ của nó để xếp hạng dịch vụ của các nhà cung cấp từ đó chọn ra dịch
vụ tốt nhất tư vấn cho người dùng
Vòng đời của hệ thống chọn dịch vụ dựa trên agent
Trang 5Khi có yêu cầu dịch vụ từ phía người dùng, một
agent phải trải qua những bước sau
Trang 6 Người dùng sử dụng dịch vụ
Đánh giá dịch vụ mà anh ta vừa sử dụng
Đánh giá lại các agent và thay đổi lại các bảng xếp hạng của các agent này
Trang 7CHƯƠNG 2:
Chương 2 trình bày về kỹ thuật dàn khái niệm và áp dụng dàn khái niệm trong chọn dịch vụ, đưa ra ví dụ thực hiện tính toán dựa trên kỹ thuật này
M
B
G
A , và B’ = A Ở đây, A gọi là ngoại diên
(extent) của khái niệm, B gọi là nội hàm (intent) của khái
niệm Khái niệm <A, B> gọi là không tầm thường
(nontrivial) nếu cả A và B khác Ф Các khái niệm được sắp
thứ tự theo tập các ngoại diên của chúng
Áp dụng dàn khái niệm trong tìm kiếm các dịch vụ có chức năng tương tự nhau
Việc tìm kiếm được thực hiện qua hai bước:
Trang 8Đánh chỉ số các dịch vụ: Từ file WSDL được phân
tích theo các thẻ tag với các từ khóa Các từ khóa được tách
ra tạo ra dàn thể hiện cho việc đánh chỉ số các dịch vụ
Phân lớp tổ chức các dịch vụ: Truy vấn trên dàn chỉ
số dịch vụ theo từ khóa để thu thập các dịch vụ trong miền nhất định Các dịch vụ này được thu thập và sử dụng một phương pháp đo tương tự nhau, từng cặp với nhau để xác định có những dịch vụ nào có chức năng gần tương tự nhau Kết quả tạo ra một dàn mới thể hiện mối quan hệ giữa các dịch vụ với nhau dựa trên các chức năng mà chúng cung cấp
Áp dụng dàn khái niệm trong chọn dịch vụ
Pha chọn nhà cung cấp dịch vụ:
Bảng 2 1 Các bước để chọn dịch vụ
cấp dịch vụ theo loại dịch vụ yêu cầu từ cơ sở
dữ liệu
cộng đồng để lấy các đánh giá về các nhà cung cấp dịch vụ trong danh sách
các đánh giá hiện thời cho các agent khác) và chọn ra 1 nhà cung cấp dịch vụ
Công thức chọn nhà cung cấp dịch vụ thích hợp nhất: Gọi
Saj là điểm agent Aa cho nhà cung cấp j,Sa là điểm trung bình của agent Aa cho tất cả các nhà cung cấp dịch vụ, Rai
là đánh giá của agent Aa cho agent Ai, Rai (0,1) Nhà
cung cấp nào có điểm cao nhất sẽ được chọn
Trang 9Điểm của agent Aa cho nhà cung cấp j được tính như sau
ai i
ij a
aj
R
R S S S
S
) )
((
(2.2)
Ví dụ: Một người muốn tìm các dịch vụ đặt vé xem
phim Hệ thống sẽ phải tự tìm kiếm danh sách các nhà cung cấp các dịch vụ về đặt vé phim, xếp hạng và trả lại cho người sử dụng danh sách các nhà cung cấp tốt nhất Giả sử sau khi tìm kiếm, chúng ta có bốn nhà cung cấp dịch vụ thoả mãn yêu cầu: Moviefone, Yahoo movies, Cinemark, Fandango Sau đó, User Agent sẽ liên lạc với các Agent khác trong cộng đồng để lấy đánh giá về các nhà cung cấp dịch vụ trong danh sách trên Giả sử hiện tại, trong cộng đồng có 3 Agent: UserAgent1, UserAgent2, UserAgent3 Bảng điểm đánh giá như sau:
Trang 10Điểm của các agent khác cho nhà cung cấp dịch vụ:
Điểm của UserAgent 2: Cho Moviefone: 0.2; Yahoo Movies: 0.4; Cinemark: 0.1; Fandango: 0.5;
Điểm của UserAgent 3: Cho Moviefone: 0; Yahoo Movies: 0.3; Cinemark: 0.2; Fandango: 0
Đánh giá của UserAgent 1 cho UserAgent 2: 0.5 ; cho UserAgent 3: 0.35
Như vậy, điểm của UserAgent 1 cho Moviefone là: 0.32; Yahoo Movies: 0.38; Cinemark là: 0.35; Fandango là: 0.45 Do đó Fandango được chọn
Pha cập nhật đánh giá của các agent
Pha cập nhật đánh giá bắt đầu khi người sử dụng đã dùng xong dịch vụ Pha này gồm 2 phần: đánh giá các dịch
vụ, đánh giá các agent khác
Đánh giá các dịch vụ: Sau khi sử dụng dịch vụ,
người dùng có thể cho điểm dịch vụ theo cách như sau:
Cho điểm từng thuộc tính của dịch vụ
Điểm cho dịch vụ được tính là trọng số trung bình của tất cả các thuộc tính của dịch vụ
Đánh giá các agent khác dựa trên dàn khái niệm:
Trong quá trình chọn ra dịch vụ thích hợp cho người sử dụng, các agent có tham khảo các ý kiến của các agent khác trong cộng đồng, sau khi đã đánh giá được chất lượng của dịch vụ, agent sẽ xếp hạng các agent cung cấp các ý kiến cho nó Việc xếp hạng dựa trên các đánh giá của agent đó
Trang 11cho các agent khác, được tính theo công thức ( 1 )q a i 1
Xây dựng dàn khái niệm : Các agents và các nhà
cung cấp dịch vụ được mô hình như một ngữ cảnh Các agents là các đối tượng, các nhà cung cấp là các thuộc tính của ngữ cảnh Ngữ cảnh biểu diễn một quan hệ “đánh giá” giữa các agents và các nhà cung cấp
Bảng 2 3 Các khái niệm từ bảng 2.3
C1 ({UserAgent1, User Agent 2, User Agent 3},{ Yahoo Movies }) C2 ({UserAgent1 , User Agent 2},{ Moviefone , Yahoo Movies }) C3 ({UserAgent2, User Agent 3},{Yahoo Movies , Cinemark})
Trang 12Duyệt theo dàn khái niệm: Thuật toán: Evaluate-Agent()
1 Duyệt trong dàn theo chiều rộng BFS để tìm khái niệm có ngoại diên lớn nhất (gọi là C)
có chứa nhà cung cấp dịch vụ được chọn
có liên quan đến nhà cung cấp được chọn)
liên quan với C Thực hiện đánh giá tất cả
các agent trong D
niệm chưa xét đến cho đến khi tất cả các
agent đều được đánh giá
Tất cả các agent đều đã được đánh giá Thuật toán kết thúc
Bước quan trọng trong quá trình đánh giá các agent
là cách các khái niệm được xử lí Kết quả cuối cùng đó là đánh giá (r) và độ tin tưởng (q) của các agent biểu diễn trong các khái niệm được thay thế bởi các biểu diễn tốt hơn
Giả sử có một khái niệm gồm 2 rater (N1,N2) và 3 dịch vụ được đánh giá (1,2,3), được mô tả trong bảng 2.6
Trang 13Tình huống 1: Trong các bước lặp đầu tiên, active agent
không đánh giá được đủ hết các nhà cung cấp dịch vụ Trong giai đoạn này, ta thu được một khái niệm có chứa
một nhà cung cấp dịch vụ được đánh giá bởi active agent
Cập nhật các đánh giá: Đánh giá mới (rt) phụ thuộc vào đánh giá hiện thời (rt1) và độ chênh lệch điểm cho nhà cung cấp dịch vụ của các agent và active agent (d),
Tình huống 2: Giai đoạn này về cơ bản là giống với giai
đoạn trước, chỉ khác là active agent đánh giá đầy đủ các nhà cung Đánh giá của người sử dụng i cho người sử dụng
k được cho bởi công thức sau:
s
s s s s r
2 2
) )(
(
(2.7)
Trang 14Ở đây, j J là tập tất cả các nhà cung cấp dịch vụ, s ij
là điểm của người sử dụng i cho nhà cung cấp j, và si là điểm trung bình được cho bởi người sử dụng i Các đánh giá cũng được chuẩn hóa như trong giai đoạn trước
Tình huống 3: lan truyền các đánh giá theo chuỗi khái
niệm: thực hiện theo lan truyền các đánh giá và độ tin tưởng qua các khái niệm
d
d d r
(2.9)
Trong đó, là một hằng số dương và là hệ số giảm
Ví dụ: Giả sử có một khái niệm gồm 3 rater (UserAgent1,
UserAgent 2, UserAgent 3 ) và 3 dịch vụ được đánh giá
(Moviefone,Yahoo Movies, Cinemark),
Moviefon
e
Yahoo Movie
Trang 15Trong đó, trọng số mô tả độ ưu tiên các thuộc tính của UserAgent 1 là: Dễ sử dụng: 1; Hỗ trợ người dùng: 1; Hiệu quả: 1
Thực hiện tính toán, điểm đánh giá mà User Agent 1 cho Moviefone là: R 11=0.4
Bây giờ phải cập nhật lại điểm
mà User Agent 1 cho User Agent 2 và User Agent 3 dựa trên điểm mà nó đã đánh giá cho Moviefone
Tình huống 1: khi User Agent 1 không có đủ các đánh giá
về các nhà cung cấp Cập nhật các đánh giá:
1 Các đánh giá mới sẽ được tính lại theo công thức 2.5 Độ chênh lệch điểm cho nhà cung cấp của các agent và active agent (d) được tính theo công thức 2.4 Đặt ngưỡng là 0.2;
=1nếu d<0.2, =-1 nếu d>0.2; Hệ số giảmt rt1(2.6).với rt1 = min (rt-1, 1-rt-1).Đặt =0.5
2.Độ tin cậy, được tính theo công thức (2.9) Đặt =0.5 Trước hết đối với User Agent 2: d=0.1; rt1 = 0.4; t=0.2
Áp dụng (2.5), Vậy đánh giá mới được tính bằng rt=0.78
Trang 16Tình huống 2: khi User Agent 1 có đánh giá đầy đủ về các
dịch vụ Giả sử điểm của User Agent1 sau khi được đánh giá như sau
Tình huống 3: lan truyền các đánh giá Giả sử tại khái
niệm C1 có 2 agent User Agent 1 và User Agent 2; Khái niệm C2 có 2 agent User agent 2,và User Agent 3 Khi người sử dụng cập nhật đánh giá trên User Agent 1 ( User Agent 1 gọi là active agent) trên C1 thì User Agent 1 sẽ phải cập nhật đánh giá của nó về User Agent 2 Khi đánh giá của User Agent 1 về User Agent 2 đã được cập nhật Việc cập nhật được lan truyền tới khái niệm C2 Tại đây, phải cập nhật đánh giá của User Agent1 cho User Agent3, thông qua đánh giá của User Agent1 cho User Agent2.User Agent2 gọi là Agent liên kết Việc cập nhập này được tính theo công thức (2.8 ) suy ra rt = 0.427947
Mới cập nhật
Trang 17CHƯƠNG 3:
Chương 3 trình bày các đánh giá về thuật toán dàn khái niệm thông qua việc so sánh với hai thuật toán Correlation và GLearn, sau đó thử nghiệm cài đặt thuật toán
Đánh giá thuật toán
Việc so sánh các thuật toán dựa trên các tiêu chí: khả năng hội tụ, độ chính xác, tỉ lệ sai số tuyệt đối trung bình, tình trạng xảy ra lỗi Mức độ đánh giá thuật toán được quy định *, **, *** theo thứ tự hiệu quả tăng dần
Trang 18trách nhiệm cập nhập điểm của nó cho các dịch vụ và các đánh giá về các agent khác Lớp MatchAgent làm nhiệm vụ quản lí các agent
Khi một agent khởi tạo nó liên lạc với MacthAgent
để báo cáo sự xuất hiện của nó Khi một UserAgent nhận được yêu cầu chọn dịch vụ từ người dùng, nó thực hiện câu truy vấn để tìm ra danh sách các dịch vụ theo yêu cầu Sau
đó nó gửi yêu cầu đến MatchAgent để biết hiện tại có các UserAgent nào đang tồn tại, gửi yêu cầu để lấy các điểm của các Agent cho các dịch vụ trong danh sách trên Từ điểm lấy được từ các Agent khác, và điểm của nó cho các dịch vụ và đánh giá các Agent, UserAgent có thể chọn ra dịch vụ tốt nhất cho người dùng theo công thức chương 2
Áp dụng xây dựng hệ thống chọn dịch vụ đặt vé xem phim: Một người muốn sử dụng dịch vụ đặt vé xem phim trực tuyến Do chưa có kinh nghiệm nên anh ta muốn được
tư vấn nhà cung cấp nào là nhà cung cấp tốt nhất cho loại dịch vụ mà anh ta muốn sử dụng Theo đó, anh ta chỉ phải chọn loại dịch vụ đặt vé xem phim và sẽ nhận được là dịch
vụ đặt vé xem phim tốt nhất Khi người sử dụng vào hệ thống , hệ thống hiển thị ra những dịch vụ đặt vé phim được đánh giá cao nhất Danh sách các dịch vụ này được sắp xếp dựa theo số điểm hiện tại mà hệ thống cho dịch vụ Khi người dùng sử dụng xong một dịch vụ, họ có thể đánh giá dịch vụ mà họ đã sử dụng theo các thuộc tính: giá cả,
độ hiệu quả, khả năng hỗ trợ khách hàng, độ dễ sử dụng
Trang 19Ngoài ra họ còn có thể đánh giá xem tư vấn sử dụng dịch
vụ của hệ thống có được tốt không Khi người sử dụng đánh giá xong, số điểm của dịch vụ sẽ được cập nhật lại
II Kết luận
Luận văn đã trình bày tổng quan về dịch vụ web, nêu ra hạn chế dẫn đến việc xuất hiện dịch vụ web ngữ nghĩa, và đi sâu vào pha chọn dịch vụ trong vòng đời phát triển của dịch vụ web ngữ nghĩa: tổng quan về chọn dịch
vụ, các phương pháp chọn dịch vụ, và đưa ra một hệ thống chọn dịch vụ cải tiến các phương pháp truyền thống dựa trên agent Kỹ thuật hỗ trợ chọn dịch vụ được áp dụng là kỹ thuật dàn khái niệm Dàn khái niệm được sử dụng trong việc hỗ trợ tính toán cập nhật các đánh giá để chọn ra các dịch vụ tốt nhất Phần cuối của luận văn trình bày đánh giá thuật toán dàn khái niệm trên cơ sở so sánh với hai thuật toán khác, cuối cùng cài đặt thử nghiệm kiểm chứng các lý thuyết đã nghiên cứu
Hướng nghiên cứu mở rộng đề tài
Dựa trên ý tưởng một người sử dụng dịch vụ có thể chọn dịch vụ dựa trên các đặc tính về chất lượng của dịch
vụ, theo nguyên tắc tính điểm cho các đặc tính này Tuy nhiên người sử dụng có thể không biết được điểm cho từng đặc tính hoặc điểm chung cho các đặc tính Trong cách tiếp cận dựa trên cộng đồng, người sử dụng dịch vụ cần phải đánh giá lẫn nhau dựa trên điểm mà họ cho nhà cung cấp dịch vụ Đề tài có thể mở rộng trên cơ sở tính toán sâu hơn