View
3
Download
0
Category
Preview:
Citation preview
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Văn Thắng
KIỂM TRA SỰ PHÙ HỢP
MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN
BẰNG PHƢƠNG PHÁP PHÁT LẠI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2013
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Văn Thắng
KIỂM TRA SỰ PHÙ HỢP
MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN
BẰNG PHƢƠNG PHÁP PHÁT LẠI
KHOÁ 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: TS. Nguyễn Cẩm Tú
HÀ NỘI - 2013
VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Pham Van Thang
CONFORMANCE CHECKING
PROCESS MODEL AND EVENT LOG
USING REPLAY METHOD
Major: Information Technology
Supervisor: Assoc.Prof. Ha Quang Thuy
Co-Supervisor: Dr. Nguyen Cam Tu
HA NOI - 2013
Lời cảm ơn
Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc tới Thầy giáo
PGS.TS Hà Quang Thụy và TS. Nguyễn Cẩm Tú đã tận tình chỉ bảo, hướng dẫn, động
viên và giúp đỡ em trong suốt quá trình thực hiện đề tài khóa luận.
Em xin gửi lời cảm ơn sâu sắc tới Thầy Cô trong Khoa Công nghệ thông tin đã
truyền đạt kiến thức quý báu cho em trong bốn năm học vừa qua.
Em 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-Sislab đã giúp đỡ em rất nhiều trong việc hỗ trợ kiến
thức chuyên môn để hoàn thành tốt khóa luận.
Con xin nói lên lòng biết ơn vô hạn đối với Cha Mẹ luôn là nguồn động viên,
chăm sóc và khích lệ con trên mỗi bước đường học vấn.
Cuối cùng, xin chân thành cảm ơn các Anh Chị, và Bạn Bè, các thành viên lớp
K54CD, K54CLC đã ủng hộ, giúp đỡ tôi trong suốt thời gian học tập trên giảng đường
đại học và thực hiện khóa luận.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 15 tháng 05 năm 2013
Sinh viên
Phạm Văn Thắng
KIỂM TRA SỰ PHÙ HỢP MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN
BẰNG PHƢƠNG PHÁP PHÁT LẠI
Phạm Văn Thắng
Khóa QH-2009-I/CQ, ngành công nghệ thông tin
Tóm tắt khóa luận tốt nghiệp:
Theo WMP Van der Aalst, 2011 [1], trong thập kỷ vừa qua, khai phá quá trình
hay còn gọi đầy đủ hơn là “khai phá dữ liệu 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 dựa trên những dữ liệu sự kiện sẵn
có. Hiện nay, những nghiên cứu trong lĩnh vực này ngày càng trở thành một chủ đề
nóng, và được rất nhiều nhà khoa học trên thế giới quan tâm, nghiên cứu, trong đó nổi
bật và có nhiều đóng góp hơn cả là nhóm của WMP Van der Aalst và cộng sự tại
trường đại học công nghệ Eindhoven. Kiểm tra sự phù hợp là một trong ba bài toán
chính của 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).
Dựa trên quá trình tìm hiểu một số nghiên cứu của WMP Van der Aalst và Anne
Rozinat [1, 6, 13, 14, 16] về một số hướng tiếp cận giải quyết bài toán kiểm tra sự phù
hợp, khóa luận trình bày về hướng tiếp cận dựa trên phương pháp phát lại, một hướng
tiếp cận tăng cường, trong đó thực hiện phát lại từng dấu vết (phiên làm việc của người
dùng trong hệ thống) trong nhật ký sự kiện. Đồng thời, khóa luận cũng đưa ra một ý
tưởng thay đổi về việc xác định không gian trạng thái của mô hình lưới Petri trong quá
trình phát lại.
Thực nghiệm mô hình giải quyết bài toán và ý tưởng thay đổi với plugin
Conformance Checker được phát triển và tích hợp trong bộ công cụ mã nguồn mở
ProM 5.2 cho kết quả độ đo precision trung bình tăng lên.
Từ khóa: process mining, conformance checking, replay method.
CONFORMANCE CHECKING OF PROCESS MODEL AND EVENT LOG
USING REPLAY METHOD
Thang Pham Van
QH-2009-I/CQ course, information technology faculty.
Abtract:
According to WMP Van der Aalst, 2011 [1], in the last decade, Process mining
emerged as a new research field, that focus on process analysis based on the available
event data. Today, the research in this field has increasingly become a hot topic, and
received attention of many scientists around the world. The most active group of
scientists, which has many contributions in this field is group of WMP Van der Aalst
and colleagues at Technische Universiteit Eindhoven. Conformance checking is one of
the three major types of process mining (including: process discovery, conformance
checking, and enhance the model).
Based on learning some researches of WMP van der Aalst and Anne Rozinat [1,
6, 13, 14, 16] about some approaches to solving the conformance checking, this thesis
presents an approach based on the replay method. An enhanced approach,
implementation replay each trace (the session of the user in the system) in the event
log. At the same time, this thesis also gives an change of idea in defining state space of
Petri nets model during replay.
Experimenting problem solving model and change of ideas by Conformance
Checker plugin, which is developed and integrated on open source toolkit ProM 5.2,
result of increased average measurement precision.
Keywords: process mining, conformance checking, replay method.
Lời cam đoan
Tôi xin cam đoan mô hình giải quyết bài toán kiểm tra sự phù hợp giữa mô hình
quá trình và nhật ký sự kiện bằng phương pháp phát lại, cũng như đề xuất thay đổi và
thực nghiệm được trình bày trong khóa luận là do tôi thực hiện dưới sự hướng dẫn của
PGS.TS. Hà Quang Thụy và TS. Nguyễn Cẩm Tú.
Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc
một cách rõ ràng từ danh mục tài liệu tham khảo. Trong khóa luận, không có việc sao
chép tài liệu, công trình nghiên cứu của người khác mà không ghi rõ tài liệu tham
khảo.
Hà Nội, ngày 15 tháng 05 năm 2013
Tác giả
Phạm Văn Thắng
Mục Lục
Mở đầu ............................................................................................................................. 1
Chương 1: GIỚI THIỆU CHUNG .................................................................................. 3
1.1. Giới thiệu khái quát về khai phá quá trình ......................................................... 3
1.1.1. Tổng quan về khai phá quá trình ................................................................. 3
1.1.2. Ba bài toán chính trong lĩnh vực khai phá quá trình ................................... 6
1.2. Giới thiệu bài toán kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự
kiện …………………………………………………………………………………8
1.2.1. Giới thiệu về bài toán kiểm tra sự phù hợp ................................................. 8
1.2.2. Tổng quan một số nghiên cứu về bài toán kiểm tra sự phù hợp ................. 9
1.3. Một số khái niệm cơ bản về nhật ký sự kiện và mô hình quá trình ................. 10
1.3.1. Nhật ký sự kiện ......................................................................................... 10
1.3.2. Mô hình quá trình ...................................................................................... 11
1.3.3. Mô hình quá trình được biểu diễn bởi lưới Petri....................................... 14
1.3.4. Ánh xạ mô hình quá trình và nhật ký sự kiện ........................................... 16
1.4. Quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm toán ...... 18
1.5. Một số ứng dụng khác của kiểm tra sự phù hợp .............................................. 19
1.6. Tóm tắt chương một ......................................................................................... 19
Chương 2: HƯỚNG TIẾP CẬN GIẢI QUYẾT BÀI TOÁN ....................................... 20
2.1. Độ đo đánh giá sự phù hợp của mô hình quá trình và nhật ký sự kiện ............ 20
2.2. Hướng tiếp cận dựa trên phương pháp phát lại trong bài toán kiểm tra sự phù
hợp của mô hình quá trình và nhật ký sự kiện. .......................................................... 23
2.2.1. Fitness........................................................................................................ 24
2.2.2. Precision .................................................................................................... 29
2.2.3. Structure .................................................................................................... 31
2.3. Tóm tắt chương hai .......................................................................................... 33
Chương 3: MÔ HÌNH GIẢI QUYẾT BÀI TOÁN........................................................ 34
3.1. Giải thuật phát lại ............................................................................................. 34
3.2. Phát biểu bài toán ............................................................................................. 41
3.3. Mô hình giải quyết bài toán ............................................................................. 42
3.4. Tóm tắt chương ba ........................................................................................... 44
Chương 4: THỰC NGHIỆM ......................................................................................... 45
4.1. Dữ liệu thực nghiệm ........................................................................................ 46
4.1.1. Dữ liệu sử dụng trong bước một của quá trình thực nghiệm (DL1) ......... 46
4.1.2. Dữ liệu sử dụng trong bước hai của quá trình thực nghiệm (DL2) .......... 48
4.2. Thực nghiệm .................................................................................................... 48
4.3. Kết quả thực nghiệm ........................................................................................ 49
4.3.1. Kết quả thực nghiệm Bước 1 .................................................................... 49
4.3.2. Kết quả thực nghiệm Bước 2 .................................................................... 50
4.4. Đánh giá ........................................................................................................... 51
Kết luận và định hướng nghiên cứu tiếp theo ............................................................... 52
Tài liệu tham khảo ......................................................................................................... 53
Danh sách hình vẽ
Hình 1.1: Vòng đời BPM ................................................................................................ 6
Hình 1.2. Ngữ cảnh khai phá quá trình ........................................................................... 6
Hình 1.3: Ba bài toán trong khai phá quá trình ............................................................... 8
Hình 1.4: Ý tưởng của bài toán kiểm tra sự phù hợp ...................................................... 8
Hình 1.5: Ví dụ nhật ký sự kiện .................................................................................... 10
Hình 1.6: Ví dụ quá trình của một công ty A ................................................................ 11
Hình 1.7: Mô hình quá trình trực quan của quy trình trong công ty A ......................... 12
Hình 1.8: Mô hình quá trình trực quan .......................................................................... 13
Hình 1.9: Ví dụ mô hình lưới Petri ................................................................................ 15
Hình 1.10: Minh họa không gian ánh xạ của mô hình và nhật ký sự kiện .................... 17
Hình 2.1: Ví dụ mô hình lưới Petri mô tả quá trình bồi thường của một công ty ......... 20
Hình 2.2: Những nhật ký sự kiện của quá trình bồi thường .......................................... 21
Hình 2.3: Ví dụ về mô hình quá chính xác và quá chung chung................................... 21
Hình 2.4: Những góc độ đánh giá sự phù hợp ............................................................... 22
Hình 2.5: Ý tưởng phương pháp phát lại ....................................................................... 23
Hình 2.6: Quá trình phát lại của dấu vết ABDEA ......................................................... 25
Hình 2.7: Quá trình phát lại dấu vết ACHDFA ............................................................. 27
Hình 2.8: Minh họa quá trình xây dựng tập quan hệ ..................................................... 30
Hình 2.9: Ví dụ mô hình lưới Petri có chứa các cấu trúc lặp, ẩn. ................................. 32
Hình 3.1: Mô hình giải quyết bài toán ........................................................................... 42
Hình 4.1: Nhật ký sự kiện L1 của DL1 ......................................................................... 46
Hình 4.2: Mô hình quá trình N1 của DL1 ..................................................................... 47
Hình 4.3: Mô hình quá trình N2 của DL1 ..................................................................... 47
Hình 4.4: Mô hình quá trình N3 của DL1 ..................................................................... 47
Hình 4.5: Mô hình quá trình N4 của DL1 ..................................................................... 47
Hình 4.6: Đồ thị tổng hợp kết quả thực nghiệm Bước 1 ............................................... 49
Hình 4.7: Đồ thị tổng hợp kết quả thực nghiệm Bước 2 ............................................... 50
Danh sách bảng biểu
Bảng 3.1: Ví dụ ánh xạ mô hình quá trình và nhật ký sự kiện ...................................... 43
Bảng 4.1: Cấu hình hệ thống thử nghiệm ...................................................................... 45
Bảng 4.2: Các phần mềm sử dụng ................................................................................. 45
Bảng 4.3: Kết quả thực nghiệm Bước 1, với giải thuật phát lại chưa thay đổi ............. 49
Bảng 4.4: Kết quả thực nghiệm Bước 1, với giải thuật phát lại thay đổi ...................... 49
Bảng 4.5: Kết quả thực nghiệm Bước 2, với giải thuật phát lại chưa thay đổi ............. 50
Bảng 4.6: Kết quả thực nghiệm Bước 2, với giải thuật phát lại thay đổi ...................... 50
Danh sách các từ viết tắt
BPI Business Process Intelligence
BPM Business Process Management
PPM Process Performance Manager
WF Work Flow
WFM Work Flow Management
1
Mở đầu
Ngày nay, hầu hết các tổ chức đều tài liệu hóa quá trình sản xuất kinh doanh theo
một số mẫu (mô hình), nhằm trợ giúp hoạt động quản lý doanh nghiệp, đồng thời điều
chỉnh, cải tiến hoạt động kinh doanh. Trong khi một số tổ chức chỉ trình bày mô hình
quá trình trên giấy, thì nhiều tổ chức đã đầu tư khá lớn vào công nghệ mô hình hóa quá
trình, và giờ đây, kho dữ liệu của các tổ chức này có thể có tới hàng trăm mô hình quá
trình. Ngoài ra những dữ liệu sự kiện được ghi nhận lại trong hệ thống thông tin của
những tổ chức đó cũng ngày một tăng lên, và phản ánh tốt hơn thực tiễn quá trình hoạt
động sản xuất kinh doanh của những tổ chức đó. Thực tiễn trên đặt ra một đòi hỏi mới,
dẫn tới hình thành và phát triển hướng nghiên cứu khai phá quá trình (process mining),
một nội dung tích hợp khai phá dữ liệu với quản lý quá trình kinh doanh (business
process management: BPM) nhằm phát hiện những tri thức mới về quá trình kinh
doanh, từ những dữ liệu ghi nhận quá trình kinh doanh trong các nhật ký sự kiện
(event logs). Kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện là một bài
toán cơ bản trong lĩnh vực khai phá quá trình.
Lý do cần phải đặt ra bài toán kiểm tra sự phù hợp là do: trong thực tiễn sản xuất,
kinh doanh của một tổ chức nào đó, những quy trình thực tế khó có thể luôn luôn giữ
nguyên, không bao giờ thay đổi, mà trái lại, nó cần phải được cập nhật thường xuyên
theo những yêu cầu mới, tức là chúng cần được thay đổi cho một mục tiêu kinh doanh
cụ thể. Trong trường hợp đó, các mô hình trong kho dữ liệu của tổ chức đó không còn
có thể đảm bảo phản ánh đúng thực tế sản xuất kinh doanh nữa. Thậm chí ngay cả các
hệ thống WFM (Work Flow Management: quản lý dòng công việc), trong đó mô hình
quá trình được sử dụng trực tiếp để thiết lập, cấu hình những thi hành quá trình được
phép, độ sai lệch vẫn có thể xảy ra. Vì vậy, đặt ra một vấn đề rất quan trọng là tự động
kiểm tra tính thống nhất của mô hình quá trình hệ thống với quá trình thực tế được
phản ánh trong các nhật ký sự kiện.
Theo W.M.P. van der Aalst, 2011 [1], kiểm tra sự phù hợp có thể giúp kiểm
chứng tính thống nhất của mô hình quá trình và nhật ký sự kiện tương ứng. Bài toán
trả lời câu hỏi về sự phù hợp phát sinh khi cả hai yếu tố: nhật ký sự kiện và mô hình
quá trình đều đã sẵn có (hành vi được quan sát và hành vi được mô hình hóa phù hợp
tốt với nhau như thế nào?). Nếu mô hình là mô hình mô tả hay mô hình quy tắc thì
kiểm tra sự phù hợp cung cấp một giải pháp để đo lượng, và xác định vị trí sai lệch.
Nếu mô hình được tạo ra thông qua bài toán phát hiện quá trình, thì kiểm tra sự phù
2
hợp trở nên quan trọng để thẩm định và đánh giá chất lượng của mô hình được phát
hiện [6].
Trong khóa luận, chúng tôi sử dụng phương pháp phát lại nhật ký sự kiện trên
mô hình quá trình, dựa theo một số nghiên cứu của A. Rozinat và W.M.P. van der
Aalst [6, 13, 14], để đo lượng cũng như đánh giá sự phù hợp giữa mô hình quá trình và
nhật ký sự kiện đã cho. Theo đó, mỗi dấu vết (một phiên làm việc của người dùng
trong hệ thống) trong nhật ký sự kiện được phát lại tuần tự trên mô hình quá trình, với
mỗi lần phát lại, những tham số để tính toán độ phù hợp, độ chính xác của những dấu
vết đó so với mô hình được lưu lại. Cuối cùng dựa vào những công thức của từng độ
đo để tính toán mức độ phù hợp chung cho cả nhật ký sự kiện với mô hình quá trình.
Đồng thời chúng tôi cũng đề xuất một ý tưởng thay đổi trong việc xác định không gian
trạng thái trong phương thức phát lại để có thể thu được những kết quả phân tích đầy
đủ và chính xác hơn.
Nội dung của khóa luận được chia thành các chương như sau:
Chƣơng 1: Giới thiệu khái quát về lĩnh vực khai phá quá trình và bài toán kiểm
tra sự phù hợp của mô hình quá trình và nhật ký sự kiện (một trong ba bài toán chính
trong lĩnh vực khai phá quá trình). Ngoài ra chương này cũng trình bày về một số khái
niệm cơ bản trong bài toán kiểm tra sự phù hợp, về quan hệ giữa kiểm tra sự phù hợp
với phù hợp kinh doanh và hoạt động kiểm toán kinh doanh của doanh nghiệp. cũng
như một số ứng dụng của bài toán kiểm tra sự phù hợp.
Chƣơng 2: Trình bày về những độ đo cơ sở để đánh giá sự phù hợp của mô hình
quá trình và nhật ký sự kiện. Đồng thời, cũng trình bày về hướng tiếp cận giải quyết
bài toán dựa trên phương pháp phát lại áp dụng để tính toán những độ đo đó.
Chƣơng 3: Chương này trình bày về giải thuật phát lại, đưa ra ý tưởng thay đổi
trong giải thuật phát lại đó, và xây dựng mô hình giải quyết bài toán.
Chƣơng 4: Trình bày giải pháp thực nghiệm đánh giá sự phù hợp của mô hình
quá trình và nhật ký sự kiện, cũng như đánh giá ý tưởng thay đổi với thực nghiệm dựa
trên việc thay đổi phương thức phát lại của plugin Conformance Checker trong bộ
công cụ mã nguồn mở ProM 5.2.
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.
3
Chƣơng 1: GIỚI THIỆU CHUNG
1.1. Giới thiệu khái quát về khai phá quá trình
1.1.1. Tổng quan về khai phá quá trình
Khai phá quá trình (process mining) là một chuyên ngành nghiên cứu mới, phát
triển mạnh mẽ trong thập kỷ gần đây. Theo WMP Van der Aalst, 2011 [1], khai phá
quá trình là một lĩnh vực nghiên cứu đặt giữa học máy và khai phá dữ liệu ở một bên
và mô hình hóa và phân tích quá trình ở bên kia, nhằm chiết xuất thông tin có giá trị,
liên quan đến quá trình từ các nhật ký sự kiện, bổ sung các phương pháp tiếp cận hiện
có tới quản lý quá trình kinh doanh (Business Process Management: BPM). Khai phá
quá trình đóng một vai trò quan trọng là cầu nối giữa khai phá dữ liệu và mô hình hóa
quá trình, một thành phần của quản lý quá trình kinh doanh.
Theo Michael Hammer, 2010 [5], quản lý quá trình kinh doanh được thể hiện cả
ở mặt quản lý lẫn ở mặt công nghệ. Về mặt quản lý, quản lý quá trình kinh doanh là
cách tiếp cận có hệ thống nhằm giúp các tổ chức, doanh nghiệp tiêu chuẩn hóa và tối
ưu hóa các quy trình hoạt động với mục đích giảm chi phí, tăng chất lượng hoạt động
nhằm đạt được các mục tiêu cần thiết. Về mặt công nghệ, quản lý quá trình kinh doanh
là bộ công cụ trợ giúp tổ chức, doanh nghiệp thiết kế, mô hình hóa, triển khai, giám
sát, vận hành và cải tiến các quy trình kinh doanh linh hoạt. Có thể coi quản lý quá
trình kinh doanh là công nghệ thúc đẩy hợp tác giữa công nghệ thông tin và người
dùng nhằm xây dựng các ứng dụng có khả năng tích hợp con người, quy trình và thông
tin trong tổ chức, doanh nghiệp
Có hai yếu tố chính khiến lĩnh vực khai phá quá trình ngày càng nhận được nhiều
sự quan tâm. Một mặt, ngày càng có nhiều dữ liệu sự kiện được ghi nhân lại trong các
hệ thống thông tin, giúp cung cấp tốt hơn những thông tin chi tiết về quy trình thực tế,
và mặt khác, đó là do yêu cầu đặt ra cần phải hỗ trợ và cải tiến những quy trình kinh
doanh trong môi trường kinh doanh cạnh tranh và có nhiều thay đổi nhanh chóng như
hiện nay.
Cũng theo WMP Van der Aalst, 2011 [1], dưới không gian chung của lĩnh vực
kinh doanh thông minh (Business Intelligence – BI), có nhiều thuật ngữ thông dụng đề
cập đến những kỹ thuật được sử dụng trong việc phân tích, hỗ trợ và cải tiến quy trình
kinh doanh như: Theo dõi hoạt động kinh doanh (Business Activity Monitoring –
BAM) đề cập đến kỹ thuật cho phép theo dõi quy trình thời gian thực, Xử lý sự kiện
4
phức tạp (Complex Event Processing – CEP) đề cập đến kỹ thuật xử lý với một lượng
sự kiện lớn, sử dụng chúng để theo dõi, chỉ đạo, và tối ưu hóa kinh doanh, Quản lý
hiệu suất công ty (Corporate Performance Management – CPM) đề cập đến cách đo
lượng hiệu suất của một quy trình hay tổ chức. Ngoài ra cũng có những thuật ngữ khác
liên quan đến hướng quản lý quá trình kinh doanh như: Cải tiến quá trình liên tục
(Continuous Process Improvement – CPI), Cải tiến quá trình kinh doanh (Business
Process Improvement – BPI), Quản lý chất lượng toàn diện (Total Quanlity
Management – TQM), và Six Sigma – một triết lý quản lý, quản trị dựa theo quá trình
hơn là theo chức năng, và đưa ra quyết định dựa theo những sự kiện thực tế chứ không
phải cố hữu. Những phương pháp trên đều có điểm chung là các quá trình luôn là đối
tượng được xem xét để tìm ra những cải tiến có thể. Khai phá quá trình là một kỹ thuật
thúc đẩy CMP, BPI, TQM, Six Signa và những phương pháp tương tự.
Trong thập kỷ gần đây, dữ liệu sự kiện đã trở nên sẵn có, và những kỹ thuật khai
phá quá trình đã phát triển nhanh chóng. Hơn nữa như đã đề cập, những xu hướng
quản lý liên quan đến cải tiến quy trình (như Six Sigma, TQM, CPI, và CPM) và tuân
thủ (BAM) có thể được hưởng lợi từ khai phá quá trình. Do đó, không ít thuật toán
khai phá quá trình đã được thực thi trong nhiều hệ thống thương mại hay phi thương
mại khác nhau nhằm trợ giúp cho những xu hướng quản lý kinh doanh. Hiện nay, một
nhóm tích cực những nhà nghiên cứu làm việc trong lĩnh vực khai phá quá trình
(IEEE-TfoPM: xin xem dưới đây) và nó đã trở thành một trong những chủ đề nóng
trong nghiên cứu Quản lý quy trình kinh doanh (Business Process Management -
BPM).
Hơn nữa, cũng có một sự quan tâm rất lớn từ ngành công nghiệp đến lĩnh vực
khai phá quá trình. Và càng ngày càng có nhiều nhà cung cấp phần mềm bổ xung thêm
chức năng khai phá quá trình vào công cụ của họ. Ví dụ như ARIS Process
Performance Manager (Software AG), Process Discovery Focus (Iontas/Verint),
Comprehend (Open Connect), Flow (Fourspark), Interstage Automated Process
Discovery (Fujitsu), OKT Process Mining suite (Exeura), ProcessAnalyzer (QPR),
ProM (TU/e), Reflect|one (Pallas Athena), Rbminer/Dbminer (UPC).
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). Kể từ khi IEEE-TFoPM được thành lập năm 2009 bởi Ủy ban kỹ thuật khai
phá dữ liệu (Data Mining Technical Committee – DMTC) trong Hiệp hội CIS –
Computational Intelligence Society của Viện IEEE – Institute of Electrical and
5
Electronic Engineers, IEEE-TFoPM hiện tại đã thu hút được sự tham gia của nhiều
nhà cung cấp phần mềm (ví dụ, Pallas Athena, Software AG, Futura Process
Intelligence, HP, IBM, Infosys, Fluxicon, Businesscape, Iontas/Verint, Fujitsu, Fujitsu
Laboratories, Business Process Mining, Stereologic) những công ty tư vấn (ví dụ:
ProcessGold, Business Process Trends, Gartner, Deloitte, Process Sphere, Siav SpA,
BPM Chile, BWI Systeme GmbH, Excellentia BPM, Rabobank) và những trường-viện
nghiên cứu (ví dụ, TU/e, University of Padua, Universitat Politècnica de Catalunya,
New Mexico State University, IST - Technical University of Lisbon, University of
Calabria, Penn State University, University of Bari, HumboldtUniversität zu Berlin,
Queensland University of Technology, Vienna University of Economics and Business,
Stevens Institute of Technology, University of Haifa, University of Bologna, Ulsan
National Institute of Science and Technology, Cranfield University, K.U. Leuven,
Tsinghua University, University of Innsbruck, University of Tartu).
Đã có rất nhiều những hoạt động khác được tổ chức liên quan đến chủ đề trên. Ví
dụ như đã có một số hội thảo được IEEE-TFoPM tổ chức hay đồng tổ chức. Ví dụ như
những hội thảo về quy trình kinh doanh thông minh (Business Process Intelligence –
BPI: BPI 2009, 2010, 2011, 2012, 2013) và những hội nghị chính của IEEE như
CIDM 2011. Ngoài những hội thảo và hội nghị, kiến thức về khai phá quá trình cũng
được phổ biến thông qua những hướng dẫn (WCCI 2010 và PMPM 2009), những
trường hè (ESSCaSS 2009, ACPN 2010, CICH 2010), những video qua trang web
www.processmining.org, và một số ấn phẩm gần đây về khai phá quá trình trên
Springer. IEEE-TFoPM còn tổ chức và đồng tổ chức những cuộc thi Business Process
Intelligence Challenge (BPIC 2011, 2012, 2013) nhằm yêu cầu những đội tham gia
phải trích xuất được những thông tin hữu ích từ lượng lớn những nhật ký sự kiện phức
tạp. Trong năm 2010, IEEE-TFoPM còn chuẩn hóa XES (www.xesstandard.org), một
chuẩn định dạng nhật ký sự kiện và được hỗ trợ bởi thư viện OpenXES
(www.openxes.org) và những công cụ như ProM, XESame, Nitro, vv. Những thông
tin thêm về những hoạt động của IEEE-TFoPM có thể tham khảo tại trang web
www.win.tue.nl/ieeetfpm/.
6
1.1.2. Ba bài toán chính trong lĩnh vực khai phá quá trình
Trước khi đề cập tới các bài toán chính trong lĩnh vực khai phá quá trình, chúng
ta xem xét mô hình quá trình có ảnh hưởng như thế nào trong quy trình quản lý kinh
doanh [1].
Hình 1.1: Vòng đời BPM
Hình 1.1 cho thấy vòng đời BPM mô tả các giai đoạn khác nhau của việc quản lý
quá trình kinh doanh. Trong đó, mô hình quá trình đóng vai trò chủ đạo trong các giai
đoạn thiết kế (lại) và cấu hình/thực hiện, trong khi dữ liệu đóng một vai trò chủ đạo
trong các giai đoạn ban hành/ giám sát và chẩn đoán/ yêu cầu. Theo WMP Van der
Aalst [1], cho đến gần đây mới có một vài liên kết giữa dữ liệu được sinh ra khi thực
hiện quá trình với quá trình được thiết kế thực tế. Thực tế trong hầu hết tổ chức thì giai
đoạn chẩn đoán/ yêu cầu không được hỗ trợ một cách có hệ thống và liên tục. Do đó
khai phá quá trình cần phải cung cấp khả năng để thực sự “làm đóng kín” vòng đời
BPM. Dữ liệu được các hệ thống thông tin ghi lại có thể được sử dụng để cung cấp
một cái nhìn tốt hơn lên các quá trình thực tế, tức là những sai lệch có thể được phân
tích và chất lượng của các mô hình có thể được cải thiện.
Hình 1.2. Ngữ cảnh khai phá quá trình
7
Hình 1.2 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 cổ điển (chẳng hạn, Staffware và Cosa),
các hệ thống BPM (chẳng hạn, BPM|One của Pallas Athena, SmartBPM của
Pegasystems, FileNet, Global 360 và TeamWork của Lombardi Software), hệ thống
ERP (chẳng hạn, SAP Business Suite, Oracle E -Business Suite, và Microsoft
Dynamics NAV)…cung cấp một lượng thông tin chi tiết 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 nhiều 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 tiến thực tiễn quá sản
xuất kinh doanh. Từ đó theo WMP Van der Aalst [1], khai phá quá trình bao gồm ba
bài toán chinh:
Bài toán thứ nhất là bài toán “phát hiện quá trình”. Đây là một kĩ thuật phát
hiện quá trình từ nhật ký sự kiện và tạo ra một mô hình quá trình mà không sử dụng
bất cứ một thông tin tiền nghiệm nào. Đối với các doanh nghiệp, đây là điều khá bất
ngờ vì việc có thể phát hiện những quá trình thực chỉ đơn thuần dựa trên những ví dụ
hành vi được lưu trữ trong những nhật ký sự kiện.
Bài toán thứ hai là bài toán “kiểm tra sự phù hợp”. Ở 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 tương ứng với nó. 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ế - được ghi lại
trong một nhật ký và mô hình quá trình được mô hình hóa, có thống nhất với nhau hay
không và có thể đưa ra những điểm sai lệch để hỗ trợ việc cải tiến quá trình. Khóa luận
"Kiểm tra sự phù hợp mô hình quá trình và nhật ký sự kiện bằng phương pháp phát
lại" tiến hành nghiên cứu, phân tích giải pháp giải quyết bài toán thứ hai. Nội dung bài
toán thứ hai sẽ được giới thiệu chi tiết hơn ở mục tiếp theo.
Bài toán thứ ba 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 trước đó. Ví dụ như, bằng cách sử dụng các mốc thời
gian trong những nhật ký sự kiện, ta có thể mở rộng mô hình để có thể cho thấy những
phần tắc nghẽn, mức độ phục vụ và thời gian thực hiện giữa chúng.
8
Hình 1.3: Ba bài toán trong khai phá quá trình
1.2. Giới thiệu bài toán kiểm tra sự phù hợp của mô hình quá trình và
nhật ký sự kiện
1.2.1. Giới thiệu về bài toán kiểm tra sự phù hợp
Bài toán “kiểm tra sự phù hợp” là một trong ba bài toán chính của lĩnh vực khai
phá quá trình. Trong 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 tương ứng với nó. 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ế - được ghi lại trong một nhật ký và mô hình quá trình
được mô hình hóa, có thống nhất với nhau hay không và có thể đưa ra những điểm sai
lệch để hỗ trợ việc cải tiến quá trình.
Hình 1.4: Ý tưởng của bài toán kiểm tra sự phù hợp
Với ý tưởng so sánh mô hình quá trình được mô hình hóa và nhật ký sự kiện
tương ứng để kiểm tra tính thống nhất giữa chúng, những hành vi của mô hình quá
9
trình và hành vi được ghi lại trong nhật ký sự kiện được so sánh để tìm ra điểm tương
đồng và khác biệt. Sự thể hiện của không phù hợp phụ thuộc vào mục đích của mô
hình. Nếu mô hình được định hướng để mô tả, thì những khác nhau giữa mô hình và
nhật ký sự kiện thể hiện rằng mô hình cần được cải thiện để đạt được tính thực tế cao
hơn. Nếu mô hình mang tính tiêu chuẩn, thì những khác biệt có thể được giải thích
theo 2 hướng. Một số khác biệt được tìm thấy có thể thể hiện những chênh lệch không
mong muốn, tức là kiểm tra sự phù hợp cho thấy nên cải tiến quy trình để có thể điều
khiển quy trình tốt hơn. Những khác biệt khác có thể thể hiện những chênh lệch mong
muốn. Ví dụ như người lao động có thể sai lệch để phục vụ khách hàng tốt hơn, hay xử
lý những tình huống không lường trước được trong mô hình quá trình. Trong thực tế
tính linh hoạt và không phù hợp thường tương quan tích cực lẫn nhau.
Khi kiểm tra sự phù hợp, điều quan trọng là xem xét độ lệch từ hai góc độ: (a)
mô hình sai và không phản ánh đúng thực tế (làm thế nào để cải tiến mô hình?) và (b)
những trường hợp đi lệch khỏi mô hình và những hành động khắc phục cần thiết. (làm
sao để cải tiến sự điều khiển để thực thi sự phù hợp tốt hơn?), kĩ thuật kiểm tra sự phù
hợp nên hỗ trợ cả 2 quan điểm này.
1.2.2. Tổng quan một số nghiên cứu về bài toán kiểm tra sự phù hợp
Kiểm tra sự phù hợp khởi đầu từ nghiên cứu của Cook và cộng sự [7], người đã
giới thiệu các khái niệm về thẩm định quá trình. Họ đề xuất một kỹ thuật so sánh luồng
sự kiện trong mô hình quá trình với luồng sự kiện trong nhật ký thực thi dựa trên đánh
giá sự khác biệt giữa hai chuỗi. Những khái niệm về sự phù hợp cũng được thảo luận
trong bối cảnh bảo mật và an ninh [8], điều chỉnh kinh doanh [10] và khai phá di
truyền [9, 3]. Nhiều nghiên cứu gần đây về khai phá di truyền cũng đề cập đến vấn đề
mô hình quá trình tạo ra quá nhiều hành vi và thí nghiệm với việc giới thiệu (và đánh
giá) của những hành vi trùng lặp trong những hành vi quan sát được đó [17]. Ngoài ra
cũng có một số nghiên cứu: dựa trên hướng tiếp cận khai phá mờ (Fuzzy mining [18].
Khai phá quá trình và kiểm tra sự phù hợp có thể được thấy trong bối cảnh rộng
hơn của quản lý doanh nghiệp, quá trình kinh doanh thông minh, được đề cập trong
hội nghị BPI 2010 [2], và giám sát hoạt động kinh doanh. Ngoài ra cũng có một số
công cụ BPI, thiết lập dựa trên quy trình quản lý của công ty HP được thực thi [11].
Bộ công cụ BPI bao gồm một công nghệ được gọi là “BPI Process Mining Engine”.
Zur Muehlen cũng mô tả bộ công cụ PISA, có thể được sử dụng để trích xuất giá trị
hiệu xuất từ những nhật ký luồng công việc [12]. Phát hiện tương tự được đưa ra bởi
10
ARIS Process Performance Manager (PPM). Công cụ này sau đó mang tính thương
mại và có một phiên bản tùy biến của PPM là Staffware Process Monitor (SPM), được
thiết kế theo hướng Staffware1. Những công cụ này hỗ trợ kiểm tra sự phù hợp nhưng
thường là đo lường hiệu năng chứ không chú trọng đến giám sát những hành vi mong
muốn hay không mong muốn.
1.3. Một số khái niệm cơ bản về nhật ký sự kiện và mô hình quá trình
1.3.1. Nhật ký sự kiện
Như đã trình bày, dữ liệu đầu vào cho khai phá quá trình là nhật ký sự kiện, chứa
đựng dữ liệu sự kiện về quá trình theo cấu trúc quy định nào đó. Cụ thể, dữ liệu sự
kiện được lưu trữ trong nhật ký sự kiện có cấu trúc như sau:
Hình 1.5: Ví dụ nhật ký sự kiện
1 https://docs.tibco.com/pub/iprocess-engine/11.1.0-september-2009/pdf/tib-iprocess-
objects-server-administrators-guide.pdf
11
Từ cấu trúc nhật ký sự kiện trong Hình 1.5, có thể đưa ra giả định rằng một quá
trình (process) có thể bao gồm nhiều trường hợp (cases) hay cũng có thể gọi là dấu vết,
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 (attributes). Chẳng hạn như ở ví dụ trên, các thuộc tính điển hình thường
thấy là tên hoạt động (activity), thời gian (time), chi phí (cost)…. Tuy nhiên 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.
Theo WMP Van der Aalst [1], có thể tổng quát hóa nhật ký sự kiện trên về dạng
nhật ký sự kiện đơn giản được định nghĩa một cách 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 dấu vết σ là
một chuỗi những hành động, tức là σ ϵ A*. 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à L ϵ B (A*).
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 những dấu 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 dấu vết σ1 = (a,b,c,d) xảy ra 3 lần, σ2 = (a,c,b,d)
xảy ra 2 lần, và σ3 = (a,e,d) xảy ra 1 lần, khi đó L được biểu diễn như sau:
L=[ (a,b,c,d)3, (a,c,b,d)
2, (a,e,d)]
1.3.2. Mô hình quá trình
Để tường minh hơn khái niệm mô hình quá trình, xem xét một ví dụ minh họa
sau về quy trình hệ thống phục vụ khách hàng của một công ty A. Khi khách hàng có
vấn đề với sản phẩm, họ liên hệ với trung tâm tiếp nhận cuộc gọi của công ty này.
Hình 1.6: Ví dụ quá trình của một công ty A
12
Như mô tả trên Hình 1.6, công ty đó có một bộ phận “Front office” có kiến thức
chung và có thể đối phó với hầu hết các trường hợp chung và đơn giản. Nếu một vấn
đề không thể giải quyết được bởi “Front office”, khách hàng sẽ được giới thiệu đến
một “Back office” chuyên môn. Với mỗi cuộc gọi đến, chúng có một mã số yêu cầu
dịch vụ duy nhất, mà có thể được dùng trong những lần gọi sau của khách hàng để lưu
lại trong quy trình phục vụ hoàn chỉnh. Nếu một sản phẩm thực sự cần sửa chữa và
vẫn còn bảo hành, khách hàng sẽ nhận được một mã số sửa chữa duy nhất và sản phẩm
đó được gửi đến cửa hàng sửa chữa. Ở đó, các sản phẩm đầu vào được sửa chữa nếu
có thể, nếu sửa chữa thành công, nó cần phải được kiểm tra trước khi sản phẩm được
chuyển lại cho khách hàng. Theo nguyên tắc chất lượng, kiểm tra này không được thực
hiện bởi người cùng tham gia sửa chữa. Nếu không thể sửa chữa, thì khách hàng sẽ
nhận được một sản phẩm mới để thay thế.
Mô hình quá trình mô tả quy trình hoạt động trên của công ty A:
Hình 1.7: Mô hình quá trình trực quan của quy trình trong công ty A
Để đơn giản mô hình này được mô tả bởi môt số kí hiệu và cấu trúc không chính
quy. Trong thực tế, có nhiều ngôn ngữ mô hình hóa khác nhau, như Business Process
Modeling Notation (BPMN), Event-driven Process Chains (EPCs), Unified Modeling
Language (UML) Activity diagrams, Petri Nets, Yet Another Workflow Language
(YAWL).
13
Trước khi xem xét một mô hình quá trình từ một ngôn ngữ mô hình hóa cụ thể,
chúng ta xem xét mô hình quá trình ở mức tổng quan và xem xét một số cấu trúc
chung, xuất hiện khi ánh xạ mô hình quá trình với nhật ký sự kiện. Trong khai phá quá
trình, có một tình huống thường gặp là mô hình quá trình và nhật ký sự kiện liên quan
đến cùng một quá trình tương tự, do đó cần thiết lập một ánh xạ tương ứng giữa chúng.
Đó là một trường hợp, ví dụ, khi một mô hình quá trình được phát hiện từ nhật ký sự
kiện, hay khi một mô hình trước đó cần được so sánh với nhật ký sự kiện được quan
sát của mô hình quá trình.
Để thiết lập một quan hệ giữa những mô hình quá trình và nhật ký sự kiện, một
số khái niệm cơ bản được giới thiệu. Trong một mô hình quá trình trực quan, những
tác vụ thể hiện những hành động trong quá trình thực tế được quan sát, và những tác
vụ này được gán với một nhãn, đại diện cho những hành vi quan sát được kích hoạt
khi những tác vụ này được thực thi.
Định nghĩa 1.1 (Mô hình quá trình trực quan): Một mô hình quá trình trực quan
là một bộ ba (T, L, l ) trong đó:
T là tập hữu hạn các tác vụ.
L là tập hữu hạn các nhãn
l() là một hàm ánh xạ từ tập tác vụ đến tập nhãn.
Hình 1.8: Mô hình quá trình trực quan
Xem xét các mô hình quá trình trực quan được mô tả trong Hình 1.8, mô hình
bao gồm 6 tác vụ, tức là T = {t1, t2, t3, t4, t5, t6}, có liên quan đến hoạt động của
“Front office” và “Back office”. Trong thủ tục được mô tả, một cuộc gọi được chuyển
14
từ “Front office” sang “Back office” chỉ sau khi nhận được ý kiến của chuyên gia tư
vấn. Hầu hết những tác vụ trong mô hình quá trình được gán cho môt nhãn, mô tả ở
góc bên phải. Các nhãn này thể hiện cho mã hành động được ghi lại bởi hệ thống
thông tin trong trung tâm tiếp nhận cuộc gọi nếu các hoạt động tương ứng được thực
thi. Ví dụ, nhãn được gán với tác vụ „Redirect to Back Office‟ là R, tức là l(t4) = R.
tổng cộng, có ba nhãn khác nhau được gán cho những tác vụ trong mô hình {F, P, R}
L.
Bởi vì l() là một hàm thành phần, có thể có những tác vụ trong mô hình không
được gán nhãn. Và do đó không thể được quan sát trong nhật ký sự kiện. Các tác vụ
không nằm trong tập những tác vụ được gán nhãn bởi ánh xạ l(), được gọi là tác vụ ẩn,
ngược lại những tá vụ được gán nhãn được gọi là tác vụ hiện.
Trong ví dụ trên, chỉ có t2 là tác vụ ẩn, các tác vụ khác là tác vụ hiện.
Hơn nữa, có thể có nhiều tác vụ trong mô hình quá trình có cùng nhãn, chúng
được gọi là những tác vụ trùng lặp và sự xuất hiện của chúng không thể được phân biệt
trong nhật ký sự kiện. chú ý rằng, tác vụ trùng lặp chỉ xuất hiện từ quá trình gán nhãn,
kể từ khi tác vụ của mô hình quá trình tự phân biệt được (có thể không bằng tên,
nhưng bằn định danh của chúng hay vi trí duy nhất trong đồ thị).
Trong ví dụ trên, t1 và t5, t3 và t6 là những tác vụ trùng lặp, chú ý rằng những
tác vụ trùng lặp luôn là tác vụ hiện.
1.3.3. Mô hình quá trình đƣợc biểu diễn bởi lƣới Petri
Lưới Petri [15] được coi là một mô hình quá trình bao gồm một tập thanh
chuyển, một tập vị trí và một tập cung có hướng nối các thanh chuyển và các vị trí với
nhau. Trong đó, thanh chuyển là một thành phần trong mô hình, liên quan đến một tác
vụ hay hành động nào đó có thể được thực thi trong quá trình và được biểu diễn bởi
hình chữ nhật. Vị trí được thể hiện bởi vòng tròn và có thể giữ một hay nhiều thẻ (thẻ
được biểu diễn bởi một chấm đen), sự phân phối của các thẻ trên các vị trí của mô hình
thể hiện trạng thái của mô hình đó.
Thanh chuyển được kích hoạt khi tất cả các vị trí vào của nó (những vị trí có
cung vào thanh chuyển đó) đều chứa ít nhất một thẻ. Và nếu thanh chuyển được kích
hoạt, nó có thể cháy. Quá trình cháy thanh chuyển là quá trình tiêu thụ một thẻ ở mỗi
vị trí vào, và sinh ra một thẻ ở mỗi vị trí ra của thanh chuyển đó (những vị trí mà thanh
chuyển đó có cung ra).
15
Bằng cách này, quá trình cháy thanh chuyển có thể làm thay đổi các đánh dấu
trong lưới Petri (tức là thay đổi sự phân bố các thẻ trên các vị trí trong mô hình), và do
đó trạng thái của quá trình cũng được thay đổi. Điều này làm cho mô hình lưới Petri có
tính động, khi nó có thể thay đổi trạng thái sau mỗi quá trình cháy thanh chuyển khác
nhau.
Hình 1.9: Ví dụ mô hình lưới Petri
Hình 1.9 mô tả một mô hình lưới Petri của quá trình phục vụ khách hàng đang
được xét. Tại trạng thái khởi đầu, có thể thấy một thẻ trong vị trí đầu tiên của mô hình.
16
Khi thanh chuyển với ký hiệu A cháy, thẻ này sẽ được tiêu thụ và một thẻ khác sẽ
được sinh ra và đặt tại vị trí ra của thanh chuyển A. Sau đó có một sự lựa chọn giữa B
và C, bởi chỉ có một trong hai thanh chuyển này có thể cháy. Bằng cách này, lưới Petri
có thể mô hình hóa cấu trúc lựa chọn. Tương tự như vậy, nhiều nhánh có thể được kích
hoạt trong cùng một thời điểm được minh họa trong phần được bôi sáng với nhãn
“parallel split”. Khi thanh chuyển cháy, hai thẻ sẽ được sinh ra (mỗi thẻ cho một vị trí
ra), cho phép kích hoạt những hành động độc lập trong hai nhánh đó. Trạng thái của
mô hình quá trình chỉ được thể hiện qua sự phân phối của các thẻ trên những vị trí
trong mô hình. Mặc dù lưới Petri được thể hiện bằng đồ họa như trên hình vẽ, tuy
nhiên, chúng cũng có những định nghĩa toán học chính xác trong ngữ cảnh thực thi của
nó, và do đó nó cũng có thể hoàn toàn được sử dụng mà không cần thể hiện đồ họa.
Lưới Petri là một hình thức mô hình hóa thú vị, nó cung cấp một cân bằng tốt
giữa mô hình hóa và khả năng phân tích [1]. Để phục vụ bài toán kiểm tra sự phù hợp,
định nghĩa của lưới Petri được gán nhãn được đưa ra. Một biến thể của lưới Petri cổ
điển, mô tả tốt hơn những hành động tổng quát của những hệ thống đồng thời.
Định nghĩa 1.2 (Lưới Petri được gán nhãn): Lưới Petri được gán nhãn là một bộ
năm PN = (P, T, F, L, l) trong đó
P là tập hữu hạn những vị trí.
T là tập hữu hạn những thanh chuyển PT = Ø.
F là tập hữu hạn các cung F (P×T) (T×P).
L là tập các nhãn.
l là một hàm gán nhãn cụ thể.
1.3.4. Ánh xạ mô hình quá trình và nhật ký sự kiện
Phần trên đề cập đến mô hình quá trình trực quan, trong đó những hành vi trực
quan được liên kết với những tác vụ trong mô hình bởi những hàm gán nhãn thành
phần l(). Hơn nữa, một nhật ký sự kiện đơn giản đã được xác định, trong đó mỗi sự
kiện trong nhật ký đã được dự kiến nhãn hành động của nó. Tiếp theo đó, sử dụng
những khái niệm trên để liên kết mô hình quá trình và nhật ký sự kiện bởi giả định
rằng tập những nhãn hành động trong nhật ký sự kiện (A) và tập nhãn trong mô hình
quá trình trực quan (L) được so sánh với nhau, tức là giả định A = L.
Để hình thức quá trình gán nhãn, khái niệm tập nhãn mô hình và tập nhãn chuỗi
cần được định nghĩa.
17
Định nghĩa 1.3 (Nhãn mô hình): Cho một mô hình quá trình trực quan (T,L,l),
tập nhãn mô hình được định nghĩa như sau: ; trong đó
dom (l) là miền giá trị của l ().
Định nghĩa 1.4 (Nhãn chuỗi): Cho một nhật ký sự kiện E, tập nhãn chuỗi
được định nghĩa trong đó set() là hàm chuyển chuỗi thành tập hợp
thành phần.
Như vậy tập nhãn mô hình là tập con của tập nhãn L được gán cho những tác
vụ trong mô hình trực quan, tức là . tương tự .
Hình 1.10: Minh họa không gian ánh xạ của mô hình và nhật ký sự kiện
Có thể thấy, không phải nhất thiết mọi nhãn mô hình phải thực sự được quan
sát. Ví dụ, nó có thể xảy ra như là một hành động thay thế nào đó trong mô hình quá
trình trực quan, nhưng đã không được ghi nhận bởi một nhật ký sự kiện. Trong hình
trên (a) là tập những nhãn không được quan sát (nhưng thực tế là có thể xảy ra) của mô
hình quá trình trực quan . (b) Những nhãn được quan sát liên kết với mô hình
quá trình trực quan . (c) có thể là những trường hợp mà những sự kiện
trong nhật ký mà những nhãn hành động của nó trong không được liên kết với bất
kì tác vụ nào được quan sát trong mô hình quá trình trực quan. Những lý do dẫn đến
điều này có thể là những hành động trong quá trình kinh doanh thực tế thường được
ghi lại ở một mức độ cụ thể hơn là chúng được thể hiện trong mô hình quá trình. Nhật
ký sự kiện có thể bao gồm một số loại sự kiện mang tính giai đoạn của một hành động
như lập lịch, bắt đầu, hay hoàn thành,… trong khi đó, trong mô hình quá trình những
hành động tương ứng chỉ được thể hiện bởi một tác vụ đơn duy nhất mà không chia ra
những giai đoạn cụ thể. Hơn nữa, có thể có các sự kiện ở mức độ thấp liên quan đến
những mã lỗi và thông điệp hệ thống. Vì vậy, nhật ký sự kiện nằm ngoài phạm vi của
mô hình, ví dụ như tập (c) thường bi loại bỏ, điều này được thực thi hoặc trong bước
lọc trước khi áp dụng thuật toán phát hiện quá trình, hoặc trong bước ánh xạ một mô
hình quá trình và nhật ký sự kiện đã có. Trong quá trình ánh xạ, ta chỉ xem xét những
ánh xạ tới miền giá trị của , những nhãn hành động ngoài bị loại bỏ.
18
1.4. Quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm
toán
Khai phá quá trình kết nối khai phá dữ liệu với mô hình hóa quá trình kinh
doanh, do đó tồn tại quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm
toán.
Mục đích của phù hợp kinh doanh là đảm bảo rằng hệ thống thông tin và quá
trình kinh doanh thực tế là phù hợp tốt. Con người nên được hỗ trợ bởi hệ thống thông
tin hơn là làm việc sau lưng nó để thu được những thứ đã được thực hiện rồi. Không
may là thường có những chênh lệch giữa hệ thống thông tin ở một bên và những quy
trình thực tế và nhu cầu của người lao động và quản lý ở một bên. Có nhiều lý do như.
Thứ nhất hầu hết các tổ chức sử dụng phần mềm sản phẩm, tức là những phầm mềm
chung không được phát triển cho một tổ chức cụ thể. Mặc dù những hệ thống này đã
được cấu hình nhưng những nhu cầu cụ thể của mỗi một tổ chức là khác nhau so với
những gì đã được hình dung bởi những nhà phát triển phần mềm. Thứ hai, những quy
trình có thể thay đổi nhanh hơn hệ thống thông tin, do ảnh hưởng từ bên ngoài. Cuối
cùng có thể có những bên liên quan khác nhau trong tổ chức, có những yêu cầu mâu
thuẫn, tức là nhà quản lý thì muốn thực thi một thủ tục công việc cố định trong khi một
người làm việc có kinh nghiệm thì lại muốn có một thủ tục mềm dẻo hơn để phục vụ
khách hàng tốt hơn.
Kiểm tra sự phù hợp có thể hỗ trợ trong việc cải thiện sự liên kết giữa hệ thống
thông tin, quá trình kinh doanh và tổ chức. Bằng việc phân tích quy trình thực tế và dự
đoán những khác biệt, những hiểu biết mới có thể thu được cho thấy làm thế nào để cải
tiến sự hỗ trợ bởi hệ thống thông tin.
Thuật ngữ kiểm toán chỉ việc đánh giá cách thức tổ chức và những quy trình hoạt
động trong một doanh nghiệp. Nó được thực hiện để kiểm tra xem những quy trình
kinh doanh có được thực hiện trong một phạm vi nhất định được thiết lập bởi nhà quản
lý, chính quyền hay những bên liên quan hay không. Sự vi phạm những quy tắc này có
thể chỉ ra gian lận, sơ suất, rủi ro và thiếu hiệu quả. Theo truyền thống thì kiểm toán
viên chỉ có thể đảm bảo rằng quy trình kinh doanh được thực thi trong phạm vi xác
định được thiết lập. Tuy nhiên ngày nay những thông tin chi tiết về quy trình đang
được ghi lại trong những hình thức nhật ký sự kiện, cơ sở dữ liệu, các bản ghi giao
dịch, kho dữ liệu,… do đó hình thức kiểm tra các mẫu nhỏ ngoại tuyến không còn phù
hợp nữa, thay vào đó, tất cả các sự kiện trong quy trình kinh doanh có thể được đánh
giá và công việc này có thể được thực thi trong khi quy trình vẫn đang vận hành. Tính
19
sẵn có của dữ liệu nhật ký sự kiện và những kỹ thuật khai phá quá trình nâng cao cho
phép những hình thức mới của kiểm toán. Khai phá quá trình nói chung và kiểm tra sự
phù hợp nói riêng cung cấp những cách thức có thể làm được như vậy.
1.5. Một số ứng dụng khác của kiểm tra sự phù hợp
Ngoài sự quan hệ mật thiết giữa kiểm tra sự phù hợp và phù hợp kinh doanh cũng
như kiểm toán doanh nghiệp. kiểm tra sự phù hợp cũng được sử dụng cho nhiều mục
đích khác như:
Sửa mô hình: khi mà mô hình quá trình và nhật ký sự kiện không đồng nhất về
quy trình, và giả sử rằng, những gì phản ánh trong nhật ký sự kiện là phù hợp hơn
trong thực tế kinh doanh, thì những điểm sai lệch, tương đồng trong kiểm tra sự phù
hợp có thể giúp ta chỉnh sửa lại mô hình cho phù hợp hơn với thực tế.
Đánh giá thuật toán phát hiện quá trình: những thuật toán phát hiện quá trình
nhằm mục đích phát hiện ra những mô hình quá trình từ những nhật ký sự kiện đã có,
do đó kiểm tra sự phù hợp giữa mô hình quá trình được sinh ra và nhật ký sự kiện ban
đầu giúp phản ánh tính chính xác của thuật toán được áp dụng.
1.6. Tóm tắt chƣơng một
Trong chương này, khóa luận đã giới thiệu về khai phá quá trình, bài toán kiểm
tra sự phù hợp, và những khái niệm liên quan. Đồng thời, khóa luận cũng đã trình bày
về quan hệ giữ kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm toán doanh
nghiệp, cũng như một số ứng dụng của nó.
Trong chương tiếp theo, khóa luận sẽ trình bày chi tiết làm thế nào để đánh giá
sự phù hợp, những độ đo được sử dụng trong đánh giá sự phù hợp và trình bày về
phương pháp phát lại được áp dụng để tính toán các độ đo đó.
20
Chƣơng 2: HƢỚNG TIẾP CẬN GIẢI QUYẾT BÀI TOÁN
2.1. Độ đo đánh giá sự phù hợp của mô hình quá trình và nhật ký sự kiện
Xem xét ví dụ sau về quá trình yêu cầu bồi thường trong một công ty bảo hiểm.
Nó mô tả một thủ tục tưởng tượng (nhưng cũng có thể là thực tế) và đưa ra cấu trúc
luồng điều khiển liên quan đến ngữ cảnh của kiểm tra sự phù hợp.
Hình 2.1: Ví dụ mô hình lưới Petri mô tả quá trình bồi thường của một công ty
Theo Hình 2.1, đầu tiên có hai tác vụ cùng mang nhãn “Set Checkpoint” (sử
dụng A như là cách viết tắt của nhãn đó). Nó có thể được dùng như một hành động sao
lưu tự động trong bối cảnh của một hệ thống giao dịch. Tức là hoạt động A được thực
hiện ngay từ đầu để xác định một điểm quay lui nguyên tố được kích hoạt của toàn bộ
quá trình, và ở cuối để đảm bảo độ bền vững của kết quả. Sau đó, quy trình kinh doanh
thực tế bắt đầu với sự phân biệt yêu cầu bồi thường giá trị thấp hay yêu cầu bồi thường
giá trị cao, được kí hiệu là B và C trong hình vẽ. Chính sách của khách hàng luôn được
kiểm tra (D), nhưng trong trường hợp yêu cầu bồi thường có giá trị cao, cần bổ xung
tư vấn của chuyên gia (G) và sau đó yêu cầu bồi thường được kiểm tra chi tiết hơn (H),
hai tác vụ hoàn thành E và F có thể được xem như hai quá trình con khác nhau tham
gia đưa ra quyết định và thanh toán tiềm năng. Chú ý rằng sự lựa chọn giữa E và F bị
ảnh hưởng bởi sự lựa chọn giữa B và C (tức là mô hình không thuộc vào lớp free
choice - lựa chọn tự do).
Ta xem xét ba ví dụ nhật ký sự kiện cho quá trình được mô tả ở trên, điều này là
có thể vì chỉ có quan điểm luồng điều khiển được xem xét ở đây. Chú ý rằng không có
một nhật ký sự kiện nào có chứa chuỗi ACGHDFA mặc dù mô hình cho phép chuỗi
đó. điều này cũng dễ hiểu bởi lẽ không một nhật ký sự kiện nào có thể thể hiện tất cả
21
các chuỗi có thể, bởi vì mô hình quá trình thường cho phép nhiều hơn những trường
hợp quan sát được.
Hình 2.2: Những nhật ký sự kiện của quá trình bồi thường
Câu hỏi chiếm ưu thế nhất trong ngữ cảnh của kiểm tra sự phù hợp là liệu quá
trình kinh doanh thực tế có phù hợp với hành vi được quy định, tức là liệu nhật ký sự
kiện có phù hợp với mô hình. Đối với mô hình ví dụ, nó dường như phù hợp với nhật
ký sự kiện L1, vì mọi chuỗi trong L1 đều có thể được liên kết với một đường đi hợp lệ
trên mô hình từ vị trí “Start” đến “End”. Nhật ký sự kiện L2 không khớp hoàn toàn bởi
vì những chuỗi ACHDFA và ACDHFA thiếu sự thực thi của hành động G, trong khi
nhật ký sự kiện L3 thậm chí không bao gồm một chuỗi nào tương ứng với hành vi
được quy định. Bằng một cách nào đó, dường như L3 không phù hợp bằng L2, và cần
thiết đo lường mức độ phù hợp theo quan niệm trực giác của sự phù hợp.
Hình 2.3: Ví dụ về mô hình quá chính xác và quá chung chung
Có những chiều định tính khác nhau của sự phù hợp, mà có thể minh họa bằng
việc liên kết nhật ký L2 với mô hình M2 và M3 (trong Hình 2.3). Mặc dù nhật ký phù
hợp tốt với 2 mô hình, tức là những chuỗi sự kiện trong nhật ký có thể được khớp hoàn
hảo với chuỗi thực thi hợp lệ của những tác vụ trong mô hình. Chúng dường như vẫn
22
không phù hợp trong việc mô tả các quá trình quản lý bồi thường bảo hiểm. Mô hình
M2 quá chung chung, nó bao gồm quá nhiều hành vi thêm, nó cho phép những chuỗi
tùy ý của các hành động A, B, C, D, E, F, G, H. Trong khi đó mô hình M3 không cho
phép thêm bất kỳ chuỗi nào không được quan sát trong nhật ký, nó chỉ liệt kê những
chuỗi có thể thay vì thể hiện các hành vi quy định trong một cách có ý nghĩa. Do đó nó
không cung cấp một hiểu biết tốt hơn về mô hình quá trình. Điều này cho thấy rằng
các mô hình phù hợp cần phải là một đại diện tốt của những hành vi được quan sát.
Do đó cần phải đánh giá sự phù hợp của mô hình trên nhiều góc độ khác nhau:
Hình 2.4: Những góc độ đánh giá sự phù hợp
Theo WMP Van der Aalst và cộng sự [4, 6, 13, 14, 16], việc đánh giá mô hình có
thể diễn ra trong những chiều trực giao sau: fitness, precision/generalization và
structure.
Fitness: cho biết bao nhiêu hành vi được quan sát là phù hợp với mô hình. Tức là
mô hình sinh ra được càng nhiều hành vi được quan sát trong nhật ký sự kiện càng tốt)
Ví dụ một mô hình M5 chỉ sinh được một chuỗi ABCDEA mà không sinh được các
chuỗi khác có trong nhật ký sự kiện, như vậy nó có độ đo fitness thấp.
23
Precision/generalization: cho biết mô hình là quá tổng quát hay quá chính xác.
Tức là mô hình sinh ra càng ít hành vi không được quan sát trong nhật ký sự kiện càng
tốt. Ví dụ: một mô hình M2 cho phép thực hiện tất cả các hành động từ A - H theo bất
kí thứ tự nào, thì mô hình đó có độ fitness cao nhưng lại có độ precision thấp. Hơn nữa
ví dụ một mô hình M3 chỉ cho phép thực thi đúng 5 chuỗi trong nhật ký sự kiện, do đó
không có sự tổng quát hóa nào được thực hiện trong mô hình đó.
Structure: thể hiện sự phù hợp cấu trúc của mô hình. Tức là mô hình mô tả các
hành vi với cấu trúc càng đơn giản và gọn gàng càng tốt. Được xác định qua những từ
vựng trong ngôn ngữ mô hình hóa. Có nhiều cách để thể hiện cùng một hành vi tương
tự, và có thể có cách phù hợp hay ít phù hợp hơn. Ví dụ một mô hình M3 có độ đo
fitness và precision cao nhưng lại chứa quá nhiều sự kiện trùng lặp thì sẽ khiến nó khó
hiểu đối với người dùng.
2.2. Hƣớng tiếp cận dựa trên phƣơng pháp phát lại trong bài toán kiểm
tra sự phù hợp của mô hình quá trình và nhật ký sự kiện.
Hình 2.5: Ý tưởng phương pháp phát lại
Phương pháp phát lại:
Phương pháp này sử dụng một nhật ký sự kiện và một mô hình quá trình như là
dữ liệu đầu vào. Nhật ký sự kiện này được phát lại bên trên mô hình quá trình. Tức là
cho từng dấu vết trong nhật ký sự kiện đi qua mô hình quá trình, theo đúng trình tự
những sự kiện trong từng dấu vết đó. Bằng cách kiểm tra kết quả của quá trình phát lại
để định lượng được các độ đo đã trình bày ở trên.
24
2.2.1. Fitness
Một cách tiếp cận đơn giản đối với kiểm tra sự phù hợp của mô hình quá trình và
nhật ký sự kiện là chỉ đếm những dấu vết có thể được phân tích hoàn toàn bởi mô hình
(tức là tỉ lệ của những dấu vết tương ứng với chuỗi cháy bắt đầu từ vị trí khởi tạo, và
kết thúc tại vị trí kết thúc của mô hình). Cách tiếp cận này xem xét độ đo fitness ở mức
độ trường hợp đầy đủ. Tuy nhiên sử dụng cách tiếp cận này, những dấu vết trong nhật
ký sự kiện đơn giản chỉ được phân lớp vào phù hợp hay không phù hợp mà không đề
cập đến rằng một dấu vết có thể hầu hết phù hợp với mô hình hay hoàn toàn không
phù hợp. Do đó, độ đo fitness nên được xem xét ở mức độ sự kiện hơn là mức độ
trường hợp đầy đủ.
Trong tính toán độ đo fitness ở mức độ trường hợp, một dấu vết được dừng phát
lại khi gặp phải một vấn đề (không thể thực hiện tiếp, hay dấu vết đó không đạt đến vị
trí kết thúc của mô hình khi quá trình phát lại kết thúc) và đánh dấu nó là không phù
hợp. Thì trong cách tiếp cận ở mức độ sự kiện, ta tiếp tục thực hiện quá trình phát lại
dấu vết đó trên mô hình quá trình nhưng ghi lại tất cả những tình huống khi xảy ra một
trong số những vấn đề dừng nói trên. Ví dụ như: khi mà một thanh chuyển bị ép buộc
cháy mà không được kích hoạt, tức là tiến hành đếm những thẻ bị thiếu trong quá trình
phát lại. Hơn nữa, cần ghi lại những thẻ còn lại trong mô hình khi quá trình phát lại kết
thúc. Sau đó sử dụng những số liệu ghi nhận lại từ các thẻ này để tính toán độ đo
fitness. Để giải thích ý tưởng này và minh họa rõ hơn về thủ tục phát lại, một ví dụ sau
đây được xem xét:
26
Ví dụ này thể hiện quá trình phát lại của dấu vết đầu tiên trong nhật ký sự kiện
L2 trên mô hình M1, trong đó m là số đếm những thẻ thiếu trong quá trình phát lại, r là
số đếm những thẻ còn lại trong mô hình quá trình khi quá trình phát lại kết thúc, c là
số đếm những thẻ đã được dùng, và p là số đếm những thẻ được sinh ra trong quá trình
phát lại. Khi bắt đầu (a), một thẻ được sinh ra cho vị trí Start trong mô hình. Khởi tạo
m = 0, r = 0, c = 0, p = 1. Sự kiện đầu tiên trong dấu vết là A, được liên kết với 2 thanh
chuyển (B, C) trong mô hình, tuy nhiên chỉ một trong chúng được kích hoạt. Do đó
trong pha (b), quá trình cháy tiêu thụ một thẻ trong vị trí Start và sinh ra một thẻ cho vị
trí c1 (c = 1, p = 2). Đối với sự kiện tiếp theo, thanh chuyển tương ứng B được kích
hoạt và có thể cháy. Trong pha (c), quá trình cháy tiêu thụ thẻ ở vị trí c1 và sinh ra hai
thẻ cho hai vị trí c2 và c5 (c = 2, p = 4). Sau đó thanh chuyển tương ứng D được kích
hoạt và có thể cháy. Trong pha (d), quá trình cháy tiêu thụ thẻ ở vị trí c2 và sinh ra một
thẻ cho vị trí c3 (c = 3, p = 5). Tương tự như vậy, thanh chuyển liên kết với sự kiện
tiếp theo E được kích hoạt và có thể cháy. Trong pha (e), quá trình cháy tiêu thụ hai
thẻ ở vị trí c3 và c5 và sinh ra một thẻ cho vị trí c4 (c = 5, p = 6). Cuối cùng lại là một
sự kiện loại A, thanh chuyển A này được kích hoạt và có thể cháy. Trong pha (f), quá
trình cháy tiêu thụ thẻ ở vị trí c4 à sinh ra thẻ cho vị trí End (c = 6, p = 7). Trong bước
cuối cùng thẻ tại vị trí End được tiêu thu và quá trình cháy (hay quá trình phát lại) của
dấu vết trên mô hình hoàn thành. Tức là việc loại bỏ thẻ khỏi vị trí End được coi như
một thẻ được tiêu thụ. Bởi vì trong quá trình phát lại này, không có thẻ thiếu hay thẻ
còn lại trong mô hình, do đó dấu vết này hoàn toàn phù hợp với mô hình M1. Tương
tự dấu vết thứ hai và thứ ba cũng có thể được phát lại mà không gặp bất kỳ vấn đề gì.
Tức là không có thẻ thiếu hay thẻ còn lại trong mô hình.
Bây giờ ta xem xét quá trình phát lại của dấu vết thứ tư của nhật ký sự kiện L2:
ACHDFA trên mô hình M1.
28
Tại hai pha ban đầu (a), (b) thủ tục là giống với ví dụ ta vừa xét, chỉ thay thanh
chuyển B được kích hoạt bằng thanh chuyển C. Trong pha (b), quá trình cháy tiêu thụ
một thẻ ở vị trí c1 và sinh ra hai thẻ ở hai vị trí c2 và c6 (c = 2, p = 4). Nhưng khi cố
gắng phát lại sự kiện tiếp theo, thanh chuyển tiếp theo H vẫn chưa được kích hoạt, do
đó thẻ ở vị trí c7 được tạo ra nhân tạo, và được ghi lại như một thẻ bị thiếu (m = 1).
Trong pha (d), thanh chuyển H cháy, tiêu thụ một thẻ ở vị trí c7, và sinh ra một thẻ ở
vị trí c8 (c = 3, p = 5). Những sự kiện tiếp theo có thể được phát lại thành công trên mô
hình. Nghĩa là những thanh chuyển liên kết với chúng được kích hoạt và có thể cháy.
Trong pha (e), thanh chuyển D cháy, tiêu thụ một thẻ ở vị trí c2 và sinh ra một thẻ ở vị
trí c3 (c = 4, p = 6). Trong pha (f), thanh chuyển F cháy, tiêu thụ hai thẻ ở vị trí c3 và
c8, sinh ra một thẻ ở vị trí c4 (c = 6, p = 7). Trong pha (g), một trong hai thanh chuyển
được liên kết A được kích hoạt và có thể cháy, tiêu thụ một thẻ ở vị trí c4 và sinh ra
một thẻ ở vị trí End (c = 7, p = 8). Cuối cùng, thẻ tại vị trí End được tiêu thụ (c = 8).
Nhưng vẫn còn một thẻ còn lại tại vị trí c6, điều đó có nghĩa là dấu vết này không
hoàn thành đúng (r = 1). Một vấn đề tương tự sẽ gặp phải trong suốt quá trình phát lại
của dấu vết cuối cùng trong nhật ký sự kiện L2: ACDHFA (r = 1, m = 1).
Chú ý rằng: trong suốt quá trình phát lại, tác vụ trùng lặp A có thể không gây lên
vấn đề gì miễn là chọn chính xác một trong số chúng và kích hoạt trong cùng một thời
điểm. Tuy nhiên, khi nhiều tác vụ trùng lặp cùng được kích hoạt, hay không có bất kỳ
số nào trong chúng, tình huống đó lại trở nên phức tạp hơn. Việc chọn lựa phái được
tiến hành chính xác để kích hoạt đúng tác vụ để thỏa mãn quy trình.
Theo A. Rozinat và WMP Van der Aalst [6], độ đo fitness theo mức độ sự kiện
được tính như sau:
Fitness: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký sự kiện.
Với mỗi trường hợp là số những trường hợp quá trình kết hợp trong
trường hợp , là số thẻ thiếu, là số thẻ còn lại, là số thẻ tiêu thụ, là số thẻ
được sinh ra trong quá trình phát lại của trường hợp i. Giá trị của fitness được tính như
sau:
(
∑
∑
)
(
∑
∑
)
Vì với mọi , và nên
Độ đo f càng cao thì mô hình càng phù hợp với nhật ký sự kiện.
29
2.2.2. Precision
Trong khi fitness kiểm tra xem mô hình có thể sinh ra được càng nhiều hành vi
được quan sát trong nhật ký sự kiện càng tốt, thì precision lại kiểm tra xem mô hình
sinh ra càng ít sự kiện không chứa trong nhật ký sự kiện càng tốt. Ý tưởng là mô hình
mong đợi mô tả quá trình càng chính xác càng tốt. Mô hình mô tả quá chung chung
hay quá chính xác là những mô hình không tốt vì chúng không mang lại mô hình với
nhiều ý nghĩa thông tin (ví dụ mô hình M2, cho phép bất kì chuỗi sự kiện nào do đó
quá chung chung, hay mô hình M3 chỉ cho phép đúng 5 chuỗi sự kiện trong nhật ký sự
kiện do đó quá chính xác).
Cách tiếp cận đầu tiên để đo lượng những hành vi có thể, là xác định số những
thanh chuyển được kích hoạt trong quá trình phát lại. Điều này tương đương với ý
tưởng, sự tăng lên của những lựa chọn thay thế hay song song cũng làm tăng lên
những hành vi tiềm năng do đó có số lượng thanh chuyển được kích hoạt cao hơn.
Theo A. Rozinat và WMP Van der Aalst [6], độ đo Precison đơn giản được tính
như sau:
Precision: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký, với
mỗi trường hợp là số những trường hợp quá trình kết hợp trong
trường hợp , là số thực của những thanh chuyển được kích hoạt trong quá trình
phát lại, m là số của những tác vụ hiện trong mô hình lưới Petri (không bao gồm tác vụ
ẩn, và m > 1). Độ đo precision được tính như sau:
∑
∑
Giả sử rằng có ít nhất một tác vụ trong mô hình m > 1, có giá trị trong khoảng
(0;1). Tuy nhiên có những vấn đề mà số liệu này chỉ được sử dụng như là phương tiện
so sánh. Bởi vì đo lượng sự phù hợp bị ảnh hưởng bởi mức độ linh hoạt của mô hình.
Để độ đo precision độc lập với thuộc tính cấu trúc, độc lập với tính linh hoạt của
mô hình. Những hành vi tiềm năng xác định bởi mô hình phải được phân tích và so
sánh với những hành vi thực sự cần thiết (hành vi mong muốn được thực thi) để mô tả
những gì được quan sát trong nhật ký sự kiện. Để làm được điều đó, ta định nghĩa
những khái niệm quan hệ giữa các tác vụ trong mô hình, cũng như những sự kiện trong
nhật ký sự kiện.
30
Quan hệ Follows: Hai hành động (x, y) là quan hệ “Always Follows” hoặc
“Never Follows” hoặc “Sometimes Follows”, trong trường hợp nếu hành động x được
thực thi ít nhất một lần, và hoặc luôn luôn, hoặc không bao giờ, hoặc thi thoảng hành
động y thực hiện sau hành động x.
Quan hệ Precedes: Hai hành động (x, y) là quan hệ “Always Preceds” hoặc
“Never Preceds” hoặc “Sometimes Preceds” nếu hành động y thực hiện ít nhất một lần
và, hoặc luôn luôn, hoặc không bao giờ, hoặc thi thoảng hành động x thực hện trước
hành động y.
Từ khía cạnh mô hình, cần xây dựng những quan hệ trên dựa theo phân tích
những chuỗi thực thi có thể (dựa vào phân tích không gian trạng thái hay mô phỏng
đầy đủ của mô hình). Từ khía cạnh nhật ký sự kiện, cần xây dựng những quan hệ này
dựa trên phân tích trình tự thực thi những chuỗi được quan sát (duyệt qua toàn bộ nhật
ký sự kiện). Từ đó quan hệ giữa hai hành động (x,y) được xác định theo những quan
hệ định nghĩa trên.
Ví dụ tập quan hệ được xây dựng từ mô hình và nhật ký sự kiện theo quan hệ
“Follows”.
Hình 2.8: Minh họa quá trình xây dựng tập quan hệ
31
Thông thường thì số đường đi trong mô hình thường lớn hơn nhiều so với những
dấu vết thực tế xuất hiện trong nhật ký sự kiện. Do đó xây dựng tập quan hệ từ mô
hình gặp phải nhiều vấn đề khó khăn hơn xây dựng tập quan hệ từ nhật ký sự kiện.
Trong khi những quan hệ “Always” hay “Never” là những quan hệ cứng, nó đảm
bảo quan hệ rõ ràng, thì quan hệ “Sometimes” lại có thể thay đổi trong những tình
huống khác nhau, ví dụ (A, H) và (H, A). Do đó nó có thể phản ánh sự tăng lên của
những hành vi tiềm năng, có thể dẫn đến sự tăng lên của những hành vi thay thế hay
song song. Bởi vậy ý tưởng xác định độ đo precision của mô hình trong hướng tiếp cận
này là so sánh những hành vi có thể thay đổi của mô hình và nhật ký sự kiện dựa trên
số quan hệ “Sometimes Follows” và “Sometimes Precedes”.
Theo A. Rozinat và WMP Van der Aalst [6], độ đo precision nâng cao được tính
toán như sau:
Precision: cho và
là tập quan hệ “Sometimes Follows” và “Sometimes
Precedes” trong mô hình, và
là tập quan hệ “Sometimes Follows” và
“Sometimes Precedes” trong nhật ký sự kiện. Giá trị của độ đo precision nâng cao
được tính như sau:
|
|
|
|
2.2.3. Structure
Mong muốn để mô hình hóa một quá trình kinh doanh một cách gọn nhẹ và có ý
nghĩa là rất khó nắm bắt được bằng thực nghiệm. Cho dù mô hình được coi là phù hợp
theo quan điểm chủ quan, và thường tương ứng với một mục đích cụ thể của mô hình.
Thì vẫn có những khía cạnh thực tế không thực sự chính xác: ví dụ như chi tiết của
những hành động trong luồng công việc được mô tả, cái mà chỉ được xác định tốt bằng
kinh nghiệm của người thiết kế. Do đó khái niệm của độ phù hợp cấu trúc được đề cập
ở đây chỉ tập trung đến khía cạnh của luồng công việc, và thường có một vài cách
mang tính cú pháp để đánh giá mức độ phù hợp cấu trúc trong mô hình quá trình.
32
Hình 2.9: Ví dụ mô hình lưới Petri có chứa các cấu trúc lặp, ẩn.
Ví dụ một mô hình bao gồm những cấu trúc có thể gây ảnh hưởng đến độ phù
hợp cấu trúc của mô hình, (a) tác vụ trùng lặp, (b) tác vụ ẩn, (c) vị trí ẩn.
Những cấu trúc này là những cấu trúc mang tính vấn đề tiềm năng khi xây dựng
mô hình phù hợp. Chúng có thể làm giảm tính chính xác và đúng đắn về cấu trúc của
mô hình. Do đó, sự phát hiện ra những cấu trúc này có thể giúp cho những nhà phân
tích kinh doanh có thể đánh giá và cải tiến được mô hình quá trình kinh doanh.
Một cách tiếp cận đơn giản để tính toán độ phù hợp cấu trúc là dựa trên sự chênh
lệch số lượng những nhãn tác vụ khác nhau trong mô hình với kích thước đồ thị của
mô hình đó.
Theo A. Rozinat và WMP Van der Aalst [6], độ đo structure đơn giản được tính
như sau:
Structure: Cho là tập nhãn được thiết lập trong quá trình ánh xạ giữa tác vụ
trong mô hình và sự kiện trong nhật ký sự kiện, và là tập nút của một mô hình lưới
Petri, độ phù hợp cấu trúc nâng cao được tính như sau:
Chú ý rằng mô hình mong đợi là mô hình có vị trí bắt đầu và kết thúc, và nếu đồ
thị bao gồm ít nhất một thanh chuyển cho mỗi nhãn tác vụ và 2 vị trí ứng viên (khởi
đầu và kết thúc). Trong trường hợp đó thì |N| = |L| +2, do đó . Kích thước của
đồ thị tăng lên và thêm các vị trí mới làm cho giá trị tiến dần về 0.
33
Tuy nhiên phương pháp này chỉ được sử dụng như là phương tiện so sánh cho
những mô hình quá trình mà thể hiện những hành vi tương đương (vì nó chỉ dựa trên
kích thước đồ thị của mô hình). Do đó khả năng ứng dụng kém.
Để hướng tiếp cận phù hợp cấu trúc độc lập với hành vi của mô hình thì cần quan
tâm đến những cấu trúc tham gia vào xây dựng mô hình như tác vụ trùng lặp và tác vụ
ẩn. Sự loại bỏ những cấu trúc này có thể làm tăng tính phù hợp cấu trúc của mô hình
quá trình
Theo A. Rozinat và WMP Van der Aalst [6], độ đo structure nâng cao được tính
như sau:
Structure: cho T là một tập những thanh chuyển trong mô hình lưới Petri, là
tập những tác vụ trùng lặp, là tập những tác vụ ẩn. Độ đo structure nâng cao được
xác định như sau:
Vì do đó .
2.3. Tóm tắt chƣơng hai
Trong chương này, khóa luận đã trình bày về hướng tiếp cận giải quyết bài toán
dựa trên phương pháp phát lại, đồng thời đưa ra những độ đo đánh giá sự phù hợp và
trình bày phương pháp phát lại được áp dụng để tính toán các độ đo phù hợp đó.
Trong chương tiếp theo, khóa luận trình bày về giải thuật phát lại được sử dụng
trong bài toán kiểm tra sự phù hợp, đưa ra ý tưởng thay đổi trong giải thuật phát lại đó.
Đồng thời xây dựng mô hình giải quyết bài toán.
34
Chƣơng 3: MÔ HÌNH GIẢI QUYẾT BÀI TOÁN
3.1. Giải thuật phát lại
Như đã trình bày trong chương hai, khóa luân sử dụng hướng tiếp cận dựa trên
phương pháp phát lại để giải quyết bài toán kiểm tra sự phù hợp, do đó các kỹ thuật
như phân tích không gian trạng thái để tính độ đo precision, hay phân tích cấu trúc để
tính độ đo structure như đã trình bày trong chương hai sẽ không được đề cập chi tiết.
Trong chương này, khóa luận tập trung vào trình bày giải thuật phát lại. Giải thuật phát
lại được A. Rozinat và WMP Van der Aalst đưa ra [6], một giải thuật nhằm phát lại
từng dấu vết trong nhật ký sự kiện trên mô hình quá trình, nhằm tính toán các độ đo
được trình bày trong những công thức cụ thể ở chương hai. Khóa luận cũng đưa ra ý
tưởng thay đổi trong giải thuật phát lại này là cố gắng sinh ra một không gian trạng
thái đầy đủ hơn để tìm kiếm đường đi ngắn nhất (chuỗi những thanh chuyển có thể
cháy ngắn nhất) dẫn đến kích hoạt các thanh chuyển không được kích hoạt trực tiếp
đang được yêu cầu trong quá trình phát lại, nhằm hướng tới thu được kết quả phát lại
chính xác hơn. Đồng thời, không gian trạng thái đó cũng được sử dụng trong quá trình
phân tích không gian trạng thái để tính độ đo precision, do đó một không gian trạng
thái đầy đủ hơn có thể sẽ cho kết quả độ đo precision chính xác hơn.
35
Giải thuật của phương pháp phát lại:
Ý tưởng thực hiện phương pháp phát lại của một dấu vết là duyệt tuần tự các sự
kiện trong dấu vết đó và thực hiện thủ tục phát lại chúng trên mô hình. Đầu tiên, một
danh sách các các sự kiện trong dấu vết phát lại được khởi tạo (1). Quá trình phát lại
một dấu vết sẽ được thực hiện tuần tự theo từng sự kiện trong dấu vết đó. Với mỗi sự
kiện, tiến hành tìm những thanh chuyển tương ứng với nó trong mô hình (5). Nếu
không tìm thấy thanh chuyển nào tương ứng với sự kiện đó, quá trình phát lại kết thúc
(6). Nếu chỉ có một thanh chuyển được tìm thấy, tiến hành kiểm tra xem thanh chuyển
đó đã được kích hoạt hay chưa (isEnabled ()), nếu thanh chuyển đã được kích hoạt thì
thực hiện thủ tục phát lại thanh chuyển đó. Trong trường hợp thanh chuyển đó chưa
được kích hoạt, cần kích hoạt chúng bằng cách tạo ra những thẻ nhân tạo tại những vị
trí vào của thanh chuyển đó, sau đó đánh dấu lại những vị trí vào đó, rồi thực hiện thủ
tục phát lại đối với thanh chuyển đó. Trong trường hợp có nhiều hơn một thanh
chuyển trong mô hình tương ứng với sự kiện trong nhật ký, thực hiện thủ tục
chooseEnabledDuplicateTask () để lựa chọn tác vụ phù hợp nhất.
replayTrace:
1: listoftrace all element of trace
2: while listoftrace has next element do
3: logevent listoftrace.hasNext();
4: le find log event happen in the log
5: listtrans get a list of all transitions that are associated to that log event
6: if size of listtrans = 0 then
7: break
8: else
9: if size of listtrans = 1 then
10: if transition is enabled ( transition.isEnabled() = true) then
11: replay transition
12: else if transition is not enabled then
13: enable it by creating the missing tokens
14: mark input places
15 replay transition
16: end if
17: else // there are more than one transition
18: choose enable duplicated task ( chooseEnabledDuplicateTask())
19: end if
20: end while
36
Phương thức kiểm tra thanh chuyển đã được kích hoạt hay chưa:
isEnabled:
1: list new empty list
2: soFarShortestPath NULL
3: if not directly enabled then
4: clone Petri net and build state space from current marking // (*)
5: list traceShortestPathOfInvisibleTasks(…)
6: end if
7: if list = NULL then
8: return false
9: else
10: while list has next element do
11: fetch next task from list
12: fire corresponding transition in Petri net
13: end while
14: return true
15: end if
traceShortestPathOfInvisibleTasks:
1: if current state already visited or shorter path already found then
2: return soFarShortestPath // (a) (b)
3: else
4: while possible path from current state in state space left do
5: determine next task
6: if requested task found then
7: return currentPath // (c)
8: else if invisible task found then
9: set current state visited
10: copy curentPath and appended task
11: determine next state
12: soFarShortestPath traceShortestPathOfInvisibleTasks(…)
13: else
14: return NULL // (d)
15: end if
16: end while
17: return soFarShortestPath
18: end if
37
Phương thức isEnabled () là một phương thức đệ quy nhằm kiểm tra một thanh
chuyển có được kích hoạt hay không. Đầu tiên một danh sách được khởi tạo, lưu chuỗi
kích hoạt tiềm năng đối với thanh chuyển đó. Nếu thanh chuyển đó đã được kích hoạt
thì danh sách này rỗng, do đó kết quả trả về của phương thức là true (chú ý một danh
sách rỗng là danh sách có độ dài bằng 0 chứ không phải NULL).
Trong trường hợp thanh chuyển không được kích hoạt trực tiếp, một bản sao lưới
Petri của mô hình và không gian trạng thái được tạo ra từ trạng thái hiện tại (sự phân
phối của những thẻ tại những vị trí trong mô hình thể hiện trạng thái của mô hình đó),
thể hiện ở mục (*) trong giải thuật (nhằm xác định một không gian trạng thái chứa tất
cả những trạng thái có thể của mô hình từ trạng thái hiện tại - phục vụ việc tìm trạng
thái nào tốt nhất có thể dẫn đến kích hoạt thanh chuyển không được kích hoạt trực tiếp
đang được yêu cầu, hay chính là tìm kiếm đường đi ngắn nhất để kích hoạt được thanh
chuyển đó). Đồng thời không gian trạng thái này cũng được sử dụng để phân tích, xây
dựng tập quan hệ của các tác vụ trên khía cạnh mô hình để tính toán độ đo precision
nâng cao được đề cập trong mục 2.2.2.
Không gian trạng thái, hay một đồ thị của các vị trí được đánh dấu (tức là vị trí
có số thẻ lớn hơn 0), có thể được biểu diễn theo cấu trúc cây tìm kiếm được tạo ra từ
những vị trí được đánh dấu đó. Từ cây tìm kiếm này, ta có thể thu được những trạng
thái cụ thể khi đi theo những đường khác nhau trong cây. Do đó yêu cầu xác định
không gian trạng thái đồng nghĩa với việc xác định cây tìm kiếm nói trên.
Quá trình xác định cây tìm kiếm được thực hiện như sau:
Trước tiên ta tìm tất cả những vị trí được đánh dấu trong mô, những vị trí đó
phản ánh trạng thái hiện tại của mô hình.
Từ tập vị trí được đánh dấu đó, xây dựng cây tìm kiếm, cây tìm kiếm này thể
hiện trạng thái hiện tại của mô hình cũng như có thể thể hiện những trạng thái
khác của mô hình khi đi theo những đường khác nhau trong cây.
Vòng lặp xây dựng cây tìm kiếm với những trạng thái mới, với trạng thái hiện
tại của mô hình, ta xét từng thanh chuyển tương ứng với trạng thái hiện tại đó,
nếu thanh chuyển nào được kích hoạt thì sinh ra một trạng thái mới sau khi
cháy thanh chuyển đó.
Nếu trạng thái mới đã tồn tại (tức là được sinh ra từ đồ thị cây tìm kiếm) thì
lấy trạng thái đó từ đồ thị cây tìm kiếm và tiếp tục vòng lặp tìm kiếm những
thanh chuyển được kích hoạt khác.
38
Nếu trạng thái đó chưa được thể hiện trong đồ thị tìm kiếm, chứng tỏ trạng
thái này chưa được tìm ra, chúng ta thể hiện nó trong đồ thị tìm kiếm bằng
cách bổ xung thêm những vị trí mới được đánh dấu vào đồ thị cây tìm kiếm.
Trong cách thực thi của nhóm tác giả, trạng thái mới này được xét bằng việc mở
rộng chỉ với trạng thái hiện tại của mô hình, tức là tìm những vị trí trong trạng thái
hiện tại có số thẻ nhỏ hơn hoặc bằng số thẻ tại vị trí đó trong trạng thái mới, và mở
rộng cây tìm kiếm bằng cách bổ xung những vị trí được đánh dấu mới đó.
Trong ý tưởng thay đổi, không chỉ xét trạng thái hiện tại đó, mà từ trạng thái hiện
tại, chúng ta tìm những trạng thái khác dựa vào những vị trí trong những cạnh đầu vào
của trạng thái hiện tại. Tức là với mỗi vị trí liên kết với một cạnh đầu vào, ta bổ xung
thêm vị trí đó vào trạng thái hiện tại để thu được một trạng thái hiện tại được bổ xung,
rồi thực hiện tìm kiếm những vị trí trong mỗi trạng thái đó có số thẻ ít hơn hoặc bằng
số thẻ trong trạng thái mới để bổ xung vị trí đó vào cây tìm kiếm.
Trong cách thực thi ban đầu, phương pháp này được thực thi theo hướng tối thiểu
không gian đồ thị của cây tìm kiếm, tức là chỉ cần xét những vị trí đánh dấu trong
trạng thái hiện tại mà không cần xét những vị trí khác liên kết đến những cạnh đầu vào
trong trạng thái hiện tại đó. Do đó không gian trạng thái cũng được giới hạn hẹp hơn.
Trong ý tưởng thay đổi, chúng tôi xem xét thêm cả những vị trí liên kết với
những cạnh đầu vào của trạng thái hiện tại, với mong muốn mở rộng không gian đồ thị
của tìm kiếm, khi bổ xung được thêm những vị trí đánh dấu mới, do đó mở rộng không
gian trạng thái để tìm chuỗi thanh chuyển có thể kích hoạt thanh chuyển đang được
yêu cầu một cách chính xác hơn. Ngoài ra, như đã đề cập, không gian trạng thái này
cũng được sử dụng để phân tích, xây dựng tập quan hệ của những tác vụ trên khía cạnh
mô hình để tính độ đo precision nâng cao được trình bày trong mục 2.2.2. Do đó việc
mở rộng không gian trạng thái cũng có thể giúp cho việc phân tích và xây dựng tập
quan hệ giữa các tác vụ đầy đủ và chính xác hơn.
Phương thức traceShortestPathOfInvisibleTasks () – phần chương trình đệ quy
được gọi, ý tưởng của phương thức này là tìm chuỗi những thanh chuyển có thể cháy
ngắn nhất trong không gian trạng thái được xác định ở bước trên, để tạo một lưới Petri
đánh dấu (được thể hiện qua trạng thái của mô hình) mà có thể cho phép thực thi thanh
chuyển đang được yêu cầu trong quá trình phát lại. Có thể có nhiều chuỗi thanh
chuyển thỏa mãn, do đó với mỗi chuỗi thanh chuyển, ta thực hiện theo dõi chúng cho
đến khi đạt được một trong số những điều kiện kết thúc sau:
39
(a) Trạng thái hiện tại đã được thăm trong quá trình duyệt, tức là không gian
trạng thái là một chu trình và đệ quy nên dừng để tránh trường hợp lặp vô hạn
(b) Nếu tìm thấy một chuỗi ngắn hơn của những thanh chuyển có thể kích hoạt
thanh chuyển yêu cầu, so với những chuỗi đã tìm thấy trước đó.
Giả sử cả hai điều kiện (a), (b) không được thỏa mãn, trạng thái hiện tại của
không gian trạng thái được đánh dấu đã được thăm, và tất cả các chuỗi trong không
gian trạng thái đều được xem xét cho đến khi đạt được một trong những điều kiện kết
thúc sau:
(c) Nếu thanh chuyển yêu cầu được bắt gặp, ta trả về chuỗi thanh chuyển hiện tại
(d) Nếu thanh chuyển yêu cầu không được bắt gặp, ta kết thúc quá trình đệ quy.
Nếu không có bất kỳ chuỗi nào có thể dẫn đến kích hoạt thanh chuyển yêu cầu,
thì danh sách trả về NULL và phương thức isEnable trả về false. Còn nếu tìm được
chuỗi thỏa mãn có thể kích hoạt thanh chuyển yêu cầu, thì phương thức trả về true.
Như trình bày ở trên là phương thức kiểm tra sự kích hoạt của một thanh chuyển
được yêu cầu trong quá trình phát lại. Tiếp theo, chúng ta đề cập đến phương thức lựa
chọn tác vụ trùng lặp khi bắt gặp trường hợp một sự kiện được liên kết với nhiều tác
vụ trong mô hình (hay còn gọi là ánh xạ 1 : n).
Phương thức chọn tác vụ trùng lặp (hay những thanh chuyển có cùng nhãn):
chooseEnabledDuplicateTask:
1: candidateList select all enabled duplicates
2: if length of candidateList = 0 then
3: return NULL
4: else if length of candidateList =1 then
5: return the only enabled duplicate
6: else
7: clone replay scenario for each candidate and fire corresponding transition
8: return traceBestCandidate(…)
9: end if
40
Phương thức chooseEnabledDuplicateTask () là phương thức đệ quy để lựa chọn
tác vụ phù hợp nhất (trong số những tác vụ trùng lặp), tương ứng với sự kiện đang xét
trong quá trình phát lại. Vấn đề này là do trong quá trình ánh xạ mô hình quá trình và
nhật ký sự kiện có những trường hợp một sự kiện tương ứng với nhiều tác vụ trong mô
hình. Do đó, khi sư kiện đó được phát lại, phải chọn xem tác vụ nào trong mô hình là
phù hợp với sự kiện đó nhất.
Đầu tiên, tìm danh sách các tác vụ trùng lặp tương ứng với sự kiện đang xét. Nếu
không có tác vụ nào được tìm thấy, phương thức trả về NULL. Nếu chỉ có một tác vụ
được thấy, phương thức trả về tác vụ đó. Trong trường hợp có nhiều hơn một tác vụ
traeBestCandidate:
1: if no log events left then
2: return any of remaining candidateList // (a)
3: else
4: fetch next log event
5: nextTask determine transition(s) associated to log event
6: for each scenario from candidateList do
7: if nextTask is duplicate task then
8: nextTask chooseEnabledDuplicateTask(…)
9: else if nextTask is not enable then
10: nextTask NULL
11: end if
12: if nextTask = NULL then
13: remove current from candidateList
14: else
15: further trace replay scenario via firing nextTask
16: end if
17 end for
18: end if
19: if length of candidateList = 0 then
20: return any of remaining candidateList // (b)
21: else if length of candidateList = 1 then
22: return the only remaining candidate // (c)
23: else
24: return traceBestCandidate(…)
25: end if
41
được tìm thấy (một danh sách tác vụ ứng cử), cần phải xem xét để chọn tác vụ thích
hợp nhất, khi dó phương thức chooseEnabledDuplicateTask () được gọi. Nó sao chép
kịch bản phát lại hiện tại với mỗi tác vụ trùng lặp và cháy thanh chuyển tương ứng với
tác vụ đó. Sau đó trỏ đến phương thức đệ quy theo dấu những kịch bản trên:
traeBestCandidate(). Phương thức này sẽ không trả về kết quả cho đến khi chỉ còn lại
một kịch bản duy nhất. Đầu tiên, điều kiện kết thúc được kiểm tra:
(a) Nếu không có sự kiện nào còn lại trong dấu vết hiện tại đang được phát lại,
phương thức trả về bất kì tác vụ nào trong danh sách tác vụ ứng cử và kết thúc.
Giả sử rằng (a) không được thỏa mãn, sự kiện tiếp theo trong dấu vết hiện tại
đang được phát lại được tải lên, và những tác vụ tương ứng với sự kiện đó trong mô
hình được xác định. Nếu chỉ có một tác vụ tương ứng với sự kiện đó, tức là không phải
là tác vụ trùng lặp, nhưng tác vụ đó không được kích hoạt, thì loại bỏ tác vụ đó ra khỏi
danh sách tác vụ ứng cử. Trái lại, thực hiện tiếp kịch bản phát lại tương ứng với tác vụ
đó. Còn nếu tác vụ đó là tác vụ trùng lặp, tiến hành gọi đệ quy phương thức
chooseEnabledDuplicateTask (). Cuối cùng tiến hành kiểm tra số lượng những kịch
bản còn lại:
(b) Nếu sau khi phát lại tác vụ đó, không còn lại kịch bản nào trong danh sách thì
phương thức trả về bất kí một tác vụ nào trong danh sách tác vụ ứng cử được
giữ lại trước đó.
(c) Nếu chỉ còn duy nhất một kịch bản còn lại trong danh sách, phương thức trả về
kịch bản đó.
3.2. Phát biểu bài toán
Dựa trên cở sở những lý thuyết trình bày trong các chương, tôi xin phát biểu bài
toán kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện bằng phương pháp
phát lại như sau:
Đầu vào: Mô hình quá trình và nhật ký sự kiện đã có
Đầu ra: Những độ đo đánh giá sự phù hợp được tính toán dựa trên phương
pháp phát lại.
42
3.3. Mô hình giải quyết bài toán
Từ cơ sở lý thuyết những độ đo và nội dung giải thuật phát lại trình bày trong
chương này, khóa luận xây dựng mô hình giải quyết bài toán gồm 4 pha chính như
sau:
Hình 3.1: Mô hình giải quyết bài toán
Nhật ký sự
kiện
Mô hình quá
trình
Ánh xạ mô hình quá trình với nhật
ký sự kiện
Phát lại nhật ký sự
kiện trên mô hình
Tính fitness Tính
Precision
Tính
Structure
Đánh giá
Phân tích không gian
trạng thái
Phân tích cấu trúc
Xử lý
43
Pha 1: Ánh xạ mô hình quá trình và nhật ký sự kiện. Tức là ánh xạ những tác vụ trong
mô hình quá trình với những sự kiện trong nhật ký sự kiện.
Ví dụ sau minh họa quá việc ánh xạ mô hình quá trình và nhật ký sự kiện
Bảng 3.1: Ví dụ ánh xạ mô hình quá trình và nhật ký sự kiện
Tác vụ trong
mô hình
Sự kiện trong
nhật ký
Nhãn sự kiện
sau khi ánh xạ
A1 A A
B1 B B
C1 C C
D1 D D
Pha 2: Xử lý, trong pha này chúng ta thực hiện ba quá trình thành phần.
Quá trình phát lại nhật ký sự kiện trên mô hình quá trình, thực hiện phương pháp
phát lại được giới thiệu ở mục 3.1, để tính độ đo fitness được trình bày trong mục
2.2.1.
Quá trình phân tích không gian trạng thái, thực hiện xây dựng tập quan hệ giữa
các tác vụ trong mô hình quá trình và tập quan hệ giữa các sự kiện trong nhật ký sự
kiện để tính độ đo precision nâng cao được trình bày trong mục 2.2.2.
Quá trình phân tích cấu trúc thực hiện phân tích những cấu trúc tác vụ ẩn và tác
vụ trùng lặp trong mô hình để tính độ đo structure nâng cao được trình bày trong mục
2.2.3.
Pha 3: Tính toán các độ đo fitness, precision, structure theo những công thức đã
được đề cập trong mục 2.2.1, 2.2.2, và 2.2.3, dựa trên những kết quả thu được trong
pha xử lý
Pha 4: Đánh giá, tức là dựa vào những độ đo thu được từ pha 3 để đánh giá sự
phù hợp của mô hình quá trình và nhật ký sự kiện.
44
3.4. Tóm tắt chƣơng ba
Trong chương này, khóa luận đã trình bày chi tiết về giải thuật phát lại được
dùng trong quá trình phát lại để tính toán các độ đo phù hợp được trình bày trong
chương hai. Ngoài ra khóa luận đưa ra mô hình giải quyết bài toán. Trong đó, khóa
luận tập trung vào thay đổi một khía cạnh trong phương thức phát lại, đó là cố gắng
sinh ra một không gian trạng thái đầy đủ hơn để tìm kiếm đường đi ngắn nhất (chuỗi
những thanh chuyển có thể cháy ngắn nhất) dẫn đến kích hoạt các thanh chuyển không
được kích hoạt trực tiếp đang được yêu cầu trong quá trình phát lại, nhằm hướng tới
thu được kết quả phát lại chính xác hơn. Đồng thời, không gian trạng thái đó cũng
được sử dụng trong quá trình phân tích không gian trạng thái để tính độ đo precision,
do đó một không gian trạng thái đầy đủ hơn có thể sẽ cho kết quả độ đo precision
chính xác hơn.
Trong chương tiếp theo, khóa luận trình bày về quá trình thực nghiệm với mô
hình giải quyết bài toán và thực nghiệm với phương pháp phát lại thay đổi trên dữ liệu
nhật ký sự kiện.
45
Chƣơng 4: THỰC NGHIỆM
Dựa vào mô hình đề xuất ở chương ba, chúng tôi tiến hành thực nghiệm mô hình
giải quyết bài toán bằng cách sử dụng plugin Conformance Checker tích hợp trong bộ
công cụ mã nguồn mở ProM 5.2. Bước 1 của thực nghiệm, chúng tôi thực nghiệm mô
hình giải quyết bài toán với giải thuật phát lại và giải thuật phát lại thay đổi, trên bộ dữ
liệu một - DL1 (gồm một nhật ký sự kiện và bốn mô hình quá trình tương ứng) được
tạo ra một cách nhân tạo nhằm kiểm tra tính đúng đắn của mô hình giải quyết bài toán
(trong bộ dữ liệu đó mức độ phù hợp của mỗi mô hình so với nhật ký sự kiện đã được
biết trước). Bước 2 của thực nghiệm, chúng tôi thực nghiệm tương tự Bước 1 trên bộ
dữ liệu hai – DL2 (gồm tập những cặp mô hình quá trình và nhật ký sự kiện tương
ứng, trong đó số tác vụ trong mô hình quá trình và số sự kiện trong nhật ký sự kiện lớn
hơn so với DL1) để đánh giá sự thay đổi trong giải thuật phát lại có ảnh hưởng như thế
nào đến kết quả thu được của các độ đo. Lý do chúng tôi chọn tập dữ liệu này là bởi
trong thay đổi đề xuất, chúng tôi mở rộng không gian trạng thái để có thể tăng độ
chính xác trong quá trình phân tích và xử lý, do đó cần mô hình quá trình có kích
thước tương đối lớn để có thể kiểm chứng sự thay đổi nếu có.
Môi trường và công cụ thực nghiệm
Cấu hình phần cứng:
Bảng 4.1: Cấu hình hệ thống thử nghiệm
Thành phần Chỉ số
CPU 2.0 GHz Core Duo Intel
RAM 2GB
OS Windows7
Bộ nhớ ngoài 250GB
Các phần mềm sử dụng:
Bảng 4.2: Các phần mềm sử dụng
STT Tên Phần mềm Nguồn
1 Eclipse – SDK 3.5
win32
http://www.eclipse.org/downloads
2 ProM 5.2 http://www.promtools.org/prom5/
46
4.1. Dữ liệu thực nghiệm
4.1.1. Dữ liệu sử dụng trong bƣớc một của quá trình thực nghiệm (DL1)
Nguồn dữ liệu: Tải dữ liệu về từ trang web:
http://www.processmining.org/_media/processminingbook/chapter_7.zip
Bộ dữ liệu này là bộ dữ liệu được sử dụng làm ví dụ trong chương bảy của tài
liệu tham khảo [1]. Nó bao gồm một nhật ký sự kiện và bốn mô hình quá trình tương
ứng:
Hình 4.1: Nhật ký sự kiện L1 của DL1
47
Hình 4.2: Mô hình quá trình N1 của DL1
Hình 4.3: Mô hình quá trình N2 của DL1
Hình 4.4: Mô hình quá trình N3 của DL1
Hình 4.5: Mô hình quá trình N4 của DL1
Trong 4 mô hình quá trình trên, thì mô hình N1 là mô hình phù hợp nhất đối với
nhật ký sự kiện L1. Dựa vào đó, quá trình thực nghiệm sẽ tiến hành kiểm tra sự phù
hợp của các mô hình N1, N2, N3, N4 với nhật ký sự kiện L1 để kiểm chứng nhận thức
trên.
48
4.1.2. Dữ liệu sử dụng trong bƣớc hai của quá trình thực nghiệm (DL2)
Nguồn dữ liệu: Tải dữ liệu về tại trang web:
http://data.3tu.nl/repository/uuid:44c32783-15d0-4dbd-af8a-
78b97be3de49
Tên bộ dữ liệu: 'Conformance Checking in the Large' (BPM 2013)
Đây là bộ dữ liệu được cung cấp bởi Munoz-Gama, Jorge (Universitat
Politecnica de Catalunya), ngày 27/3/2013 tại BPM 2013. Bộ dữ liệu này gồm một tập
dữ liệu (nhật ký sự kiện và mô hình) được xây dựng cho bài toán kiểm tra sự phù hợp
với kích thước mô hình quá trình lớn (trên 320 thanh chuyển).
Trong bộ dữ liệu này có 7 cặp dữ liệu (mô hình quá trình + nhật ký sự kiện):
prAm6, prBm6, prCm6, prDm6, prEm6, prFm6, prGm6. Trong thực nghiệm này
chúng tôi chọn 3 cặp dữ liệu để tiến hành thực nghiệm đó là: prAm6, prBm6 và
prDm6.
4.2. Thực nghiệm
Các bước tiến hành thực nghiệm được tiến hành như sau:
Bƣớc 1: Thực nghiệm mô hình giải quyết bài toán với giải thuật phát lại và giải
thuật phát lại thay đổi trên bộ dữ liệu DL1 để kiểm chứng tính đúng đắn của mô hình.
Bƣớc 2: Thực nghiệm mô hình giải quyết bài toán với giải thuật phát lại và giải
thuật phát lại thay đổi trên bộ dữ liệu DL2 để đánh giá những thay đổi nếu có trong đề
xuất thay đổi giải thuật phát lai.
49
4.3. Kết quả thực nghiệm
4.3.1. Kết quả thực nghiệm Bƣớc 1
Thực nghiệm với giải thuật phát lại chưa thay đổi:
Bảng 4.3: Kết quả thực nghiệm Bước 1, với giải thuật phát lại chưa thay đổi
Mô hình fitness precision structure
N1 1.0 0.97619045 1.0
N2 0.95039195 0.97619045 1.0
N3 0.8796777 1.0 1.0
N4 1.0 0.7756839 1.0
Thực nghiệm với giải thuật phát lại thay đổi:
Bảng 4.4: Kết quả thực nghiệm Bước 1, với giải thuật phát lại thay đổi
Mô hình fitness precision structure
N1 1.0 0.97619045 1.0
N2 0.95039195 0.97619045 1.0
N3 0.8796777 1.0 1.0
N4 1.0 0.7756839 1.0
Trong Bước 1, không có sự khác biệt khi thực nghiệm giữa hai giải thuật (vì mô
hình quá trình có kích thước nhỏ, nên khó có sự thay đổi trong không gian trạng thái),
và đây cũng là lý do chúng tôi thực nghiệm Bước 2 với mô hình quá trình có kích
thước lớn hơn. Tổng hợp kết quả thực nghiệm Bước 1 ta có:
Hình 4.6: Đồ thị tổng hợp kết quả thực nghiệm Bước 1
0.72
0.77
0.82
0.87
0.92
0.97
1.02
N1 N2 N3 N4
fitness
precision
structure
50
4.3.2. Kết quả thực nghiệm Bƣớc 2
Thực nghiệm với giải thuật phát lại chưa thay đổi:
Bảng 4.5: Kết quả thực nghiệm Bước 2, với giải thuật phát lại chưa thay đổi
Tập dữ liệu fitness precision structure
prAm6 0.94943047 0.73098 1.0
prBm6 1.0 0.9269284 1.0
prDm6 0.9664088 0.7181392 1.0
Thực nghiệm với giải thuật phát thay đổi:
Bảng 4.6: Kết quả thực nghiệm Bước 2, với giải thuật phát lại thay đổi
Tập dữ liệu fitness precision structure
prAm6 0.94943047 0.7484517 1.0
prBm6 1.0 0.918151 1.0
prDm6 0.9664088 0.732147 1.0
Trong Bước 2, kết quả thực nghiệm giữa hai giải thuật có sự khác nhau về chỉ số
precision. Do đó ta gọi chỉ số precision của thực nghiệm với giải thuật phát lại ban đầu
là precision1, và với giải thuật phát lại thay đổi là precision2. Tổng hợp kết quả thực
nghiệm Bước 2 ta có:
Hình 4.7: Đồ thị tổng hợp kết quả thực nghiệm Bước 2
0.62
0.67
0.72
0.77
0.82
0.87
0.92
0.97
1.02
prAm6 prBm6 prDm6
fitness
precision1
precision2
structure
51
4.4. Đánh giá
Như trong thực nghiệm này, chúng tôi tiến hành thực nghiệm trên bộ dữ liệu một
– DL1 để kiểm chứng tính đúng đắn của mô hình giải quyết bài toán. Và tiến hành
thực nghiệm trên bộ dữ liệu 2 – DL2 để đánh giá những thay đổi nếu có trong đề xuất
thay đổi giải thuật phát lại. Chúng ta dựa vào những giá trị độ đo thu được để đánh giá
kết quả thực nghiệm.
Như theo kết quả thực nghiệm Bước 1, thì những độ đo phù hợp đối với mô hình
N1 (1, 0.97619045, 1.0) đều cao hơn so với các mô hình N2, N3, N4. Điều đó chứng
tỏ mô hình N1 phù hợp với nhật ký sự kiện L1 hơn các mô hình khác, điều này trùng
khớp với nhận thức ban đầu rằng mô hình N1 phù hợp hơn các mô hình còn lại. Kết
quả này cho thấy phương pháp được tiến hành là đúng đắn. Tuy nhiên theo như kết
quả thực nghiệm ta thấy rằng, do kích thước của mô hình nhỏ (chỉ gồm 8 tác vụ: được
gán nhãn từ a đến h), nên khó có sự thay đổi trong không gian trạng thái. Do đó kết
quả thực nghiệm Bước 1 không có gì khác nhau giữa hai phương pháp.
Theo kết quả thực nghiệm ở Bước 2, sau khi thực nghiệm với giải thuật phát lại
thay đổi thì ta thấy rằng: giá trị của độ đo precision có thể thay đổi theo hai chiều
hướng, có thể tăng (trường hợp với hai cặp dữ liệu prAm6 và prDm6) và cũng có thể
giảm (trường hợp với cặp dữ liệu prBm6). Điều đó cho thấy rằng thay đổi trong
phương pháp phát lại (mục đích nhằm mở rộng không gian trạng thái) có tác động làm
thay đổi giá trị độ đo precision (điều này là hợp lý vì độ đo precision được tính dựa
trên sự phân tích không gian trạng thái để tìm tập quan hệ giữa các tác vụ). Tuy nhiên
tri phí thời gian cho quá trình xử lý và tài nguyên bộ nhớ cũng phải tốn nhiều hơn khi
không gian trạng thái cần phân tích được mở rộng. Do đó cần xem xét, đánh giá đến
góc độ thời gian để lựa chọn phương pháp cho phù hợp.
52
Kết luận và định hƣớng nghiên cứu tiếp theo
Khai phá quá trình kết hợp khai phá dữ liệu với mô hình hóa quá trình kinh
doanh là chủ đề nghiên cứu thời sự, có ý nghĩa khoa học và thực tiễn. Khóa luận tập
trung vào các giải phát phát lại giải quyết bài toán kiểm tra sự phù hợp, một trong ba
bài toán cơ bản của khai phá quá trình.
Khóa luận đã trình bày các nội dung cơ bản bài toán kiểm tra sự phù hợp của mô
hình quá trình và nhật ký sự kiện, nêu được quan hệ của nó trong hoạt động kinh
doanh và kiểm toán của doanh nghiệp. Hơn nữa, các độ đo được sử dụng để đánh giá
sự phù hợp được trình bày một cách tường minh.
Trong khóa luận, hướng giải quyết bài toán dựa trên phương pháp phát lại đã
được giới thiệu và các giải thuật cụ thể trong phương pháp phát lại kiểm tra sự phù
hợp được phân tích kỹ lưỡng.
Khóa luận đã đưa ra ý tưởng thay đổi, mở rộng không gian trạng thái của mô
hình để tìm kiếm chuỗi thanh chuyển có thể cháy ngắn nhất mà có thể kích hoạt thanh
chuyển không được kích hoạt trực tiếp đang được yêu cầu trong quá trình phát lại.
Đồng thời, không gian trạng thái đó cũng được sử dụng trong quá trình phân tích
không gian trạng thái. Thi hành ý tưởng đó vào hệ thống PRoM. Kết quả thực nghiệm
cho thấy là hướng thay đổi đó có thể đem lại một kết quả tốt hơn trong quá trình phát
lại. Tuy nhiên tri phí thời gian và tài nguyên bộ nhớ có thể sẽ cao hơn.
Trong thời gian tới, tôi sẽ tiếp tục mở rộng khóa luận bằng cách thay đổi một số
thủ tục, cũng như thuật toán trong phương pháp phát lại, từ đó có thể thu được kết quả
khả quan hơn. Ngoài ra tôi sẽ tiếp tục tìm hiểu, nghiên cứu để có thể ứng dụng kỹ
thuật này vào một số doanh nghiệp kinh doanh ở Việt Nam.
53
Tài liệu tham khảo
[1] WMP Van der Aalst (2011). Process Mining: Discovery, Conformance and
Enhancement of Business Processes, Springer.
[2] A. Adriansyah, B.F. van Dongen, and W.M.P. van der Aalst (2010). Towards
Robust Conformance Checking. Business Process Management Workshops
2010:122-133
[3] A.K.A de Medeiros, A.J.M.M. Weijters, and W.M.P. van der Aalst (2007).
Genetic Process Mining: An Experimental Evaluation. Data Mining and
Knowledge Discovery, 14 (2):245–304.
[4] A.K.A. de Medeiros, W.M.P. van der Aalst, and A.J.M.M. Weijters (2008).
Quantifying Process Equivalence Based on Observed Behavior. Data and
Knowledge Engineering, 64 (1):55–74.
[5] Michael Hammer (2010). What is Business Process Management?
Handbooks on business process management 1: 3-16.
[6] A. Rozinat and W.M.P. van der Aalst (2008). Conformance Checking of
Processes Based on Moni-toring Real Behavior. Information Systems, 33
(1):64–95.
[7] J.E. Cook and A.L. Wolf (1999). Software Process Validation: Quantitatively
Measuring the Correspondence of a Process to a Model. ACM Transactions
on Software Engineering and Methodology, 8 (2):147–176.
[8] W.M.P. van der Aalst and A.K.A. de Medeiros (2004). Process Mining and
Security: Detecting Anomalous Process Executions and Checking Process
Conformance. WISP 2004: 69–84.
[9] W.M.P. van der Aalst, A.K.A. de Medeiros, and A.J.M.M. Weijters (2005).
Genetic Process Mining. ICATPN 2005: 48-69.
[10] W.M.P. van der Aalst (2004). Business Alignment: Using Process Mining as
a Tool for Delta Analysis. BPMDS‟04: 138–145.
[11] D. Grigori, F. Casati, U. Dayal, and M.C. Shan (2001). Improving Business
Process Quality through Exception Understanding, Prediction, and
Prevention. VLDB 2001: 159-168.
[12] M.zur MÄuhlen and M. Rosemann (2000). Workflow-based Process
Monitoring and Controlling - Technical and Organizational Issues. HICSS
2000.
[13] A. Rozinat and W.M.P. van der Aalst (2005). Conformance Testing:
Measuring the Alignment Between Event Logs and Process Models. BETA
Working Paper Series (WP 144), Eindhoven University of Technology,
Eindhoven, 2005.
54
[14] A. Rozinat and W.M.P. van der Aalst. Conformance Testing: Measuring the
Fit and Appropriateness of Event Logs and Process Models. Business
Process Management Workshops 2005:163-176.
[15] W. Reisig and G. Rozenberg (editors, 1998). Lectures on Petri Nets I: Basic
Models, Lecture Notes in Computer Science, 1491, Springer-Verlag, Berlin.
[16] A. Rozinat (2010). Process Mining: Conformance and Extension. PhD
Thesis, Eindhoven Univer-sity of Technology.
[17] A.K. Alves de Medeiros (2006). Genetic Process Mining. PhD Thesis,
Eindhoven University of Technology, Eindhoven.
[18] C.W. Gunther (2009). Process Mining in Flexible Environments. PhD
Thesis, Technical University Eindhoven.
Recommended