ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRỊNH VIỆT LONG NGHIÊN CỨU VÀ ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC
MÁY NHẰM TĂNG CƯỜNG HIỆU QUẢ CÁC DỊCH VỤ GIÁ TRỊ
GIA TĂNG CỦA MẠNG DI ĐỘNG BEELINE LUẬN VĂN THẠC SỸ Ngành: Công nghệ thông tin
HÀ NỘI - 2011
MỞ ĐẦU
Chƣơng III giới thiệu về bộ công cụ Business Intelligence, các khái niệm và các
kỹ thuật chính.
Chƣơng IV ứng dụng Business Intelligence vào tăng cường hiệu quả các dịch vụ
giá trị gia tăng của Beeline.
Phần kết luận tổng kết những kết quả đạt được của luận văn và hướng nghiên cứu
tiếp theo.
Danh sách các hình
Hình 1 – Cấu trúc hệ thống kho dữ liệu 3
Hình 2 – Dòng dữ liệu trong kho dữ liệu. 4
Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence 5
Hình 4 – Ví dụ về cây quyết định . 9
Hình 5 – Thành phần của hệ Business Intelligence 12
Hình 6 – Cấu trúc của Pentaho Business Intelligence 19
Hình 7 – Dữ liệu mệnh giá nạp thẻ trung bình 26
Hình 8 – Dữ liệu ARPU của các dịch vụ giá trị gia tăng 27
Hình 9 – Mô hình kho dữ liệu 28
Hình 10 – Spoon workspace 29
Hình 11 – Spoon nhập dữ liệu 29
Hình 12 – Combination Lookup/Update . 30
Hình 13 – Thay đổi thuộc tính 31
Hình 14 – Kết nối cơ sở dữ liệu 31
Hình 15 – Tạo bảng Dim_time 32
Hình 16 – Tạo bảng dim_factor 33
Hình 17 – Tạo Table Output 33
Hình 18 – Tạo bảng fact_price 34
Hybird Online Analysis Processing
BI
Business Intelligence
ARPU
Average Revenue Per User Mục lục
MỞ ĐẦU 5
1. Đặt vấn đề 5
2. Mục tiêu của nghiên cứu 5
3. Cấu trúc của luận văn 5
Chƣơng 1: KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1
1.1. Kho dữ liệu 1
1.1.1. Khái niệm kho dữ liệu 1
1.1.2. Các đặc tính của kho dữ liệu 2
1.1.3. Cấu trúc hệ thống kho dữ liệu 3
1.1.4. Dòng dữ liệu trong kho dữ liệu 4
1.1.5. Ứng dụng của kho dữ liệu 5
1.2. Hệ quản trị cơ sở dữ liệu MySQL 6
1.2.1. Giới thiệu MySQL 6
1.2.2. Ưu điểm và nhược điểm của MySQL 7
Chƣơng 2 : PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU 8
2.1. Khái niệm khai phá dữ liệu 8
2.2. Các thành phần của giải thuật khai phá dữ liệu 8
2.3. Cây quyết định 9
2.4. Phát hiện các luật kết hợp 11
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
1
Chƣơng 1: KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU MYSQL
1.1. Kho dữ liệu
1.1.1. Khái niệm kho dữ liệu
Data warehouse - kho dữ liệu là 1 tập hợp thông tin cơ bản trên máy vi tính mà
chúng có tính quyết định đến việc thực hiện thành công bước đầu trong công việc kinh
doanh.
Theo William Inmon [12], kho dữ liệu là một bộ dữ liệu có các đặc tính: hướng chủ
đề, có tính tích hợp, ổn định, dữ liệu gắn với thời gian, thường được sử dụng trong các hệ
thống hỗ trợ quyết định.
Một kho dữ liệu, gọi một cách chính xác hơn là kho thông tin (information
warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý
kiến trong mọi lĩnh vực kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần
thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức - không những chỉ là những
yêu cầu dữ liệu phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thông
tin nhanh, chính xác. Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra
thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản.
Một kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu
đa chiều và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa và
nhiều nữa. Dữ liệu trong kho dữ liệu không giống dữ liệu của hệ điều hành là loại chỉ có
thể đọc nhưng không chỉnh sửa được. Hệ điều hành tạo ra, chỉnh sửa và xóa những dữ
liệu sản xuất mà những dữ liệu này cung cấp cho kho dữ liệu. Nguyên nhân chính cho sự
phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiền nguồn khác nhau vào
một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết
định trong công việc kinh doanh.
Kho dữ liệu thường bao gồm:
động tới kho dữ liệu là : nhập dữ liệu vào và truy xuất.
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
3
Dữ liệu gắn với thời gian : Do có tính ổn định, kho dữ liệu thường lưu trữ dữ liệu
của hệ thống trong khoảng thời gian dài, cung cấp đủ số liệu cho các mô hình nghiệp vụ,
dự báo, khảo sát những chỉ tiêu cần quan tâm.
1.1.3. Cấu trúc hệ thống kho dữ liệu
Hệ thống kho dữ liệu thường bao gồm 3 tầng như trong hình 1:
Tầng đáy: là nơi lấy dữ liệu từ nhiều nguồn khác nhau sau đó làm sạch, chuẩn hóa,
lưu trữ tập trung.
Tầng giữa: thực hiện các thao tác với kho dữ liệu thông qua dịch vụ OLAP (OLAP
server). Có thể cài đặt bằng Relational OLAP, Multidimensional OLAP hay kết hợp cả
hai mô hình trên thành mô hình Hybrid OLAP.
Tầng trên: thực hiện việc truy vấn, khai phá thông tin.
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
4 Hình 1 – Cấu trúc hệ thống kho dữ liệu [6].
1.1.4. Dòng dữ liệu trong kho dữ liệu
Do kho dữ liệu chứa lượng dữ liệu lớn, đồng thời hạn chế thao tác sửa đổi nên rất
thích hợp cho việc phân tích dài hạn và báo cáo. Các thao tác với dữ liệu của kho dữ liệu
chủ yếu dựa trên cơ sở là Mô hình dữ liệu đa chiều (multidimensional data model),
thường áp dụng cho các khối dữ liệu (data cube). Khối dữ liệu là trung tâm của vấn đề cần
phân tích, bao gồm một hay nhiều tập dữ kiện (fact) và các dữ kiện được tạo ra từ nhiều
chiều (dimension) dữ kiện khác nhau.
Các lĩnh vực hiện tại áp dụng kho dữ liệu
- Thương mại điện tử.
- Kế hoạch hoá nguồn lực doanh nghiệp (ERP - Enterprise Resource Planning).
- Quản lý quan hệ khách hàng (CRM - Customer Relationship Management)
- Chăm sóc sức khỏe.
- Viễn thông.
Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence [5].
1.2. Hệ quản trị cơ sở dữ liệu MySQL
1.2.1. Giới thiệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được
các nhà phát triển ứng dụng rất ưa chuộng. MySQL có tốc độ cao, ổn định và dễ sử dụng,
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
7
có tính khả chuyển, hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các
hàm tiện ích mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập cơ sở dữ liệu thông qua Internet. Ta có thể tải MySQL qua Internet, có
nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành
dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS. MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu
quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).
1.2.2. Ƣu điểm và nhƣợc điểm của MySQL
Hệ quản trị cơ sở dữ liệu MySQL có những ƣu điểm nổi bật :
+ MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh, đáng tin cậy, có thể hoạt
động trên nhiều hệ thống.
+ MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ.
+ Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản MySQL ngày càng
hoản thiện, bổ sung nhiều chức năng mới.
biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham số mà bài toán
cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đưa ra được một mô hình phù hợp với
các tham số được xác định dựa trên dữ liệu. Trong một số trường hợp, tập dữ liệu được
chia thành tập dữ liệu học và tập dữ liệu thử. Tập dữ liệu học được sử dụng để làm cho
các tham số của mô hình phù hợp với dữ liệu. Mô hình sau đó sẽ được đánh giá bằng cách
đưa các dữ liệu thử vào mô hình và thay đổi lại các tham số cho phù hợp nếu cần. Mô
hình lựa chọn có thể là phương pháp thống kê như SASS, v.v…, một số giải thuật học
máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp.
Chương 2 – Phương pháp khai phá dữ liệu
9
Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn của
quá trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa trên đánh
giá chéo. Đánh giá chất lượng mô tả liên quan đến độ chính xác dự đoán, độ mới, khả
năng sử dụng, khả năng hiểu được của mô hình. Cả hai chuẩn thống kê và chuẩn logic
đều có thể được sử dụng để đánh giá mô hình. Việc đánh giá mô hình được thực hiện qua
kiểm tra dữ liệu (trong một số trường hợp kiểm tra với tất cả các dữ liệu, trong một số
trường hợp khác chỉ kiểm tra với dữ liệu thử). Ví dụ như đối với mạng neuron, việc đánh
giá mô hình được thực hiện dựa trên việc kiểm tra dữ liệu (bao gồm cả dữ liệu học và dữ
liệu thử), đối với nhiệm vụ dự đoán thì việc đánh giá mô hình ngoài kiểm tra dữ liệu còn
phải dựa trên độ chính xác của dự đoán.
Phƣơng pháp tìm kiếm: phương pháp tìm kiếm bao gồm hai thành phần: tìm
kiếm tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần phải tìm kiếm
các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được
và với một mô tả mô hình đã định. Việc tìm kiếm là không cần thiết đối với một số bài
toán trong đó các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn.
Đối với các mô hình chung, giải thuật “tham lam” thường được sử dụng lặp đi lặp lại.
Tìm kiếm mô hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số:
mô tả mô hình bị thay đổi tạo nên một họ các mô hình. Với mỗi mô hình, phương pháp
được một số dạng chức năng và vì vậy giới hạn về cả độ chính xác của mô hình. Nếu mở
rộng không gian của mô hình để cho phép có nhiều mô tả hơn thì mô hình sẽ dự đoán tốt
hơn nhưng lại rất khó hiểu. Cho đến nay, đã có rất nhiều giải thuật suy diễn sử dụng các
luật và cây quyết định được áp dụng trong học máy và trong thống kê.
Đối với quy mô lớn, người ta dựa trên các phương pháp đánh giá mô hình theo xác
suất với các mức độ mô hình phức tạp khác nhau. Các phương pháp tìm kiếm “tham
lam”, liên quan đến việc tăng và rút gọn các luật và các cấu trúc cây, chủ yếu được sử
dụng để khai thác không gian siêu mũ của các mô hình. Cây và luật chủ yếu được sử dụng
Chương 2 – Phương pháp khai phá dữ liệu
11
cho việc mô hình hóa dự đoán, phân lớp và hồi quy. Chúng cũng có thể được áp dụng cho
việc tóm tắt và mô hình hóa các mô tả.
2.4. Phát hiện các luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu
trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm
được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B
trong cùng bản ghi đó: A ⇒ B.
Cho một lược đồ R={A1, …, Ap} các thuộc tính với miền giá trị {0,1}, và một quan
hệ r trên R. Một luật kết hợp trên r được mô tả dưới dạng X⇒B với X⊆R và B∈R\X. Về
mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau: nếu một bản ghi của bảng r có
giá trị 1 tại mỗi thuộc tính thuộc X thì giá trị của thuộc tính B cũng là 1 trong cùng bản
ghi đó.
Cho W ⊆R, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ của các
hàng trong r có giá trị 1 tại mỗi cột thuộc W. Tần số xuất hiện của luật X⇒B trong r được
định nghĩa là s(X∪{B}, r) còn gọi là độ hỗ trợ của luật, độ tin cậy của luật là s(X∪{B},
r)/s(X, r). Ở đây X có thể gồm nhiều thuộc tính, B là giá trị không cố định. Nhờ vậy mà
không xảy ra việc tạo ra các luật không mong muốn trước khi quá trình tìm kiếm bắt đầu.
Business Intelligence (BI - giải pháp quản trị doanh nghiệp thông minh) là một quy
trình, công nghệ cho phép tổ chức, doanh nghiệp khai thác dữ liệu từ nhiều nguồn khác
nhau về khách hàng, thị trường, nhà cung cấp, đối tác, nhân sự và phân tích, sử dụng
các dữ liệu đó thành các nguồn thông tin có ý nghĩa nhằm hỗ trợ việc ra quyết định. Công
nghệ BI cung cấp một cách nhìn toàn cảnh về hoạt động của doanh nghiệp từ quá khứ,
hiện tại và các dự đoán tương lai. Mục đích của BI là hỗ trợ cho doanh nghiệp ra quyết
định tốt hơn, vì vậy một hệ thống BI còn có thể được coi là hệ thống hỗ trợ quyết đinh.
3.1.2. Các thành phần chính của hệ Business Intelligence
Dữ liệu dùng trong hệ thống BI là dữ liệu tổng hợp từ nhiều nguồn, nhiều định dạng,
phân tán và có tính lịch sử. Đồng thời việc phân tích dữ liệu trong BI không phải là những
phân tích đơn giản mà là những kỹ thuật trong khai phá dữ liệu dùng để phân lớp, phân
cụm, hay dự đoán. Vì vậy BI có mối quan hệ rất chặt chẽ với kho dữ liệu và khai phá dữ
liệu.
Hình 5 – Thành phần của hệ Business Intelligence [1].
Các thành phần cơ bản của hệ thống Business Intelligence được mô tả như trong
hình 5.
Chương 3 – Bộ công cụ Business Intelligence
14
Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp về hoạt động kinh doanh,
khách hàng, nhân sự …của doanh nghiệp.
Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát hiện
tri thức như phân lớp, phân nhóm, phát hiện luật kết hợp, dự đoán,…nhằm tổng hợp thông
tin hữu ích cung cấp cho việc phân tích ra quyết định.
Business Analyst (Phân tích kinh doanh) : Các nhà lãnh đạo doanh nghiệp đưa ra
những quyết định chiến lược đối với hoạt động kinh doanh của doanh nghiệp.
3.1.3. Lợi ích của Business Intelligence đối với doanh nghiệp
Tiết kiệm chi phí : Thông thường để biết được lí do vì sao kết quả kinh doanh tháng
từ đó có những quyết định thưởng phạt, điều chỉnh nhân sự chính xác.
Nâng cao hiệu quả phục vụ khách hàng : Nắm bắt thông tin khách hàng ở nhiều
góc độ khác nhau sẽ giúp doanh nghiệp phục vụ khách hàng tốt hơn. Hệ thống BI cung
cấp cho doanh nghiệp cái nhìn tổng thể về khách hàng bằng cách phân loại khách hàng
theo nhiều tiêu chí khác nhau: độ tuổi, giới tính, nơi sinh sống, thu nhập, doanh thu để
doanh nghiệp có thể cung cấp những sản phẩm phù hợp với nhu cầu của họ hay có thể
thiết kế những chương trình khuyến mãi, quảng cáo riêng cho những khu vực mà những
đối tượng đó tập trung đông nhất.
Đánh giá đối thủ cạnh tranh, mở rộng thị trƣờng : Đối với thị trường cạnh tranh
gay gắt như hiện nay, nhà quản lý không những phải nắm rõ tình hình của doanh nghiệp
mình mà cần phải đánh giá được tiềm lực của đối thủ cạnh tranh trong ngành, nắm được
danh sách những khách hàng tiềm năng để mở rộng thị phần, tìm kiếm thêm khách hàng
mới. Thông qua việc thu thập thông tin từ bên ngoài doanh nghiệp, BI có thể đưa ra báo
cáo so sánh doanh thu, số lượng khách hàng của doanh nghiệp so với các đối thủ khác
trong ngành. Hoặc khi đối thủ tung ra một chương trình khuyến mãi nào đó, doanh nghiệp
sử dụng hệ thống BI để đo lường doanh thu và số khách hàng của mình, từ đó đối chiếu
với mức độ lôi cuốn của chương trình, nếu số khách hàng giảm đáng kể nhưng doanh thu
vẫn không giảm nhiều chứng tỏ chương trình của đối thủ chỉ thu hút những khách hàng có
giá trị thấp, và ngược lại là chương trình thành công. Từ đó doanh nghiệp có thể học được
ở đối thủ và có những hành động để kéo những khách hàng có giá trị cao về phía mình.
3.1.4. Các công cụ Business Intelligence
Các công cụ Business Intelligence là các phần mềm ứng dụng được thiết kế để báo
cáo, phân tích và trình bày dữ liệu. Các công cụ này sẽ đọc dữ liệu đã được lưu trữ từ
trước trong các kho dữ liệu hoặc chợ dữ liệu. Các công cụ Business Intelligence rất đa
Chương 3 – Bộ công cụ Business Intelligence
16
dạng và có mặt trên hầu hết các hệ điều hành. Nhờ tính tiện dụng và khả năng tạo báo
cáo, phân tích dữ liệu chuyên nghiệp nên các công cụ Business Intelligence thường được
dựng báo cáo, khai phá dữ liệu, phân tích trực tuyến ….đáp ứng cho việc hỗ trợ ra quyết
định của nhà quản lý.
Trong thực tế, BI mang lại lợi ích rõ nét nhất cho các doanh nghiệp ngành hàng tiêu
dùng, giải khát, thực phẩm khi mà yếu tố về thời gian được đặt lên hàng đầu. Trên thế
giới, BI đã trở thành công cụ quản trị quen thuộc của nhiều tên tuổi lớn như: BMW,
Coca-Cola, Unilever… Còn tại Việt Nam, một số công ty lớn đã và đang triển khai BI và
coi đó như một lợi thế của mình. Trong thời gian tới, khi những bộ sản phẩm BI kết hợp
MySQL đã khắc phục được vấn đề về tài chính, giải pháp này chắc chắn sẽ được áp dụng
rộng rãi.
3.2. Kỹ thuật OLAP
3.2.1. Khái niệm OLAP
Xử lý phân tích trực tuyến (OLAP - Online Analitical Proccessing) là phương pháp để
trả lời những truy vấn đa chiều một cách nhanh chóng. OLAP là một phần của hệ
Business Intelligence, cùng với báo cáo quan hệ và khai phá dữ liệu. Nó cho phép người
sử dụng phân tích dữ liệu qua việc cắt lát (slice) dữ liệu theo nhiều khía cạnh khác nhau,
khoan xuống (drill down) mức chi tiết hơn hay cuộn lên (roll up) mức tổng hợp hơn của
dữ liệu. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ kho dữ liệu hoặc từ Datamart
(kho dữ liệu chủ đề) sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong
một kho dữ liệu đa chiều. Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều
của dữ liệu chi tiết và tổng thể. Một khối bao gồm một bảng sự kiện (Fact), một hoặc
nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions).
Những ứng dụng tiêu biểu của OLAP : báo cáo bán hàng, báo cáo marketing, báo cáo
quản lý, dự thảo ngân sách, báo cáo tài chính,….Thuật ngữ OLAP có thể coi là một biến
thể nhỏ của thuật ngữ cơ sở dữ liệu truyền thống OLTP (Xử lý giao tác trực tuyến).
Trong khi Data warehouse 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ụ: