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
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 θ
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
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
73 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2837 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Nghiên cứu xây dựng mô hình đặc trưng người dùng (user profile) và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
huyế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
- trangbialv.pdf