Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Huy Thành
CÁC ĐỘ ĐO TRONG PHÂN CỤM VÀ ÁP DỤNG
VÀO PHÁT HIỆN MÔ HÌNH TỔ CHỨC
TRONG KHAI PHÁ QUÁ TRÌNH
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Hà Nội - 2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Huy Thành
CÁC ĐỘ ĐO TRONG PHÂN CỤM VÀ ÁP DỤNG
VÀO PHÁT HIỆN MÔ HÌNH TỔ CHỨC
TRONG KHAI PHÁ QUÁ TRÌNH
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: PGS. TS. Hà Quang Thụy
Cán bộ đồng hƣớng dẫn: ThS. Lê Hoàng Quỳnh
Hà Nội - 2014
VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Huy Thanh Pham
EVALUATION MEASURES FOR CLUSTERING
AND USING TO DISCOVER ORGANIZATIONAL
MODEL IN PROCESS MINING
Major: InformationTechnology
Supervisor: Assoc. Prof. Quang Thuy Ha
Co-Supervisor: Master. Hoang Quynh Le
HA NOI - 2014
LỜI CẢM ƠN
Trước tiên, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy giáo
PGS. TS. Hà Quang Thụy và ThS. Lê Hoàng Quỳnh, những người đã tận tình chỉ bảo,
hướng dẫn, động viên và giúp đỡ tôi trong suốt quá trình thực hiện đề tài khóa luận.
Tôi xin gửi lời cảm ơn sâu sắc tới các thầy cô trong Khoa Công nghệ thông tin đã
truyền đạt kiến thức quý báu cho tôi trong suốt bốn năm vừa qua, những kiến thức tôi
nhận được trên giảng đường sẽ là hành trang quan trọng giúp tôi vững bước trong tương
lai.
Tôi cũng xin gửi lời cảm ơn tới các thầy cô, các anh chị, các bạn và các em sinh
viên trong phòng thí nghiệm KT-Sis lab đã giúp tôi rất nhiều trong việc hỗ trợ kiến thức
chuyên môn để hoàn thành tốt nghiệp khóa luận.
Tôi gửi lời cảm ơn tới tập thể lớp K55CD và K55CLC đã ủng hộ, khích lệ và luôn
sát cánh bên tôi trong suốt quá trình học tập và rèn luyện tại trường.
Cuối cùng,tôi muốn gửi lời cảm ơn sâu sắc tới bạn bè, người thân đặc biệt là cha
mẹ và em gái tôi, những người luôn ủng hộ con đường tôi đã lựa chọn, giúp đỡ và động
viên tôi vượt qua những khó khăn trong cuộc sống.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 13 tháng 05 năm 2014
Sinh viên
Phạm Huy Thành
TÓM TẮT
Theo W.M.P Van der Aalst, 2011 [10], khai phá quá trình trong những năm gần đây đang
nổi lên như một lĩnh vực khoa học mới tập trung vào việc phân tích các quá trình bằng việc sử
dụng dữ liệu sự kiện. Lĩnh vực này đang thu hút được sự quan tâm từ rất nhiều các nhà khoa học
trên thế giới. Tuy nhiên hầu hết những tiếp cận này mới chỉ quan tâm và tập trung vào việc phát
hiện khía cạnh luồng điều khiển mà bỏ qua một số khía cạnh quan trọng khác trong đó nổi bật là
khía cạnh tổ chức [9]. Một trong những bài toán quan trọng trong khai phá khía cạnh tổ chức là
bài toán phát hiện mô hình tổ chức.
Dựa trên quá trình tìm hiểu một số nghiên cứu về việc phát hiện mô hình tổ chức [4, 9, 10,
12], kết hợp với việc tìm hiểu một số thuật toán phân cụm quan trọng và các phương pháp đánh
giá phân cụm [1, 2, 5, 6, 7, 8], khóa luận trình bày về các độ đo trong phân cụm và việc áp dụng
chúng vào bài toán phát hiện mô hình tổ chức trong khai phá quá trình. Đồng thời, khóa luận
cũng đưa ra mô hình giải quyết bài toán với một số độ đo phân cụm được đề cập và tiến hành cài
đặt thực nghiệm trên bộ dữ liệu mẫu từ ProM. Kết quả thực nghiệm cho thấy mô hình tổ chức
ứng với giá trị K = 8 là phù hợp nhất. Khi đó giá trị các độ đo Silhouette, Dunn, Modularity và
CPLw đạt giá trị tương ứng là 0.84327, 1.90155, 0.01075 và 0.04619.
Từ khóa: Khai phá quá trình, phát hiện mô hình tổ chức, độ đo chất lượng phân cụm
ABSTRACT
According to W.M.P Van der Aalst, 2011 [10], process ming, recently, emerged as a new
research field that focuses on the analysis of processes using event data. This field are attracting
attention of many scentists around the world. How ever, most of these approach only focused on
discovering event-control aspect and neglected some other important aspects, especially
organizational aspect [9]. One of important problem in organiztional aspect mining is
discovering organizational model.
Based on learning some researches of discovering organizational structure [4, 9, 10, 12],
associating knowledge about some important clustering algorithms and some clustering
evaluation measures [1, 2, 5, 6, 7, 8], this thesis presents some clustering evaluation measures
and using them to discover organiztional model in process mining. Also, this thesis proposes
solving problem model for some of mentioned measures and implements experience on sample
data collection from ProM. Experience result shows the organizational model which has value K
= 8 is the best. In that case, the Silhouette, Dunn, Modularity and CPLw values are 0.84327,
1.90155, 0.01075 and 0.04619 respectively.
Key words: Process ming, organiztional model discovering, clustering evaluation measures.
LỜI CAM ĐOAN
Tôi xin cam đoan mô hình giải quyết bài toán phát hiện mô hình tổ chức áp dụng
các độ đo trong phân cụm, thực nghiệm áp dụng thuật toán K-medoids và dựa trên các độ
đo phân cụm được trình bày trong khóa luận là do tôi thực hiện dưới dự hướng dẫn của
PGS. TS. Hà Quang Thụy và ThS. Lê Hoàng Quỳnh.
Tất cả các bài báo, khóa luận, tài liệu, công cụ, phần mềm của các tác giả khác được
sử dụng trong khóa luận này đều được chỉ dẫn tường minh về tác giả và đều có trong
danh sách tài liệu tham khảo.
Hà Nội, ngày 13 tháng 05 năm 2014
Sinh viên
Phạm Huy Thành
MỤC LỤC
Chương 1.
BÀI TOÁN PHÁT HIỆN MÔ HÌNH TỔ CHỨC TRONG KHAI PHÁ QUÁ TRÌNH ...... 2
1.1. Giới thiệu chung về khai phá quá trình ................................................................... 2
1.2. Nhật ký sự kiện ....................................................................................................... 4
1.3. Các bài toán trong khai phá quá trình ..................................................................... 6
1.4. Bài toán phát hiện mô hình tổ chức ........................................................................ 8
1.5. Tóm tắt chương 1 .................................................................................................... 8
Chương 2.
SỬ DỤNG CÁC ĐỘ ĐO ĐỂ ĐÁNH GIÁ CHẤT LƯỢNG PHÂN CỤM TRONG BÀI
TOÁN PHÁT HIỆN MÔ HÌNH TỔ CHỨC ........................................................................ 9
2.1. Cấu trúc cộng đồng trong mạng lưới tổ chức ......................................................... 9
2.1.1. Khái niệm cấu trúc cộng đồng ......................................................................... 9
2.1.2. Các độ đo khoảng cách trong mạng xã hội .................................................... 10
2.1.3. Các cách tính khoảng cách giữa các tổ chức .................................................. 10
2.2. Các thuật toán phân cụm trong phát hiện mô hình tổ chức .................................. 12
2.2.1. Thuật toán AHC ............................................................................................. 12
2.2.2. Thuật toán K-means ....................................................................................... 13
2.2.3. Thuật toán K-medoids (PAM) ....................................................................... 14
2.3. Các độ đo chất lượng phân cụm ............................................................................ 14
2.3.1. Độ đo bóng (Silhouette) ................................................................................. 15
2.3.2. Độ đo Davies – Bouldin ................................................................................. 16
2.3.3. Độ đo Dunn .................................................................................................... 16
2.3.4. Độ đo Modularity ........................................................................................... 17
2.3.5. Độ đo theo độ dài đường đi CPL ( Cluster Path Lengths)............................. 17
2.4. Tóm tắt chương 2 .................................................................................................. 22
Chương 3.
MÔ HÌNH GIẢI QUYẾT BÀI TOÁN ............................................................................... 23
3.1. Phát biểu bài toán phát hiện mô hình mạng tổ chức từ nhật ký sự kiện ............... 23
3.2. Mô hình giải quyết bài toán .................................................................................. 24
3.3. Phân tích mô hình ................................................................................................. 24
3.3.1. Thu thập nhật ký sự kiện ................................................................................ 24
3.3.2. Sử dụng thuật toán K-medoids phát hiện mô hình tổ chức ............................ 26
3.4. Tóm tắt chương 3 .................................................................................................. 27
Chương 4.
THỰC NGHIỆM VÀ ĐÁNH GIÁ..................................................................................... 28
4.1. Mô tả thực nghiệm ................................................................................................ 28
4.1.1. Mô tả dữ liệu .................................................................................................. 28
4.1.2. Các công cụ và phần mềm sử dụng ................................................................ 29
4.1.3. Môi trường thực nghiệm ( Phần cứng và hệ điều hành ) ............................... 30
4.1.4. Các module chính trong chương trình ........................................................... 30
4.2. Kết quả thực nghiệm và đánh giá ......................................................................... 31
4.2.1. Kết quả thực nghiệm ...................................................................................... 31
4.2.2. Đánh giá kết quả thực nghiệm ....................................................................... 36
KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU TIẾP THEO........................................ 38
DANH SÁCH HÌNH VẼ
Hình 1. 1. Ngữ cảnh khai phá quá trình .............................................................................. 3
Hình 1. 2. Ba bài toán trong khai phá quá trình dưới dạng input và output bao gồm: Phát
hiện quá trình (a), Kiểm tra sự phù hợp (b) và Tăng cường mô hình (c) .......... 7
Hình 1. 3. Một nhật ký sự kiện và 2 mô hình quá trình được xây dựng từ nó dưới dạng
lưới Petri. ............................................................................................................ 6
Hình 2. 1. Cấu trúc cộng đồng trong mạng xã hội .............................................................. 9
Hình 2. 2. Cách tính khoảng cách giữa hai cụm theo single linkage ................................ 11
Hình 2. 3. Cách tính khoảng cách giữa hai cụm theo complete linkage ........................... 11
Hình 2. 4. Cách tính khoảng cách giữa hai cụm theo average linkage ............................. 12
Hình 2. 5. Ví dụ về 3 cụm A, B, C với số lượng và cách liên kết bên trong khác nhau. ... 19
Hình 3. 1. Bài toán phát hiện mô hình tổ chức dưới dạng input và output ....................... 23
Hình 3. 2. Mô hình giải quyết bài toán phát hiện mô hình tổ chức sử dụng các độ đo phân
cụm. .................................................................................................................. 24
Hình 3. 3. Meta-model của chuẩn XES ............................................................................. 25
Hình 4. 1. Một phần được trích ra từ nhật ký sự kiện trong thực nghiệm ......................... 29
Hình 4. 2. Mô hình mạng xã hội mô tả quan hệ giữa các cá nhân .................................... 33
Hình 4. 3. Hình mô tả các module trong chương trình......................................................31
Hình 4. 4. Biểu đồ giá trị Silhouette .................................................................................. 36
Hình 4. 5. Biểu đồ giá trị Dunn ......................................................................................... 36
Hình 4. 6. Biểu đồ giá trị Modularity ................................................................................ 36
Hình 4. 8. Biểu đồ giá trị CPLw ......................................................................................... 36
Hình 4. 8. Kết quả mô hình tổ chức ứng với K = 8 ........................................................... 37
DANH SÁCH BẢNG BIỂU
Bảng 1. 1. Một đoạn trong nhật ký sự kiện mỗi dòng tương ứng với mỗt sự kiện ............. 5
Bảng 4. 1. Bảng thống kê môi trường thực nghiệm (phần cứng và HĐH)........................30
Bảng 4. 2. Một phần trích từ bảng ma trận kề theo độ đo WorkingTogether .................... 32
Bảng 4. 3. Bảng mô hình tổ chức tương ứng với giá trị K ( số lượng cụm) ..................... 35
1
LỜI MỞ ĐẦU
Ngày nay, hầu hết các tổ chức đều ghi lại quá trình kinh doanh của mình dưới dạng
các nhật ký sự kiện. Những nhật ký này có thể được sử dụng để phát hiện khía cạnh luồng
điều khiển bằng các kỹ thuật phát hiện quá trình nhằm đưa ra các mô hình quá trình để
phân tích và chẩn đoán nhằm cải thiện quá trình sản xuất. Tuy nhiên, trong thực tế, các
quá trình không hoàn toàn bị điều khiển bởi các hệ thống mà thay vào đó, nó luôn có sự
tham gia của con người và những hành vi của con người cũng đóng vai trò rất quan trọng
đối với hiệu suất của các quá trình. Do đó việc khai thác vào khía cạnh tổ chức như việc
phát hiện cấu trúc tổ chức hay mạng lưới xã hội sẽ giúp những người quản lý nắm rõ
được cấu trúc tổ chức và giúp cải thiện quá trình kinh doanh.
Trong khóa luận này, chúng tôi tập trung vào khía cạnh tổ chức nhưng cụ thể là bài
toán phát hiện mô hình tổ chức từ nhật ký sự kiện dựa trên việc áp dụng các độ đo phân
cụm khác nhau. Việc áp dụng các độ đo này có thể cho phép chúng ta có một đánh giá tốt
hơn về kết quả của bài toán và đưa ra mô hình tổ chức phù hợp nhất.
Nội dung của khóa luận được chia thành các chương sau:
Chƣơng 1: Giới thiệu khái quát về lĩnh vực khai phá quá trình, khái niệm về nhật
ký sự kiện và bài toán phát hiện mô hình tổ chức từ nhật ký sự kiện trong khai phá quá
trình.
Chƣơng 2: Chương này trình bày về việc sử dụng các độ đo phân cụm vào bài toán
phát hiện mô hình tổ chức bao gồm việc giới thiệu về cấu trúc cộng đồng trong mạng tổ
chức, một số thuật toán phân cụm và các độ đo chất lượng phân cụm tiêu biểu. Ngoài ra ,
chúng tôi cũng đưa ra một độ đo đề xuất dựa trên việc chỉnh sửa độ đo CPL (Clusters
Path Length) cho phù hợp với dạng đồ thị có trọng số của mô hình tổ chức.
Chƣơng 3: Trinh bày về mô hình giải quyết bài toán và phân tích các bước trong
mô hình giải quyết. Ngoài ra, chúng tôi sẽ trình bày những vấn đề mắc phải và cách giải
quyết chúng.
Chƣơng 4: Trình bày thực nghiệm với bộ dữ liệu mẫu và đưa ra đánh giá với kết
quả thu được.
Phần kết luận: Tóm lược kết quả đạt được của khóa luận và định hướng phát triển
tương lai.
2
Chƣơng 1.
BÀI TOÁN PHÁT HIỆN MÔ HÌNH TỔ CHỨC
TRONG KHAI PHÁ QUÁ TRÌNH
1.1. Tổng quan về khai phá quá trình
Trong thập kỉ vừa qua, khai phá quá trình nổi lên như là một lĩnh vực nghiên cứu
mới tập trung vào phân tích quá trình sử dụng dữ liệu sự kiện. Một trong những nguyên
nhân chính khiến khai phá quá trình ngày càng được quan tâm là bởi vì ngày càng có
nhiều dữ liệu sự kiện được ghi nhận lại, do đó cung cấp thông tin ngày càng chi tiết về
lịch sử của quá trình. Mục tiêu của khai phá quá trình là nhằm phát hiện, giám sát và cải
thiện các quá trình thực tế bằng cách trích lọc tri thức từ các nhật ký sự kiện đã có sẵn
trong các hệ thông thông tin ngày nay [11]. Các ứng dụng của khai phá quá trình đã được
áp dụng vào rất nhiều miền ứng dụng khác nhau, trong đó nổi bật nhất là quản lý quá
trình kinh doanh.
Các kỹ thuật khai phá dữ liệu cổ điển như phân lớp, phân cụm, học luật kết hợp,
khai phá dãy không tập trung vào các mô hình quá trình kinh doanh và thường chỉ được
sử dụng để phân tích một bước cụ thể trong quá trình tổng thể [11]. Trong khi đó, khai
phá quá trình tập trung vào các quá trình end-to-end và ngày càng phát triển bởi sự tăng
lên mạnh mẽ của dữ liệu sự kiện cũng như sự xuất hiện của các kỹ thuật phát hiện quá
trình và kiểm tra sự phù hợp mới.
Sự quan tâm tăng lên trong phân tích quá trình đã thúc đẩy việc thành lập Đội đặc
nhiệm IEEE về khai phá quá trình (IEEE Task Force on Process Mining: IEEE-TFoPM).
Gần đây Đội đặc nhiệm về khai phá quá trình đã đưa ra tuyên ngôn về khai phá quá
trình. Tuyên ngôn này được hỗ trợ bởi 53 tổ chức và 77 chuyên gia về khai phá quá trình
[11].
Hình 1.1. cho thấy khai phá quá trình thiết lập các liên kết giữa các quá trình thực
tế và dữ liệu ở một bên và các mô hình quá trình ở bên kia. Hệ thống thông tin ngày nay
phải đối mặt với sự gia tăng không ngừng cả về mặt số hóa và vật lý ( công nghệ vật
liệu). Nhất là về mặt số hóa, hệ thống thông tin ngày nay ghi lại nhật ký với số lượng rất
lớn các sự kiện. Các hệ thống WFM ( Workforce Management ) như Staffware hay Cosa,
3
Hình 1. 1. Ngữ cảnh khai phá quá trình [11]
các hệ thống BPM ( Business Process Management ) như BPM|One của Pallas Athena,
SmartBPM của Pegasystems, ... cung cấp một lượng thông tin chi tiết và rất lớn về các
hoạt động đã được thực hiện trong quy trình sản xuất kinh doanh. Và với lượng thông tin
vô tận chứa các tri thức hữu ích đó, yêu cầu đặt ra là làm sao chúng ta có thể sử dụng
chúng để thu nhận được những thông tin cần thiết và hỗ trợ, cải thiện thực tiễn quá trình
sản xuất kinh doanh. Từ những thực tế đó, ba bài toán của khai phá quá trình theo W.M.P
Van der Aalst [10] bao gồm: phát hiện quá trình, kiểm tra sự phù hợp và tăng cường mô
hình cho phép chúng ta khai thác các tài nguyên tri thức đó và sử dụng chúng cho cải
thiện sản xuất kinh doanh. Nội dung cụ thể của 3 bài toán này sẽ được trình bày ở phần
sau, tuy nhiên trước hết chúng tôi xin đề cập đến khái niệm nhật ký sự kiên – điểm xuất
phát cho mọi công việc trong khai phá quá trình.
4
1.2. Nhật ký sự kiện
Như đã nói ở phần trước, nhật ký sự kiện là dữ liệu đầu vào cho khai phá quá trình,
bao gồm mọi bài toán của nó. Nhật ký sự kiện là kết quả ghi nhận lại của hệ thống khi có
một người dùng nào đó tương tác với hệ thống. Một nhật ký sự kiện bao gồm nhiều
trường hợp. Mỗi trường hợp gồm nhiều các sự kiện xảy ra nối tiếp nhau. Các sự kiện
trong trường hợp khác nhau có thể xảy ra xen kẽ nhau. Trường hợp và sự kiện có nhiều
thuộc tính.
Từ cấu trúc nhật ký sự kiện trong Bảng 1.1., có thể đưa ra nhận định rằng một quá
trình ( process ) có thể bao gồm nhiều trường hợp (cases), chúng thể hiện một phiên làm
việc của người dùng trong hệ thống. Một trường hợp có thể chứa nhiều sự kiện ( events )
được sắp xếp theo trình tự, mỗi sự kiện chứa mốt số thuộc tính ( attriubutes). Chẳng hạn
như ở ví dụ trên, các trường hợp được phân biệt bởi các Case id ( 1,2,3...) và các sự kiện
bên trong các trường hợp được phân biệt bằng các Event id. Mỗi sự kiện có các thuộc
tính như mốc thời gian (Timestamp), tên hành động (Activity), người thực hiện
(Resource) hay chi phí (Cost),... Tuy vậy, không phải lúc nào tất cả các sự kiện đều chứa
cùng một tập thuộc tính. Các sự kiện liên quan đến cùng một hoạt động thì có cùng tập
các thuộc tính.
Một cách tổng quát hóa nhật ký sự kiện về nhật ký sự kiện đơn giản được W.M.P
Van der Aalst định nghĩa trong [10] theo toán học như sau:
Cho A là một tập những hành động trong nhật ký sự kiện, một vết hay trường
hợp(trace) là một chuối các hành động, tức là σ ∊ . Một nhật ký sự kiện đơn giản L là
một đa tập (multi-set) trên tập A tức L∊ B( ).
Trong đó khái niệm đa tập trên tập A có thể hiểu như là nhật ký sự kiện đơn giản L
là một tập hợp của các vết σ, trong đó mỗi dấu vết σ được thể hiện kèm chỉ số số lần dấu
vết đó được thực thi trong nhật ký sự kiện.
Ví dụ: A = {a,b,c,d,e} có ba vết = (a,b,c,d) xảy ra 3 lần, = ( a,c,b,d) xảy ra 2
lần , và = (a,e,d) xảy ra 1 lần. Khi đó nhật ký sự kiện L được biểu diễn dưới dạng như
sau:
L = [ (a,b,c,d)3, (a,c,b,d)
2, (a,e,d)]
Tuy nhiên, có thể dễ dàng cách biểu diễn nhật ký theo dạng như vậy chỉ quan tâm
vào khía cạnh luồng sự kiện và đã bỏ qua các thuộc tính của sự kiện khác.
5
Bảng 1. 1. Một đoạn trong nhật ký sự kiện mỗi dòng tương ứng với mỗt sự kiện [10]
Nhật ký sự kiện được dùng để sản xuất 3 kiểu khai phá quá trình bao gồm : phát
hiện quá trình, kiểm tra sự phù hợp và tăng cường mô hình. Nội dung cụ thể của 3 bài
toán này sẽ được trình bày ở phần tiếp theo.
6
1.3. Các bài toán trong khai phá quá trình
Theo van der Aalst [10] khai phá quá trình bao gồm 3 bài toán: phát hiện quá trình,
kiểm tra sự phù hợp và tăng cường mô hình quá trình.
Phát hiện quá trình
Phát hiện quá trình là bài toán đầu tiên trong khai phá quá trình. Kết quả của bài
toán này là một mô hình quá trình được biểu diễn bằng một ngôn ngữ mô hình hóa (dưới
dạng BPMN, BPEL, UML, lưới Petri, ..). Điểm xuất phát của bài toán là nhật kí sự kiện
“đơn giản”, tức là từ nhật kí sự kiện ban đầu, ta lược bỏ đi những thuộc tính không cần
thiết cho việc phát hiện mô hình. Hình dưới đây mô tả một nhật ký sự kiện và hai mô
hình quá trình tiềm năng nhằm mô tả hành vi được quan sát của nó dưới dạng lưới Petri.
Hình 1. 2. Một nhật ký sự kiện và 2 mô hình quá trình được xây dựng từ nó dưới
dạng lưới Petri [11]
7
Kiểm tra sự phù hợp
Bài toán thứ hai là bài toán kiểm tra sự phù hợp của mô hình. Ở bài toán này một
mô hình quá trình hiện có được so sánh với một nhật ký sự kiện của cùng một quá trình.
Quá trình kiểm tra sự phù hợp có thể được dùng để kiểm tra xem quá trình thực tế (hành
vi quan sát được) - được ghi lại trong một nhật ký, có thống nhất với mô hình (hành vi
được mô hình hóa) và ngược lại.
Tăng cường mô hình
Cuối cùng là bài toán tăng cường mô hình. Bài toán này hướng tới việc cải tiến hay
mở rộng mô hình bằng cách khai thác các khía cạnh khác trong nhật kí sự kiện mà trước
đó đã bị lược bỏ trong bài toán phát hiện quá trình. Chẳng hạn như thời gian, nguồn của
sự kiện, v.v…
Hình 1. 3. Ba bài toán trong khai phá quá trình dưới dạng input và output bao gồm:
Phát hiện quá trình (a), Kiểm tra sự phù hợp (b) và Tăng cường mô hình (c) [10]
8
1.4. Bài toán phát hiện mô hình tổ chức
Hầu hết những phương pháp nghiên cứu khai phá quá trình đều tập trung vào việc
phát hiện luồng điều khiển, xây dựng một mô hình quá trình dựa trên nhật ký sự kiện
trong khi các khía cạnh khác thường bị bỏ qua, chẳng hạn khía cạnh: thời gian liên quan
đến thuộc tính thời gian (timestamp), tổ chức liên quan đến thuộc tính nguồn (resource),...
Tuy nhiên, trong thực tế, các quá trình không hoàn toàn bị điều khiển bởi các hệ thống mà
thay vào đó, nó luôn có sự tham gia của con người và những hành vi của con người cũng
đóng vai trò rất quan trọng đối với hiệu suất của các quá trình. Do đó việc khai thác vào
khía cạnh tổ chức như việc phát hiện cấu trúc tổ chức hay mạng lưới xã hội cũng đóng
một vai trò hết sức quan trọng, bởi nó sẽ giúp những người quản lý nắm rõ được cấu trúc
tổ chức và giúp cải thiện quá trình kinh doanh [9]. Đó là lý do bài toán khai phá khía cạnh
tổ chức được đưa ra.
Một trong những vấn đề quan trọng nhất trong khai phá khía cạnh tổ chức là việc
phát hiện cấu trúc tổ chức để phục vụ cho việc phân tích. Cấu trúc tổ chức sẽ được phát
hiện dưới dạng các mô hình mạng lưới thể hiện mối quan hệ giữa các cá nhân, các nhóm,
... với nhau.
1.5. Tóm tắt chƣơng 1
Trong chương này, khóa luận đã giới thiệu một cái nhìn khái quát về khai phá quá
trình, bài toán phát hiện mô hình tổ chức trong khai phá quá trình và các khái niệm liên
quan. Một trong những khái niệm quan trọng cũng được khóa luận đề cập tới trong
chương này là nhật ký sự kiện. Nhật ký sự kiện là đầu vào cho mọi bài toán trong khai
phá quá trình, bao gồm cả bài toán phát hiện mô hình tổ chức.
Trong chương tiếp theo, khóa luận sẽ trình bày chi tiết về các độ đo trong phân cụm
và sử dụng chúng vào bài toán phát hiện mô hình tổ chức.
9
Chƣơng 2.
SỬ DỤNG CÁC ĐỘ ĐO ĐỂ ĐÁNH GIÁ CHẤT
LƢỢNG PHÂN CỤM TRONG BÀI TOÁN PHÁT
HIỆN MÔ HÌNH TỔ CHỨC
2.1. Cấu trúc cộng đồng trong mạng lƣới tổ chức
2.1.1. Khái niệm cấu trúc cộng đồng
Hình dưới đây mô tả cấu trúc cộng đồng trong mạng xã hội.
Hình 2. 1. Cấu trúc cộng đồng trong mạng xã hội [3]
Các cộng đồng được đại diện bởi các hình tròn.Các node cùng một cộng đồng có
mối liên kết chặt chẽ với nhau bởi các liên kết có trọng số cao và liên kết ra bên ngoài bởi
các liên kết có trọng số thấp được thể hiện trên hình vẽ bằng đường nối giữa các node
đậm hay nhạt.
10
2.1.2. Các độ đo khoảng cách trong mạng xã hội
Handover of work metric:
Độ đo này xác định mức độ chuyển giao công việc giữa các cá nhân bằng việc trích
lọc từ nhật ký sự kiện theo thứ tự thực hiện công việc trong từng trường hợp, trong đó
hành động đầu tiên được hoàn thành bởi một cá thể nào đó, sau đó quy trình được tiếp tục
với hành động tiếp theo và được hoàn thành, cứ như vậy một trường hợp được hoàn
thành với sự chuyển giao công việc giữa các cá thể.
Subcontracting metric:
Độ đo này tương tự với Handover of work metric, tuy nhiên trong handover of work
metric mối quan hệ giữa hai cá thể là một chiều thì trong Subcontracting metric mối quan
hệ giữa hai cá thể là hai chiều. Ví dụ cá nhân A subcontract cá nhân B khi giữa 2 hành
động thực hiện bởi A có một hành động được thực hiện bởi B.
Working together metric:
Hai cá nhân A và B làm việc cùng nhau khi họ thực hiện các hành động trong cùng
một trường hợp. Độ đo này đơn giản chỉ đếm số lượng các trường hợp mà 2 cá nhân làm
việc cùng nhau.
Similar task metric:
Kỹ thuật này tập trung vào hành động chung, mục tiêu của kỹ thuật này là xác định
xem các cá thể thực hiện bao nhiêu hành động giống nhau trong nhật ký sự kiện. Để thực
hiện kỹ thuật này, mỗi một cá thể sẽ được thống kê số lần thực hiện các hành động cụ
thể, sau đó các cá thể được so sánh với nhau để tìm ra sự tương đồng.
Reassignment metric:
Kỹ thuật này phát hiện mức độ ủy thác hành động từ cá nhân này đến cá nhân khác.
Ví dụ như nếu cá thể A thường ủy thác công việc cho cá thể B và không có việc B ủy
thác công việc cho A thì có thể A là cấp trên của B.
2.1.3. Các cách tính khoảng cách giữa các tổ chức
Khoảng cách giữa các tổ chức ( hay các cụm ) được tính dựa trên khoảng cách giữa
11
các cá nhân bên trong chúng. Có ba cách tính khoảng cách thường được sử dụng là:
single linkage, complete linkage và average linkage.
Single linkage:
Khoảng cách giữa hai cụm được tính bằng khoảng cách giữa cặp phần tử gần nhất
của chúng.
Hình 2. 2. Cách tính khoảng cách giữa hai cụm theo single linkage
Ví dụ như trên hình: khoảng cách giữa hai cụm sẽ được tính bằng khoảng cách giữa
hai phần tử A3 và B1.
Complete linkage:
Khoảng cách giữa hai cụm được tính bằng khoảng cách giữa cặp phần tử xa nhất
của chúng.
Hình 2. 3. Cách tính khoảng cách giữa hai cụm theo complete linkage
12
Ví dụ như trên hình: khoảng cách giữa hai cụm sẽ được tính bằng khoảng cách giữa
hai phần tử A2 và B2.
Average linkage:
Khoảng cách giữa hai cụm được tính bằng trung bình của tất cả các khoảng cách
của các phần từ giữa hai cụm.
Hình 2. 4. Cách tính khoảng cách giữa hai cụm theo average linkage
Ví dụ như trên hình: khoảng cách giữa hai cụm sẽ được tính bằng trung bình
khoảng cách giữa tất cả các phần tử giữa hai cụm.
2.2. Các thuật toán phân cụm trong phát hiện mô hình
tổ chức
Mặc dù có rất nhiều thuật toán phân cụm với các cách tiếp cận khác nhau, tuy nhiên
theo [10], hai thuật toán thông dụng thường được sử dụng là AHC và K-means. Sau đây
tôi xin trình bày nội dung của hai thuật toán này và một biến thể của thuật toán K-means
là K-medoids sẽ được dùng cho nội dung thực nghiệm ở chương sau.
2.2.1. Thuật toán AHC
Thuật toán AHC là một trong hai loại của thuật toán phân cụm phân cấp bao gồm:
13
Tích đống (Agglomerative hierarchical clustering hay AHC ) là hướng tiếp cận từ
dưới lên với khởi tạo ban đầu mỗi phần tử thuộc về một cụm riêng của nó và tiến
hành gộp dần các phần tử lại trong quá trình lặp.
Phân chia (Divisive hierarchical clustering ) là hướng tiếp cận từ trên xuống,
khởi tạo ban đầu với chỉ một cụm và tiến hành chia nhỏ cụm đó để tạo các cụm mới
trong quá trình lặp.
Tuy nhiên, với mục tiêu phát hiện mô hình tổ chức từ các đơn vị cá thể ( người thực
hiện) , thuật toán AHC sẽ hữu ích hơn thuật toán còn lại. Nội dung cụ thể của thuật toán
như sau [3]:
Cho trước mạng gồm N node:
Bước 1.Mỗi node được coi như là một cụm ( N cụm gồm 1 phần tử )
Bước 2. Tìm cặp cụm gần nhau nhất và gộp chung chúng thành một cụm.
Bước 3.Tính lại khoảng cách giữa cụm mới với các cụm cũ.
Bước 4. Lặp lại bước 2 và 3 cho đến khi tất cả các phần tử đã được gộp lại thành
một cụm duy nhất N phần tử hoặc đã đạt số lượng cụm yêu cầu.
2.2.2. Thuật toán K-means
Thuật toán K-means cũng là một thuật toán quan trọng và được sử dụng phổ biến
trong kỹ thuật phân cụm. Tư tưởng chính của nó là tìm cách phân nhóm các đối tượng (
objects ) cho trước vào K cụm ( K là số cụm và được xác định trước ) sao cho tổng bình
phương khoảng cách giữa các đối tượng đến tâm nhóm ( centroid ) là nhỏ nhất.
Nội dung thuật toán cụ thể như sau [2] :
Cho trước mạng lưới gồm N node và số cụm k.
Bước 1. Khởi tạo: Chọn ra ngẫu nhiên k node làm trọng tâm {ci} i = 1, ..., k.
Bước 2. Với mọi node, tính khoảng cách giữa nó với các trọng tâm của các cụm.
Gán nó vào cụm có trọng tâm gần nó nhất.
Bước 3. Cập nhật lại các trọng tâm mới.
14
=
∑ ∊
Bước 4. Lặp lại bước 2 và 3 cho đến khi không có sự thay đổi giữa các cụm
2.2.3. Thuật toán K-medoids (PAM)
Thuật toán này là một biến thể của K-means nhưng phù hợp hơn cho việc phát hiện
mô hình tổ chức bởi chỉ phụ thuộc vào khoảng cách giữa các node.
Nội dung thuật toán [1]:
Cho trước mạng gồm N node và số cụm k:
Bước 1. Khởi tạo: Chọn ngẫu nhiên k phần tử từ N node làm các trọng tâm.
Bước 2.Gán mỗi node với cụm có trọng tâm gần nó nhất.
Bước 3. Với mỗi trọng tâm M
Bước 3.1.Với mỗi node không phải trọng tâm O
Bước 3.2.Hoán đổi M và O và tính toán lại hàm mục tiêu cho sự hoán
chuyển này.
Bước 4. Chọn sự hoán chuyển có hàm mục tiêu đạt nhỏ nhất
Bước 5.Lặp lại các bước từ 2 đến 4 cho đến khi không có sự thay đổi về trọng tâm.
Hàm mục tiêu được tính như sau:
E = ∑ ∑ ∊
2.3. Các độ đo chất lƣợng phân cụm
Theo [5] và [8], các độ đo chất lượng phân cụm được phân thành 3 loại là:
Đánh giá trong ( internal evaluation): Kết quả phân cụm được đánh giá dựa trên
chính dữ liệu được phân cụm bằng cách sử dụng các đại lượng đánh giá sự gắn kết
cụm như mật độ ( density), khoảng cách giữa các phần tử bên trong cụm hay
khoảng cách giữa các cụm với nhau, ... Hướng tiếp cận của loại này dựa trên tiêu
15
chí: các thuật toán phân cụm tốt là các thuật toán tạo ra các cụm mà các phần tử
bên trong mỗi cụm có độ tương tự với nhau lớn và độ tương tự với các phần tử bên
ngoài nhỏ.
Đánh giá ngoài ( external evaluation ): Kết quả phân cụm được đánh giá dựa tập
dữ liệu chuẩn(mẫu) đã được phân từ trước đó, còn được gọi là tập benchmark.
Hướng tiếp cận của loại này đánh giá mức độ tương đồng giữa việc phân cụm bởi
thuật toán với tập dữ liệu benchmark.
Đánh giá quan hệ ( relative evalution ): Đánh giá việc phân cụm bằng cách so sánh
nó với các kết quả phân cụm khác được sinh ra bởi cùng thuật toán nhưng với các
giá trị tham số khác nhau.
Bởi vì do đặc tính của bài toán phát hiện mô hình tổ chức, việc có được một mô
hình ( tập dữ liệu ) chuẩn để có thể đánh giá được kết quả phân cụm theo phương pháp
đánh giá ngoài là rất khó khăn, trong bài khóa luận này, chúng tôi xin chỉ tập trung trình
bày các độ đọ chất lượng phân cụm thuộc loại đánh giá trong, tức là quá trình đánh giá sẽ
chỉ dựa trên chính tập dữ liệu được phân cụm. Thêm vào đó, việc đánh giá kết quả của
bài toán phát hiện mô hình tổ chức sẽ chỉ trên các thuật toán phân cụm không có sự
chồng chéo.
Một số độ đo đánh giá trong tiêu biểu theo [6] như sau:
2.3.1. Độ đo bóng (Silhouette)
Giả sử mạng lưới được chia thành k cụm.
Với mỗi node i, đặt:
a(i) là khoảng cách trung bình từ i tới tất cả các node trong cùng cụm với i.
b(i) là khoảng cách trung bình ngắn nhất từ i tới bất kỳ cụm nào không chứa i.
Cụm tương ứng với b(i) này được gọi là cụm hàng xóm của i.
Khi đó:
s(i) =
16
s(i) nằm trong đoạn [-1,1].s(i) càng gần 1 thì node i càng phù hợp với cụm mà nó
được phân vào.s(i) = 0 thì không thể xác định được i nên thuộc về cụm nào giữa cụm
hiện tại và cụm hàng xóm của nó.s(i) càng gần -1 thì chứng tỏ i bị phân sai cụm, nó nên
thuộc về cụm hàng xóm chứ không phải cụm hiện tại.
2.3.2. Độ đo Davies – Bouldin
Độ đo Davies-Bouldin được tính theo công thức:
DB =
∑
Trong đó :
n là số cụm.
cxlà trọng tâm của cụm x
σx là trung bình khoảng cách của tất cả các phần tử trong cụm x tới trọng tâm
cx
d(ci , cj) là khoảng cách giữa hai trọng tâm của cụm i và j.
Giá trị DB càng nhỏ thì chất lượng phân cụm càng tốt.
2.3.3. Độ đo Dunn
Độ đo Dunn được tính theo công thức:
D = { {
}}
Trong đó:
d(i, j) là khoảng cách giữa hai cụm i và j, thường được tính là khoảng cách
giữa hai tâm cụm i và j.
là khoảng cách trung bình bên trong cụm k.
n là số cụm.
D càng lớn thì phép chia cụm càng tốt.
17
2.3.4. Độ đo Modularity
Khái niệm này được đưa ra bởi Girvan và Newman [4].
Giả thiết:
Giả sử một mạng lưới có N đỉnh liên kết với nhau bởi m liên kết (hay cạnh)
Đặt Aij là một phần tử của ma trận kề của đồ thị, tức là Aijlà số lượng cạnh giữa
đỉnh i và j.
Giả sử có một phép chia các đỉnh thành c cụm, cần tính giá trị modularity cho
phép chia này.
Khi đó, với mỗi cặp đỉnh i và j, tính:
q = Aij -
Trong đó ki , kj tương ứng là bậc của đỉnh i và đỉnh j.
Giá trị modularity lúc này được tính theo công thức:
Q =
∑ =
∑ [
]
Trong đó bằng 1 nếu i và j cùng cụm và bằng 0 nếu i và j khác cụm.
2.3.5. Độ đo theo độ dài đƣờng đi CPL ( Cluster Path Lengths)
Faraz Zaid và các cộng sự trong một bài báo nghiên cứu của mình [7] đã đề xuất
một phương pháp đánh giá kết quả phân cụm phù hợp với các mạng lưới có mật độ phần
tử dày đặc. Cách tiếp cận này chủ yếu dựa vào giá trị mật độ nút và cạnh.Theo như tác
giả phân tích và đưa ra một số thống kê so sánh, kỹ thuật đánh giá này có rất nhiều điểm
mạnh vượt trội so với các kỹ thuật đánh giá phân cụm khác [7].
Độ đo này bao gồm hai thành phần: thành phần dương (G) ghi một điểm cộng
cho cụm và thành phần âm (G) ghi một điểm trừ đối với các cạnh giữa các cụm.
Thành phần điểm dương được tính dựa trên cơ sở mật độ, độ chặt chẽ và độ tương hỗ của
cụm trong khi thành phần điểm âm được tính dựa trên độ riêng biệt của cụm đối với các
18
cụm khác. Chất lượng cuối cùng của một cụm đơn giản được tính bằng tổng của hai
thành phần theo biểu thức:
M(G) = (G) – (G) (1)
Cách tính toán chi tiết hai thành phần này như sau:
Thành phần dƣơng: Mục đích của thành phần này là như đã nói ở trên là ghi một
giá trị định lượng đối với cụm dựa trên mật độ, độ chặt chẽ và tính tương hỗ bên trong
nó.
Mật độ (độ dày đặc): cho biết các thành viên trong nhóm có bao nhiêu sự liên hệ
với nhau. Đối với đồ thị, nó là tỷ lệ số lượng cạnh hiện có bên trong một nhóm các
node trên tổng số lượng cạnh có thể có trong nhóm đó.
Độ chặt chẽ: cho biết các thành viên trong nhóm có thể dễ dàng liên hệ với nhau ra
sao nếu nó không phải là hai đỉnh kề. Đối với đồ thị, các phần tử của cùng một cụm
thì phải có khoảng cách ngắn.
Tính tương hỗ: các thành viên trong nhóm chọn các hàng xóm vào cùng một nhóm.
Đối với ngữ cảnh đồ thị, chúng là các đỉnh kề.
Theo như [7], độ dày đặc của một cụm có thể được đo theo biểu thức:
Density =
Trong đó là số lượng cạnh thực sự bên trong cluster và là tổng số cạnh
có thể có trong cluster.
Giá trị của độ dày đặc nằm trong đoạn [0,1] trong đó giá trị 1 biểu thị rằng mọi node
đều được liên kết với mọi node khác tạo thành một bè (clique).
Hai đại lượng độ tương hỗ và độ chặt chẽ của cụm có thể dễ dàng được đánh giá sử
dụng một độ đo định lượng duy nhất : độ dài đường đi trung bình giữa tất cả các node
bên trong cụm. Độ dài đường đi giữa node A với node B đại diện bằng số lượng cạnh ít
19
nhất liên kết node A với node B, tức là để đi từ node A đến node B cần qua ít nhất bấy
nhiêu cạnh. Độ dài đường đi trung bình sẽ cho biết khoảng cách bao xa bất kỳ hai node
nào nằm so với nhau và nó được tính bằng việc lấy trung bình đối với tất cả các cặp node.
Giá trị này thấp sẽ chỉ ra rằng các node ở trong một cụm nằm gần gũi nhau và cao sẽ chỉ
ra rằng cụm đó thưa và các node của nó năm xa nhau.
Hình 2. 5. Ví dụ về 3 cụm A, B, C với số lượng và cách liên kết bên trong khác
nhau.
Đối với 3 cụm ở Hình 2.5, nếu chúng ta tính độ dài đường đi trung bình của các
node bên trong cụm, thì giá trị thấp nhất sẽ tương ứng với cụm A, sau đó là cụm B và
cuối cùng là cụm C. Điều này khá trực quan khi chúng ta giảm khoảng cách trung bình
giữa các node bên trong cụm, mật độ sẽ có chiều hướng tăng lên. Độ dài đường đi trung
bình tốt nhất có thể đối với bất kỳ cụm nào là 1, và trong trường hợp đó mọi node đều
được liên kết với nhau tạo thành một đám. Độ dài đường đi trung bình của mỗi cụm có
thể được chuẩn hóa theo công thức sau:
CPLi=
Trong đó AvgPathLenilà độ dài đường đi trung bình của các node bên trong cụm i.
Giá trị CPLi càng cao, chất lượng của cụm càng tốt và nó nằm trong đoạn [0,1]. Độ
dài đường đi trung bình tổng cộng được tính bằng việc lấy trung bình đối với mọi cụm.
Giả sử k là tổng số cụm, giá trị của thành phần dương được đánh giá theo công
thức:
20
(G) = CPL1...k =
∑
Thành phần âm: Giá trị này ghi một điểm trừ đối với các cạnh liên kết các cụm và
nó đánh giá độ riêng biệt giữa hai cụm.
Độ riêng biệt: Các thành viên cùng nhóm thì có nhiều liên hệ hơn đối với bên
ngoài.
Theo như [7], độ riêng biệt có thể được tính bằng số lượng cạnh liên đới với cụm,
tức là số lượng cạnh phía bên ngoài cụm. Đại lượng này thường được đo bằng việc sử
dụng một khái niệm là “cut size” trong đó “cut size” là số lượng cạnh nhỏ nhất cần phải
cắt bỏ để có thể làm cô lập một cụm và có thể được chuẩn hóa bằng tổng số cạnh liên đới
với cụm. Giá trị này thấp cho biết rằng cụm đó càng riêng biệt đối với các cụm khác
trong khi giá trị này cao cho thấy cụm này càng liên hệ nhiều với các cụm khác.
Khi đó, giá trị được tính đối với từng cặp cụm và nó dựa trên số lượng cạnh liên
kết hai cụm i và j trên tổng số cạnh có thể giữa hai cụm này. Đặt và tương ứng là số
lượng node chứa trong cụm i và j. Khi đó, điểm trừ đối với cạnh liên kết giữa hai cụm i
và j được tính như sau:
EdgePenalty(i,j) =
Trong đó là tổng số cạnh giữa hai cụm i và j.
EdgePenalty tổng cộng hay (G) được tính bằng trung bình đối với tất cả các cặp
cụm theo công thức:
(G)=
∑
Việc nhân EdgePenalty tổng cộng với
nhằm chuẩn hóa giá trị của M
- nằm
trong đoạn [0,1]. Giá trị này càng thấp thì chất lượng phân cụm càng tốt.
Tổng hợp từ hai thành phần âm và dương, độ đo CPL được tính theo công thức (1)
và giá trị của nó thuộc đoạn [-1,1] với giá trị càng thấp thì kết quả phân cụm càng kém và
ngược lại giá trị càng cao thì kết quả phân cụm càng tốt.
21
Sử dụng độ đo CPL vào phân cụm đối với bài toán phát hiện mô hình tổ chức
Trở lại với việc áp dụng độ đo CPL vào bài toán phân cụm trong phát hiện mô hình
tổ chức. Trong mô hình mạng tổ chức, mọi phần tử bên trong mạng gần như đều có sự
liên kết với nhau nên nó là một mạng dày đặc. Tuy nhiên do phương pháp đánh giá này
được sử dụng cho đồ thị không có trọng số tức là giữa hai đỉnh bất kỳ hoặc có một liên
kết, hoặc không có liên kết nào, trong khi mạng lưới tổ chức là một đồ thị có trọng số
(trọng số cạnh biểu diễn mối quan hệ mạnh hay yếu giữa các node), vì vậy để có thể áp
dụng được kỹ thuật đánh giá này, chúng tôi xin đưa ra một đề xuất thay đổi đối với kỹ
thuật đánh giá kết quả phân cụm dựa trên CPLđể nó phù hợp với đồ thị có trọng số và sẽ
sử dụng nó như một phần của nội dụng thực nghiệm.
Cụ thể, độ đo CPLw( weighted CPL ) sẽ được đánh giá theo biểu thức:
Mw(G) = (G) -
(G)
và vẫn với ý tưởng dùng đại lượng để ghi điểm cộng đối với các node bên trong
cụm và để ghi điểm trừ đối với các cạnh liên kết giữa các cụm.
Giả sử các node được liên kết với nhau bởi các cạnh có trọng số đại diện cho
khoảng cách giữa các node. Giá trị của các cạnh này nằm trong khoảng (0,1) (Việc tính
toán và chuẩn hóa giá trị của các cạnh này sẽ được đề cập ở chƣơng 3).
Khi đó, với thành phần dương:
(G) =
∑
Trong đó là khoảng cách trung bình giữa hai node bất kỳ bên trong cụm i.
Do nằm trong khoảng (0,1), giá trị
(G) sẽ nằm trong khoảng (0,1).
Giống như (G), giá trị (G) càng lớn thì cách phân cụm càng tốt và ngược lại.
Đối với thành phần âm:
(G) =
∑
Trong đó là khoảng cách trung bình giữa hai node bất kỳ giữa hai cụm i và
j. Do nằm trong khoảng (0,1), giá trị
(G) sẽ nằm trong khoảng (0,1) với ý
22
nghĩa rằng giá trị này càng nhỏ thì cách phân cụm càng tốt và ngược lại.
Như vậy, tổng hợp hai thành phần âm và dương, độ đo CPLw sẽ nằm trong khoảng
(-1, 1). CPLwcàng gần 1 ( tương ứng với (G) càng gần 1 và
(G) càng gần 0 ) thì
cách phân cụm càng tốt và ngược lại.
2.4. Tóm tắt chƣơng 2
Trong chương này, khóa luận đã đi sâu vào việc áp dụng các độ phân cụm vào bài
toán phát hiện mô hình tổ chức. Cụ thể, chúng tôi đã trình bày về khái niệm cấu trúc cộng
đồng trong mạng lưới tổ chức, một số thuật toán nổi bật thường sử dụng trong bài toán
phát hiện mô hình tổ chức và các độ đo chất lượng phân cụm tiêu biểu thuộc loại đánh
giá trong ( internal evaluation).
Trong chương tiếp theo, khóa luận sẽ trình bày mô hình giải quyết bài toán phát
hiện mô hình tổ chức bằng việc sử dụng các độ đo phân cụm.
23
Chƣơng 3.
MÔ HÌNH GIẢI QUYẾT BÀI TOÁN
3.1. Phát biểu bài toán phát hiện mô hình mạng tổ
chức từ nhật ký sự kiện
Bài toán phát hiện mô hình tổ chức là một phần của bài toán khai phá khía cạnh tổ
chức từ nhật ký sự kiện trong khai phá quá trình. Như đã trình bày ở chƣơng 1, bài toán
phát hiện quá trình thường chỉ tập trung vào khía cạnh luồng sự kiện mà bỏ qua các khía
cạnh khác như thời gian, người thực hiện, ... Mục tiêu của việc phát hiện mô hình tổ chức
nhằm đưa ra một mô hình cơ cấu phù hợp nhất đối với bộ máy tổ chức của công ty /
doanh nghiệp từ nhật ký sự kiện thực tế được ghi lại trong quá trình hoạt động kinh
doanh. Mô hình này có thể được đem phân tích bằng các kỹ thuật phân tích mạng xã hội
để đưa ra những kết luận nhằm cải thiện quy trình kinh doanh và tối ưu hóa cơ cấu tổ
chức hoặc có thể bổ sung để mở rộng cho mô hình quá trình thu được từ pha phát hiện
quá trình.
Như vậy đầu vào của bài toán phát hiện mô hình tổ chức là nhật ký sự kiện. Nhật ký
sự kiện là một bản ghi chép ghi lại quá trình hoạt động của tổ chức. Từ nhật ký sự kiện
này, nhiệm vụ của bài toán là cần tìm ra được cấu trúc tổ chức dưới dạng mạng tổ chức.
Hình dưới đây mô tả bài toán phát hiện mô hình tổ chức dưới dạng input và output.
Hình 3. 1. Bài toán phát hiện mô hình tổ chức dưới dạng input và output
24
3.2. Mô hình giải quyết bài toán
Sau đây là mô hình giải quyết bài toán của chúng tôi đưa ra nhằm phát hiện mô hình
tổ chức sử dụng các độ đo chất lượng phân cụm với đầu vào là nhật ký sự kiện.
Hình 3. 2. Mô hình giải quyết bài toán phát hiện mô hình tổ chức sử dụng các độ đo
phân cụm.
3.3. Phân tích mô hình
3.3.1. Thu thập nhật ký sự kiện
Như đã trình bày, nhật ký sự kiện là những ghi chép lại quá trình hoạt động của hệ
thống, mỗi hệ thống khác nhau thường đưa ra những kiểu nhật ký sự kiện khác nhau. Để
thuận lợi cho quá trình xử lý nhật ký sự kiện, chúng ta cần chuẩn hóa nhật ký sự kiện về
một dạng dễ dàng cho việc thu thập thông tin và lưu trữ. Một định dạng cũ đã từng được
đưa ra làm chuẩn cho dữ liệu nhật ký sự kiện là MXML1, tuy nhiên định dạng này lộ ra
một số hạn chế của nó bởi vì nó áp đặt sự giới hạn loại thông tin nào có thể có hay không
thể có trong nhật ký sự kiện. Một định dạng mới cho nhật ký sự kiện được đưa ra nhằm
giải quyết những vấn đề này là chuẩn XES [3]. XES là một định dạng dựa trên chuẩn
XML2 và được viết tắt từ cụm “eXtensible Event Stream”. Theo [3], một số lợi ích khi sử
1 Mining eXtensible Markup Language: http://www.processmining.org/logs/mxml
2 eXtensible Markup Language: http://www.w3.org/TR/REC-xml/
25
dụng chuẩn XES cho nhật ký sự kiện có thể kể đến như:
Tính đơn giản: XES sử dụng cách đơn giản nhất có thể để trình diễn thông tin. Các
nhật ký sự kiện được viết bằng XES có thể dễ dàng khi phân tích và khi xây dựng và rất
gần với dạng dữ liệu mà con người có thể đọc được.
Tính linh hoạt: Dùng định dạng XES có thể xây dựng được nhật ký sự kiện từ bất
kỳ nền tri thức nào, không quan trọng quy trình được quan sát thuộc miền ứng dụng nào
hay việc hỗ trợ CNTT đối với nó ra sao. XES hướng tới vượt ra khỏi miền khai phá dữ
liệu và các quy trình kinh doan và nhằm trở thành tiêu chuẩn chung cho mọi kiểu dữ liệu
sự kiện.
Khả năng mở rộng: XES có khả năng dễ dàng thêm các tiêu chuẩn mới trong tương
lai.
Hình 3. 3. Meta-model của chuẩn XES [3]
26
Hình 3.3 biểu diễn meta-model của chuẩn XES. Chúng ta có thể thấy XES giữ
nguyên cấu trúc chung của một nhật ký sự kiện: Một log ( tương ứng với một quá trình)
chứa một tập các trace ( tương ứng với từng trường hợp ). Mỗi trace chứa một chuỗi các
event (sự kiện). Log, trace hay event đều chứa một tập các thuộc tính.
3.3.2. Sử dụng thuật toán K-medoids phát hiện mô hình tổ chức
Như đã trình bày ở chương trước, thuật toán K-means là thuật toán thường được sử
dụng trong việc phân cụm đối với khai phá quá trình. Tuy nhiên để phù hợp với việc
phân cụm trong phát hiện mô hình tổ chức, khi mà mối quan hệ giữa các cá nhân và tổ
chức với nhau chỉ dựa trên độ đo khoảng cách, chúng tôi sử dụng một biến thể của thuật
toán K-means là K-medoids. Nội dung của thuật toán đã được trình bày ở phần 2.3.
Một số vấn đề gặp phải trong việc sử dụng thuật toán K-medoids để phát hiện mô
hình tổ chức như:
- Tìm ra số cụm K nào là tốt nhất cho việc phân cụm.
- Độ đo khoảng cách giữa các phần tử.
Để tìm ra số cụm K nào là tốt nhất, chúng tôi sử dụng các độ đo đánh giá phân cụm
đã được trình bày ở chƣơng 2. Cụ thể hơn, trong phần thực nghiệm, chúng tôi sẽ sử dụng
thuật toán K-medoids kết hợp với độ đo Silhouette, Dunn, Modularity và một độ đo đề
xuất của chúng tôi từ việc chỉnh sửa độ đo CPL ban đầu để phù hợp đối với đồ thị
có trọng số. Số cụm K phù hợp nhất sẽ là số cụm K làm cho sự phân cụm đạt giá trị của
các độ đo cao nhất.
Việc tính khoảng cách giữa các node được tính dựa vào độ tương tự giữa các node
theo biểu thức:
Distance =
Trong đó độ đo tương tự Similarity giữa hai node được lấy theo độ đo
workingTogether đã được trình bày ở phần 1.1.2, tức là số lượng trường hợp mà hai cá
nhân này làm việc cùng nhau. Do đó Similarity thuộc trong nửa đoạn [0, +∞) và Distance
sẽ được chuẩn hóa theo công thức trên và nằm trong nửa đoạn (0,1].
27
3.4. Tóm tắt chƣơng 3
Trong chương này, khóa luận đã trình bày mô hình thực nghiệm đối với bài toán
phát hiện mô hình tổ chức từ nhật ký sự kiện bằng việc áp dụng các độ đo phân cụm.
Thuật toán phân cụm được chúng tôi lựa chọn cho quá trình thực nghiệm là K-medoids.
Các độ đo được sử dụng vào việc đánh giá mô hình kết quả bao gồm Silhouette, Dunn,
Modularity và độ đo đề xuất của chúng tôi .
Chương tiếp theo sẽ trình bày kết quả thực nghiệm và nêu một số đánh giá cũng như
đưa ra mô hình tổ chức cuối cùng.
28
Chƣơng 4.
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Để thi hành mô hình đã được đề xuất ở chƣơng 3, chương này của khóa luận sẽ
trình bày thực nghiệm và đánh giá kết quả của việc phát hiện mô hình tổ chức bằng thuật
toán K-medoids áp dụng các độ đo đánh giá Silhouette, Dunn, Modularity và độ đo
CPLwđề xuất.
4.1. Mô tả thực nghiệm
4.1.1. Mô tả dữ liệu
Dữ liệu chúng tôi sử dụng cho quá trình thực nghiệm là một nhật ký sự kiện trong
bộ nhật ký sự kiện mẫu1 được sử dụng làm ví dụ cho việc làm quen với công cụ khai phá
quá trình mã nguồn mở ProM 2.Định dạng của nhật ký sự kiện này theo chuẩn XES. Hình
4.1. dưới đây là một phần được trích ra từ nhật ký sự kiện.
Nhật ký sự kiện có thể chứa tùy ý các các trace, mỗi trace mô tả sự thực hiện một
trường hợp cụ thể. Ví dụ như trên hình là một một phần được trích ra từ một trace với
thuộc tính name có giá trị là 14.
Trong mỗi trace có thể chứa tùy ý các event. Event đại diện cho các hành động được
thực hiện trong quá trình thực thi. Ví dụ như trên hình ta sẽ thấy có các hành động như
“invite reviewers” , “get review 1”, hay “get review 2”, ... Trong mỗi event ta thấy có
các thuộc tính mô tả sự kiện đó như:
“org:resource” nêu người thực hiện sự kiện,
“time:timestamp” nêu thời gian thực hiện sự kiện
“lifecycle:transition” nêu loại sự kiện là bắt đầu một hành động ( start ) hay kết
thúc một hành động (complete)
“concept:name” nêu tên của hành động được thực hiện
1 http://www.promtools.org/prom6/downloads/example-logs.zip
2 http://www.processmining.org/tools/start
29
Hình 4. 1. Một phần được trích ra từ nhật ký sự kiện trong thực nghiệm
4.1.2. Các công cụ và phần mềm sử dụng
Để thực nghiệm mô hình phát hiện mô hình tổ chức áp dụng thuật toán K-medoids
và các độ đo đánh giá, chúng tôi đã sử dụng các bộ thư viện và phần mềm sau:
Thư viện JBDC 5.1.51: Bộ thư viện mã nguồn mở của Java cung cấp API tương
tác với cơ sở dữ liệu mySQL.
1 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
30
EclipseJava EE IDE1: Công cụ lập trình trên nền Window, Unix hỗ trợ người sử
dụng lập trình Java, PHP, C/C++,...
NodeXL2:template mã nguồn mở cho MS Excel hỗ trợ mô hình hóa mạng xã hội
dưới dạng đồ thị.
4.1.3. Môi trƣờng thực nghiệm ( Phần cứng và hệ điều hành )
Thực nghiệm của chúng tôi được tiến hành trên môi trường phần cứng như sau:
Bảng 4. 1. Bảng thống kê môi trường thực nghiệm (phần cứng và HĐH)
Chi tiết phần cứng Chỉ số
CPU Intel Core i3 M370 2.40 GHz
RAM 4096 MB
HDD 320 GB
OS Window 7 Ultimate 32 bit
4.1.4. Các module chính trong chƣơng trình
Chương trình của chúng tôi xây dựng thi hành theo mô hình giải quyết bài toán ở
chƣơng 3 bao gồm 3 module chính:
Module “import” nhận đầu vào là nhật ký sự kiện dưới dạng file XES sau đó
trích lọc các thông tin và lưu trữ chúng vào cơ sở dữ liệu mySQL.
Module “K-medoids” nhận đầu vào là file “originalVerticles.txt” chứa danh
sách các cá nhân trong tổ chức. Nhiệm vụ của module này là phát hiện các mô
hình tổ chức tiềm năng bằng thuật toán K-medoids và lưu trữ chúng dưới dạng
các file txt tương ứng.
Module “clustering evaluation” nhận đầu vào là các mô hình tổ chức ứng cử
viên được tạo ra từ module “K-medoids” và tính toán các độ đo chất lượng
1 https://www.eclipse.org/
2 http://nodexl.codeplex.com/
31
phân cụm Silhouette, Dunn, Modularity và . Từ đó chúng ta có thể đưa ra
mô hình tổ chức phù hợp nhất.
Hình dưới đây mô tả các module trong chương trình cài đặt bằng ngôn ngữ Java sử
dụng công cụ lập trình Eclipse:
Hình 4.2. Hình mô tả các module trong chương trình
4.2. Kết quả thực nghiệm và đánh giá
4.2.1. Kết quả thực nghiệm
Với đầu vào là nhật ký sự kiện dưới dạng XES, chúng tôi tiến hành trích lọc các
thông tin về trường hợp, sự kiện và các thuộc tính của chúng. Việc trích lọc thông tin sử
dụng thư viện DOM 1 hỗ trợ xử lý XML có sẵn trong Java.
Kết quả sơ bộ khi phân tích nhật ký sự kiện bằng module “import” như sau:
Số lượng trường hợp: 100
Số lượng sự kiện: 2297
Số lượng người thực hiện (cá nhân): 10
Số lượng loại hành động được thực hiện: 14
Sau đó chúng tôi tiếp tục tiến hành thống kê mối quan hệ giữa các cá nhân với nhau
thông qua độ đo WorkingTogether metric. Dưới đây là một phần của kết quả thống kê
được:
1 Document Object Model : http://www.w3.org/DOM/
32
Bảng 4. 2. Một phần trích từ bảng ma trận kề theo độ đo WorkingTogether
Cá nhân 1 Cá nhân 2
Số lượng
trường hợp
chung
Anne Anne 0
Anne Mary 38
Anne Mike 94
Anne Wil 97
Anne Pam 42
Anne Sam 43
Anne Carol 44
Anne John 50
Anne Pete 40
Anne Sara 39
Mary Anne 38
Mary Mary 0
Mary Mike 39
Mary Wil 39
Mary Pam 13
Mary Sam 16
Mary Carol 16
Mary John 15
Mary Pete 13
33
Sau pha này, chúng tôi thu được mô hình mạng xã hội mô tả mối quan hệ giữa các
cá nhân như hình dưới đây:
Hình 4. 3. Mô hình mạng xã hội mô tả quan hệ giữa các cá nhân
Bước tiếp theo, chúng tôi sử dụng module “K-medoids” đối với mạng xã hội trên.
Kết quả thu được các mô hình tổ chức ứng cử viên như dưới đây trong đó mỗi dòng
tương ứng với một cụm và phần tử đầu tiên của dòng chính là trọng tâm (medoids) của
cụm đó.
34
Bảng 4. 3. Bảng mô hình tổ chức tương ứng với giá trị K ( số lượng cụm)
Giá trị K Mô hình tổ chức tương ứng
2
Wil Anne Mike Pam Sam Carol John Pete Sara
Mary
3
Wil Anne Mike Pam Sam Carol John Pete
Mary
Sara
4
Anne John
Mary
Sara
Wil Mike Pam Sam Carol Pete
5
Anne John
Mary
Sara
Wil Mike Pam Sam Carol
Pete
6
Anne John
Mary
Sara
Wil Mike Sam Carol
Pete
Pam
35
7
Anne John
Mary
Sara
Wil Mike Carol
Pete
Pam
Sam
8
Sara
Mary
Pete
Wil Anne Mike
Pam
Sam
Carol
John
9
Sara
Mary
Mike
Wil Anne
Pam
Sam
Carol
John
Pete
Sau đó sử dụng module “Clustering Evaluation” lần lượt áp dụng cho từng mô
hình, chúng tôi thu được các biểu đồ sự biến thiên của các độ đo đánh giá như sau:
36
Hình 4. 4. Biểu đồ giá trị Silhouette
Hình 4. 5. Biểu đồ giá trị Dunn
Hình 4. 6. Biểu đồ giá trị Modularity
Hình 4. 7. Biểu đồ giá trị CPLw
4.2.2. Đánh giá kết quả thực nghiệm
Từ kết quả thu được bằng việc tính toán các độ đo, chúng ta có thể nhận thấy, 3 độ
đo Silhouette, Dunn và CPLw đều đưa ra mô hình tổ chức ứng với giá trị K = 8 có cách
phân cụm đạt tối ưu nhất so với các giá trị K khác, trong khi độ đo Modularity trả về kết
quả mô hình ứng với K = 2 có giá trị Modularity đạt cao nhất. Sự khác biệt này có thể
giải thích bằng việc trong công thức tính độ đo Modularity chỉ quan tâm đến việc làm tối
ưu khoảng cách giữa các phần tử bên trong cụm mà bỏ qua sự ảnh hưởng của khoảng
cách giữa các cụm với nhau đến chất lượng của đồ thị. Ngoài ra so sánh độ đo được
CPLw(được đề xuất bằng việc thay đổi từ độ đo CPL)với hai độ đo Silhouette và Dunn,
có thể nhận thấy độ đo này mặc dù cùng trả về kết quả K = 8 thì mô hình tổ chức đạt giá
trị CPLw tối ưu nhưng chưa thực sự có sự chênh lệch rõ rệt với các giá trị K còn lại như
hai độ đo kia.
Với kết quả phân tích và đánh giá bằng các độ đo như trên, chúng ta có thể kết luận
0
0.2
0.4
0.6
0.8
1
2 3 4 5 6 7 8 9
0
0.5
1
1.5
2
2 3 4 5 6 7 8 9
0
0.01
0.02
0.03
0.04
2 3 4 5 6 7 8 9 -0.8
-0.6
-0.4
-0.2
0
0.2
2 3 4 5 6 7 8 9
37
mô hình tổ chức ứng với K = 8 có thể coi là tốt nhất so với các giá trị K khác, trên
phương diện tổng hợp kết quả từ cả 4 độ đo. Khi đó giá trị của các độ đo Silhouette,
Dunn, Modularity và CPLw tương ứng là 0.84327, 1.90155, 0.01075 và 0.04619.
Hình dưới đây mô tả mô hình tổ chức ứng với giá trị K = 8.
Hình 4. 8. Kết quả mô hình tổ chức ứng với K = 8
Quan sát kết quả mô hình tổ chức ứng với K = 8, chúng ta có thể dễ dàng nhận thấy
3 cá nhân Wil, Anne, Mike được xếp vào chung một nhóm bởi họ có mối liên hệ chặt chẽ
với nhau, số lượng trường hợp chung giữa họ là 94, 97 và 97, và cao hơn hẳn so với các
cá nhân khác. Vì vậy mô hình tổ chức ứng với K = 8 như vậy là kết quả có thể chấp nhận
được.
38
KẾT LUẬN VÀ ĐỊNH HƢỚNG NGHIÊN CỨU
TIẾP THEO
Kết quả đạt đƣợc của khóa luận:
Trong khóa luận này, chúng tôi đã xây dựng được mô hình giải quyết bài toán phát
hiện mô hình tổ chức từ nhật ký sự kiện sử dụng một số độ đo chất lượng phân cụm tiêu
biểu bao gồm Silhouette, Dunn và Modularity. Thuật toán được sử dụng cho quá trình
phân cụm là K-medoids. Ưu điểm của thuật toán này là sự phù hợp với mạng lưới tổ
chức, khi mà mối quan hệ giữa các cá nhân và tổ chức với nhau chỉ đơn thuần dựa trên
khoảng cách giữa chúng. Ngoài ra khóa luận cũng đề xuất một độ đo khác là CPLw từ
việc thay đổi độ đo theo độ dài đường đi CPL ban đầu cho phù hợp với dạng đồ thị có
trọng số trong mạng tổ chức. Độ đo CPLwcũng được chúng tôi sử dụng cho quá trình thực
nghiệm, kết quả đạt được rất khả quan tuy rằng vẫn còn một số hạn chế chẳng hạn như sự
khác biệt giữa các giá trị K chưa thực sự rõ rệt.
Chúng tôi đã cài đặt thử nghiệm trên mộ nhật ký sự kiện trong bộ nhật ký sự kiện
mẫu từ ProM và kết quả cuối cùng đạt được là mô hình tổ chức ứng với giá trị K = 8 là
tốt nhất so với các giá trị K khác. Khi đó giá trị các độ đo Silhouette, Dunn, Modularity
và CPLw đạt giá trị tương ứng là 0.84327, 1.90155, 0.01075 và 0.04619.
Định hƣớng tƣơng lai:
Cải thiện độ đo CPLw để đạt được kết quả phân cụm rõ ràng hơn bằng việc sử dụng
trọng số đối với các giá trị thành phần âm và dương.
Áp dụng cho nhật ký sự kiện lớn hơn và phức tạp hơn.
39
DANH SÁCH TÀI LIỆU THAM KHẢO
[1] Alan P. Reynolds, Graeme Richards, Victor J. Rayward-Smith (2004): The
Application of K-Medoids and PAM to the Clustering of Rules. IDEAL : 173-178
[2] Anil K. Jain: (2010) Data clustering: 50 years beyond K-means. Pattern
Recognition Letters 31(8): 651-666
[3] Christian W. Günther and Eric Verbeek (2012). XES: Standard Definition (Version
1.3). Technical Report, Eindhoven University of Technology
[4] Claudia Sofia da Costa Alves(2010): Social Network Analysis for Business Process
Discovery. Master Thesis, the Technical University of Lisbon.
[5] Darius Pfitzner, Richard Leibbrandt, David M. W. Powers (2009): Characterization
and evaluation of similarity measures for pairs of clusterings.Knowl. Inf. Syst.
19(3): 361-394
[6] Eréndira Rendón, Itzel Abundez, Alejandra Arizmendi and Elvia M. Quiroz (2011):
Internal versus External cluster validation indexes. Issue 1, Volume 5. 27-33
[7] Faraz Zaidi, Daniel Archambault, Guy Melançon (2010): Evaluating the Quality of
Clustering Algorithms Using Cluster Path Lengths. ICDM 2010: 42-56
[8] Maria Halkidi, Yannis Batistakis, Michalis Vazirgiannis (2001): On Clustering
Validation Techniques. J. Intell. Inf. Syst. 17(2-3): 107-145
[9] Minseok Song, Wil M. P. van der Aalst (2008): Towards comprehensive support for
organizational mining. Decision Support Systems 46(1): 300-317
[10] Wil M. P. van der Aalst (2011): Process Mining - Discovery, Conformance and
Enhancement of Business Processes. Springer, pp. 7-10, 221-230
[11] Wil M. P. van der Aalst (2012): Process Mining:Overview and Opportunities. ACM
Trans. Management Inf. Syst. 3(2): 7
[12] Wil M. P. van der Aalst, Hajo A. Reijers, Minseok Song (2005): Discovering Social
Networks from Event Logs. Computer Supported Cooperative Work 14(6): 549-
593.