Agent –
Data
Mining &
Web
Mining &
OLAP
April 5
2011
Nguyễn Hải Long – D07CNPM1
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Contents
Contents 2
I. Giới Thiệu Đề Tài
Như chúng ta đã biết ngày nay mạng Internet đã rất phát triển và trở nên không thể thiếu
trong xã hội hiện đại chúng ta có thể tìm kiếm tra cứu hầu hết là bất cứ thông tin nào trên
2
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
mạng từ các nguồn dữ liệu khổng lồ trên toàn thế giới đó là cách nhìn của một người sử
dụng bình thường nhất cũng có thể nhận ra còn trên cách nhìn của một người làm trong
lĩnh vực công nghệ thông tin chúng ta đặt ra câu hỏi là phải làm thế nào để tập hợp chọn
lọc tạo ra các thông tin hưu ích cho người dùng. Có lẽ không ai là không biết đến các hệ
thống như Google, Yahoo, Facebook, Twitter…
Ta đặt ra câu hỏi là các hệ thống đó làm sao để quản lý các nguồn dữ liệu khổng lồ đó mà
tốc độ truy cập lại vẫn rất nhanh không những vậy những Google còn luôn trả cho bạn
những kết quả tìm kiếm tốt nhất thông minh nhất. Nó còn thông minh hơn nếu như bạn
luôn tìm kiếm thông tin bằng cách đăng nhập vào hệ thống của Google, bạn có thể thử
bằng cách tìm một từ khóa chuyên biệt khi không đăng nhập và khi đăng nhập, nói chung
kết quả sẽ khác nhau, và hầu hết là kết quả khi bạn đăng nhập sẽ có độ chính xác với mục
chiều gọi là các khối (cube) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho
dữ liệu. Tạo khối (cube) cho dữ liệu trong các bảng chiều (dimension table) và bảng sự
kiện (fact table) trong kho dữ liệu và cung cấp khả năng thực hiện các truy vấn tinh vi và
phân tích cho các ứng dụng client.
Trong khi kho dữ liệu và data mart lưu trữ dữ liệu cho phân tích, thì OLAP là kỹ thuật
cho phép các ứng dụng client truy xuất hiệu quả dữ liệu này. OLAP cung cấp nhiều lợi
ích cho người phân tích, ví dụ như:
- Cung cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn, định
hướng và khám phá dữ liệu.
- Cung cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá các
mối quan hệ trong dữ liệu kinh doanh phức tạp.
- Dữ liệu được tính toán trước đối với các truy vấn thường xuyên nhằm làm cho thời
gian trả lời rất nhanh đối với các truy vấn đặc biệt.
- Cung cấp các công cụ mạnh giúp người dùng tạo các khung nhìn mới của dữ liệu
dựa trên một tập các hàm tính toán đặc biệt.
OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất lớn mà
nếu cho thực thi các truy vấn này trong hệ thống OLTP sẽ không thể cho kết quả hoặc sẽ
mất rất nhiều thời gian.
II.2. Mô hình dữ liệu đa chiều
Các nhà quản lý kinh doanh có khuynh hướng suy nghĩ theo “nhiều chiều”
(multidimensionally). Ví dụ như họ có khuynh hướng mô tả những gì mà công ty làm
như sau:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh
giá hiệu quả thực hiện của chúng tôi qua thời gian”.
Những người thiết kế kho dữ liệu thường lắng nghe cẩn thận những từ đó và họ thêm vào
những nhấn mạnh đặc biệt của họ như:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh
giá hiệu quả thực hiện của chúng tôi qua thời gian”.
Suy nghĩ một cách trực giác, việc kinh doanh như một khối (cube) dữ liệu, với các nhãn
trên mỗi cạnh của khối (xem hình bên dưới). Các điểm bên trong khối là các giao điểm
Thời gian, Thị trường vào 1 thời điểm là một độ đo duy nhất so với các kết hợp khác.
Các chiều được phân cấp theo loại. Ví dụ như chiều Thời gian có thể được mô tả bởi các
thuộc tính như Năm, Quý, Tháng và Ngày. Mặt khác, các thuộc tính của một chiều có thể
được tổ chức vào một lưới mà chỉ ra một phần trật tự của chiều. Vì thế, cũng với chiều
Thời gian có thể được tổ chức thành Năm, Quý, Tháng, Tuần và Ngày. Với sự sắp xếp
này, chiều Thời gian không còn phân cấp vì có những tuần trong năm có thể thuộc về
nhiều tháng khác nhau.
Vì vậy, nếu mỗi chiều chứa nhiều mức trừu tượng, dữ liệu có thể được xem từ nhiều
khung nhìn linh động khác nhau. Một số thao tác điển hình của khối dữ liệu như roll-up
(tăng mức độ trừu tượng), drill-down (giảm mức độ trừu tượng hoặc tăng mức chi tiết),
slice and dice (chọn và chiếu), và pivot (định hướng lại khung nhìn đa chiều của dữ
liệu), cho phép tương tác truy vấn và phân tích dữ liệu rất tiện lợi. Những thao tác đó
được biết như Xử lý phân tích trực tuyến (On-Line Analytical Processing – OLAP).
Những nhà ra quyết định thường có những câu hỏi có dạng như “tính toán và xếp hạng
tổng số lượng hàng hoá bán được theo mỗi quốc gia (hoặc theo mỗi năm)”. Họ cũng
muốn so sánh hai độ đo số học như số lượng hàng bán và ngân sách được tổng hợp bởi
cùng các chiều. Như vậy, một đặc tính để phân biệt của mô hình dữ liệu đa chiều là nó
nhấn mạnh sự tổng hợp của các độ đo bởi một hoặc nhiều chiều, mà đó là một trong
những thao tác chính yếu để tăng tốc độ xử lý truy vấn.
II.3. Giới thiệu dịch vụ OLAP (OLAP Services) của Microsoft SQL Server
Dịch vụ OLAP là một server tầng giữa (midle-tier server) phục vụ cho phân tích xử lý
trực tuyến (OLAP). Hệ thống dịch vụ OLAP là một công cụ mạnh trong việc xây dựng
các khối đa chiều của dữ liệu cho phân tích và cung cấp khả năng truy xuất nhanh đến
thông tin khối cho các client.
Kiến trúc dịch vụ OLAP được chia thành 2 phần: Phần server (được đại diện bởi OLAP
server) và phần client (là dịch vụ PivotTable). Cả dịch vụ OLAP và dịch vụ PivotTable
đều cho phép thiết kế, tạo mới và quản lý các khối (cube) từ kho dữ liệu (data warehouse)
và cho phép các client truy xuất đến dữ liệu OLAP. Có thể hiểu rằng OLAP server quản
lý dữ liệu còn dịch vụ PivotTable làm việc với server để cho client truy xuất dữ liệu.
7
hướng từ vài trăm gigabyte đến hàng terabyte so với các cơ sở dữ liệu tác nghiệp. Kho dữ
liệu hỗ trợ các truy vấn phức tạp với thời gian hồi đáp nhanh, các truy vấn phức tạp có
thể truy xuất hàng triệu mẩu tin và thực hiện nhiều lần các thao tác quét, kết và tổng hợp.
Đối với kho dữ liệu, số lượng truy vấn đưa vào và thời gian hồi đáp quan trọng hơn số
lượng giao dịch đưa vào. Mà OLAP là một trong những công cụ cho phép thực hiện hiệu
quả các truy vấn này.
Căn cứ vào đó, các cơ sở dữ liệu tác nghiệp được xây dựng để hỗ trợ tốt các tác vụ
OLTP, vì thế nếu cố gắng thực thi các truy vấn OLAP phức tạp đối với các cơ sở dữ liệu
tác nghiệp sẽ cho kết quả là hiệu quả thực hiện không thể chấp nhận được.
II.5. Các mô hình lưu trữ hỗ trợ OLAP
Dịch vụ OLAP hỗ trợ nhiều mô hình lưu trữ dữ liệu khác nhau, mỗi mô hình có các ưu và
khuyết điểm riêng, chúng được sử dụng tuỳ theo mục đích khai thác.
II.5.1. Mô hình Multidimensional OLAP (MOLAP)
Mô hình OLAP đa chiều (MOLAP) lưu trữ dữ liệu cơ sở (là dữ liệu từ các bảng của kho
dữ liệu hoặc data mart) và thông tin tổng hợp (là các độ đo được tính toán từ các bảng)
trong các cấu trúc đa chiều gọi là các khối (cube). Các cấu trúc này được lưu bên ngoài
cơ sở dữ liệu data mart hoặc kho dữ liệu.
Mô hình dữ liệu MOLAP
Lưu trữ các khối (cube) trong cấu trúc MOLAP là tốt nhất cho các truy vấn tổng hợp dữ
liệu thường xuyên mà cần thời gian hồi đáp nhanh. Ví dụ, tổng sản phẩm bán được của tất
cả các vùng theo quý.
Mô hình MOLAP cho phép thực hiện các truy vấn phân tích dữ liệu tốt nhất vì các đặc
điểm sau:
- Thông tin tổng hợp và dữ liệu cơ sở được lưu trữ trong cấu trúc đa chiều.
- Các thao tác kết (join), là một trong những thao tác tốn chi phí nhất của mô hình
quan hệ, thì không cần thiết.
- MOLAP sử dụng các thuật toán nén dữ liệu cho phép lưu trữ với ít không gian
hơn.
- MOLAP sử dụng chỉ mục bitmap cho hiệu quả thực thi tốt hơn.
9
AGENT – DATA MINING & WEB MINING & OLAP
Mô hình OLAP lai (HOLAP) là sự kết hợp giữa MOLAP và ROLAP.
Mô hình dữ liệu HOLAP
Lưu trữ các khối (cube) trong cấu trúc HOLAP là tốt nhất cho các truy vấn tổng hợp dữ
liệu thường xuyên dựa trên một lượng lớn dữ liệu cơ sở. Ví dụ, chúng ta sẽ lưu trữ dữ
liệu bán hàng theo hàng quý, hàng năm trong cấu trong MOLAP và dữ liệu hàng tháng,
hàng tuần và hàng ngày trong cấu trúc ROLAP.
Lợi ích của việc lưu trữ trong cấu trúc HOLAP là:
- Lấy dữ liệu trong khối (cube) nhanh hơn bằng cách sử dụng xử lý truy vấn tốc độ
cao của MOLAP.
- Tiêu thụ ít không gian lưu trữ hơn MOLAP.
- Tránh trùng lắp dữ liệu.
II.5.4. So sách các mô hình
Bảng sau so sánh tổng hợp ba mô hình lưu trữ hỗ trợ OLAP:
MOLAP ROLAP HOLAP
Lưu trữ dữ liệu cơ sở Khối Bảng quan hệ Bảng quan hệ
Lưu trữ thông tin tổng hợp Khối Bảng quan hệ Khối
Hiệu suất thực hiện truy vấn Nhanh nhất Chậm nhất Nhanh
Tiêu thụ không gian lưu trữ Nhiều Thấp Trung bình
Chi phí bảo trì Cao Thấp Trung bình
II.6. Kiến trúc khối (cube) của OLAP
11
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Đối tượng chính của OLAP là khối (cube), một thể hiện đa chiều của dữ liệu chi tiết và
tổng hợp. Một khối bao gồm một nguồn dữ liệu (Data source), các chiều (Dimensions),
các độ đo (Measures) và các phần dành riêng (Partitions). Các khối được thiết kế dựa trên
yêu cầu phân tích của người dùng. Một kho dữ liệu có thể hỗ trợ nhiều khối khác nhau
như khối Bán hàng, khối Bảng kiểm kê,…
Dữ liệu nguồn của một khối chỉ ra nơi chứa kho dữ liệu cung cấp dữ liệu cho khối.
nhằm các mục đích phân tích đặc biệt nào đó trong khi duy trì các khối tách biệt cho đơn
giản. Các chiều (dimension) và các độ đo (measure) có thể được chọn từ các khối được
kết để thể hiện trong khối ảo.
II.7. Mô hình kiến trúc dịch vụ OLAP
12
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Kiến trúc dịch vụ OLAP gồm 2 thành phần: Server và Client
II.7.1. Kiến trúc thành phần Server
13
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Kiến trúc thành phần Server
Dịch vụ OLAP của SQL Server cung cấp thành phần Server có khả năng tạo và quản lý
dữ liệu OLAP đa chiều, đồng thời cung cấp dữ liệu cho client qua dịch vụ PivotTable
(PivotTable Service).
Các thao tác (operation) của thành phần Server bao gồm việc tạo các khối dữ liệu đa
chiều từ kho cơ sở dữ liệu quan hệ và lưu trữ chúng trong các cấu trúc khối đa chiều
(MOLAP), trong cơ sở dữ liệu quan hệ (ROLAP) hoặc kết hợp cả hai (HOLAP). Siêu dữ
liệu (metadata) của các cấu trúc khối đa chiều được lưu trữ trong một kho (repository)
trong cơ sở dữ liệu quan hệ.
Các thao tác được thành phần Server cung cấp gồm:
- Khả năng tạo và quản lý các khối của OLAP.
Phục vụ lấy dữ liệu và làm cho nó có thể sử dụng được từ các ứng dụng client.
II.7.2. Kiến trúc thành phần Client
Kiến trúc thành phần Client
Thành phần client là dịch vụ PivotTable giao tiếp với OLAP server và cung cấp giao diện
cho các ứng dụng client sử dụng truy cập dữ liệu OLAP trên server. Các ứng dụng client
kết nối đến dịch vụ PivotTable bằng cách sử dụng giao diện OLE DB hoặc mô hình ADO
(Microsoft ActiveX Data Objects).
đòi hỏi rất nhiều thời gian cần thiết để có thể giải đáp được (thậm chí các cách truyền
thống không thể giải được). Nó có thể tìm thấy được những thông tin cực kỳ hữu ích mà
rất dễ bị bỏ qua hoặc không xem xét đến để có thể dự đoán những xu thế/hành động xảy
ra trong tương lai.
Để có thể data mining một cách hiệu quả, điều đầu tiên cần phải thu thập dữ liệu và định
nghĩa lại theo các tiêu chí cần phân tích. Các kỹ thuật data mining có thể cài đặt rất nhanh
chóng trên các nền tảng phần mềm, phần cứng phổ thông mà không cần đòi hỏi quá phức
tạp, tuy vậy data mining thường gắn liền với việc phân tích một khối lượng dữ liệu cực
lớn nên cần ứng dụng các công nghệ high performance client/server hoặc xử lý song song
16
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
(parallel programming).
Nghe thì hơi loằng ngoằng khó hiểu, thực ra thì đúng là nó rất loằng ngoằng, phức tạp,
khó hiểu :D. Tuy vậy có thể tóm lược khái quát các thành phần cơ bản của data mining
như sau.
III.2. Các thành phần cơ bản của Data mining
Công nghệ data mining là kết quả của quá trình lâu dài nghiên cứu và phát triển sản
phẩm. Quá trình này bắt đầu từ khi những dữ liệu đầu tiên lưu vào máy tính, tiếp đến là
quá trình cải tiến, nâng câp cách thức truy xuất dữ liệu và dần dần cho phép người dùng
có thể duyệt dữ liệu theo thời gian thực. Kết quả của quá trình này cho phép truy xuất các
nguồn dữ liệu quá khứ, tính toán và định vị lại việc truyền tải, cung cấp thông tin cho
hiện tại, tương lai hay đưa ra các dự đoán tình huống có thể sắp diễn ra.
Có ba kỹ thuật cơ bản nhưng rất tổng quát và đầy đủ trong công nghệ data mining:
Thu thập dữ liệu lớn. (Massive data collective).
Nền tảng sức mạnh tính toán. Đây chính là hạ tầng bao gồm cả phần cứng và phần mềm
lõi. (Powerful computing)
III.3. Phạm vi ứng dụng
Như đã trình bày ở trên, pham vi ứng dụng của data mining rất rộng, bao phủ hầu hết các
lĩnh vực. Tuy vậy có thể tóm lược lại phạm vi ứng dụng của data ming trong các bài toán
III.4. Giới thiệu ứng dụng của Data mining vào quản lý dự án Agile
Quản lý dự án là một kỹ năng nghệ thuật của việc thực hiện các phương pháp phân tích
định tính và định lượng. Có nhiều phương pháp phân tích định lượng hiện đang được sử
dụng trong quản lý dự án để tiếp cận dự án, trạng thái của dự án và để đạt được tri thức từ
dữ liệu lịch sử. Data mining là quá trình chiết xuất các mẫu từ dữ liệu. Data mining, hoặc
phát hiện chi thức, là quá trình tìm tòi đào sâu và phân tích khối dữ liệu lớn sau đó trích
ra các thông tin có ý nghĩa dưới sự hỗ trợ của máy tính.
Trong bài viết này minh họa việc sử dụng các kỹ thuật data mining trong lập kế hoạch dự
án và đánh giá rủi ro. Data mining đã được ứng dụng để phát triển một mã nguồn mở đó
trong quả lý dự án bạn có thể download phần mềm mã nguồn mở [Intelligent scrum
planner ]đó từ
Để thiết kế một kế hoạch thông minh cho quá trình Scrum, thì ta thiết kế một bộ dữ liệu
thử nghiệm với các thuộc tính sau
Taskid - Task id
Resourcename - Resource name/id
TaskSize – High level module size {small/medium/high}
EstimatedHours – Estimated hours
TotalBurnedHours – Actual hours required for development
Estimation – [EstimatedHours- TotalBurnedHours] {under/over/good}
PreReleaseDefects – number of pre-release defects
PostReleaseDefects– number of post release defects
FunctionalDependency-Functional dependencies with other task {low/medium/high}
RequirementChanges- Requirement changes in middle of the game
{low/medium/high}
DocumentationRequirement {low/medium/high}
Teaminteraction {low/medium/high}
18
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Automatedtestcases {yes/no}
| | | FunctionalDependency = medium
| | | | DocumentationRequirement = low: met (4.0)
| | | | DocumentationRequirement = high: not met (4.0)
| | | FunctionalDependency = small
| | | | Loadfactor = high: not met (12.0)
| | | | Loadfactor = low
| | | | | Teaminteraction = low: not met (4.0)
| | | | | Teaminteraction = medium: met (12.0/4.0)
| | | FunctionalDependency = high: not met (8.0)
PreReleaseDefects > 2
| Integrationbuild = yes: met (72.0)
| Integrationbuild = no
| | DocumentationRequirement = low
| | | TaskSize = small: not met (4.0)
| | | TaskSize = medium: met (4.0)
| | DocumentationRequirement = high: met (8.0)
III.5. Project Data Mining and Project Estimation
Kinh nghiệm của các dự án data-mining trong 40 – 50 năm qua cho thấy việc sử dụng
các phương pháp nguyên thủy để phân tích thống kê đều cho kết quả sai. Theo một số
nguyên nhân chưa được xác định, các process phức tạp và nhiều công đoạn của dự án
data-mining có thể giải quyết bằng các cách thức cơ bản, cách là một ứng dụng trực tiếp
của phân tích quy hồi trên các dữ liệu đó
Ngay cả sự thất bại kéo dài trong lĩnh vực này là không thể thay đổi sự tin tưởng của
người dùng mà trực giác của họ là đủ để giải quyết các vấn đề phức tạp về số lượng các
dự án Data mining.
22
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Xác định các báo cáo trên cho một dự án khai thác dữ liệu có thể chỉ đơn giản là sự ngạc
nhiên với sự nhấn mạnh của các trường đại học hàng đầu và trung tâm nghiên cứu mà
thể.
Cùng có thể nói về các luật khác có tính chất cơ bản. Cụ thể như phương pháp tiếp cận
và lý thuyết phải được phát triển trong lĩnh vực quản lý dự án.
23
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Ví dụ, nếu chúng ta nghiên cứu mối quan hệ chức năng giữa các nỗ lực tổng số dự án và
của thời gian, mỗi bộ dữ liệu mới có thể dẫn đến một kết quả mới và không chắc chắn.
Tất nhiên, từ 15-20 năm nay có thể thu thập dữ liệu trên, cho biết, 10.000 dự án và được
tin tưởng rằng, 7-8 các dự án trong tháng qua không thể thay đổi xu hướng thống kê, xuất
phát từ dữ liệu trên 10.000
dự án. Nhưng điều đó không có nghĩa là những kết quả ổn định được chính xác và cách
tiếp cận với dữ liệu chế biến là hợp pháp.
Trong thực tế nó chỉ đơn giản là tự lừa dối, bất kể nó được thực hiện ý thức, hoặc vô
thức. Giả sử chúng ta đối phó với các mối quan hệ chức năng giữa các nỗ lực của dự án
và của thời gian.
Chỉ có một thực tế là các dữ liệu dự án được thu thập qua một thời gian dài làm cho các
doanh
xử lý toàn bộ dữ liệu vô nghĩa, bởi vì sự thay đổi về năng suất trong thời gian dài thời
gian thu thập số liệu do các phương pháp mới và các công cụ.
Mặt khác, nếu chúng ta cố gắng sử dụng cho mục đích phân tích chỉ có các dự án gần đây
nhất, chúng tôi sẽ chắc chắn phải đối mặt với các vấn đề của ứng dụng không phương
pháp thống kê để dữ liệu nhỏ.
Các ứng dụng liên tục của các phương pháp thống kê trong trường hợp này dữ liệu dự án
nhỏ đã đeo
nhân vật hoạt hình và chỉ có thể được biện minh bởi các đặc điểm của doanh nghiệp. Rõ
ràng, như vậy
thống kê cách tiếp cận để giải thích các dữ liệu dự án nhỏ không có gì để làm với các
khoa học
phương pháp.