Luận văn định hướng tìm hiểu mô hình người dùng và cách chọn lọc tin tức trong các hệ thống gợi ý tin đã triển khai, tập trung nhiều vào hướng cộng tác giữa người dùng collaborative, từ
Trang 2LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Việt Anh
Hà Nội - 2013
Trang 3Mục lục
Danh mục hình vẽ 3
Danh mục bảng 4
TÓM TẮT NỘI DUNG 5
Chương 1: Đặt vấn đề 7
1.1 Bài toán xây dựng bộ lọc cho hệ thống gợi ý tin tức 7
1.1.1 Mục tiêu 7
1.1.2 Nội dung, phương pháp nghiên cứu 7
1.1.3 Kết quả đã đạt được 7
1.2 Giới thiệu một số hệ thống tổng hợp, gợi ý tin tức 8
1.2.1 News Dude 8
1.2.2 Trang web baomoi.com 9
Chương 2: Các vấn đề nghiên cứu liên quan 11
2.1 Mô hình hóa người dùng 11
2.1.1 Các khái niệm 11
2.1.2 Vai trò của mô hình người dùng trong hệ thống thích nghi 12
2.1.3 Một số kỹ thuật mô hình hóa người dùng 13
2.1.4 So sánh các kỹ thuật mô hình hóa người dùng 15
2.2 Phân loại các hệ thống gợi ý tin tức 18
2.2.1 Hệ thống gợi ý dựa vào nội dung 18
2.2.2 Hệ thống gợi ý dựa vào cộng tác 20
2.2.3 Hệ thống kết hợp 22
2.3 Một số hệ thống gợi ý tin tức theo hướng cộng tác 23
Trang 42.3.1 Mô hình cộng tác dựa trên chuỗi sự kiện 23
2.3.2 Mô hình hệ thống sử dụng hệ tiêu chuẩn (multi-criteria) 24
Chương 3: Xây dựng bộ lọc cộng tác trong hệ thống gợi ý tin tức 30
3.1 Các yêu cầu chung 30
3.1.1 Môi trường tích hợp bộ lọc cộng tác 30
3.1.2 Yêu cầu chức năng 32
3.1.3 Yêu cầu phi chức năng 32
3.2 Thiết kế tổng quát 33
3.2.1 Cơ chế hoạt động 33
3.2.2 Các thành phần chính 34
3.3 Xây dựng chi tiết các thành phần bộ lọc cộng tác 35
3.3.1 Bộ phận chia nhóm người dùng 35
3.3.2 Bộ phận tạo gợi ý 37
3.3.3 Bộ phận kiểm tra điều kiện ràng buộc 39
Chương 4: Thực nghiệm và đánh giá 40
4.1 Thực nghiệm và đánh giá 40
4.2 Hướng nghiên cứu tiếp theo 42
Kết luận 43
Tài liệu tham khảo 44
Tài liệu tiếng Anh 44
Tài liệu tiếng Việt Error! Bookmark not defined.
Trang 5Danh mục hình vẽ
Hình 1.1: Giao diện hệ thống News Dude[2] 8
Hình 1.2: Giao diện trang web baomoi.com 10
Hình 2.1: Vai trò của mô hình người dùng trong quá trình thích nghi[3] 12
Hình 2.2: Kiến trúc hệ thống xử lý đa tiêu chuẩn[21] 25
Hình 2.3 – Phương pháp bất đồng – đồng nhất[21] 26
Hình 3.1: Giao diện minh họa hệ thống xenoNews[23] 30
Hình 3.2: Kiến trúc 3 tầng của hệ thống xenoNews[23] 31
Hình 3.3: Bộ lọc cộng tác trong tổng thể hệ thống xenoNews 34
Hình 3.4: Các bộ phận trong bộ lọc cộng tác 35
Trang 6Danh mục bảng
Bảng 2.1: So sánh ƣu điểm và nhƣợc điểm của các kỹ thuật mô hình hóa 15
Bảng 2.2: So sánh các kỹ thuật mô hình hóa qua các đặc tính 17
Bảng 3.1: Bảng mô tả các thể loại tin tức trong hệ thống xenoNews 36
Bảng 4.1: Số lƣợng tin truy cập trong quá trình thử nghiệm 40
Bảng 4.2: Các độ đo theo thể loại 41
Trang 7TÓM TẮT NỘI DUNG
Ngày nay với sự phát triển của Internet và các hệ thống cung cấp tin tức điện tử, độc giả không chỉ có cơ hội tiếp cận nhiều luồng thông tin hơn mà còn tiến tới cập nhật thông tin trong thời gian sớm nhất Tuy nhiên sự gia tăng nhanh chóng về số lượng kèm theo trạng thái tự nhiên không có cấu trúc của nội dung tin tức đã vượt quá giới hạn xử lý của con người Người dùng có thể rơi vào hoàn cảnh vừa thiếu các thông tin thực sự hấp dẫn, cần thiết cho họ lại vừa dư thừa các thông tin mang tính lặp lại do nhiều nguồn cùng đưa tin về một sự kiện Vì vậy một số hệ thống tổng hợp, gợi ý tin tức đã ra đời hướng vào mục tiêu phân loại, tìm kiếm tin tức chuẩn xác, phù hợp sở thích cá nhân để chuyển tới người dùng
Mỗi hệ thống gợi ý tin tức đều có cách xây dựng, biểu diễn mô hình tin, biểu diễn sở thích của người dùng cũng như chọn lọc tin tức khác nhau Cách thức chọn lọc tin tức đóng vai trò trung tâm trong hệ thống gợi ý, từ đó quyết định việc biểu diễn đối tượng bản tin, người dùng cũng như so sánh tìm kiếm sự tương đồng Luận văn định hướng tìm hiểu
mô hình người dùng và cách chọn lọc tin tức trong các hệ thống gợi ý tin đã triển khai, tập trung nhiều vào hướng cộng tác giữa người dùng (collaborative), từ đó đưa ra một mô hình bộ lọc tin cộng tác và áp dụng thử nghiệm vào hệ thống gợi ý tin tức tiếng Việt Nội dung luận văn bao gồm 4 phần chính
Chương 1: Mô tả bài toán về xây dựng bộ lọc tin có tính cộng tác giữa người dùng
trong hệ thống gợi ý tin tức: mục tiêu, hướng nghiên cứu, kết quả đã đạt được, đồng thời giới thiệu một số hệ thống tổng hợp tin tức đã từng được nghiên cứu và triển khai trên thế giới cũng như ở Việt Nam
Chương 2: Trình bày các lý thuyết và mô hình bộ lọc tin tức, trong đó giới thiệu ba
hướng tiếp cận: bộ lọc tin dựa theo nội dung, bộ lọc cộng tác, bộ lọc kết hợp Tập trung tìm hiểu hướng vào các bộ lọc cộng tác, giới thiệu một số thuật toán trong các bộ lọc cộng tác đã triển khai
Chương 3: Trên cơ sở các vấn đề đã tìm hiểu, luận văn mô tả một bộ lọc cộng tác
giữa người dùng trong hệ thống gợi ý tin tức với thành phần then chốt là biện pháp chia nhóm người dùng theo phân bố thể loại duyệt tin và tính độ tương đồng dựa vào lịch sử truy cập Kèm theo luận văn trình bày chi tiết việc xây dựng, áp dụng mô hình như một module thành phần của hệ thống gợi ý tin tức tiếng Việt
Trang 8Chương 4: Đưa ra một số kết quả thử nghiệm để đánh giá hoạt động của module bộ
lọc cộng tác đã xây dựng ở chương 3 trong quá trình hoạt động chung của hệ thống gợi ý tin tức
Phần kết luận: tóm lược nội dung đã trình bày trong luận văn và hướng nghiên cứu
tiếp theo để cải tiến bộ lọc cộng tác
Trang 9Chương 1: Đặt vấn đề
1.1 Bài toán xây dựng bộ lọc cho hệ thống gợi ý tin tức
Bộ lọc trong hệ thống gợi ý đóng vai trò trung tâm, giúp hệ thống xử lý dữ liệu và đưa ra gợi ý thích hợp cho người dùng Các loại bộ lọc cơ bản bao gồm: bộ lọc theo nội dung, bộ lọc cộng tác và bộ lọc kết hợp hai loại trên Luận văn chủ yếu đề cập tới bộ lọc cộng tác trong hệ thống gợi ý tin tức
Theo định nghĩa của A.Das, M.Datar và A.Garg [1], bộ lọc cộng tác là kỹ thuật có
nhiệm vụ học tập, tìm hiểu những sở thích của người dùng và tạo gợi ý dựa trên dữ liệu người dùng và dữ liệu chung của tập người dùng
Có thể hiểu bộ lọc cộng tác làm nhiệm vụ thu thập thói quen người dùng, tìm ra những người dùng khác mang tính tương đồng về sở thích, chọn những nội dung họ quan tâm đưa tới cho người dùng theo hướng gợi ý “nhiều người giống bạn quan tâm tới vấn đề này, liệu bạn có quan tâm hay không”
1.1.1 Mục tiêu
Luận văn tiến hành tìm hiểu lý thuyết mô hình hóa người dùng và công thức, ứng dụng của bộ lọc cộng tác người dùng cho các hệ thống gợi ý tin tức dựa trên những nghiên cứu đã có Mục tiêu hướng tới là tổng hợp kiến thức về các hệ thống gợi ý tin tức
đã sử dụng mô hình cộng tác, dựa vào đó cài đặt và đánh giá một bộ lọc cộng tác người dùng cho hệ thống chọn lọc gợi ý tin tức
1.1.2 Nội dung, phương pháp nghiên cứu
Để hoàn thành yêu cầu đề ra, trước hết tiến hành tìm hiểu, so sánh mô hình, phương thức hoạt động trong các hệ thống gợi ý nói chung và hệ thống gợi ý tin tức nói riêng, tập trung vào các bộ lọc cộng tác sử dụng phân tích lịch sử truy cập của tập người dùng Bước thứ hai là xây dựng một công thức cho bộ lọc cộng tác dựa trên cơ sở phân tích lịch sử đọc tin của người dùng
Bước ba tập trung cài đặt bộ lọc cộng tác đã xây dựng vào trong một hệ thống gợi ý tin tức và đánh giá hiệu quả
1.1.3 Kết quả đã đạt được
Với các yêu cầu đề ra, luận văn đã đạt được các kết quả chính như sau
Trang 10- Khái quát các lý thuyết về mô hình hóa người dùng và bộ lọc cộng tác trong hệ thống gợi ý tin tức (chương 2)
- Trình bày bộ lọc cộng tác người dùng thử nghiệm cho hệ thống gợi ý tin tức tiếng Việt (chương 3)
- Cài đặt bộ lọc thử nghiệm và đánh giá (chương 4)
1.2 Giới thiệu một số hệ thống tổng hợp, gợi ý tin tức
1.2.1 News Dude
Theo D Billsus và M Pazzani [2], News Dude là ứng dụng xây dựng trên nền Java Applet có chức năng đọc tin và tương tác với người dùng Ứng dụng này chia tin tức thành 6 thể loại: tin nổi bật, chính trị, xã hội, kinh doanh, công nghệ và thể thao Khi người dùng chọn một thể loại, News Dude tạo kết nối tới Yahoo!News để tải tin tức và lần lượt hiển thị chúng Người dùng có thể đưa ra phản hồi cho bản tin đang nghe xem bất
cứ thời điểm nào
Hình 1.1: Giao diện hệ thống News Dude[2]
So với cách đánh giá thông tin đơn giản là thú vị/không thú vị, ứng dụng cung cấp
thêm nhiều lựa chọn phản hồi khác nhau Ví dụ người dùng có thể cho hệ thống biết rằng
Trang 11anh ta đã biết thông tin này từ trước hoặc yêu cầu được nghe thêm các tin tức liên quan tới chủ đề đang phát Hệ thống News Dude đưa ra những lựa chọn phản hồi cho người
dùng: thú vị, không thú vị, tôi đã biết tin này, hãy kể thêm tin liên quan và giải thích Sau
quá trình huấn luyện, người dùng có thể yêu cầu hệ thống tính toán đưa ra các tin tức dựa theo đánh giá đã có
Hệ thống News Dude sử dụng phản hồi của người dùng để cho điểm tin tức, do vậy cần có nhiều lựa chọn phản hồi để gán các mức điểm số khác nhau Mô hình của News Dude kết hợp giữa mô hình ngắn hạn biểu diễn sở thích trong thời gian gần và mô hình dài hạn biểu diễn sở thích chung của người dùng Các tin tức được mô tả dưới dạng vector ngữ nghĩa tf-idf kết hợp tính độ tương đồng theo độ đo Cosine
1.2.2 Trang web baomoi.com
Baomoi.com là một trang web tổng hợp tin tức có nội dung tiếng Việt Nội dung và nguồn gốc các bản tin trên hệ thống Baomoi.com rất phong phú Ngoài chức năng duyệt tin như thông thường, Baomoi cũng cho phép người dùng đăng ký tài khoản để khai báo các tiêu chí lọc tin cho riêng mình Bộ lọc bao gồm phần chọn chuyên mục, từ khóa quan tâm, chọn nguồn tin
Các bài báo được tổng hợp về sẽ được gán với một số từ khóa chính (tag) dựa vào nội dung Khi người dùng yêu cầu tạo bộ lọc tin, hệ thống so sánh các tiêu chí của người dùng với các thông số chuyên mục, nguồn gốc, đặc biệt là từ khoá của các bản tin để quyết định đưa ra gợi ý Vì vậy muốn tìm được tin tức theo ý muốn người dùng phải hoàn thiện bộ lọc với các cụm từ khóa mang tính chính xác, khái quát
Có một hạn chế về giao diện là khi người dùng chọn đọc một tin trong danh sách thì
tự động chuyển sang đường dẫn gốc, người dùng mất thêm thao tác với trình duyệt để trở
về danh sách trước đó
Trang 12Hình 1.2: Giao diện trang web baomoi.com
Trang 13Chương 2: Các vấn đề nghiên cứu liên quan
Trong chương 2 luận văn trình bày các vấn đề liên quan đã tìm hiểu, gồm có lý thuyết chung về mô hình hóa người dùng, hệ thống gợi ý, phân loại hệ thống gợi ý Sau
đó với hướng tập trung vào mô hình gợi ý dựa vào bộ lọc cộng tác, luận văn mô tả một số thuật toán xây dựng bộ lọc cộng tác đã được nghiên cứu và đề xuất
2.1 Mô hình hóa người dùng
2.1.1 Các khái niệm
Theo C Froschl [3], hai khái niệm hồ sơ người dùng (user profile) và mô hình người dùng (user model) đôi lúc được sử dụng với ý nghĩa tương đương nhau hoặc thay thế cho
nhau Tuy nhiên bản chất hai khái niệm này có sự khác nhau về độ phức tạp
Hồ sơ người dùng là tập hợp những thông tin cá nhân mang tính rõ ràng, khái quát
Hồ sơ người dùng mô tả kinh nghiệm, khả năng trí tuệ, mục đích, phong cách học tập, sở thích và cả những tương tác với hệ thống Các thuộc tính trên có thể gán cố định hoặc thay đổi theo thời gian Dựa trên thông tin có trong hồ sơ, bước đầu có thể mô hình hóa người dùng Do đó hồ sơ người dùng có nhiệm vụ thu thập thông tin cơ bản cho mô hình người dùng, có thể coi hồ sơ người dùng là mô hình người dùng ở cấp đơn giản nhất
Mô hình người dùng là toàn bộ phần thông tin mà hệ thống biết được về người dùng
đó, nó cũng chỉ phản ánh được một phần nhỏ về người dùng trong thế giới thực N.de Koch [4] liệt kê năm đặc trưng cần có trong mô hình người dùng:
- Mục đích hoặc công việc hiện tại của người dùng
- Kiến thức của người dùng trong miền tri thức cần mô tả
- Kiến thức chung của người dùng
- Trải nghiệm của người dùng
- Sở thích của người dùng
Mô hình hóa người dùng [5] là quá trình hệ thống lưu trữ thông tin về người dùng và
sử dụng theo nhiều cách khác nhau nhằm mục đích cuối cùng là cải thiện và tùy biến trải nghiệm của người dùng trên hệ thống Tiến trình bắt đầu với một mô tả thích hợp về người dùng, gồm nhiều phần tử khác nhau Sau đó các thông tin được dùng để suy luận, sinh ra tri thức mới thêm vào mô hình người dùng hoặc sử dụng cho thành phần cuối
Trang 14trong tiến trình – biến đổi thích nghi của hệ thống, làm tăng tính hiệu quả và phù hợp của
hệ thống sao cho người dùng có thể nhận thấy được Mô hình người dùng là một phần trong quá trình mô hình hóa người dùng
2.1.2 Vai trò của mô hình người dùng trong hệ thống thích nghi
Mục đích cơ bản của mô hình người dùng gồm có
- Hỗ trợ người dùng trong quá trình học tập về một chủ đề
- Đưa thông tin đã điều chỉnh tới người dùng
- Thay đổi giao diện
- Giúp người dùng tìm kiếm thông tin
- Đưa phản hồi về kiến thức của người dùng
- Hỗ trợ công việc có tính cộng tác
- Hỗ trợ quá trình sử dụng hệ thống
Tất cả các mục đích đều xoay quanh người dùng nhưng chưa làm rõ bằng cách nào
mô hình người dùng tác động tới hệ thống Có 3 cách chính để mô hình người dùng hỗ trợ quá trình thích nghi hệ thống, giúp thực hiện các mục tiêu đã nêu
Hình 2.1: Vai trò của mô hình người dùng trong quá trình thích nghi[3]
Những hành động thể hiện người dùng (interpret user actions) bao gồm toàn bộ
những hành động có thể thực hiện tại giao diện như dùng chuột điều khiển, gõ bàn phím, đưa dữ liệu đầu vào Mô hình người dùng hỗ trợ hệ thống lưu trữ và giải thích các hành động đó Ví dụ nếu dữ liệu đầu vào có tính nhập nhằng thì mô hình người dùng phải làm cho rõ ràng hơn, hoặc phải loại bỏ những hành động không chính xác
Trang 15Những hành động của máy (machine actions) là những hành động được khởi tạo bởi
hệ thống Mô hình người dùng có thể được tận dụng để điều khiển và sửa đổi những hành động này theo sở thích của người dùng Cách thức này bao gồm việc biến đổi hành vi của
hệ thống và theo dõi người dùng hoặc sự thích ứng hóa nội dung song song với trình diễn chúng Ví dụ hệ thống gợi ý tin tức có thể đưa ra những tin bài liên quan tới công nghệ cho những người dùng thuộc lĩnh vực công nghệ thông tin , hoặc gợi ý tin về các khóa học, học bổng cho người dùng là sinh viên
Ứng dụng thứ ba của mô hình người dùng trong quá trình thích nghi nằm trong lòng
hệ thống Mô hình người dùng hỗ trợ hệ thống trong các hành động nội tại (internal
actions), thường là tiến trình sàng lọc chuẩn hóa các thông tin đã thu được
2.1.3 Một số kỹ thuật mô hình hóa người dùng
Các kỹ thuật mô hình hóa người dùng được giới thiệu và sử dụng trong thời gian gần đây, một số phụ thuộc vào cách trình diễn dữ liệu người dùng, một số khác dựa theo cách suy luận dữ liệu [5] Một số mô hình liệt kê phía dưới có thể sử dụng kết hợp với nhau
- Mô hình tuyến tính (Linear model): Là một trong số những kỹ thuật được dùng
nhiều nhất, có thể nói rằng mọi hệ thống đều sử dụng mô hình tuyến tính theo cách nào đó Mô hình tuyến tính có thể xây dựng và tìm hiểu một cách dễ dàng,
là những dữ liệu có hiệu suất và độ tin cậy tương đối cao Mô hình tuyến tính thường sử dụng các phép toán gán trọng số hoặc giá trị trung bình của những đối tượng thường xuyên được truy cập để kết luận sở thích người dùng Ví dụ mô hình tuyến tính có thể suy đoán rằng người dùng sẽ thích xem một bộ phim hành động mới ra nếu trên 80% số lượng phim người đó từng xem đều thuộc thể loại hành động
- Cây quyết định (Decision tree): Cây quyết định cũng là một kỹ thuật dễ sử dụng và
có tính trực quan nhất Cây quyết định bao gồm những nút biểu diễn các giá trị khác nhau hoặc các lựa chọn của một thuộc tính, tất cả các nhánh chia ra cho tới khi một kết luận hoặc giải pháp được tìm thấy Thông thường cây quyết định có nhược điểm là cần kiến thức chuyên môn khi khởi tạo cũng như phát triển Chúng biểu diễn tri thức hiện có và không hỗ trợ những tình huống mới Đó cũng
là lý do hệ thống cây quyết định được áp dụng trong các hệ chuyên gia Tuy nhiên vẫn có những giải thuật tự do có thể gắn thêm nút cho cây quyết định, mặc
dù chúng thường có độ tin cậy thấp hơn so với giải thuật khởi tạo và yêu cầu nhiều tính toán hơn
Trang 16- Mạng neural (Neural network): Là kỹ thuật mới được sử dụng trong mô hình hóa
người dùng Ý tưởng xây dựng trên bộ não con người với các noron hoạt động khác thường nhưng tồn tại theo trật tự giúp cho toàn bộ bộ não vận hành Mạng neural được tạo nên bằng các nút và quan hệ giữa chúng Các nút có phương thức hoạt hóa làm nhiệm vụ tính toán giá trị hoặc năng lượng của chúng Dữ liệu đầu vào sẽ kích hoạt mạng, tới lượt mình mạng sẽ kích hoạt các nút Quá trình tính toán thông báo kết quả trong toàn mạng, trả về tri thức theo yêu cầu Các nút
tự động cập nhật mỗi khi có dữ liệu mới, vì thế mạng chứa ánh xạ tức thời của tri thức trong hệ thống Mạng neural có nhiều biến thể: dạng tĩnh hoặc dạng động, mạng đơn chiều và mạng hai chiều, mạng đơn nguyên và mạng đa nguyên – nhiều mạng tập hợp lại để cùng thực hiện mục đích chung Trong mạng lưới động, các nút không cố định mà có thể được xóa hoặc tạo mới, hỗ trợ những hình thái tri thức linh hoạt, thông minh hơn
- Khai phá văn bản (Text mining): Khai phá văn bản là một nhánh của quá trình
khai phá dữ liệu nhưng các thông tin đều dưới dạng văn bản hoặc mô tả không có cấu trúc Mục đích chính sau quá trình khai phá văn bản là trích xuất thông tin có
ý nghĩa từ văn bản, thường ở dạng từ khóa Giải thuật phức tạp hơn cố gắng trích xuất những câu hoàn chỉnh có tính quan trọng, chia nhỏ, tái cấu trúc văn bản Một trong những thách thức lớn nhất của khai phá văn bản là giao tiếp với những sắc thái và tính bất quy tắc của tập từ vựng, ví dụ như từ đồng âm khác nghĩa Khai phá văn bản cũng được dùng khi thông tin trong lĩnh vực hiện tại không có cấu trúc, cấu trúc quá dài Các lĩnh vực mà khai phá văn bản cho nhiều kết quả
đó là phân tích kết quả nghiên cứu, dịch vụ tin tức, phân tích nội dung web
- Mạng Bayes (Bayesian network): Kỹ thuật này có hiệu năng tốt và tính độc lập
cao Mạng Bayes chứa những nút biểu diễn khả năng một sự kiện hoặc đặc tính người dùng có giá trị true Giống như trong mạng neural, các nút đều có khả năng tự cập nhật, thay đổi ở nút cấp cao chuyển tới các nút con mở ra thông tin mới Xa hơn nữa, chúng có thể chứa thông tin và hàm tiện ích thay đổi theo thời gian
- Khai phá dữ liệu (Data mining)
+Phân lớp (Classification): Loại kỹ thuật này thực hiện phân chia đối tượng mới
về các lớp con dựa vào các đối tượng đã phân lớp trước đó Nó phân tích các thuộc tính, tìm ra những thuộc tính góp phần tạo ra tri thức đi kèm trong quá trình phân lớp Thường thì ngôn ngữ thể hiện cho bộ phân lớp là cây quyết định
Trang 17hoặc cũng có thể là mạng neural Kinh nghiệm thực tại giúp tăng hiệu suất phân lớp, ví dụ việc cắt dữ liệu theo lỗi có thể giới hạn kích thước cây quyết định hoặc tăng tốc cho toàn hệ thống
+ Phân cụm (Clustering): Phân cụm nhằm phát hiện những nhóm hoặc cụm
trong không gian đối tượng Số cụm có thể định nghĩa trước hoặc do tự động suy luận Nếu để thuật toán này tự động suy luận tri thức càng nhiều thì ta càng có khả năng nhận được thêm những kết quả không mong muốn (phương thức không giám sát) Kỹ thuật phân cụm có giám sát có phần hợp lý hơn vì cho phép điều khiển các biến số trong giải thuật Thách thức với giải thuật là làm sao xử lý những trường hợp cá biệt K-mean là thuật toán phân cụm được thừa nhận rộng rãi nhất, khởi tạo số lượng cụm cho trước, gán mỗi đối tượng vào cụm gần nhất theo K láng giềng gần nhất rồi tính lại tâm các cụm
+ Luật liên kết (Association rules): Các giải thuật loại này tạo ra để tìm kiếm
những hình mẫu ẩn và quan hệ giữa các đối tượng hoặc nhóm đối tượng Phương thức hoạt động khá đơn giản Giải thuật ước tính một vài tổ hợp đối tượng và kiểm tra sự xuất hiện của chúng trong hệ thống trong quan hệ với dữ liệu tổng thể Tổ hợp đối tượng quan trọng nhất trở thành kết quả đầu ra Nhược điểm của giải thuật là đôi khi kết quả trả về quá logic hoặc không liên quan, thậm chí khó hiểu Thuật toán Apriori là một trong những kỹ thuật được sử dụng nhiều và sử dụng kinh nghiệm cho phép tránh trường hợp bùng nổ tổ hợp
2.1.4 So sánh các kỹ thuật mô hình hóa người dùng
Các kỹ thuật mô hình hóa người dùng nói tới trong mục 2.2.1 có những ưu và nhược điểm riêng, có thể tóm tắt qua bảng sau
Bảng 2.1: So sánh ưu điểm và nhược điểm của các kỹ thuật mô hình hóa
Mô hình tuyến tính - Dễ dàng sử dụng và tìm
hiểu
- Hiệu quả cao
- Áp dụng trong nhiều lĩnh vực
- Không đáp ứng đủ yêu cầu biểu diễn tri thức
Trang 18- Dễ dàng sửa đổi Cây quyết định - Rất dễ đọc hiểu
- Hiệu suất tốt trong các trường hợp cây nhị phân
- Cần kiến thức của các chuyên gia
- Khó duy trì và sửa đổi Mạng neural - Hiệu suất tốt
- Có thể tự phát triển qua thời gian
- Có thể tốn nhiều thời gian
để đưa về kết quả tối ưu
Phân lớp - Có thể trả về cây quyết định
trực quan
- Có thể tham gia quá trình ra quyết định
- Cần lượng lớn dữ liệu luyện tập để đạt hiệu quả tốt
Phân cụm - Có thể tìm ra những nhóm
dữ liệu ẩn
- Có thể phát hiện những trường hợp cá biệt, nếu đó là mục đích thực hiện
- Gặp khó khăn với các trường hợp cá biệt
- Gặp khó khăn khi xử lý với số cụm lý tưởng
Luật kết hợp - Có thể phát hiện ra những
liên kết ẩn của các đối tượng
- Có thể hỗ trợ quá trình ra quyết định
- Có thể trả về những luật liên kết không quan trọng, thiếu logic
Khai phá văn bản - Là phương pháp đáp ứng
được yêu cầu trích chọn tri thức từ văn bản
- Đáp ứng được với các bộ lọc theo nội dung
- Thông tin ẩn chứa trong văn bản là lĩnh vực rất khó khai phá chính xác
Trang 19Mạng Bayes - Hiệu suất cao
- Biểu diễn cả lập luận khởi tạo và dữ liệu sinh ra sau
- Có thể phát triển độc lập
- Cần kiến thức chuyên gia cho việc khởi tạo giả định
Tiếp theo cần so sánh các kỹ thuật mô hình hóa dựa trên một vài đặc điểm hữu ích
và quan trọng nhất: nhanh chóng đạt ngưỡng tối ưu, dễ dàng xây dựng, hiệu suất độc lập với hệ thống sử dụng, kiểm soát kết quả
- Nhanh chóng đạt ngưỡng tối ưu (Rapid Optimum Threshold): Điều kiện kiểm tra nếu độ
chính xác của một kỹ thuật so với thực tế và biểu diễn tương ứng theo lĩnh vực đạt mức tối ưu với tốc độ nhanh chóng hay không Ví dụ những kỹ thuật yêu cầu tri thức khởi tạo thì ngay lập tức đạt được mức tối ưu vì những tri thức khởi tạo đó được coi như đã có giá trị
- Dễ dàng xây dựng (Easy-building): Bao gồm đánh giá không chỉ về khó khăn trong quá
trình phát triển mà còn ở giai đoạn hoàn thiện hoặc sự buồn tẻ của công việc thực hiện
- Hiệu suất độc lập với hệ thống sử dụng (Performance independent of system use): Đánh
giá xem hiệu suất tổng thể của kỹ thuật có sự sai khác tùy theo kích thước cơ sở dữ liệu,
hệ thống sử dụng hay không Đặc tính này liên quan tới các thay đổi phức tạp đi kèm với thay đổi của hệ thống Ví dụ mô hình tuyến tính thường làm việc với giá trị trung bình, tổng số và các phép toán khác, được tối ưu bên trong hệ quản trị cơ sở dữ liệu do đó không phụ thuộc quá nhiều vào kích thước cơ sở dữ liệu Trong khi đó tốc độ hoạt động của kỹ thuật phân cụm chịu ảnh hưởng lớn từ số lượng đối tượng và số lượng thuộc tính
- Kiểm soát kết quả (Control over results): Khả năng kỹ thuật được điều khiển và tùy
Hiệu suất độc lập với hệ thống
sử dụng
Kiểm soát kết quả
Mô hình tuyến
tính
Trang 20Cây quyết định Có Không Có Có
Khai phá văn
bản
2.2 Phân loại các hệ thống gợi ý tin tức
Các hệ thống gợi ý tin tức thường được chia thành 3 loại chính: hệ thống gợi ý dựa vào nội dung (content-based), hệ thống gợi ý dựa vào cộng tác (collaborative), hệ thống kết hợp (hybrid)
2.2.1 Hệ thống gợi ý dựa vào nội dung
Hệ thống gợi ý dựa vào nội dung hướng tới việc trả về cho người dùng những kết quả có nội dung tương tự những đối tượng họ đánh dấu quan tâm trong quá khứ Nhờ những nghiên cứu trong lĩnh vực khai thác và lọc thông tin [6] nên các hệ thống gợi ý dựa vào nội dung tập trung vào mảng xử lý định dạng văn bản như tài liệu, trang web, tin tức Mỗi đối tượng cần xử lý được biểu diễn bởi một tập hợp đặc trưng, làm cơ sở xác định mức độ tương đồng giữa các đối tượng và giữa đối tượng với tiêu chuẩn gợi ý Trong
điều kiện của dữ liệu văn bản, tập đặc trưng thường là một tập từ khóa (keyword) mang
giá trị ý nghĩa của văn bản
Để xác định trọng số của các từ khóa trong một đối tượng văn bản, độ đo thường được sử dụng là TF-IDF (Term Frequency Inverse Document Frequency), gồm hai thành
phần: TF và IDF Tần số từ khóa TF (Term Frequency) tính theo công thức
( , )i fi
TF t d
T
Trang 21Trong công thức 2.1, TF(ti,d) là chỉ số TF của từ khóa ti trong văn bản d, fi là số lần xuất hiện của từ khóa ti trong d, T là tổng số từ khóa trong d Từ khóa xuất hiện nhiều lần trong một văn bản thì chỉ số TF của nó sẽ đạt giá trị cao Tuy nhiên nếu cùng từ khóa đó lại xuất hiện ở nhiều văn bản khác thì trên thực tế nó sẽ không mang nhiều ý nghĩa và độ quan trọng trong văn bản giảm đi Ví dụ nếu một văn bản xuất hiện nhiều lần từ “điện thoại” thì có thể hiểu văn bản đó liên quan tới lĩnh vực viễn thông Nhưng nếu đổi lại một văn bản có nhiều từ “các bạn” thì không thể cho đây là một từ mang nhiều ý nghĩa đối với văn bản đó
Các từ khóa trong văn bản có mật độ xuất hiện không đồng đều Có từ khoá xuất hiện rất thường xuyên trong khi nhiều từ khoá chỉ xuất hiện một vài lần Để khắc phục
điều này, nghịch đảo tần suất văn bản (IDF – Inverse Document Frequency) và tần số
logarit (tương tự tần số từ khóa) được đề xuất theo công thức
i
N IDF t
TFIDF t d TF t d IDF t (2.3) Mỗi người dùng trong hệ thống sở hữu một hồ sơ mô tả đặc tính và sở thích, ký hiệu profile(u) là hồ sơ của người dùng u Ví dụ profile(u) có thể là 1 vector trọng số
1 2
profile u và wi là trọng số thể hiện độ quan trọng của từ khóa ti đối với
sở thích của người dùng u Nếu biểu diễn cả hồ sơ người dùng và đặc trưng từng văn bản dưới dạng vector trọng số TF-IDF thì có thể tìm ra độ tương tự giữa hai vector đó theo công thức Cosine Gọi biểu diễn đặc trưng của văn bản d ( ,x x , ,x )
Trang 22Ngoài giải thuật dựa vào phương pháp thu thập thông tin truyền thống, còn có những
kỹ thuật khác đem lại hiệu quả cao như M Pazzani sử dụng phân lớp Bayes để ước tính xác suất người dùng quan tâm tới một đối tượng [7], hoặc sử dụng phân cụm, cây quyết định, mạng noron nhân tạo
Nhìn chung, các hệ thống gợi ý dựa trên nội dung còn có một số điểm hạn chế
- Gợi ý cho người dùng mới: đây có thể coi là vấn đề chung của các hệ thống gợi ý Khi một người dùng tạo tài khoản mới và chưa tương tác nhiều với hệ thống thì lượng dữ liệu làm đầu vào gợi ý chưa có đủ dẫn tới kết quả gợi ý không đạt độ chính xác cao
- Hạn chế trong việc phân tích đối tượng: Một số loại đối tượng có định dạng đa phương tiện khiến cho hệ thống khó xác định nội dung chính xác một cách tự động, ví dụ hình ảnh, âm thanh Do đó việc tìm ra tập đặc trưng cho các loại dữ liệu này cũng gặp khó khăn, gây hạn chế cho hệ thống gợi ý Ngoài ra, tập đặc trưng của đối tượng dữ liệu có số lượng phần tử hữu hạn nên không tránh khỏi trường hợp có những cặp đối tượng có biểu diễn giống nhau nhưng nội dung lại
có sự khác biệt
- Vấn đề về mức độ phù hợp của kết quả: khi gợi ý hệ thống sẽ phân tích dựa các đối tượng người dùng đã truy cập, đưa ra điểm số cho các đối tượng được đề cử Chỉ những đối tượng nào đạt đủ độ tương tự với các đối tượng đã xem trong quá khứ mới được gợi ý Quá trình lặp lại như vậy khiến cho vùng đối tượng có thể được gợi ý dần bị thu hẹp theo một hướng, mất đi tính đa dạng Để khắc phục vấn đề này, có thể cho thêm một số biến ngẫu nhiên vào quá trình tạo gợi ý hoặc dùng cách loại bỏ những kết quả gợi ý có điểm số quá cao như D.Billsus áp dụng cho
hệ thống The News Learner [8]
2.2.2 Hệ thống gợi ý dựa vào cộng tác
Các hệ thống gợi ý cộng tác có thể chia thành 2 loại chính: dựa vào bộ nhớ (memory-based) hoặc dựa vào mô hình (model-based) [1]
Trang 23Các thuật toán dự báo dựa vào bộ nhớ dự đoán đánh giá của người dùng đối với một
đối tượng dựa trên tất cả đánh giá của người dùng trong quá khứ Dự đoán thường là giá trị trung bình của tích trọng số và điểm đánh giá từ những người dùng khác Trọng số có thể hiểu là độ “tương đồng” giữa các cặp người dùng Thông thường độ đo tương đồng bao gồm hệ số tương quan Pearson [9] và độ đo cosine giữa 2 vector đánh giá Ma trận tương đồng w(ui,uj) giữa tập người dùng thường được tính toán trước Gợi ý tới người dùng ui cho bởi công thức
Đối lập với thuật toán dự báo dựa vào bộ nhớ, thuật toán dự báo dựa vào mô hình cố gắng tạo một mô hình người dùng dựa trên đánh giá của người dùng trong quá khứ và
dùng nó để dự đoán đánh giá của người dùng đối với các đối tượng chưa truy cập Trong báo cáo của J.Breese và đồng sự [11] có đề cập tới một ví dụ sử dụng hai mô hình xác suất: mô hình phân cụm và mô hình Bayesian Tuy nhiên thuật toán này lại chỉ chia người dùng vào một nhóm duy nhất trong khi sở thích của họ lại có thể theo nhiều thể loại khác nhau Nhiều thuật toán dựa theo mô hình mới được nghiên cứu đã nắm bắt mối quan tâm
đa dạng của người dùng bằng cách phân họ vào nhiều cụm hoặc lớp khác nhau Các phương pháp dựa trên mô hình gồm có: chỉ số ngữ nghĩa ẩn (latent semantic indexing – LSI) [12], phân cụm Bayesian [11], chỉ số ngữ nghĩa ẩn theo xác suất (probabilistic latent semantic indexing – PLSI) [13], mô hình hệ số bội (multiple multiplicative Factor Model) [14], tiến trình Markov (Markov Decision process) [15], phân phối Dirichlet (Latent Dirichlet Allocation) [16]
Nhược điểm của các hệ thống gợi ý dựa vào cộng tác:
- Vấn đề người dùng mới: hệ thống dựa vào cộng tác cũng gặp phải vấn đề giống như đối với hệ thống gợi ý dựa vào nội dung trong trường hợp người dùng mới tạo tài khoản và hệ thống chưa dự đoán được người dùng muốn điều gì, thích điều gì
- Xử lý đối tượng mới: các đối tượng dữ liệu mới được cập nhật thường xuyên, nhất
là đối với tin tức Trong khi đó, hệ thống gợi ý phải đợi đủ số lượt đánh giá mới
mô tả, dự đoán được đối tượng Điều này làm cho việc người dùng tiếp cận với