Trong luận văn này, tác giả tập trung nghiên cứu các phương pháp xây dựng một hệ tư vấn, đặc biệt là hệ tư vấn Chọn lọc cộng tác. Trên cơ sở một hệ tư vấn thương mại tác giả ứng dụng chuyển sang một hệ tư vấn tuyển sinh đại họccao đẳng bằng phương pháp Chọn lọc cộng tác gom cụm. Tác giả cũng đã thực hiện một số thực nghiệm, sử dụng một số chỉ số đánh giá như MAE, RMSE nhằm đánh giá ảnh hưởng của các kỹ thuật trong thuật toán sử dụng trong hệ tư vấn.
Trang 1* *
NGUYỄN ĐỨC HẬU
PHÂN TÍCH ĐỊNH HƯỚNG NGHỀ NGHIỆP THÔNG QUA
CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU
Luận văn thạc sĩ Công Nghệ Thông Tin
Đồng Nai – Năm 2015
Trang 3* * *
NGUYỄN ĐỨC HẬU
PHÂN TÍCH ĐỊNH HƯỚNG NGHỀ NGHIỆP THÔNG QUA
CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU Chuyên ngành: Công Nghệ Thông Tin
Mã số: 60480201
Luận văn thạc sĩ Công Nghệ Thông Tin
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS Trần Văn Hoài
Đồng Nai – Năm 2015
Trang 5LỜI CẢM ƠN
Tôi muốn gửi lời cảm ơn đến các thầy cô giáo trường Đại học Lạc Hồng –
Đồng Nai đã quan tâm tổ chức chỉ đạo và trực tiếp giảng dạy khoá cao học của
chúng tôi Cảm ơn cha (mẹ), thầy cô, bạn bè, đồng nghiệp và người thân gia đình,
những người đã dạy bảo và ủng hộ tôi trong suốt quá trình học tập
Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc đến thầy giáo hướng dẫn PGS.TS
Trần văn Hoài, người đã tận tình chỉ bảo và góp ý về mặt chuyên môn cho tôi trong
suốt quá trình làm luận văn Nếu không có sự giúp đỡ của thầy thì tôi khó có thể
hoàn thành được luận văn này
Cũng qua đây, tôi xin gửi lời cảm ơn đến ban lãnh đạo trường Đại Học Đồng
Nai, nơi tôi đang công tác, đã tạo mọi điều kiện thuận lợi cho tôi trong thời gian
hoàn thành các môn học cũng như trong suốt quá trình làm luận văn tốt nghiệp
Trong suốt quá trình làm luận văn, bản thân tôi đã cố gắng tập trung tìm
hiểu, nghiên cứu và tham khảo thêm nhiều tài liệu liên quan Tuy nhiên, do bản thân
mới bắt đầu trên con đường nghiên cứu khoa học, chắc chắn bản luận văn vẫn còn
nhiều thiếu sót Tôi rất mong được nhận sự chỉ bảo của các Thầy Cô giáo và các
góp ý của bạn bè, đồng nghiệp để luận văn được hoàn thiện hơn
Cuối cùng, tôi xin chúc sức khỏe cha mẹ, vợ (con), thầy (cô) và các bạn bè,
đồng nghiệp đã luôn ủng hộ, động viên để tôi yên tâm nghiên cứu và hoàn thành luận
văn
Đồng Nai, tháng 11 năm 2015
Nguyễn Đức Hậu
Trang 7Tôi xin cam đoan đề tài “PHÂN TÍCH ĐỊNH HƯỚNG NGHỀ NGHIỆP THÔNG
QUA CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU” là kết quả của tự bản thân tôi tìm hiểu,
nghiên cứu Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ Tôi xin chịu
trách nhiệm về luận văn của mình
Tác giả luận văn ký và ghi rõ họ tên
Nguyễn Đức Hậu
Trang 9Sự bùng nổ thông tin nhất là thông tin thực và thông tin nhiễu lẫn lộn khiến ta khó
có thể tự xác định thông tin chính xác trước khi ra quyết định một vấn đề nào đó đặc biệt là các quyết định cần có trình độ chuyên môn, mà thường phải tìm kiếm ý kiến, lời
tư vấn của các chuyên gia Hệ tư vấn ra đời với mục đích hỗ trợ cho quá trình tư vấn tự nhiên mang tính chất xã hội này nhằm giúp cho người được tư vấn mua một món hàng, dịch vụ, v.v… mà họ quan tâm nhất như mua một cuốn sách, xem một cuốn phim, và thậm chí là tìm một chuyên gia tư vấn Tư vấn tuyển sinh đại học/cao đẳng xét trên một khía cạnh nào đó cũng là một dịch vụ không những được sự quan tâm của các thí sinh
mà còn của các phụ huynh học sinh Một lời tư vấn tốt không chỉ giúp các thí sinh chọn được trường, ngành phù hợp với năng lực của mình mà còn giúp tìm kiếm nhân tài trong các lĩnh vực để phục vụ cho đất nước sau này Trong xây dựng một hệ tư vấn có nhiều phương pháp như Chọn lọc cộng tác, Chọn lọc dựa trên nội dung hoặc Phương pháp lai Tùy vào dữ liệu có được và nhu cầu tư vấn mà ta sẽ chọn một phương pháp phù hợp Trong luận văn này, tác giả tập trung nghiên cứu các phương pháp xây dựng một
hệ tư vấn, đặc biệt là hệ tư vấn Chọn lọc cộng tác Trên cơ sở một hệ tư vấn thương mại tác giả ứng dụng chuyển sang một hệ tư vấn tuyển sinh đại học/cao đẳng bằng phương pháp Chọn lọc cộng tác gom cụm Tác giả cũng đã thực hiện một số thực nghiệm, sử dụng một số chỉ số đánh giá như MAE, RMSE nhằm đánh giá ảnh hưởng của các kỹ thuật trong thuật toán sử dụng trong hệ tư vấn
Trang 11Mở Đầu 1
1 Tổng quan đề tài 1
2 Mục tiêu của luận văn 2
3 Phạm vi và đối tượng nghiên cứu 3
4 Phương pháp thực hiện 3
5 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu 4
6 Dự kiến tên công trình công bố trên tạp chí hoặc hội thảo khoa học 4
7 Bố cục của luận văn 4
CHƯƠNG 1 Khảo sát và các giải thuật khai phá 5
1.1 Khai phá dữ liệu 5
1.1.1 Khái niệm Khai phá dữ liệu 5
1.1.2 Kiến trúc của một hệ thống khai phá dữ liệu 8
1.2 Một số kỹ thuật khai phá dữ liệu 9
1.2.1 Phân lớp 9
1.2.2 Phân cụm 10
1.2.3 Luật kết hợp 10
1.2.4 Lựa chọn phương pháp khai phá dữ liệu 11
1.3 Ứng dụng của khai phá dữ liệu 14
1.4 Một số khó khăn trong khai phá dữ liệu 14
1.5 Kết luận chương 1 17
CHƯƠNG 2 HỆ TƯ VẤN VÀ CÁC KỸ THUẬT LỌC CỘNG TÁC 19
2.1 Khái niệm hệ tư vấn 19
2.1.1 Chức năng của các hệ tư vấn chức năng của các hệ tư vấn 20
2.1.2 Chức năng của các hệ tư vấn đối với người sử dụng 22
2.2 Các hệ tư vấn 23
2.2.1 Hệ tư vấn xã hội 23
2.2.2 Hệ tư vấn dựa trên nội dung 26
2.2.3 Hệ tư vấn truyền thông 27
2.3 Các kỹ thuật lọc cộng tác 29
Trang 122.3.2 Thuật toán lọc cộng tác dựa trên người dùng 35
2.3.3 Các kỹ thuật lọc cộng tác lai ghép 38
2.3.4 Các kỹ thuật lọc cộng tác dựa trên mô hình 40
2.3.5 Đặc điểm và thách thức của Collaborative Filtering 53
2.4 Các chỉ số đánh giá thuật toán 53
2.4.1 Sai số tuyệt đối trung bình (Mean Absolute Error - MAE) 53
2.4.2 Mô hình hóa nhóm 54
2.5 Kết luận chương 2 54
CHƯƠNG 3 Cài đặt thuật toán khai phá các hệ tư vấn tuyển sinh bằng phương pháp chọn lọc cộng tác (Collaborative Filtering) 56
3.1 Giới thiệu nghề nghiệp 56
3.2 Mô tả bài toán tư vấn tuyển sinh 58
3.2.1 Đặt vấn đề 58
3.2.2 Hướng giải quyết 59
3.2.3 Dữ liệu đầu vào 59
3.2.4 Mô hình 62
3.3 Thuật toán CF gom cụm 63
3.4 Giới thiệu chương trình 64
3.4.1 Công cụ thực nghiệm 64
3.4.2 Dữ liệu: 64
3.4.3 Giao diện 65
3.5 Chạy thực nghiệm 66
3.5.1 Đánh giá kết quả chạy thực nghiệm 66
3.5.2 Chạy thực nghiệm tư vấn khối, ngành, trường trên bộ dữ liệu 300 với 4 tổ hợp trên 67
3.5.3 Kết Quả Chạy Thực Nghiệm Khối 67
3.5.4 KẾT QUẢ CHẠY THỰC NGHIỆM TRƯỜNG 68
CHƯƠNG 4 Kết luận và hướng phát triển 73
4.1 Đánh giá kết quả đạt được 73
4.1.1 Ưu điểm 73
4.1.2 Hạn chế: 73
Trang 134.2.1 Tính sai số cho trọng số trúng tuyển tư vấn cho ứng viên 73
4.2.2 Dự báo ngành 73
4.2.1 Dự báo phổ điểm 74
4.2.2 Phát triển thêm chức năng quản lý 74
4.2.3 Đồng bộ hóa dữ liệu giữa các trường Đại học 74 Tài liệu tham khảo
Trang 14Từ viết tắt Cụm từ đầy đủ
Association Rules Các luật kết hợp
Case-Based Reasoning (CBR) Suy luận dựa trên trường hợp
Collaboration Filter (CF) Chọn lọc cộng tác
community-based CF Chọn lọc cộng tác cộng đồng
Content-base filter Chọn lọc trên nội dung
Data mining engine Bộ khai phá dữ liệu
Database or warehouse server Kho dữ liệu
demographic-based CF Chọn lọc cộng tác nhân khẩu học
Graphical user interface Giao diện đồ họa cho user
Knowledge Discovery in Database
Trang 15Bảng 2.1 Ma trận người dùng sản phẩm 31
Bảng 2.2Tóm tắt các hệ tư vấn 51
Bảng 2.3 Tóm tắt các kỹ thuật cơ bản dùng để xây dựng một hệ tư vấn 52
Bảng 3.1 Giới thiệu một số nghề thông dụng [7] 57
Bảng 3.2Xữ lý tập dữ liệu theo khối thi: 61
Bảng 3.3 Xữ lý tập dữ liệu theo trường thi: 61
Bảng 3.4 Xữ lý tập dữ liệu theo ngành thi: 61
Bảng 3.5 Kết quả tư vấn 67
Bảng 3.6 Kết quả tư vấn trường khối B00 68
Bảng 3.7Kết quả tư vấn trường khối A00 68
Bảng 3.8 Kết quả tư vấn trường khối A01 68
Bảng 3.9 Kết quả tư vấn theo ngành 70
Bảng 3.10 Kết quả tư vấn theo ngành 70
Bảng 3.11 kết quả chạy thực nghiệm với 3 bộ dữ liệu 72
Bảng 3.12 Bảng nhận xét đánh giá ba bộ dữ liệu 72
Bảng 4.1Bảng hướng xây dựng chương trình 74
Trang 16Biểu đồ 3.1 Sai số trung bình tuyệt đối MAE 67
Biểu đồ 3.2 Sai số căn bậc hai bình phương trung bình RMSE 67
Biểu đồ 3.3 Sai số trung bình tuyệt đối MAE trường 69
Biểu đồ 3.4 Sai số căn bậc hai bình phương trung bình RMSE theo trường 69
Biểu đồ 3.5 Sai số trung bình tuyệt đối MAE theo ngành 70
Biểu đồ 3.6 Sai số căn bậc hai bình phương trung bình RMSE theo ngành 71
Trang 17Hình 1.1 Quy chế tuyển sinh đại học / cao đẳng http://www.thongtintuyensinh.vn 2
Hình 1.2 Chính sách ưu tiên điển cộng hệ đại học / cao đẳng 2
Hình 1.1 Quá trình khai phá dữ liệu (trích lọc giá tác giả) [9] 7
Hình 1.2 Kiến trúc của một hệ thống khai phá dữ liệu (tác giả) 8
Hình 1.3 Mô tả luật kế hợp (tác giả) 11
Hình 2.1 Từ đồ thị người dùng sang ma trận người dùng – người dùng 25
Hình 2.2 Tư vấn dựa trên nội dung (tác giả) 27
Hình 2.3 Quá trình lọc cộng tác (tác giả) 28
Hình 2.4 Tư vấn dựa trên cộng tác 29
Hình 2.5 Quá trình lọc cộng tác 30
Hình 2.6 Các thiết lập để xác định ranh giới các cụm ban đầu 41
Hình 2.7Tính toán trọng tâm của các cụm mới 42
Hình 2.8 Sơ đồ thuật toán K - means 44
Hình 2.9 các bước của thuật toán k-means 45
Hình 3.1 Mô hình bài toán (tác giả) 62
Hình 3.2 Giải thuật đồ bài toán (tác giả) 64
Hình 3.3 Giao diện chương trình tư vấn 65
Hình 3.4 Nhập thông tin tư vấn 66
Trang 18có giá trị cho họ Các nhà phát triển của một trong những hệ thống tư vấn đầu tiên, Tapestry [11] (hệ thống các thông tin khác bao gồm hệ tư vấn dựa trên luật và user tuỳ biến), đặt ra cụm từ "chọn lọc cộng tác (CF)", mà đã được áp dụng rộng rãi bất kể các
sự kiện rằng hệ tư vấn có thể không hợp tác một cách rõ ràng với người nhận và các thông tin có thể đề xuất các mặt hàng đặc biệt thú vị, ngoài việc chỉ ra những người cần được lọc ra [22] Các giả định cơ bản của CF là nếu user X và Y phẩm tăng n tương tự, hoặc có những hành vi tương tự (ví dụ, mua, xem, nghe …), và sẽ đánh giá hoặc hành động về các mặt hàng khác tương tự [21]
Việt Nam trong những năm gần đây, do sự chuyển biến của nền kinh tế từ cơ chế
kế hoạch hóa tập trung sang cơ chế thị trường Trong cơ chế thị trường, sức lao động cũng là một loại hàng hóa, giá trị của loại hàng hóa sức lao động này tuỳ thuộc vào trình
độ, tay nghề, kỹ năng, khả năng nhận thức về mọi mặt của người lao động
Chọn cho mình một nghề nghĩa là chọn cho mình một tương lai Việc chọn nghề thực sự quan trọng và vô cùng cần thiết Người chọn một nghề phù hợp được đào tạo đúng với khả năng, năng khiếu, ứng với mục tiêu nhu cầu xã hội, giúp người thành công hơn trong cuộc sống của họ Chọn sai lầm một nghề nghĩa là đặt cho mình một tương lai không thực sự an toàn và vững chắc
Trong công tác tư vấn tuyển sinh ở các trường đại học, cao đẳng, trung cấp chưa khai thác hết những dữ liệu học tập của học sinh, một cách hiệu quả, để tư vấn tốt cho
Trang 19người học chọn một nghề (ngành học) phù hợp có hiệu quả trong quá trình học tập hay
ra trường xin việc làm tốt sau khi học xong
Trên cơ sở hệ thống tuyển sinh của Bộ Giáo Dục và Đào Tạo năm 2015
[1]
Hình 1.1 Quy chế tuyển sinh đại học / cao đẳng http://www.thongtintuyensinh.vn
[1]
Hình 1.2 Chính sách ưu tiên điển cộng hệ đại học / cao đẳng
Với kỹ thuật khai phá dữ liệu ta đặt ra bài toán phân tích các kết quả học tập của các môn học của kỳ thi tốt nghiệp PTTH giúp ta khai thác những tri thức chứa trong cơ
sở dữ liệu điểm của học sinh Dự đoán được trước kế hoạch cần chọn nghề (ngành học) cho học sinh Từ đó tổ chức tư vấn chọn nghề của nhà trường có được những định hướng đúng đắn hỗ trợ cho học sinh, chọn nghề phù hợp, hạn chế rơi vào những tình huống khó khăn không mong đợi
Nhằm hỗ trợ nâng cao chất lượng tư vấn định hướng nghề nghiệp Giúp người học
tự định hướng chính xác hơn về nghề nghiệp phù hợp với năng lực Đánh giá đúng tính
cách, sở thích, đúng nhu cầu bản thân, xã hội, nên tôi chọn đề tài: “PHÂN TÍCH ĐỊNH HƯỚNG NGHỀ NGHIỆP THÔNG QUA CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU” làm luận văn tốt nghiệp thạc sĩ
2 Mục tiêu của luận văn
2.1 Mục tiêu 1: Xây dựng hệ tư vấn định hướng chọn nghề phù hợp năng lực, kỹ
năng và nhu cầu công việc của xã hội
Trang 202.2 Mục tiêu 2: Tìm hiểu khái quát về khai phá dữ liệu trong đó đi sâu về hệ tư vấn
Tìm hiểu các phương pháp tư vấn khách hàng (chọn lọc dựa trên nội dung base filter) và chọn lọc cộng tác (Collaboration filter) Thu thập, tìm hiểu, phân tích các tài liệu và thông tin liên quan đến luận văn
(Content-2.3 Mục tiêu 3: Phân tích chương trình, nghiên cứu xây dựng hệ tư vấn bằng kỹ thuật
chọn lọc cộng tác: gom cụm kết hợp với chọn lọc cộng tác dựa trên ký ức Đề xây dựng một hệ thống tư vấn, cài đặt phần mềm hỗ trợ công tác tư vấn tuyển sinh trường đại học
3 Phạm vi và đối tượng nghiên cứu
3.1 Đối tượng:
Các phương pháp xây dựng hệ tư vấn, đặt biệt là hệ tư vấn CF
Dữ liệu điểm nguyện vọng của sinh viên trúng tuyển vào đại học
3.2 Phạm vi nghiên cứu:
Căn cứ vào điều kiện và khả năng thực hiện đề tài, tôi đi sâu vào nghiên cứu đối tượng học sinh, đang học và đã tốt nghiệp trực thuộc Sở giáo dục đào tạo Đồng Nai (Những trường thuộc Tp Biên Hòa - Đồng Nai)
4 Phương pháp thực hiện
Để đạt mục tiêu nguyên cứu, luận văn sử dụng các phương pháp nghiên cứu định tính và định lượng thông qua việc thực hiện hai bước nghiên cứu khám phá và nghiên cứu chính thức
Tất cả các nguồn cung cấp công cụ tìm kiếm có khả năng, các phương pháp được
sử dụng để xác định sự liên quan khác Tìm kiếm của Google được dựa trên ageRank, tức là các trang web khác liên kết nếu có thể
Trang 21Nguyên cứu các hệ tư vấn và phương pháp tư vấn đưa vào ứng dụng luận văn
4.2 Phương pháp định lượng
Xây dựng hệ thống tư vấn
Đánh giá kết quả chương trình cài đặt thông qua các chỉ số đánh giá dựa trên kết quả chạy thực nghiệm
5 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
Sử dụng hệ tư vấn để chọn lọc một lượng lớn thông tin đã thu thập được từ trường Đại học Đồng Nai, trường PTTH dân tộc nội trú tỉnh Đồng Nai, từ đó đề xuất các khối, các trường, các ngành phù họp cho người cần được tư vấn dựa trên số điểm thi của các môn mà học có được
6 Dự kiến tên công trình công bố trên tạp chí hoặc hội thảo khoa học
7 Bố cục của luận văn
Luận văn gồm 4 chương:
Chương 1 Tổng quan về khai phá dữ liệu
Chương này giới thiệu quá trình khai phá dữ liệu và phát hiện tri thức, phương pháp khai phá dữ liệu, ứng dụng và một số khó khăn trong khai phá dữ liệu
Chương 2 Hệ tư vấn và các phương pháp xây dựng hệ tư vấn
Chương này trình bày hệ tư vấn và các phương pháp xây dựng hệ tư vấn trình bày
Trang 22CHƯƠNG 1 Khảo sát và các giải thuật khai phá
1.1 Khai phá dữ liệu
1.1.1 Khái niệm Khai phá dữ liệu
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối của thập kỷ 1980 Nó là quá trình khám phá thông tin ẩn được tìm thấy trong các cơ sở dữ liệu và có thể xem như là một bước trong quá trình khám phá tri thức Data Mining là giai đoạn quan trọng nhất trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh, …
Giáo sư Tom Mitchell [26] đã đưa ra định nghĩa của Khai phá dữ liệu như sau:
“Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận ứng dụng hơn, Tiến sĩ Fayyad [59] đã phát biểu: “Khai phá dữ liệu, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và
có khả năng hữu ích, dưới dạng các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” hay nói cách khác “Khai phá dữ liệu – Data Mining là tiến trình khám phá tri thức tiềm ẩn trong các cơ sở dữ liệu Cụ thể hơn, đó là tiến trình trích lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn, chưa biết nhưng hữu ích từ cơ sở dữ liệu lớn” [2]
Nói tóm lại, Khai phá dữ liệu là một quá trình học tri thức mới từ những dữ liệu
đã thu thập được Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiến trình ra quyết định Khai phá dữ liệu là việc trích rút tri thức một cách tự động và hiệu quả từ một khối dữ liệu rất lớn Tri thức đó thường ở dạng các mẫu tin có tính chất không đơn giản, không không rõ ràng (ẩn), chưa được biết đến và có tiềm năng mang lại lợi ích
Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá
dữ liệu được ví như tìm một cây kim trong đống cỏ khô Trong ví dụ này, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn Như vậy, những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu
Trang 23Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết Năm 1989, Fayyad, Smyth và Piatestsky-Shapiro đã dùng khái niệm Phát hiện tri thức từ cơ sở dữ liệu (Knowledge Discovery in Database-KDD) Trong đó, khai phá dữ liệu là một giai đoạn rất đặc biệt trong toàn bộ quá trình, nó sử dụng các kỹ thuật để tìm ra các mẫu từ dữ liệu Có thể coi khai phá dữ liệu là cốt lõi của quá trình phát hiện tri thức
Quy trình khai phá dữ liệu thông thường gồm 10 bước:
(1) Lĩnh vực nghiên cứu
Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác định được những tri thức ta cần chắt lọc, từ đó định hướng để tránh tốn thời gian cho những tri thức không cần thiết
(2) Dữ liệu đầu vào
Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu trữ và xử
lý
(3) Tiền xử lý, làm sạch, mã hóa
Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, không cần thiết, tinh chỉnh lại cấu trúc của dữ liệu và mã hóa chúng để tiện cho quá trình xử lý
(4) Tích hợp dữ liệu giảm số chiều
Thông thường một tập dữ liệu có chiều khá lớn sẽ sinh ra một lượng dữ liệu khổng
lồ, ví dụ với n chiều ta sẽ có 2^n tổ hợp Do đó, đây là một bước quan trọng giúp giảm đáng kể hao tổn về tài nguyên trong quá trình xử lý tri thức Thông thường ta sẽ dùng tập thô để giảm số chiều
(5) Trích chọn dữ liệu chọn tác vụ khai thác dữ liệu
Trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
(6) Dữ liệu liên quan
Trang 24Trích chọn dữ liệu (data selection): Trích chọn dữ liệu từ những kho dữ liệu và sau
đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm
cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
(7) Khai thác dữ liệu: Tìm kiếm tri thức
Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
(8) Đánh giá mẫu tìm được
Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó
sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
(9) Biểu diễn tri thức
Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó
(10) Sử dụng các tri thức vừa khám phá
Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật
để biểu diễn và thể hiện trực quan cho người dùng
Hình 1.1 Quá trình khai phá dữ liệu (trích lọc giá tác giả) [9]
Trang 251.1.2 Kiến trúc của một hệ thống khai phá dữ liệu
Máy chủ cơ sở dữ liệu hay máy chủ kho dữ liệu (Database or warehouse server): Máy chủ này có trách nhiệm lấy dữ liệu thích hợp dựa trên những yêu cầu khai phá của user
Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả
Máy khai phá dữ liệu (Data mining engine): Một hệ thống khai phá dữ liệu cần phải có một tập các modun chức năng để thực hiện công việc, chẳng hạn như đặc trưng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hoá…
Modun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với các modun khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng được quan tâm Cũng có thể modun đánh giá mâu được tích hợp vào modun khai phá tuỳ theo sự cài đặt của phương pháp khai phá được dùng
Giao diện đồ họa cho user (Graphical user interface): Thông qua giao diện này, user tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian
Mô hình Kiến trúc của một hệ thống khai phá dữ liệu [9]
Hình 1.2 Kiến trúc của một hệ thống khai phá dữ liệu (tác giả)
Trang 261.2 Một số kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính [17]:
Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (summarization), trực quan hóa (visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analysis), phát hiện luật kết hợp (association rules),
Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: phân lớp (classification), hồi quy (regression),
Tuy nhiên, do khuôn khổ có hạn nên tôi chỉ giới thiệu 3 phương pháp thông dụng nhất là: phân lớp dữ liệu, phân cụm dữ liệu và khai phá luật kết hợp
1.2.1 Phân lớp
Phân lớp dữ liệu (Classification) là chia các đối tượng dữ liệu thành các lớp dựa trên các đặc trưng của tập dữ liệu Với một tập các dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại (classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã được xác định trước Phương pháp này rất có ích trong giai đoạn đầu của quá trình nghiên cứu khi
ta biết rất ít về đối tượng cần nghiên cứu, nó là tiền đề để tiến hành các phương pháp phát hiện tri thức Có nhiều phương pháp phân lớp: phân lớp dựa trên cây quyết định, phân lớp Bayesian, … Quá trình phân lớp dữ liệu thường gồm hai bước [17]
Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu có sẵn Mỗi
mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính phân lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training dataset) Nhãn lớp của tập dữ liệu huấn luyện phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning)
Bước 2: Sử dụng mô hình để phân lớp dữ liệu Chúng ta phải tính độ chính xác
của mô hình, nếu độ chính xác là chấp nhận được thì mô hình sẽ được sử dụng để dự đoán lớp cho các mẫu dữ liệu khác trong tương lai
Trang 271.2.2 Phân cụm
Phân cụm (Clustering) là việc nhóm các đối tượng dữ liệu thành các lớp đối tượng
có sự tương tự nhau dựa trên các thuộc tính của chúng Mỗi lớp đối tượng được gọi là một cụm (cluster) Một cụm bao gồm các đối tượng mà giữa bản thân chúng có sự ràng buộc lẫn nhau và khác biệt so với các lớp đối tượng khác Phân cụm dữ liệu là một ví
dụ của phương pháp học không có giám sát (unsupervised learning) Phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân lớp
dữ liệu là học qua ví dụ (learning by example) Trong phương pháp này ta không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Các cụm có thể tách riêng hay phân cấp hoặc gối lên nhau, có nghĩa là một mục dữ liệu có thể vừa thuộc cụm này vừa thuộc cụm kia Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được
Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân loại thị trường, phân loại khách hàng, nhận dạng mẫu, phân loại trang Web, … Ngoài ra, phân cụm còn được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác
1.2.3 Luật kết hợp
Phương pháp phát hiện các luật kết hợp (Association Rules) 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 [23] Các giải thuật Tìm luật liên kết tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị Đầu ra của thuật toán là tập luật kết hợp tìm được Cho trước một tập các giao tác, trong đó mỗi giao tác là một tập các mục, tìm sự tương quan giữa các mục như là một luật và kết quả của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Luật kết hợp thường có dạng X∩Y Trong đó: X là tiền
đề, Y là hệ quả (X, Y là hai tập của mục) Ý nghĩa trực quan của luật là các giao tác của
cơ sở dữ liệu mà trong đó nội dung X có khuynh hướng đến nội dung Y
Có hai thông số quan trọng của luật kết hợp là độ hỗ trợ (support) và độ tin cậy (confidence) Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Khai phá các luật
Trang 28kết hợp từ cơ sở dữ liệu là việc tìm các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng
mà user xác định trước
Ví dụ: Phân tích giỏ hàng của người mua hàng trong một siêu thị ta thu được luật:
“68% khách hàng mua sữa thì cũng mua bánh mỳ, 21% mua cả hai thứ Trong ví dụ trên thì 68% là độ tin cậy của luật (số phần trăm giao dịch thỏa mãn vế trái thì thỏa mãn vế phải), 21% là độ hỗ trợ (số phần trăm giao dịch thỏa mãn cả hai vế trái và phải)
Mô hình luật kết hợp [23]
Hình 1.3 Mô tả luật kế hợp (tác giả)
Luật kết hợp mang lại những thông tin vô cùng quan trọng, nó hỗ trợ không nhỏ trong quá trình ra quyết định Phương pháp này được sử dụng rất nhiều trong các lĩnh vực như marketing có chủ đích, phân tích thị trường, quản lý kinh doanh, Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định
thông qua việc tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật này phải thỏa
mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lí kinh doanh, phân tích thị trường,…
1.2.4 Lựa chọn phương pháp khai phá dữ liệu
Các giải thuật khai phá dữ liệu tự động vẫn mới chỉ ở giai đoạn phát triển ban đầu Người ta vẫn chưa đưa ra được một tiêu chuẩn nào trong việc quyết định sử dụng phương pháp nào và trong trường hợp hợp nào thì có hiệu quả
Trang 29 Phương pháp dựa trên nội dung (content-based)
Phương pháp này dựa trên nền tảng các nghiên cứu về rút trích thông tin (information retrieval) và chắt lọc thông tin (information filtering) Nhờ những thành tựu trong các nghiên cứu này mà hiện nay nhiều hệ tư vấn loại này tập trung vào tư vấn các đối tượng chứa thông tin dạng văn bản như tài liệu, websites, tin tức, v.v… Những tiến bộ trong rút trích thông tin đã cải thiện đáng kể profile của user như thông tin về sở thích, nhu cầu, thói quen, …), các thông tin này có được một cách tường minh thông qua các bảng câu hỏi gởi cho user, hoặc không rõ ràng thông qua khai phá thông tin từ những ứng xử và giao tiếp của họ
Phương pháp chọn lọc cộng tác (Collaborative Filtering)
Phương pháp này là dựa vào các đánh giá của những user quá khứ dựa trên kinh nghiệm (memory-based hoặc heuristic-based) và dựa trên mô hình (model-based) Bài toán lọc cộng tác (hay đánh giá độ tương quan), dựa trên hành vi quá khứ của user (trong việc đánh giá sản phẩm) để đưa ra dự đoán
Phương pháp dựa trên nhân khẩu học (Demographic-based)
Phương pháp này sử dụng dữ liệu profile về nhân khẩu học của user (như ngôn ngữ, nghề nghiệp, tuổi tác, địa chỉ…) để phân loại user thành các lớp nhân khẩu Các sản phẩm gợi ý đều gắn liền với các lớp nhân khẩu này Phương pháp này không đòi hỏi
dữ liệu rating từ phía user mà chỉ cần thông tin nhân khẩu học của các user và thuộc tính
Trang 30đã được định nghĩa trước của mỗi lớp nhân khẩu Điểm rating chỉ hữu dụng trong trường hợp các item có điểm rating cao nhất từ những user thuộc cùng một lớp nhân khẩu
Phương pháp dựa trên cộng đồng (Community-based)
Phương pháp này thực hiện kỹ thuật suy luận dựa trên trường hợp (Case-based Reasoning – CBR), theo đó hệ sẽ tìm kiếm các vấn đề đã được giải quyết trong quá khứ
để giải quyết một vấn đề mới tương tự Bốn bước cơ bản trong kỹ thuật này là: rút trích (retrieve), tái sử dụng (reuse), mô phỏng (adaptation) và duy trì (retain)
Rút trích: tìm kiếm trong cơ sở tri thức các trường hợp tương tự như vấn đề mới đang cần giải quyết
Tái sử dụng: rút ra các giải pháp đã được sử dụng để giải quyết các trường hợp đó
Mô phỏng: được chia thành 2 bước nhỏ là tu chỉnh (revise) và xem lại (review)
Tu chỉnh là bước mô phỏng giải pháp sao cho phù hợp với các ràng buộc cụ thể của vấn
đề mới Trong bước xem lại, giải pháp tái dựng sẽ được đánh giá bằng cách áp dụng vào tình huống mới, tìm hiểu tại sao thất bại và thất bại ở đâu, đồng thời có những điều chỉnh thích hợp
Duy trì: lưu trữ tình huống mới đã được mô phỏng lại vào thư viện tri thức
Phương pháp lai (Hybrid)
Phương pháp lai được xây dựng dựa trên kết hợp các kỹ thuật đã nêu ở trên Một
hệ thống lai kết hợp kỹ thuật A và B sẽ tận dụng những ưu điểm của A để khắc phục những nhược điểm của B Ví dụ, các phương pháp tiếp cận CF không thể khuyến nghị được đối với các item mới (item không có điểm rating) Nhưng với hệ dựa vào nội dung thì điều này không bị hạn chế vì phương pháp chủ yếu dựa vào các mô tả (đặc tính) có sẵn của item Tùy thuộc vào ngữ cảnh mà có thể linh hoạt kết hợp 2 hoặc nhiều kỹ thuật
tư vấn cơ bản trong một hệ thống lai Chẳng hạn, trong ngữ cảnh thời gian, các khuyến nghị về các tour nghỉ đông sẽ phải khác với các tour nghỉ hè, hoặc tư vấn nhà hàng cho bữa ăn tối thứ bảy với bạn bè phải khác với tư vấn bữa ăn trưa với các đồng nghiệp Hiện nay, người ta chưa đưa ra được một tiêu chuẩn nào trong việc quyết định sử dụng phương pháp nào vào trong trường hợp nào thì có hiệu quả, có nhiều kỹ thuật và mỗi kỹ thuật được sử dụng cho nhiều bài toán khác nhau Các thuật toán khai phá dữ
Trang 31liệu tự động chỉ đang ở giai đoạn phát triển ban đầu, các kỹ thuật khai phá dữ liệu còn mới với lĩnh vực kinh doanh Rõ ràng là để trả lời câu hỏi “khai phá dữ liệu dùng kỹ thuật nào là tốt”? Thật không đơn giản vì mỗi phương pháp thì có điểm mạnh và điểm yếu riêng, thậm chí chúng ta còn phải kết hợp các phương pháp trong quá trình khai phá
1.3 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Tùy theo bản chất của từng lĩnh vực, việc vận dụng khai phá dữ liệu có những cách tiếp cận khác nhau Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng, tìm kiếm tri thức, quy luật của thị trường chứng khoán và đầu tư bất động sản
Thương mại điện tử: Tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với nhiều loại khách hàng
Marketing: Phân tích nhu cầu khách hàng dựa trên mẫu dữ liệu mua bán hàng từ
đó xác định chiến lược kinh doanh, quảng cáo, kế hoạch sản xuất,…
Khai phá dữ liệu cũng được vận dụng hiệu quả để giải quyết các bài toán phức tạp trong các ngành đòi hỏi kỹ thuật cao [15] như tìm kiếm mỏ dầu từ ảnh viễn thám, cảnh báo hỏng hóc trong các hệ thống sản xuất, … Các kỹ thuật khai phá dữ liệu đã được áp dụng thành công trong việc dự đoán tải sử dụng điện năng cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị trường cho các công ty tài chính, … Ngoài ra, khai phá dữ liệu còn được áp dụng cho các vấn đề xã hội như phân tích các kết quả phòng chống và điều trị một số loại bệnh, phân tích tác hại của ma tuý, phát hiện tội phạm hay tăng cường an ninh xã hội, Việc vận dụng thành công đã mang lại những hiệu quả thiết thực cho các hoạt động diễn ra hàng ngày trong đời sống
1.4 Một số khó khăn trong khai phá dữ liệu
Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô trong cơ sở phát sinh trong khai phá dữ liệu chính là từ đây Do các dữ liệu trong thực tế thường động, không đầy đủ, lớn và bị nhiễu Trong những trường hợp khác, người ta không biết
Trang 32cơ sở dữ liệu có chứa các thông tin cần thiết cho việc khai thác hay không và làm thế nào để giải quyết với sự dư thừa những thông tin không thích hợp này
Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng, hàng
triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường Hiện nay đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấu mẫu, các phương pháp xấp xỉ, xử
lý song song (Agrawal et al, Holsheimer etal)
Kích thước lớn: Không chỉ có số lượng bản ghi lớn mà số các trường trong cơ sở
dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn hơn Một tập dữ liệu
có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp
Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của
chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Ví dụ trong cơ sở dữ liệu về tình trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác lại thay đổi liên tục theo thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy thuộc vào tình huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp đập của mạch) Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá trị Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi, bị xóa hoặc là tăng lên theo thời gian Vấn đề này được giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai thác bằng cách sử dụng
nó để tìm kiếm các mẫu bị thay đổi
Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác Một khía cạnh khác đôi khi cũng liên quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu Ví dụ trường số tài khoản Nostro không áp dụng cho các tác nhân
Trang 33Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu phù
hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong hệ thống tương tác, sự thiếu vắng
dữ liệu quan trọng có thể dẫn đến việc yêu cầu cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó Hoặc cũng có thể sự vắng mặt của dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể được coi như một giá trị trung gian và là giá trị không biết
Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho các
dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở dữ liệu phải phát hiện được toàn
bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng nhằm giải quyết bài toán Giả sử ta có các thuộc tính để phân biệt các tình huống đáng quan tâm Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu Đối với một
hệ thống học để chuẩn đoán bệnh sốt rét từ một cơ sở dữ liệu bệnh nhân thì trường hợp các bản ghi của bệnh nhân có triệu chứng giống nhau nhưng lại có các chẩn đoán khác nhau là do trong dữ liệu đã bị lỗi Đây cũng là vấn đề thường xảy ra trong cơ sở dữ liệu kinh doanh Các thuộc tính quan trọng có thể sẽ bị thiếu nếu dữ liệu không được chuẩn
bị cho việc khai phá dữ liệu
Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ nghiêm
trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép Các giá trị của các thuộc tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập các giá trị định danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúc ngữ nghĩa
Một số vấn đề khác
“Quá phù hợp” (Overfitting) Khi một giải thuật tìm kiếm các tham số tốt nhất cho
đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ” dữ liệu (nghĩa
là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giải pháp khắc phục bao gồm đánh giá chéo (Cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác
Đánh giá tầm quan trọng thống kê: Vấn đề (liên quan đến overfitting) xảy ra khi
một hệ thống tìm kiếm qua nhiều mô hình Ví dụ như nếu một hệ thống kiểm tra N mô hình ở mức độ quan trọng 0,001 thì với dữ liệu ngẫu nhiên trung bình sẽ có N/1000 mô
Trang 34hình được chấp nhận là quan trọng Để xử lý vấn đề này, ta có thể sử dụng phương pháp điều chỉnh thống kê trong kiểm tra như một hàm tìm kiếm, ví dụ như điều chỉnh Bonferroni đối với các kiểm tra độc lập
Khả năng biểu đạt của mẫu: Trong rất nhiều ứng dụng, điều quan trọng là những
điều khai thác được phải càng dễ hiểu với con người càng tốt Vì vậy, các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có hướng (Gaines), biểu diễn bằng ngôn ngữ tự nhiên (Matheus et al.) và các kỹ thuật khác nhằm biểu diễn tri thức và dữ liệu
Sự tương tác với người sử dụng và các tri thức sẵn có: rất nhiều công cụ và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc sử dụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng
cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn
1.5 Kết luận chương 1
Khai phá dữ liệu là sự vận dụng học thuật vào các vấn đề thiết thực đang diễn ra Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính quy luật, hỗ trợ tích cực cho việc ra quyết định Nghiên cứu nhằm xây dựng và cải thiện các kỹ thuật trong khai phá dữ liệu là một lĩnh vực hứa hẹn và phù hợp với điều kiện nghiên cứu ở Việt Nam
Khai phá dữ liệu là một ngành khá non trẻ, các kỹ thuật của ngành còn chưa có khả năng giải quyết hiệu quả tốt các bài toán thực tế Việc nghiên cứu cải thiện các giải thuật nhằm đưa ra các kỹ thuật mới là một khả năng có thể thực hiện trong môi trường làm việc còn thiếu thốn ở Việt Nam Một số hướng nghiên cứu về lý thuyết trong khai phá dữ liệu đang được nghiên cứu hiện nay: Áp dụng các chiến lược để cải thiện hiệu quả các giải thuật Phát triển các phiên bản mới của các giải thuật có khả năng giải quyết các tập dữ liệu lớn bằng kỹ thuật sử dụng bộ đệm Song song và phân bố các giải thuật trong khai phá dữ liệu để tận dụng khả năng tính toán mạnh của tính toán lưới
Trang 35Như đã giới thiệu về một số kỹ thuật khai phá dữ liệu và các ứng dụng của thuật khai phá dũ liệu Tôi chọn đi sâu tìm hiểu về hệ tư vấn và các kỹ thuật chọn lọc cộng tác
Trang 36CHƯƠNG 2 HỆ TƯ VẤN VÀ CÁC KỸ THUẬT LỌC CỘNG TÁC 2.1 Khái niệm hệ tư vấn
Trong cuộc sống thường ngày, mọi người thường dựa vào ý kiến hay lời khuyên người khác để đưa ra quyết định về hành động hoặc lựa chọn, ví dụ như để lựa chọn bộ phim mọi người có thể đọc giới thiệu tổng quát, bài đánh giá của các nhà phê bình điện ảnh hoặc nhận xét của những người khác về bộ phim trên các tạp chí, Internet hoặc khi muốn mua một cuốn sách, mọi người có thể tham khảo ý kiến của người quen, chủ cửa hàng bán sách hoặc những người mua khác, bằng cách đưa ra sở thích, mối quan tâm của mình với họ để nhận được góp ý
Với sự phát triển của Internet và thương mại điện tử hiện nay, lượng thông tin có sẵn là vô cùng lớn, điều đó gây khó khăn và rất tốn thời gian để người dùng tìm kiếm thông tin và lựa chọn sản phẩm Yêu cầu cần có phương pháp thu thập thông tin và đưa
ra lời khuyên để hỗ trợ người dùng trong vấn đề tìm kiếm và lựa chọn sản phẩm họ quan tâm Hệ tư vấn là một giải pháp được đưa ra cho vấn đề này
Hệ tư vấn là các kỹ thuật (lọc thông tin) và các công cụ phần mềm cung cấp các
đề xuất sản phẩm có thể được quan tâm tới người dùng Các đề xuất này có thể giúp ích cho quá trình đưa ra quyết định lựa chọn sản phẩm của người dùng, như lựa chọn mặt hàng để mua, bài báo hay một bản nhạc… [11]
Hệ tư vấn thường hướng tới cá nhân, dựa trên kinh nghiệm hoặc sở thích của người dùng để đưa ra tư vấn cho một mục mà họ quan tâm Ví dụ như việc tư vấn một quyển sách cho một bạn đọc Một trong số những trang Web nổi tiếng sửa dụng hệ tư vấn để đưa ra các gợi ý cho cá nhân mỗi người dùng là Amazon.com Trên trang Web này, hệ
tư vấn sẽ dựa theo lịch sử các mặt hàng bạn đã xem, mua hoặc ưa thích để đưa ra tư vấn các sản phẩm sát nhất có thể nằm trong sự quan tâm của bạn Những người dùng khác nhau hoặc các nhóm người dùng sẽ nhận được các tư vấn khác nhau Ngoài ra, cũng có những tư vấn không mang tính cá nhân như trong tạp chí, báo
Các tư vấn được cung cấp cho người dùng dưới dạng đơn giản như một danh sách xếp hạng các sản phẩm để có thể tạo ra được danh sách đó, các hệ tư vấn cố gắng dự đoán các sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích và các điều kiện rằng buộc của người dùng , để làm được điều này, các hệ tư vấn thu thập thông
Trang 37tin liên quan tới người dùng: sở thích, các lần đánh giá về các sản phẩm , hoặc được suy luận từ các hành vi của người dùng đối với hệ thống hoặc tận dụng các tư vấn đã được tạo bởi cộng đồng người dùng để tư vấn cho người dùng đang hoạt động (active user), người mà cần được tư vấn Kết quả tư vấn là các sản phẩm mà những người dùng tương
tự đã thích, các sản phẩm này có thể hoàn toàn mới đối với người dùng được tư vấn Phương pháp tiếp cận này được gọi là kỹ thuật lọc cộng tác
Nghiên cứu các hệ tư vấn liên quan tới các kỹ thuật và các công cụ hệ thống phân lớp thông tin Tuy nhiên các hệ tư vấn được nghiên cứu độc lập từ những năm 1990 Những năm gần đây sự quan tâm về các hệ tư vấn đã gia tăng nhanh chóng, được thể hiện [14]
Các hệ tư vấn đóng vai trò quan trọng trong các website đã được đánh giá cao như: amazon.com, youtube.com, yahoo Hơn nữa nhiều công ty đa phương tiện hiện nay đang phát triển và triển khai các hệ tư vấn như một phần dịch vụ mà học cung cấp tới khách hàng của họ Ví dụ Netflix, dịch vụ cho thuê phim trực tuyến, họ đưa ra giải thưởng 1 triệu dollar cho nhóm đầu tiên cải thiện đáng kể hiệu năng hệ tư vấn của họ (cải thiện 10% hiệu năng)
Đã có các cuộc hội thảo, hội nghị dành riêng cho các cống hiến liên quan tới lĩnh vực này Tiêu biểu là ACM Recommender Systems, được thành lập năm 2007 và hiện nay tổ chức các sự kiện hằng năm về các nghiên cứu và ứng dụng công nghệ tư vấn Ngoài ra, có phiên họp dành riêng cho các lĩnh vực cụ thể như: ACMSIGIR, SIGMOD Tại các tổ chức giáo dục trên khắp thế giới, các khoa đại học và sau đại học hiện nay đã có môn rành riêng cho nghiên cứu về hệ tư vấn, các bài hướng dẫn, sách, báo về các hệ tư vấn đã được phát hành rộng rãi
Có nhiều tạp chí của các trường đại học phát hành về các nghiên cứu và sự phát triển trong lĩnh vự tư vấn, trong đó có: [9]
2.1.1 Chức năng của các hệ tư vấn chức năng của các hệ tư vấn
Trên thực tế, có nhiều lý do để nhà cung cấp dịch vụ muốn khai thác công nghệ này FrancescoRicci và cộng sự [14] đã đưa ra một số lí do như sau:
Trang 38Tăng số lượng sản phẩm bán được: đây có lẽ là chức năng quan trọng nhất đối với các hệ tư vấn thương mại điện tử, mục đích này đạt được do các sản phẩm được tư vấn phù hợp với các sản phẩm mà người dùng cần và người dùng mong muốn, có thể người dùng sẽ chấp nhận mua sau khi xem tư vấn từ hệ thống Nói chung, ta có thể nói nhìn từ quan điểm của các nhà cung cấp dịch vụ, mục đích chính của việc đưa ra một hệ tư vấn
là làm tăng tỷ lệ giữa giữa lượng khách hàng mua sản phẩm và lượng khách hàng truy cập chỉ để duyệt tìm thông tin
Bán được các sản phẩm đa dạng hơn: chức năng này của hệ tư vấn cho phép người dùng lựa chọn các lựa chọn các sản phẩm mà có thể rất khó để tìm thấy nếu như không
có tư vấn chính xác Ví dụ, trong hệ tư vấn phim của Netflix, nhà cung cấp quan tấm tới cho thuê tất cả DVD của họ, chứ không chỉ những DVD nổi tiếng, điều này có thể rất khó nếu như không có hệ tư vấn, họ có thể gặp rủi ro trong việc quảng cáo các bộ phim không phù hợp với thị hiếu của người dùng Như vậy, một hệ tư vấn đề xuất hoặc quảng cáo được những DVD không nổi tiếng nhưng phù hợp với người dùng
Nâng cao sự hài lòng của người dùng: Một hệ thống tư vấn được thiết kế tốt có thể hoàn thiện kinh nghiệm sử dụng web hoặc ứng dụng của người dùng Với tương tác người máy hợp lý, người dùng có thể thấy được các tư vấn một cách dễ ràng, phù hợp với thị hiếu của họ Như vậy họ sẽ thích sử dụng hệ thống Sự kết hợp hiệu quả giữa các
tư vấn và giao diện sử dụng sẽ làng tăng lượng đánh giá chủ quan của người dùng về hệ thống Điều này làm tăng số lượt sử dụng hệ thống và tăng khả năng các tư vấn được chấp nhận
Nâng cao sự trung thành của người dùng: Một người sẽ trung thành với một website khi mà họ truy cập, hệ thống nhận thức được đây là khách hàng cũ và đối đãi với họ như một người truy cập quan trọng Đây là một tính năng thông thường của một
hệ tư vấn Hệ tư vấn sử dụng các thông tin có được từ người dùng trong các lượt tương tác trước của họ với hệ thống ví dụ như các đánh giá về các sản phẩm, hành vi duyệt web Do vậy, người dùng càng tương tác nhiều với hệ thống, mô hình người dùng của
họ sẽ càng hoàn thiện hơn, như vậy hệ thống sẽ đưa ra được các tư vấn hợp lý, hiệu quả hơn với sở thích của người người dùng đó
Hiểu biết tốt hơn về những mong muốn của người dùng: Tính năng này của hệ thống có thể được sử dụng lại cho nhiều ứng dụng khác, đó là mô tả về sở thích của
Trang 39người dùng Có thể được thu thập một cách tường minh (đánh giá của người dùng về sản phầm …) hoặc không tường minh được suy luận ra từ các hành vi tương tác với hệ thống của người dùng, nhà cung cấp dịch vụ có thể dựa vào đó để quyết định có sử dụng lại tri thức này cho một mục đích khác hay không ví dụ như cải thiện quản lý sản xuất
và lưu trữ sản phẩm, cân đối việc sản xuất sản phẩm theo thị hiếu người dùng
2.1.2 Chức năng của các hệ tư vấn đối với người sử dụng
Lý do để người sử dụng cần đến một hệ tư vấn:
Tìm ra một số sản phẩm tốt nhất: hệ thống tư vấn tới người dùng một số sản phẩm được xếp hạng và dự đoán số người dùng khác thích chúng Đây là chức năng chính mà nhiều hệ thống thương mại điện tử sử dụng
Tìm ra tất cả sản phẩm tốt: Tư vấn tất cả sản phẩm mà có thể làm hài lòng nhu cầu của khách hàng Trong nhiều trường hợp không đủ cơ sở để đưa ra các sản phẩm tốt nhất Điều này chỉ đúng khi số lượng sản phẩm liên quan tương đối nhỏ hoặc khi hệ tư vấn là chức năng quan trọng trong ứng dụng tài chính và y tế
Tư vấn liên tục: thay vì tập trung vào tạo tư vấn đơn, các hệ thống tư vấn tạo các
tư vấn liên tục tới người dùng cho tới khi họ tìm được sản phẩm mong muốn
Tư vấn một nhóm sản phẩm: Đề xuất một nhóm các sản phẩm mà tương đương nhau Ví dụ như kế hoạch du lịch có thể là gồm nhiều điểm đến, các dịch vụ nơi ở, các
sự kiện hấp dẫn Từ quan điểm của người dùng những lựa chọn khác nhau có thể được xem xét và được lựa chọn một điểm đến du lịch hợp lý
Chỉ duyệt tìm: Trong tác vụ này, người dùng duyệt các danh mục mà không có ý định mua sản phẩm nào, tác vụ này đưa ra tư vấn giúp người dùng duyệt tìm các sản phẩm có nhiều khả năng thuộc vào phạm vi sở thích của người dùng với phiên truy cập xác định Đây là tác vụ được hỗ trợ bởi các kỹ thuật đa phương tiện
Tìm kiếm các tư vấn tin tưởng: Một số người dùng không tin tưởng vào các hệ thống tư vấn, họ tham gia vào hệ thống để thấy được các hệ thống này đưa ra tư vấn tốt tới mức nào Do đó, một số hệ thống có thể đưa ra các chức năng chính xác để cho phép
họ thử nghiệm hành vi của họ, ngoài các yêu cầu tư vấn
Trang 40Cải thiện hồ sơ cá nhân người dùng: Người dùng có khả năng cung cấp thông tin, những gì họ thích, không thích với hệ thống tư vấn Điều này là hết sức cần thiết để đưa
ra các tư vấn mang tính chất cá nhân hóa Nếu như hệ thống không xác định tri thức về người dùng đang hoạt động thì nó chỉ có thể đưa ra các tư vấn giống nhau
Bày tỏ ý kiến của mình: Một số người dùng có thể không quan tâm tới các tư vấn, đúng hơn, những gì quan trọng với họ là được góp ý kiến, đánh giá về sản phẩm, giúp ích người khác khi lựa chọn sản phẩm này
Tác động tới những người dùng khác: Trong hệ tư vấn trên web, có nhiều người tham gia với mục tiêu của họ là tác động tới hệ tư vấn, dẫn tới ảnh hưởng tới người dùng khác khi mua một sản phẩm cụ thể (thông qua đánh giá sản phẩm, …) Tác động của họ
có thể thúc đẩy hoặc gây bất lợi cho sản phẩm
Vai trò của một hệ tư vấn trong hệ thống thông tin có thể rất đa dạng, điều này phụ thuộc vào các kỹ thuật và nguồn tri thức được sử dụng
2.2 Các hệ tư vấn
2.2.1 Hệ tư vấn xã hội
Sự phát triển của các phương tiện xã hội đã mạng lại một nguồn dữ liệu mới từ các mối quan hệ xã hội phong phú giữa những người dùng Ví dụ như mối quan hệ bạn bè hai chiều trên mạng xã hội Facebook hay quan hệ following – follower trên Twitter, quan hệ tin cậy trên các diễn đàn, Các mối quan hệ này cho phép những người dùng trao đổi ý kiến và chia sẻ ý tưởng, quan điểm với bạn bè của họ Những sở thích của người dùng tương tự với hoặc chịu ảnh hưởng bởi bạn bè kết nối xã hội của họ và lý do đằng sau giả định có thể được giải thích bởi lý thuyết tương quan xã hội như homophily
và ảnh hưởng xã hội Homophily chỉ ra rằng những người dùng có sở thích tương tự có nhiều khả năng được kết nối, và ảnh hưởng xã hội cho thấy những người dùng đã kết nối có nhiều khả năng có sở thích tương tự [20] Đối chiếu với thực tế, mỗi khi chúng
ta muốn mua một sản phẩm hoặc đưa ra một quyết định nào đó, chúng ta thường có xu hướng hỏi bạn bè, những người xung quanh mà ta tin cậy để nghe những gợi ý của họ Điều này cho thấy khả năng sử dụng các mối quan hệ xã hội để cải tiến hệ tư vấn
Hệ tư vấn xã hội đầu tiên xuất hiện năm 1997 [20] Cùng với sự phát triển của các phương tiện xã hội, các nghiên cứu về tư vấn xã hội cũng được quan tâm, chú ý nhiều