ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
TRƢƠNG VĨNH LONG
MÔ HÌNH HÓA NGƢỜI DÙNG VÀ ỨNG DỤNG BỘ LỌC
CỘNG TÁC TRONG HỆ THỐNG GỢI Ý TIN TỨC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2013
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
TRƢƠNG VĨNH LONG
MÔ HÌNH HÓA NGƢỜI DÙNG VÀ ỨNG DỤNG BỘ LỌC
CỘNG TÁC TRONG HỆ THỐNG GỢI Ý TIN TỨC
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬ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
1
Mụ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
2
2.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.
3
Danh 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
4
Danh 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
5
TÓ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
6
Chươ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.
7
Chƣơ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
8
- 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
9
anh 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 đó.
10
Hình 1.2: Giao diện trang web baomoi.com
11
Chƣơ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
12
trong 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.
13
Nhữ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.
14
- 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
15
hoặ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
Kỹ thuật
Ưu điểm
Nhược điểm
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
16
- 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
17
Mạ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
chỉnh bởi người sử dụng.
Bảng 2.2: So sánh các kỹ thuật mô hình hóa qua các đặc tính
Kỹ thuậ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ả
Mô hình tuyến
tính
Có
Có
Có
Có
18
Cây quyết định
Có
Không
Có
Có
Mạng neural
Không
Có
Có
Có
Phân lớp
Không
Có
Không
Không
Phân cụm
Không
Có
Không
Không
Luật kết hợp
Không
Có
Không
Không
Khai phá văn
bản
Không
Có
Không
Không
Mạng Bayes
Có
Không
Có
Có
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
i
f
TF t d
T
(2.1)
19
Trong công thức 2.1, TF(t
i
,d) là chỉ số TF của từ khóa t
i
trong văn bản d, f
i
là số lần
xuất hiện của từ khóa t
i
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
( ) log( )
i
i
N
IDF t
df
(2.2)
Trong công thức 2.2, N là tổng số tài liệu, df
i
là số lượng tài liệu có xuất hiện từ
khóa t
i
. Nếu t
i
xuất hiện trong càng ít văn bản thì có nghĩa khi nó xuất hiện trong văn bản
d trọng số của nó đối với d càng lớn, hay nói cách khác t
i
góp phần quan trọng trong việc
phân biệt d với các văn bản khác. Nghịch đảo tần số IDF được áp dụng nhiều hơn tần số
IF, nhưng lại không tính đến ý nghĩa của việc một từ khóa xuất hiện bao nhiêu lần trong
cùng một văn bản mà chỉ chú trọng tới mức độ phổ biến của từ khoá trong tập văn bản.
Kết hợp giữa TF và IDF ta được công thức cho độ đo TF-IDF
( , ) ( , )* ( )
i i i
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ố
12
( ) (w ,w , ,w )
n
profile u
và w
i
là trọng số thể hiện độ quan trọng của từ khóa t
i
đố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
12
( , , , )
n
d x x x
20
1
22
11
w
os( ( ), )
w*
n
ii
i
nn
ii
ii
x
c profile u d
x
(2.4)
Ngoà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].
21
Cá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(u
i
,u
j
) 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 u
i
cho bởi công thức
,
( , )*w(u , )
i
u s j i j
ji
r I u s u
(2.5)
Phương thức gợi ý dựa vào bộ nhớ phát triển nhanh chóng nhờ vào tính đơn giản và
quá trình huấn luyện tương đối dễ hiểu. Tuy vậy một trong số những trở ngại chính cho
phương thức này là khó có khả năng mở rộng [10].
Đố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
22
các gợi ý có đối tượng mới phải chịu một độ trễ. Vấn đề người dùng mới và xử
lý đối tượng mới có thể được khắc phục bằng việc xây dựng hệ thống kết hợp gợi
ý theo cộng tác với gợi ý theo nội dung.
- Sự thưa thớt dữ liệu: số lượng đánh giá thu thập được từ người dùng luôn nhỏ hơn
lượng hệ thống mong muốn có được, nhất là với những hệ thống phụ thuộc đánh
giá của người dùng. Vì vậy vấn đề là phải tăng hiệu quả tổng hợp điểm số của
đối tượng dựa trên số ít mẫu đánh giá.
2.2.3. Hệ thống kết hợp
Hệ thống gợi ý kết hợp sử dụng cả hai phương pháp là gợi ý theo nội dung và gợi ý
cộng tác trong một tổng thể để phát huy ưu điểm và hạn chế nhược điểm của chúng. Cách
triển khai hệ thống kết hợp có thể là một trong số những hướng chính
- Cài đặt độc lập và tổng hợp kết quả: đây là hướng kết hợp đầu tiên do ý tưởng đơn
giản và dễ hiểu, chia thành hai nhánh phát triển. Nhánh thứ nhất là gộp kết quả
riêng lẻ từng hệ thống thành kết quả chung như kết hợp dạng tuyến tính theo
nghiên cứu của M.Claypool [17] hoặc dùng cách thức bầu chọn trong hệ thống
của M.Pazzani [18]. Nhánh thứ hai là so sánh tập kết quả của hai hệ thống và
quyết định sử dụng tập kết quả được đánh giá tốt hơn.
- Thêm thuộc tính cộng tác vào mô hình gợi ý dựa trên nội dung: dạng phổ biến của
kỹ thuật kết hợp này là dùng dữ liệu hợp tác để giảm số lượng trường đánh giá
trong đặc trưng dựa theo nội dung.
- Thêm thuộc tính nội dung vào mô hình cộng tác: gần như đối xứng với phương
pháp nêu bên trên. Ngoài việc cài đặt mô hình cộng tác thuần túy, hồ sơ người
dùng còn được lưu thêm một đặc trưng nội dung của các đối tượng họ quan tâm.
Các đặc trưng này góp phần trong công thức tính độ tương đồng giữa người
dùng, do đó tăng hiệu quả hệ thống gợi ý. Bổ sung này giúp cho hệ thống không
chỉ gợi ý tới người dùng những đối tượng được người dùng khác quan tâm mà
còn gợi ý cả những đối tượng phù hợp với đặc trưng của chính người dùng đó.
- Xây dựng mô hình thống nhất: hướng phát triển này cũng thu hút nhiều nghiên cứu
khác nhau. Một ví dụ là hệ thống gợi ý thống nhất của A.Gunawardara và
C.Meek sử dụng máy Boltzmann (Boltzmann machines) [19].
23
2.3. Một số hệ thống gợi ý tin tức theo hƣớng cộng tác
2.3.1. Mô hình cộng tác dựa trên chuỗi sự kiện
F.Garcin và các cộng sự [20] đề xuất một bộ lọc cộng tác dựa trên việc theo dõi
thạng thái duyệt tin của người dùng. Mô hình đưa ra gồm 2 tham số: tham số quá khứ p
và tham số tương lai f. Tham số quá khứ p chỉ ra lượng thông tin trong lịch sử dùng trong
việc tạo gợi ý và tham số tương lại f là số bước dự đoán trong tương lai. Ví dụ nếu p=3 và
f=2, mô hình hệ thống là mô hình 3 chiều và tìm kiếm khả năng dự đoán hành động người
dùng trong 1 hoặc 2 bước tiếp theo.
Ký hiệu N là tập hợp bản tin, và S là tập hợp các trạng thái. Một trạng thái s
S là
một chuỗi gồm p bản tin, biểu diễn s = (n
1
, n
2
, …, n
p
) với ý nghĩa n
1
→n
2
→…→n
p
. Mỗi
lượt duyệt tin của người dùng biểu diễn bởi 1 chuỗi trạng thái. Ví dụ nếu p=3, người dùng
duyệt qua các bản tin với thứ tự n
1
→n
2
→n
3
→n
4
→n
5
, phiên truy cập biểu diễn qua chuỗi
trạng thái (n
1
→n
2
→n
3
)→(n
2
→n
3
→n
4
)→(n
3
→n
4
→n
5
).
Bộ lọc cộng tác trên cơ sở bản tin định nghĩa như sau. Ký hiệu TP(s
i
,s
j
) là khả năng
xảy ra chuyển đổi từ trạng thái s
i
sang trạng thái s
j
, biểu diễn bằng tỉ lệ số lượng trường
hợp chuyển đổi s
i
sang s
j
xảy ra trên tổng số lần chuyển đổi từ s
i
sang một trạng thái trên
hệ thống.
( , )
( , )
( , )
ij
ij
i
sS
count s s
TP s s
count s s
(2.6)
Với bản tin n và trạng thái s = (n
1
, n
2
, …, n
p
), khả năng người dùng đang ở trạng thái
s chuyển sang đọc bản tin n ngay sau 1 lần chuyển trạng thái là
1 2 3
( , ) ( ,( , , , , ))
p
RP s n TP s n n n n
(2.7)
Áp dụng cho tham số tương lai f, khả năng người dùng đang ở trạng thái s chuyển
sang đọc bản tin n sau f bước chuyển trạng thái là
'
''
1
( , ) ( , ) ( , )
ff
sS
RP s n TP s s RP s n
(2.8)
Do đó, khả năng duyệt tới bản tin n từ trạng thái s sau nhiều nhất f bước chuyển
trạng thái là