Công cụ khai thác dữ liệu thông tin trong bối cảnh mới
Rất khó có thể quản lý, khai phá được các dữ liệu có kích thước lớn với các phương pháp và công cụ hiện có do tính đa dạng của dữ liệu, tính chuyển động liên tục của dữ liệu và độ lớn của dữ liệu. Từ đây nảy sinh ra thuật ngữ khai phá dữ liệu lớn với mục đích khai phá tri thức từ các nguồn dữ liệu lớn. Việc khai phá dữ liệu lớn thực sự là một thách thức và cũng là cơ hội đặt ra trong những năm tới.
Cơ hội và thách thức
Cách mạng công nghệ đã tạo ra nguồn dữ liệu to lớn với sự bùng nổ của thiết bị kỹ thuật số, các thiết bị cảm biến… tạo ra dữ liệu lớn. Xu thế này sẽ không ngừng phát triển mạnh mẽ. Mục tiêu của các kỹ thuật khai phá dữ liệu lớn là đưa ra được các thông tin yêu cầu hoặc thậm chí phát hiện ra những mối quan hệ ẩn và các mẫu trong hàng loạt các tham số.
Việc phân tích các dòng dữ liệu nhanh và lớn có thể đưa ra những tri thức mới có giá trị và thậm chí là các khái niệm mang tính lý thuyết. Tuy nhiên, điều này mang lại nhiều những thách thức cho cộng đồng nghiên cứu.
Sự đa dạng và không đồng nhất
Sự đa dạng là một trong những đặc điểm quan trọng của dữ liệu lớn, đây là kết quả gần như không giới hạn các nguồn dữ liệu. Việc khai phá những dữ liệu lớn là một thách thức lớn đến mức khó có thể dự đoán được, bởi lẽ việc xử lý những nguồn dữ liệu gồm cả cấu trúc, bán cấu trúc và phi cấu trúc này là vấn đề phức tạp.
Các hệ thống cơ sở dữ liệu này có thể phù hợp với cấu trúc dữ liệu có cấu trúc hoặc phù hợp một phần mới dữ liệu bán cấu trúc nhưng chắc chắn là không phù hợp với dữ liệu phi cấu trúc. Tuy nhiên, tính không đồng nhất của dữ liệu cũng đem lại những cơ hội khám phá tri thức mới.
Thực tế cho thấy, việc xây dựng một mô hình đơn để khai phá dữ liệu không đồng nhất có thể dẫn đến kết quả khai phá không chấp nhận được. Do vậy, cần phải xây dựng các hệ thống phức tạp, đa mô hình. Vucetic - chuyên gia tin học đã giới thiệu một thuật toán khá thú vị để xử lý các dữ liệu không đồng nhất.
Theo đó, tác giả sử dụng kỹ thuật phân hoạch tập dữ liệu ban đầu thành các tập con đồng nhất và áp dụng một mô hình chuyên biệt cho mỗi tập con đồng nhất đó. Kỹ thuật này giúp đẩy nhanh quá trình khám phá tri thức từ dữ liệu lớn không đồng nhất, thế nhưng có thể làm bỏ sót các tri thức tiềm năng một khi việc phân hoạch làm phá vỡ các mối quan hệ quan trọng trong dữ liệu.
Quy mô dữ liệu
Dung lượng và quy mô lớn của dữ liệu đòi hỏi các công cụ quản lý và khai phá phải được cải tiến tương ứng. Những hướng tiếp cận dưới dây nếu được áp dụng hợp lý sẽ đem lại hiệu quả trong khai phá dữ liệu lớn: Điện toán đám mây kết hợp với tính toán song song; Tương tác người dùng và hệ thống trở nên nhanh chóng và hiệu quả.
Tốc độ/tính chuyển động liên tục
Khả năng truy nhập nhanh và khai phá dữ liệu lớn là một nhiệm vụ xử lý đặc biệt đối với các dòng dữ liệu, phải hoàn thành việc xử lý/khai phá dòng dữ liệu đó trong một thời gian nhất định. Nếu không, kết quả xử lý/khai phá đó sẽ trở nên ít có giá trị, thậm chí là vô giá trị. Chẳng hạn, ứng dụng đòi hỏi chạy theo thời gian thực như dự đoán động đất, dự đoán thị trường chứng khoán, thị trường ngoại hối…
Tốc độ khai phá dữ liệu phụ thuộc vào hai yếu tố chính: (1) thời gian truy cập dữ liệu; (2) hiệu quả của các thuật toán khai phá dữ liệu. Việc khai thác các chương trình lập chỉ mục tiên tiến là chìa khóa giải quyết vấn đề tốc độ. Cấu trúc chỉ số đa chiều đặc biệt hữu ích cho dữ liệu lớn.
Một hướng tiếp cận khác nhằm tăng tốc độ truy cập và khai phá dữ liệu lớn là khai thác kỹ thuật song song hoá trong việc truy cập và khai phá dữ liệu. Tính mềm dẻo của xử lý song song cùng với điện toán đám mây là cơ sở cho việc thúc đẩy hiệu suất và khả năng mở rộng của hệ thống khai phá dữ liệu lớn. Vì vậy, việc thiết kế của các mô hình tính toán song song mới và hiệu quả hơn bên cạnh đó vẫn là thách thức cần giải quyết.
Tính chính xác và tin cậy
Đối với dữ liệu lớn, dữ liệu có thể đến từ nhiều nguồn khác nhau. Vì vậy, độ chính xác và tin cậy của các nguồn dữ liệu là một vấn đề cần xem xét. Để giải quyết vấn đề này, việc xác minh nguồn gốc dữ liệu là bước quan trọng trong quá trình khai phá tri thức.
Dữ liệu lớn có tính động cao, do đó, hệ thống phân tích và quản lý dữ liệu phải cho phép các dữ liệu được quản lý trong đó được thay đổi và phát triển. Vì vậy, “dữ liệu gốc” là thành phần không thể thiếu của bất kỳ hệ thống xử lý dữ liệu lớn nào.
Dữ liệu gốc liên quan đến lịch sử phát triển, tiến hoá hoặc nguồn gốc mà dữ liệu được trích xuất hay thu thập. Khi dữ liệu phát triển, các độ đo độ tin cậy cần được thay đổi hoặc cập nhật, do đó, các độ đo này không nên đặt cố định.
Nguồn gốc của dữ liệu góp phần trực tiếp vào độ chính xác và tin cậy của kết quả khai phá dữ liệu. Tuy nhiên, thông tin về nguồn gốc dữ liệu không phải lúc nào cũng có sẵn hoặc được ghi chép. Việc khai phá dữ liệu có thể được sử dụng để phát hiện và xác minh nguồn gốc của dữ liệu.
Bảo mật
Dữ liệu riêng tư luôn là vấn đề cần xem xét trong khai phá dữ liệu. Vấn đề này còn nghiêm trọng hơn khi các ứng dụng khai phá dữ liệu lớn thường, đòi hỏi các thông tin cá nhân để tạo ra các kết quả có liên quan đến từng cá nhân như các dịch vụ dựa trên địa điểm (chẳng hạn quảng cáo). Nếu không có lá chắn bảo vệ thì kẻ xấu dễ dàng lấy thông tin, tài sản và dữ liệu...
Sự tương tác
Sự tương tác của một hệ thống khai phá dữ liệu cho phép người dùng tương tác một cách nhanh chóng và đầy đủ. Sử dụng thông tin phản hồi/hướng dẫn có thể giúp thu hẹp khối lượng dữ liệu, đẩy nhanh tốc độ xử lý, tăng khả năng mở rộng của hệ thống. Đồng thời cho phép người dùng có khả năng hình dùng, đánh giá (tiền đánh giá) và giải thích kết quả khai phá trung gian và cuối cùng.
Các công cụ khai phá dữ liệu lớn
Dữ liệu lớn liên quan chặt chẽ với phần mềm mã nguồn mở. Nền tảng xử lý dữ liệu lớn là Hadoop với các phần mềm:
- Apache Hadoop cho phép xử lý dữ liệu lớn dành cho các ứng dụng dữ liệu phân tán, dựa trên mô hình lập trình MapReduce và hệ thống file phân tán. Hadoop cho phép viết các ứng dụng xử lý dữ liệu song song, xử lý dữ liệu theo lô và có khả năng xử lý khối lượng dữ liệu cực lớn.
- Các ứng dụng liên quan đến Apache Hadoop: Apache Pig, Apache Hive, Apache HBase, Apache ZooKeeper, Apache Cassandra…
- Apache S4 (Simple Scalable Streaming System): nền tảng xử lý luồng dữ liệu liên tục theo thời gian thực.
Các nền tảng mã nguồn mở phổ biến nhất sử dụng cho khai phá dữ liệu lớn:
- Apache Mahout: Phần mềm học máy và khai phá dữ liệu mã nguồn mở dựa chủ yếu trên Hadoop. Phần mềm này triển khai nhiều thuật toán học máy và khai phá dữ liệu: Phân cụm, phân lớp, lọc cộng tác và khai phá mẫu.
- R: Một ngôn ngữ lập trình mã nguồn mở được thiết kế cho tính toán thống kê. R được thiết kế bởi Ross Ihaka Robert Gentleman tại Đại học Auckland, New Zealand từ năm 1993 và dùng cho phân tích thống kê với tập dữ liệu rất lớn. R có chứa nhiều loại kỹ thuật thống kê: Mô hình hóa tuyến tính và phi tuyến, kiểm thử thống kê cổ điển, phân tích chuỗi thời gian, phân lớp, phân cụm. R có thể tạo ra những đồ thị chất lượng cao cùng các biểu tượng toán học.
- MOA: Phần mềm khai phá dữ liệu theo thời gian thực. Phần mềm này triển khai các kỹ thuật khai phá: Phân lớp, hồi quy, phân cụm…
- Vowpal Wabbit (VW): Dự án mã nguồn mở do Yahoo khởi xướng và được Microsoft tiếp tục phát triển.
Như vậy, khai phá dữ liệu lớn là một lĩnh vực nghiên cứu đầy thách thức bởi nó vượt qua hầu hết những giới hạn của các kỹ thuật khai phá dữ liệu hiện thời. Những thách thức trong lĩnh vực này bao gồm: Sự đa dạng/không đồng nhất, quy mô, tốc độ/tính chuyển động liên tục, tính chính xác và tin cậy, bảo mật, tương tác của dữ liệu.
Tài liệu tham khảo:
1. Beyer, M.A, Laney, D: The Importance of ‘big data’: A Definition. Gartner (2012);
2. Laney, D.: 3D Data Management: Controlling Data Volume, Velocity and Variety. Gartner (2001);
3. New Vantage Partners: Big Data Executive Survey 2013, http://newvantage.com/wpcontent/uploads/2013/02/NVP-Big-Data-Survey-2013.