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ữ liệu thu được liên quan TBDĐ. Đồng thời, 9 TIEU LUAN MOI download : skknchat@gmail.com chúng tôi trình bày về hướng nghiên cứu và cách thức giải quyết bài toán của chúng tôi.
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ọc 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 và đưa ra lý dọ chọn giải thuật SPAM Chương 3. Trong chương này chúng tôi trình bày Mô hình khai phá dữ liệu dể giải quyết được vấn đề của bài toán.
Trình bày kết quả thực nghiệm và phân tích kết quả thu được. Đánh giá tính đúng đắn 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. Kết luận và hướng nghiên cứu tiếp theo 10 TIEU LUAN MOI download : skknchat@gmail.com Chương 2 - TỔNG QUAN KHAI PHÁ MẪU CHUỖI TUẦN TỰ 2. Đặ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 TBDĐ sử dụng hệ điều hành Android có dạng như Hình 2.1, trong đó có các thông tin như sau : AppName: là tên ứng dụng.
Stop: thời điể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 dụng PID IMEI: mã máy Start: thời điểm khởi động ứng dụng Với dữ 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 tươ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 tìm hiểu cách khai phá tập luật tuần tự thì 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ự thì kết quả khả quan hơn.1 sau minh họa dữ liệu lấy được từ pha lấy dữ liệu, ta có thể nhận ra được rằng trong một thời gian rất ngắn, dữ liệu đã ghi nhận rất nhiều ứng dụng được kích hoạt. Khi quan sát dữ liệu trong Hình 2.1 chúng ta nhận thấy, dữ 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 được kích hoạt từ ứng dụng cha cũng nhiều, có nhiều ứng dụng do hệ điề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 duyệ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 đó gọi các ứng dụng khác của hệ thống trong quá trình thực thi. Để làm được việc đó, chúng tôi đã lọc ra các ứng dụng thuộc hệ thống như SystemApplication, Unknow, System,. và toàn bộ các ứng dụng con của nó được kích hoạt qua mã ID và PID.
11 TIEU LUAN MOI download : skknchat@gmail.com AppName Stop PID IMEI PPID Start SystemApplication Nov 27 22:31:56 2012 90 0 59 Nov 27 22:30:19 2012 Email Nov 27 22:31:57 2012 247 0 244 Nov 27 22:30:29 2012 Launcher Nov 27 22:31:57 2012 132 0 118 Nov 27 22:30:22 2012 Music Nov 27 22:31:57 2012 180 0 179 Nov 27 22:30:24 2012 SystemApplication Nov 27 22:31:58 2012 52 0 32 Nov 27 22:30:19 2012 LogInfo Nov 27 22:31:08 2012 341 0 289 Nov 27 22:31:07 2012 SystemApplication Nov 27 22:31:56 2012 79 0 59 Nov 27 22:30:19 2012 Search Nov 27 22:31:57 2012 187 0 33 Nov 27 22:30:24 2012 SystemApplication Nov 27 22:31:58 2012 137 0 59 Nov 27 22:30:19 2012 LogInfo Nov 27 22:31:06 2012 339 0 289 Nov 27 22:31:05 2012 LogInfo Nov 27 22:31:51 2012 395 0 289 Nov 27 22:31:50 2012 SystemApplication Nov 28 19:14:24 2012 152 0 126 Nov 28 19:13:47 2012 Music Nov 28 19:14:24 2012 256 0 252 Nov 28 19:13:58 2012 Package Access Helper Nov 28 19:14:24 2012 355 0 240 Nov 28 19:13:57 2012 SystemApplication Nov 28 19:14:24 2012 132 0 124 Nov 28 19:13:47 2012 Clock Nov 28 19:14:24 2012 235 0 232 Nov 28 19:13:54 2012 SystemApplication Nov 28 19:14:24 2012 8 0 2 Nov 28 19:13:43 2012 SystemApplication Nov 28 19:14:24 2012 188 0 124 Nov 28 19:13:47 2012 Pico TTS Nov 28 19:14:24 2012 372 0 33 Nov 28 19:14:10 2012 SystemApplication Nov 28 19:14:24 2012 33 0 1 Nov 28 19:13:43 2012 Pico TTS Nov 28 19:14:24 2012 374 0 372 Nov 28 19:14:10 2012 Package Access Helper Nov 28 19:14:24 2012 241 0 240 Nov 28 19:13:56 2012 Maps Nov 28 19:14:24 2012 357 0 33 Nov 28 19:14:09 2012 Search Nov 28 19:14:24 2012 274 0 268 Nov 28 19:14:01 2012 SystemApplication Nov 28 19:14:24 2012 192 0 124 Nov 28 19:13:47 2012 SystemApplication Nov 28 19:14:24 2012 30 0 1 Nov 28 19:13:43 2012 Downloads Jan 02 13:57:11 2012 207 A000002470B55F 203 Jan 02 13:55:04 2012 LogInfo Jan 02 13:55:54 2012 24528 A000002470B55F 24429 Jan 02 13:55:53 2012 SystemApplication Jan 02 13:57:11 2012 14601 A000002470B55F 117 Jan 02 13:55:03 2012 Contacts Storage Jan 02 13:57:11 2012 354 A000002470B55F 272 Jan 02 13:55:11 2012 Network Location Jan 02 13:57:11 2012 857 A000002470B55F 222 Jan 02 13:55:10 2012 Terminal Emulator Jan 02 13:57:11 2012 25545 A000002470B55F 25543 Jan 02 13:55:35 2012 Contract Killer Jan 02 13:57:11 2012 24031 A000002470B55F 24022 Jan 02 13:55:30 2012 LogInfo Jan 02 13:55:52 2012 24522 A000002470B55F 24429 Jan 02 13:55:51 2012 Market Jan 02 13:57:11 2012 18214 A000002470B55F 18208 Jan 02 13:55:16 2012 SystemApplication Jan 02 13:57:11 2012 35 A000002470B55F 2 Jan 02 13:55:03 2012 LogInfo Jan 02 13:55:38 2012 24476 A000002470B55F 24429 Jan 02 13:55:37 2012 Hình 2.1 Dữ liệu thu được từ TBDĐ sử dụng Hệ điều hành Android Để có dữ liệu có dạng chuỗi tuần tự như sau, Si = {app1, app2, ., appn}; Trong đó: - Si là thiết bị cầm tay thứ i - appj với 1≤ j ≤ n là ứng dụng được kích hoạt bởi người dùng trong thiết bị cầm tay Si - appj được kích hoạt trước appj+1 và được kích hoạt sau ứng dụng app j-1. Tức là: 12 TIEU LUAN MOI download : skknchat@gmail.com tstartappj 1 tstartappj tstartappj 1 (1) Với t start appi là thời điểm bắt đầu kích hoạt ứng dụng appi Đặc điểm của dữ liệu: Si thường có số lớn các ứng dụng (chuỗi dài - long sequence). Như vậy dữ liệu cuối cùng có dạng: imei, appName, start, stop (imei = s i) AppName Stop PID IMEI PPID Start Email Nov 27 22:31:57 2012 247 0 244 Nov 27 22:30:29 2012 Launcher Nov 27 22:31:57 2012 132 0 118 Nov 27 22:30:22 2012 LogInfo Nov 27 22:31:06 2012 339 0 289 Nov 27 22:31:05 2012 Music Nov 27 22:31:57 2012 180 0 179 Nov 27 22:30:24 2012 Search Nov 27 22:31:57 2012 187 0 33 Nov 27 22:30:24 2012 Clock Nov 28 19:14:24 2012 235 0 232 Nov 28 19:13:54 2012 Maps Nov 28 19:14:24 2012 357 0 33 Nov 28 19:14:09 2012 Music Nov 28 19:14:24 2012 256 0 252 Nov 28 19:13:58 2012 Package Access Helper Nov 28 19:14:24 2012 241 0 240 Nov 28 19:13:56 2012 Pico TTS Nov 28 19:14:24 2012 374 0 372 Nov 28 19:14:10 2012 Search Nov 28 19:14:24 2012 274 0 268 Nov 28 19:14:01 2012 Contacts Storage Jan 02 13:57:11 2012 354 A000002470B55F 272 Jan 02 13:55:11 2012 Contract Killer Jan 02 13:57:11 2012 24031 A000002470B55F 24022 Jan 02 13:55:30 2012 Downloads Jan 02 13:57:11 2012 207 A000002470B55F 203 Jan 02 13:55:04 2012 LogInfo Jan 02 13:55:38 2012 24476 A000002470B55F 24429 Jan 02 13:55:37 2012 Market Jan 02 13:57:11 2012 18214 A000002470B55F 18208 Jan 02 13:55:16 2012 Network Location Jan 02 13:57:11 2012 857 A000002470B55F 222 Jan 02 13:55:10 2012 Terminal Emulator Jan 02 13:57:11 2012 25545 A000002470B55F 25543 Jan 02 13:55:35 2012 Hình 2.2 Dữ liệu ứng dụng gốc được lấy ra từ Hình 2.1 Để có dữ liệu dạng trên thì chúng tôi đã có một pha riêng để lọc dữ liệu, pha này phải làm các công việc sau: xác định các ứng dụng gốc (1), loại bỏ các ứng dụng con được kích hoạt từ ứng dụng gốc. Khai phá dữ liệu mẫu chuỗi tuần tự 2.
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 dà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 tìm luật tuần tự hành về vi sử dụng của nhiều người thì kết quả không khả quan. Do đó, chúng tôi đã đi tìm hiểu các mẫu chuỗi tuần tự về hành vi sử dụng của nhiều người thì có vẻ khả quan hơn. Chính vì vậy, trong phần này chúng tôi sẽ giới thiệu tổng quan về các giải thuật (1) Ứng dụng gốc là ứng dụng được kích hoạt trực tiếp từ người dùng từ desktop, hoặc từ các nhóm ứng dụng trên hệ điều hành. 13 TIEU LUAN MOI download : skknchat@gmail.com khai phá mẫu chuỗi tuần tự và lý do chúng tôi chọn giải thuật SPAM cho bài toán này.
Dữ 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à dữ liệu chuỗi thời gian time-series [15] gọi tắt là dữ 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 dữ liệu time-series [15]. Tuy nhiên, chúng ta có thể gom lại có 4 dạng mẫu (pattern) mà chúng ta khai phá từ dữ 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 theo 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 độ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(t) và có thể biểu diễn trên đồ thị. Dựa trên hàm đó ta có thể tìm ra xu hướng là cứ Thứ 2 hàng tuần thì giá vàng tăng 2%, cứ Thứ 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. - Tìm chuỗi tuần tự: tìm kiếm chuỗi tương tự là cố gắng để tìm 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 đối sánh mờ trong phạm vi sai số nhất định trong một ngưỡng nhất định. Đối 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 dữ liệu của giá cổ phiếu vào đường cong, những đường cong bao gồm nhiều hình dạng khác nhau như: lên, lên sắc nét, giảm, lao dốc.