Tải bản đầy đủ (.docx) (89 trang)

Nghiên cứu và ứng dụng khai phá dữ liệu để xây dựng hệ tư vấn cho diễn đàn trực tuyến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 89 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ THỊ PHƯỢNG

NGHIÊN CỨU VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY
DỰNG HỆ TƯ VẤN CHO DIỄN ĐÀN TRỰC TUYẾN

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2013


1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ THỊ PHƯỢNG

NGHIÊN CỨU VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY
DỰNG HỆ TƯ VẤN CHO DIỄN ĐÀN TRỰC TUYẾN

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: PGS.TS. Nguyễn Hà Nam

Hà Nội - 2013




2

Mục Lục

Lời cảm ơn .......................................................................................................................
Lời cam đoan ...................................................................................................................
Danh mục hình vẽ ............................................................................................................
Danh mục bảng biểu ........................................................................................................
Danh mục các từ viết tắt ..................................................................................................
Lời mở đầu.......................................................................................................................
Chương 1.
Giới thiệu bài toán
1.1.Đặt vấn đề ................................................................
1.2.Mục tiêu đề tài ..........................................................
1.3.Phương pháp nghiên cứu ..........................................
1.4.Bố cục luận văn ........................................................
Chương 2.
Tổng quan về hệ tư
2.1.Lý thuyết hệ tư vấn ...................................................
2.2.Phân loại hệ tư vấn ...................................................
2.2.1. Hệ tư vấn dựa trên nội dung ........................................................................
2.2.2. Hệ thống lọc cộng tác ..................................................................................
2.3.Nghiên cứu một số hệ thống gợi ý tin tức ................
2.3.1. Trang web Amazon.com .............................................................................
2.3.2. Trang web baomoi.com ...............................................................................
2.3.3. Hệ thống gợi ý tin Việt xenoNews ..............................................................
Chương 3. Kỹ thuật lọc cộng tác trong hệ tư vấn và nghiên cứu liên quan ..................
3.1. Các độ đo tương tự và vận dụng trong lọc cộng tác ...........................................

3.1.1. Phép đo khoảng cách Minkowski ................................................................
3.1.2. Khoảng cách Hamming ...............................................................................
3.1.3. Độ tương quan Pearson ...............................................................................
3.1.4. Độ tương đồng dựa trên Cosine ...................................................................
3.1.5. Độ tương đồng Jaccard ................................................................................
3.2.Các kỹ thuật trong lọc cộng tác ................................
3.2.1. Lọc cộng tác dựa trên kinh nghiệm .............................................................
3.2.1.1. Lọc cộng tác dựa vào người dùng ..............
3.2.1.2. Lọc cộng tác dựa vào tài nguyên ................
3.2.2. Lọc cộng tác dựa trên mô hình ....................................................................
3.3.Kỹ thuật chọn tốp N gợi ý trong lọc cộng tác ..........
3.4. Một số nghiên cứu về khắc phục hạn chế lọc cộng tác ......................................
Chương 4. Xây dựng mô hình và thực nghiệm .............................................................
4.1.Hệ thống lọc tin cho diễn đàn ...................................
4.2.Quá trình xử lý bộ lọc tin cho diễn đàn ....................
4.2.1. Tính điểm, tạo ma trận rate..........................................................................
4.2.2. Xây dựng nhóm người dùng tương tự .........................................................


3
4.2.3. Tạo tốp N gợi ý ............................................................................................
4.2.4. Kiểm tra điều kiện .......................................................................................
4.3. Ví dụ minh họa quá trình xử lý của bộ lọc .........................................................
4.4. Môi trường thực nghiệm bộ lọc ..........................................................................
4.5. Mô tả và chuyển đổi dữ liệu diễn đàn ................................................................
4.6. Thực nghiệm và đánh giá kết quả .......................................................................
4.6.1. Độ đo đánh giá bộ lọc tin diễn đàn ..............................................................
4.6.2. Thực nghiệm và phân tích kết quả ..............................................................
Kết luận ..........................................................................................................................
Tài liệu tham khảo .........................................................................................................



4

Lời cảm ơn
Trước tiên, tôi xin gửi lời cảm ơn sâu sắc nhất tới PGS.TS. Nguyễn Hà Nam,
Đại học Công nghệ, Đại học Quốc Gia Hà Nội đã tận tình hướng dẫn tôi trong suốt
quá trình thực hiện luận văn tốt nghiệp.
Tôi xin bày tỏ lời cảm ơn chân thành tới trường Đại học Công Nghệ và những
thầy cô giáo tôi đã giảng dạy, truyền thụ kiến thức trong thời gian tôi học tập tại
trường.
Cuối cùng, tôi xin cảm ơn tất cả gia đình, bạn bè, những người thân yêu đã luôn
ủng hộ, động viên, giúp đỡ, tạo điều kiện cho tôi hoàn thành luận văn.
Do thời gian có hạn nên luận văn không thể tránh khỏi những thiếu sót. Rất
mong nhận được sự đóng góp ý kiến của thầy, cô giáo, bạn bè, quý vị quan tâm tới đề
tài này để luận văn được hoàn thiện hơn.

Học viên
Vũ Thị Phượng


5

Lời cam đoan
Tôi xin cam đoan các kết quả đạt được trong luận văn là sản phẩm của riêng cá
nhân tôi. Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc
một cách rõ ràng và được trích dẫn hợp pháp. Trong luận văn, không có việc sao chép
tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo.

Học viên

Vũ Thị Phượng


6

Danh mục hình vẽ
Hình 2.1. Tư vấn dựa trên nội dung ..............................................................................
Hình 2.2. Tư vấn dựa trên cộng tác ...............................................................................
Hình 2.3. Hệ thống tư vấn lai Fab .................................................................................
Hình 2.4. Hệ thống tích hợp gợi ý sách của Amazon.com ............................................
Hình 2.5. Giao diện gợi ý sản phẩm đã được đánh giá của Amazon ............................
Hình 2.6. Giao diện tạo chuyên mục trên trang web baomoi.com ................................
Hình 2.7. Giao diện gợi ý tin không được sắp xếp của baomoi.com ............................
Hình 3.1. Đồ thị ví dụ so sánh đánh giá của người dùng lân cận .................................
Hình 3.2. Sơ đồ thể hiện quy trình của CF ....................................................................
Hình 3.3. Mô tả CF dựa vào người dùng ......................................................................
Hình 3.4. Minh họa phương pháp user - based .............................................................
Hình 3.5. Minh họa vấn đề chọn k hàng xóm ................................................................
Hình 3.6. Minh họa phương pháp item - based .............................................................
Hình 4.1. Quá trình xử lý của bộ lọc .............................................................................
Hình 4.2. Quá trình chuyển đổi dữ liệu của bộ lọc .......................................................
Hình 4.3. So sánh độ đo F1 khi dùng hàm tương quan Cosine và Euclidean ...............


7

Danh mục bảng biểu
Bảng 2.1. Tổng hợp ba phương pháp tư vấn và các kỹ thuật hỗ trợ [1] .......................
Bảng 3.1. Ví dụ đánh giá của người dùng ...................................................................
Bảng 3.2. Giá trị khoảng cách dùng độ đo Manhattan ................................................

Bảng 3.3. Giá trị khoảng cách dùng độ đo Euclidean ..................................................
Bảng 3.5. Ma trận ví dụ minh họa độ tương đồng Cosine ............................................
Bảng 3.6. Ma trận mô tả trung bình các giá trị trong ma trận user-item .....................
Bảng 3.7. Bảng minh họa mô hình cộng đồng đa tiêu chí ...........................................
Bảng 4.1. Ma trận rate đầu vào cho thuật toán CF ......................................................
Bảng 4.2. Ma trận rate phản ánh k người dùng gần nhất .............................................
Bảng 4.3. Bảng ma trận giá trị ví dụ quá trình xử lý bộ lọc .........................................
Bảng 4.4. Bảng ma trận ví dụ minh họa kỹ thuật tốp N ................................................
Bảng 4.5. Bảng mô tả các thành phần của độ đo đánh giá ...........................................
Bảng 4.6. Bảng ma trận giá trị ví dụ đánh giá bộ lọc ...................................................
Bảng 4.7. Thống kê độ chính xác với k hàng xóm khác nhau .......................................
Bảng 4.8. Thống kê chi tiết các kết quả đánh giá dùng độ đo Cosine ..........................


CSDL
RS
CF
CB


9

Lời mở đầu
Ngày nay với tốc độ phát triển mạnh mẽ của Internet mang đến cho con người
nhiều tiện ích, dịch vụ khác nhau. Đặc biệt với sự tham gia của thương mại điện tử,
các trang mạng cá nhân, diễn đàn điện tử, blog….. số lượng thông tin trao đổi trên
Internet đang tăng theo cấp số nhân. Người dùng dễ bị ngập lụt trong nhiều nguồn,
nhiều loại thông tin mà không biết làm thế nào để tiếp cận thông tin mình muốn một
cách nhanh nhất, đôi khi còn rơi vào tình trạng vô phương hướng vì không nhận ra
thông tin, sản phẩm nào là quan trọng và phù hợp với mình nhất. Mặc dù ngay nay đã

có một số công cụ tìm kiếm với từ khóa như google, yahoo và mới nhất là bing giúp
chúng ta tìm kiếm những thông tin cần thiết. Tuy vậy, với lượng thông tin tăng lên
nhanh chóng các công cụ này cũng dần tỏ ra không hoàn toàn đáp ứng được nhu cầu
con người. Người dùng vẫn phải bỏ ra quá nhiều thời gian để lọc những thông tin từ
kết quả tìm kiếm của các máy tìm kiếm này. Vậy nhu cầu đặt ra là cần có một hệ thống
tư vấn để định hướng người dùng đến những thông tin quan trọng và phù hợp với
nhiều nhu cầu khác nhau của họ. Các hệ tư vấn này sẽ tính toán và dự đoán khả năng
người dùng sẽ thích sản phẩm hay thông tin nào đó, từ đó đưa ra những gợi ý phù hợp
với người dùng nhất.
Trong thế giới Internet có rất nhiều trang web cần đến hệ tư vấn hơn cả như: một
trang kinh doanh sản phẩm, người dùng cần và nên được tư vấn các sản phẩm phổ
dụng, hiện đại và phù hợp với sở thích và mục đích sinh hoạt của họ; một trang tin tức
tổng hợp, người dùng không muốn mất quá nhiều thời gian tản mạn ở các kết nối khác
nhau hay một trang xem phim người dùng đắm chìm trong biển vô số các phim trong
và ngoài nước mà không biết phim nào mình thực sự hứng thú. Đặc biệt hơn cả là sự
xuất hiện nhiều diễn đàn điện tử (forum) của một cá nhân, một nhóm cá nhân hay một
tổ chức nào đó. Vấn đề tôi muốn đề cập trong luận văn này là sự cần thiết của một hệ
gợi ý tin trong diễn đàn điện tử. Luận văn định hướng nghiên cứu tổng quan về hệ tư
vấn và trọng tâm là hệ thống gợi ý tin tức dựa vào cộng tác định hướng người dùng
theo phương pháp láng giềng gần nhất (user- based - nearest neigbor collaborating
fillter), sử dụng kỹ thuật tốp N gợi ý và vận dụng vào hệ thống diễn đàn điện tử Tuệ
Tĩnh.


10

Chương 1. Giới thiệu bài toán
1.1. Đặt vấn đề
Diễn đàn điện tử (sau đây gọi tắt là diễn đàn) là nơi mọi người có thể trao đổi,
thảo luận, bày tỏ ý kiến về những vấn đề cùng quan tâm. Do đó bản thân nó đã đáp

ứng phần nào nhu cầu của người dùng tham gia diễn đàn. Điểm mạnh của diễn đàn
chính là người dùng không những tiếp cận được thông tin chính thống (một chiều) như
ở các website hay báo điện tử mà còn nhận được thông tin đa chiều và có thể bày tỏ
chính kiến, cảm xúc của bản thân trước một vấn đề, một sự kiện hay trực tiếp tạo ra
một chủ đề mà mình yêu thích. Do đó, ngày nay lượng người tham gia vào diễn đàn
ngày càng tăng, các bài viết, chủ đề thảo luận ngày càng phong phú, đa dạng, số lượng
các diễn đàn xuất hiện trên hệ thống Iternet tăng lên đáng kể. Và như thế với một diễn
đàn mà lĩnh vực thảo luận ở phạm vi rộng, dành cho một lượng lớn người dùng như
diễn đàn của một trường học dành cho nhiều thế hệ học sinh, hay diễn đàn của các chị
em bàn về nhiều vấn đề liên quan đến phái đẹp… thì vấn đề, chủ đề nào, bài viết nào
mà cần thiết với tôi hơn cả là vấn đề cần đến sự tư vấn. Hơn nữa, không phải bài viết
nào, chủ đề thảo luận nào cũng phù hợp với bất cứ người dùng nào, có những bài viết
được nhiều người thảo luận, trao đổi nhưng chưa chắc tôi quan tâm. Do đó việc tạo ra
một hệ thống tư vấn để gợi ý các bài tin phù hợp với từng người dùng khác nhau trong
diễn đàn là cần thiết.
Diễn đàn Tuệ Tĩnh là một diễn đàn dành cho nhiều thế hệ cựu học sinh và học
sinh đã, đang học trực tiếp tại trường THPT Tuệ Tĩnh. Do đặc thù diễn đàn dành riêng
cho đối tượng như vậy nên sự trung thành và tín nhiệm với hoạt động diễn đàn được
ưu tiên hàng đầu. Do vậy, khi tham gia diễn đàn thì hệ thống luôn yêu cầu người dùng
phải đăng nhập, nếu chưa có tài khoản thì yêu cầu đăng ký rồi mới được đăng nhập.
Diễn đàn hoạt động ở nhiều lĩnh vực, chủ đề trao đổi khác nhau. Do đó hệ thống tư vấn
dành cho diễn đàn mong muốn phục vụ càng nhiều và càng sát nhu cầu người dùng
càng tốt. Mỗi khi người dùng đăng nhập vào diễn đàn hệ thống gợi ý tin mà tôi muốn
xây dựng sẽ gợi ý các bài viết nên đọc cho người dùng này nhằm giảm bớt thời gian
duyệt web.
Hệ tư vấn là hệ thống có khả năng tự động phân tích, phân loại, lựa chọn và
cung cấp cho người dùng những thông tin, hàng hóa hay dịch vụ, sản phẩm (gọi chung
là đối tượng) mà họ quan tâm. Từ thông tin hồ sơ, các đánh giá của người dùng, hệ tư
vấn tính toán khả năng người dùng sẽ thích đối tượng nào đó. Việc tính toán này có
nhiều cách khác nhau, tuy nhiên về bản chất có hai loại chủ yếu đó là hệ tư vấn dựa

trên nội dung và hệ tư vấn dựa vào cộng tác (lọc cộng tác). Tư vấn dựa theo nội dung
khai thác những khía cạnh liên quan đến nội dung thông tin đối tượng hoặc người dùng
đã từng quan tâm trong quá khứ để tạo nên tư vấn những đối tượng mới (với họ) tương
tự với lịch sử của chính họ. Trái lại, lọc cộng tác khai thác những khía cạnh liên quan
đến thói quen, sở thích của người sử dụng tương đồng (người dùng khác cùng sở


11
thích) để gợi ý các đối tượng mới cho người dùng này. Lọc cộng tác có thể xử lý mọi
loại dữ liệu và gợi ý mọi loại đối tượng, kể cả những đối tượng mới, khác hoàn toàn so
với những gì người dùng từng xem. Lọc theo nội dung thực hiện hiệu quả với các dạng
thông tin được biểu diễn dưới dạng các đặc trưng nội dung nhưng lại khó lọc được các
dạng thông tin đa phương tiện. Lọc cộng tác là một kỹ thuật mạnh và nó đã được áp
dụng khá thành công trong nhiều hệ tư vấn.
Đặc thù của một diễn đàn giữa người dùng và bài viết luôn tồn tại nhiều loại
tương tác như đọc, lướt, comment, post… hơn nữa thường tương tác theo xu hướng
nhóm người cùng thị yếu, do đó cách tiếp cận của hệ thống tư vấn theo hướng lọc
cộng tác, gợi ý dựa theo sở thích của người dùng tương đồng là hoàn toàn phù hợp.
1.2. Mục tiêu đề tài
-

Nghiên cứu tổng quan về hệ tư vấn.

Nghiên cứu các kỹ thuật tư vấn thông tin dựa trên lọc cộng tác và các vấn đề
nghiên cứu liên quan.
Tìm hiểu thực trạng bài toán diễn đàn và tiền xử lý dữ liệu làm đầu vào cho kỹ
thuật lọc cộng tác.
Xây dựng thử nghiệm lọc cộng tác tin dựa trên kỹ thuật hàng xóm gần nhất
(user-nearest neighbor), sử dụng kỹ thuật lấy tốp N gợi ý để tư vấn người dùng tham
gia diễn đàn.

1.3 . Phương pháp nghiên cứu
Để hoàn thành nội dung luận văn, trước hết tôi đi tìm hiểu nhu cầu và thực trạng
của người dùng duyệt web nói chung và người tham gia diễn đàn nói riêng. Sau đó
tìm hiểu tổng quan về hệ tư vấn, các hệ thống tư vấn trên thực tế. Tiếp đến tìm hiểu
đặc trưng dữ liệu diễn đàn từ đó tìm hướng khai thác chúng. Song song với nó là tìm
hiểu các kỹ thuật trong hệ tư vấn, từ đó chọn ra hướng tiếp cận tư vấn dựa vào cộng
tác là phù hợp cho diễn đàn.
Khi đã xác định được hướng tiếp cận tôi tiến hành nghiên cứu các thuật toán và
chọn kỹ thuật phù hợp nhất với đặc điểm của diễn đàn. Tiến hành khai thác các tương
tác người dùng tồn tại trong CSDL để xây dựng thử nghiệm bộ lọc tin cho diễn đàn.
Cuối cùng một số thử nghiệm khác nhau sẽ được tiến hành nhằm gợi ý cho từng người
dùng riêng lẻ khi họ tham gia diễn đàn (có mã người dùng) và đánh giá chất lượng của
bộ lọc.
1.4. Bố cục luận văn
Chương 1. Giới thiệu bài toán
Nêu bài toán nghiên cứu của luận văn, mục tiêu và phương pháp nghiên cứu


12
Chương 2. Tổng quan về hệ tư vấn
Trình bày kiến thức tổng quan về hệ tư vấn, phân biệt các loại hệ tư vấn và nêu
ưu, nhược điểm của chúng. Tiếp theo tác giả tìm hiểu và đánh giá một số hệ thống tư
vấn trên thế giới và Việt Nam, từ đó phân tích sự khác biệt của mô hình tư vấn tin
trong diễn đàn với các hệ thống trên.
Chương 3. Kỹ thuật lọc cộng tác trong hệ tư vấn và nghiên cứu liên quan
Tìm hiểu hệ tư vấn dựa vào cộng tác và các vấn đề liên quan (các độ đo tương
tự, kỹ thuật lọc cộng tác dựa vào láng giềng gần nhất và kỹ thuật chọn tốp N gợi ý)
phục vụ cho việc xây dựng bộ lọc tin diễn đàn ở chương 4. Ngoài ra còn nghiên cứu
thêm về các hướng khắc phục hạn chế của lọc cộng tác đã và đang được sử dụng, đề
xuất hướng khắc phục người dùng mới.

Chương 4. Xây dựng mô hình và thực nghiệm
Trình bày tổng quan về mô đun lọc cộng tác của diễn đàn và các thành phần cấu
thành lên mô đun. Tiếp theo tác giả trình bày các đặc điểm của dữ liệu diễn đàn Tuệ
Tĩnh, xây dựng và cài đặt bộ lọc tin cho diễn đàn. Phần còn lại của chương tập trung
phân tích kết quả thực nghiệm và đánh giá thuật toán. Phân tích tính đúng đắn và hiệu
năng của hệ thống đã xây dựng từ đó định hướng nghiên cứu trong tương lai.


13

Chương 2. Tổng quan về hệ tư vấn
2.1. Lý thuyết hệ tư vấn
Hệ tư vấn (Recommender System - RS) hay còn gọi là hệ gợi ý: là chương trình
hay tập hợp các kỹ thuật nhằm dự đoán các đối tượng mà người dùng có thể quan
tâm [30]. Có nghĩa là nó có khả năng tự động phân tích, phân loại, lựa chọn và cung
cấp cho người dùng những thông tin, hàng hóa hay dịch vụ mà họ quan tâm. Nhiều
hệ tư vấn đã được thương mại hóa và triển khai thành công, tiêu biểu trên thế giới là
hệ tư vấn của hãng Amazon.com, netflix.com, Proter và Gamble...
Để khái quát hệ tư vấn, có thể mô tả bài toán tư vấn như sau:
Gọi U là tập tất cả người dùng (user), S là tập tất cả các đối tượng có thể tư vấn.
Tập S có thể rất lớn, hàng trăm ngàn (như tư vấn sách của Amazon.com) đến hàng
triệu (như tư vấn website). Tập U có thể lên đến hàng triệu người. Như vậy, trong hệ tư
vấn sẽ bàn đến hai thực thể là người dùng (khách hàng) và đối tượng cần tư vấn (sản
phẩm, bài viết...). Một người dùng sẽ có những quan điểm về các đối tượng đã từng
tương tác và nhận được gợi ý từ hệ thống tư vấn về các đối tượng mà họ chưa tương
tác tới.
Đầu vào của hệ tư vấn phụ thuộc vào thuật toán của từng loại tư vấn nhìn chung
thì nó thường bao gồm [13]:
1- Ratings (còn gọi là điểm – votes): mô tả quan điểm đánh giá của người dùng
trên các đối tượng. Điểm thường được biểu diễn bởi các số nguyên (như trong

Amazon, nó thuộc [1..5] với ý hiểu, 1 là điểm đánh giá cho đối tượng đó là thấp,
5 là đánh giá cao cho đối tượng đó). Ngoài ra người ta còn chọn mức điểm là 0
(không thích) hay 1 (thích). Đây thường là input cho thuật toán tư vấn bằng
phương pháp lọc cộng tác sẽ trình bày chi tiết chương 3.
2- Dữ liệu nhân khẩu học (demographic data): hay còn gọi là hồ sơ (profile) người
dùng như các thông tin hiện là: tuổi, nghề nghiệp, giới tính, quê quán.... hay các
thông tin ẩn như lịch sử các từ khóa tìm kiếm, tần số lặp lại các từ khóa.
3- Nội dung dữ liệu (Content data) dựa trên việc phân tích văn bản của tài liệu liên
quan đến các đối tượng được đánh giá bởi người sử dụng.
Đầu ra của hệ tư vấn: Các hệ thống tư vấn này sẽ tính toán và dự đoán đối
tượng mà khả năng người dùng sẽ thích. Từ đó đưa ra những gợi ý những đối tượng
phù hợp với người dùng nhất mà trước đó họ chưa quan tâm.
Để làm được điều này các hệ tư vấn đi xây dựng hồ sơ (Profile) của người
dùng. Hồ sơ của người dùng bao gồm thông tin rõ ràng và thông tin ẩn. Những thông
tin rõ ràng là những thông tin được người dùng cung cấp cụ thể thông qua việc trả lời
các câu hỏi, hay những thể hiện cụ thể như: người dùng mua sản phẩm, người dùng
đưa đánh giá cho một sản phẩm, một bản tin nào đó hay sở thích của người dùng là gì?


14
Trong hệ tư vấn, độ phù hợp của một đối tượng thường thông qua điểm (rate),
ví dụ người dùng A đánh giá bộ phim ― Star war được điểm 7/10. Tuy nhiên, nhìn
chung độ phù hợp có thể là một hàm bất kì tùy thuộc vào ứng dụng cụ thể.
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các đối tượng như sử
dụng học máy, lí thuyết xấp sỉ, các thuật toán dựa trên kinh nghiệm… C ác hệ thống
tư vấn thường được phân thành ba loại dựa trên cách nó dùng để ước lượng hạng của
đối tượng tư vấn [19]:
 Dựa trên nội dung (content-based): người dùng được gợi ý những đối
tượng tương tự như các đối tượng từng được họ đánh giá cao.


Cộng tác (collaborative): người dùng được gợi ý những đối tượng mà
những người cùng sở thích với họ đánh giá cao.


Lai ghép (hybrid): kết hợp cả hai phương pháp dựa trên.

2.2. Phân loại hệ tư vấn
2.2.1. Hệ tư vấn dựa trên nội dung
Với phương pháp tư vấn dựa trên nội dung (Content Based – CB), xét S là tập hợp
các đối tượng cần tư vấn thì độ phù hợp của người dùng u với đối tượng s S được đánh
giá dựa trên độ phù hợp của người dùng u với các đối tượng si trong đó si S và tương tự
với s. Ví dụ để gợi ý một cuốn sách cho người dùng u, hệ thống tư vấn sẽ tìm đặc điểm
của những cuốn sách từng được u đánh giá cao (theo một số tiêu chí như: tác giả, thể
loại, ....), sau đó chỉ ra những cuốn sách mới (so với u) tương đồng với sở

thích trong quá khứ của u để giới thiệu [1] .
Trong phương pháp lọc dựa trên nội dung, hệ thống sẽ phân tích và so sánh nội
dung của các đối tượng từ đó đánh giá khả năng người dùng sẽ thích đối tượng đó.
Ngoài ra nó còn so sánh nội dung của đối tượng hay thông tin với sở thích mà người
dùng cung cấp. Chẳng hạn người dùng quan tâm tới những thông tin về chứng khoán
thì sẽ được tư vấn những bản tin nói về chứng khoán…
Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập
thông tin (IR-Information Retrieval) và lọc thông tin (IF-Information Filtering). Do
đó, rất nhiều hệ thống dựa trên nội dung hiện nay tập trung vào tư vấn các đối tượng
chứa dữ liệu text như văn bản, tin tức, website… 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 phạm vi đối tượng là các 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.
Để rõ hơn ta đặt Content(s) là tập thông tin (tập các đặc trưng) về đối tượng s.



15
Content(s)=ws=(w1s,w2s,....,wks), với w1s,w2s,....,wks là trọng số của các từ khóa từ 1 tới

k. Các trọng số này thường được xác định bằng độ đo TF-IDF (Term Frequency –
Inverse Document Frequency) [1]. Ví dụ Fab [4], một hệ tư vấn website đã biểu diễn
nội dung các trang web bằng 100 từ quan trọng nhất. Tương tự, hệ thống Syskill
&Webert [8] biểu diễn văn bản bằng 128 từ có trọng số cao nhất.
Đặt profile(u) là hồ sơ về người dùng u, bao gồm các thông tin về sở thích của u.
Những thông tin này có được bằng cách phân tích nội dung của các đối tượng từng được
u đánh giá (cho điểm) trước đó. Profile(u) cũng có thể được định nghĩa như một vector
trọng số: Profile(u)=wu = (w1u,w2u,....,wku). Trong đó wiu biểu thị độ quan trọng
của từ khóa i với người dùng u. Trong hệ tư vấn dựa trên nội dung độ phù hợp r(u,s)
được xác định bởi công thức: r(u,s)=score(profile(u),contents(s))

Vì cả profile(u) và contents(s) đều có thể biểu diễn bằng vector trọng số thông
qua TF-IDF (tương ứng là wc , ws ) nên có thể đo độ tương đồng của chúng bằng độ đo
Cosine (sẽ được nghiên cứu phần 3.1).
Ví dụ: nếu u đọc nhiều bài báo thuộc lĩnh vực tin học thì các từ khóa liên quan
tới công nghệ (IT, thông tin, phần mềm, dữ liệu..) trong profile(u) sẽ có trọng số cao.
Kết quả là với các bài báo s cũng thuộc lĩnh vực này sẽ có độ phù hợp r(u,s) cao hơn
với người dùng u.
Những tiến bộ so với hướng tiếp cận cũ của IR là do việc sử dụng hồ sơ người
dùng (chứa thông tin về sở thích, nhu cầu…). Hồ sơ này được xây dựng dựa trên
những thông tin được người dùng cung cấp trực tiếp (khi trả lời khảo sát) hoặc gián
tiếp (do khai phá thông tin từ các giao dịch của người dùng).

Hình 2.1. Tư vấn dựa trên nội dung [30]
Bên cạnh các phương pháp IR, hệ tư vấn dựa trên nội dung còn sử dụng nhiều

phương pháp học máy khác như: phân lớp Bayes, cây quyết định, mạng nơron nhân
tạo… Các phương pháp này khác với các phương pháp của IR ở chỗ nó dựa trên các


16
mô hình học được từ dữ liệu nền chứ không tính toán độ lợi thông tin dựa trên các hàm
tri thức như Cosine. Ví dụ, dựa trên tập các trang web đã được người dùng đánh giá là
có nội dung “tốt” hoặc “xấu” có thể sử dụng phân lớp Bayes để phân loại các trang
web chưa được đánh giá.



Hạn chế của hệ tư vấn dựa trên nội dung [4]

+
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ì
hệ thống không thể hiểu được sở thích của họ dẫn tới kết quả gợi ý không đạt độ chính
xác cao.
+
Vấn đề phân tích nội dung bị hạn chế (Restricted content analysis): Tính hiệu
quả của hệ tư vấn này phụ thuộc vào việc mô tả một cách đầy đủ các đặc trưng nội
dung của đối tượng. 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ì vậy, nội dung đối tượng phải hoặc có thể được trích xuất tự động bởi máy tính
hoặc dễ dàng được trích xuất bằng tay. Có nhiều trường hợp, yêu cầu này rất khó thực
hiện, ví dụ trong miền ứng dụng tư vấn dữ liệu đa phương tiện như ảnh đồ họa, phim,
âm thanh,… Trích xuất tự động đặc trưng nội dung của các đối tượng dữ liệu này là
một bài toán khó và việc trích xuất bằng tay là không khả thi do chi phí lớn.

+
Vấn đề “phù hợp quá mức”(overfitting): Khi gợi ý hệ thống sẽ phân tích 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. Trong nhiều trường hợp, những sản
phẩm không nên được tư vấn nếu nó quá giống với các đối tượng đã được đánh giá
trong lịch sử. Chẳng hạn như các bài tin giống bài tin cũ quá nhiều về nội dung, chỉ
dẫn lại được tư vấn lại vì nó giống (tương tự) sở thích cũ của người này. Tạo ra sự phù
hợp quá mức nhưng lại là gợi ý không hứng thú gì với người dùng. Vì trong các trường
hợp những đánh giá tốt của người dùng khác (có thể là tương đồng sở thích với mình)
rất đáng để tham khảo và được đưa ra để gợi ý. Để 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[12].


17
2.2.2. Hệ thống lọc cộng tác
Không giống như phương pháp tư vấn dựa trên nội dung, hệ thống tư vấn cộng
tác hay còn gọi là bộ lọc cộng tác (Collaborative Filtering-CF) dự đoán độ phù hợp
r(u,s) của người dùng u với một đối tượng s dựa trên độ phù hợp r(uj,s) giữa người
dùng uj và s, trong đó uj là người có cùng sở thích với u. Ví dụ, để gợi ý một cuốn
sách cho người dùng u, đầu tiên hệ thống cộng tác tìm những người dùng khác có
cùng sở thích (độ tương đồng) với u. Sau đó, những cuốn sách được họ đánh giá cao
sẽ được dùng để tư vấn cho u.

Hình 2.2. Tư vấn dựa trên cộng tác [30]
Lọc cộng tác khai thác những khía cạnh liên quan đến thói quen sở thích của
người sử dụng đối tượng để đưa ra dự đoán và phân bố các đối tượng cho người này.

Với hệ tư vấn dựa vào nội dung thì chủ yếu so sánh dựa trên nội dung nên khó
có thể tạo ra được sự bất ngờ trong tư vấn, đôi khi nó còn tư vấn cho người dùng
những đối tượng mà người dùng đã biết hoặc sử dụng trước đó. Còn phương pháp lọc
dựa lọc cộng tác không yêu cầu mô tả nội dung tường minh mà chỉ sử dụng đánh giá
của người dùng để ước lượng, do đó những hệ này có khả năng tư vấn phong phú và
thường tạo ra những tư vấn bất ngờ cho người dùng.
Nếu như hệ thống CB chỉ làm việc được với những sản phẩm có cấu trúc text
thì phương pháp CF có thể xử lý mọi loại dữ liệu (video, image, một bản nhạc..) và gợi
ý mọi loại đối tượng, kể cả những đối tượng mới, khác hoàn toàn so với những gì
người dùng từng xem. Phương pháp CF dựa hoàn toàn vào đánh giá của những người
dùng để đưa ra các nhận định về sở thích của người dùng, chính vì thế các tính chất,
đặc điểm của đối tượng được tư vấn không có ảnh hưởng đến quá trình gợi ý. Do đó,
phương pháp lọc cộng tác được áp dụng đa dạng trên nhiều hệ thống khác nhau, từ
trang thông tin đến âm nhạc, hình ảnh … .Tuy nhiên hệ thống CF cũng gặp phải những
hạn chế riêng.




18
Hạn chế của các hệ tư vấn cộng tác [4]:

+
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 có đánh giá nào từ họ nên không thể tìm những người
dùng tương đồng để đưa ra được các gợi ý cho họ.
+
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 các gợi
ý có đối tượng mới phải chịu một độ trễ.
+
Sự thưa thớt dữ liệu (sparsity): 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. Tức là có nhiều người dùng nhưng mỗi người lại chỉ
mua hoặc đánh giá ở một hoặc một vài đối tượng hoặc khi có nhiều đối tượng nhưng
mỗi đối tượng lại chỉ được mua bởi một hoặc một vài người dùng. Còn có các trường
hợp với những ai có sở thích đặc biệt mà không có nhiều người tương tự như họ thì kết
quả gợi ý sẽ bị hạn chế hoặc chất lượng tư vấn không cao. Vì vậy vấn đề là phải tăng
số lượng đánh giá của người dùng với các đối tượng có trong hệ thống.
2.2.3. Hệ tư vấn lai
Rõ ràng giữa hai cách tiếp cận lọc cộng tác và lọc dựa trên nội dung dựa trên
quan điểm khác nhau để tìm ra những đối tượng tương tự đối với người dùng. Hai đối
tượng tương tự nhau về nội dung không thế suy ra được hai người dùng tương tự nhau
về sở thích, ngược lại hai người dùng tương tự nhau về đánh giá không suy ra được họ
sử dụng các đối tượng giống nhau về nội dung. Mỗi thuật toán CF, CB đều có những
hạn chế nhất định, do đó người ta thường dùng hệ thống kết hợp hai phương pháp này
để tối ưu hệ tư vấn, khắc phục các hạn chế, phát huy ưu điểm của mỗi phương pháp.
Phương pháp kết hợp này còn gọi là phương pháp lai (hybrid methods).
Cách triển khai hệ thống kết hợp có thể theo một trong số những hướng chính:
1- Cài đặt hai phương pháp riêng rẽ rồi 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. Có hai kịch bản cho trường hợp này:
Cách 1: Gộp kết quả riêng lẻ của hai phương pháp thành kết quả chung duy
nhất như kết hợp dạng tuyến tính theo nghiên cứu của M.Claypool [14] hoặc dùng
cách thức bầu chọn (voting scheme) trong hệ thống của M.Pazzani [15].
Cách 2: Tại mỗi thời điểm chỉ sử dụng kết quả từ một phương pháp, tùy trường
hợp mà chọn phương pháp nào cho kết quả tốt hơn (dựa vào một số độ đo chất lượng
tư vấn nào đó).
2- Thêm thuộc tính cộng tác vào mô hình gợi ý dựa trên nội dung [1]: Hướng tiếp cận

phổ biến nhất là dùng các kỹ thuật giảm số chiều trên tập hồ sơ của phương pháp


19
dựa trên nội dung. Ví dụ [8] sử dụng phân tích ngữ nghĩa ẩn (LSI – Latent Sematic
Analysis) để tạo ra cách nhìn cộng tác (collaborative view) với tập hồ sơ người
dùng (mỗi hồ sơ được biểu diễn bởi một vector từ khóa).
3- Thêm thuộc tính nội dung vào mô hình cộng tác [1]: Hệ thống lai này dựa chủ yếu
trên các kỹ thuật cộng tác nhưng vẫn duy trì hồ sơ về người dùng (theo dạng của
mô hình dựa trên nội dung). Hồ sơ này được dùng để tính độ tương đồng giữa hai
người dùng, nhờ đó giải quyết được trường hợp có quá ít đối tượng chung được
đánh giá bởi cả hai người. Một lợi ích khác là các gợi ý sẽ không chỉ giới hạn
trong các đối tượng được đánh giá cao bởi những người cùng sở thích (gián tiếp)
mà còn cả với những đối tượng có độ tương đồng cao với sở thích của chính người
dùng đó (trực tiếp). Hệ thống lai như Fab [4] là một ví dụ:

Hình 2.3. Hệ thống tư vấn lai Fab [4]
4- Mô hình hợp nhất hai kỹ thuật gợi ý CB và CF: 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].
Ngoài cách liệt kê trên ta có thể có cái nhìn tổng quan về các phương pháp tư
vấn cùng các kỹ thuật có thể vận dụng như bảng 2.1:


20
Bảng 2.1. Tổng hợp ba phương pháp tư vấn và các kỹ thuật hỗ trợ [1]

Phương pháp

Dựa trên nội dung


Cộng tác

Lai ghép

2.3. Nghiên cứu một số hệ thống gợi ý tin tức
2.3.1. Trang web Amazon.com
Amazon là một công ty thương mại điện tử đa quốc gia lớn nhất thế giới.
Amazon.com được thành lập bởi Jeffrey Bezos năm 1994 và đưa vào trực tuyến năm
1995 [10]. Nếu trước kia người ta chỉ biết đến Amazon hoạt động trong lĩnh vực sách
thì ngày nay Amazon đã lấn sân sang rất nhiều lĩnh vực như: dịch vụ thanh toán, dịch
vụ quảng cáo, các đối tượng trên Amazon không chỉ có sách mà còn có phim ảnh, âm
nhạc, trò chơi……
Amazon.com có lẽ là site nổi tiếng nhất khi nói tới hệ gợi ý. Cứ mỗi khi người
dùng chọn một thứ gì đó, ví dụ sách về “search engine” chẳng hạn, sẽ thấy hệ thống
gợi ý các cuốn sách tương tự. Thuật toán hệ tư vấn mà Amazon xây dựng dựa trên
phương pháp lọc cộng tác item-to-item [10]. Không giống như lọc cộng tác truyền
thống, phạm vi tính toán trực tuyến của Amazon độc lập với số lượng khách hàng và
số lượng các mặt hàng trong danh mục sản phẩm. Thuật toán của Amazon tạo ra các tư
vấn trong thời gian thực, phạm vi dữ liệu lớn và tạo ra các tư vấn chất lượng cao.
Một đặc điểm nổi bật của Amazon là xây dựng hệ thống gợi ý cá biệt, cá nhân
hóa [10]: Nếu bạn đã từng mua bất kì thứ gì tại Amazon.com thì lần sau thăm lại
website, sẽ nhận được gợi ý về các đối tượng khác với thông điệp “chào bạn, chúng


tôi có những thứ này cho bạn”. Theo Amazon, cách tốt nhất để có được các gợi ý sát
nhất là hãy đánh giá các đối tượng đã có của bạn bằng cách cho điểm từ 1 đến 5 sao


21

đối với các mặt hàng này. Amazon.com sẽ căn cứ vào khung điểm này để đưa ra cho
bạn những gợi ý tốt nhất mỗi lần thăm lại website. Như vậy, hệ thống đòi hỏi người
dùng phải có những đánh giá trực tiếp trên các mặt hàng này. Có thể đây là một chi
tiết gây phiền ngại cho người dùng.

Hình 2.4. Hệ thống tích hợp gợi ý sách của Amazon.com

Hình 2.5. Giao diện gợi ý sản phẩm đã được đánh giá của Amazon
Một vấn đề khác bàn đến trong Amazon, đó là sự cố tình hạ điểm hoặc đưa
những đánh giá trái ngược thực tế để làm hạ cấp sản phẩm. Thì những trường hợp như
vậy không những đưa ra gợi ý sai lệch còn làm cho hệ thống nhận được thông tin xấu,
gây ra kết quả tư vấn sai thực tế. Từ đó sẽ làm giảm chất lượng tư vấn và độ tin cậy
của người dùng vào hệ thống.


22
2.3.2. Trang web baomoi.com
Hiện nay theo tôi biết chưa thực sự có một hệ tư vấn nào chính thống được đầu
tư và hoạt động hiệu quả tại Việt Nam. Theo tìm hiểu thì chỉ có baomoi.com là một
trang có áp dụng hệ tư vấn trên khía cạnh dựa vào các từ khóa thiết lập.
Baomoi.com 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 từ các nguồn báo khác nhau được baomoi.com 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. Baomoi.com cho
phép người dùng tự tạo các chuyên mục theo nhu cầu cá nhân bằng cách khai báo một
số từ khóa, sau đó gợi ý cho người dùng những tin tức liên quan từ nhiều trang báo
khác đã tập hợp về. 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.
Như vậy, người dùng muốn được tư vấn tin thì phải tự nghĩ ra các từ khóa liên
quan đến mong muốn của mình để thiết lập các chuyên mục riêng khi đăng nhập tài

khoản baomoi.com. Điều này đôi khi gây phiền ngại cho người dùng, đặc biệt những
người có vốn từ không phong phú, họ không nghĩ ra được các từ khóa đại diện cho nhu
cầu và mục đích đọc tin của mình.
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 đó.

Hình 2.6. Giao diện tạo chuyên mục trên trang web baomoi.com
Ngoài ra hệ gợi ý tích hợp trong baomoi.com vẫn còn nhiều hạn chế khác như
là: các tư vấn chưa thực sự gọn gàng và đáng tin cậy. Giao diện còn khó hiểu, không
biết đâu là tin tư vấn, đâu là tin chung của trang web. Để xem tin tư vấn, đều phải chọn


23
lại chuyên mục mình đã xây dựng (có thể hàng năm trước đó) những tin tư vấn không
thấy cập nhật kịp thời. Và cũng không sắp xếp tin nào mới hơn tin nào để người dùng
có thêm lựa chọn đọc tin mới nhất.

Hình 2.7. Giao diện gợi ý tin không được sắp xếp của baomoi.com
Hơn nữa, sự tư vấn này không đưa ra cơ sở tại sao tư vấn như vậy chỉ phụ thuộc
vào sự giống nhau giữa từ khóa hệ thống xây dựng lên so với từ khóa mà người dùng
đặt trong chuyên mục muốn tạo tư vấn. Mặt khác chức năng gợi ý tin tức từ các từ
khóa đã khai báo nhiều khi không chính xác vì từ khóa đó có thể xuất hiện trong nhiều
ngữ cảnh khác nhau trong tin tức ở nhiều chuyên mục khác nhau hay bàn đến các vấn
đề từ đồng âm khác nghĩa, giống về mặt chữ nhưng hàm ý lại khác nhau. Việc tư vấn
dựa vào các từ khóa không thể đưa ra được các tư vấn tối ưu và sát với mong muốn
người dùng.
2.3.3. Hệ thống gợi ý tin Việt xenoNews
Lý thuyết hệ tư vấn đã được nghiên cứu khá lâu ở Việt Nam, tuy nhiên một hệ
tư vấn dựa trên nội dung được coi là chất lượng và có thể ứng dụng được vào thực tiễn

thì theo tôi là chưa có nhiều. XenoNews là một trong những sản phẩm được đánh giá
cao trong luận văn tốt nghiệp thạc sĩ trường Đại học Công Nghệ của tác giả Nguyễn
Thạc Huy [31].
Hệ thống mà tác giả xây dựng là một dịch vụ gợi ý tin tức từ các báo điện tử
Việt Nam. Nếu người dùng không đăng nhập, trang web hiển thị tin như một tờ báo
điện tử thông thường. Ngược lại, tin tức sẽ được hiển thị dựa trên tính toán của hệ


×