Đề tài Cấu trúc profile

Tài liệu Đề tài Cấu trúc profile: LỜI CẢM ƠN W X Tôi xin chân thành cảm ơn các Thầy Cô thuộc khoa Toán-Tin trường Đại học Khoa học Tự nhiên đã tận tình dạy dỗ, truyền đạt cho tôi nhiều kiến thức quý báu. Tôi xin gửi lời cảm ơn sâu sắc đến Thầy hướng dẫn của tôi, TS. Nguyễn Đình Thúc, vì sự tận tình hướng dẫn, cung cấp các tài liệu tham khảo; vì sự khích lệ, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài. Tôi xin gửi lời cảm ơn trân trọng đến TS. Nguyễn An Tế vì sự quan tâm, chỉ bảo và hỗ trợ tôi vượt qua những khó khăn trong khi thực hiện đề tài. Tôi xin gửi lời cảm ơn đến ThS. Lê Đức Long, ThS. Trần Ngọc Bảo vì sự hỗ trợ cung cấp các tài liệu tham khảo trong giai đoạn đầu tiếp cận đề tài. Tôi xin gửi lời cảm ơn đến TS. Trần Nam Dũng và PGS.TS Dương Anh Đức vì những nhận xét, góp ý quý báu cho luận văn. Tôi xin gửi lời cảm ơn đến các anh chị và các bạn cùng khóa đã có những ý kiến đóng góp và động viên tôi trong quá trình thực hiện đề tài. Tôi xin gửi lời cảm ơn đến Ban g...

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

Các file đính kèm theo tài liệu này:

  • pdfnoidung.pdf