1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

69 48 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 2,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đặ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 đó

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

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

Trang 3

Mục Lục

Lời cảm ơn 4

Lời cam đoan 5

Danh mục hình vẽ 6

Danh mục bảng biểu 7

Danh mục các từ viết tắt 8

Lời mở đầu 9

Chương 1 Giới thiệu bài toán 10

1.1 Đặt vấn đề 10

1.2.Mục tiêu đề tài 11

1.3 Phương pháp nghiên cứu 11

1.4 Bố cục luận văn 11

Chương 2 Tổng quan về hệ tư vấn 13

2.1 Lý thuyết hệ tư vấn 13

2.2 Phân loại hệ tư vấn 14

2.2.1 Hệ tư vấn dựa trên nội dung 14

2.2.2 Hệ thống lọc cộng tác 17

2.3 Nghiên cứu một số hệ thống gợi ý tin tức 20

2.3.1 Trang web Amazon.com 20

2.3.2 Trang web baomoi.com 22

2.3.3 Hệ thống gợi ý tin Việt xenoNews 23

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 27

3.1 Các độ đo tương tự và vận dụng trong lọc cộng tác 27

3.1.1 Phép đo khoảng cách Minkowski 27

3.1.2 Khoảng cách Hamming 29

3.1.3 Độ tương quan Pearson 29

3.1.4 Độ tương đồng dựa trên Cosine 31

3.1.5 Độ tương đồng Jaccard 31

3.2 Các kỹ thuật trong lọc cộng tác 32

3.2.1 Lọc cộng tác dựa trên kinh nghiệm 33

3.2.1.1 Lọc cộng tác dựa vào người dùng 34

3.2.1.2 Lọc cộng tác dựa vào tài nguyên 39

3.2.2 Lọc cộng tác dựa trên mô hình 41

3.3.Kỹ thuật chọn tốp N gợi ý trong lọc cộng tác 42

3.4 Một số nghiên cứu về khắc phục hạn chế lọc cộng tác 45

Chương 4 Xây dựng mô hình và thực nghiệm 51

4.1 Hệ thống lọc tin cho diễn đàn 51

4.2 Quá trình xử lý bộ lọc tin cho diễn đàn 52

4.2.1 Tính điểm, tạo ma trận rate 52

4.2.2 Xây dựng nhóm người dùng tương tự 53

Trang 4

4.2.3 Tạo tốp N gợi ý 54

4.2.4 Kiểm tra điều kiện 55

4.3 Ví dụ minh họa quá trình xử lý của bộ lọc 55

4.4 Môi trường thực nghiệm bộ lọc 56

4.5 Mô tả và chuyển đổi dữ liệu diễn đàn 56

4.6 Thực nghiệm và đánh giá kết quả 59

4.6.1 Độ đo đánh giá bộ lọc tin diễn đàn 59

4.6.2 Thực nghiệm và phân tích kết quả 62

Kết luận 64

Tài liệu tham khảo 66

Trang 5

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

Trang 6

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

Trang 7

Danh mục hình vẽ

Hình 2.1 Tư vấn dựa trên nội dung 15

Hình 2.2 Tư vấn dựa trên cộng tác 17

Hình 2.3 Hệ thống tư vấn lai Fab 19

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

Hình 2.5 Giao diện gợi ý sản phẩm đã được đánh giá của Amazon 21

Hình 2.6 Giao diện tạo chuyên mục trên trang web baomoi.com 22

Hình 2.7 Giao diện gợi ý tin không được sắp xếp của baomoi.com 23

Hình 3.1 Đồ thị ví dụ so sánh đánh giá của người dùng lân cận 30

Hình 3.2 Sơ đồ thể hiện quy trình của CF 33

Hình 3.3 Mô tả CF dựa vào người dùng 35

Hình 3.4 Minh họa phương pháp user - based 36

Hình 3.5 Minh họa vấn đề chọn k hàng xóm 38

Hình 3.6 Minh họa phương pháp item - based 39

Hình 4.1 Quá trình xử lý của bộ lọc 51

Hình 4.2 Quá trình chuyển đổi dữ liệu của bộ lọc 58

Hình 4.3 So sánh độ đo F1 khi dùng hàm tương quan Cosine và Euclidean 63

Trang 8

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] 20

Bảng 3.1 Ví dụ đánh giá của người dùng 27

Bảng 3.2 Giá trị khoảng cách dùng độ đo Manhattan 28

Bảng 3.3 Giá trị khoảng cách dùng độ đo Euclidean 28

Bảng 3.5 Ma trận ví dụ minh họa độ tương đồng Cosine 31

Bảng 3.6 Ma trận mô tả trung bình các giá trị trong ma trận user-item 46

Bảng 3.7 Bảng minh họa mô hình cộng đồng đa tiêu chí 48

Bảng 4.1 Ma trận rate đầu vào cho thuật toán CF 52

Bảng 4.2 Ma trận rate phản ánh k người dùng gần nhất 54

Bảng 4.3 Bảng ma trận giá trị ví dụ quá trình xử lý bộ lọc 55

Bảng 4.4 Bảng ma trận ví dụ minh họa kỹ thuật tốp N 56

Bảng 4.5 Bảng mô tả các thành phần của độ đo đánh giá 60

Bảng 4.6 Bảng ma trận giá trị ví dụ đánh giá bộ lọc 61

Bảng 4.7 Thống kê độ chính xác với k hàng xóm khác nhau 63

Bảng 4.8 Thống kê chi tiết các kết quả đánh giá dùng độ đo Cosine 64

Trang 10

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

Trang 11

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ở

Trang 12

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

Trang 13

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

Trang 14

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ì?

Trang 15

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 s i trong đó s i 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

Trang 16

Content(s)=w s =(w 1s ,w 2s , ,w ks ), với w 1s ,w 2s , ,w ks 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)=w u = (w 1u ,w 2u , ,w ku ) Trong đó w iu 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à w , c w s ) 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

Trang 17

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]

Trang 18

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

Trang 19

 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

Trang 20

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:

Trang 21

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

Các kỹ thuật sử dụng Dựa trên kinh nghiệm Dựa trên mô hình

Dựa trên nội dung +TF-IDF

+ Phân cụm

+ Phân lớp bayes + Phân cụm + Cây quyết định + Mạng nơron nhân tạo

Cộng tác

+ k-Láng giềng gần nhất + Phân cụm

+ Lí thuyết đồ thị

+ Mạng bayes + Phân cụm + Mạng nơron nhân tạo + Hồi quy tuyến tính + Mô hình xác suất

Lai ghép

+Kết hợp tuyến tính kết quả

+ Tích hợp đặc trưng của một phương pháp vào mô hình của phương pháp còn lại

+ Xây dựng mô hình hợp nhất hai phương phá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

Trang 22

đố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

Trang 23

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

Trang 24

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ệ

Trang 25

thống phù hợp dành riêng cho người dùng đó Hệ thống cho phép người dùng phản hồi

về các kết quả gợi ý Ngoài ra, những ai đã đăng nhập có thể khai báo thêm các từ khoá tuỳ chọn (nếu muốn) về các nội dung họ quan tâm Thông tin này sẽ giúp hệ thống đưa ra các gợi ý càng sát nhu cầu người dùng

XenoNews có thể gọi là một hệ thống thích nghi vì nó có khả năng “học” được

sở thích của người dùng thông qua việc họ đọc tin tức hằng ngày, từ đó gợi ý các tin bài phù hợp trong những ngày tiếp theo Các chức năng chung của hệ thống có thể liệt

kê là:

- Gợi ý tin tức phù hợp cho mỗi người dùng

- Thường xuyên cập nhật tin tức từ các báo điện tử phổ biến: Vietnamnet, Dân trí, Tinh tế, …

- Tránh đưa ra các tin trùng lặp hay có nội dung tương tự, từ nhiều nguồn báo khác nhau

- Tạo hồ sơ người dùng tự động, dựa trên tương tác của người dùng với hệ thống

- Cho phép độc giả khai báo từ khoá, nhóm từ khoá theo dõi, để chắc chắn rằng

hệ thống không lọc đi bất kỳ bài viết nào thuộc chủ đề họ thực sự quan tâm (đây cũng

là một phần của hồ sơ người dùng, nhưng không được tự động hoá mà do người dùng xây dựng và quản lý) Ví dụ: khi người dùng đăng ký nhóm từ khoá “xung đột biển Đông”, đồng nghĩa với việc họ nói rằng: “Tôi không muốn bỏ lỡ bất kỳ bài báo nào

mà nội dung có chứa cả hai từ khoá “xung đột” và “biển Đông” Như vậy hệ thống gợi

ý đã dựa vào bản thân nội dung của đối tượng tư vấn và dựa vào lịch sử tương tác của người dùng với những đối tượng cũ mà chính họ đã từng tương tác

Như vậy, xenoNews không phải là một trang báo điện tử mà là một dịch vụ gợi

ý tin tức với nguồn tin lấy từ các báo mạng hay trang tin phổ biến đối với độc giả Việt Nam Từ góc nhìn của người dùng, hệ thống được coi là ứng dụng web có chức năng chính là phân tích thói quen, hành vi người dùng, từ đó hiển thị ra các tin tức phù hợp.Việc đánh giá bài tin thì người dùng phải cho điểm trực tiếp và chỉ phản ánh được hai mức độ thích và không thích

Tóm lại, từ những phân tích hạn chế của các nghiên cứu trên ta thấy cần thiết phải xây dựng, tích hợp mô đun tư vấn trên các trang tin, diễn đàn dựa trên nguồn dữ liệu luôn thường trực là vấn đề nên làm Đó cũng là cách để khai thác kho dữ liệu im lìm trong bất cứ một hệ thống nào Những nguồn dữ liệu tưởng vô nghĩa, không khai thác được thông tin gì nhưng thực chất nó chứa nhiều tri thức mà con người không ngờ tới Vì mỗi diễn đàn thường do một cơ quan, tổ chức, cá nhân tạo ra, đều có đặc trưng riêng của họ Cấu trúc và loại dữ liệu cũng khác nhau, tuy nhiên dữ liệu lưu trữ trong

đó là nguồn tài nguyên quý giá mà ít ai nghĩ đến việc dùng nó và khai thác nó cho mục đích nào đó

Trang 26

Ngoài ra việc yêu cầu người dùng trực tiếp cho điểm các bài tin là không cần thiết trong hệ thống này.Vì các đánh giá này được hệ thống tính toán tự động thông qua các tương tác thực sự của họ trong quá trình tham gia diễn đàn Điều này không gây ra sự phiền phức tới độc giả là phải dành thời gian để đánh giá mà lại tạo ra tính khách quan ở các đánh giá này, không có chuyện cố tình nâng, hạ điểm các bài tin mà

họ rất thích hoặc rất gét Mặt khác các đánh giá này là những con số ở các mức độ khác nhau, thường là từ 1 đến 5 phản ánh được nhiều mức độ thích khác nhau, chứ không đơn điệu chỉ là hai dạng điểm 1 và 0 tương ứng với thích và không thích

Mô đun tư vấn của tôi có thể áp dụng cho những loại trang tin, loại diễn đàn có quản lý tài khoản của người dùng Trong đó tồn tại những tương tác giữa người dùng

và hệ thống được lưu lại Các tương tác này đều quan trọng, nó sẽ là cơ sở để ta tự động tính điểm mà người dùng dành cho bài tin nào đó

Trên đây là những ví dụ về hệ thống gợi ý sử dụng các phương pháp khác nhau Với một diễn đàn dành cho học sinh, cựu học sinh trung học phổ thông, mà tại đó diễn

ra nhiều hoạt động ứng với nhiều tương tác giữa người dùng và hệ thống thì tôi chọn phương pháp lọc cộng tác cho bài toán diễn đàn của mình với những lý do sau:

- Do đặc thù của diễn đàn là bài viết trên đó tản mạn, các tác giả là những người

có trình độ văn hóa khác nhau Nên có thể các bài viết không nằm đúng chủ đề mà ban quản trị phân loại ban đầu Dẫn đến việc bài viết ở chủ đề A nhưng lại nằm trong mục chủ đề B như bài viết liên quan đến trò chơi toán học thì có thể lại nằm trong chuyên mục đố vui Do đó, việc tìm các bài viết theo chuyên mục trong diễn đàn thực sự không đem lại hiệu quả mong muốn và là một hạn chế so với các trang tin tức chính thống như dantri.com.vn hay vnexpress.net (Các trang được chọn lọc tin, được các dân chuyên báo tạo và được quản lý chặt chẽ bởi một tổ chức có pháp quyền) Với diễn đàn tuetinhonline.edu.vn cũng vậy, trang quy tụ hàng chục các thế hệ cựu học sinh và học sinh đang học tại trường Tuệ Tĩnh tham gia trao đổi các lĩnh vực: Toán học, Tin học, Vật lý, Văn, Hóa….các chuyên mục giải trí như: nghệ thuật sống, thơ ca, đố vui, quà tặng, café, sức khỏe, tin tức nhà trường, hướng nghiệp, thông tin học đường……

- Hơn nữa, tác giả của các bài báo, chủ đề lại là dân không chuyên viết báo Ngoài các bài tin sưu tầm thì nội dung bài viết, cuộc thảo luận có thể không thực sự chọn lọc về mặt từ ngữ và ngữ nghĩa nên không thể phân tích và so sánh nội dung của các thông tin được Mặt khác diễn đàn hoạt động thường mang tính trào lưu nên việc dùng chính quá khứ truy cập của mình để tư vấn bài viết ở tương lai cho mình sẽ không đem lại gợi ý tốt cho người dùng này Do đó việc dùng phương pháp tư vấn dựa trên nội dung không thực sự tối ưu

- Các vấn đề tư vấn trong diễn đàn không đơn giản là các bài text mà là dữ liệu

đa phương tiện, có cấu trúc và không có cấu trúc (một album, một video,….) nên cần chọn kỹ thuật áp dụng cho loại dữ liệu đa phương tiện và kỹ thuật lọc cộng tác đáp ứng được điều này mà lọc nội dung khó làm được

Trang 27

- Các hệ tư vấn dựa trên cộng tác không yêu cầu quá nặng vào việc tính toán, do

đó nó có thể đưa ra những tư vấn có độ chính xác cao và nhanh chóng cho một số lượng lớn người dùng Hơn nữa, hệ tư vấn này 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

Mặt khác trong diễn đàn, các tương tác giữa người dùng và hệ thống là tri thức quan trọng cho phép ta tính toán được các điểm đánh giá giữa người dùng với các bài viết Việc truy xuất được các đánh giá này từ CSDL tập trung là một thuận lợi để xây dựng một bộ lọc cộng tác trên diễn đàn

Trang 28

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

Khoảng cách giữa hai đối tượng u,v hay độ đo phi tương tự giữa hai đối tượng

được xác định bằng một ma trận Một số phương pháp đo khoảng cách phổ biến là: khoảng các Euclidean, khoảng cách Manhattan, khoảng cách Chebychev… được định nghĩa bằng khoảng cách Minkowski

Để minh họa cho các phép đo trên ta xét ví dụ 1: dữ liệu gồm 4 người Amy,

Bill, jim, MS.X đánh giá cho 2 cuốn sách Snow Crash và girl with the Dragon Tattoo

như bảng 3.1 Ta muốn gợi ý một cuốn sách cho Ms.X mà anh này chưa đọc nhưng được tính toán là phù hợp với MS.X Trước tiên ta đi tìm người có độ tương đồng hoặc gần X nhất Ta sẽ đi tính toán khoảng cách [26]:

Bảng 3.1 Ví dụ đánh giá của người dùng

Snow Crash Girl with the Dragon Tattoo

1- Độ đo khoảng cách Minkowski được định nghĩa :

Xét hai người dùng x,y trong không gian n chiều, độ đo khoảng cách Minkowski được định nghĩa:

,

(x y n k 1 x k y k

Đây là độ đo khoảng cách dễ nhất, nếu xét trong không gian 2D, người dùng

x(x 1 ,x 2 ) và y(y 1 ,y 2 ) Khoảng cách Manhattan giữa x, y là: |x 1 -x 2 |+|y 1 -y 2 |

Với bảng dữ liệu 3.1 ta có khoảng cách Manhattan giữa Amy và Ms X là:

|5-4|+|5-2|=4

r

r n

k

k

k y x y

x d

Trang 29

Tương tự tính toán khoảng cách giữa Ms.X với 2 người dùng còn lại ta có kết quả khoảng cách bảng 3.2:

Bảng 3.2 Giá trị khoảng cách dùng độ đo Manhattan

Khoảng cách từ Ms X

Từ bảng khoảng cách này ta dễ nhận thấy Amy gần Ms.X nhất vì khoảng cách

từ Amy tới Ms.X là ngắn nhất Theo kỹ thuật lọc cộng tác chúng ta có thể xem lịch sử

của Amy, nếu Amy đưa ra điểm 5 cho cuốn sách The Windup Girl (giả thiết 5 sao là

điểm lớn nhất mà người dùng có thể đánh giá cho các cuốn sách) thì chúng ta sẽ giới thiệu cuốn sách này cho Ms.X

Nhận xét :

Khoảng cách Manhattan có ưu điểm là tính toán nhanh Đặc biệt trong mạng Facebook có hàng tỉ người dùng, chúng ta cần tìm người tương tự với mình nhất thì dùng khoảng cách này đưa ra kết quả tốt, nhanh

x d

1

2

) (

) , (

Xét hai người dùng x(x 1 ,x 2 ) và y(y 1 ,y 2 ) Khoảng cách Euclidean là:

2 2 2 2 1

Bill (24)2 (52)2 3.61

Jim (14)2 (42)2 3.61

Vậy theo độ đo Euclidean ta cũng nhận được kết quả Amy gần Ms.X nhất

(3.3)

(3.4)

Trang 30

Nhận xét:

Với hai loại khoảng cách Manhattan và Euclidean thì xét trong tập hợp nhiều người dùng, hai người dùng được gọi là tương đồng nếu khoảng cách giữa hai người này nhỏ nhất

3.1.2 Khoảng cách Hamming

Để làm rõ công thức, xét hai đối tượng kiểu nhị phân u =1101 và v=1010 Để tính được khoảng cách Hamming ta xét từng cặp bit tương ứng từ 2 xâu u,v Nếu

chúng khác nhau thì bít kết quả ghi 1, ngược lại ghi 0 Tổng các bit kết quả này chính

là khoảng cách Hamming Vậy với 2 vector u,v: xét cặp bit thứ 1 của 2 xâu là: 1 và 1,

thì bit kết quả là 0 Tiếp tục, ta so sánh lần lượt các cặp bit tiếp theo là 1 và 0 thì bit kết quả ghi thêm vào đằng sau chuỗi là 1, cứ làm như vậy đến hết xâu Ta thấy bit kết quả là: 0111, khoảng cách Hamming là tổng các bit kết quả này = 0+1+1+1=3

Từ đó ta có công thức tổng quát, xét 2 đối tượng u=’abcd…’ và v=’xyz…’ Nếu u[i]≠v[i] thì Hammingdistance được cộng thêm 1 đơn vị, i=[0 k]; trong đó k là chiều dài đối tượng u,v

Như vậy, khoảng cách Hamming càng nhỏ thì sự tương tự giữa hai đối tượng càng lớn

và ngược lại

3.1.3 Độ tương quan Pearson

Để đưa ra được công thức tổng quát của Pearson ứng dụng trong lọc cộng tác ta

xét 2 vector tổng quát u(a,b,c) và v(x,y,z) Khi đó độ tương quan giữa u,v là:

) ) 3 ( ) 3 ( ) 3 ((

) 3

)(

3 ( ) 3

)(

3 ( ) 3

)(

3 ( )

,

(

2 2

2 2

2

z z y x y z y x x c

b a c c b a b c b a a

z y x z c b a c z y x y c b a b z y x x c b a a v

xy

S

s y s y S

s x s x

y s y S

s x s x

r r r

r

r r r r y

x sim

2 ,

2 ,

, ,

)(

)(

)(

()

,(

Trang 31

Xét ví dụ 2:

Bảng 3.4 Ví dụ ma trận đánh giá để tính độ tương quan Pearson

- Xét người dùng có tên Alice và sản phẩm 5 chưa được Alice đánh giá :

+ Tìm các hàng xóm với Alice mà có cùng sở thích là chọn những sản phẩm như Alice trong quá khứ và cũng là người giúp Alice đánh giá sản phẩm 5 (Có thể sử dụng trung bình rate của các hàng xóm Alice để dự đoán Alice đánh giá sản phẩm 5 bao nhiêu)

+ Sau đó chọn tất các sản phẩm mà Alice chưa nhận ra là phù hợp với mình làm những tư vấn tốt nhất

2 5 5 1 2 ( 2 ) 4

2 5 5 1 5 ( 2 ) 4

2 5 5 1 5 ( 2 ) 4

2 5 5 1 1 ( 2 ) 4

4 4 3 5 4 ( 2 ) 4

4 4 3 5 4 ( 2 ) 4

4 4 3 5 3 ( 2

2 5 5 1 2 )(

4

4 4 3 5 4 ( ) 4

2 5 5 1 5 )(

4

4 4 3 5 4 ( ) 4

2 5 5 1 5 )(

4

4 4 3 5 3 ( ) 4

2 5 5 1 1 )(

4

4 4 3

Nhận xét: Giá trị độ tương quan Pearson phù hợp nằm trong khoảng -1 đến 1

Trang 32

3.1.4 Độ tương đồng dựa trên Cosine

Đặt S xy  {sS|r x,s ,r y,s } tập các đối tượng được đánh giá bởi cả hai người dùng x,y Độ tương đồng Cosine giữa hai người dùng x và y được tính bởi công

r r y

x

y x y x y

x sim

2 , 2

,

, ,

|

|

| ) , cos(

) , (

Trong đó: rx,s ry,s: lần lượt là điểm mà người dùng x,y dành cho đối tượng s

Ta có độ tương đồng Cosine giữa người dùng A và B là:

Độ tương đồng Cosine giữa A và C là:

Vậy A có độ tương đồng với B hơn C

y x

y x y

3

| } , 7 , 5 , 3 , 2 , 0

|

| } , 2 , 0

y x y x

JS

Trong đó: |x | là số phần tử trong x, |y| là số phần tử trong y

380.04

55

15

4

54

2 2

2 2

4 1 2 5

2 2 2 2 2

(3.7)

Trang 33

* Nhận xét chung

Độ tương tự giữa người dùng và giữa các tài nguyên là định nghĩa thiết yếu trong CF Độ đo đầu tiên được đưa ra trong các hệ tư vấn là độ tương quan Pearson

Độ tương đồng đơn giản Cosine cũng là những độ tương đồng truyền thống Vì những

độ tương đồng này chỉ xét tập thuộc tính chung giữa hai vector Do đó hai vector có thể hoàn toàn tương đồng ngay cả khi chúng chỉ chia sẻ một đánh giá trên một thuộc tính Những độ đo như vậy có khuyết điểm là: Ví dụ, trong ngữ cảnh tư vấn phim, xem xét trường hợp khi một người dùng là fan của phim viễn tưởng trong khi một người khác chỉ xem hành động, hơn nữa hai người dùng này chưa đánh giá bất kì phim chung nào vì vậy độ tương tự của của họ là rỗng (null) Bây giờ cả hai nói rằng

họ thích “men in black” một phim hành động viễn tưởng Do đó những người dùng

này trở nên hoàn toàn tương đồng nhau theo những độ đo đã được trình bày trên Ví

dụ này cho thấy họ chỉ có một điểm (phim) tham chiếu chung được đánh giá bằng nhau

Tuy nhiên, độ tương tự Jaccard không bị khuyết điểm này vì nó đo độ chồng lấp thuộc tính của hai vector với nhau Mặt khác, độ đo này không xem xét sự khác nhau giữa các đánh giá của hai vector Nhưng khi xét trường hợp nếu coi một người dùng có đánh giá cho một bộ phim thì được coi là có điểm 1, ngược lại là 0, tức dữ liệu là nhị phân thì nếu hai người dùng xem cùng một số phim nhưng ý kiến hoàn toàn trái ngược nhau trên những phim này thì chúng được xem là tương tự theo độ tương đồng Jaccard Độ đo khoảng cách Euclidean phản ánh sự tương đồng thông qua sự gần, xa của khoảng cách Nếu khoảng cách Euclidean giữa hai người dùng càng nhỏ chứng tỏ họ càng gần nhau tức càng giống (tương tự) nhau Do đó, đây cũng là một độ

đo nên được dùng để tìm những người dùng tương đồng trong lọc cộng tác

Tóm lại, với mỗi kiểu dữ liệu đặc trưng nhất định thì thường sử dụng các loại

độ đo nhất định [26] Ví dụ dữ liệu dạng nhị phân thường phù hợp với độ tương tự Jaccard, dữ liệu dạng số thì có thể sử dụng các loại độ đo như khoảng cách Euclidean,

độ tương đồng Cosine hay độ tương tự Pearson còn với dữ liệu dạng xâu thì dùng khoảng cách Hamming

Trong CF dữ liệu đầu vào của hệ thống là một tập đánh giá của người dùng trên các đối tượng Dựa trên các đánh giá này người dùng có thể được so sánh với nhau, hình thành nên khái niệm người dùng tương đồng Và cũng dựa trên các đánh

Trang 34

giá này, các đối tượng cũng được so sánh với nhau hình thành nên khái niệm đối tượng tương đồng Điểm đánh giá đối tượng của một người dùng có thể được dự đoán dựa trên các đánh giá của những người dùng lân cận hoặc các tài nguyên gần gũi i1 i2 … ij in

r, …

Hình 3.2 Sơ đồ thể hiện quy trình của CF

Trong đó, ma trận R (đầu vào của CF) là ma trận rate (đánh giá) của m người

dùng u với n tài nguyên i Kết xuất chính là đầu ra của CF [27]:

+ raj là giá trị cần dự đoán thể hiện đánh giá có tiềm năng nhất của người dùng

a lên tài nguyên j

+ Ti1, Ti2,…Tin gợi ý danh sách N tài nguyên (Ti,n) mà bộ lọc gợi ý cho người

dùng ua

Thuật toán CF là trung tâm tính toán của một hệ thống tư vấn Các thuật toán

sẽ tính toán các đối tượng mà một người nào đó sẽ thích và có bao nhiêu người sẽ thích chúng Các thuật toán CF thường được dùng để tạo ra các tư vấn tốt nhất cho người dùng, gợi ý một đối tượng tốt nhất hoặc đưa ra một danh sách các đối tượng

được xếp hạng top đầu Chúng ta đang đề cập đến hệ thống gợi ý dùng tốp N đối tượng, trong đó N thường trong khoảng 1-20 [21]

Theo như nghiên cứu của J.S Breese, D.Heckerman, và C Kadie [3] đã nhận xét các thuật toán dành cho gợi ý có hợp tác có thể được nhóm vào hai loại chính: dựa trên kinh nghiệm (memory – based hoặc heuristic- based) và dựa vào mô hình (model – based)

3.2.1 Lọc cộng tác dựa trên kinh nghiệm

Phương pháp lọc cộng tác dựa trên kinh nghiệm (memory – based) hay còn gọi

là dựa trên bộ nhớ có đặc trưng cơ bản là nó thường sử dụng toàn bộ dữ liệu đã có để

dự đoán đánh giá của một người dùng nào đó về đối tượng mới Nhờ lợi thế là nó có khả năng đưa trực tiếp dữ liệu mới vào bảng dữ liệu, do đó nó đạt được khá nhiều thành công khi được áp dụng vào các ứng dụng thực tế Cũng do đó mà các kỹ thuật này thường đưa ra các dự đoán chính xác hơn trong các hệ trực tuyến – nơi mà ở đó luôn có dữ liệu mới được cập nhật

Ngày đăng: 16/03/2020, 22:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w