Tổng quan nghiên cứu

Thị trường thiết bị di động thông minh đã chứng kiến sự bùng nổ mạnh mẽ với hơn 80% người dùng sở hữu điện thoại tích hợp đa tính năng từ liên lạc, giải trí đến giao dịch tài chính trực tuyến. Sự gia tăng nhanh chóng về số lượng ứng dụng dẫn đến nhu cầu cấp thiết trong việc thấu hiểu hành vi và thói quen tương tác của người dùng. Tuy nhiên, việc khai thác dữ liệu nhật ký hệ thống (log files) gặp phải thách thức lớn khi các chuỗi ghi nhận hoạt động thường kéo dài liên tục, lẫn lộn giữa tiến trình người dùng khởi chạy và các tiến trình con do hệ điều hành Android tự động kích hoạt.

Luận văn thạc sĩ chuyên ngành Hệ thống thông tin của tác giả Đào Thế Mẫn, dưới sự hướng dẫn khoa học của PGS. Nguyễn Hà Nam tại Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội, tập trung giải quyết bài toán phát hiện thói quen sử dụng ứng dụng thông qua khai phá mẫu chuỗi tuần tự. Mục tiêu cụ thể của nghiên cứu là xây dựng mô hình tiền xử lý lọc sạch dữ liệu gốc, đề xuất giải pháp phân tách chuỗi dài thành các chuỗi ngắn dựa trên khoảng thời gian hành vi tối ưu (slotTime), và áp dụng thuật toán khai phá mẫu chuỗi tuần tự hiệu năng cao.

Phạm vi nghiên cứu được thực nghiệm trên tập dữ liệu gồm 200 thiết bị di động chạy hệ điều hành Android trong khung thời gian từ 30 đến 50 ngày, thu thập tổng cộng 39.817 bản ghi hoạt động. Ý nghĩa của đề tài thể hiện qua việc nâng cao độ chính xác khai thác thói quen lên gấp nhiều lần so với các cách tiếp cận truyền thống, tạo cơ sở thực tiễn vững chắc cho các hãng sản xuất thiết bị tối ưu hóa giao diện người dùng, hỗ trợ doanh nghiệp công nghệ phát triển chiến lược tiếp thị ngữ cảnh và xây dựng các hệ thống gợi ý phần mềm thông minh.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng dựa trên nền tảng lý thuyết khai phá mẫu chuỗi tuần tự (Sequential Pattern Mining) do Agrawal và Srikant khởi xướng năm 1995, cùng lý thuyết khai phá dữ liệu chuỗi thời gian (Time-series Data Mining). Trong mô hình dữ liệu chuỗi, các khái niệm cốt lõi được chuẩn hóa bao gồm: Item (ứng dụng đơn lẻ), Itemset (tập hợp các ứng dụng được kích hoạt đồng thời hoặc trong một khoảng trễ rất ngắn), Chuỗi Sequence (tập hợp các Itemset được sắp xếp tuần tự theo thời gian kích hoạt), và Độ hỗ trợ tối thiểu minSup (tỷ lệ phần trăm chuỗi trong cơ sở dữ liệu chứa mẫu tuần tự khảo sát).

Để giải quyết hạn chế về tài nguyên tính toán của các thuật toán truyền thống như AprioriAll, GSP, hay PrefixSpan, luận văn lựa chọn và ứng dụng thuật toán SPAM (Sequential PAttern Mining using Bitmap Representation). Thuật toán SPAM tích hợp cấu trúc biểu diễn bitmap dọc cho từng chuỗi dữ liệu kết hợp chiến lược tìm kiếm theo chiều sâu (Depth-First Search - DFS) và kỹ thuật cắt tỉa không gian trạng thái. Cấu trúc này cho phép tính toán độ hỗ trợ của các ứng viên thông qua các phép toán bitwise AND nhanh chóng, giúp giảm thiểu đáng kể chi phí duyệt lại cơ sở dữ liệu và tiết kiệm bộ nhớ khi xử lý các chuỗi dữ liệu dài.

Phương pháp nghiên cứu

Nguồn dữ liệu thực nghiệm gồm 2 bộ dữ liệu độc lập: Bộ dữ liệu 1 thu thập từ 200 thiết bị di động với 98 ứng dụng trong 50 ngày (39.817 dòng logfile, tần suất 1 đến 3 ứng dụng/ngày/thiết bị); Bộ dữ liệu 2 thu thập từ 200 thiết bị với 49 ứng dụng trong 30 ngày (tần suất từ 0 đến 10 ứng dụng/ngày/thiết bị). Phương pháp chọn mẫu là chọn mẫu xác thực thực nghiệm theo tiến trình ghi nhận tự nhiên của hệ điều hành.

Quy trình phân tích dữ liệu được thực hiện qua các bước chuẩn hóa:

  • Bước 1: Tiền xử lý dữ liệu logfile bằng hệ quản trị cơ sở dữ liệu MySQL, lọc bỏ các tiến trình hệ thống không do người dùng trực tiếp kích hoạt như SystemApplication, Network Location, Pico TTS thông qua định danh PID và PPID.
  • Bước 2: Chuẩn hóa ngưỡng thời gian xác định Itemset (Slot time cutoff Element) cố định ở mức 60 giây. Nếu khoảng cách thời gian giữa thời điểm dừng của ứng dụng trước và thời điểm khởi động của ứng dụng kế tiếp nhỏ hơn hoặc bằng 60 giây, chúng được tính vào cùng một Itemset.
  • Bước 3: Phân tách chuỗi dài ban đầu thành các chuỗi ngắn thông qua giải thuật tối ưu hóa slotTime dựa trên việc xác định các chuỗi con phủ tối thiểu và chuỗi xen kẹt.
  • Bước 4: Thực thi khai phá mẫu chuỗi tuần tự trên nền tảng mã nguồn mở SPMF (Sequential Pattern Mining Framework) bằng ngôn ngữ Java, tích hợp 51 thuật toán khai phá dữ liệu tiên tiến để so sánh hiệu năng.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Thực nghiệm đối sánh chuyên sâu giữa phương pháp phân tách theo hành vi thời gian tối ưu (slotTime) và phương pháp phân tách cố định theo lịch biểu (N ngày) đã mang lại các phát hiện đột phá:

  • Phát hiện 1: Trên bộ dữ liệu 1, khi thiết lập ngưỡng độ hỗ trợ tối thiểu minSup = 45%, phương pháp phân tách theo giá trị slotTime tối ưu (86.182 giây, tương đương khoảng 23,94 giờ) đã phát hiện được 259 mẫu thói quen tuần tự có độ dài từ 2 phần tử trở lên. Ngược lại, phương pháp phân tách theo lịch biểu 25 ngày và 10 ngày hoàn toàn không phát hiện được bất kỳ mẫu thói quen nào có độ dài từ 2 phần tử trở lên (đạt 0 mẫu).
  • Phát hiện 2: Khi hạ ngưỡng minSup xuống 35% trên bộ dữ liệu 1, phương pháp phân tách theo slotTime tối ưu đã bùng nổ hiệu năng khi khai phá được tới 7.977 mẫu chuỗi thói quen từ 2 ứng dụng trở lên. Trong khi đó, phương pháp phân tách theo 25 ngày vẫn ghi nhận 0 mẫu chuỗi thỏa mãn điều kiện, minh chứng cho sự chênh lệch hiệu quả lên tới 100%.
  • Phát hiện 3: Trên bộ dữ liệu 2 với tần suất sử dụng dày đặc hơn, tại ngưỡng minSup = 20%, phương pháp phân tách theo slotTime = 86.001 giây (~0.995 ngày) trích xuất thành công 1.939 mẫu chuỗi thói quen phức tạp. Cùng ngưỡng hỗ trợ này, các phương án phân tách theo 5 ngày và 7 ngày đều không phát hiện được mẫu chuỗi nào, chỉ khi tăng khoảng thời gian phân tách lên mốc 10 ngày thì phương pháp phân tách theo ngày mới bắt đầu ghi nhận kết quả tương đương.
  • Phát hiện 4: Thuật toán xác định chuỗi xen kẹt và chuỗi con phủ tối thiểu trong Phụ lục A giúp tìm ra điểm gãy thời gian tối ưu, loại bỏ tình trạng phân tách ngẫu nhiên làm mất đi các mối liên kết hành vi liền kề giữa các ngày sử dụng.

Thảo luận kết quả

Nguyên nhân cốt lõi dẫn đến sự vượt trội của phương pháp phân tách theo hành vi bắt nguồn từ bản chất phi tuyến tính trong thói quen con người. Người dùng không kích hoạt ứng dụng theo khung giờ cố định từ 00:00:00 đến 23:59:00 hàng ngày mà theo các chu kỳ công việc và giải trí cá nhân. Phân tách cứng nhắc theo ngày dương lịch đã vô tình cắt đôi các chuỗi hành vi diễn ra vào ban đêm hoặc giữa các phiên chuyển giao ngày, khiến độ hỗ trợ của các mẫu chuỗi bị suy giảm nghiêm trọng dưới ngưỡng minSup.

Khi thảo luận kết quả, sự tương quan hiệu năng có thể được mô tả trực quan thông qua đồ thị đường biểu diễn số lượng mẫu theo trục hoành là độ hỗ trợ giảm dần từ 65% xuống 20%. Đường biểu diễn của phương pháp slotTime luôn duy trì độ dốc tăng trưởng đột biến ở các ngưỡng minSup thấp, trong khi đường biểu diễn của phương pháp phân tách theo ngày nằm ngang ở mức 0 trước khi đạt ngưỡng ngày đủ lớn. Kỹ thuật biểu diễn bitmap của giải thuật SPAM kết hợp giải thuật xác định slotTime tối ưu đã rút ngắn hơn 50% thời gian xử lý so với PrefixSpan trên tập dữ liệu chuỗi dài, đồng thời hạn chế tối đa việc sinh ra các ứng viên rác trong bộ nhớ.

Đề xuất và khuyến nghị

Dựa trên các phát hiện thực nghiệm, luận văn đề xuất 4 nhóm giải pháp mang tính ứng dụng thực tiễn cao:

  • Phát triển tính năng gợi ý ứng dụng thông minh theo ngữ cảnh chuỗi (Context-Aware App Recommendation): Đề xuất các nhà sản xuất hệ điều hành và giao diện tùy biến tích hợp thuật toán phân tích chuỗi tuần tự thời gian thực. Hệ thống tự động dự đoán và tải trước ứng dụng tiếp theo dựa trên chuỗi 2-3 thao tác trước đó của người dùng, đặt mục tiêu rút ngắn 30% thời gian thao tác tìm kiếm ứng dụng, triển khai thử nghiệm trong vòng 6 tháng.
  • Tối ưu hóa chiến dịch tiếp thị và quảng cáo trong ứng dụng (In-App Contextual Marketing): Khuyến nghị các doanh nghiệp thương mại điện tử và mạng quảng cáo số triển khai thuật toán phân tích chuỗi hành vi để phân phối thông điệp tiếp thị đúng thời điểm chuyển giao giữa các ứng dụng liên kết (ví dụ chuỗi: Tìm kiếm -> Bản đồ -> Đặt dịch vụ), hướng tới mục tiêu gia tăng tỷ lệ chuyển đổi nhấp chuột (CTR) từ 25% đến 40% trong lộ trình 9 tháng.
  • Quản lý tài nguyên hệ thống và tiết kiệm năng lượng chủ động: Đề xuất các kỹ sư phần mềm nhúng thiết lập cơ chế giải phóng bộ nhớ RAM và điều chỉnh xung nhịp CPU thông minh dựa trên việc dự báo ứng dụng sắp đóng hoặc mở trong chuỗi hành vi, mục tiêu giảm thiểu 15% mức tiêu hao pin thiết bị trong chu kỳ sử dụng 12 tháng.
  • Mở rộng mô hình nghiên cứu kết hợp dữ liệu đa nguồn: Khuyến nghị các nhóm nghiên cứu dữ liệu lớn tích hợp thêm các biến nhân khẩu học (độ tuổi, nghề nghiệp, giới tính) và cảm biến môi trường (vị trí GPS, trạng thái kết nối Bluetooth, Wi-Fi) để phân cụm người dùng chi tiết hơn, nâng cao độ chính xác dự báo hành vi lên trên 85% trong khung thời gian 18 tháng.

Đối tượng nên tham khảo luận văn

Công trình nghiên cứu mang lại giá trị học thuật và ứng dụng thực tiễn chuyên sâu cho 4 nhóm đối tượng chính:

  • Kỹ sư phát triển phần mềm di động và chuyên gia tối ưu UX/UI: Cung cấp góc nhìn thực nghiệm về thói quen tương tác thực tế của người dùng, hỗ trợ việc thiết kế vị trí icon, gom nhóm thư mục ứng dụng và xây dựng luồng trải nghiệm mượt mà, hạn chế thao tác thừa.
  • Chuyên gia phân tích dữ liệu (Data Analysts) và kỹ sư AI/Data Mining: Cung cấp mã nguồn tham khảo, giải thuật tính toán slotTime tối ưu và quy trình tiền xử lý logfile thực tế từ hệ điều hành Android, có thể tái sử dụng trực tiếp trên nền tảng SPMF mã nguồn mở.
  • Nhà quản trị sản phẩm công nghệ (Product Managers) và chuyên gia Digital Marketing: Giúp thấu hiểu hành vi khách hàng mục tiêu thông qua dữ liệu chuỗi tuần tự, từ đó xây dựng các chiến lược bán chéo sản phẩm (cross-selling) và cá nhân hóa trải nghiệm khách hàng theo thời gian thực.
  • Học viên cao học và nghiên cứu sinh ngành Khoa học máy tính, Hệ thống thông tin: Nguồn tài liệu học thuật tiêu chuẩn về phương pháp luận nghiên cứu dữ liệu chuỗi thời gian, kỹ thuật cắt tỉa DFS trong khai phá dữ liệu và phương pháp tổ chức thực nghiệm so sánh đa tham số.

Câu hỏi thường gặp

Khai phá mẫu chuỗi tuần tự khác biệt như thế nào so với khai phá luật kết hợp? Khai phá luật kết hợp tập trung tìm mối quan hệ giữa các mục dữ liệu xuất hiện đồng thời trong cùng một giao dịch đơn lẻ mà không quan tâm đến yếu tố thời gian. Ngược lại, khai phá mẫu chuỗi tuần tự theo dõi thứ tự xuất hiện trước sau của các sự kiện qua nhiều giao dịch theo dòng thời gian, giúp phát hiện quy luật hành vi lặp lại.

Tại sao luận văn lại ưu tiên lựa chọn thuật toán SPAM thay vì PrefixSpan hay SPADE? Thuật toán SPAM sử dụng cấu trúc dữ liệu bitmap dọc giúp toàn bộ quá trình kiểm tra độ hỗ trợ của chuỗi ứng viên được thực hiện qua các phép toán bitwise cực nhanh trong bộ nhớ. Thực nghiệm cho thấy SPAM vượt trội hơn PrefixSpan và SPADE về tốc độ thực thi và khả năng kiểm soát bộ nhớ khi xử lý các chuỗi dữ liệu lớn.

Ý nghĩa của việc thiết lập ngưỡng 60 giây trong phân tách Itemset là gì? Ngưỡng 60 giây (Slot time cutoff Element) đóng vai trò phân định giữa hành vi tương tác liên tục và tương tác độc lập. Khoảng cách thời gian giữa hai ứng dụng liên tiếp nhỏ hơn hoặc bằng 60 giây phản ánh hành vi đa nhiệm hoặc phối hợp tác vụ cùng lúc, cho phép gom chúng vào cùng một đơn vị sự kiện Itemset.

Vì sao phân tách dữ liệu theo khoảng thời gian hành vi lại hiệu quả hơn phân tách theo ngày? Phân tách theo ngày dương lịch chia cắt dữ liệu theo mốc 24 giờ cơ học, làm đứt gãy các chuỗi hành vi kéo dài qua đêm hoặc giữa các buổi sinh hoạt. Phương pháp tính slotTime tối ưu bảo toàn tính liên tục của các chuỗi con phổ biến, giúp các mẫu chuỗi đạt độ hỗ trợ cao hơn và phát hiện được nhiều thói quen hơn.

Dữ liệu logfile Android được làm sạch như thế nào trước khi đưa vào thuật toán? Dữ liệu thô từ hệ thống chứa nhiều tiến trình chạy ngầm và luồng phụ. Nghiên cứu sử dụng câu lệnh truy vấn SQL lọc bỏ toàn bộ các ứng dụng không do người dùng trực tiếp mở như SystemApplication hay Network Location, chỉ giữ lại các ứng dụng gốc xuất phát từ màn hình chính thông qua khớp mã định danh PID và PPID.

Kết luận

  • Luận văn đã giải quyết thành công bài toán phát hiện thói quen sử dụng ứng dụng di động bằng cách xây dựng mô hình tiền xử lý lọc sạch logfile Android và chuẩn hóa chuỗi dữ liệu đầu vào.
  • Đề xuất giải thuật tính toán khoảng thời gian phân tách tối ưu (slotTime) dựa trên chuỗi con phủ tối thiểu và chuỗi xen kẹt, khắc phục hoàn toàn nhược điểm chia cắt cơ học của phương pháp phân tách theo ngày truyền thống.
  • Thực nghiệm trên 200 thiết bị với 39.817 bản ghi đã chứng minh tính vượt trội của phương pháp đề xuất: tại ngưỡng minSup = 35%, phương pháp slotTime phát hiện tới 7.977 mẫu chuỗi thói quen trong khi phương pháp phân tách theo 25 ngày không phát hiện được mẫu nào.
  • Ứng dụng thành công thuật toán SPAM trên nền tảng SPMF, mang lại hiệu năng xử lý dữ liệu nhanh chóng và tiết kiệm tài nguyên tính toán.
  • Lộ trình nghiên cứu tiếp theo trong 12-18 tháng tới tập trung vào việc bổ sung biến định danh nhân khẩu học, dữ liệu cảm biến không gian và thử nghiệm trên các tập dữ liệu thời gian thực quy mô hàng triệu người dùng.

Để khai thác tối đa tiềm năng cá nhân hóa trải nghiệm người dùng và tối ưu hóa hệ thống, các doanh nghiệp công nghệ và nhà phát triển ứng dụng nên bắt đầu áp dụng ngay mô hình phân tích chuỗi tuần tự theo hành vi vào hệ thống dữ liệu nhật ký của đơn vị mình.