1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chọn lọc thông tin dựa trên nội dung ứng dụng xây dựng hệ thống gợi ý tin tức theo nhu cầu người dùng

66 1,2K 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 66
Dung lượng 1,85 MB

Nội dung

Nội dung chương này bao gồm: o Các yêu cầu với hệ thống cần xây dựng o Mô tả hồ sơ đối tượng thông tin – trong trường hợp cụ thể của tin tức o Trình bày về việc mô hình hoá thông tin ngắ

Trang 1

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

HÀ NỘI - 2013

Trang 2

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

NGUYỄN THẠC HUY

CHỌN LỌC THÔNG TIN DỰA TRÊN NỘI DUNG ỨNG DỤNG XÂY DỰNG HỆ THỐNG GỢI Ý TIN TỨC THEO NHU CẦU NGƯỜI DÙNG

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

Trang 3

Mục lục

Lời cảm ơn 3

Lời cam đoan 4

Lời mở đầu 5

Danh mục hình minh hoạ 6

Danh mục Bảng biểu và Đồ thị 7

Chương 1: Đặt vấn đề 8

1.1 Bài toán 8

1.2 Bố cục luận văn 10

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

1.4 Kết quả thu được 12

Chương 2: Các nghiên cứu có liên quan 13

2.1 Báo điện tử 13

2.2 Gợi ý tin tức 14

2.2.1 Thu thập thông tin (Information Retrieval) 14

2.2.2 Lọc thông tin (Information Filtering) 15

2.2.3 Phân loại các hệ thống gợi ý 15

2.2.3.1 Các hệ thống dựa trên nội dung 18

2.2.3.2 Các hệ thống lọc có hợp tác 22

2.2.3.3 Các hệ thống lai 25

2.2.4 Các đặc trưng riêng của tin tức 28

Chương 3: Hệ thống gợi ý tin tức tiếng Việt xenoNews 30

3.1 Hướng tiếp cận và Kiến trúc hệ thống 30

3.1.1 Hướng tiếp cận 30

3.1.2 Kiến trúc hệ thống 31

Trang 4

3.2 Yêu cầu hệ thống 32

3.2.1 Các yêu cầu chức năng 33

3.2.2 Các yêu cầu phi chức năng 35

3.3 Thiết kế và cài đặt chi tiết các thành phần hệ thống 36

3.3.1 Hồ sơ đối tượng tin tức (News Item Profile) 36

3.3.2 Hồ sơ người dùng (User profile) 37

3.3.2.1 Mơ hình hố Sở thích ngắn hạn với thuật tốn Láng giềng gần nhất 39

3.3.2.2 Mơ hình hố Sở thích dài hạn với Bộ phân lớp Nạve Bayes 40

3.3.2.3 Thơng tin tự mơ tả của người dùng 43

3.3.2.4 Kết hợp các mơ hình vào quy trình ra quyết định 45

3.3.3 Lõi xử lý - Back-end 46

3.3.4 Tầng giao tiếp trung gian – Middle-level 48

3.3.5 Ứng dựng Web – Front-end 49

3.3.5.1 Cơng nghệ Web được sử dụng để xây dựng Front-end 49

3.3.5.2 Thiết kế giao diện và Thiết kế tương tác Web – con người là yếu tố trung tâm 52

Chương 4: Các thử nghiệm và kết quả 56

4.1 Các độ đo và Quá trình chuẩn bị thử nghiệm 56

4.1.1 Các độ đo dùng để đánh giá 56

4.1.2 Quá trình chuẩn bị thử nghiệm 57

4.2 Hiệu quả gợi ý của Hồ sơ người dùng kết hợp 58

4.3 Cơ chế phản hồi ẩn time-coded 61

Kết luận 63

Phụ lục 64

Tài liệu tham khảo 66

Trang 5

Danh mục hình minh hoạ

Minh hoạ 1.1: Ví dụ về giao diện một chuyên mục cá nhân hoá trên BáoMới.com 10

Minh hoạ 3.1: Kiến trúc 3-tầng của hệ thống xenoNews 32

Minh hoạ 3.2: Quy trình thiết kế lặp được sử dụng để xây dựng xenoNews 33

Minh hoạ 3.3: Các Module chính của Back-end 46

Minh hoạ 3.4: Chi tiết tương tác giữa các Module của Back-end 48

Minh hoạ 3.5: Kiến trúc Web theo kiểu Server-based 50

Minh hoạ 3.6: Kiến trúc Web theo kiểu Client-based 51

Minh hoạ 3.7: Cách Youtube giúp người dùng phân biệt các video họ đã xem 54

Minh hoạ 3.8: Chức năng Watch Later của Youtube 55

Minh hoạ PL.1: Giao diện hiển thị tin dạng List 64

Minh hoạ PL.2: Giao diện hiển thị tin dạng Grid 64

Minh hoạ PL.3: Màn hình đọc tin chi tiết 65

Trang 6

Danh mục Bảng biểu và Đồ thị

Bảng biểu:

Bảng 2.1: Ví dụ về một phần ma trận đánh giá cho hệ thống gợi ý phim 17 Bảng 2.2: Phân loại các hệ thống gợi ý 27 Bảng 3.1: Các mục tin tức của hệ thống 36 Bảng 3.2: Ma trận các vector thuộc tính Boolean dùng để xây dựng mô hình dài hạn 41 Bảng 4.1: Bảng số liệu trung bình trên tất cả người dùng, sau mỗi phiên huấn luyện 59 Bảng 4.2: Kết quả đánh giá tự động của cơ chế phản hồi ẩn Time-coded 61

Đồ thị:

Đồ thị 4.1: Sự biến đổi các độ đo Precision, Recall, F1 sau từng phiên huấn luyện 60

Đồ thị 4.2: Hiệu quả hoạt động của hệ thống, thể hiện qua độ đo F1 60

Trang 7

Chương 1: Đặt vấn đề

Chương đầu tiên sẽ bắt đầu từ việc giải thích lý do, động lực thực hiện đề tài luận

văn này Nội dung của chương xoay quanh trình bày bối cảnh và sự cần thiết của một Hệ thống gợi ý tin tức tiếng Việt, mô tả các nội dung nghiên cứu trong luận văn, cùng với sơ

lược các kết quả đã đạt được

1.1 Bài toán

Kể từ khi ra đời cho đến nay, Internet vẫn liên tục phát triển với tốc độ đáng kinh ngạc, song hành và đóng vai trò to lớn vào sự tiến bộ của nhân loại, đặc biệt là trong những lĩnh vực như khoa học, công nghệ, giao lưu văn hoá, Quan trọng nhất là Internet

đã tạo nên một “thế giới phẳng”, cho phép mọi cá nhân, tổ chức có thể dễ dàng kết nối với nhau bất chấp thời gian hay khoảng cách địa lý

Tuy vậy, trở thành một công dân Internet thường đồng nghĩa với yêu cầu (hoặc nhu cầu) tiếp nhận, xử lý một lượng lớn thông tin hằng ngày, từ rất nhiều nguồn khác nhau Điển hình nhất trong các loại thông tin này phải kể đến tin tức được cập nhật từ báo điện

tử, vốn xuất hiện ngày một nhiều những năm gần đây Báo điện tử có rất nhiều ưu điểm

so với báo in truyền thống, không những sinh động hơn với hình ảnh, video, hay các liên kết tới bài viết khác, mà còn cho phép người dùng chủ động hơn trong việc nắm bắt thông tin mọi lúc mọi nơi, miễn là có Internet Các trang báo điện tử thường xuyên cập nhật nhanh chóng tin tức mới, và người sử dụng thì có thể nhận thông báo khi có tin mới thông qua RSS, hoặc đọc trực tiếp trên website Vài năm gần đây, rất nhiều tờ báo/tạp chí lâu đời đã buộc phải thay đổi vì sự phát triển như vũ bão của công nghệ số và sự thay đổi nhu cầu đọc của độc giả Hầu hết các báo giấy lớn bây giờ đều đã điện tử hoá phiên bản giấy của mình Sự tương tác giữa độc giả và báo điện tử cũng dễ dàng hơn, bởi vì độc giả có thể để lại những phản hồi dưới mỗi bài, hay chia sẻ cho nhiều người khác cùng đọc, …

Đó chỉ là một vài trong số rất nhiều ưu điểm khiến cho báo điện tử ngày càng phát triển mạnh Hệ quả tất yếu là, gần đây rất nhiều tờ báo giấy đã phải ngừng hoạt động hoặc phá sản do thua lỗ, hay chuyển hoàn toàn sang báo điện tử Một ví dụ điển hình là tạp chí Newsweek danh tiếng của Mỹ, kết thúc năm 2012 đã chính thức đóng cửa báo in để tập trung phát triển phiên bản điện tử Điều này phản ảnh xu thế của nền báo chí thế giới trong kỷ nguyên công nghệ số, không thay đổi sẽ bị đào thải

Trang 8

Với khối lượng tin tức cần xử lý mỗi ngày tăng lên với tốc độ chóng mặt, trong khi

đó thời gian của mỗi người lại có hạn, điều này tạo ra thách thức với khả năng xử lý của con người Những cỗ máy tìm kiếm như Google, Yahoo có thể đáp ứng nhu cầu thông tin khi chúng ta cần giải đáp một thắc mắc nào đó Nhưng nhiều khi, người dùng thậm chí còn không biết họ đang tìm kiếm gì, đó chính là trường hợp đối với tin tức Kết quả là mỗi người thường phải truy cập nhiều nguồn báo khác nhau như VienamNet, Dân trí,

Tinh tế, … để tìm kiếm những thông tin có thể khiến họ quan tâm Nhưng do mỗi người

có sở thích, nhu cầu và quan tâm đến những lĩnh vực khác nhau, nên hiệu quả của quá

trình tìm kiếm, tiếp nhận và xử lý tin mới sẽ bị ảnh hưởng bởi nhiều “nhiễu” – nhằm chỉ

những tin tức không còn/không có, hoặc gần như không có giá trị đối với họ Chính

nguyên do đó dẫn tới sự cần thiết phải cho ra đời các Hệ thống gợi ý tin tức Bởi vì sự cá nhân hoá (personalization) là một trong những ưu điểm lớn nhất của báo điện tử so với

báo giấy Trong những năm qua, đã có nhiều nghiên cứu liên quan tới gợi ý tin tức cho người dùng, nhằm tối ưu hoá khoảng thời gian họ dùng để đọc tin mỗi ngày Và trên thế

giới, nhiều Hệ thống gợi ý tin tức đã ra đời, như iCurrent, Pulse, … và không thể không nhắc đến Google News của Google

Thế nhưng, những hệ thống hay dịch vụ tương tự cho báo điện tử tiếng Việt còn rất

ít, và khả năng nắm bắt nhu cầu của người dùng còn nhiều mặt hạn chế Theo những gì tôi

được biết, hiện nay tại Việt Nam, chỉ có trang web BáoMới.com (Minh hoạ 1.1) là có

những đặc điểm tương tự với hệ thống mà tôi mong muốn xây dựng thông qua nghiên cứu luận văn này BáoMới.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ừ khoá, sau đó gợi ý cho người dùng những tin tức liên quan từ nhiều trang báo điện tử khác nhau Trang web đó cũng có khả năng tự động phân tích thói quen độc giả và đưa ra gợi ý tin tức mới Tuy nhiên qua quá trình sử dụng, tôi cảm thấy không thực sự hài lòng với hệ thống gợi ý tin tức đó do một số lý do sau:

- Qua thời gian sử dụng khá dài, trang web vẫn gợi ý ra quá nhiều tin tức mà tôi không quan tâm

- Chức năng gợi ý tin tức từ các từ khoá đã khai báo nhiều khi không chính xác, vì

từ khoá đó có thể xuất hiện trong nhiều ngữ cảnh khác nhau, và trong tin tức thuộc những chuyên mục khác nhau

- Giao diện hiển thị tin chưa sinh động, chưa thu hút độc giả

- Khả năng gợi ý tin tức chưa bắt kịp với sự thay đổi nhanh chóng thị hiếu độc giả

Trang 9

Minh hoạ 1.1: Ví dụ về giao diện một chuyên mục cá nhân hoá trên BáoMới.com

Chính vì những lý do trên, tôi nhận thấy sự cần thiết xây dựng một Hệ thống gợi ý tin tức tiếng Việt Nội dung quá trình nghiên cứu nhằm hiện thực hoá Hệ thống này được

trình bày trong phần tiếp theo

1.2 Bố cục luận văn

Nội dung nghiên cứu của luận văn gồm:

Chương 2: thảo luận các nghiên cứu liên quan về Thu thập thông tin (Information Retrieval), Lọc thông tin (Information Filtering), tìm hiểu về các Hệ thống gợi ý (Recommendation Systems) cũng như những đặc tính riêng, cần biết của tin tức so với các

dạng thông tin khác

Trang 10

Chương 3: mô tả quá trình tôi ứng dụng hướng tiếp cận chọn lọc thông tin dựa trên nội dung vào thực tế, thông qua hệ thống gợi ý tin tức tiếng Việt xenoNews Nội dung

chương này bao gồm:

o Các yêu cầu với hệ thống cần xây dựng

o Mô tả hồ sơ đối tượng thông tin – trong trường hợp cụ thể của tin tức

o Trình bày về việc mô hình hoá thông tin ngắn hạn, dài hạn riêng rẽ; đồng thời, có sử dụng thêm các luật người dùng tự mô tả Từ đó, tôi đề xuất xây

dựng một Hồ sơ người dùng dạng kết hợp, thống nhất, là trung tâm trong

việc gợi ý (chọn lọc) thông tin dựa trên nội dung

o Mô tả thiết kế hệ thống gợi ý tin tức tiếng Việt, dựa trên nội dung, bao gồm

ba phần chính: Lõi xử lý Back-end, Tầng giao tiếp trung gian Middle-level,

và giao diện người dùng là ứng dụng Web ở Front-end

Chương 4: Chương này sẽ trình bày các thử nghiệm nhằm đánh giá hiệu quả hoạt

động tổng thể của hệ thống gợi ý dựa trên nội dung, với thành phần then chốt là Hồ sơ người dùng kết hợp đã nêu trong Chương 3 Do đó, thử nghiệm cũng xem xét đóng góp của từng thành phần trong hồ sơ người dùng kết hợp (gồm mô hình ngắn hạn, mô hình dài hạn, các luật tự mô tả) Thêm vào đó, một thử nghiệm để đánh giá tính hiệu quả của cơ

chế thu thập phản hồi time-coded trên Front-end (website) cũng được đưa ra xem xét

Chương 5: Tổng kết nội dung và đánh giá lại kết quả nghiên cứu luận văn, đề xuất

hướng nghiên cứu để hoàn thiện hệ thống trong tương lai

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

Để hoàn thành nội dung nghiên cứu đã đề ra, đầu tiên, tôi tiến hành tìm hiểu kiến thức cơ bản về các mô hình hệ thống gợi ý nói chung Sau đó, dựa trên những đặc điểm riêng của tin tức và điều kiện thực tế mà chọn hướng tiếp cận phù hợp

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à xây dựng hệ thống Song song với đó, các thói quen đọc tin tức, báo chí trực tuyến của mọi người cũng được điều tra, thông qua hình thức hỏi đáp trực tiếp Các thông tin này sẽ giúp ích rất nhiều cho quá trình xây dựng hệ thống thử nghiệm, đặc biệt là giao diện và tương tác trên website

Cuối cùng, một số thử nghiệm khác nhau sẽ được tiến hành, nhằm đánh giá khả năng của hệ thống, từ đó, đề xuất các hướng nghiên cứu tiếp theo trong tương lai

Trang 11

1.4 Kết quả thu được

Sau quá trình nghiên cứu cơ bản, tôi đã quyết định xây dựng một hệ thống gợi ý (hay chọn lọc) tin tức tiếng Việt, hoàn chỉnh, theo hướng tiếp cận dựa trên nội dung (content-based approach) Trong đó, thành phần quan trọng nhất là một Hồ sơ người dùng kết hợp (Hybrid User Profile), có khả năng: mô hình hoá thông tin sở thích ngắn hạn, dài hạn của độc giả, một cách độc lập; cộng với việc sử dụng thêm thông tin người dùng cung cấp (dưới dạng các luật họ mô tả về nội dung tin tức họ quan tâm)

Qua thử nghiệm, Hồ sơ người dùng kết hợp đã chứng tỏ rằng nó hoạt động hiệu quả hơn so với từng mô hình thông tin (ngắn hạn, dài hạn) độc lập, có khả năng nắm bắt nhanh sở thích của người dùng và theo dõi được những gì họ đã đọc

Do hiệu năng hoạt động của hệ thống dạng này phụ thuộc nhiều vào phản hồi,

tương tác của người dùng, nên một cơ chế thu thập phản hồi ẩn (implicit feedback) từ Front-end cũng được đề xuất Cơ chế đó được gọi là time-coded Và kết quả thử nghiệm

có trong chương 4 một lần nữa khẳng định những phán đoán của tôi khi quyết định cài đặt

time-coded vào hệ thống thử nghiệm

Trang 12

Chương 2: Các nghiên cứu có liên quan

2.1 Báo điện tử

Sự ra đời của báo điện tử bắt đầu vào giữa những năm 1990 của thế kỷ trước, khi

McAdams lập nên phiên bản trực tuyến của báo The Washington Post Cô và đội của

mình là những người đầu tiên thiết lập một tờ báo điện tử, do vậy họ có rất nhiều khó

khăn cần vượt qua Một mô hình kiến trúc với tên gọi Newspaper metaphor đã được xây dựng Newspaper metaphor có thể được hiểu theo nghĩa tiếng Việt là “hình thức ẩn dụ về Báo chí” (Báo chí ở đây là báo giấy, báo truyền thống) Tên gọi này ám chỉ rằng mô hình

đó phải thật sự thân thiện và dễ hiểu, sao cho bất kỳ ai biết đọc đều có thể tự chỉ ra cách

sử dụng phiên bản điện tử Mô hình Newspaper metaphor cũng sử dụng trang chủ (front page) làm điểm khởi đầu của hệ thống, một thuật ngữ vẫn còn được sử dụng phổ biến trên

hầu hết các website cho tới ngày nay McAdams và các đồng nghiệp cũng đã đưa ra kết luận rằng báo điện tử không thể là một bản sao trực tiếp của báo in Hơn nữa, họ cũng nhận thấy rất khó để xác định cần giữ những gì và loại bỏ những gì dựa trên phiên bản in giấy Vậy nên thay vì các biên tập viên của tờ báo giấy, trang báo trực tuyến được vận hành bởi một đội ngũ biên tập viên hoàn toàn mới Do ấn phẩm điện tử của báo có tính tương tác hai chiều, nên những biên tập viên mới này phải suy nghĩ, làm việc theo những phương thức khác với kiểu truyền thông một chiều của báo chí truyền thống

Báo điện tử cũng xuất hiện từ khá sớm ở Việt Nam, tờ báo trực tuyến đầu tiên là

tạp chí Quê hương, phiên bản điện tử ra đời từ năm 1997 Đây là tờ tạp chí của Uỷ ban về

người Việt Nam ở nước ngoài, trực thuộc Bộ Ngoại giao, phát hành số đầu tiên ngày 6/2/1997, chính thức khai trương ngày 3/12/1997 Tiếp sau đó, năm 1998, báo điện tử VietnamNet ra đời; năm 1999, báo Nhân dân điện tử ra đời, … Cho tới nay, mặc dù tôi không có con số thống kê chính xác, nhưng chỉ tính riêng ở Việt Nam thì số lượng báo điện tử được cấp phép hoạt động ước tính cũng lên tới vài trăm Hằng ngày, theo cách này hay cách khác, hầu hết người sử dụng Internet đều truy cập ít nhất một hoặc nhiều website tin tức khác nhau Và tất nhiên họ chỉ tìm kiếm đọc những tin tức mà họ nghĩ là thú vị hay

có giá trị với họ, giống như với báo in Dù cho báo in luôn có những ưu điểm riêng như thoải mái hơn khi đọc, dễ dàng ghi chú, …, nhưng báo chí online lại có một thứ vũ khí

còn lợi hại hơn – đó chính là khả năng cá nhân hoá (personalization) Với sự cá nhân

hoá, việc tạo nên một tờ báo chỉ chứa những tin phù hợp với sở thích của từng người là

Trang 13

hoàn toàn có thể Hệ thống của tác giả Kamba và các đồng nghiệp khai thác khả năng cá nhân hoá mà không cần sự can thiệp có chủ ý của người dùng, sử dụng những kỹ thuật như điều khiển động, tương tác và phản hồi ẩn Từ đó hệ thống này hiển thị tin tức một cách linh hoạt, đồng thời có thể được chỉnh sửa bởi người dùng qua một tập hợp các cơ chế điều khiển Thông qua những cơ chế này, độc giả có thể sắp xếp lại tin tức theo thứ tự

họ mong muốn

2.2 Gợi ý tin tức

Khả năng Gợi ý (Recommendation) thường được sử dụng rộng rãi trong nhiều hệ

thống thương mại khác nhau, nơi mà mỗi hệ thống đều có cơ sở dữ liệu riêng, và các thuật

toán tiêu chuẩn như K-láng giềng gần nhất (K-Neareast Neighbours - KNN) được sử dụng

để tối ưu kết quả gợi ý Trong phần này, trước tiên tôi sẽ trình bày những nét chính của

hai chủ đề nghiên cứu liên quan là Thu thập thông tin (Information Retrieval - IR) và Lọc thông tin (Information Filtering - IF) Dựa trên cơ sở đó, các mô hình hệ thống gợi ý khác

nhau sẽ được phân tích

2.2.1 Thu thập thông tin (Information Retrieval)

Thu thập thông tin đã trở thành một chủ đề nghiên cứu từ những năm 1950, khi

con người bắt đầu có thể lưu trữ nhiều thông tin vào máy tính và việc tìm ra thông tin hữu

ích trong máy trở thành vấn đề bức thiết Các hệ thống IR ra đời từ sớm sử dụng logic

kiểu Boolean có nhiều khuyết điểm, như khó tạo được các truy vấn tốt hay không thể xếp hạng tài liệu Ngày nay người dùng của các hệ thống IR yêu cầu khả năng sắp thứ tự kết quả tìm kiếm, bởi vậy mà các mô hình không gian vector, mô hình xác suất và mô hình ngôn ngữ được sử dụng Mô hình không gian vector sử dụng các vector để đại diện cho tài liệu Tất cả các tài liệu được xem như một tập hợp vector trong không gian Và để xác định độ giống nhau giữa hai tài liệu, cosine của góc hoặc tích vô hướng của hai vector

tương ứng sẽ được tính toán Các mô hình xác suất chỉ ước lượng độ liên quan giữa các

tài liệu được truy vấn, bởi vì xác suất thực là khái niệm không tồn tại trong các hệ thống

IR Giá trị ước lượng này cũng sẽ được sử dụng để sắp hạng các tài liệu, đó là khái niệm

cơ bản của Nguyên lý xếp hạng xác suất (Probability Ranking Principle) Các mô hình

ngôn ngữ lại bắt nguồn từ ý tưởng cho rằng tài liệu sẽ là kết quả phù hợp với truy vấn nếu như từ mô hình của tài liệu có thể tạo ra truy vấn Điều này xảy ra khi các từ khoá của truy vấn thường xuyên xuất hiện trong tài liệu Với mỗi tài liệu, một mô hình xác suất ngôn ngữ được xây dựng và dùng để ước lượng xác suất có thể tạo ra được truy vấn Tương tự như trên, giá trị xác suất này sau đó lại được sử dụng để xếp hạng tài liệu

Trang 14

Để cài đặt các hệ thống IR bằng các mô hình kể trên thì trước tiên cần tạo chỉ mục cho dữ liệu Trước khi dữ liệu được tạo chỉ mục, ta cần phải thêm, xoá hoặc chỉnh sửa thông tin trong tài liệu, ví dụ như loại bỏ stopword, trích xuất thông tin về tác giả, … Sau quá trình xử lý đó, việc tạo chỉ mục dữ liệu sẽ tạo ra cấu trúc có thể tìm kiếm được, gọi

chung là Chỉ mục (Index) Chỉ mục này chứa tham chiếu đến nội dung, được dùng để yêu

cầu thông tin thông qua truy vấn Các hệ thống IR cho phép người dùng tạo truy vấn từ khoá mô tả thông tin họ cần Các từ khoá này sẽ dùng để tìm kiếm tham chiếu trong chỉ mục và hiển thị kết quả đến người dùng Hệ thống cần trả lại các kết quả có liên quan nhất dựa trên nội dung yêu cầu

2.2.2 Lọc thông tin (Information Filtering)

Các hệ thống Lọc thông tin (IF) tập trung vào quá trình lọc nội dung dựa trên hồ sơ

người dùng Hồ sơ người dùng có thể được tạo ra bằng cách (a) để người dùng khai báo trực tiếp, hoặc (b) hệ thống tự tạo dựa trên việc ngầm giám sát hoạt động của họ Người dùng sẽ nhận được thông tin họ cần dựa trên hồ sơ của chính mình từ hệ thống, một cách

tự động Một trong số các ưu điểm của hệ thống IF là khả năng thích nghi với sở thích mang tính dài hạn (long-term interest) của người dùng Các thông tin có thể được chuyển

tới người dùng dưới hình thức các thông báo, hoặc hệ thống sẽ tự động thực hiện hành động nào đó thay cho người dùng Lọc thông tin và Thu thập thông tin khác nhau ở cách

thức yêu cầu của người dùng được biểu diễn Thay vì để người dùng phải kéo (pull) thông

tin họ cần từ hệ thống thông qua truy vấn, một hệ thống Lọc thông tin (IR system) sẽ cố

gắng mô hình hoá sở thích của người dùng và tự đẩy (push) thông tin liên quan về cho họ

2.2.3 Phân loại các hệ thống gợi ý

Nghiên cứu về các đơn vị xử lý thông tin thông minh đã nhận được nhiều sự quan tâm từ rất sớm Do khối lượng thông tin trên Internet ngày càng nhiều, con người sẽ bị

quá tải trong khả năng duyệt thông tin và các loại dữ liệu đa phương tiện Quá tải thông tin đã không còn chỉ là một thuật ngữ nữa, mà trở thành thực tế đối với mọi người Điều

này dẫn tới nhu cầu tất yếu cần tìm ra các phương pháp tự động hoá quá trình tìm kiếm

thông tin Và kết quả là sự ra đời của Các đơn vị xử lý thông tin thông minh (Intelligent Information Agents), có khả năng xác định và khai thác thông tin dựa trên đặc điểm riêng

của từng cá nhân [1] Các hệ thống gợi ý đã trở thành một chuyên đề nghiên cứu độc lập

từ đầu những năm 1990, khi Goldberg và các cộng sự phát triển một hệ thống thử nghiệm

có khả năng lọc email Tuỳ vào người dùng cụ thể, bộ lọc của Goldberg có thể phân biệt

được các email quan trọng và không quan trọng Đó là do họ đã sử dụng phương pháp lọc

Trang 15

hợp tác cho hệ thống của mình, bằng cách lưu lại phản ứng với mỗi email được đọc, mọi người đã gián tiếp hỗ trợ nhau lọc email

Vấn đề gợi ý thông tin thường được đơn giản hoá thành bài toán ước lượng đánh giá cho một đối tượng thông tin mà người dùng chưa từng xem Ước lượng này thường

dựa vào đánh giá của người dùng về các đối tượng khác Một khi chúng ta đã có thể ước lượng điểm cho một đối tượng chưa biết, chúng ta sẽ có thể gợi ý cho người dùng những đối tượng thông tin với điểm đánh giá cao nhất

Vấn đề này có thể được trình bày theo mô tả toán học sau Gọi C là tập hợp chứa tất cả người sử dụng và S là tập chứa tất cả các đối tượng có thể được gợi ý, như sách báo, phim ảnh, hay nhà hàng, … Không gian S của các đối tượng có thể rất lớn, từ vài trăm,

vài nghìn, thậm chí nhiều triệu Tương tự như vậy với không gian tập người sử dụng Ta

có u là hàm hiệu dụng dùng để đo tính hữu ích của một đối tượng s đối với người dùng c,

có thể viết dưới dạng u C S:  R , trong đó R là tập tất cả các giá trị có thể (ví dụ: tập

các số nguyên không âm, hoặc số thực với giá trị trong khoảng nhất định) Sau đó với mỗi người dùng cC, chúng ta muốn chọn ra những đối tượng sS tối đa hoá lợi ích đối với người sử dụng:

Trong các hệ thống gợi ý, tính hiệu dụng (hay lợi ích) của một đối tượng thường

được đại diện bởi điểm đánh giá (rating), chỉ ra một người sử dụng nhất định thích/quan

tâm như thế nào tới một đối tượng cụ thể, ví dụ: người dùng tên Hải đánh giá bộ phim

“The Avengers” đạt điểm 7/10 Tuy nhiên tuỳ thuộc vào ứng dụng, giá trị u có thể do

người dùng đưa ra, hoặc được tính toán tự động bởi hệ thống

Mỗi phần tử của một không gian người dùng C có thể được định nghĩa bởi một hồ

sơ (profile) bao gồm các đặc điểm khác nhau của người dùng, như tuổi, giới tính, thu nhập, tình trạng hôn nhân, … Và phần tử của tập đối tượng S cũng có thể được định nghĩa bởi nhiều thuộc tính Ngoài ra, hồ sơ người dùng c còn có thể chứa trong đó lịch sử, đánh

giá của người dùng về các đối tượng họ đã tương tác, …

Vấn đề trung tâm của các hệ thống gợi ý chính là việc giá trị lợi ích u không được

định nghĩa trong toàn không gian C S , mà chỉ trên một số tập con không gian đó Có

nghĩa là giá trị u cần phải được ngoại suy tới toàn miền không gian C S Như đã nói, với các hệ thống gợi ý, giá trị lợi ích thông thường được đại diện bởi điểm mà chỉ có sẵn trên một vài đối tượng người dùng đã đánh giá trước đó Ví dụ, trong một ứng dụng gợi ý

Trang 16

phim (MovieLens.org), ban đầu người dùng sẽ đánh giá về các phim họ đã xem, ví dụ:

xem Bảng 2.1, trong đó điểm đánh giá được định nghĩa trên thang từ 1 đến 5 Biểu tượng

 có nghĩa là người dùng không đánh giá bộ phim đó Bởi vậy, bộ máy gợi ý phải có khả năng đoán trước điểm của những bộ phim người dùng chưa đánh giá và đưa ra gợi ý dựa vào những giá trị tiên đoán này

Bảng 2.1: Ví dụ về một phần ma trận đánh giá cho hệ thống gợi ý phim

Life of Pi The Hobbit Wreck-it Ralph Kung Fu Panda

dụng có khả năng tối ưu hoá tiêu chí nào đó, ví dụ như sai số bình phương trung bình (Mean square error - MSE)

Sau khi ước lượng xong, quá trình gợi ý một đối tượng cho một người dùng được thực hiện bằng cách chọn ra những giá trị cao nhất, tuân theo công thức (2.1)

Giá trị ước lượng có thể có được bằng những phương pháp khác nhau trong học máy, nguyên lý xấp xỉ hay hàm kinh nghiệm Các hệ thống gợi ý thường được phân loại dựa vào hướng tiếp cận của phương pháp ước lượng, trong các mục con của phần này, tôi

sẽ giới thiệu về cách phân loại được đề xuất đó và cung cấp một cái nhìn tổng quan về các loại hệ thống gợi ý khác nhau Việc phân loại lần đầu tiên được đề cập trong các tài liệu [2] và đã được nghiên cứu mở rộng trong nhiều nghiên cứu sau đó, ví dụ như theo nghiên cứu của hai tác giả M Balabanovic và Y Shoham:

Gợi ý dựa trên nội dung (Content-based recommendations): người dùng được gợi

ý những gì “tương tự” với nội dung họ quan tâm trong quá khứ

Gợi ý có hợp tác (Collaborative recommendations): những gì người dùng được gợi

ý là có sự kết hợp từ những nội dung mà người dùng khác - với sở thích và đặc điểm tương tự

Trang 17

Hướng tiếp cận lai/kết hợp (Hybrid approaches): kết hợp cả hai loại hình gợi ý

trên

2.2.3.1 Các hệ thống dựa trên nội dung

Với các phương pháp dựa trên nội dung, giá trị lợi ích u(c,s) của đối tượng s cho người dùng c được ước lượng dựa trên các giá trị u(c,s i ) của người dùng c với các đối

tượng s iS “tương tự” với s Ví dụ, trong một ứng dụng gợi ý phim, để có thể gợi ý cho người dùng c, hệ thống cố gắng “hiểu” sự tương đồng giữa các bộ phim mà người c đã

đánh giá cao trong quá khứ (dựa trên những đặc tính như diễn viên, đạo diễn, thể loại,

…) Sau đó, chỉ những bộ phim có độ tương đồng cao với sở thích của người dùng được đưa vào kết quả gợi ý

Hướng tiếp cận dựa vào nội dung này có nguồn gốc từ những nghiên cứu trong lĩnh vực khai thác thông tin và lọc thông tin Nhờ những nghiên cứu sớm trong hai cộng đồng đó, và do tầm quan trọng của các ứng dụng dựa trên dữ liệu text, nên nhiều hệ thống dựa vào nội dung ngày nay tập trung vào việc gợi ý các đối tượng chứa thông tin text, như văn bản, website, hay tin tức Việc cải tiến các hướng khai thác thông tin truyền thống

thường dựa trên sự khác nhau trong cách thức sử dụng hồ sơ người dùng (user profile), có

chứa các thông tin về sở thích, đặc tính và yêu cầu của họ Những thông tin này có thể được yêu cầu trực tiếp từ người dùng, thông qua các form yêu cầu hay bảng câu hỏi; hoặc một cách âm thầm bằng cách theo dõi hành vi người dùng

Ta gọi Content(s) là hồ sơ đối tượng (item profile) bao gồm các đặc tính của đối tượng dữ liệu s Đó thường là một tập đặc điểm trích xuất từ s và được sử dụng để xác

định sự tương đồng với các mục đích gợi ý Như đã nói, do các hệ thống dựa trên nội dung được thiết kế chủ yếu để gợi ý các loại đối tượng chứa text, nên các đặc trưng trong

hồ sơ đối tượng (item profile) thường là các từ khoá (keyword) Có thể lấy ví dụ từ Fab

[3], một hệ thống gợi ý website cho người dùng, trong đó các website được đại diện bởi

100 từ khoá quan trọng nhất Tương tự, hệ thống Syskill & Webert của M Pazzani và cộng sự [1] đại diện mỗi tài liệu với 128 từ khoá chứa nhiều thông tin nhất Tầm quan

trọng của một từ khoá k i trong tài liệu d j được quyết định bởi trọng số w ij , có thể định nghĩa theo nhiều cách khác nhau

Một trong những độ đo thông dụng nhất để xác định trọng số từ khoá trong Thu thập thông tin là TF-IDF (Term frequency/Inverse document frequency), được định nghĩa

như sau: giả sử N là tổng số tài liệu có thể được gợi ý đến người sử dụng và từ khoá k i xuất hiện trong số n i tổng số đó Thêm nữa, gọi f i,j là số lần từ khoá k i xuất hiện trong tài

Trang 18

liệu d j Thì khi đó TF i,j , còn gọi là tần số (đã chuẩn hoá) của từ khoá k i trong tài liệu d j

được tính theo công thức 2.2:

, ,

f

với giá trị max được tính dựa trên tần suất f z,j của tất cả các từ khoá k z xuất hiện trong tài

liệu d j Tuy nhiên, các từ khoá xuất hiện trong nhiều tài liệu lại không hữu ích trong việc

xác định tài liệu phù hợp và không phù hợp Bởi vậy, độ đo IDF i của từ khoá k i được sử

dụng cùng với TF i,j Giá trị IDF này được định nghĩa:

log

i

i

N IDF

và nội dung của tài liệu d jContent d ( j)  ( wij, wkj)

Như đã trình bày, các hệ thống dựa vào nội dung (content-based system) gợi ý các đối tượng thông tin tương tự với những gì người dùng đã thể hiện sự quan tâm trong quá khứ [1] Cụ thể hơn, nhiều đối tượng thông tin sẽ được đem ra so sánh với các đối tượng

cũ đó, và những gì phù hợp nhất sẽ được dùng làm gợi ý Có thể hình thức hoá như sau,

gọi ContentBasedProfile(c) là hồ sơ của người dùng c, có chứa các đặc tính và sở thích

của người này Hồ sơ này có được qua phân tích nội các đối tượng người sử dụng quan tâm, và thường được xây dựng bằng kỹ thuật phân tích từ khoá trong IR (Information

Retrieval – Thu thập thông tin) Ví dụ, ContentBasedProfile(c) có thể được định nghĩa là vector các trọng số (w c1 ,… w ck ), với mỗi giá trị w ci đại diện cho tầm quan trọng của từ

khoá ki đối với người dùng c, và có thể được tính toán từ vector các đối tượng người sử

dụng đã đánh giá Nhiều kỹ thuật khác nhau có thể được sử dụng, có cách tiếp cận dựa thì vào giá trị trung bình, ví dụ như thuật toán Rocchio có thể được dùng để tính

ContentBasedProfile(c) dưới dạng vector “giá trị trung bình” của các vector đối tượng,

phương pháp này đã được nghiên cứu bởi hai nhóm nghiên cứu độc lập của K Lang [4]

và M Balabanovic, Y Shoham [3] Trong một trường hợp khác, M Pazzani và cộng sự

D Billsus [1] lại sử dụng bộ phân loại Bayesian để ước lượng xác suất một tài liệu có thể

sẽ được quan tâm Thuật toán Winnow cũng đã chứng tỏ hoạt động tốt cho mục đích này, đặc biệt trong trường hợp số lượng thuộc tính lớn

Trang 19

Trong các hệ thống content-based, hàm hiệu dụng u(c,s) thường được định nghĩa:

u c sscore ContentBasedProfile c Content s (2.5)

Sử dụng mơ hình đã đề cập ở trên về gợi ý trong các hệ thống sử dụng text (như

website, tin tức, …), cả hồ sơ người dùng c - ContentBasedProfile(c) và hồ sơ đối tượng - Content(s) của tài liệu s cĩ thể được chuyển thành vector TF-IDF w cw s, chứa trọng

số các từ khố Cịn hàm hiệu dụng u(c,s) thường được định nghĩa dưới dạng hàm đánh

giá heuristic của hai vector w cw s , sử dụng độ đo tương tự cosine (cosine similarity):

với K là tổng số tất cả từ khố trong hệ thống

Bên cạnh các hàm heuristic truyền thống (dựa chủ yếu vào các phương pháp Thu Thập thơng tin), cũng cĩ các kỹ thuật khác, như phân lớp Bayesian và nhiều kỹ thuật học máy, bao gồm phân cụm, cây quyết định, mạng nơ-ron nhân tạo Những kỹ thuật này khác với hướng tiếp cận IR ở chỗ: chúng khơng tính tốn độ lợi thơng tin dựa trên các

hàm heuristic (như cơng thức độ tương tự cosine ở trên – cơng thức 2.6), mà dựa vào mơ hình được học từ dữ liệu, sử dụng nhiều loại kỹ thuật thống kê và học máy Ví dụ, dựa

trên một tập các trang web đã được đánh giá là “cĩ liên quan” và “khơng liên quan” bởi người sử dụng, Pazzani và cộng sự của mình [1] sử dụng phân lớp nạve Bayes để phân lớp trang web chưa được đánh giá Cụ thể bộ phân lớp này sẽ ước lượng xác suất mà

website p j thuộc vào lớp C i nào đĩ (ví dụ: lớp “cĩ liên quan” và “khơng liên quan”), khi

đã biết trước tập từ khố k 1,j ,…,k n,j của trang web:

Trang 20

Ngay cả khi giả định về tính độc lập của các từ khố là khơng hề đúng trong phần lớn các trường hợp thực tế, nhưng các kết quả thử nghiệm đều chỉ ra rằng các bộ phân lớp nạve Bayes vẫn đạt độ chính xác phân lớp cao Đồng thời, cả hai xác suất P k( x j, |C i) và ( i)

P C cĩ thể được ước lượng dễ dàng từ dữ liệu huấn luyện Bởi vậy, với mỗi trang web

p j, xác suất P C k ( i | 1,j kn j, ) được tính cho từng lớp C i , và p j sẽ được coi là thuộc lớp

C i cĩ xác suất cao nhất

Thu thập thơng tin từ dữ liệu text (text retrieval) đã đĩng gĩp nhiều nghiên cứu cho các hệ thống gợi ý content-based Một trong những nghiên cứu đĩ là lọc thích nghi (adaptive filtering), tìm hiểu cách xác định các tài liệu liên quan chính xác dần lên theo

thời gian, bằng cách coi mỗi tài liệu là thành phần của một luồng liên tục Các phương pháp khai phá dữ liệu text khác được D A Hull mơ tả trong báo cáo “The TREC-7 Filtering Track: Description and Analysis”

Tài liệu [3] chỉ ra các hệ thống dựa trên nội dung (content-based) cĩ nhiều hạn chế

- Hạn chế về hình thức của đối tượng Các kỹ thuật content-based bị giới hạn bởi

các thuộc tinh gắn với đối tượng mà hệ thống gợi ý Bởi vậy, để cĩ đủ tập hợp các thuộc tính, nội dung phải nằm dưới dạng cĩ thể sử dụng trích xuất tự động bằng máy tính (như dữ liệu text), hoặc các tính năng cĩ thể được gán tự động theo một cách thức nào đĩ Mặc dù các kỹ thuật khai thác thơng tin hoạt động tốt trong việc tách thuộc tính văn bản, nhưng nhiều kiểu dữ liệu lại khĩ trích xuất thuộc tính tự động (như dữ liệu đa phương tiện: ảnh, âm thanh, video)

Một vấn đề khác nữa là nếu hai đối tượng được biểu diễn với một tập thuộc tính giống nhau thì chúng trở nên khĩ phân biệt Ví dụ, khi hai bài viết được thể hiện bằng các từ khố giống nhau, các hệ thống content-based sẽ khĩ phân biệt bài viết hay với bài viết dở

- Vấn đề “phù hợp quá mức” Khi hệ thống chỉ cĩ thể gợi ý các tài liệu cĩ điểm số

cao đối với một hồ sơ người dùng, người dùng đĩ bị giới hạn trong khơng gian đối tượng tương tự những gì họ từng xem Vấn đề này thường được giải quyết bằng

cách đưa thêm tính ngẫu nhiên vào hệ thống Giải thuật gen (genetic algorithm)

cũng được đề xuất để giải quyết hạn chế này Cần lưu ý, trong nhiều trường hợp, các đối tượng được gợi ý khơng nên quá giống những gì người sử dụng đã từng biết (như trường hợp của tin tức) Bởi vậy, nhiều hệ thống gợi ý dựa trên nội dung như DailyLearner, sẽ lọc và loại bỏ khơng chỉ những gì quá khác biệt với sở thích

Trang 21

người dùng, mà cả những gì quá giống với nội dung họ đã đọc trước đó Trong một

nghiên cứu sau đó, Y Zhang và các cộng sự J Callan, T Minka đã cung cấp 5 độ

đo dư thừa để đánh giá một tài liệu có chứa thông tin gì mới, hữu ích với người dùng hay không Như vậy, tính đa dạng (diversity) là đặc tính mong muốn của các

hệ thống gợi ý Nghĩa là, người sử dụng nên được cung cấp nhiều kiểu thông tin khác nhau, thay vì một loạt các nội dung gần giống nhau Có thể hình dung như sau: không cần thiết gợi ý cho người dùng tất các bộ phim của đạo diễn James Cameron khi người dùng chỉ thích một trong số chúng

- Vấn đề người dùng mới: Người sử dụng sẽ cần đánh giá một lượng đối tượng nhất

định trước khi các hệ thống content-based có thể hiểu được sở thích của họ và đưa

ra các gợi ý phù hợp Bởi vậy, một người dùng mới sẽ chưa thể có được nhiều gợi

ý chính xác

2.2.3.2 Các hệ thống lọc có hợp tác

Không giống như các phương pháp dựa vào nội dung, các hệ thống gợi ý dựa trên hợp tác (collaborative filtering systems) cố gắng ước đoán lợi ích một đối tượng đối với người dùng dựa trên những gì người dùng khác đã đánh giá Cụ thể, giá trị lợi ích u(c,s) của đối tượng s với người dùng c được ước tính dựa trên các giá trị u(c j , s) được gán cho đối tượng s bởi những người dùng c jC , và có sở thích “tương tự” người dùng c

Nhiều hệ thống hợp tác như vậy đã được phát triển cho cả nghiên cứu lẫn ứng dụng Có thể coi hệ thống Grundy là hệ thống gợi ý đầu tiên, hệ thống này xây dựng các

mô hình người dùng dựa trên một số lượng hạn chế thông tin về từng cá nhân, sau đó sử dụng chúng để gợi ý các cuốn sách phù hợp Sau đó, có một hệ thống tên Tapestry cho phép người dùng xác định thủ công những người dùng cùng tư tưởng với họ GroupLens, Video Recommendation, và Ringo là những hệ thống đầu tiên sử dụng các thuật toán lọc

hợp tác để tự động hoá quá trình này Các ví dụ khác về hệ thống gợi ý hợp tác (collaborative system) bao gồm gợi ý sách của Amazon.com, hay hệ thống PHOAKS -

giúp mọi người tìm kiếm thông tin liên quan trên Internet

Theo như nghiên cứu của J S Breese, D Heckerman, và C Kadie trong báo cáo

“Empirical analysis of predictive algorithms for collaborative filtering” [5], các thuật toán

dành cho gợi ý hợp tác có thể được nhóm lại như sau: dựa vào ghi nhớ (memory-based, hoặc heuristic-based) và dựa vào mô hình (model-based)

Các thuật toán memory-based đã được nghiên cứu nhiều [5], [6], loại thuật toán

này đưa ra ước đoán dựa trên toàn bộ tập đối tượng trước đó các người dùng đánh giá

Trang 22

Nghĩa là giá trị đánh giá r c,s của người dùng c cho đối tượng s được tính toán từ tổng hợp các đánh giá của những người dùng khác (thường là N người dùng có sở thích tương tự người dùng c nhất) dành cho cùng đối tượng s:

ˆ '

Khác với memory-based, các thuật toán model-based tạo mô hình từ tập hợp các

đánh giá của người dùng, rồi sử dụng mô hình đó cho việc ước đoán Ví dụ, nhóm nghiên cứu của J S Breese và các cộng sự, năm 1998 [5] đề xuất một hướng tiếp cận thống kê các bộ lọc hợp tác, các đánh giá chưa biết được tính toán với công thức 2.10

các đối trước đây Để tính được xác suất này, nhóm của J S Breese đưa ra hai mô hình

xác suất: mô hình phân cụm (cluster model) và mạng Bayesian (Bayesian network)

Nhóm của D Billsus lại đề xuất lọc hợp tác dựa trên học máy, nhiều kỹ thuật học máy khác nhau (như mạng nơ-ron nhân tạo) được kết hợp cùng với các kỹ thuật trích xuất

thuộc tính (ví dụ như phân hoạch đơn trị - singular value decompostion: kỹ thuật đại số

dùng để giảm bớt số chiều trong ma trận) Cả hai nhóm tác giả J S Breese và D Billsus

đều so sánh hướng tiếp cận model-based của họ với các nghiên cứu của hướng based và đưa ra báo cáo rằng: trong nhiều ứng dụng, các phương pháp dựa trên mô hình model-based vượt trội so với memory-based về độ chính xác của kết quả gợi ý Tuy

memory-nhiên, so sánh trong cả hai trường hợp đều dựa trên thực nghiệm, và không có một bằng chứng lý thuyết nào khẳng định rõ ràng tính chính xác của tuyên bố này

Trang 23

Nhiều nghiên cứu khác về hướng tiếp cận model-based đã được thực hiện Một

kiểu mô hình cho các hệ thống hợp tác dựa trên thống kê đã được nhóm của L H Ungar

đề cập trong báo cáo “Clustering Methods for Collaborative Filtering” (1998) [7], các giải thuật khác nhau để ước lượng tham số mô hình đã được so sánh, bao gồm phân cụm K-mean và phương pháp lấy mẫu Gibb Ngoài ra cũng có cả các phương pháp lọc hợp tác khác dựa trên mô hình Bayesian, mô hình xác suất quan hệ, mô hình cực đại hoá Entropy

Và gần đây, nhiều nỗ lực nghiên cứu cố gắng mô hình quá trình gợi ý sử dụng thống kê phức tạp hơn Trong đó điển hình là trường hợp của nhóm nghiên cứu G Shani, 2002 [8],

coi quá trình gợi ý là bài toán quyết định có tính tuần tự, và đề xuất sử dụng kỹ thuật ra quyết định Markov

Ngược lại, R Kumar và các cộng sự, năm 2001, trong bài báo “Recommendation systems: a probabilistic analysis” sử dụng một mô hình thống kê đơn giản nhằm chứng tỏ rằng phương phá hợp tác cũng có thể hoạt động hiệu mà chỉ cần ít dữ liệu từ mỗi người dùng Hơn nữa, nếu áp dụng cùng với các cài đặt nhất định, các thuật toán lọc hợp tác đơn giản cũng hiệu quả không kém các thuật toán phức tạp tốt nhất khi đó

Và cũng như trường hợp của các kỹ thuật dựa trên nội dung – content-based, khác

biệt chính giữa lọc hợp tác dựa trên mô hình (model-based collaborative techniques) và dựa trên heuristic (heuristic-based collaborative techniques) là: các kỹ thuật dựa trên mô hình không tính toán lợi ích dựa trên các luật heuristic, mà dựa vào mô hình học từ dữ

liệu, thông qua kỹ thuật học máy và thống kê Có một phương pháp kết hợp cả hai hướng được đưa ra trong nghiên cứu của nhóm tác giả D M Pennock năm 1999: “Collaborative Filtering by Personality Diagnosis: A Hybrid Memory- and Model-Based Approach” [9],

và kết quả thử nghiệm của họ chỉ ra rằng phương pháp đó cho kết quả gợi ý tốt hơn khi sử dụng từng hướng tiếp cận riêng biệt Trong số những nghiên cứu mới nhất, K Yu, A Schwaighofer và các cộng sự khác [10] đề xuất (a) sử dụng phương pháp học chủ động để

mô hình hoá thói quen người dùng, sau đó (b) sử dụng kết hợp hồ sơ người dùng và mô hình trên để tính toán, đưa ra gợi ý

Các hệ thống gợi ý có hợp tác khắc phục được nhiều khuyết điểm các hệ thống content-based gặp phải Cụ thể là, do chúng sử dụng đánh giá của người dùng khác, nên

có thể dùng cho gợi ý bất kỳ loại đối tượng nội dung nào (video, nhạc, âm thanh, …), và

cả đối tượng hoàn toàn khác với những gì người dùng đã biết Tuy nhiên, các hệ thống collaborative này lại có những hạn chế riêng, như đã được chỉ ra trong tài liệu [3]

- Vấn đề người dùng mới Cũng giống hệt như với các hệ thống dựa trên nội dung

Để có thể đưa ra các gợi ý chính xác, trước hết hệ thống phải học được sở thích của

Trang 24

người dùng Đã có nhiều kỹ thuật được đề xuất để giải quyết vấn đề này Hầu hết

trong số chúng sử dụng các hướng tiếp cận lai (hybrid recommendation approach),

kết hợp kỹ thuật gợi ý dựa trên nội dung và lọc có hợp tác, mà phần tiếp theo sẽ

mô tả

- Vấn đề đối tượng tài liệu mới Các đối tượng mới thường xuyên được đưa vào hệ

thống gợi ý Các hệ thống hợp tác dựa hoàn toàn vào thông tin đánh giá của người dùng khác Bởi vậy, nếu đối tượng tài liệu chưa được đánh giá bởi đủ một lượng người dùng, thì hệ thống không thể ước đoán giá trị lợi ích của đối tượng Vấn đề này cũng có thể được giải quyết bằng cách sử dụng các hệ thống lai

- Sự thưa thớt dữ liệu (Sparsity) Trong bất kỳ hệ thống gợi ý nào, số lượng các đánh

giá có được luôn rất nhỏ so với số lượng đánh giá cần ước lượng Khả năng gợi ý hiệu quả từ một lượng nhỏ các ví dụ là rất cần thiết Hơn nữa, sự thành công của các hệ thống lọc hợp tác phụ thuộc vào một số lượng lớn người sử dụng Ví dụ, trong hệ thống gợi ý phim, có nhiều bộ phim mới chỉ được đánh giá bởi một vài người dùng, các bộ phim này sẽ hiếm khi trở thành kết quả gợi ý, ngay cả khi bản thân người dùng có thể đánh giá rất cao bộ phim Đồng thời, đối 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ẽ

đã từng được nghiên cứu

1 Xây dựng riêng rẽ rồi kết hợp kết quả Đây là cách đầu tiên để tạo ra một hệ thống gợi ý lai Chúng ta có hai lựa chọn Một là kết hợp kết quả của từng hệ thống riêng lẻ thành gợi ý cuối cùng theo kiểu kết hợp tuyến tính (linear combination) như trong nghiên cứu của M Claypool và nhóm cộng sự, năm

1999, “Combining content-based and collaborative filters in an online

Trang 25

newspaper” [11] hoặc sử dụng cơ chế bầu chọn (voting scheme) như hệ thống

của M J Pazzani, cũng vào năm 1999 Hai là, chỉ sử dụng kết quả của từ một

hệ thống, tuỳ trường hợp mà quyết định cái nào “tốt hơn”, theo tiêu chí nào đó

Ví dụ, DailyLearner chọn kết quả từ hệ thống gợi ý có độ tự tin cao hơn, còn hệ thống của tác giả T Tran và R Cohen lại sử dụng hệ thống có kết quả thống nhất hơn với những đánh giá của người dùng trong quá khứ

2 Thêm thuộc tính của hệ thống dựa trên nội dung vào mô hình lọc có hợp tác

Nhiều hệ thống gợi ý lai, bao gồm Fab [3] và các hệ thống “hợp tác thông qua nội dung” - như được mô tả trong nghiên cứu “A Framework for Collaborative, Content-Based and Demographic Filtering” của M J Pazzani, năm 1999 [12], dựa trên các kỹ thuật hợp tác truyền thống, nhưng vẫn lưu trữ cả hồ sơ nội dung của từng người dùng Các hồ sơ này, sau khi đã loại bỏ các đối tượng quá phổ biến (thường xuyên được người dùng đánh giá), sẽ được sử dụng để tính toán

độ tương đồng giữa hai người sử dụng Theo M J Pazzani, kỹ thuật này cho

phép khắc phục hầu hết các vấn đề liên quan đến thưa thớt dữ liệu (sparsity)

của hướng tiếp cận dựa trên hợp tác thuần tuý Một ưu điểm khác của cách tiếp cận này là người sử dụng không chỉ được gợi ý các đối tượng người dùng khác

đã từng đánh giá cao, mà còn cả những gì đạt điểm cao với chính hồ sơ của họ [3] Tương tự, năm 2002, nhóm P Melville và các cộng sự [13] sử dụng hướng tiếp cận hợp tác với vector đánh giá của người dùng được trộn thêm với các đánh giá của bộ ước lượng content-based

3 Thêm thuộc tính của hệ thống hợp tác vào mô hình hệ thống dựa trên nội dung Cách tiếp cận phổ biến nhất trong loại hệ thống này là sử dụng kỹ thuật giảm số chiều lên một nhóm các hồ sơ dựa trên nội dung của người dùng Ví dụ, hệ

thống thử nghiệm của các tác giả I Soboroff và C Nicholas, 1999 [14] sử dụng

LSI (Latent Semantic Indexing) nhằm tạo nên một khung nhìn hợp tác (collaborative view) về tập hợp nhiều hồ sơ người dùng, với các hồ sơ được đại

diện bởi vector từ vựng, khiến cho hiệu năng được cải thiện so với hướng tiếp cận hoàn toàn dựa trên nội dung

4 Phát triển một mô hình gợi ý thống nhất Nhiều nhà nghiên cứu đã theo đuổi

hướng phát triển này C Basu và các cộng sự H Hirsh, W Cohen [15] đề xuất kết hợp các đặc tính của cả hai loại hệ thống vào một bộ phân lớp duy nhất, dựa trên các luật Nhóm của A I Schein [16] và D M Pennock [9] thì lại sử dụng

Trang 26

một phương pháp thống kê hợp nhất để kết hợp cả hai loại hệ thống: hợp tác và dựa trên nội dung.

Tóm lại, các hệ thống gợi ý có thể được phân loại thành (a) dựa trên nội dung (content-based), hợp tác (collaborative) và lai/kết hợp (hybrid), nếu dựa trên tiêu chí hướng tiếp cận gợi ý được sử dụng, và (b) dựa trên ghi nhớ (memory-based, tên gọi khác: heuristic-based) và dựa vào mô hình (model-based), theo tiêu chí kỹ thuật gợi ý được dùng trong việc ước lượng Bảng 2.2 sẽ tổng hợp lại các loại hệ thống này dưới dạng một

ma trận 2x3

Bảng 2.2: Phân loại các hệ thống gợi ý

Hướng tiếp cận Kỹ thuật gợi ý

 Lang 1995

 Balabanovic & Shoham 1997

 Pazzani & Billsus 1997

Trang 27

 Nakamura & Abe 1998

 Delgado & Ishii, 1999

 Ungar & Foster 1998

 Getoor & Sahami 1999

 Balabanovic & Shoham 1997

 Claypool và cộng sự 1999

 Pazzani 1999

 Billsus & Pazzani 2000

 Tran & Cohen 2000

 Melville và cộng sự 2002

Kết hợp cả content-based và collaborative bằng cách:

 Thêm thuộc tính của hệ thống hợp tác (collaborative) vào hệ thống content-based

 Xây dựng mô hình thống nhất Các nghiên cứu đại diện:

 Basu và cộng sự 1998

 Soboroff & Nicholas 1999

 Schein và cộng sự 2002

2.2.4 Các đặc trưng riêng của tin tức

Để có thể xây dựng một hệ thống gợi ý tin tức hiệu quả, ta cần phải lưu tâm đến những đặc trưng riêng sau của tin tức, khi so sánh với đối tượng trong các Hệ thống gợi ý khác:

- Khối lượng dữ liệu lớn: tin tức mới thường xuất hiện nhiều chỉ trong một thời gian

ngắn, vì vậy cần nhiều năng lực tính toán để đưa ra gợi ý

- Không có cấu trúc: vì chỉ là một chuỗi các từ ngữ được ghép lại với nhau, định

dạng không có cấu trúc đó của tin tức đó khiến cho việc phân tích và tiền xử lý dữ liệu gặp nhiều khó khăn hơn Đặc biệt là với tiếng Việt, hệ thống cần trải qua quá

Trang 28

trình tiền xử lý tốn kém thời gian để tách văn bản thành các từ có nghĩa (các

token), so với nhiều ngôn ngữ khác như tiếng Anh

- Tính tức thời: tin tức thường có chu kỳ sống ngắn, nghĩa là sẽ mất giá trị rất nhanh,

thường chỉ sau một hoặc vài ngày

- Tính phụ thuộc vào chủ thể thông tin: hầu hết tin tức đều mô tả sự kiện, đối tượng

cụ thể Độc giả thường bị thu hút ngay bởi các thông tin như cái gì, ai, khi nào, ở đâu của sự kiện

- Quá trình lựa chọn tin tức và Xếp hạng: sự hứng thú của người dùng với tin tức có

thay đổi liên tục, tuỳ thuộc vào các tin mà họ (và có thể là cả những người khác) quan tâm

- Khả năng mở rộng: khả năng mở rộng của hệ thống gợi ý tin tức thường yêu cầu

các thuật toán đột phá và cả năng lực tính toán để xử lý dữ liệu lớn.Ví dụ, Google

sử dụng mô hình có tên Map-reduce nhằm phân tán việc tính toán tập ngữ liệu lớn

lên rất nhiều cụm máy tính, nằm rải rác khắp toàn cầu

Trang 29

Chương 3: Hệ thống gợi ý tin tức tiếng Việt

xenoNews

Nội dung chính của chương mô tả bản mẫu hệ thống gợi ý tin tức tiếng Việt – xenoNews mà tôi xây dựng trong quá trình thực hiện luận văn này, bao gồm: kiến trúc hệ thống, mô hình người dùng, mô hình đại diện của đối tượng tin tức, giao diện web, …

Thứ tự trình bày các nội dung của chương bám sát các bước thực tế tôi đã tiến hành để tiến hành:

- Chọn lựa hướng tiếp cận và Mô hình xây dựng hệ thống

- Phác thảo các yêu cầu hệ thống cần đạt được

- Xây dựng kiến trúc chi tiết của hệ thống

- Mô hình hoá các tin tức và xây dựng hồ sơ người dùng

- Xây dựng Website

Trước tiên, cần lưu ý rằng 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

3.1 Hướng tiếp cận và Kiến trúc hệ thống

3.1.1 Hướng tiếp cận

Như đã nói, hệ thống cần 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 Sau quá trình tìm hiểu về các hệ thống gợi ý nói chung, và gợi ý tin tức nói riêng trong chương 2, tôi quyết định chọn hướng tiếp cận dựa trên nội dung (content-based) có sử dụng hàm heuristic (heuristic-based) Hướng tiếp cận này nằm ở hàng 1, cột

1 trong ma trận phân loại 2x3 của Bảng 2.2 Nhiều lý do dẫn tới quyết định này của tôi:

- Đối tượng cần gợi ý là tin tức: tin tức là đối tượng dạng text, và nội dung chương 2

có đề cập rằng, hai chủ đề Thu thập thông tin - IR (Information Retrival) và Lọc

Trang 30

thông tin - IF (Information Filtering) đã được nghiên cứu từ rất sớm, đồng thời có nhiều nghiên cứu có thể ứng dụng hiệu quả trong xử lý nội dung text

- Vấn đề số lượng người dùng: do hạn chế về số lượng người dùng thử nghiệm và

thời gian nghiên cứu, nên việc xây dựng hệ thống theo hướng hợp tác (collaborative) hay kết hợp (hybrid) ngay từ đầu sẽ khó khăn do không thể thử nghiệm thực tế

- Dễ mở rộng, kết hợp: theo nhiều kết quả thử nghiệm trong chương 2, các hệ thống

hybrid được cho là có thể khắc phục nhiều thiếu sót của việc cài đặt hai hướng tiếp cận content-based và collaborative riêng rẽ Vì vậy, luận văn sẽ đặt mục tiêu xây dựng một hệ thống content-based trước tiên, sau khi đưa vào sử dụng thực tế và đạt được lượng người dùng nhất định thì có thể mở rộng nghiên cứu, tích hợp thêm các

kỹ thuật gợi ý có hợp tác, nhằm xây dựng một hệ thống gợi ý tin tức lai

3.1.2 Kiến trúc hệ thống

xenoNews được xây dựng sử dụng mô hình kiến trúc đa-tầng (multi-tier architecture) truyền thống, cụ thể ở đây là 3-tầng, tương ứng với ba phần chính của hệ thống (Minh hoạ 3.1):

- Phần lõi xử lý (back-end): đây là phần chịu trách nhiệm xử lý chính trong hệ thống, thực hiện hầu hết các nhiệm vụ: thu thập tin tức từ các báo điện tử, xử lý nội dung tin, cập nhật mô hình người dùng, tính toán và gợi ý tin tức, …

- Phần giao diện người sử dụng (front-end): chính là trang web người dùng truy cập

để đọc tin Phần này có các chức năng chính sau: hiển thị các tin tức và kết quả xử

lý của phần back-end tới người dùng, nhận yêu cầu từ người dùng và thu thập thông tin phản hồi, …

- Phần trung gian (middle-level): bao gồm có cơ sở dữ liệu (CSDL) và một bộ phận

xử lý yêu cầu (từ front-end), với các nhiệm vụ sau: cập nhật tương tác của người dùng vào cơ sở dữ liệu, đồng thời chuyển dữ liệu mà back-end đã tính toán đến người dùng thông qua giao diện web Có thể coi đây là đơn vị liên lạc giữa người dùng (thông qua front-end) và lõi xử lý back-end, không có tương tác nào là trực tiếp giữa front-end và back-end

Trang 31

Minh hoạ 3.1: Kiến trúc 3-tầng của hệ thống xenoNews

3.2 Yêu cầu hệ thống

Sau khi đã xác định được hướng tiếp cận và kiến trúc của hệ thống, bước cần thực hiện tiếp theo là xác định chức năng chính của từng tầng trong hệ thống Các chức năng này là mô tả cơ bản, giúp định hướng quá trình thiết kế Các yêu cầu có thể được chỉnh sửa, thêm vào hay loại bỏ trong suốt quá trình xây dựng Hệ thống được xây dựng sử dụng quy trình lặp (iterative development)

Trang 32

Minh hoạ 3.2: Quy trình thiết kế lặp được sử dụng để xây dựng xenoNews

3.2.1 Các yêu cầu chức năng

Các đặc tính, khả năng mong muốn của hệ thống:

- 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‟”

Dựa trên các nội dung trên, tôi tiếp tục tiến hành xác định nhiệm vụ cụ thể của từng thành phần trong hệ thống:

Trang 33

- Front-end: giao diện web, hay góc nhìn của người dùng về hệ thống

o Bao gồm các chức năng cơ bản: đăng ký, đăng nhập, quản lý thông tin cá nhân, tìm kiếm

o 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ệ thống, phù hợp dành riêng cho người dùng đó

o Cho phép người dùng phản hồi về các kết quả gợi ý

o 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

- Middle-level: như đã nói ở mục trên, middle-level bao gồm có CSDL và một bộ xử

lý yêu cầu, hai đơn vị này sẽ hợp tác, trao đổi dữ liệu để thực hiện các chức năng:

o Khi người dùng gửi yêu cầu đến hệ thống từ giao diện web, bộ xử lý yêu cầu sẽ tiếp nhận và giao tiếp với CSDL để thực hiện, sau đó trả lại kết quả

về cho người dùng; hay đơn giản chỉ là lưu thông tin vào CSDL

o Tiếp nhận nội dung giám sát hành vi người dùng, lưu vào CSDL

o Tầng này, hay chính xác hơn là CSDL, cũng có trách nhiệm cung cấp thông tin cho lõi xử lý back-end trong quá trình back-end tính toán, rồi nhận kết quả và lưu vào CSDL

o Chức năng xác thực người dùng và bảo mật thông tin: giao tiếp giữa end và middle-level là thông qua các yêu cầu của người dùng và truy vấn CSDL Để đảm bảo an ninh thông tin, tầng trung gian này phải có các biện pháp xác thực chính xác người dùng, với mỗi yêu cầu họ gửi tới hệ thống

front-Ví dụ, chức năng này cần phải chắc chắn rằng người dùng A không thể biết được các tin tức hệ thống gợi ý cho người dùng B

- Back-end: vì là thành phần chính của hệ thống, nên back-end có rất nhiều chức

Ngày đăng: 25/03/2015, 09:46

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w