Nghiên cứu xây dựng mô hình đặc trưng người dùng (user profile) và ứng dụng

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

pdf73 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2837 | Lượt tải: 0download
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:

  • pdfnoidung.pdf
  • pdftrangbialv.pdf
Luận văn liên quan