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
đích tìm kiếm của bạn cao hơn so với khi bạn không đăng nhập. Bạn có biết tại sao
không?
Theo như tôi dự đoán thì khi chúng ta đăng nhập vào hệ thống của Google và tra cứu
thông tin thì mỗi lần tra cứu hệ thống Google sẽ lưu các từ khóa tìm kiếm, lĩnh vực tìm
kiếm… để tạo thành các mẫu (pattern) phục vụ cho việc tìm kiếm thông minh
Còn với hệ thống Facebook có tính năng rất hay và rất hữu dụng trong việc kết nối các
mối quan hệ, đó là tính năng suggestions friends, các mối quan hệ của tôi hầu hết đều kết
nối qua tính năng này, và điều thú vị là hầu hết các người bạn mà FB suggest đều là
những người tôi biết. Vậy tại sao FB nó lại thông minh đến mức như vậy?
Amazon.com là website bán sách lớn nhất trên internet, bạn để ý rằng mỗi khi bạn xem
thông tin chi tiết về một quyển sách nào đó trên site thì bao giờ cũng kèm theo 1 danh
sách các quyển sách gợi ý mua kèm theo quyển bạn đang xem, một thống kê cho thấy có
tới trên 70% đầu sách được người dùng mua thêm thông qua hình thức gợi ý này. Vậy
điều gì làm cho việc bán sách hiệu quả đến như vậy?
Trên đây chỉ là các ví dụ chúng ta có thể nhìn và hiểu luôn , còn rất, rất nhiều các ví dụ từ
nghiên cứu khoa học ứng dụng trong không gian, đến việc chống khủng mà tôi không
thể trình bày ở đây được
3
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Nói tóm lại tất cả những ví dụ, những điều tôi nói ở trên chung qui lại chỉ xoay quanh các
chủ đề đó là Olap, Data ming & Web mining.
Vậy chúng ta sẽ đi tìm hiểu một cách khái quát xem Olap, Data ming & Web mining là
những kỹ thuật gì tác dụng và ứng dụng của nó như thế nào trong phần tiếp theo
II. OLap
II.1. OLap là gì ?
4
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
OLAP (On-Line Analytical Processing) là một kỹ thuật sử dụng các thể hiện dữ liệu đa
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
của các cạnh. Với mô tả kinh doanh ở trên, các cạnh của khối là Sản phẩm, Thị trường,
và Thời gian. Hầu hết mọi người đều có thể nhanh chóng hiểu và tưởng tượng rằng các
điểm bên trong khối là các độ đo hiệu quả kinh doanh mà được kết hợp giữa các giá trị
Sản phẩm, Thị trường và Thời gian.
5
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Mô phỏng các chiều trong kinh doanh
Một khối dữ liệu (datacube) thì không nhất thiết phải có cấu trúc 3 chiều (3-D), nhưng về
cơ bản là có thể có N chiều (N-D). Những cạnh của khối được gọi là các chiều
(dimensions), mà đó là các mặt hoặc các thực thể ứng với những khía cạnh mà tổ chức
muốn ghi nhận. Mỗi chiều có thể kết hợp với một bảng chiều (dimension table) nhằm
mô tả cho chiều đó. Ví dụ, một bảng chiều của Sản phẩm có thể chứa những thuộc tính
như Ma_sanpham, Mo_ta, Ten_sanpham, Loai_SP,… mà có thể được chỉ ra bởi nhà quản
trị hoặc các nhà phân tích dữ liệu. Với những chiều không được phân loại, như là Thời
gian, hệ thống kho dữ liệu sẽ có thể tự động phát sinh tương ứng với bảng chiều
(dimension table) dựa trên loại dữ liệu. Cần nói thêm rằng, chiều Thời gian trên thực tế
có ý nghĩa đặc biệt đối với việc hỗ trợ quyết định cho các khuynh hướng phân tích.
Thường thì nó được mong muốn có một vài tri thức gắn liền với lịch và những mặt khác
của chiều thời gian.
Hơn nữa, một khối dữ liệu trong kho dữ liệu phần lớn được xây dựng để đo hiệu quả của
công ty. Do đó một mô hình dữ liệu đa chiều đặc thù được tổ chức xung quanh một chủ
đề mà được thể hiện bởi một bảng sự kiện (fact table) của nhiều độ đo số học (là các đối
tượng của phân tích). Ví dụ, một bảng sự kiện có thể chứa số mặt hàng bán, thu nhập,
tồn kho, ngân sách,… Mỗi độ đo số học phụ thuộc vào một tập các chiều cung cấp ngữ
cảnh cho độ đo đó. Vì thế, các chiều kết hợp với nhau được xem như xác định duy nhất
6
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
độ đo, là một giá trị trong không gian đa chiều. Ví dụ như một kết hợp của Sản phẩ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
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Các đặc điểm của dịch vụ OLAP:
- Dễ sử dụng: Bằng cách cung cấp các giao diện người dùng và các trợ giúp thực
hiện (wizard).
- Linh động: Mô hình dữ liệu mạnh cho định nghĩa khối (cube) và lưu trữ.
- Các khối có thể ghi (Write-enable): Cho các kịch bản phân tích dạng “what if”.
- Kiến trúc có thể co dãn (scalable architecture): Cung cấp một sự đa dạng các kịch
bản lưu trữ và giải pháp tự động đối với “hội chứng bùng nổ dữ liệu” mà gây khó
chịu cho các kỹ thuật OLAP.
- Tích hợp các công cụ quản trị, bảo mật, nguồn dữ liệu và client/server caching.
- Hỗ trợ rộng rãi các hàm API và kiến trúc mở để hỗ trợ các ứng dụng tuỳ ý.
II.4. So sánh OLAP với OLTP:
Đặc trưng của các ứng dụng OLTP (On-Line Transaction Processing) là các tác vụ xử lý
tự động ghi chép dữ liệu xử lý tác vụ của một tổ chức như ghi nhận đơn đặt hàng và các
giao dịch ngân hàng (chúng là những công việc hàng ngày của tổ chức thương mại) mà
cần phải đọc hoặc cập nhật một vài mẩu tin dựa trên khoá chính của chúng. Những tác vụ
đó có cấu trúc, được lặp lại, bao gồm các giao dịch ngắn, tối giản và tách biệt, yêu cầu dữ
liệu chi tiết và mới cập nhật. Các cơ sở dữ liệu tác nghiệp có xu hướng từ vài trăm
megabyte đến hàng gigabyte kích thước và chỉ lưu trữ các dữ liệu hiện hành. Tính nhất
quán và khả năng phục hồi của cơ sở dữ liệu là then chốt, và tối đa thông lượng giao dịch
là thước đo chính yếu. Vì thế cơ sở dữ liệu được thiết kế để tối thiểu các xung đột trùng
lắp.
Còn kho dữ liệu, mục tiêu là hỗ trợ quyết định cho các nhà quản lý. Tính chi tiết và riêng
lẻ của các mẩu tin thì ít quan trọng hơn tính lịch sử, tổng kết và hợp nhất của dữ liệu. Do
đó, kho dữ liệu thường chứa dữ liệu hợp nhất từ một hoặc nhiều cơ sở dữ liệu tác nghiệp
và được thu thập qua một thời gian dài. Kết quả là kích thước kho dữ liệu có khuynh
8
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
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
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
- MOLAP lấy dữ liệu trong khối (cube) rất nhanh bằng cách sử dụng các xử lý truy
vấn tốc độ cao và cache dữ liệu (data cache). Thông tin nhận được từ khối (cube)
và các bảng OLAP cơ sở chỉ được truy xuất thông tin chi tiết.
- MOLAP không xử dụng cơ chế khoá vì dữ liệu là chỉ đọc.
- MOLAP có thể được nạp trước vào bộ nhớ cache.
- Dữ liệu có thể dễ dàng sao chép đến client cho phân tích không trực tuyến (off-
line).
II.5.2. Mô hình Relational OLAP (ROLAP)
Mô hình OLAP quan hệ (ROLAP) lưu trữ dữ liệu cơ sở và thông tin tổng hợp trong các
bảng quan hệ. Các bảng này được lưu trữ trong cùng cơ sở dữ liệu như là các bảng của
data mart hoặc kho dữ liệu.
Mô hình dữ liệu ROLAP
Lưu trữ các khối trong cấu trúc ROLAP là tốt nhất cho các truy vấn dữ liệu không
thường xuyên. Ví dụ như nếu 80% người dùng truy vấn chỉ dữ liệu trong vòng một năm
trở lại đây, các dữ liệu cũ hơn một năm sẽ được đưa vào một cấu trúc ROLAP để giảm
không gian đĩa bị chiếm dụng, hơn nữa còn để loại trừ dữ liệu trùng lắp. Lưu trữ dữ liệu
trong cấu trúc ROLAP cung cấp các lợi ích sau:
- ROLAP cho phép Cube Builder tự động tạo chỉ mục.
- ROLAP ánh xạ các tổng hợp có sẵn từ data mart hoặc kho dữ liệu. OLAP
Manager được phép xử dụng các tổng hợp có sẵn để tổng hợp mà không cần tính
toán lại cho mỗi truy vấn.
- ROLAP tạo đòn bẩy cho hệ quản trị cơ sở dữ liệu quan hệ nhằm cho các nhà quản
trị hệ thống duy trì nó hiệu quả hơn.
- ROLAP hỗ trợ Microsoft SQL Server, Oracle, Access và Open Database
Connectivity (ODBC).
II.5.3. Mô hình Hybird OLAP (HOLAP)
10
April 5, 2011
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.
Các chiều (dimension) được ánh xạ từ các thông tin của các bảng chiều (dimension table)
trong kho dữ liệu vào các mức phân cấp, ví dụ như chiều Địa lý thì gồm các mức như
Lục địa, Quốc gia, Tỉnh-Thành phố. Các chiều có thể được tạo một cách độc lập và có thể
chia sẻ giữa các khối nhằm xây dựng các khối dễ dàng và để chắc chắn rằng thông tin
tổng hợp cho phân tích luôn ổn định. Ví dụ, nếu một chiều chia sẻ một phân cấp sản
phẩm và được sử dụng trong tất cả các khối thì cấu tạo của thông tin tổng hợp về sản
phẩm sẽ ổn định giữa các khối sử dụng chiều đó.
Một chiều ảo (virtual dimension) là một dạng đặc biệt của chiều mà ánh xạ các thuộc tính
từ các thành viên (member) của một chiều khác để sau đó có thể được sử dụng trong các
khối. Ví dụ, một chiều ảo của thuộc tính kích thước sản phẩm cho phép một khối (cube)
tổng hợp dữ liệu như số lượng sản phẩm bán được theo kích thước, hoặc như số lượng áo
bán được theo kiểu và theo kích thước. Các chiều ảo (virtual dimension) và các thuộc
tính thành viên được đánh giá là cần thiết cho các truy vấn và chúng không đòi hỏi phải
có các khối lưu trữ vật lý.
Các độ đo (measure) xác định các giá trị số từ bảng sự kiện (fact table) mà được tổng hợp
cho phân tích như giá bán, chi phí hoặc số lượng bán.
Các phần dành riêng (partition) là các vật chứa lưu trữ đa chiều, giữ dữ liệu của khối.
Mỗi khối chứa ít nhất một partition, và dữ liệu của khối có thể kết hợp từ nhiều partition.
Mỗi partition có thể lấy dữ liệu một nguồn dữ liệu khác nhau và có thể lưu trong một vị
trí riêng biệt (separate). Dữ liệu của một partition có thể được cập nhật độc lập với các
partition khác trong một khối. Ví dụ, dữ liệu của một khối có thể được chia theo thời
gian, với một partition chứa dữ liệu của năm hiện hành, một partition khác chứa dữ liệu
của năm trước, và một partition thứ ba chứa tất cả dữ liệu của các năm trước nữa.
Các partition của một khối có thể được lưu trữ độc lập trong các cách thức khác nhau với
các mức độ tổng kết khác nhau. Các partition không thể hiện đối với người dùng, đối với
họ một khối (cube) là một đối tượng đơn, và chúng cung cấp các tuỳ chọn đa dạng để
quản lý dữ liệu OLAP.
Một khối ảo (virtual cube) là một khung nhìn luận lý (logic) của các phần chia của một
hoặc nhiều khối. Một khối ảo có thể được sử dụng để kết (join) các khối khác nhau để
chia sẻ một chiều chung nào đó, ví dụ như có thể kết giữa khối Bán hàng và khối Kho
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).
Các ứng dụng client có thể sử dụng dịch vụ PivotTable để lấy dữ liệu từ cơ sở dữ liệu
OLAP.
Dịch vụ PivotTable có thể tạo các khối cục bộ mà đó là các tập con của các khối cư trú
trên server. Các khối cục bộ có thể được sử dụng để làm tăng hiệu quả thực hiện và sử
dụng để thực hiện các phân tích không trực tuyến (off-line).
14
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Dịch vụ PivotTable là một công cụ lưu trữ, duyệt và phân tích khối (cube). PivotTable là
một OLAP Server xử lý tại chỗ với cả các đặc tính phân tích trực tuyến (on-line) và
không trực tuyến (off-line) mà:
- Cung cấp truy cập trực tuyến đến dữ liệu OLAP như một client của dịch vụ
OLAP.
- Bao gồm các đặc tính phân tích dữ liệu, xây dựng khối và quản lý cache.
Cho phép các khối (cube) lưu trữ cục bộ để phân tích không trực tuyến (off-line) như là
kết nối đến dữ liệu dịch vụ OLAP trực tuyến.
15
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
III. Data Mining
III.1. Data Mining là gì ?
Data mining là một quá trình trích xuất thông tin có mối quan hệ hoặc có mối tương quan
nhất định từ một kho dữ liệu lớn (cực lớn) nhằm mục đích dự đoán các xu thế, các hành
vi trong tương lai, hoặc tìm kiếm những tập thông tin hữu ích mà bình thường không thể
nhận diện được.
Ứng dụng của nó rất đa dạng và rộng tới, từ marketing, chống gian lận, giảm giá thành
sản xuất, tăng doanh thu, phân tích hành vi sử dung người dùng internet để target đúng
nhu cầu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến
việc chống khủng bố v.v
Các công cụ, kỹ thuật data mining có thể trả lời các câu hỏi mà các công cụ truyền thống
đò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
yêu cầu có cần có các chức năng/nghiệp vụ sau:
Tự động hóa việc dự doán các xu thế và hành vi sẽ diễn ra trong tương lai: Data mining
tự động hóa quá trình tìm kiếm và trích xuất các tập thông tin có mối quan hệ hoặc tương
quan trong một tập dữ liệu cực lớn. Những vấn đề/câu hỏi đặt ra với các cách truyền
thống đòi hỏi một quá trình rất phức tạp và tốn kém cả về tài chính và thời gian để giải
đáp thì giờ có thể trả lời một cách nhanh chóng trong khi giá thành là thấp nhất. Một ví
dụ đơn giản trong quảng cáo online là quá trình targeting, khi một người dùng click vào
một banner quảng cáo bán giầy dành cho nữ giới, thì khả năng người đó là nữ và họ đang
quan tâm đến đôi giầy đó, khi hệ thống nhận diện được điều này thì có thể target thêm
các kiểu dáng giầy khác nhau, kích cỡ khác nhau, giá thành khác nhau với mục tiêu là
người dùng sẽ kết thúc quá trình là mua một đôi giày, ngoài ra bởi vì hệ thống nhận diện
người dùng là phụ nữ nên nó có thể quảng cáo thêm các sản phẩm khác như mỹ phẩm,
quần áo v.v
Tự động hóa việc khám phá/nhận diện ra những tập thông tin quá khứ mà hệ thống
không/chưa biết: Công cụ data mining trong quá trình phân tích dữ liệu sẽ nhận diện ra
nhưng tập thông tin/dữ liệu không có hoặc bị ẩn bởi những mối liên hệ mà được xác định
trước. Ví dụ như trong việc bán hàng, có những sản phẩm không có mối liên hệ gì với
nhau, nhưng lại hay bán được cùng nhau, từ đó đưa ra cơ chế recommendation. Hay cơ
17
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
chế nhận diện giao dịch gian lận trong thanh toán điện tử dựa vào việc phân tích các giao
dịch bất thường…
Ngày nay, các công nghệ data mining được ứng dụng rộng rãi trong các công ty lấy
khách hàng làm trung tâm như truyền thông, tài chính, marketing, bán hàng, các nghành
công nghiệp sản xuất v.v… Nó cho phép các công ty xác định được các mối quan hệ giữa
các yếu tố nội tại như giá thành, mẫu mã, cách thức quảng cáo, thậm chí là kỹ năng của
nhân viên công ty… các yếu tố bên ngoài như đối thủ cạnh tranh, chính sách kinh tế hay
nhu cầu thị trường v.v Và nó còn hỗ trợ việc xác định được sự tác động của các chính
sách khuyến mại, giảm giá, độ hài lòng của khách hàng và lợi nhuận của doanh nghiệp…
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}
Integrationbuild {yes/no}
Loadfactor {low/medium/high}
Projectdeadline {met/not met}
Customersatisfaction {low/medium/high}
Khi chạy thử nghiệm một bộ dữ liệu mẫu này trên máy tính với java 1.5. Ứng dụng này
sử dụng thuật toán C4.5 cây quết định để lập kế hoạch thông minh và nó được thiết kế
với giao diện đơn giản như minh họa trong hình 1 và 2
19
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Kết quả :
Một lỗ lực để xác định mối quan hệ giữa các dự án có thời hạn được đáp ứng / không
được đáp ứng dựa trên Data mining của Task Size, Estimated Hours, Total Burned
Hours, Pre Release Defects, Post Release Defects, Functional Dependency,
Requirement Changes, Documentation Requirement, Team interaction, Automated
test cases, Integration build, Load factor, và Customer satisfaction. Một bộ dữ liệu lịch
sử mẫu miêu tả các số liệu thống kê Scrum chạy với cây quyết định Scrum Intelligent
Planner ở hình 3. Điều này có thể được sử dụng việc quy hoạch dự án và đánh giá rủi ro
20
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
Mô tả kết quả cây quyết định bằng lời
PreReleaseDefects <= 2
| PreReleaseDefects <= 1: met (4.0)
21
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
| PreReleaseDefects > 1
| | Automatedtestcases = no: not met (8.0)
| | Automatedtestcases = yes
| | | 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à
tiếp tục sự dụng phương pháp thống kê cho mục đích cụ thể, dù thực tế là những phương
pháp này về tính chính xác trong 40 – 50 năm.
Thông thường, nếu một số phương pháp luận khoa học có hệ thống không hoạt động rất
tốt, mọi người chỉ đơn giản từ chối tiếp tục sử dụng của nó, cố gắng thay thế nó bằng
mới, giải pháp hợp lý hơn cho các vấn đề. Nhưng sự ngạc nhiên của chúng tôi, điều này
không xảy ra trong lĩnh vực khai thác dữ liệu dự án và dự toán thông số dự án. Đó là thời
gian để nhận ra rằng để giải quyết vấn đề trong lĩnh vực này có một cần phải thay đổi từ
các phương pháp phân tích thống kê lỗi thời của một phương pháp khoa học hơn, âm
thanh.
Để làm điều này đó là cần thiết, theo kinh nghiệm của nhiều khu vực phát triển của kiến
thức, để thử để có được ra khỏi chủ nghĩa kinh nghiệm đơn giản mà hiện đang thống trị
trong lĩnh vực này và để phát triển hơn âm thanh phương pháp khoa học trong lĩnh vực
quản lý dự án.
May mắn , một trong nhiều ví dụ có thể trích dẫn giáo huấn từ các khu vực khác của tri
thức. Gần
mỗi khoa học nghiêm trọng về số lượng đã trải qua cách này và nó không phải là cần
thiết để phá vỡ một đất mới trong quản lý dự án. Để làm được điều này chúng ta phải sử
dụng các kinh nghiệm của những khu vực kiến thức, mà trong tinh thần là gần gũi nhất
với các vấn đề về quản lý dự án.
Trong ý nghĩa này, điều quan trọng là sử dụng kinh nghiệm của nhiệt động lực học cổ
điển, mà đã được thông qua tất cả các cách từ nguyên thủy đến chủ nghĩa kinh nghiệm
đỉnh cao nhất của khoa học và thực tiễn thành tựu. Kinh nghiệm trong các lĩnh vực khác
cho thấy kiến thức mà khắc phục những hạn chế của một trong những phương pháp thống
kê có thể tiến hành với sự phát triển của lý thuyết toán học chính hãng các dự án.
Bằng cách này, chúng ta phải nhận được thoát khỏi lời nguyền thống kê được gọi là, khi
kết quả của dữ liệu xử lý trực tiếp phụ thuộc vào việc chọn dữ liệu cụ thể. Trong một
cách tiếp cận thực sự khoa học,
này không thể xảy ra, và luôn luôn kết quả ổn định xử lý dữ liệu cần được bất biến đối
với số liệu cụ thể.
Ví dụ chúng ta có thể điểm của pháp luật Ohm, bản chất của nó là độc lập với dữ liệu cụ
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.
24
April 5, 2011
AGENT – DATA MINING & WEB MINING & OLAP
IV. Web – Mining & Thuật Toán VIPS
IV.1. Tổng quan về web và web mining
Web (World Wide Web) được xem là một “nhà cung cấp” một lượng lớn các thông tin về tin tức, quảng
cáo, thông tin khách hàng, quản lý tài chính, giáo dục, thương mại điện tử, và một số dịch vụ thông tin
khác.
Bên cạnh đó Web cung cấp một tập nhiều và “động” các thông tin về hyper-link, thông tin truy cập web,
thói quen dùng web của người dùng. Nên Web chính là nguồn tài nguyên dồi dào cho việc khai khác dữ
liệu.
Tuy nhiên để tài nguyên Web trở nên hiệu quả cho việc khai thác là khám phá tri thức thì
đó là một thách thức vô cùng lớn. Bới những thách thức sau:
• Web quá lớn cho warehousing và mining dữ liệu có hiệu quả. Kích thước của Web
lên tới hàng trăm terabytes và đang tăng trưởng không ngừng. Đến ngày 28-07-
2008 Google đã công bố rằng họ đã index được 1trillion (1 nghìn tỉ) trang web.
• Độ phức tạp của web hơn nhiều lần so với các tài liệu text thông thường. Bởi web
là tài liệu bán cấu trúc. Người ta ví rằng Web như là một thư viện điện tử khổng
lồ, mà trong đó hầu hết thông tin đều chưa được index hay phân loại. Nên việc tìm
được tài liệu mình cần trong cái thư viện ấy là rất khó.
• Web chứa nguồn thông tin động. Những thông tin trên Web được cập nhật liên
tục, chẳng hạn như thông tin về dự báo thời tiết, tin tức thể thao, tin tức,…đều
được cập nhật từng ngày từng giờ.
• Web phục vụ một lượng lớn các cộng đồng người dùng đa dạng. Người ta ước tính
hiện tại có khoảng 100 triệu máy trạm sử dụng internet. Và số lượng này không
ngừng tăng lên. Và những người dùng này có những kiến thức nền tảng khác nhau,
có mối quan tâm và cách sử dụng web khác nhau.
• Chỉ một phần nhỏ thông tin trên web là có liên quan or hữu dụng. Người ta nói
rằng có 99% thông tin trên web là không hữu dụng với một người nào đó. Điều
25