Giới thiệu chung Như phần 2.1 đã trình bày, vì đặc điểm của dữ liệu là dạng chuỗi đài theo thời gian và có rất nhiều ứng dụng khác nhau được đưa vào sử dụng nên khi chúng tôi thử nghiệm
Trang 1ĐẠI HỌC QUỐC GIÁ HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NHỆ
ĐÀO THẺ MÃN
UNG DUNG PHAN TICH MAU CHUOI TUAN TU
VÀO VIỆC PHÁT HIỆN THÓI QUEN SỬ DỤNG
CAC UNG DUNG TREN THIET BI DI DONG
Ngành: Công nghệ (thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SỸ CÔNG NGHE THONG TIN
NGUOI HUONG DAN KHOA HOC: PGS TS NGUYEN HA NAM
HÀ NỘI - 2013
Trang 2
MUC LUC
DANH MUC CAC HINH V! -
DANH MỤC CAC KITIMU VA cit VI
DANII MUC CAC BANG
Chương 1 - GIỚI THIỆU
2.1 Đặc điểm của dữ liệu
2.2 Khai phá đữ liệu mẫu chuỗi tuần tự
2.2.2 Bài toán Khai phá mẫu chuỗi tuần tự 15 2.2.3 Một số thuật toán khai phá mẫu tuần tự 18
3.1 Mô hình đề xuất tổng thê
3.2 Các phương án tách chuỗi
3.3 Tách Ttemsct trong chuối
3.4 Tỉnh thời gian cho phương án tách chuỗi 25
Chương 4 - THỰU NGHIÊM 30
4.1 Bộ đữ liệu thứ nhất
Phu luc B — MỘT SỐ KẾT QUÁ THỰU NGHIÊM CỤ THỂ “4
BI Kết quả thực nghiệm bộ đữ liệu thứ I
12 Kết qua thực nghiệm Bộ dữ liệu thứ 2
Trang 3DANH MỤC CÁC TÌNH VẼ
Hình 2.1 IDữ liệu thu được từ TBI2Đ sử dụng Hệ diều hành Android 12
Hình 2.2 IDữ liêu ứng dụng gốc được lấy ra từ Hinh 2.1 13 Ilinh 2.3 Giải thuật DFS với Kỹ thuật cắt tỉa
Hinh 3.2 Mé hinh dé xuất tông thể khai phá thói quen sử dụng phần mềm trên
Hình 3.3 Phân tách đữ liệu theo các buổi trong ngày 22
Hình 3.4 Phần tách đữ liệu theo n ngày HH
Tình 3.5 Phân tách đữ liệu theo khoảng thời gian sử dụng “
Hình 3.6 Phân lách đữ liệu thco thời gian trong củng một Iuemset 24
Hình 4.1 Giao điện của chương trình khan “
Ilinh 4.2 Đồ thị so sánh giữa 2 giải pháp phân tách bộ dữ liệu 1 với rminSup
— {45% - 65%} 33
Hinh 4.3 Da thi so sanh gitta 2 gidi ¡ pháp phân tách bộ dữ liệu 1 với minSup
Hình 4.4 Dé thị so sánh giữa 2 giải ải pháp phân tách bộ đữ liệu 2
Hình 4.5 Dé thị so sánh giữa 2 giải pháp phân tách bộ đữ liệu 2
Trang 4DANITMỤC CÁC KÍ IIỆU VÀ CHỮ VIẾT TÁT
Trang 5
DANII MUC CAC BANG
Bang 2.3 Danh mục thỏa mãn điều kiện minsup = 40%
Bảng 3.1 Khoảng cách thời gian giữa các sự kiện
Bang 3.2 chuỗi con chứa <ac> và khoảng thời gian phân tách
Bảng 3.3 chuỗi con chứa <dÍ> và khoăng thời gian phân tách
Bảng 4.1 Một số
Bang 4.2 Kết quả thử nghiệm trên bộ dữ liệu 1 phân tách theo hành vi
Bảng 4.3 Kết quả thử nghiệm trên bộ dữ liệu I phân tách theo ngày
Tăng 4.3 Kết quả thử nghiệm trên bộ dữ liệu 2 phân tách theo hành vi
Bảng 4.4 Kết quá thứ nghiệm trên bộ dữ liệu 2 phân tách tho ngày
âu trong Hình Ð.! và ý nghĩa phân tach
Trang 6MO DAU
Thién nay, xu hướng công nghệ phục vụ người tiêu dùng trên thế giới đang
chuyển sang công nghệ di động thể hiện qua việc rải nhiều hãng tên luỗi trên thể
giới đã và đang chuyển sang nghiên cứu, sản xuất đưa ra thị các thiết bị di động
(IBDB) théng minh nhu Sony, Philips, Panasonic, HP, Microsoft, Lenovo,
L@, Mỗi một TBDD bây giờ đã được tích hợp rất nhiễu tính năng như: điện
Thoại, máy ảnh, máy quay phim, thiét bi multi media, máy tính, điều khiến từ xa,
để phục vụ ngày càng nhiều nhu cầu của người dùng như liên lạc, giải trí, khai thác thông tin, xử lý công việc, kinh doanh trực tuyến, điều khiển các thiết bị từ
xa, của khách hàng,
Nhù cầu sử dụng các TBIDĐ thông mình dang là một xu hướng không biên
piới giữa các quốc gia, giữa các tầng lớp dân chúng Chính vì vậy, các hãng sản
xuất đã liên tục tung ra các dàng sắn phẩm mới nhằm chiếm lĩnh thị trường cũng,
như cạnh tranh với các đối thủ Từ đó, nhu cầu nghiên cứu về những hành vi,
thói quen, xu hướng sử đựng của người dùng trên các TBDĐ đang được đặt ra
một cách cấp thiết cho tắt cả các hãng sản xuất
Nghiên cứu hành vi, thỏi quen, mạng xã hội của những người dùng trồn
TBDP dang là một trong những dỀ lái nóng bỏng trên thể giới hiện nay, nú phục
vụ cho nhiều ngành khác nhau như tâm lý, xã hội, chiến lược kinh doanh của các
hãng sản xuất, Do đó, chúng tôi đã lựa chọn để tải nghiện cứu thói quen sử
dụng phần mễm trên các TBDD để làm để tải khóa luận tốt nghiệp này
Nghiên cứu hành vi, thói quen sử dụng các phần mềm trên TRDD sẽ là bước đầu tiên cho việc nghiên cứu các ngành khác trên 'TBI2I2 như tâm lý, mang
xã hội, vì mỗi phần mềm đó đều thuộc vào một trong các lớp ửng dụng trên
thiết bị (như lớp nhạc, lớp phim, lớp game, lớp tài chính, lớp liên lạc, .)
Nghiên cứu thói quen của người sử dụng, thông thường là việc nghiên cứu
để dưa ra dược những hành vi mang tỉnh ph „ những hảnh vi mang tỉnh quy
luật, những hành vi mang tính phổ biến tuần tự, trong một khoảng thời gian
và không gian nhất định Ứng với dễ tài này, thì việc nghiên cứu đễ dưa ra dược
những hành vi mang tính phổ biến tuần tự trong khoảng thời gian nhất định vì không gian ở đây chính là các TBDĐ
Tuy nhiên, để có thể giới hạn khoảng thời gian để đưa ra các hành ví mang
tính phổ biến đối theo trình tự với tập đữ liệu dạng chuỗi dài là một vấn để cần
3
Trang 7quan tâm giải quyết trước khi đưa các giải thuật vào áp dung Đó cũng chính là mục tiêu nghiên cứu của Luận văn này
Phạm vi nghiên cứu: Nghiên cứu trên tập dữ liệu về các ứng dụng được
kích hoạt trên TBDĐ sử dụng hộ điều hành Android đã được chuẩn hóa, tức lá
tên các ứng dụng đều được quy về tên ứng dụng pốc ban đầu (nếu tên ứng dụng,
do người dùng thay đổi), thời gian bắt đầu chay ứng dụng, thời gian kết thúc thực thi ứng đụng được quy chuẩn định dạng giống nhau, để đưa ra được các
hanh vi mang tinh phổ biển cỏ trình tự theo thời gian
Trang 8Chương 1 - GIỚI THIỆU
Ngày nay, diện thoại đi dông là thiết bị phổ biến và gần như là phương tiện
không thể thiếu được của con người Diện thoại giá thành rễ, đa dang lại được
tích hợp nhiều thiết bị như quay phim, chụp ảnh, nghe nhạc, Bluetooth, thiết bị
dinh vi, tinh chiéu, máy lính phục vụ dược rất nhiều như cầu của người
dùng như liên lạc, giải trí, kinh doanh (chứng khoán, vàng, và các kim loại quý
khác, dầu mo, .), diều khiển từ xa,
Thời gian gần dây, các hãng liên tục nghiên cứu, tung ra thị trường nhiều
'TBDD với mục tiêu là chiếm lĩnh thị trường càng nhiễu càng tốt Bên cạnh đó,
đã có rất công ty phần mêm cũng đang chuyển hướng sang nghiên cứu và phát triển các ứng dụng rên TBDD
Việc nắm bắt được các thói quen, hành vị của người dùng đang là một trong những vấn đề cấp thiết được đặt ra cho các doanh nghiệp sẵn xuất hoặc
kinh doanh các phần mềm lrên TBDĐ Nếu các kết quả nghiên cứu mang lính
khả quan thì từ đó người ta có thể đưa ra được các chiến lược kinh doanh hoặc các chiến lược phát triển các phần mềm tiềm năng như phần mềm tích hợp, các
phần mềm cần được nâng cấp, cải tiền,
Dữ liệu log file trên các 'TBDDĐ lưu trữ những hoạt động mả người dùng sử
dụng trong TBDD như dữ liệu về cuộc gọi, đữ liệu về tin nhắn, đữ liệu về các
ứng dụng, dữ liệu về vị tri, đữ liệu về thiết bị, mail, game, kinh đoanh, đỡ liệu
Bluetooth,
'Tù những đữ liệu trên, hiện đang có một số xu hướng nghiên cứu sau
Một số nghiên cứu tìm các hanh vi, thỏi quen dựa trên dữ liêu vị trí và dữ liệu Bluetooth Trong [1-1], các tác giả đựa vào thông tin vị trí của TDDĐ được
hành vi, thỏi quen Nhóm tác giả đã phân tich, xây dựng mô hình về các mỗi quan hệ xã hội và các
cung cấp bởi các nhà mạng đề nghiên cứu, phân loại
thói quen hàng ngày của các cá nhân bằng cách sử dụng đữ liệu điện di đông của
các cá nhân đó dựa trên việc phân loại dữ liệu II của điện thoại di động vào địa điểm khác nhau vả từ đó phân tích các thói quen hành vi của người sử dụng Các nghiên cứu này sử dụng đữ liệu thu được thêng qua Biuetoath để phân biệt giữa
các ngày trong tuần hoặc cuối Luẫn [lan ché cua các nghiên cứu trên là thông tin
của II) di dộng, chỉ có thể cung cấp các thông tin về vị trí Nó không thể biết về
Trang 9các hoạt động ớ mức thấp.Ví dụ, đữ liệu ID đi động có thể cho biết người sứ dung lại nhà hoặc tại văn phòng / trường nhưng nó không thể cho biết các hoạt
đông bên trong như tham dự các bải giăng hoặc ngôi trong quản ăn tư phục vụ
Trả người dùng tham gia
Khắc phục những điểm này đã có một loạt các bài báo đã nghiên cứu hành
vi của các cá nhân thông quan sự kết hợp cả hai loại đữ liêu là đữ liệu từ các nhả
cung cấp địch vụ về TDDĐ và đữ liệu thu được từ các thiết bị Bluetooth duoc
gắn trên TDDĐ Đặc điểm của đữ liệu thu được từ thiết bị Bluetooth cho phép lưu lại các thông tin kết nối Irong phạm vi nhỏ và là một định danh cá nhân, một thiết bị cảm biến Việc áp dụng 2 loại dữ liệu nảy cũng được dùng để nghiên cứu
để tìm ra những hành vị bất thường của các cá nhân nhằm phục vụ việc theo dõi
người giả hoặc những người có đấu hiệu của bệnh mắt trí nhớ như các bài báo
[6, 7] Trong [6], tác giả đã trành bảy một quy trình cho việc phát hiện các hành
vi khác thường của con người bên trong một ngôi nhà thông mình Tác giả sử
đụng cảm biến chuyển động để phát hiện các hoạt dộng và các mẫu hành vị bất
thường của con người dựa trên chuỗi Markov Giới han của công việc này là họ chỉ xem xét các hoạt động xảy ra bên trong nhà Để phân tích hành vi và các hoạt động của con người, một số nhà nghiên cứu đã sử dụng các thiết bị khác
như, gia tốc, máy ảnh kỹ thuật số và micro Một số kỹ thuật đã được trình bày
ủa một cá nhân dơn lẻ Ví dụ,
cho phân tích hành xi của nhiều cá nhân thay vì
trong [8] tác giả để xuất một quy trình xác định các hành vi trong không gian
han ché Công việc này tập trung vào những chuyển động bên trong một tòa nhà Tương tự như phát hiện hành vi của nhiều cá nhân là gom nhóm các hành động
trong cuộc họp được trình bày trong [9] Tuy nhiên, đa số các nghiên cứu trên đã
tập trung vào môi trường trong nhà, vì nó được dựa trên các thiết bị cám biến trong đó lo vậy, có một vài hạn chế như phạm vị ngắn của thiết bị phát hiện
sóng, pin nguồn kém, khả năng lưu trữ không được nhiều, do đó là không khả thi dỗi với môi trường ngoài trời
Mạng Nơ ron [10, 11] được sử dụng để phát hiện vả dự đoán sự chuyển đông của người ding diva trên những ID điện thoại di động và xác suất của
người sử dụng tại cáo địa điểm khác nhau Trong [5] ngoai viée sir dung xác suất
của người dùng là khác nhau ở các dịa điểm khác nhau, hợ còn sử dụng đữ liệu theo thời gian thực về øã ID di động và dữ liệu Bluetooth Các tác giá xây dựng
lên quy trình để phân tích đữ liệu cho việc xác định hành vi Dễ đạt được mục
8
Trang 10tiêu đó, thi nhóm táo giả đã xây dựng quy trình để thực hiện các công đoạn sau
tiên, họ gom cụm từng hoạt động của người cao tuổi với thời gian và sau đó, dựa
vào kỹ thuật luật kết hợp để tìm tất cả các tập hành động thường xuyên
Cao và các công sự [23] dễ xuất một cách tiếp cân hiệu quả cho khai thác
thói quen trên điện thoại đi đông Họ khai thác mỗi liên hệ giữa tương tác của
người dùng với bối cảnh sử dụng, đữ liệu từ Ble log của điện thoại di động được
sử dụng để khám phá ra thói quen người dùng Các tác gid đã đưa ra một thuật
toán hiệu quả dễ giải quyết bài toán nay Các tác giã đã sử dựng các độ hỗ trợ khác nhau, các đề tin cậy khác nhau để piái quyết thành công bài toán không cân
bằng dữ liệu giữa dữ liệu ngữ cảnh và dữ liệu tương tác của người dùng với
'TBDD mà các phương pháp tiếp cận truyền thống về tìm luật kết hợp không giải quyết được
Chúng tôi đã chon để tài tìm hiểu thói quen của nhiều người dủng sử dụng
các phần mềm trên điện thoại đi động trong hệ điều hành Android Trong đề tài
nay, chúng tôi chỉ tận trung Lim hiểu và phân tích thông tin về các phần mềm
dược sử dụng trên các TDP Qua việc tìm hiểu dữ liệu này, chúng tôi mong
muốn phát hiên ra các thói quen sử đụng các phần mềm, các loại phần mễm trên
hệ điều hành Android Từ đó ta có thể xây đụng các chiến lược để phát triển các phần mềm liền năng, hoặc các chiến lược khác trong kinh tế như quảng cáo, tiếp thị,
Cấu trúc của luận văn gồm:
Chương 1 Cung cấp thông tin về bài toán phân tích hành vi của người sử dụng trên TBDĐ Trong chương này, chúng tôi trình bày các hương nghiên cứu
hành vi người dùng khác nhau từ dữ Hiệu thư được liên quan TĐDĐ Dang thin,
Trang 11chúng tôi trình bảy về hướng nghién citu và
ách thức giải quyết bài toán của chúng tôi
Chương 2 Trình bày những kiến thức cơ sở để giải quyết bài toán Về dữ
liệu trình bảy đặc điểm của dữ liệu thu được từ pha lấy dữ liệu, cách thức lọo dữ
liệu làm đầu vào cho thuật toán Về giải thuật, đưa ra mô hình khai phá dữ liệu
và trình bày các giải thuật về khai phá mẫu chuỗi tuần tự phổ biễn theo thời gian
va dua ra ly do chon gidi thuat SPAM
Chương 3 lrong chương nảy chúng tôi trình bảy Mô hỉnh khai phá dữ liệu để giải quyết được vấn để của bài toán
Chương 4 Trình bày kết quả thực nghiệm và phân tích kết quả thu được Danh gia tinh dung din và tỉnh hiệu quả của phương pháp để xuất so với một số
phương pháp khác
Chương 5 Kết luận và hướng nghiên cứu tiếp theo
10
Trang 12Chương 2 - TONG QUAN KIIAI PITA MAU CIIUGI TUAN TU
2.1 Đặc điểm của dữ liệu
Dũ liệu thu được từ việc người sử dụng kích hoạt các ứng dụng trên TBDD
sử dụng hệ điều hành Android có dạng như Ilinh 2.1, trong đỏ có các thông tia như sau
AppName: là tên ứng dung
Stop: thé diễm kết thác ứng dụng
PID: ID của ứng dụng
PPID: ID của ứng dụng cha của ứng dung PID
IMEI: md may
Start: thời điểm khởi động ứng dụng
Với đữ liệu sử dụng phần mỗm có thể là rất dải đối với một TBDĐ nếu
được lẫy trong một khoảng thời gian lương đối lớn Hơn nữa, số lượng các ứng
dụng ngày càng nhiều nên khi chúng tôi tim hiểu cách khai phá tập luật tuân tự
thi két quả không có khả quan Nhưng khi chúng tôi tìm hiểu các cách để tìm ra
các mẫu chuỗi tuần tự thi kết quả khả quan hơn Hình 2.1 sau minh họa đữ liệu
lẫy được Lừ pha lây đữ liệu, La có thể nhận ra được rằng trưng một thời gian rất
ngắn, dữ liệu đã ghi nhận rất nhiều img dung duoc kích hoạt
Khi quan sát dữ liệu trong Tình 2.1 chủng ta nhận thấy, đữ liệu được lưu
quá nhiều, một ứng dụng được lưu quá nhiều lẫn, các ứng dụng con dược kích
hoạt từ ứng dung cha cũng nhiều, có nhiều ứng dung do hệ diều hành kích hoạt,
có nhiều ứng dụng do người dùng kích hoạt Vẫn để đặt ra ở đây là làm thể nào
chỉ lấy được các ứng dụng gốc do người dùng kích hoạt Ví dụ, làm thế nào để lây được ứng dụng gốc như Trình đuyệt web, Email, GoogleTalk, mà không
phải các ừng dụng do Hệ thống sinh ra, hoặc ra các ứng dụng gốc đó pọi các ứng
dung khác của hệ thẳng trong quá trình thực thi
Đổ làm dược việc dó, chúng tôi đã lọc ra các ứng dựng thuộc hệ thống như
SystemApplication, Unknow, Systcm, va toan bộ các ứng dụng con của nó
được kích hoạt qua mã ID và PID
11
Trang 13
Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012
Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Nov 28 19:14:24 2012 Jan 02 13:57:14 2012 Jan 02 13:55:54 2012 Jan 02 13:57:11 2012 Jan 02 13:57:11 2012 Jan 02 13:57:11 2012 Jan 02 13:57:11 2012 Jan 02 13:57:11 2012 Jan 02 13:55:52 2012 Jan 02 13:57:11 2012 Jan 02 13:57:11 2012 Jan 02 13:55:38 2012
241 S57 z4
000002470855 A000002470855F A000002470855E
Nov 28 19:13:57 2012 Nov 28 19:13:47 2012 Nov 28 19:13:54 2012
Nov 28 19:14:10 2012 Nov 28 19:13:43 2012 Nov 28 19:14:10 2012 Nov 28 19:13:56 2012
‘Nov 28 19:14:08 2012 Nov 28 19:14:01 2012 Nov 28 19:13:47 2012 Nov 28 19:13:43 2012 Jan 02 13:56:04 2012 Jan 02 13:56:53 2012 Jan 02 13:58:03 2012 dan 02 13:55:11 2012 Jan 02 13:85:10 2012 Jan 02 13:56:36 2012 Jan 02 13:56:30 2012 dan 02 13:55:51 2012 Jan 02 13:55:16 2012 Jan 02 13:55:03 2012 dan 02 13:55:37 2012
Hình 2.1 Dit ligu thu duoc tt TBDD sw dung Hé diéu hanh Android
Để có dữ liệu có dạng chuỗi tuần te nhu sau, 8; — fap apps appads
Trang 14Í va, 4P, \ Storant app, Sam ape @)
Với Í umr app, là thời điểm bắt đầu kích hoat img dung app,
Đặc diễm của đữ liệu: §, thường có số lớn các ứng dụng (chuỗi dải - long
AppMame stop PID (WEI PPID Start
Email Nov S7 22:31:87 2 a7 a EM Now 27 22:30:28 2012
Lau*chor Noy 97 22-317 20) we 3 T15 Nav2722380272012
1aninin May 97 95 4108 20, 339 3 281 Nnv272231057012
Nov 27 22:2187 26 120 3 179 Nog 27 22:30:2¢ 2012 Nov 27 22:21-87 2 137 > 33 Nog 27 22:30:24 2012 Nov 28 “6:14:24 20 28 a 232 Nov 20 19:19:87 2012 Nay 98 “6 142420, 35T 3 Mow 28 18 14037012 Must Nay 98 °6 14 74.36: 258 3 252 Mnv78 18 15587012
Package Access Heiner Mov 28 “€:14:24 20° a 3 340 Now 28 19:13:58 2012
Pico TTS Nov 28 "6:14:24 20° 1 a 372 Nov 28 19:14:19 2012
Search Nov 28 76:14:24 20" Z4 3 368 Nov 28 1914.0" 2012
Comacts Storage van 02 15871 2 851 09002" 70685F 372 wan 92 19:95:11 2012
Contrast Kallor dan 7 147212022 22F31 - AAGD227NRSSE 24022 .an 12 18.55892012
Eaarloas van 02 4387" 1 20°2 207 4303002/70B55F 303 can 3219:551043012
Loginfo vom 02 43:55:3820°2 «24876 A303002270BS5F 24423 an 92 13:85:37 2G12
Marke: van 02 1587.71.21 18214 AM3002/70BSSF 18208 wan 92 13:89:16 2012
Natwort Lovatien dan 02 13:87" 12072 85T - AAJ2092/70BS55F 222 an321865:122012
Tenr ma Fmlnlrr danf213#724202 25E4E AAIA0122TNNSSF — 2BE42 vnn321385:A52012
Linh 2.2 Dữ liệu ứng dụng sốc được lấy ra từ [inh 2.1
Để có dữ liệu dạng trên thi chúng tôi đã có một pha riêng để lọc đữ liệu, pha
này phải làm các công việc sau: xác định các ứng đụng gốc®, loại bổ các ứng
dung con được kích hoạt từ ứng dụng gốc
2.2 Khai phá dữ liệu mẫu chuỗi tuần tự
2.2.1 Giới thiệu chung
Như phần 2.1 đã trình bày, vì đặc điểm của dữ liệu là dạng chuỗi đài theo thời gian và có rất nhiều ứng dụng khác nhau được đưa vào sử dụng nên khi chúng tôi thử nghiệm trên các giải thuật tim luật tuần tự hành về vi sử dụng của
nhiều người thỉ kết quả khang kha quan Do đỏ, chúng tôi đã đi tìm hiểu các mẫu chuỗi tuần tự về hành vị sử dụng của nhiều người thì có vẻ khả quan hơn
Chính vi vay, trong phan nay chúng tôi sẽ giới thiệu tổng quan về các giải thuật
tĐ Ứng dụng gi
hệ điền hãnh là ứng dụng được kích hoạt bực tiếp từ người ding từ desktop, hoặc từ các nhóm úng đụng trên
13
Trang 15khai phá mẫu chuỗi tuần tự và lý do chúng tôi chọn giải thuật SDAM cho bài
loan nay
Tữ liệu dạng chuỗi các giá trị hoặc các sự kiện được kết hợp với thuộc tính thời gian được gọi lả đữ liệu chuỗi thời gian time-series |1SJ gọi tắt là đữ liệu time-series Một số dữ liệu time-series như: dữ liệu giao dịch khách hàng trong,
các siêu thị, dữ liệu về tài chính — chứng khoán, dữ liệu về y học, dữ liệu về
khoa học, dữ liệu về thời tiết Đã có nhiều giải thuật được thiết kế cho đữ liệu
time-series [15] Tuy nhiên, chúng ta có thể gom lai od 4 dang mau (pattem) ma chúng ta khai phá từ đữ liệu time-series sau
- Phân tích xu hướng: phân tích xu hướng là tìm ra các mẫu phát triển của
một số thuộc tỉnh thco thời gian, chúng có thể là sự vận động mang tính
lâu dài, phát triển quay vòng, vận động có nguyên nhân, các vận dộng,
ngẫu nhiên Ví dụ như giá vàng theo thời gian, ta có thể mô hình nó dạng Y=FŒ) và có thể biểu diễn trên đỗ thị Dựa trên hàm đó ta có thể
tim ra xu hướng là cử Thứ 2 hàng tuần thi giá vàng ting 2%, cir Tint 6
hàng tuần thị giá vàng tụt xuống 3% Với phương pháp này được sử
dụng nhiều trong phần tích xu hướng chứng khoán
- Tim chuỗi tuần tự: tìm kiểm chuỗi tương tự lá cố gắng dé tim các chuỗi
có sự khác biết đôi chút Tìm kiếm chuỗi tương tự là một quả trình dỗi
sánh mờ trong phạm vi sai số nhất định trøng một ngưỡng nhất định
Ti sánh chuỗi có thể được phân lớp như: đối sánh chuỗi con và đối
sánh toàn bộ chuỗi Giả sử chúng ta chuyển đối đữ liệu của giá cổ phiếu
vào đường cong, những đường cong báo gồm nhiều hình dang khác nhau như: lên, lên sắc nét, giảm, lao dốc Ví dụ về sự giống nhau cơ bản
dưa trên đường cong và hình dang của một loại cỗ phiếu để tìm cỗ phiếu khác cỏ các đường cong và hình đạng tương tự Có nhiều loại khác nhau
của các phép đo tương tự Một trong đo lường cổ điển tương tự là
khoảng cách Euelide
-_ Mẫu tuân tự: mê hình khai phá dữ liệu mẫu tuần tự để tìm ra những mỗi
quan hệ giữa các lần xuất hiện của các sự kiện liên tiếp, để tìm ra mẫu
tuần tự của các sự kiện theo trinh tự Chứng ta có thể tìm thấy các mẫu
tuần tự của các sự kiện cụ thể, chúng ta cũng có thé tìm thấy các mẫu tuân tự qua các sự kiên khác nhau Việc phát hiện các mẫu tuần tự được
14
Trang 16sử dụng rộng rãi trong việo phân tích trình tự DNA Một vị dụ về mẫu
tuần tự là mỗi khi chứng khoán của MiicrosolL giảm xuống 5%, cổ phiếu
TBM cũng sẽ giấm ít nhất 49% trong vòng ba ngày
- Mau chu ky: mau chu kỳ là những mẫu có chu kỷ trong cơ sở đữ liệu time-series, chu ky cé thé la hang ngay, hang tuần, hàng tháng, theo mùa
hoặc hàng năm
Rõ rằng, khai phá mẫu chủ kỳ có thể được xem như là mê hình khai phá dữ
liệu tuần tự bằng cách đưa vào các chuỗi chu kỳ như là một tập hợp các chuỗi tuần tự Trong cơ sở đữ liệu giao dịch của khách hàng, mỗi chuỗi là một tập các hàng mà khách hàng đã mua
Trong thời gian qua, đã có nhiều lĩnh vực quan tâm nghiên cứu về dữ liệu
time-scrics Tuy nhiên, cơ sở đữ liệu tuần tự bao gồm các chuỗi các sự kiện sắp xếp có hoặc không thuộc tính thời gián Cơ sở đữ liệu tuần tự là một trường hợp đặc biệt của cơ sở đũ liệu time-serics, kết quả nghiên cửu nhiều nhất trong khai
phá mẫu tuần tự tập trung vào hai vẫn đề chính Vẫn đề đầu tiên là khai phá mẫu
tuần tự, nhằm tìm kiếm các chuỗi tuần tự thường xuyên xây ra để mô tả dữ liệu
hoặc dự đoán cáo dữ liệu tương lai Vấn để thứ hai lá khai phá mẫu chủ kỷ, có
thể được xem như là khai phá mẫu luần tự Trong luận văn này chúng tôi đi vào phần tiền xử lý đữ liệu cho bài toán khai phá mẫu tuần tự - chu kỳ dễ phát hiện
thói quen của cơn người
2.2.2 Bài toán Khai phá mẫu chuỗi tuần tự
Để cho dễ hình dụng về bài toán, ta có ví dụ 2.1 sau: Trong khi tiễn hành
truy xuất dữ liệu của một cửa hàng bán sách người ta nhận thấp có trình tự mua
sách nh sau: 80% khách hàng mua sách Hệ quản trị cơ sở dã liệu sau đó họ
mua cuồn sách Kho đữ liệu và sau đó họ mua cuỗn Hệ thông thông tin web
trong một khoảng thời gian
Khai pha chudi tuan tu (Sequential pattern mining) được giới thiệu lần đầu tiên bởi Agrawal va Srikant năm 1995 [13] Trong ví dụ trên thì tất cả các sách
không phải dược mua tại cùng một thời điểm, diễu quan trọng là thứ tự mua
sách
Miu chuỗi tuần tự (Sequential pattcrn) đi vào tim hiểu mỗi quan hệ giữa
các giao địch trong khi luật kết hợp đi vào tim hiểu œ
ơ nội dung bên trong cáu
giao dich
15
Trang 17Goi D là cơ sở đữ liệu của các giao địch khách hàng, 7- (¡„¿ „} là tập n
thuộc tỉnh phân biệt và được gọi lả các ltem, giao dich ‘I — {Mã_ KháchHàng, ThờiGian GiaoDich, Mua _MãHàng}, s; lả một tập các mục được lây ra từ1, là
một chuỗi các tập item (itemset) theo trình tự <s„ s; s¿> Không có một
khách hàng nảo có nhiều hơn một giao dịch Irong cùng một thời gian ThờiGian-
GiaoDich Vị dụ như bảng đưới dây
Bảng 2.1 Danh sách khách mua hàng
Bang 2.1 lu cdc théng tin giao dich của khách hàng đã được sắp xếp theo
Mã KháchHảng Với mỗi khách hàng cá bao nhiêu dòng sẽ tương ứng với bay
nhiễu giao dịch, các piao dịch khác nhau sẽ có thời gian khác nhau Ví dụ, với
Mã KháchHàng — 1 có 2 giao dịch tại 2 thời điểm khác nhau là 2 ngảy
93/3/2013 và 05/3/2013
"Trước khi tiên hành khai phả mẫu chuỗi tuần tự cho tập đữ liệu giao dich
của khách hàng, người ta thông thường phải tổ chức lại đữ liệu từ Dắng 2.1 trên
thành đỡ liệu dạng chuỗi như Đăng 2.2
Bang 2.2 Biểu diễn dữ liệu dụng chuỗi
Mi-KhachHang | Chuỗi Tập mục của khách hàng
Trang 18Khi tiến hành khai phá mẫu chuỗi tuần tự từ dữ liệu tại Bang 2.2 với độ hỗ trợ tối (hiểu là 40% ta thu được kết quả vả ánh xạ kết quả đó sang các giá trị lự
nhiên từ 1 dến 5 cho dễ quản lý dược trình bảy tại Bảng 2.3 đưới dây
Bảng 2.3 Danh mạo thủa mãn điều kiện minsup — 4094
các n phẩm được mua tại củng một thời điểm cho nên tứ tự các mục trong
đó là không quan trọng <(40)(1003> là một chuỗi tuần tự các giao địch nên phải
tuân theo trỉnh tự
Sequential pattern \a mt chubi các itemset xuất hiện phỗ biến có trình tự,
tất cả các item trong củng một itemset được giả sử lả chúng có củng tại thời điểm giao dịch hoặc chúng có trong cùng một khoảng thời gian giao dịch (time gap) Thông thường tất cã các giao dịch của một khách hàng được gắn kết với
nhau theo trình tự thời gian và được xem là một chuỗi
Tinh Chứa: một chuỗi a <ay,&, ,a„> được gọi là được chữa trong một
chuỗi ð <bi,b, ,bm nếu n < j; < < iạ Và ta cÓ ø, Cỗ„,# =62, 2„Cb„ Viđu
<3X6G,79793}> được chứa tong <(1X35,6,79X8X2,79)> vì
@)c()0679)C(G,6,79),(.9)c(2.79 tuy nhiên <(2)(3)> lại không được chứa
trong <(2,3)> vi trong chuỗi đầu tiên thì 2 được mua trước 3 trong khi tại chuỗi
thứ 2 thì 2 và 3 được mua đồng thời Chuỗi được gọi là tối đa (maximal) nếu nó
không bị chứa trong bất kỳ chuỗi nào
Trang 19-Cy: là số khách hàng cú giao địch chứa chuỗi ø
-TN: lA sé khach hàng có trang cơ sở dữ liệu
Khai phá chuỗi tuần tự (Scqucntial pattern mining): là tiên trỉnh trích
xuất ra một số các mẫu tuần tự mà có độ hỗ trợ vượt qua ngưỡng tôi thiểu Vỉ số lượng chuỗi là rất lớn vì thế người ta thường đưa vào giá trị hỗ trợ tối thiểu để
lọc kết quả Những mẫu tuần tự cỏ độ hỗ trợ vượt qua ngưỡng hỗ trợ tối thiểu lá những mẫu mong muốn và có giá trị Tuy nhiên, có một số mẫu tuần tự không
vượt qua ngưỡng hỗ trợ cực tiểu nhưng vẫn có giá trị trong một số bải toán cụ
thé, để giải quyết việc này [12] đã đưa ra một khái niệm là ma trận SUPRISE để
đo giá trị của các chuỗi
2.2.3 Một số thuật toán khai phả mẫu tuần tự
Hau hét các giải thuật ban đầu đều dựa trên tính chất Apriori trong khai phá luật kết hợp như: AprioriAll, AprioriSome, DynamicSome trong [15], GSP
[16] và SPADE [24] Sau này, một loạt các dữ liệu dựa trên giải thuật được dé
xuất, như: EreoSpan [17] va PrefixSpan [18] SPADE [21 là một giải thuật dựa trên lưới, MHMIISP [20] dùng cách tiếp cân đánh chỉ mục của bộ nhớ, trong đó
SPIRIT [12] tập trung vào tích hợp các ràng buộc qua các biểu thức thông thường
Tác giải thuật dựa trên Apriori, bước đầu tiên là tìm tất các ftems phổ biến,
thông qua các vòng lặp thì các chuỗi ứng viên có chiều dai / (sequence) được tạo ra từ các chuỗi có chiêu đài 7-7 ( (I-1J-sequenee ) Sau đó, tính toán độ hỗ trợ
của các ứng viên để giữ lại các ứng viên đạt độ hỗ trợ tối thiểu Các giải thuật
dựa trên Apriori rất nhiều chỉ phí để xử lý một lượng lớn ứng viên được tạo ra
và cả chỉ phí cho việc duyệt CBDI, nhiều lần Giải thuật PrefixSpan được để
xuất tại [I8] phát triển trên nên của giải thuật IreeSpan[l7] Giải thuật
PrefixSpan được thiết kế trên ý tưởng chia để trị, các phép đuyệt CSDL được thực hiện qua mỗi vòng lặp trên các tiền tố giống nhau Thông qua các phép
duyệt CSIDI, của các tiễn tố dễ xây dựng các mẫu chuỗi tuần tự thì sẽ phát hiện
ra toản bộ các mẫu chuỗi tuần tự trong ŒSII Tuy nhiên, đối với các bài toán có
CSDL lớn thi việc thực hiện các vòng lặp duyệt CSDL, lớn là không hiệu quả
SPAM [22] sử đụng kỹ thuật biểu diễn bitmap cho mỗi bản ghỉ trong mỗi chuỗi đữ liệu Sau đó, giải thuật áp dụng chiến lược tìm kiếm theo chiều sâu để sinh các ứng viên Qua các phép toán trên bịt để tính toán độ hỗ trợ của các ứng
18
Trang 20viên một cách nhanh chóng, Hơn nữa, với kỹ thuật cắt tỉa hiệu quả đã làm giảm
số lượng ửng viên được sinh ra Qua các kết quá thực nghiệm người ta thấy giải
thuật SDAM hiệu quả cao hơn so với không chỉ giải thuật SPAIDE má cỏn cả
giải thuật PrefixSpan
Chính vì lý da trên, nên trong khóa luận này chúng tôi chọn giải thuật
SPAM làm thuật toán cho việc nghiên cửu và để xuất phương án chia tách các
chuỗi đài ban đầu (primary sequences) thành các chuối ngắn hơn (short
(2) DES-Puning((sy.s,, s, c2(0)), 5, œ„ all elements in /,„ greater then ÿ
“Hình 2 3 Giải thuật DIFS với Kỹ thuật cat tia
19
Trang 21Chuong 3 - MO HINH DE XUAT
Hình 3.1 Mô hình tổng quát khai phá dữ liệu
Do việc phải tìm ra các thói quen sử dụng phần mềm trong một khoảng
thời gian ngắn nên đòi hỏi phải qua một bước phân tách chuỗi dữ liệu dài ban
đầu thảnh các chuỗi dữ liệu ngắn hơn theo thời gian Do đó, chúng tôi đề xuất
mô hình khai phả thói quen sử dụng phần mềm như Hinh vẽ 3.2
Trang 22Mề hình để xuất trín gằm có câc modul chính sau: Thu thập dữ liệu, lưu
trừ đữ liệu; xử lý dữ liệu; khai phâ đữ liệu; phđn tích, so sảnh kết quả Chúng tôi
sẽ lần lượt giới thiíu câc modul như sau
Thu thđp đữ liệu: chức năng oùa modul năy lă tap hop đỡ liệu sử dụng câc
phần mềm từ câc file log của câc THI)Ð như mây tinh bảng, điện thoại
thông minh, Thănh một file dữ liíu được chuẩn hóa từ trước theo định
dạng như được mô tả tại [inh 2.1
Modul lưu trữ dữ liệu: dữ liệu từ file trong modul thứ nhất sẽ được đưa văo lưu trữ trong CSDL MySQL sau đó âp dụng câc cđu lệnh SQL để
thanh lọc câc dữ liệu không cần thiết như dữ liệu về câc lung, chương
trình con, chương trình không phâi người đùng kích hoạt để chỉ giữ lại
trong 5L tập câc ứng dụng gốc theo dịnh dạng như Hình 2.2
Modulc xử lý dữ liệu
©_ Đọc trong C8SDL ra vă tiễn hănh xđy dựng nín câc chuỗi Luđn tự sử
dụng phần mềm cho từng thiết bị Như vậy, mỗi một TBDĐ sẽ có
một chuỗi tuần tự sử dụng câc phần mềm bao gồm câc thuộc tỉnh đình danh thiết bị, tín ứng dựng, thời điểm kích hoạt, thời điểm kết
thúc như được mồ tả tại Hình 2.2
© Phan tâch chuỗi đữ liệu dăi ban đầu thănh câc chuỗi dữ liệu ngắn
hon để lăm dữ liệu đđu văo cho module khai phâ Để thực hiện
được phần nảy, chúng tôi đề ra một số phương phâp phđn tâch dữ
liíu được trình bảy tại mục 3.2
Module khai phâ dữ liệu: Từ tập đữ liệu thu được từ modul trín, chúng tôi
sử dụng một số giải thuật khai phâ vă đânh giâ về hiệu quả của câc giải
thuật đó, qua đó chúng tôi nhận thấy giâi thuật SPAM lă hiệu quả hon ca
so với câc giải thuật SPADE, Prefix5pan về tốc độ khai phâ vă về độ lớn của đữ liệu Sau khi có kết quả của một số lần thử nghiệm trín phương ân
phđn tâch thử nhất, chúng tôi lại quay lại modul phđn tâch đữ liệu để thực
thi phương phâp phđn tâch đữ liệu thứ 2 vả tiếp tục tiến hănh khai phâ cho một số lần thứ nghiệm với tham số khâc nhau
Modul phđn tích kết quả: sau khi có kết quả của câc phương ân phđn tâch,
chúng tôi tiến hănh phđn tích, so sânh vă đưa ra một số kết luận
21
Trang 233.2 Các phương án tách chuỗi
Như đã để cập trong chương 1, việc nghiên cứu thói quen sử dụng nhẫn
mềm trên TDDĐ qua việc xác định các mẫu chuỗi Luần lự trong một phạm vì
nhỗ về thời gian Để có được những phạm vi nhỏ về thời gian, chúng tôi thứ
nghiệm 3 phương án phân tách dữ liêu như sau
-Phương án 1 Lách theo khoảng thời gian trong ngày:
Hình 3.3 Phần tách dữ liệu theo các buổi trong ngày
-Phương án 2 lách theo ngày: mỗi ngày sẽ là 1 chuỗi hoặc n ngày là một
chuỗi (n là số nguyên dương 1,2,3, )
Hinh 3.4 Phan tach dit ligu theo n ngay
-Phương án 3 Tách theo hành vi sử dụng: mỗi một chuỗi sử dụng phần
mễm cách nhau 1 khoảng thời gian > £ (ví dụ: Rh đú cho 1 người bình thường
ngủ) tức là 1 ứng dụng cuối củng (app,) trong chuỗi thứ ¡ (Sequence, ) có thời
diểm kết thủ thực thị siopTime„ cách ứng dụng dầu tiên (app) của
Sequence) kế tiếp có thời diễm bất dầu kích hoạt startTime„ một khoảng
thời gian tắt thiểu là £
start Time, la ep — SlopTime,, >t 8)
32
Trang 24time stopTime,, startTime,,, ,,
Hình 3.5 Phân tách dữ liệu theo khoảng thời gian sử dụng
Nhân xét: so sánh 2 phương án tách 1 và phương án tách 2 thì ta nhận thay
- Bat ky mét chuỗi con nào của phương án tách 1 cfing 1a nim trong 1
chuỗi con của phương án tách 2
- Số lượng chuỗi con của phương án tách 1 sẽ lớn hơn ø*3 số chuỗi con
của phương ản tách 2
- Vi những lý do trên, nên tần suất của các mẫu khai phá được trong
phương án tách 2 sẽ tốt hơn tần suất của các mẫu trong phương án tách |
Với những nhận xét trên thì, tại các mục so sảnh giữa các phương án phân tách dữ liệu chúng tôi chỉ so sánh giữa phương án 2 và phương án 3
3.3 Tách Itemset trong chuỗi
Sau khi xác định được các chuỗi, việc tiếp theo chúng ta cần phải giải quyết là xác định các itemset trong các chuỗi đó Để xác định được item trong
itemset thì chúng ta phải xác định được một ngưỡng thời gian (f;z„z;;) Khi 02
ung dung app, và app,+¡ mà có thời gian kích hoạt startTimegyp j+) của app,+; và
thời gian kết thúc fimeStopayp , cla app, cách nhau khoảng thời gian A/, tùy
thuộc vào giá trị của A/ so với f„z„z;; mà ta xác định được Ì trong 2 trường hợp
- Cả 2 item app, Và app,+; cùng trong một itemset
~ đpp, và app,+¡ thuộc 2 itemset khác nhau
Một số trường hợp phân tách Itemset sau:
* 2 ứng dụng (item) thuộc 2 itemset khác nhau
° Có dạng: At = startTime, ‘pry StopTiMG vu >/,,„„ 27,721
kè
Trang 25Trong dé startTime,,,.,,, stopTime,,,, tuong tmg la thời điểm kích hoạt ứng
dung thirj+/ va thời điểm kết thúc ứng ựng thir trong sequence i
Hình 3.6 Phân tách dữ liệu theo thời gian trong cùng một ltemset
Đối với cách phân tách trên như Hình 3.6 thì chuỗi thứ ¡ có 2 itemset là
itemsety và itemsety,y Mỗi một itemset chỉ có 01 phần tử (itemset¿ chỉ có app¡,
itemsety., ¢6 appjsa)
* 2 eng dung (item) thuéc cung 1 itemset
Dang 1 A>0
° dạng: AL = startTime, opp, — stop Timg »», Strong Jot 21
Trong dé startTime, Am 14 thoi điểm kich hoat img dung thir j+/ trong chudi
thử ¡ stopTime„„ là thời điểm stop ung dụng thứ / trong chuỗi thứ ¡
Trang 26Hình 3.8 Trường hợp 2, 2 ứng dụng trong cùng một liemset
Chú ý: Trong cùng một /femsef không thể có 2 item giống nhau, cho nên khi xuất hiện 2 item giống nhau thì ta có thể xóa bỏ 1 item thừa đó
Trong cùng 1 /emset thì thứ tự xuất hiện các item là không quan trong do
đó ta sẽ sắp xếp các item trong củng 1 /emsef theo thử tự ABC
3.4 Tính thời gian cho phương án tách chuỗi
Chọn khoảng thời gian trong phương án 3 (trong mục 3.2) như thé nào để
có thể cho việc phân tách đạt kết quả tối ưu Để giải quyết được bài toán này,
chúng tôi thử xác định một khoảng [f;zzz›s ;¡¡ Thgường max] để phân tách một
chuỗi dài thành các chuỗi ngắn, sau đó đi tìm khoảng thời gian phủ hợp cho việc
phân tách Ví dụ, xác định thevang.min = 8h, taewong mar = 48h, IM với fuư¿ng nạy đÓ
sẽ phân tách được ø; chuỗi con đưa vào khai phá ra tập kết quả sp Bước tiếp
theo là fnsưzng = thguong max — delta (delta > 0 được gọi là bước giảm) và tính số
chuỗi con được phân tách ø› chuỗi con đưa vào khai phá ra tập kết quả søz sau
đó so sánh sp, với sp; để lấy kết quả tốt hơn, vòng lặp được tiến hành cho đến
khi có kết quả tốt nhất hoặc khi f,zz›z <= f¡zzz „„„ Với phương án phân tach
nay sẽ không hiệu quả vì: nêu xác định delta quá nhỏ (15) thì mắt rất nhiều vòng
lặp Nếu delta lớn thì có thể bỏ sót kết quả tốt nhất (tức là giá trị thời gian nhỏ
nhất nhưng khai phá ra tập thói quen nhiều nhất), Tuy nhiên, chúng ta đều biết
rằng nếu chọn gid tri tiene = uyường mấy thì ta sẽ có kết quả khai phá ra tập thỏi
quen lớn nhất nhưng giá trị /,„„;; không phải là nhỏ nhất Ví dụ, giả sử tại giá trị
Đgường — fngường mạc — 23h thì ta thu được tập thói quen sử dụng 2 phần mềm trở
lên là 50 thỏa mãn độ hỗ trợ tối thiểu, người ta tìm thấy rằng giá trị f;z„z„; từ 20h
đến 23h đều cho kết quả khi khai phá tập dữ liệu phân tách như trên thì rõ ràng
tại kết qua fhevone=20h sé cho kết quả tốt nhất
ky a
Trang 27Trong đa số các trường hợp kuuøng € ñướng mạc thì số lượng các thói quon
dược phát hiện đều nằm trong trường hợp (y„y „2 và số lượng các chuỗi con
được sinh ra (rường hợp /„„ø„) lớn hơn số lượng chuỗi con được sinh ra ở
trường hợp tnewne nar Do đó, nêu áp đụng giá trị [fuzøng mm : Ígướng max] thi ta
chỉ cần lấy trường hợp is mạ để phân tách đữ liệu
Dễ xác định khoảng thời gian cho việc phần tách chuỗi gốc ban đầu thành
nhiễu chuỗi con chứa mẫu tuần tự nhất, Chúng tôi để xuất giải pháp gỗm hai
tước như sau
-Khai phá toàn bộ tập chuỗi ban đầu chưa phân tách để tìm ra tập mẫu
chuỗi tuần tự thoân mãn độ hỗ trợ tối thiểu và có độ dài lớn hơn 1
- Từ các mẫu chuỗi tuần tự kết quả đó, ta sẽ tiến hành tinh ngược lại thời
gian để cắt các chỗi đài thánh oác tập các chuỗi ngắn
Dễ cho rõ hơn về giải pháp trên, giả sở chúng ta có tập chuỗi ban đầu chưa
phân lách là PŠ„ P52 , PS, Qua việc khai phá tập đữ liệu trên, ta thu được tập
mẫu chuỗi tuần lự thỏa mãn độ bi tro tối thiểu có độ dài > 2 như sau: #§P,,
PSP, , KSPe
Với mỗi FSP, ta tính khoảng thời pian để phân tách tập chuỗi pốc PS;, PS , PS, được nhiều chuỗi con chứa #%P, nhất Chỉ tiết việc tính các khoảng thời
gian xin tham kháo Phục lục A của Luận văn này
Để mình họa cho cách tiếp cận trên, chúng tôi thực hiện trên ví dụ 3.1 dưới
đây
Vi dụ 3.1 Giả sử chúng ta cô 4 chuỗi dài và các khoảng cách thời gian (các đơn vị thời gian như nhau) tương teng nhw sau:
9øbcdaƒ/ 10 12,9, !20,40,35 12a3ejdef / 5, 15,8,90,30, 7, 12,39,20
Trang 28
2 chuỗi con tỗi thiểu phủ -
SS, —{Kabe? ys , Sa3e> ug 9 “ac pg 4 “aoc? py 4 SScđ>ạg ;} với “ca” là
kbéng phi <ac> nhung nim gitta 2 chuỗi con tối thiểu phủ <ac>,
Từ các chuỗi con lối thiểu phd <ac> da, ta tinh các khoảng thời gian để
phân lách chuỗi ban đầu ra nhiều chuỗi con chứa “<ac> nhất như sau
Bang 3.2 chuỗi con chứa ac> và khaâng thời gian phân tach
Chuỗi gốc Chuỗi con Max slotTime phân tách wr Be chuỗi chứa “ae
Sabedef <abe> (timeg=12, timeg=9) = 12 | t> 12 1
12a3glƒf <a$c> ftimegs=8, time¿.=90) = 00 | t>90 1
chứa <œe> Ioặc t > 90 sẽ có 3 chuỗi chứa “œc>
Đối với SP; ta sẽ có các tập chuối con phủ <đ/> hoặc nằm giữa 2 chuỗi
con phủ <đjˆ> như Háng 3.3 sau:
Trang 29Sabedef <def> (limea, 40, thue 33) T— 40 | 40 <t 1
12n3def' <def> (timeg,=39, time.j=20) = 39 |39<t 1
pháp đó, tại sao phải tìm các mẫu chuỗi tuần tự có độ hỗ trợ lớn thoản mãn độ
hỗ trợ tối thiểu? vấn dễ cuối cùng là giải pháp đó có tối ưu không 2
Ching ta đều biết rằng mỗi một người sử dụng đều dùng một số lượng
phần mềm nhất định trên TBDĐ và hành vị đó thường được lấp di lặp lại nhiều lần trong một khoảng thời gian vài ngày, vài tuần, thậm chí cả vải tháng, Tuy
nhiên, trong xã hội đa đạng người đủng, thi mỗi người lại sử dụng các phần mềm có thé không giống nhau, nếu sử dụng các phần mềm giống nhau thì có thể
ở những thời điểm khác nhau nên xuất phát từ yêu cầu của bải toán nên chúng
ác thói quen mang tính phổ bién (qua vid
tôi muôn đưa ra được
hai phá loàn
bộ chuỗi ban đầu) và có sự rảng buộc về thời gian (slotTime dùng để phân tách
chuỗi không quá lớn) đó chính là phương án để xuất của chung tôi
Việc tìm các mẫu chuỗi tuần tự vượt qua độ hỗ trợ tối thiểu vỉ
- Chúng tôi dự đoán rằng nếu mẫu tuần tự A cá độ hỗ trợ lớn hơn mẫu
chuấi tuần tự B thì việc phân tách chuỗi dải ban dầu thành các chuỗi con ngắn
hon theo thời gian có sự định hướng theo mẫu chuỗi tuần tự A đá sẽ được nhiễu
hơn các mẫu tuần tự DB qua bước phân tách trên Vì, số lượng các chuỗi gốc có
chứa mẫu tuần tự A lớn hơn số lượng chuỗi gốc có chửa mẫu chuỗi tuần tự B trong lập đữ liệu ban đầu
28
Trang 30- Do viée tim ra sé hrong mẫu chuỗi tuần lự của việc khai phá dữ liệu ban dầu là iL nên giảm số lượng tính toán thời gian phân tách vì vậy sẽ lâm giám thời
gian chơ việc tính toán cho thuật toán
To vậy, khi dự đoán của chúng tôi là chính xác thì công việc tính thời gian
như trên sẽ là tôi ưu vì ta chỉ việc tính thời gian dựa trên một số lượng mẫu nhất
đỉnh và những mẫu đó có xác suất phân tách được nhiễu mẫu con hơn
29
Trang 31Chuong 4 - THUC NGHIEM
Trong khóa luận nảy, chúng tôi sử dụng Sequential Pattern Mining
Framework của các tác giả Philippe Fournier-Viger [14] Đây là công cụ mã
nguồn mở được viết bằng java, công cụ đã cài đặt 51 thuật toán cho các mục
sau
«sequential pattern mining,
association rule mining,
«frequent itemset mining,
«sequential rule mining,
clustering
Trong phần thực nghiệm này, chúng tôi tạo 2 bộ dữ liệu và lần lượt đưa
vào thử nghiệm để so sánh giữa 2 phương pháp phân tách theo hành vi vả phương pháp phân tách theo thời gian mà cụ thé la n ngay Giao dién ctia
chương trình như Hình 4.1 sau:
Senet ace — —- —v bơm Em —— |[ mm
terns Framer xoucg
Chú mwùgbj Ì⁄S8hN4ng) —— Ìv mmbsướm À | ĐBmiAkbmert 3 — | rmláppklbl |
accuse
ttimecsdiseeg a sete Sr0mardfamst T— em
Hình 4.1 Giao điện của chương trình
Trong việc so sánh giữa các phương pháp, chúng tôi giữ cố định một giá trị
khoảng thời gian phân tách các ứng dụng trong cùng một phần tử (Element),
trên giao diện Hình 4.1 1a 6 Slot time cut off Element voi gia tri mặc định là 60s
Tức là ứng dụng thứ 7 va img dung thir i+/ duoc coi 1a sir dung đồng thời nếu:
startTime ctia img dung thir i+/ - stopTime của ứng dụng thứ ¡ < 60s Néu
khoảng cách trên > 60s thì 2 ứng dụng thứ ¿ và thứ ¡+7 là 2 phần tử riêng biệt
trong chuỗi
Trang 32So sánh giữa các phương pháp phân tách là việc so sánh dựa trồn kếL quả khai phá dữ liệu của phương pháp khi củng sử dụng giải thuật khai phá Kết quả
của giải pháp nào chỉ ra dược nhiều mẫu chuỗi tuần tự đặc biệt là các mẫu chuỗi
tuân tự có số lượng phân tử > 2 thì giải pháp đó là tốt hơn Vì giải pháp chỉ ra được nhiều mẫu chuỗi tuần tự hơn chính là giải pháp giúp chúng ta phát hiện ra
các thôi quen sử dụng phần mềm tốt hơn
Trong 6 lya chon Choice mining type cé loại khai phá đữ liệu sau:
- Mining to get Slotfime ding dé khai phá tập dữ liêu gốc ra các mẫu chuỗi
tuần tự thỏa mãn điều kiện độ hỗ trợ tối thiểu minSup, sau đó từ các mẫu chuỗi
tuần tự có số lượng phần tử lớn hơn hoặc bằng 2 ta sẽ tính ngược lại các khoảng,
thời gian tương ứng cho việc phân tách toản bộ tập dữ liệu gốc thành tập dữ liệu con sao cho sinh ra dược nhiều chuỗi con chứa mẫu chuỗi tuần tự nhất
- Mining dll primary sequences: khai phá toàn bộ dữ Hệu gắc và đưa ra tập
mẫu chuỗi tuần tự thỏa mãn diều kiện minSup
- MSS in N days (Mining Short Sequences in N Days): Khai pha dit ligu cho
tập dữ liêu mới được phân tách tử tập dữ liệu gốc ban day theo ngày
- Mining all short seguences: Khai phá tập đữ liệu mới được phân tách từ tập dữ liệu gốc theo khoảng cách thời gian tai 6 slotfime cut off sequences trén
Hình 4.1
4.1 Bộ dữ liệu thứ nhất
Tộ dữ liệu này thu được từ 200 thiết bị, mỗi thiết bị kích hoạt từ 1 đến 3 lần ứng đựng trong một ngày từ tập 98 ứng dụng Thời gian sử dụng là 50 ngày Chúng tôi thu được 39.817 hàng dữ liệu
Để so sánh giữa các phương pháp phân tách, chúng tôi lần lượt thử nghiệm
trên cùng bộ đữ liệu pốc như trên Với sự so sảnh giữa số lượng mẫu chuỗi tuần
tự giữa 2 phương pháp cho ta kết quả là piải pháp phân tách nảo tốt hơn
~ Trước hết, chúng tôi thực nghiệm thco phương pháp phân Lách theo hành
vi sử dụng Ấp dụng loại khai phá đỡ Hệu Mining fo get SlofTime đễ tính khoảng
thời gian cho việc phân tách Kết quả khai phả mẫu tuần tự chỉ có 2 item trở lên
và khoảng thời gian phân tách, được chỉ ra tại Hình B.1 trong Phụ hịc B của
Luận văn này Đề mình họa cho việc Lim ra cae mau chuối luận tự có độ lớn hơn
31
Trang 33hoặo bằng 2 và khoảng thời gian phân Lách tương ứng, chúng tôi lấy 2 dòng dữ
liệu từ Hình B.1 ra lắm ví dụ như Đăng 4 sau
Bang 4.1 Một số mẫu trong Hình B.1 và ÿ ngiữa phân tach
Ragdoll Blaster 3 Lite, néu phan Lach chudi dai
ban đầu với sloiTime nim tong khoing
86182 86200 seeonds thi ta sé thu duge 146
seconds Mẫu chuỗi sử dụng 2 phân mém: Tiny Vi ‘llage,
va Big Win Soccer, néu phân tách chuỗi dai ban
đầu với siatime nim trong khoảng
36261 86307 seconds thi ta st thu được 139
mẫu chudi hanh vi nay
Từ đữ liệu thu được tại Hinh B.1 chúng tôi lấy 2 giá trị sloLTime để phân
tách (gid tri slotfime — 8682s là slofPime tôi thiểu dễ phân tách chuỗi gốc
thành chuỗi con), ứng với các độ hỗ trợ tối thiểu, chúng ta có bảng kết quá 4.2
sau:
ng 4.2 KẾT quả thứ nghiệm trên bộ dữ liệu ï phân tách theo hành vì
SlotTime TA, Dattern 1 | Pattern>2 pene inh vẽ
Trang 34
Để so sánh, chúng tôi lấy kết quả tại 2 bảng là Bang 4.2 va Bang 4.3 dé
cùng vẽ đồ thị với độ hỗ trợ từ 65% giảm xuống con 45% như Hình 4.2 sau
Hình 4.2 Đồ thị so sánh giữa 2 giải pháp phân tách bộ đữ liệu 1 với minSup
={45% - 65%)
Trên hình 4.2 trên, chủng ta thấy đường nét liền thể hiện kết quả khai phá
đữ liệu qua phương pháp phân tách theo slotTime„ = 86182s
Đường nét đứt là kết quả khai phá với giải pháp phân tách theo ngày, N=25
ngày và N = 10 ngày.
Trang 35Để thấy rõ được sự khác biệt của 2 phương pháp trên, chúng tôi vẽ đỗ thị
tại Hình 43 với độ hỗ trợ minSup từ 65% xuống đến 35% giữa phương pháp phân tách theo giá trị slotTime = 861§2s và tách theo ngày với N = 25 ngày
Từ kết quả trên ta có nhận xét sau: Với độ hỗ trợ tối thiểu từ 50% trở lên thì
kết quả khai phá của 2 phương pháp phân tách (theo số ngày = 25 ngày, theo khoảng thời gian phân tách slotTime = 86182) là tương đương Tuy nhiên, khi
ta hạ độ hỗ trợ tối thiểu xuống đến 35% thì ta nhận thấy ngay phương pháp phân tách theo khoảng thời gian hiệu quả hơn hẳn so với phương pháp phân tách theo
ngày, cụ thể là: tại độ hỗ trợ tối thiểu là 45%, 40%, 35% thì phương pháp phân
tách theo ngày (25 ngày) không phát hiện ra được thói quen nào sử dụng 2 phần
mềm Trong khi đó, kết quả khai phá cho phương án phân tách theo khoảng thời
gian slotTime là rất khác biệt như tai minSup = 45% đã phát hiện được 259 thoi
quen sử dụng 2 phần mềm, tại minSup = 35% thì đã phát hiện được 7977 thói
quen sử dụng 2 phần mềm.
Trang 36Nhu vay, viée phan tach dit héu theo khoang thé slolTime nhu trén cd hidu
quả hơn so với việc phân tách theo ngày vì cùng một độ hỗ trợ tối thiểu như
nhau thì giải pháp phân tách theo khoảng thời gian giúp ta tìm dược nhiều mẫu
tuần tự (théi quen) hơn
'Irong bộ dữ liệu này, mỗi máy kích hoạt ứng dụng từ 1 đến 3 lần mỗi ngày
việc phân tách theo thời gian quả nhỏ (slotTinae — 360013) sẽ không đem lại kết
quả gì như Ilinh D.22 Cũng có kết quả tương tự khi chúng ta phân tích theo 1
ngày, 3 ngày như ITinh B.20, Linh B.21
Từ những nhận xét trên, ta nhận thấy, mặc dù có những thói quen sử dụng các mẫu phần mềm trong một khoảng thời gian không đải và chỉ được phát hiện
qua phương án phân tách thco thời gian (dũ lớn) mà không phát hiện được qua các phương án phân tách khác
1 ngày hơn, số lượng phân mềm cho bộ đữ liệu 2 này ít hơn
Dé tìm khoảng thời gian phân tách các chuỗi gốc ban đầu thành các chuỗi ngắn, chúng tôi sử dụng tly chon Mining to get SlotTime để tính khoảng thời
gian cho việc phân Lách Kết quả khai phá mẫu tuần tự chí có 2 item trở lên và
khoảng thời gian phân tách, dược chỉ ra tại Hình Ð.23 trong Phụ lục B của Ï uận
văn này Giả sử slotTime ngưỡng dùng để phân tách là 8600 Ls (0.995 ngày), giá trị slotTìme ngưỡng này nhỏ hơn nhiều so véi gid tri slotTime nhé nhất trong
Tinh B.9 1a 137180s
liệu có phân tách hiệu quả hơn so với phương án phần tách theo ngày không? Và
1 ngảy l4 giờ) Với giả trị slotTime ngưỡng như vậy
hiệu quả hơn khi số ngảy dùng dé phân tách là bao nhiều? ĐỂ lý giải diều này,
chúng tôi lần lượt thử nghiệm trên bộ dữ liệu với các giá trị sloVTime ngưỡng, sô
ngày phân tách là 5, 7, 10 và thu được một số kết quả như sau:
35