Tài liệu Đề tài Cấu trúc profile: LỜI CẢM ƠN
W X
Tôi xin chân thành cảm ơn các Thầy Cô thuộc khoa Toán-Tin trường Đại
học Khoa học Tự nhiên đã tận tình dạy dỗ, truyền đạt cho tôi nhiều kiến thức quý
báu.
Tôi xin gửi lời cảm ơn sâu sắc đến Thầy hướng dẫn của tôi, TS. Nguyễn
Đình Thúc, vì sự tận tình hướng dẫn, cung cấp các tài liệu tham khảo; vì sự khích
lệ, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài.
Tôi xin gửi lời cảm ơn trân trọng đến TS. Nguyễn An Tế vì sự quan tâm, chỉ
bảo và hỗ trợ tôi vượt qua những khó khăn trong khi thực hiện đề tài.
Tôi xin gửi lời cảm ơn đến ThS. Lê Đức Long, ThS. Trần Ngọc Bảo vì sự hỗ
trợ cung cấp các tài liệu tham khảo trong giai đoạn đầu tiếp cận đề tài.
Tôi xin gửi lời cảm ơn đến TS. Trần Nam Dũng và PGS.TS Dương Anh Đức
vì những nhận xét, góp ý quý báu cho luận văn.
Tôi xin gửi lời cảm ơn đến các anh chị và các bạn cùng khóa đã có những ý
kiến đóng góp và động viên tôi trong quá trình thực hiện đề tài.
Tôi xin gửi lời cảm ơn đến Ban g...
73 trang |
Chia sẻ: hunglv | Lượt xem: 1124 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Cấu trúc profile, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LỜI CẢM ƠN
W X
Tôi xin chân thành cảm ơn các Thầy Cô thuộc khoa Toán-Tin trường Đại
học Khoa học Tự nhiên đã tận tình dạy dỗ, truyền đạt cho tôi nhiều kiến thức quý
báu.
Tôi xin gửi lời cảm ơn sâu sắc đến Thầy hướng dẫn của tôi, TS. Nguyễn
Đình Thúc, vì sự tận tình hướng dẫn, cung cấp các tài liệu tham khảo; vì sự khích
lệ, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài.
Tôi xin gửi lời cảm ơn trân trọng đến TS. Nguyễn An Tế vì sự quan tâm, chỉ
bảo và hỗ trợ tôi vượt qua những khó khăn trong khi thực hiện đề tài.
Tôi xin gửi lời cảm ơn đến ThS. Lê Đức Long, ThS. Trần Ngọc Bảo vì sự hỗ
trợ cung cấp các tài liệu tham khảo trong giai đoạn đầu tiếp cận đề tài.
Tôi xin gửi lời cảm ơn đến TS. Trần Nam Dũng và PGS.TS Dương Anh Đức
vì những nhận xét, góp ý quý báu cho luận văn.
Tôi xin gửi lời cảm ơn đến các anh chị và các bạn cùng khóa đã có những ý
kiến đóng góp và động viên tôi trong quá trình thực hiện đề tài.
Tôi xin gửi lời cảm ơn đến Ban giám hiệu trường và Ban giám đốc Trung
tâm Tin học, ĐH Sư phạm TPHCM đã tạo mọi điều kiện thuận lợi để tôi có thể
dành nhiều thời gian cho luận.
Cuối cùng, lời cảm ơn sâu sắc nhất tôi xin gửi đến tất cả thành viên trong gia
đình, đặc biệt là ông xã, vì sự động viên, ủng hộ về mặt tinh thần to lớn và quý báu.
Tác giả
1
MỤC LỤC
Trang
MỤC LỤC 1
Danh mục các ký hiệu, các chữ viết tắt 4
Danh mục các bảng biểu, đồ thị 5
Danh mục các hình vẽ 6
Chương 1. Giới thiệu 7
Chương 2. Hiện trạng nghiên cứu 12
2.1. Cấu trúc profile 12
2.1.1. Cấu trúc profile cho hệ thống tư vấn thông tin (Recommender
System) của Montainer 12
2.1.2. Cấu trúc profile cho hệ thống đào tạo trực tuyến (e-Learning
System) của Brusilouvsky 13
2.1.3. Cấu trúc profile cho hệ thống đào tạo trực tuyến (e-Learning
System) của nhóm Lê Đức Long và cộng sự 15
2.2. Chọn đặc trưng 16
2.2.1. Bài toán chọn đặc trưng (Feature selection) 17
2.2.2. Phương pháp phân tích thành phần chính (Principal Component
Analysis-PCA) 20
Chương 3. Phát biểu bài toán 23
3.1. Các định nghĩa 23
2
3.1.1. Cấu trúc profile 23
3.1.2. Miền giá trị của đặc trưng 24
3.1.3. Ý nghĩa của miền giá trị 24
3.2. Bài toán luận văn giải quyết 25
Chương 4. Đánh giá tính hữu ích của đặc trưng và tinh chỉnh miền giá
trị đặc trưng 27
4.1. Cách tiếp cận 27
4.1.1. Ý tưởng của giải pháp 27
4.1.2. Ví dụ minh họa 28
4.2. Cơ sở lý luận 30
4.2.1. Extra value 31
4.2.2. Mệnh đề 34
4.2.3. Đặc trưng hữu ích 35
4.2.4. Đặc trưng không hữu ích 35
4.3. Đánh giá tính hữu ích của đặc trưng 35
4.3.1. Ý tưởng giải thuật 35
4.3.2. Thủ tục đánh giá tính hữu ích của đặc trưng fi với ngưỡng θi 36
4.3.3. Lưu đồ thủ tục đánh giá đặc trưng 37
4.4. Tinh chỉnh miền giá trị của đặc trưng 38
4.4.1. Rare value 38
4.4.2. Cách tiếp cận dựa trên độ lệch nhỏ nhất 38
4.4.3. Cách tiếp cận dựa trên giá trị trung vị 39
4.4.4. Thủ tục tìm rare value trong DOM(fi), với ngưỡng βi>1 42
4.4.5. Lưu đồ thủ tục tìm rare value 44
3
Chương 5. Thực nghiệm 45
5.1. Profile của sinh viên sư phạm- trường ĐH Sư phạm TPHCM 47
5.1.1. Đặc trưng ‘nguồn gốc cư trú’ 48
5.1.2. Đặc trưng ‘nơi sống’ 48
5.1.3. Đặc trưng ‘người sống cùng’ 51
5.1.4. Tình trạng hôn nhân 53
5.2. Đánh giá kết quả giải thuật 54
5.2.1. Ưu điểm 54
5.2.2. Hạn chế 54
Chương 6. Kết luận và hướng nghiên cứu tương lai 55
6.1. Những đóng góp của luận văn 55
6.2. Hướng phát triển 56
TÀI LIỆU THAM KHẢO 58
PHỤ LỤC 61
4
Danh mục các ký hiệu, các chữ viết tắt
profile/user profile đặc trưng người dùng
user người dùng
learner profile user profile trong hệ thống e-Learning
AHS Adaptive Hypermedia System
AeHS Adaptive elearing Hypermedia System
AeLS Adaptive e-Learning System
item các tài nguyên, thông tin, món hàng,…
feature selection chọn đặc trưng
PCA Principal Component Analysis: phương pháp phân tích
thành phần chính
e-Commerce hệ thống kinh doanh trực tuyến
e-Learning hệ thống đào tạo trực tuyến
Recommender System hệ thống tư vấn
5
Danh mục các bảng biểu, đồ thị
Bảng 2.1. So sánh bài toán luận văn và PCA 21
Bảng 4.1. Bảng kết quả khảo sát các đặc trưng. 28
Bảng 4.2. Bảng các cặp giá trị (ni,θi) ban đầu 33
Bảng 4.3. Bảng các cặp giá trị (ni,θi) 33
Bảng 5.1. Bảng các giá trị của đặc trưng ‘nguồn gốc cư trú’ 48
Bảng 5.2. Bảng các giá trị của đặc trưng ‘nơi sống’ 48
Bảng 5.3. Bảng các giá trị của đặc trưng ‘người sống cùng’ 51
Bảng 5.4. Bảng các giá trị của đặc trưng ‘tình trạng hôn nhân’ 53
6
Danh mục các hình vẽ
Hình 2.1. Cấu trúc learner profile của Lê Đức Long (2009) 15
Hình 2.2. Thủ tục chọn đặc trưng của Liu (2002) 18
Hình 4.1. Biểu đồ phân bố miền giá trị của đặc trưng ‘tình trạng hôn nhân’ 29
Hình 4.2. Biểu đồ phân bố miền giá trị của đặc trưng ‘ca học’ 30
Hình 4.3. Biểu đồ phân bố miền giá trị của đặc trưng ‘giới tính’ 32
Hình 4.4. Biểu đồ phân bố miền giá trị của đặc trưng ‘nguồn gốc cư trú’ 33
Hình 4.5. Cách tiếp cận dựa trên độ lệch nhỏ nhất 39
Hình 4.6. Hình minh họa phân đánh giá miền giá trị thuộc tính 41
Hình 4.7. Trường hợp giá trị v1=vmed 42
Hình 4.8. Trường hợp giá trị vn=vmed 42
Hình 5.1. Biểu đồ phân bố miền giá trị của đặc trưng ‘nguồn gốc cư trú’ 48
Hình 5.2. Biểu đồ phân bố miền giá trị của đặc trưng ‘nơi sống’ 49
Hình 5.3. Biểu đồ phân bố miền giá trị đã tinh chỉnh của đặc trưng nơi sống 50
Hình 5.4. Biểu đồ phân bố miền giá trị của đặc trưng ‘người sống cùng’ 51
Hình 5.5. Biểu đồ phân bố miền giá trị đã tinh chỉnh của đặc trưng ‘người sống
cùng’ 52
Hình 5.6. Biểu đồ phân bố miền giá trị của đặc trưng ‘tình trạng hôn nhân’ 53
7
Chương 1. Giới thiệu
Trong thời gian gần đây, các hệ thống thích nghi cá nhân (Personalized
Systems/ Adaptive System) đã được nghiên cứu và ứng dụng nhiều vào các lĩnh vực
như: thương mại điện tử (e-Commerce), hệ thống tư vấn (Recommender Systems),
hệ thống tìm kiếm thông tin (Information Retrieval) và gần đây là hệ thống đào tạo
trực tuyến (e-Learning).
Hệ thống thích nghi cá nhân là các hệ thống cung cấp thông tin, tài nguyên
hoặc các dịch vụ cho người dùng một cách linh động, phù hợp với đặc trưng riêng
của từng người. Chẳng hạn, hệ thống bán hàng trực tuyến sẽ tư vấn cho các khách
hàng khác nhau chọn mua những sản phẩm khác nhau phù hợp với sở thích từng
người. Hệ thống tư vấn thông tin sẽ tư vấn cho các người dùng khác nhau những tài
liệu khác nhau phù hợp với chủ đề mà từng người quan tâm. Hệ thống đào tạo trực
tuyến sẽ tư vấn cho các người học khác nhau phương pháp học phù hợp với trình độ
và khả năng tiếp thu của từng người. Trong các hệ thống thích nghi này, mỗi người
dùng (user) sở hữu một thành phần mô tả đặc trưng người dùng (profile). Đặc trưng
người dùng chính là cơ sở để hệ thống cung cấp những thông tin, dịch vụ, tài
nguyên,… phù hợp với từng người dùng. Điều này đem đến sự tiện nghi, thoải mái
cho người dùng trong quá trình khai thác hệ thống. Người dùng có cảm giác là hệ
thống rất thông minh, hiểu được mình và đáp ứng đúng nhu cầu riêng của mình.
Profile được biết đến như là một tập hợp gồm những thông tin của một cá
nhân, dùng để biểu diễn cá nhân đó trên máy tính. Hệ thống sẽ khai thác profile để
8
biết được tính cách và sở thích của người dùng và phục vụ cho người dùng tốt hơn.
[14], [15].
Profile được sử dụng bởi các hệ thống thích nghi siêu truyền thông (adaptive
hypermedia system) nhằm cá nhân hóa các tương tác giữa người dùng và máy tính.
Profile được tìm thấy trong các hệ điều hành (operating system), các chương trình
máy tính (computer program) hay các website động (dynamic website). Trong các
hệ điều hành windows, profile của một người dùng bao gồm các thông tin định
nghĩa môi trường làm việc của người đó, chẳng hạn như: cách thiết lập chế độ hiển
thị, cách thiết lập các ứng dụng, các kết nối mạng,… nghĩa là tất cả những gì người
dùng nhìn thấy trên màn hình máy tính cũng như tất cả các tập tin, các thư mục, các
ứng dụng mà họ truy cập,…. Trong các website động, chẳng hạn như trang
mail.yahoo.com, người dùng có thể tùy ý thay đổi cách hiển thị như màu sắc, font
chữ,… theo cách riêng của họ. Các thông tin đó được lưu trữ trong profile và người
dùng luôn nhận được cách thể hiện đó dù truy cập từ bất cứ máy tính nào.
Những thông tin được lưu trữ trong profile rất đa dạng như thông tin cá nhân,
những đặc điểm, sở thích, thói quen, trình độ tri thức,…. Tùy theo lĩnh vực ứng
dụng cụ thể, profile sẽ có những thông tin khác nhau phù hợp cho miền ứng dụng
đó. Trong hệ thống bán hàng qua mạng, profile thường gồm: sở thích, thói quen
mua sắm, các sản phẩm đã từng mua …Trong hệ thống giáo dục, profile thường
gồm: tên, tuổi, trình độ học vấn, kết quả khóa trước, thói quen học tập, kiến thức
nền, ngành học, …Trong hệ thống tư vấn thông tin, profile có thể chứa những chủ
đề mà người dùng quan tâm, trình độ tri thức, ngành nghề của người dùng,… Chính
những thông tin được lưu trữ trong profile này đã giúp hệ thống phục vụ cho người
dùng tốt hơn, thông minh hơn. Nói cách khác, sự thông minh và chất lượng của các
9
hệ thống thích nghi được xây dựng trên nền tảng chính là profile. Nếu profile được
xây dựng tốt thì hệ thống sẽ tư vấn tốt hơn. Để xây dựng được profile tốt cho hệ
thống thì cần phải xác định được những đặc trưng nào của người dùng sẽ cần thiết,
hữu ích cho hệ thống. Điều này không phải đơn giản bởi vì trong từng miền ứng
dụng khác nhau, profile sẽ có những đặc trưng khác nhau. Chẳng hạn, trong e-
Commerce, các đặc trưng của profile về sở thích là quan trọng nhất để giúp cho việc
tư vấn hiệu quả. Trong khi đó với hệ e-Learning thì các đặc trưng liên quan đến
trình độ học tập, kiến thức nền,… mới là quan trọng nhất. Ngay cả khi trong cùng
một miền ứng dụng, profile của hệ thống này có thể sẽ khác profile của hệ thống
kia. Nói riêng trong miền e-Commerce, profile của một hệ thống tư vấn bán đĩa CD
sẽ cần có các thông tin liên quan đến âm nhạc, thể loại nhạc, … nhưng profile của
một hệ thống tư vấn bán tranh cần có các thông tin liên quan đến màu sắc, hội họa,
kiến trúc,… Do vậy, xây dựng cấu trúc profile là một trong số những khía cạnh
quan trọng quyết định đến sự thành công của hệ thống thích nghi. Ngoài ra, các vấn
đề liên quan đến profile như khởi tạo profile và cập nhật profile cũng không kém
phần quan trọng.
Cấu trúc profile
Việc xây dựng profile là vấn đề đầu tiên và cũng là vấn đề then chốt quyết
định đến sự thành công của các hệ thống thích nghi. Profile cần lưu trữ những thông
tin gì của người dùng? Các chuyên gia trong các miền ứng dụng đã dựa trên kiến
thức chuyên môn và kinh nghiệm về lĩnh vực của họ để cho ra đời các cấu trúc
profile tổng quát của từng miền ứng dụng, chẳng hạn: cấu trúc profile cho hệ thống
tư vấn thông tin được đề xuất bởi Montainer [15], cấu trúc profile cho hệ thống e-
10
Learning được đề xuất bởi Brusilouvsky [6] và cấu trúc profile cho hệ thống e-
Learning được đề xuất bởi Lê Đức Long [8].
Khởi tạo profile cho người sử dụng
Đây thuộc về dạng bài toán ‘cold-start problem’ (dạng bài toán có khởi đầu
khó khăn) đã được đề cập trong [11], [12]. Trong giai đoạn đầu, hệ thống còn thiếu
thông tin để khởi tạo profile, thậm chí có khi phải khởi tạo profile rỗng. Do vậy,
chất lượng của profile đầu tiên thường chưa được tốt và ảnh hưởng đến chất lượng
tư vấn, phục vụ của hệ thống. Một số giải pháp cho vấn đề này cũng được đề cập
đến trong [16] và [17].
Cập nhật Profile
Sau khi hoạt động được một thời gian, profile cần phải được cập nhật lại để
đảm bảo các thông tin về đặc trưng của người dùng luôn mới, phản ánh đúng thực
tại. Việc cập nhật này được thực hiện dựa trên quá trình người dùng tương tác với
hệ thống. Có hai loại cập nhập là cập nhật tường minh và cập nhật ngầm. Cập nhật
tường minh nghĩa là hệ thống hỏi trực tiếp và yêu cầu người dùng điều chỉnh các
thông tin thay đổi. Cập nhật ngầm nghĩa là hệ thống tự động ghi nhận những sự thay
đổi thông qua quá trình quan sát người dùng tương tác với hệ thống. Việc cập nhật
profile là chìa khóa quan trọng giúp cho hệ thống luôn có được thông tin mới và
chính xác của người dùng vì những đặc trưng của người dùng thường xuyên thay
đổi (như các đặc trưng về sở thích, mục tiêu,…) Trên cơ sở đó, giúp cho hệ thống
cung cấp thông tin và dịch vụ phù hợp hơn. Các kỹ thuật cập nhật profile được trình
bày chi tiết trong [14], [15].
11
Mục tiêu đề tài
Trong những vấn đề liên quan đến profile được nêu trên, luận văn tập trung
vào vấn đề thứ nhất: nghiên cứu xây dựng mô hình đặc trưng người dùng ( hay nói
cách khác là cấu trúc profile). Tính đến thời điểm hiện nay, đã có nhiều cấu trúc
profile tổng quát được đề xuất cho những miền ứng dụng cụ thể. Tuy vậy, trong một
ứng dụng cụ thể nếu áp dụng máy móc cấu trúc profile tổng quát của miền tương
ứng sẽ không tránh khỏi tình trạng có những đặc trưng không cần thiết. Việc lưu
trữ, xử lý các thông tin dư thừa làm hao tốn tài nguyên hệ thống trong quá trình hỗ
trợ thích nghi người dùng. Hiện nay, vẫn chưa có nghiên cứu nào đề cập đến các
phương pháp chọn ra những thuộc tính hữu ích nhất, ngoài kinh nghiệm của các
chuyên gia. Các thuộc tính còn được chọn theo kinh nghiệm nên còn mang tính chủ
quan cao. Do vậy, bài toán đặt ra là cần tinh chỉnh cấu trúc tổng quát để tạo ra cấu
trúc profile mới phù hợp với những hệ thống cụ thể. Công việc này cần được khảo
sát và nghiên cứu một cách khách quan vì nếu chỉ dựa vào kinh nghiệm thì cấu trúc
profile vẫn không thuyết phục về tính hiệu quả.
Đề tài nhằm hướng đến việc hỗ trợ cho người phát triển hệ thống chọn được
những đặc trưng hữu ích trong profile tổng quát. Cụ thể là sẽ tập trung nghiên cứu
đề xuất những tiêu chí để đánh giá chất lượng của các đặc trưng nhằm lọc ra được
những đặc trưng thật sự hữu ích, cần thiết cho một ứng dụng cụ thể, qua đó giúp
xây dựng mô hình profile tốt hơn, tinh gọn hơn.
Phần tiếp theo của luận văn gồm các chương sau: chương 2 phân tích hiện
trạng nghiên cứu, chương 3 phát biểu bài toán, chương 4 cách tiếp cận giải quyết
bài toán, chương 5 thực nghiệm giải pháp đề xuất trên các ứng dụng cụ thể và
chương 6 là kết luận và xác định hướng nghiên cứu trong tương lai.
12
Chương 2. Hiện trạng nghiên cứu
Trong phần này, chúng tôi sẽ giới thiệu một số cấu trúc profile tổng quát và
phân tích thực trạng về các cách tiếp cận liên quan đến việc chọn đặc trưng đã được
nghiên cứu. Qua một số mô hình profile tổng quát chúng ta thấy được nhu cầu tinh
chỉnh tập đặc trưng và nhu cầu về phương pháp để chọn đặc trưng.
2.1. Cấu trúc profile
Nhiều mô hình về cấu trúc profile đã được nghiên cứu và phát triển trong
một thời gian dài. Trong phạm vi luận văn, chúng tôi giới thiệu những mô hình
profile được đề xuất trong [6], [8] và [14] cho các miền ứng dụng khác nhau.
2.1.1. Cấu trúc profile cho hệ thống tư vấn thông tin (Recommender
System) của Montainer
Theo [14], Montainer xem profile như là sự đánh giá trong quá khứ (kinh
nghiệm) của user về đối tượng mà user quan tâm (item). Tùy trường hợp, item có
thể là món hàng, tài liệu, tài nguyên, thông tin,…. Profile được chia thành 2 phần:
một tập các đặc trưng mục tiêu mô tả item và một tập các đặc trưng về sở thích mô
tả sự quan tâm, sự đánh giá của user đối với các item đó.
Ví dụ trong lĩnh vực nhà hàng, tập các đặc trưng về item là {tên nhà hàng,
địa chỉ, cách nấu nướng, giá cả, số chỗ, máy điều hòa,…} và tập các đặc trưng về sở
thích của user đối với nhà hàng là {đánh giá chung, sự tương xứng giữa giá cả và
chất lượng, số lượng món ăn, lượng người vào website của nhà hàng, …}
13
Những website bán hàng trực tuyến nổi tiếng đã ứng dụng profile nhằm giúp
hệ thống tư vấn tốt như: Hệ thống tư vấn sách Amazon.com, Hệ thống tư vấn album
nhạc CDNOW, Hệ thống tư vấn mua sắm qua mạng eBay, Hệ thống tư vấn mua
sắm quần áo Levis, Hệ thống tư vấn phim ảnh Moviefinder.com, Hệ thống tư vấn
phim ảnh Reel.com,… Nếu bạn đã từng vào các website này để chọn mua hàng và
đã cung cấp email liên lạc, thì về sau bạn sẽ nhận được những lời quảng cáo về các
món hàng mới phù hợp với sở thích của bạn và có những nét giống với các món
hàng bạn đã mua.
2.1.2. Cấu trúc profile cho hệ thống đào tạo trực tuyến (e-Learning
System) của Brusilouvsky
Lĩnh vực e-Learning lấy vai trò của người học làm trọng tâm và việc tự học
của người học quyết định lớn đến chất lượng đào tạo. Khác với hình thức giáo dục
cổ điển với bảng đen, phấn trắng và người Thầy luôn bên cạnh học trò, hệ thống e-
Learning đôi khi khiến người học cảm thấy bơ vơ, mất phương hướng. Do vậy, việc
tư vấn của hệ thống là rất cần thiết. Và để thực hiện được việc tư vấn tốt cho từng
người học, hệ thống e-Learning cần phải biết rõ đặc trưng riêng của từng người học,
đó chính là nhu cầu cần thiết về profile trong e-Learning. User profile trong lĩnh
vực e-learning được gọi là learner profile. Theo [6], cấu trúc learner profile gồm các
nhóm đặc trưng về kiến thức (knowledge), sở thích (interests), mục tiêu (goals),
kiến thức nền (background) và những nét tiêu biểu của người dùng (individual
traits).
Kiến thức (Knowledge) là kiến thức của người học về chủ đề đang học. Đây
là thành phần quan trọng nhất của learner profile và kiến thức có thể thay đổi theo
14
chiều hướng tăng (tiếp thu) hoặc giảm (quên) khi chuyển từ bài này này bài khác
hoặc trong cùng một môn học.
Sở thích/ mối quan tâm (Interests) được xem như là thành phần quan trọng
của profile trong các hệ thống tìm kiếm thông tin, tinh lọc thông tin. Trái lại, trong
các hệ AHS thời điểm đầu thường không chú trọng vào thành phần này mà chỉ quan
tâm đến mục đích học tập. Tuy nhiên, khoảng vài năm gần đây, thành phần này
được chú trọng nhiều hơn và có khả năng cạnh tranh với thành phần knowledge để
trở thành đặc trưng quan trọng nhất.
Mục đích (Goals/tasks) thể hiện mục đích tức thời của người dùng cho một
tác vụ trong hệ thống thích nghi. Cụ thể là thể hiện những gì mà người dùng mong
muốn đạt được. Tùy thuộc loại hệ thống, mục đích có thể là mục tiêu của công việc
(trong hệ thống ứng dụng), nhu cầu thông tin tức thời (trong hệ thống tìm kiếm
thông tin), mục tiêu học tập (trong hệ thống đào tạo)…Mục đích là đặc trưng dễ
thay đổi nhất. Đặc trưng này luôn luôn thay đổi từ nội dung này sang nội dung khác
(from section to section) và thậm chí thay đổi vài lần trong một nội dung học.
Kiến thức nền (background) là tên gọi chung của một tập hợp những đặc
trưng liên quan đến kinh nghiệm trước đây của người dùng và những đối tượng liên
quan. Thành phần này trong các hệ thống web thích nghi (adaptive web system)
thường gồm: nghề nghiệp, trách nhiệm công việc, kinh nghiệm làm việc trong lĩnh
vực có liên quan và thậm chí là quan điểm cụ thể trong phạm vi công tác. Thành
phần này thường là cố định trong suốt quá trình làm việc với hệ thống và cũng khó
suy ra bằng cách quan sát quá trình người dùng tương tác với hệ thống.
Nét riêng (Individual traits) là tên gọi chung của những đặc trưng giúp hình
dung ra từng cá thể. Ví dụ đặc trưng về nhân cách (hướng nội/hướng ngoại), cách
15
nhận thức, cách học,…Đây là đặc trưng tĩnh, nghĩa là không thay đổi sau một
khoảng thời gian dài và thậm chí không bao giờ thay đổi. Khác với background, đặc
trưng này có thể thu được qua những bài kiểm tra về tâm lý được thiết kế riêng.
2.1.3. Cấu trúc profile cho hệ thống đào tạo trực tuyến (e-Learning
System) của nhóm Lê Đức Long và cộng sự
Đây là mô hình mở rộng của mô hình profile do Brusilouvsky đề xuất. Nhóm
nghiên cứu của Lê Đức Long và cộng sự dựa trên kinh nghiệm của các chuyên gia
sư phạm, các chuyên gia tâm lý đã đề xuất một cấu trúc chung cho learner profile
ứng dụng trong hệ thống đào tạo trực tuyến thích nghi (Adaptive e-Learning System
– AeLS), gồm 4 nhóm đặc trưng chính: demographics, training experiences, self-
study activities, learning demands, theo [8]
Hình 2.1. Cấu trúc learner profile của Lê Đức Long (2009)
Demographics (nhân thân)
Nhóm này chứa thông tin về tiểu sử gia đình và tình trạng bản thân, gồm các
đặc trưng như: mã số sinh viên, lý lịch và nơi làm việc.
Training experiences (kinh nghiệm đào tạo)
Nhóm này chứa thông tin về nền tảng kiến thức, kiến thức đã biết về chủ đề
đang học và kiến thức có thể biết hoặc có khả năng biết trước của người học về chủ
đề đó. Thành phần này nhằm hướng đến việc cung cấp một sự thích nghi dựa trên
mức độ nhận thức, khả năng lĩnh hội tri thức về bài học/chủ đề đang học của mỗi cá
Learner Profile
Demographics Training Experiences Self-study Activities Learning Demands
16
nhân người học. Nhóm này gồm các đặc trưng như kiến thức nền, kiến thức đã biết,
kiến thức về chủ đề.
Self-study activities (Hoạt động tự học)
Nhóm này chứa các thông tin về đặc điểm cá nhân của người học liên quan
đến các hoạt động học tập (đặc biệt là tự học), gồm các đặc trưng như thói quen học
tập, mục tiêu học tập và đặc điểm cá nhân.
Learning demands (Nhu cầu học tập)
Những đặc trưng của nhóm này là cơ sở giúp cho hệ thống có thể cung cấp
cho người học những tài nguyên/dịch vụ đáp ứng được mục đích hay nhu cầu của
bản thân người học và điều này sẽ giúp việc học tập trên mạng trở nên hấp dẫn hơn,
kích thích được động cơ học tập của cá nhân người học. Nhóm này gồm các đặc
trưng như: động cơ học tập, nhu cầu học tập và sở thích.
Nhận xét chung
Qua các cấu trúc profile tổng quát trên, chúng tôi nhận thấy các đặc trưng rất
phong phú, đa dạng. Trong những miền ứng dụng khác nhau, các đặc trưng của
profile sẽ khác nhau. Do vậy, để sử dụng những cấu trúc profile này vào một hệ
thống cụ thể thì không thể áp dụng một cách máy móc mà phải có sự chọn lọc đặc
trưng để đảm bảo cấu trúc profile tinh gọn và những đặc trưng trong profile là các
đặc trưng tốt và hữu ích. Có thể nói, việc chọn lọc hay tinh chỉnh tập đặc trưng là
một trong những mối quan tâm hàng đầu của quá trình xây dựng cấu trúc profile.
2.2. Chọn đặc trưng
Bài toán luận văn đặt ra thuộc dạng bài toán chọn đặc trưng hữu ích. Đây là
dạng bài toán đã được nghiên cứu và có nhiều thuật toán giải quyết. Hướng nghiên
cứu về chọn đặc trưng (feature selection) đã được nghiên cứu rộng khắp và đạt được
17
những kết quả khả quan trong nhiều lĩnh vực. Một cách tiếp cận khác có liên quan
đến chọn đặc trưng là phương pháp phân tích thành phần chính (Principal
Component Analysis - PCA). Trong phần phân tích thực trạng này, chúng tôi sẽ
phân tích các giải thuật đó, đồng thời xem xét điều kiện của bài toán có phù hợp để
áp dụng các giải thuật đó hay không.
2.2.1. Bài toán chọn đặc trưng (Feature selection)
Theo [7], bài toán chọn đặc trưng đã trở thành trọng tâm nghiên cứu trong rất
nhiều lĩnh vực mà số biến của dữ liệu quá lớn (hàng trăm, hàng ngàn) và có nhiều
biến không phù hợp, dư thừa. Những lĩnh vực này bao gồm: phân tích mảng biểu
diễn cấu trúc gen, phân loại văn bản, tổ hợp hóa học và thậm chí trong khai phá dữ
liệu. Ví dụ trong phân tích gen, các biến là các hệ số biểu thức gen tương ứng với số
lượng mRNA1 trong một mẫu. Việc làm giảm số biến giúp người ta có thể tách
được nhóm người bệnh ung thư và nhóm người không bệnh dựa trên biểu thức gen
của họ.
Bài toán chọn đặc trưng mang lại nhiều lợi ích to lớn như: làm cho dữ liệu dễ
hình dung, dễ hiểu (facilitating data visualization and data understanding), làm giảm
nhu cầu đo lường và lưu trữ dữ liệu (reducing the measurement and storage
requirements), làm giảm thời gian học dữ liệu và sử dụng dữ liệu (reducing training
and utilization times), giảm tác hại do số chiều dữ liệu quá lớn để làm tăng khả
năng dự đoán dữ liệu (defying the curse of dimensionality to improve prediction
performance). Isabelle tập trung chủ yếu vào việc xây dựng và chọn lọc các tập đặc
trưng con hữu ích để tạo ra một công cụ dự đoán chính xác. Ví dụ, bác sĩ sẽ kết luận
1 messenger RNA: RNA thông tin
18
một bệnh nhân mắc phải bệnh tim khi có những triệu chứng như: huyết áp cao, khó
thở, đau ngực,…. . Tuy nhiên, ngoài các triệu chứng đó, bệnh nhân có thể mang
những triệu chứng của các bệnh khác nữa. Do vậy, Feature selection trong trường
hợp này được áp dụng để hệ thống tự động chọn ra tập các triệu chứng có liên quan
với nhau và là tác nhân gây ra bệnh tim.
Theo [10], chọn đặc trưng giữ vai trò quan trọng trong chọn lọc dữ liệu và là
bước chuẩn bị cho khai phá dữ liệu (data mining). Feature selection giúp làm giảm
số chiều của không gian đặc trưng, loại bỏ các dữ liệu dư thừa, không cần thiết và
dữ liệu nhiễu. Các lợi ích mà kỹ thuật này mang lại là tăng tốc thuật toán khai phá
dữ liệu, làm tăng chất lượng dữ liệu và từ đó tăng hiệu quả của thuật toán, làm tăng
khả năng hiểu được kết quả của khai phá dữ liệu. Từ đầu thập niên 1970, chọn đặc
trưng được xem là mảnh đất nghiên cứu màu mỡ của các lĩnh vực như nhận dạng
mẫu, máy học và khai phá dữ liệu.
Chọn đặc trưng được định nghĩa là một tiến trình chọn ra tập con nhỏ nhất
(giả sử gồm M đặc trưng) của tập đặc trưng gốc (giả sử gồm N đặc trưng, N≥M) để
cho không gian đặc trưng được thu nhỏ lại một cách tối ưu. Việc chọn tập con này
phụ thuộc vào một tiêu chuẩn đánh giá cụ thể. Thông thường, thuật toán chọn đặc
trưng gồm 4 bước cơ bản (như hình 2.2): phát sinh tập con (subset generation), đánh
giá tập con (subset evaluation), tiêu chuẩn dừng (stopping criterion) và đánh giá kết
quả (result validation).
Hình 2.2. Thủ tục chọn đặc trưng của Liu (2002)
19
Subset generation thực chất là một quy trình tìm kiếm. Về cơ bản, nó sẽ tạo
ra tất cả các tập con của tập đặc trưng gốc. Số lượng đặc trưng của tập gốc là N nên
tổng số tập con có thể có là 2N. Tuy nhiên, quy trình sẽ không thực hiện việc phát
sinh tất cả tập con này vì độ phức tạp của thuật toán sẽ rất lớn ngay cả khi N nhỏ.
Mỗi khi phát sinh được một tập con thì chương trình sẽ ngay lập tức thực hiện việc
đánh giá trên tập con đó theo một tiêu chuẩn đánh giá nhất định và so sánh với tập
con tốt nhất đã được đánh giá trước đó. Nếu tập con mới phát sinh này tốt hơn thì sẽ
thay nó vào vị trí tập con tốt nhất. Và cứ thế quy trình sẽ lần lượt phát sinh từng tập
con và đánh giá... Quy trình sẽ dừng khi thỏa một trong số các điều kiện dừng như
sau: số lượng đặc trưng được chọn đạt mức đề ra, số lần lặp đạt mức đề ra, khi việc
thêm hay bớt đặc trưng không tạo ra tập con tốt hơn, một tập con tối ưu theo tiêu
chuẩn đánh giá đã đề ra. Tập con tốt nhất đã được chọn sẽ trải qua bước cuối cùng
là đánh giá bằng cách thực hiện những phần kiểm tra khác nhau trên tập đặc trưng
gốc và tập đặc trưng con đã chọn.
Đánh giá.
Cùng mục tiêu là chọn đặc trưng, nhưng điều kiện của bài toán chọn đặc trưng
không hoàn toàn khớp với bài toán luận văn quan tâm ở những chi tiết sau:
-Bài toán chọn đặc trưng giúp tìm những đặc trưng tối ưu có xét đến mối tương
quan giữa các đặc trưng và hướng đến việc làm rõ nghĩa dữ liệu, giảm kích thước
dữ liệu.
-Bài toán luận văn quan tâm là chọn đặc trưng để xây dựng profile, nghĩa là tìm
những đặc trưng hữu ích, cần thiết. Tính hữu ích được xét độc lập trên từng đặc
trưng, chưa quan tâm đến mối quan hệ giữa các đặc trưng. Bài toán cũng không đặt
20
trọng tâm vào việc giảm kích thước dữ liệu vì số lượng đặc trưng trong một profile
thường không quá lớn (khoảng vài chục).
2.2.2. Phương pháp phân tích thành phần chính (Principal
Component Analysis-PCA)
Theo [5], quan điểm của các nhà thống kê cổ điển cho rằng phân tích thành
phần chính là tìm các trục chính của Ellipsoid2 nhiều chiều bao hàm đám mây số
liệu phân phối chuẩn nhiều chiều, các trục đó được ước lượng từ một mẫu n cá thể,
trên mỗi cá thể người ta đo p chỉ tiêu. Người đầu tiên đưa ra kỹ thuật này là H.
Hotelling (1933), sau đó là T.W. Anderson (1958) và A.M. Kshirsagar (1972).
Theo quan điểm phổ biến hơn của các nhà phân tích số liệu thì phân tích
thành phần chính là một kỹ thuật biểu diễn các số liệu một cách tối ưu theo một tiêu
chuẩn đại số và hình học đặc biệt. Những tư tưởng của phương pháp này do
K.Pearson (1901) đề xuất. Trong công trình của C.R.Rao (1964), nội dung lý thuyết
của phương pháp thành phần chính được trình bày khá đơn giản và rõ ràng.
Lĩnh vực ứng dụng của PCA rất rộng trong công nghiệp, nông nghiệp, kinh
tế, khoa học cơ bản,… với bảng số liệu mà các cột là các biến và các dòng là các cá
thể khảo sát, trên đó đo giá trị các biến. Với các bảng số liệu cồng kềnh phức tạp thì
rất khó thấy những thông tin chứa trong đó. Mục đích chính của PCA là rút ra
những thông tin chủ yếu chứa trong bảng số liệu bằng cách xây dựng một biểu diễn
2 Ellipsoid là một dạng mặt bậc hai có hình tương tự như elip trong không gian ba
chiều. Phương trình của một ellipsoid chính tắc trong hệ tọa độ Descartes x, y, z là
21
đơn giản hơn, sao cho trong biểu diễn đó đám mây số liệu thể hiện rõ nhất, mà
thông tin không bị sai lạc. Nội dung phân tích là tìm các vector biến (hay vector cá
thể) “gần gũi” với nhau, ảnh hưởng “tích cực” hoặc “tiêu cực” lên nhau, hoặc hầu
như không có quan hệ gì với nhau. Chẳng hạn trong trồng trọt, để tìm quy luật biểu
diễn của sản lượng lúa ở các vùng sinh thái khác nhau, người ta có thể lập bảng
phân tích thành phần chính mà các biến là: sản lượng, năng suất trung bình/ha, tỉ lệ
diện tích trồng trọt, số lượng phân bón từng loại, dân số, lao động, các yếu tố thời
tiết, địa hình, số lượng trâu bò cầy kéo, số lượng máy nông nghiệp các loại, vốn đầu
tư,… Trong chăn nuôi có thể tìm ảnh hưởng các loại thức ăn đến tốc độ tăng
trưởng của lợn, ta lập bảng mà các vector cột là: tuổi lợn, trọng lượng, mức tăng
trọng/ngày, lượng cám, bột ngô, xác mắm, lượng rau từng loại,…
Nhận xét: Bài toán luận văn quan tâm so với bài toán PCA có những điểm khác
biệt như bảng 2.1. Do vậy, không thể sử dụng phương pháp PCA cho bài toán luận
văn.
Bảng 2.1. So sánh bài toán luận văn và PCA
Bài toán của luận văn PCA
số đặc trưng ít (hàng chục) số biến quá lớn (hàng ngàn, hàng chục
ngàn)
đặc trưng gồm đa dạng biến: dịnh danh,
định lượng, thứ bậc
chỉ xét trên biến định lượng hoặc có thể
lượng hóa được
mục tiêu là đánh giá tính hữu ích của
từng đặc trưng mà không xem xét đến
mối tương quan giữa các đặc trưng
đặt biến quan tâm là thành phần chính,
bài toán nhằm mục tiêu đánh giá mối
tương quan giữa các biến khác đến biến
chính, hỗ trợ hay đối nghịch với biến
chính.
22
Qua hiện trạng nghiên cứu về cấu trúc profile, chúng tôi nhận thấy đã có nhiều cấu
trúc profile tống quát cho các miền ứng dụng như hệ thống tư vấn thông tin, e-
Learning,... Tuy nhiên, đối với một hệ thống mới thì không thể áp dụng một cách
máy móc mà cần có sự chọn lọc đặc trưng hữu ích, cần thiết cho hệ thống đó. Từ
đó, dẫn đến nhu cầu cần có phương pháp chọn đặc trưng hữu ích. Các phương pháp
chọn đặc trưng và các phương pháp liên quan đến chọn đặc trưng như PCA đã được
nghiên cứu, ứng dụng và mang lại kết quả khả quan cho nhiều ứng dụng. Tuy nhiên,
các phương pháp này lại không hoàn toàn phù hợp với bài toán chọn đặc trưng hữu
ích cho profile trong các hệ thống thích nghi. Do vậy, đề tài sẽ hướng đến việc đề
xuất một phương pháp mới để đánh giá tính hữu ích của các đặc trưng của profile
dựa trên kiến thức thống kê.
23
Chương 3. Phát biểu bài toán
3.1. Các định nghĩa
3.1.1. Cấu trúc profile
Theo [14], nhiều mô hình biểu diễn cấu trúc profile đã được đề xuất như mô
hình không gian vector, mô hình lịch sử khai thác, mô hình ma trận đánh giá,…
Trong luận văn, chúng tôi định nghĩa cấu trúc profile như sau:
Cấu trúc của profile trong một hệ thống cụ thể là một tập hợp các đặc trưng hữu
hạn và có thứ tự. Ký hiệu NnfP niiu ∈>=< = ,1)( là profile của user u gồm n đặc trưng
fi
Ví dụ với profile gồm 3 đặc trưng tên, tuổi, giới tính, ta có thể biểu diễn
profile của các user u1, u2 như sau:
)( 1uP =
)( 2uP =
Hay với profile gồm 4 đặc trưng nguồn gốc cư trú, nơi sống, người sống
cùng, điều kiện sống. Khi đó, ta có thể biểu diễn profile của các user u1, u2, u3 dưới
dạng vector như sau:
)( 1uP =
)( 2uP =
)( 3uP =
Trong các ứng dụng khác nhau, cấu trúc profile sẽ khác nhau về số lượng đặc trưng
và tên của các đặc trưng. Xét ở khía cạnh ứng dụng, các đặc trưng này có thể chia
24
thành hai loại: loại đặc trưng bắt buộc là những đặc trưng không thể thiếu trong hệ
thống ứng dụng và loại đặc trưng tùy chọn là những đặc trưng có thể có trong hệ
thống ứng dụng. Ví dụ trong hệ thống e-Commerce thì sở thích là đặc trưng bắt
buộc, trình độ là đặc trưng tùy chọn và trong hệ thống e-Learning thì ngược lại. Do
vậy, tiêu chí phân loại đặc trưng phụ thuộc vào ngữ cảnh của hệ thống ứng dụng.
3.1.2. Miền giá trị của đặc trưng
Miền giá trị của đặc trưng là tập hợp tất cả các giá trị mà đặc trưng có thể nhận
trong miền ứng dụng đang xét.
Ký hiệu DOM(fi) là miền giá trị của đặc trưng fi
iiji njvfDOM ≤≤= 1,}{)( (3.1)
Trong đó:
vij là các giá trị mà fi có thể nhận được
ni là tổng số giá trị của đặc trưng fi
Ta ký hiệu Nnnn ∈....,,, 321 lần lượt là kích thước của miền giá trị của các thuộc
tính ....,,, 321 fff
Ví dụ DOM(tên)={“Lan”, “Thanh”, “Hồng”,….}
DOM(tuổi)={1, 2, 3,…, 100,…}
Miền giá trị của đặc trưng thường là tập các số nguyên, miền số thực, tập các ký
tự,….
3.1.3. Ý nghĩa của miền giá trị
Mỗi đặc trưng trong profile dùng để biểu diễn user ở một khía cạnh nào đó. Sự khác
biệt giữa các user được tạo ra bởi giá trị của đặc trưng mà từng user nhận được.
Chẳng hạn, xét về khía cạnh tuổi tác, điều tạo nên sự khác biệt giữa người trẻ và
25
người già là do số tuổi của họ, hay nói cách khác là do giá trị của đặc trưng tuổi tác
tạo nên, người trẻ thì tuổi từ 1 đến 30, người trung niên từ 30 đển 50 và người già từ
60 trở lên.
3.2. Bài toán luận văn giải quyết
Cho profile NnfP nii ∈>=< = ,1 là một tập gồm n đặc trưng fi. Trên thực tế, P
thường bao gồm 2 tập con, một tập gồm các đặc trưng bắt buộc và một tập gồm các
đặc trưng tùy chọn. Các đặc trưng bắt buộc luôn phải tồn tại trong cấu trúc profile
vì sự cần thiết cho hệ thống. Ví dụ, trong hệ thống e-Learning thì trình độ kiến thức
có thể xem như là đặc trưng bắt buộc, trong hệ thống e-Commerce thì sở thích có
thể xem như là đặc trưng bắt buộc. Mục tiêu của luận văn hướng đến việc đánh giá
tính hữu ích của các đặc trưng tùy chọn. Cho nên từ đây về sau trong luận văn, cấu
trúc profile P được ngầm hiểu rằng chỉ chứa các đặc trưng tùy chọn và việc đánh
giá chất lượng của profile P chỉ là đánh giá trên các đặc trưng tùy chọn này, nếu
không gây ra sự nhầm lẫn nào khác.
Trong một hệ thống thích nghi cá nhân, chìa khóa thành công của hệ thống
chính là profile vì những đặc trưng rất riêng của từng cá nhân là cơ sở để hệ thống
cung cấp các tài nguyên, dịch vụ phù hợp với từng người. Do vậy, một đặc trưng
được xem là hữu ích khi nó tạo ra sự khác biệt giữa các user. Tính hữu ích của đặc
trưng hoàn toàn phụ thuộc vào ngữ cảnh ứng dụng của hệ thống. Ví dụ đặc trưng
giới tính được xem là hữu ích khi xét trong những trường học mà có cả nam lẫn nữ
và được xem là không hữu ích khi xét trong trường chỉ có nữ sinh.
Ngoài ra, đặc trưng hữu ích còn phải dựa trên một miền giá trị ‘hợp lý’.
Chẳng hạn, với đặc trưng ca học gồm các giá trị sáng, trưa, chiều, tối. Nếu xét đặc
trưng này trong hệ đào tạo chính quy chỉ học sáng hoặc trưa hoặc chiều thì giá trị
26
tối tỏ ra không hữu ích. Tuy nhiên, nếu xét đặc trưng này trong các hệ đào tạo tại
chức, văn bằng 2,... thì giá trị tối lại hữu ích vì các lớp loại này đa số tổ chức vào ca
tối bởi đối tượng chủ yếu là những người có việc làm vào ban ngày. Từ đó, nhu cầu
phải tinh chỉnh lại miền giá trị cho phù hợp với hệ thống cụ thể cần được xem xét.
Do vậy, bài toán xây dựng cấu trúc profile được chia thành hai bài toán con
với thứ tự như sau:
(a) Đánh giá các đặc trưng của profile, nghĩa là tìm tập P*⊆ P hữu ích.
(b) Tinh chỉnh DOM(fi) , ∀fi∈P*.
27
Chương 4. Đánh giá tính hữu ích của đặc
trưng và tinh chỉnh miền giá trị đặc trưng
Trong chương này, luận văn giới thiệu các tiêu chí đánh giá tính hữu ích của
đặc trưng và tiêu chí đánh giá tính hữu ích của giá trị đặc trưng. Trên cơ sở đó, luận
văn sẽ đề xuất giải thuật khả thi cho hai bài toán con đặt ra ở chương 3. Cách tiếp
cận của luận văn dựa trên thống kê và thực nghiệm.
4.1. Cách tiếp cận
Có nhiều cách để đánh giá tính hữu ích của đặc trưng như dựa trên kinh
nghiệm, hỏi ý kiến chuyên gia,… Tuy nhiên, cơ sở hợp lý nhất chính là sự đánh giá
khách quan của người dùng trong hệ thống. Cách tiếp cận của luận văn là để cho
người dùng đánh giá profile tổng quát và dựa trên kết quả thu được để phân tích
chọn lọc ra những đặc trưng hữu ích và đồng thời tinh chỉnh miền giá trị của đặc
trưng. Để thu được ý kiến phản hồi của người dùng, có thể sử dụng một trong các
phương pháp như: hỏi trực tiếp, khảo sát bằng phiếu thăm dò ý kiến, ghi nhận ngầm
(cách này chỉ dùng cho các hệ thống đã đi vào vận hành) hoặc cũng có thể kết hợp
nhiều cách. Ở đây chúng tôi không đặt trọng tâm vào việc nên dùng cách nào để thu
thập thông tin, mà luận văn chỉ khai thác số liệu có được để tiến hành phân tích và
đặt trọng tâm vào xây dựng tiêu chí đánh giá đặc trưng, giá trị đặc trưng.
4.1.1. Ý tưởng của giải pháp
Dựa trên ý kiến phản hồi của người dùng (mẫu khảo sát) về các đặc trưng và
miền giá trị đặc trưng để đánh giá sự hữu ích của chúng trong việc hỗ trợ thích nghi
28
cá nhân. Hệ thống thích nghi có phục vụ tốt cho người dùng hay không phụ thuộc
vào việc hệ thống có phân biệt được sự khác nhau giữa các user hay không. Nếu
một đặc trưng không giúp ta nhận ra được sự khác biệt giữa các user thì có thể nói
đó là một đặc trưng không hữu ích. Ví dụ, trong các trường học có cả nam lẫn nữ
sinh, thì đặc trưng giới tính là hữu ích vì nó giúp nhận ra các em nam và các em nữ.
Khi đó, hệ thống ứng dụng sẽ tư vấn hai phương pháp học khác nhau tùy theo đặc
điểm tâm sinh lý của giới tính. Ngược lại, với trường chỉ có nữ sinh thì đặc trưng
giới tính lại tỏ ra không hữu ích.
4.1.2. Ví dụ minh họa
Xét bảng thông tin về các đặc trưng giới tính, ca học và tình trạng hôn nhân
được khảo sát trên 100 sinh viên (bảng 4.1).
Bảng 4.1. Bảng kết quả khảo sát các đặc trưng.
Thống kê trên 100 mẫu của hệ thống, các giá trị của đặc trưng ‘tình trạng hôn
nhân’ như ‘độc thân’, ‘kết hôn’, ‘ly dị’, ‘ở góa’ lần lượt nhận giá trị 98, 2, 0, 0.
Trong cột thứ 4 của bảng 4.1 hầu như tất cả các mẫu đều nhận cùng một giá trị ‘độc
thân’. Từ đó cho thấy đặc trưng ‘tình trạng hôn nhân’ tỏ ra không hữu ích vì nó
không tạo ra sự khác biệt giữa các user. Trong cột thứ 2 và 3 của bảng 4.1, đặc
User Giới tính (nam, nữ)
Ca học
(Sáng, trưa, chiều, tối)
Tình trạng hôn nhân
(độc thân, kết hôn, ly dị, ở góa)
u1 Nam Sáng Độc thân
u2 Nữ Sáng Độc thân
u3 Nữ Tối Độc thân
u4 Nam Trưa Độc thân
u5 Nam Tối Độc thân
u6 Nam Sáng Kết hôn
u7 Nữ Tối Độc thân
u8 Nữ Sáng Độc thân
u9 Nữ Tối Độc thân
u10 Nữ Chiều Độc thân
…
29
trưng giới tính và ca học tỏ ra hữu ích vì nó tạo ra sự khác biệt giữa các user từ đó
giúp hệ thống phân biệt được các user và phục vụ tốt hơn, phù hợp hơn.
Đặc trưng không hữu ích rất dễ nhận ra vì trong miền giá trị của nó có chứa
một giá trị chiếm ưu thế một cách vượt trội dẫn đến tần suất của giá trị này là rất lớn
so với các giá trị còn lại. Trong luận văn, giá trị này được gọi là extra value. Giá trị
này dễ nhận diện khi biểu diễn dưới dạng biểu đồ như hình 4.1
0 02
98
0
20
40
60
80
100
độc thân kết hôn ly dị ở góa
Hình 4.1. Biểu đồ phân bố miền giá trị của đặc trưng ‘tình trạng hôn nhân’
Đến đây, ý tưởng giải quyết bài toán con (a) nêu trong chương 3 đã rõ ràng là
chúng tôi sẽ tìm các đặc trưng không hữu ích-đặc trưng có chứa extra value- và xem
xét loại ra khỏi profile thay vì tìm cách chọn lọc các đặc trưng hữu ích.
Sau khi đã có được profile gồm các đặc trưng tốt thì công việc kế tiếp là tinh
chỉnh miền giá trị của các đặc trưng này. Miền giá trị của đặc trưng được phân
thành hai tập con: một tập gồm các giá trị bắt buộc và tập kia gồm các giá trị tùy
chọn, có thể có hoặc không. Với những giá trị bắt buộc thì sự cần thiết của chúng
trong profile là điều hiển nhiên. Do vậy, tiếp cận của luận văn chỉ đánh giá tính hữu
ích của các giá trị tùy chọn và tinh chỉnh chúng. Phần còn lại của luận văn khi đề
cập đến việc tinh chỉnh miền giá trị của đặc trưng thì ngầm hiểu đó là các giá trị tùy
chọn.
Trong ví dụ ở bảng 4.1, DOM(ca học) ={sáng, trưa, chiều, tối}. Kết quả
thống kê trên 100 mẫu về các giá trị sáng, trưa, chiều, tối lần lượt nhận giá trị 47, 3,
30
28, 22. Xét trong ngữ cảnh của ứng dụng là hệ đào tạo từ xa có 3 buổi học online
vào các sáng thứ 3, 5, 7, nghĩa là các học viên bắt buộc phải tham gia các buổi học
này. Khi đó, giá trị ‘sáng’ là giá trị bắt buộc và việc đánh giá tính hữu ích chỉ xét
trên các giá trị trưa, chiều, tối.
Giá trị không hữu ích rất dễ nhìn thấy khi biểu diễn miền giá trị dưới dạng
biểu đồ (hình 4.2). Trong ví dụ này, đó chính là giá trị ‘trưa’ vì tần suất của giá trị
‘trưa’ rất thấp so với các giá trị còn lại. Trong phạm vi luận văn, giá trị này được
gọi là rare value
47
3
28 22
0
20
40
60
80
100
sáng trưa chiều tối
Hình 4.2. Biểu đồ phân bố miền giá trị của đặc trưng ‘ca học’
Đến đây, ý tưởng giải quyết bài toán con (b) nêu trong chương 3 đã rõ ràng
là chúng tôi sẽ tìm ra giá trị không hữu ích (rare value) và tinh chỉnh lại miền giá trị.
Có hai cách xử lý: loại bỏ hẳn giá trị không hữu ích hoặc ghép giá trị đó vào một
giá trị khác trong miền.
4.2. Cơ sở lý luận
Trong phần này, chúng tôi sẽ đề xuất tiêu chí để tìm ra extra value và rare
value. Trên cơ sở đó, đề xuất giải thuật để đánh giá đặc trưng và tinh chỉnh miền giá
trị đặc trưng.
31
4.2.1. Extra value
Extra value là giá trị có tần suất rất lớn, chiếm ưu thế so với các giá trị khác.
Do vậy, trước hết ta định nghĩa khái niệm tần suất.
Cho đặc trưng fi , ta định nghĩa tần suất của một giá trị vij∈DOM(fi) là tỷ lệ
giữa số user nhận giá trị ijv trên tổng số mẫu khảo sát.
n
v
vfreq ijij =)( (4.1)
Trong đó:
ijv là số user nhận giá trị vij khi xét đặc trưng fi.
n là tổng số mẫu khảo sát
Ví dụ 4.1.
Thăm dò ý kiến của 60 người về đặc trưng ca học, có kết quả sau: 10 người
có đặc trưng là học sáng, 5 người có đặc trưng là học trưa, 45 người có đặc trưng là
học tối. Thực hiện tính tần suất của các giá trị thu được kết quả sau :
17.0
60
10)( ==sangfreq , 083.0
60
5)( ==truafreq , 75.0
60
45)( ==toifreq
Tiếp theo, chúng tôi đề xuất một độ đo để xác định extra value.
Xét DOM(fi) và cho trước một tham số θ. Ta gọi một giá trị vij là extra value
khi freq(vij)>θ .
Thông thường, một giá trị có tần suất trên 50% thì được xem là chiếm ưu thế
trong một tập hợp. Cho nên, ở đây chúng tôi đề xuất ngưỡng cho tham số θ là
0 . 5≤θ≤ 1 . Giá trị của θ càng lớn thì độ tin cậy của kết quả càng cao. Việc xác định
giá trị θ phụ thuộc vào ứng dụng và phụ thuộc vào số lượng giá trị trong DOM(fi).
Do vậy, khi tìm extra value trong các đặc trưng khác nhau nên dùng các giá trị θ
khác nhau. Như vậy, chúng tôi ký hiệu θi là tham số dùng cho đặc trưng fi . Nếu bỏ
32
qua ngữ cảnh ứng dụng, ta dễ thấy θi là hàm số theo DOM(fi), nghĩa là θi=g(ni), với
ni là kích thước của DOM(fi)
Ví dụ 4.2.
Xét đặc trưng f1 = ‘giới tính’, với DOM(f1) = {‘nam’, ‘nữ’}
Trong đó nam chiếm 57% nữ 43%. => freq(nam) = 0.57 và freq(nu) = 0.43
Nếu chọn 5.0=θ , dẫn đến kết luận nam là extra value (vì 0.57 > 0.5).
Nếu chọn 8.0=θ , dẫn đến kết luận không có extra value trong DOM(f1).
Một cách trực quan, hình 4.3 cho thấy không có extra value vì nam và nữ có mật độ
không quá cách biệt. Suy ra, trong trường hợp ni nhỏ, ta nên chọn giá trị iθ lớn.
0.57
0.43
0
0.1
0.2
0.3
0.4
0.5
0.6
nam nữ
Hình 4.3. Biểu đồ phân bố miền giá trị của đặc trưng ‘giới tính’
Ví dụ 4.3.
Xét đặc trưng f2 = ‘nguồn gốc cư trú’, với DOM(f2) = {‘thành thị’, ‘nông
thôn’, ‘miền núi’, ‘vùng sâu’, ‘vùng xa’}
Trong đó freq(thành thị) = 0.57, freq(nông thôn) = 0.13, freq(miền núi) =
0.09, freq(vùng sâu) = 0.07, freq(vùng xa) = 0.14
Nếu chọn θ=0.5, dẫn đến kết luận thành thị là extra value (vì 0.57 > 0.5).
Nếu chọn θ=0.55, dẫn đến kết luận tương tự (vì 0.57>0.55).
Một cách trực quan, hình 4.4 cho thấy thành thị là extra value vì tần suất của nó
33
vượt trội so với các giá trị khác. Suy ra, trong trường hợp ni lớn, giá trị θi nhỏ vẫn
cho kết quả hợp lý.
0.57
0.13 0.09 0.07
0.14
0
0.1
0.2
0.3
0.4
0.5
0.6
thành thị nông
thôn
miền núi vùng sâu vùng xa
Hình 4.4. Biểu đồ phân bố miền giá trị của đặc trưng ‘nguồn gốc cư trú’
Cách xác định hàm số g
Một trong số các phương pháp để tìm hàm số g là dùng phương pháp nội suy
toán học. Trước hết, định ra một số cặp giá trị (ni,θi) đầu tiên dựa vào kinh nghiệm
của chuyên gia (chẳng hạn bảng 4.2)
Bảng 4.2. Bảng các cặp giá trị (ni,θi) ban đầu
in 2 3 4 5 6 7 8 9 10
iθ 0.9 0.85 0.8 0.75 0.7 0.7 0.65 0.6 0.5
Sử dụng một công cụ nội suy toán học có sẵn để nội suy hàm g, chẳng hạn công cụ
Curve Fitting có sẵn trong Maple ta được kết quả
iii nng 045.0987.0)( −==θ (4.2)
Từ kết quả trên, ta hoàn toàn có thể suy ra nhiều cặp giá trị (ni,θi) một cách
tự động (như bảng 4.3)
Bảng 4.3. Bảng các cặp giá trị (ni,θi)
in 2 3 4 5 6 7 8 9 10 11 12 13 …
iθ 0.897 0.852 0.807 0.762 0.717 0.672 0.627 0.582 0.537 0.492 0.447 0.402 …
34
Nhận xét rằng giá trị extra value nếu có là giá trị tối đại và duy nhất (xem
phần 4.2.1.2 ). Do vậy, để tìm extra value ta chỉ cần xét giá trị tối đại trong miền có
tần suất lớn hơn ngưỡng cho trước không, không cần tính tần suất của tất cả các giá
trị. Điều này giúp thời gian xử lý nhanh hơn, hiệu quả hơn.
4.2.2. Mệnh đề
Cho ngưỡng 0.5≤θ≤1. Giá trị extra value trong miền giá trị của một đặc
trưng bất kỳ nếu có là giá trị tối đại và duy nhất.
Chứng minh
Tính duy nhất
Xét đặc trưng fi bất kỳ. Ta sẽ chứng minh trong iiji njvfDOM ≤≤= 1},{)(
không thể tồn tại hai giá trị extra value.
Trước hết, ta có biểu thức sau.
1)(
1
=∑
=
in
j
ijvfreq (4.3)
Sử dụng công thức về tần suất được đề xuất trong 4.2.1.1. Giả sử tồn tại hai
giá trị extra value ikv và ilv . Khi đó,
⎩⎨
⎧ =≥>+⇒>
>
15.0*22)()(
)(
)( θθ
θ
ilik
il
ik vfreqvfreq
vfreq
vfreq
(4.4)
Điều này mâu thuẫn với (4.3).
Do vậy, giả sử sai. Điều đó chứng minh giá trị extra value (nếu có) là duy
nhất.
Tính tối đại
Đặt giá trị tối đại là { } in
jij
vv
1max
max ==
Giả sử tồn tại giá trị extra value ikv thỏa maxvvik < .
35
Khi đó )()( maxvfreqvfreq ik <<θ
Dẫn đến maxv cũng là extra value. Điều này mâu thuẫn với tính duy nhất.
Kết luận: giả sử sai. Điều này chứng minh giá trị bất thường lớn là giá trị tối
đại.
4.2.3. Đặc trưng hữu ích
Đến đây, chúng tôi đã xây dựng được tiêu chí tìm ra extra value trong miền
giá trị của đặc trưng. Dựa trên cơ sở đó để kết luận về tính hữu ích của đặc trưng.
Cho trước một profile NnfP nii ∈>=< = ,1 và một ngưỡng θi. Một đặc trưng fi
được xem là hữu ích khi không tồn tại một extra value vij∈DOM(fi) nào (tức là
không thỏa freq(vij)>θi )
4.2.4. Đặc trưng không hữu ích
Cho trước một profile NnfP nii ∈>=< = ,1 và một ngưỡng θi. Một đặc trưng fi
được xem là không hữu ích khi tồn tại một extra value vij∈DOM(fi), nghĩa là
freq(vij)>θi
4.3. Đánh giá tính hữu ích của đặc trưng
4.3.1. Ý tưởng giải thuật
Cho trước một profile NnfP nii ∈>=< = ,1 và một dãy các ngưỡng θi. Việc
chọn lọc và sử dụng các đặc trưng hữu ích trong profile cũng đồng nghĩa với việc
tìm ra các đặc trưng không hữu ích và loại khỏi profile. Như vậy, để giải quyết bài
toán này, chúng ta sẽ xét lần lượt từng đặc trưng fi ∈ P và đánh giá tính hữu ích của
fi , nghĩa là tìm xem có giá trị extra value trong DOM(fi) hay không. Nếu tồn tại
36
extra value trong DOM(fi) thì kết luận fi không hữu ích. Như vậy, sau khi đánh giá
từng đặc trưng ta đạt được kết quả là tách profile P thành hai nhóm
*** PPP ∪= (4.5)
Trong đó :
*P là tập các đặc trưng hữu ích
**P là tập các đặc trưng không hữu ích
Luận văn chỉ dừng lại ở việc phát hiện ra các đặc trưng không hữu ích.
Thông thường thì nên loại bỏ các đặc trưng này ra khỏi profile. Hoặc có thể tìm
thêm mẫu khảo sát để đảm bảo tính chính xác của kết quả.
4.3.2. Thủ tục đánh giá tính hữu ích của đặc trưng fi với ngưỡng θi
Input:
⎪⎩
⎪⎨
⎧
≤≤
≤≤
15.0
)(
1,
i
i
i
fDOM
nif
θ
Output: fi hữu ích hay không hữu ích.
Bước 1: Tìm giá trị lớn nhất trong DOM(fi) là { } injijvv 1max max ==
Bước 2: Tính freq(vmax)
Bước 3: If freq(vmax) > θi then fi là đặc trưng không hữu ích, else fi là
đặc trưng hữu ích end if.
Để đánh giá tính hữu ích của tất cả các đặc trưng trong profile
NnfP nii ∈>=< = ,1 , ta lặp lại giải thuật trên cho từng đặc trưng fi như sau
for i from 1 to n do
đánh giá đặc trưng if
end
37
4.3.3. Lưu đồ thủ tục đánh giá đặc trưng
15.0
,1},{)(
,1
≤≤
∈≤≤=
∈>=< =
i
iiiji
n
ii
NnnjvfDOM
NnfP
θ
i ≤n
{ } injijvv 1max max ==
)( maxvfreqtinh
ivfreq θ>)( max
Yes
}{**** ifPP ∪=
OPP == ***
No
Yes
No *** ,Re PPturn
Begin
End
}{** ifPP ∪=
38
4.4. Tinh chỉnh miền giá trị của đặc trưng
Đối với các đặc trưng đã được đánh giá là hữu ích theo giải thuật trên thì
việc tiếp theo là cần phải tinh chỉnh lại miền giá trị của đặc trưng. Việc tinh chỉnh
này nhằm đảm bảo các giá trị trong miền đều phải hữu ích, nghĩa là không có giá trị
rare value như đã đề cập trong 4.2.1. Số lượng rare value trong miền giá trị thường
rất ít. Trường hợp thường gặp là trong miền giá trị có tồn tại một rare value. Khi đó,
có thể loại bỏ giá trị đó ra khỏi miền hoặc gộp nó vào một giá trị khác. Bây giờ,
chúng tôi đề xuất tiêu chí để xác định rare value, trên cơ sở đó đưa ra giải pháp để
tinh chỉnh miền giá trị.
4.4.1. Rare value
Xét đặc trưng fi và cho trước ngưỡng β>0. Ký hiệu δ(vij) là độ lệch giữa giá
trị vij và vik∈DOM(fi), i ≠ k .
Nếu ∃!vij: δ(vij)>β thì vij được gọi là rare value.
Ví dụ trong hình 4.2 giá trị ‘trưa’ là rare value.
Nhận xét rằng rare value nếu có tồn tại sẽ là giá trị nhỏ nhất trong miền giá
trị. Do vậy, trong các đề xuất sau đây về cách tính δ(vij), chúng tôi chú trọng vào giá
trị nhỏ nhất để khảo sát.
4.4.2. Cách tiếp cận dựa trên độ lệch nhỏ nhất
Nếu khoảng cách từ rare value đến tất cả các giá trị khác đều lớn hơn β thì
khoảng cách nhỏ nhất trong số đó cũng lớn hơn β . Khoảng cách nhỏ nhất đó được
xác định bằng khoảng cách từ rare value đến giá trị lớn kế tiếp nó trong miền giá trị.
Do vậy, chúng tôi đề xuất cách tính )( ijvδ như sau
Bước 1: Sắp xếp các giá trị theo thứ tự tăng dần. Không mất tính tổng quát,
ta đặt lại chỉ số mới như sau kvvv ≤≤≤ ...21
39
Bước 2: Tính độ lệch của v1
1
12
1 )( vv
vvv
k −
−=δ
(4.6)
Hình 4.5. Cách tiếp cận dựa trên độ lệch nhỏ nhất
Bước 3 : So sánh và kết luận
If βδ >)( 1v then kết luận v1 là rare value, else không có rare value trong
DOM(fi) end if
Ưu điểm và hạn chế của cách tiếp cận này.
-Ưu điểm của phương pháp này là đơn giản, dễ tính toán. Việc định giá trị cụ
thể cho tham số β rất linh động, tùy vào từng ứng dụng cụ thể. Do đó, đảm bảo tính
khách quan, phù hợp với ngữ cảnh của từng hệ thống.
-Tuy nhiên, tồn tại nhược điểm trong trường hợp DOM(fi) có hai giá trị nhỏ
nhất bằng nhau. Khi đó, v1=v2 và dẫn đến công thức độ lệch bằng 0 và không thể
kết luận được rằng có tồn tại rare value hay không.
4.4.3. Cách tiếp cận dựa trên giá trị trung vị
Trong cách tiếp cận này, chúng tôi chọn ba giá trị điển hình nhất làm đại diện
cho miền giá trị, đó là giá trị nhỏ nhất, giá trị trung vị và giá trị lớn nhất. Nếu độ
0
v1
v2
vk-2
vk-1
vk
40
chênh lệch giữa giá trị nhỏ nhất so với hai giá trị còn lại quá lớn, điều đó chứng tỏ
là tập giá trị bị lệch về phía giá trị nhỏ nhất, từ đó ta có thể kết luận giá trị nhỏ nhất
đó chính là rare value.
Trong lý thuyết xác suất và thống kê, số trung vị (median) là một số tách
giữa nửa lớn hơn và nửa bé hơn của một mẫu, một quần thể, hay một phân bố xác
suất. Nó là giá trị đứng giữa trong một phân bố, mà số các số nằm trên hay dưới con
số đó là bằng nhau. Điều đó có nghĩa rằng 1/2 quần thể sẽ có các giá trị nhỏ hơn hay
bằng số trung vị, và một nửa quần thể sẽ có giá trị bằng hoặc lớn hơn số trung vị. Số
trung vị thường dùng chủ yếu cho các phân bố lệch, do nó biểu thị chính xác hơn
trung bình cộng. Nó có thể được coi là chỉ định tốt hơn về xu hướng trung tâm. Tính
toán số trung vị là một kỹ thuật phổ biến trong thống kê mô tả và dữ liệu thống kê
mô tả, do nó dễ hiểu và dễ tính, trong khi vẫn cho ra một độ đo tốt hơn giá trị kỳ
vọng trong trường hợp có mặt các giá trị ngoại lệ (outlier). Vì số trung vị chính là
giá trị đại diện tốt cho tổng thể, nên chúng tôi chọn giá trị này để tính độ lệch.
Ý tưởng đánh giá
Ký hiệu 1v , medv , nv lần lượt là giá trị nhỏ nhất, giá trị trung vị, giá trị lớn nhất
trong miền giá trị iiji njvfDOM ≤≤= 1},{)( sau khi đã sắp xếp tăng dần (xem hình
4.6)
Phân tích
41
Nếu giá trị vmed cách đều v1 và vn, điều đó chứng tỏ tập giá trị phân bố cân
bằng. Nếu giá trị vmed gần với v1, điều đó cho thấy trong tập giá trị có hơn một nửa
là giá trị nhỏ.
Nếu giá trị vmed gần với vn, điều đó cho thấy trong tập giá trị có hơn một nửa
là các giá trị lớn. Đây là trường hợp mà chúng ta quan tâm đến. Khi có quá nhiều
giá trị lớn thì liệu v1 có phải là giá trị quá nhỏ so với tổng thể hay không? Nếu
khoảng cách giữa v1 và vmed lớn gấp nhiều lần so với khoảng cách giữa vn và vmed, thì
kết luận là v1 là giá trị lệch nhiều so với tổng thể, đó chính là rare value.
Nhận xét: tùy vào )( ifDOM để xác định số lần chênh lệch nhiều hay ít. Do
vậy, khi đánh giá miền giá trị của từng đặc trưng, ta cần chọn các tham số sao cho
phù hợp.
Hình 4.6. Hình minh họa phân đánh giá miền giá trị thuộc tính
Một số trường hợp đặc biệt có thể gặp như
- Trường hợp a1=a2=0 (tương ứng v1=vmed=vn ) thì suy ra v1=v2=…=vn. Khi
đó, tất cả các giá trị trong DOM(fi) đều bằng nhau. Kết luận là không tồn tại
rare value.
42
- Trường hợp a2=0 (tương ứng v1=vmed )thì chứng tỏ có hơn một nửa số giá trị
trong DOM(fi) đều bằng v1. Kết luận ngay là không tồn tại rare value mà
không cần xem xét đến các giá trị khác. (xem hình 4.7)
0
5
10
15
20
v1 v2 v3 v4 v5 v6 v7
Hình 4.7. Trường hợp giá trị v1=vmed
- Trường hợp a1=0 (tương ứng vmed =vn )thì chứng tỏ có hơn một nửa số giá trị
trong DOM(fi) đều bằng vmed. Trong trường hợp này, khả năng tồn tại rare
value rất cao. Khi đó khoảng cách a2 cần phải so sánh với chính v1 để kết
luận được v1 có phải là rare value không. Trong hình 4.8.a, khoảng cách a2
quá lớn so với v1 dẫn đến v1 là rare value. Trong hình 4.8.b, khoảng cách a2
gần bằng v1 dẫn đến v1 không phải là rare value.
Hình 4.8. Trường hợp giá trị vn=vmed
4.4.4. Thủ tục tìm rare value trong DOM(fi), với ngưỡng βi>1
Input: ⎪⎩
⎪⎨⎧ >
= =
1
}{)( 1
i
n
jiji
ivfDOM
β
Output: có tồn tại rare value trong DOM(fi) hay không.
(a) (b)
0
5
10
15
20
v1 v2 v3 v4 v5 v6 v7
0
20
40
60
80
100
120
v1 v2 v3 v4 v5 v6 v7
a2
a2
43
Bước 1: Sắp xếp các giá trị vij ∈ DOM(fi) theo thứ tự tăng dần
Bước 2: Tìm giá trị trung vị vmed ∈ DOM(fi)
Nếu n lẻ:
2
nmed vv =
Nếu n chẵn, thường chọn: ⎟⎟⎠
⎞
⎜⎜⎝
⎛ += +
2
1
22
1
nnmed vvv
Bước 3: Tính khoảng cách từ vmed đến v1 và vn
a1=vn-vmed
a2=vmed-v1
If (a1=0 and a2=0) then (kết luận không có rare value trong
DOM(fi) and return).
else if a2=0 then (kết luận không có rare value trong DOM(fi)
and return).
else if a1=0 then
1
2
v
ad = .
else
1
2
a
ad = end if.
If d>βi then (kết luận v1 chính là rare value else kết luận không
có rare value trong DOM(fi) and return)
44
4.4.5. Lưu đồ thủ tục tìm rare value
1
,1},{)(
>
∈≤≤=
i
iiiji NnnjvfDOM
β
rare value Æ null;
Begin
Sắp xếp các giá trị trong
DOM(fi) tăng dần
a1=0
Yes
rare value =vmin
No
End
1
2
a
ad =
No
No
min
2
v
ad = Yes
id β>
Yes
No
Yesa1=a2=0
hoặc a2=0
a1=vmax - vmed
a2=vmed - vmin
Tính vmed , vmin , vmax
45
Chương 5. Thực nghiệm
Ngày nay, đa số các hệ thống thông tin đều hướng đến việc cung cấp các
thông tin, dịch vụ một cách phù hợp nhất với từng người dùng. Dễ thấy là các hệ
thống mail, hệ thống e-Commerce, hệ thống ngân hàng, hệ thống e-Learning,… Các
hệ thống đó được gọi chung là hệ thống thích nghi cá nhân.
Trong giai đoạn đầu của một hệ thống mới thành lập, việc xây dựng (set up)
user profile là công việc quan trọng và có tác động quyết định đến sự thành công
của hệ thống. Công việc của người phát triển hệ thống là kế thừa và phát triển
những profile có sẵn trong cùng lĩnh vực để từ đó tinh chỉnh lại profile cho phù hợp
với hệ thống riêng của mình. Trong số những đặc trưng người dùng được đề cập
trong profile tổng quát thì việc tìm ra những đặc trưng hữu ích để xây dựng được
profile tốt và tinh gọn là công việc quan trọng. Luận văn đã đề xuất một cách tiếp
cận dựa trên thống kê và thực nghiệm để giải quyết vấn đề trên. Bài toán có thể ứng
dụng được cho hai trường hợp sau. Tư vấn chọn các đặc trưng hữu ích trong việc
xây dựng cấu trúc user profile cho các hệ thống mới thành lập. Đối với các hệ thống
đang vận hành được một thời gian, việc đánh giá chất lượng đặc trưng của profile
nhằm kiểm tra lại tính hữu dụng của các đặc trưng. Trên cơ sở đó, cập nhật (update)
lại profile cho phù hợp với nhu cầu hiện tại.
Để thực nghiệm về giải thuật đánh giá tính hữu ích của đặc trưng và giải
thuật tinh chỉnh miền giá trị, chúng tôi tiến hành khai thác số liệu về ý kiến phản hồi
của người dùng, nghĩa là cần phải chọn mẫu và tiến hành khảo sát. Phương pháp
46
thường dùng nhất là lấy mẫu ngẫu nhiên phù hợp với đối tượng mà hệ thống sẽ
phục vụ. Chẳng hạn nếu hệ thống e-Learning phục vụ cho sinh viên Đại học, Cao
đẳng thì chúng ta thăm dò ý kiến trong số sinh viên các trường Đại học, Cao đẳng.
Nếu bạn có hệ thống bán hàng ở thành phố X thì nên lấy mẫu là dân cư của thành
phố X.
Lấy mẫu ngẫu nhiên nhằm đảm bảo tính khách quan và lấy mẫu càng đa
dạng càng tốt. Nghĩa là, chọn sinh viên của nhiều trường, mỗi trường chọn nhiều
ngành, mỗi ngành chọn nhiều lớp,…. Nếu là dân cư của thành phố thì chọn nhiều
quận, mỗi quận chọn nhiều phường,…
Sau khi có được mẫu thì tiến hành thu thập thăm dò ý kiến. Nếu là dữ liệu
định danh như tên, tuổi, giới tính,.. thì có thể dùng bảng câu hỏi (questionaire), hỏi
trực tiếp. Nếu dạng dữ liệu định lượng thì thông thường cần phải có chương trình để
đo như: tốc độ gõ phím trung bình, tốc độ nhấp chuột,…
Luận văn đã phân tích và đề xuất một phương pháp đơn giản được xây dựng
trên nền tảng thống kê toán học để đánh giá chất lượng profile, giúp cho người phát
triển hệ thống chọn lọc được những đặc trưng hữu ích và xây dựng được profile có
chất lượng tốt. Trong phần tiếp theo của chương này, chúng tôi áp dụng phương
pháp đề nghị cho việc đánh giá trên profile cụ thể và đánh giá kết quả giải thuật.
Phần 5.1 trình bày thực nghiệm đánh giá chất lượng profile được đề xuất bởi
nhóm Lê Đức Long và cộng sự (2009).
Phần 5.2 đánh giá kết quả giải thuật.
47
5.1. Profile của sinh viên sư phạm- trường ĐH Sư phạm TPHCM
Profile được đề xuất bởi Long và cộng sự (2009) gồm 4 thành phần chính:
Demographics, Training Experiences, Self-study Activities, Learning Demands.
Profile gồm các thông tin về đặc điểm cá nhân như nhân thân, mức sống, thời
gian tự học, khả năng giải quyết vấn đề,… được ứng dụng vào hệ thống e-Learning
với mục đích cung cấp các tài nguyên học tập và tư vấn phương pháp học phù hợp
với từng người học. Theo đánh giá của các chuyên gia, thì những đặc trưng như
kiến thức nền, mức độ tiếp thu, khả năng tự học,… đều là các đặc trưng bắt buộc vì
chúng đều có ý nghĩa quyết định đến việc tư vấn thích nghi. Chẳng hạn, nếu người
học có mức độ tiếp thu tốt thì hệ thống sẽ tư vấn cho họ phương pháp học là đầu tư
vào lý thuyết và giải quyết một số ít bài tập cơ bản và làm thêm bài tập nâng cao,
nếu mức độ tiếp thu chậm thì nên tập trung vào phần thực hành, làm nhiều bài tập
cơ bản để thông qua bài tập có thể hiểu và nắm vững lý thuyết….Chúng tôi tiến
hành thực nghiệm trên một số đặc trưng tùy chọn như: nguồn gốc cư trú, nơi sống,
người sống cùng, tình trạng hôn nhân,.... vì không biết liệu những đặc trưng này có
cần thiết cho việc hỗ trợ thích nghi hay không, có hữu ích hay không.
Kết quả đánh giá profile
Chúng tôi sử dụng phương pháp đánh giá đề xuất trong chương 4 và sử dụng
hai tham số 0.5≤θ≤ 1 và β>1. Ý nghĩa của tham số θ là ngưỡng để xác định extra
value nhằm đánh giá tính hữu ích của đặc trưng. Ý nghĩa của tham số β là ngưỡng
để xác định rare value nhằm đánh giá tính hữu ích của giá trị qua đó tinh chỉnh lại
miền giá trị của đặc trưng. Cụ thể, với các đặc trưng của ứng dụng này, chúng tôi
chọn θ=0.8 và β=3
48
5.1.1. Đặc trưng ‘nguồn gốc cư trú’
Bảng 5.1. Bảng các giá trị của đặc trưng ‘nguồn gốc cư trú’
Giá trị Tần số
thành phố 39
thị trấn/thị xã 47
nông thôn 54
miền núi 7
vùng sâu 19
11.4%
23.5%
28.3%
32.5%
4.2%
0
10
20
30
40
thành phố thị trấn nông thôn miền núi vùng sâu
Hình 5.1. Biểu đồ phân bố miền giá trị của đặc trưng ‘nguồn gốc cư trú’
Kết quả của giải thuật 1: với θ=0.8 thì đặc trưng này không tồn tại extra
value, từ đó kết luận đây là đặc trưng hữu ích.
Kết quả của giải thuật 2: với β=3 thì đặc trưng này không tồn tại rare value,
từ đó kết luận miền giá trị của đặc trưng tốt.
5.1.2. Đặc trưng ‘nơi sống’
Bảng 5.2. Bảng các giá trị của đặc trưng ‘nơi sống’
Giá trị Tần số
Nhà gia đình 23
Nhà người thân 17
Ký túc xá 21
Nhà trọ 103
Khác 2
49
1.2%
13.9% 10.2% 12.7%
62%
0
20
40
60
80
nhà gia đình nhà người
thân
ký túc xá nhà trọ khác
Hình 5.2. Biểu đồ phân bố miền giá trị của đặc trưng ‘nơi sống’
Kết quả của giải thuật 1: với θ=0.8 thì đặc trưng này không tồn tại extra
value, từ đó kết luận đây là đặc trưng hữu ích.
Kết quả của giải thuật 2: với β=3 thì đặc trưng này tồn tại rare value là giá trị
2 (giá trị ‘khác’), từ đó dẫn đến phải tinh chỉnh miền giá trị. Hoặc là loại bỏ giá trị
rare value hoặc gom nó vào một giá trị khác. Cách nào giúp độ lệch chuẩn của miền
giá trị nhỏ lại là cách tối ưu.
Các lựa chọn giải quyết giá trị bất thường
-Ban đầu X={23,17,21,103,2}
Ta tính được giá trị trung bình và độ lệch chuẩn
N
X
X
N
i
i∑
== 1 =33.2 và
)1(
)(
1
−
−
=
∑
=
N
XX
S
N
i
i
=39.9
Trường hợp loại giá trị ‘khác’ ra khỏi tập giá trị
X={23,17,21,103}
Khi đó, =X 41 và S=35.86
Trường hợp gộp giá trị ‘khác’ vào ‘nhà người thân’
X={23,19,21,103}
Khi đó, =X 41.5 và S=35.53
Trường hợp gộp giá trị ‘khác’ vào ‘ký túc xá’
50
X={23,17,23,103}
Khi đó, =X 41.5 và S=35.59
Trường hợp gộp giá trị ‘khác’ vào ‘nhà gia đình’
X={25,17,21,103}
Khi đó, =X 41.5 và S=35.62
Trường hợp gộp giá trị ‘khác’ vào ‘nhà trọ’
X={23,17,21,105}
Khi đó, =X 41.5 và S=36.72
Do biến mà chúng ta đang xét là biến định danh nên giá trị trung bình ở đây
không mang ý nghĩa. Chúng ta chọn cách giải quyết nào làm giảm độ lệch chuẩn
đến mức thấp nhất, đó là gom giá trị ‘khác’ vào ‘nhà người thân’. Kết quả đặc trưng
nơi sống sau khi đánh giá sẽ có miền giá trị như sau {nhà gia đình, ký túc xá, nhà
trọ, nhà người thân và các nơi khác}, với mật độ phân bố như hình 5.3
62%
12.7%11.4%13.9%
0
20
40
60
80
nhà gia đình nhà người thân
và các nơi khác
ký túc xá nhà trọ
Hình 5.3. Biểu đồ phân bố miền giá trị đã tinh chỉnh của đặc trưng nơi sống
51
5.1.3. Đặc trưng ‘người sống cùng’
Bảng 5.3. Bảng các giá trị của đặc trưng ‘người sống cùng’
Giá trị Tần số
Gia đình 23
Họ hàng 17
Bạn bè 119
Một mình 3
Khác 4
2.4%13.9% 10.2%
71.7%
1.8%
0
20
40
60
80
gia đình họ hàng bạn bè một mình khác
Hình 5.4. Biểu đồ phân bố miền giá trị của đặc trưng ‘người sống cùng’
Kết quả của giải thuật 1: với θ=0.8 thì đặc trưng này không tồn tại extra
value, từ đó kết luận đây là đặc trưng hữu ích.
Kết quả của giải thuật 2: với β=3 thì đặc trưng này tồn tại rare value là giá trị
3 (giá trị ‘một mình’), từ đó dẫn đến phải tinh chỉnh miền giá trị. Hoặc là loại bỏ giá
trị ‘một mình’ hoặc gộp giá trị này vào một giá trị khác trong số các giá trị còn lại.
Cách nào giúp độ lệch chuẩn của miền giá trị nhỏ lại là cách tối ưu.
Các lựa chọn giải quyết giá trị bất thường
-Ban đầu X={23,17,119,3,4}
Ta tính được giá trị trung bình và độ lệch chuẩn
X =33.2 và S= 43.57
52
4.2%
71.7%
10.2%13.9%
0
20
40
60
80
gia đình họ hàng bạn bè một mình và
các dạng khác
Trường hợp loại giá trị ‘một mình’ ra khỏi tập giá trị
X={23,17,119,4}
Khi đó, =X 40.75 và S=45.7
Trường hợp gộp giá trị ‘một mình’ vào ‘khác’
X={23,17,119,7}
Khi đó, =X 41.5 và S=45.11
Trường hợp gộp giá trị ‘một mình’ vào ‘họ hàng’
X={23,20,119,4}
Khi đó, =X 41.5 và S=45.32
Trường hợp gộp giá trị ‘một mình’ vào ‘gia đình’
X={26,17,119,4}
Khi đó, =X 41.5 và S=45.42
Trường hợp gộp giá trị ‘một mình’ vào ‘bạn bè’
X={23,17,122,4}
Khi đó, =X 41.5 và S=46.7
Trong số các trường hợp trên, lựa chọn tốt nhất là gom giá trị ‘ một mình’
vào ‘khác’. Kết quả đặc trưng ‘người sống cùng’ sau khi đánh giá sẽ có miền giá trị
như sau {gia đình, họ hàng, bạn bè, một mình và các dạng khác}., với mật độ phân
bố như hình 5.3
Hình 5.5. Biểu đồ phân bố miền giá trị đã tinh chỉnh của đặc trưng ‘người sống
cùng’
53
5.1.4. Tình trạng hôn nhân
Bảng 5.4. Bảng các giá trị của đặc trưng ‘tình trạng hôn nhân’
Giá trị Tần số
Độc thân 164
Có gia đình 0
Ly hôn 0
Ở góa 0
Khác 2
0 0 0 1.2%
98.8%
0
50
100
150
độc thân có gia đình ly hôn ở góa khác
Hình 5.6. Biểu đồ phân bố miền giá trị của đặc trưng ‘tình trạng hôn nhân’
Kết quả của giải thuật 1: với θ=0.8 thì đặc trưng này tồn tại extra value là
‘độc thân’, từ đó kết luận đây là đặc trưng không hữu ích.
Điều này có thể giải thích như sau: Leaner profile cho e-Learning nói chung
cần có thuộc tính ‘tình trạng hôn nhân’ vì sự khác biệt giữa độc thân, kết hôn, ly
hôn,... sẽ ảnh hưởng đến tâm lý tình cảm, thời gian dành cho việc học, kết quả học
tập... Do vậy ‘tình trạng hôn nhân’ là đặc trưng hữu ích giúp hệ thống tư vấn cho
từng người học một phương pháp học hữu ích phù hợp với tình trạng hôn nhân của
họ. Tuy nhiên, khi ứng dụng profile này vào hệ e-Learning của sinh viên chính quy
trường ĐH Sư phạm TPHCM thì đặc trưng này tỏ ra không hữu ích, bởi vì đa số
sinh viên chính quy đều có đầu vào là lớp 12 và đều còn độc thân. Nếu xây dựng
profile cho các hệ đào tào từ xa, văn bằng 2, tại chức,.... thì ‘tình trạng hôn nhân’ sẽ
là đặc trưng hữu ích.
54
5.2. Đánh giá kết quả giải thuật
5.2.1. Ưu điểm
Kết quả thực nghiệm trên cho thấy tính khả thi của giải thuật đánh giá tính
hữu ích của đặc trưng và tinh chỉnh miền giá trị của đặc trưng. Từ đó, kế thừa và
tinh chỉnh các cấu trúc profile tổng quát nhằm xây dựng cấu trúc profile cho các hệ
thống cụ thể.
5.2.2. Hạn chế
Việc chọn các tham số θ, β phải phù hợp với ngữ cảnh ứng dụng vì các tham
số này góp phần quyết định đến kết quả đánh giá đặc trưng. Việc này mang lại
nhiều khó khăn cho người phát triển hệ thống trong việc chọn tham số.
55
Chương 6. Kết luận và hướng nghiên cứu
tương lai
6.1. Những đóng góp của luận văn
Ngày nay, profile đã được nghiên cứu và ứng dụng nhiều trong các thống
thích nghi cá nhân. Việc xây dựng cấu trúc profile là chìa khóa thành công của các
hệ thống này. Đối với các hệ thống mới, trong giai đoạn đầu thường thiếu thông tin
nên việc kế thừa các cấu trúc profile có sẵn là điều cần thiết. Tuy nhiên, áp dụng
cấu trúc profile tổng quát vào một hệ thống cụ thể thì cần có sự chọn lọc những đặc
trưng cho phù hợp với hệ thống đó. Ngoài ra, đối với những ứng dụng profile mới
chưa có sẵn thì giải pháp luận văn đề xuất là sự định hướng quan trọng để xây dựng
được profile.
Về mặt lý thuyết, luận văn đã đề xuất phương pháp đánh giá tính hữu ích của
đặc trưng hữu ích và tinh chỉnh miền giá trị của đặc trưng để từ đó kế thừa và tinh
chỉnh cấu trúc profile tổng quát cho phù hợp với hệ thống mới. Phương pháp đề
xuất dựa trên một số kiến thức về thống kê và kiểm định thống kê.
Về mặt thực nghiệm, các phương pháp đã được thực nghiệm qua các cấu trúc
profile thực tế. Qua đó, giới thiệu một cách chi tiết và tống quát các bước từ lấy
mẫu đến xử lý số liệu thô và sau đó là áp dụng giải thuật đề xuất để đánh giá profile.
Từ đó, đem đến cái nhìn tổng quát về quy trình thực nghiệm xây dựng cấu trúc
profile.
56
Các kết quả của luận văn đã được chấp nhận bởi Hội nghị IADIS
International Conference WWW/Internet 2009, tổ chức tại Rome, Italy. [9]
Các giải thuật đề xuất đã được cài đặt sử dụng ngôn ngữ lập trình Maple
dưới dạng các thủ tục (xem phụ lục).
6.2. Hướng phát triển
Về mặt lý thuyết, luận văn đã đề xuất phương pháp khả thi trong việc hỗ trợ
xây dựng profile dựa trên kiến thức thống kê. Từ đó, gợi ra hướng mới về nghiên
cứu xây dựng mô hình profile cho các hệ thống thích nghi cá nhân. Tuy nhiên,
phương pháp chỉ dừng lại ở việc đề ra mô hình các tham số, việc xác định được các
tham số θ và β phụ thuộc vào từng ứng dụng cụ thể và đòi hỏi người phát triển hệ
thống phải có sự lựa chọn chính xác. Người phát triển hệ thống có thể sử dụng các
phương pháp ‘máy học’ (machine learning) để tìm tham số θ và β cho phù hợp.
Trong tương lai, tác giả sẽ tiếp tục nghiên cứu đề xuất các phương pháp chọn tham
số này.
Về mặt thực nghiệm, luận văn chỉ dừng lại ở việc chứng minh tính khả thi
của giải thuật đề xuất. Trong tương lai, chúng tôi sẽ tiếp tục nghiên cứu và chứng
minh tính hiệu quả của giải thuật bằng thực tiễn. Giống như phương pháp chọn đặc
trưng cổ điển, sau khi tìm ra tập đặc trưng con tốt, người ta tiến hành kiểm định
bằng cách so sánh tập đặc trưng gốc và tập đặc trưng con tìm được trong những ứng
dụng cụ thể. Một cách tương tự, chúng tôi sẽ kiểm chứng tính hiệu quả của giải
thuật bằng cách áp dụng profile ban đầu và profile đã tinh chỉnh vào ứng dụng cụ
thể, sau đó so sánh kết quả tư vấn của hệ thống. Nếu kết quả tư vấn dựa trên profile
đã tinh chỉnh bằng hoặc tốt hơn của profile ban đầu thì điều đó chứng minh tính
hiệu quả của giải thuật đề xuất.
57
Về mặt chương trình, luận văn đã đề xuất được một chương trình được viết
trên nền Maple tương đối hoàn chỉnh giúp mô tả quy trình đánh giá đặc trưng và
tinh chỉnh miền giá trị của đặc trưng. Đây chỉ là chương trình mô phỏng quy trình
xử lý, chưa đặt trọng tâm vào việc giảm độ phức tạp thuật toán. Trong tương lai, tác
giả sẽ tiếp tục nghiên cứu nhằm tối ưu hóa thuật toán để chương trình demo có thể
trở thành một công cụ đánh giá đặc trưng và tinh chỉnh miền giá trị tốt và tối ưu hơn
nữa.
58
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phạm Huy Điển (2002), Tính toán, lập trình và giảng dạy toán học trên
Maple, NXB Khoa học và Kỹ thuật, Hà Nội.
[2] Đặng Văn Giáp (1997), Phân tích dữ liệu khoa học bằng chương trình MS-
Excel, NXB Giáo dục.
[3] Cao Hào Thi, Giới thiệu về thống kê, tài liệu được phổ biến rộng rãi trong
kho tư liệu mở (Open Course Ware – OCW), chương 8 Kiểm định thống kê.
[4] Hoàng Trọng, Chu Nguyễn Mộng Ngọc(2005), Phân tích dữ liệu nghiên cứu
với SPSS, NXB Thống kê (trang 110-132).
[5] Tô Cẩm Tú, Nguyễn Huy Hoàng (2003), Phân tích số liệu nhiều chiều, NXB
Khoa học và Kỹ thuật, Hà Nội.
Tiếng Anh
[6] Brusilouvsky, P. Millan, E. (2007), User Models for Adaptive Hypermedia
and Adaptive Educational Systems, Springer.
[7] Isabelle, G., André E. (2003), An introduction to Variable and Feature
Selection, Journal of Machine Learning Research 3, 1157-1182.
[8] Le Duc Long, Nguyen An Te, Nguyen Dinh Thuc, Hunger, A. (2009),
Building Learner Profile in Adaptive e-Learning Systems, Proceedings of the 4th
International Conference on e-Learning (ICEL 2009), Toronto, Canada.
59
[9] Le Thi Huyen, Le Duc Long, Nguyen An Te, Nguyen Dinh Thuc (2009), An
approach to building profile based on the utility of features in the adaptive systems,
Proceedings of the IADIS International Conference WWW/Internet 2009, Rome,
Italy. (accepted)
[10] Liu, H., Yu, L. (2002), Feature selection for data mining, Research
Technical Report, Arizona State University.
[11] Middleton, S.E. Alani, H. Shadbolt, N.R. De Roure, D.C. (2002), Exploiting
Synergy Between Ontologies and Recommender Systems, The Eleventh
International World Wide Web Conference (WWW2002), Semantic Web
Workshop 2002, May 2002, Hawaii, USA.
[12] Middleton, S.E. Shadbolt, N.R. De Roure, D.C., (2004), Ontological User
Profiling in Recommender Systems, ACM Transactions on Information Systems
(TOIS), Volume 22, Issue 1, January 2004, page 54 - 88, ACM Press, New York,
NY, USA.
[13] Mohammad Alrifai, Peter Dolog, Wolfgang Nejdl, (2006), Learner Profile
Management for Collaborating Adaptive eLearning Applications, Conference on
Hypertext and Hypermedia, Odense, Denmark, pp. 31 – 34.
[14] Montainer, M. (2003), Collaborative Recommender Agents based on Case-
based Reasoning and Trust, PhD Thesis of Computer Engineering, University of
Girona.
[15] Montainer, M., López, B.,De La Rosa, J.-L. (2003) , A Taxonomy of
Recommender Agents on the Internet, Artificial Intelligence Review Vol. 19,
Kluwer Publishers.
60
[16] Nguyen, A.-T, Denos, N., Berrut, C. (2007), Improving New User
Recommendations with Rule-based Induction on Cold User Data, The ACM
Conference on Recommender Systems 2007, Minnesota, USA.
[17] Rashid, A., Albert, I., Cosley, D., Lam, S.-K., McNee, S.-M., Konstan, J.-A.,
& Riedl, J. (2002). Getting to Know You: Learning New User Preferences in
Recommender Systems, In Proceedings of the 7th International Conference on
Intelligent User Interfaces (IUI’02), California, USA (pp. 127-134).
61
PHỤ LỤC
Chương trình Demo
Chương trình được thiết kế hoàn toàn trên phần mềm Maple 12. Trong
chương trình có sử dụng một số thư viện của Maple như:
-Maplets[Elements]: thiết kế cửa sổ (Window) và các đối tượng con như:
TextField, Button, TextBox,BoxLayout,BoxRow,BoxColumn…
-Maplets[Examples]: sử dụng GetFile để chọn file dữ liệu.
-Statistics: sử dụng các hàm thống kê như Median, StandardDeviation và sử
dụng đồ thị ColumnGraph.
A.Tóm tắt quy trình xử lý
Phần 1. Đánh giá đặc trưng
Bước 1: Chọn file dữ liệu. Trong giao diện chương trình, nhấp nút Browse để chọn
tập tin chứa dữ liệu nhập. Tập tin thuộc dạng *.txt , chứa 1 dòng dữ liệu chính là
miền giá trị của đặc trưng cần đánh giá. Các giá trị cách nhau bằng khoảng trắng.
Ví dụ: 23 17 119 3 4
62
Nút Browse gọi thủ tục batdau(). Thủ tục này cho phép chọn được tập tin và
ghi lại đường dẫn vào textfield, đồng thời tính toán các giá trị trung gian. Sau đó thể
hiện kết quả lên cửa sổ và vẽ đồ thị biểu diễn mảng các giá trị của đặc trưng, như
hình sau.
Bước 2: Nhập giá trị cho tham số theta từ 05. đến 1, và bấm nút “Danh gia
dac trung” để đánh giá xem đặc trưng này có hữu ích hay không. Nút này gọi thủ
tục danhgia() Kết quả đánh giá được thể hiện lên vùng “Kết quả chính”, như hình
sau.
63
Tùy vào tham số theta, đặc trưng sẽ được kết luận là hữu ích hay không. Nếu
đặc trưng không hữu ích thì tiến trình dừng. Nếu hữu ích thì nhấp nút “Tinh chinh”
để thực hiện việc tinh chỉnh miền giá trị, nút tinh chỉnh gọi thủ tục goimaplet2() để
gọi cửa sổ của phần tinh chinh miền giá trị
Phần 2. Tinh chỉnh miền giá trị.
Giao diện chương trình với file dữ liệu nhập được truyền từ cửa sổ đánh giá
đặc trưng sang.
Bước 1:
Nhấp nút “Tính” để tính toán các giá trị trung gian và thể hiện ra cửa sổ Nút
Tính gọi thủ tục tinh().
64
-Các giá trị trung gian gồm: vmin, vmed, vmax, ty le d.
-Mảng dữ liệu được sắp tăng dần và vẽ thành đồ thị.
Bước 2.
-Nhập tham số beta và nhấp nút “Tinh chinh”, nút này gọi thủ tục
tinhchinh(). Thủ tục này tính toán ra kết quả và thể hiện ra vùng kết quả chính là có
rare value hay không. Nếu không có thì miền giá trị xem như đã tốt, không cần tinh
chỉnh. Nếu miền giá trị có rare value thì người dùng có thể chọn 2 cách, hoặc gom
hoặc loại rare value.
Bước 3a.
Nếu loại thì nhấp nút “Loai”, nút này gọi thủ tục loai(). Thủ tục vẽ lại đồ thị
mới với miền giá trị đã loại đi rare value và tính độ lệch chuẩn trong trường hợp
loại
65
Bước 3b.
Nếu gom rare value vào giá trị kế nó thì nhấp nút Gom, nút này gọi thủ tục
gom(). Thủ tục này vẽ lại đồ thị với miền giá trị mới là gom giá trị v1 và v2 lại.
Đồng thời tính độ lệch chuẩn khi gom.
Nhận xét:
-Chương trình chỉ dừng lại ở mức độ mô phỏng cách xử lý 1 đặc trưng của
profile. Sau khi tinh chỉnh miền giá trị, người dùng tự quyết định là nên gom hay
nên loại dựa vào độ lệch chuẩn.
66
B. Các thủ tục chính trong chương trình
Thiết kế cửa sổ giao diện 1
Thiết kế cửa sổ giao diện 2
67
Thủ tục batdau()
Thủ tục danhgia()
68
Thủ tục goimaplet2()
69
Thủ tục tinh()
70
Thủ tục tinhchinh()
Thủ tục loai()
71
Thủ tục gom()
C. Ngoài các thủ tục chính, chương trình còn sử dụng một
số thủ tục hỗ trợ như sau.
Thủ tục nhap()
Thủ tục này cho phép chọn file dữ liệu của đặc trưng. Hiện nay, chương trình
chỉ thực hiện đánh giá trên 1 đặc trưng được lưu trên một dòng. Dòng dữ liệu này là
miền giá trị của đặc trưng, các giá trị ngăn cách nhau bởi khoảng trắng.
72
Thủ tục getdata()
Thủ tục này đọc dữ liệu từ file. Kết quả trả về là kiểu list.
Thủ tục tong()
Thủ tục này tính tổng các giá trị trong mảng. Kết quả trả về là một số thực.
Các file đính kèm theo tài liệu này:
- noidung.pdf