Xây dựng chi tiết các thành phần bộ lọc cộng tác

Một phần của tài liệu (Luận văn thạc sĩ) mô hình hóa người dùng và ứng dụng bộ lọc cộng tác trong hệ thống gợi ý tin tức (Trang 37)

3.3.1. Bộ phận chia nhóm ngƣời dùng

Trước tiên ta nêu phương pháp tổng quát để chia nhóm người dùng trong hệ thống theo sở thích. Trong bất kỳ hệ thống cung cấp tin tức nào đều có định nghĩa sẵn một tập gồm các thể loại tin. Mỗi bản tin có thể thuộc vào một hoặc một số thể loại. Ký hiệu tập các thể loại tin đã định nghĩa là C = {c1, c2, … , cn}, giả định rằng các thể loại có tính độc lập tương đối.

Thông tin chính mà bộ lọc cộng tác cần để đưa ra gợi ý là tương tác của người dùng, nói cách khác chính là những dữ liệu về lịch sử truy cập tin. Theo kết quả thực nghiệm do J.Liu và P.Dolan [22] thực hiện trên bộ dữ liệu lịch sử truy cập tin tức của người dùng Google News, sở thích đọc tin của người dùng có sự thay đổi theo thời gian và lịch sử truy cập càng lâu thì càng có ít tác dụng trong việc dự báo sở thích của người dùng. Ta biểu diễn sự phân bố nội dung truy cập của mỗi người dùng u trong khoảng thời gian t bằng vector

1 2

( , ) (N , N ,...,Nn)

D u t

N N N

 (3.1)

Trong công thức 3.1, Ni là số lượng bài viết trong thể loại ci mà người dùng đã đọc trong thời gian t, N là tổng số lượng bài viết người dùng đã đọc trong thời gian t, n là số lượng thể loại tin. Tỷ lệ phân bố nội dung truy cập của người dùng ứng với thể loại tin nào càng lớn thì chứng tỏ người dùng dành nhiều sự quan tâm cho thể loại đó. Giá trị tỷ lệ tính theo N nên N phải là giá trị mẫu đủ lớn để các phân số trong D(u,t) mang tính quy luật. Khoảng thời gian t dùng để tính toán vector D(u,t) xác định qua thực nghiệm phải đáp ứng hai yếu tố:

- Đảm bảo biểu diễn sự thay đổi sở thích của người dùng theo thời gian

- Tích lũy đủ số lượng tin tức người dùng truy cập ứng với giá trị N. Ví dụ nếu thời gian t quá ngắn người dùng mới chỉ đọc khoảng 10 bài báo trong đó 4 bài liên quan tới thể thao thì chưa thể dùng tỷ lệ 4/10 để gán người dùng vào nhóm quan tâm tới thể loại thể thao.

Sau khi biết được vector biểu diễn phân bố nội dung truy cập của người dùng, ta chọn ra k phần tử có giá trị lớn nhất trong vector D(u,t). Tham số k biểu diễn số lượng thể loại được đánh dấu quan tâm của mỗi người dùng. Ví dụ chọn k = 2 tức là lấy hai giá trị lớn nhất trong số phần tử của D(u,t), ứng với hai thể loại tin ci, cj, đánh dấu người dùng u có sự quan tâm tới hai thể loại đó.

Áp dụng cách thức phân nhóm đã trình bày vào hệ thống xenoNews, các đối tượng bản tin trên hệ thống xenoNews được thu thập từ nguồn là đường dẫn RSS (Rich Site Summary) của các trang báo điện tử Việt Nam. Từ thông tin trong RSS, hệ thống gán tin tức vào các thể loại khác nhau như trong bảng 3.1.

Bảng 3.1: Bảng mô tả các thể loại tin tức trong hệ thống xenoNews

Thời sự Thị trƣờng Thể thao Công nghệ Phong cách Giáo dục Sức khoẻ Nhà đất

Chính trị - Xã hội Tài chính – Kinh doanh CNTT – Viễn thông

Văn hoá Du học Chăm sóc sức khoẻ

Bất động sản

Pháp luật

Chứng khoán Khoa học Giải trí Tuyển sinh Giới tính Không gian sống

Thế giới Việc làm

Tổng cộng có 8 nhóm thể loại với 17 thể loại nhỏ: chính trị-xã hội, pháp luật, tài chính-kinh doanh, chứng khoán, việc làm, thể thao, cntt-viễn thông, khoa học, văn hóa, giải trí, du học, tuyển sinh, chăm sóc sức khỏe, giới tính, bất động sản, không gian sống. Những thể loại tin này có thể coi như cơ sở phân nhóm tin tức theo sở thích quan tâm của người dùng. Tập hợp thể loại tin có 17 phần tử C = {c1, c2, … , c17} ứng với số lượng thành phần trong vector phân bố nội dung truy cập của mỗi người dùng là n=17

17 1 2 ( , ) (N ,N ,...,N ) D u t N N N  (3.2)

Số thành phần trong D(u,t) được chọn để gán nhóm sở thích cho người dùng là 3, có nghĩa hệ thống sẽ đánh dấu rằng người dùng được xét quan tâm tới 3 thể loại tin ứng với 3 phần tử có giá trị cao nhất trong D(u,t).

3.3.2. Bộ phận tạo gợi ý

3.3.2.1. Tạo gợi ý theo mức độ phổ biến của tin

Phương pháp tìm kết quả gợi ý ở mức đơn giản là gợi ý cho người dùng theo số lượt truy cập tin. Hệ thống đưa ra lời gợi mở “nhiều người khác đã đọc bản tin này rồi, bạn có muốn biết không”, kèm theo đó là danh sách những tin tức được đa số người dùng trong hệ thống. Có thể giới hạn kết quả gợi ý bằng cách chỉ xét trong phạm vi những thể loại mà người dùng quan tâm. Vấn đề quan trọng ở phương pháp này là tìm được ngưỡng để xét xem bản tin đã được “đa số” người dùng khác truy cập.

Cách gợi ý này phát huy hiệu quả trong trường hợp người dùng đang sử dụng ẩn danh (không đăng nhập) hoặc số lượng bản tin người dùng đã đọc thuộc thể loại đang xét là ít.

3.3.2.2. Tạo gợi ý theo những ngƣời dùng cùng nhóm sở thích

Phương pháp thứ hai trong bộ lọc cộng tác là sử dụng những thông tin về thể loại tin người dùng quan tâm đã tính toán ở phần 3.3.1.

Để xét sự giống nhau trong sở thích duyệt tin của những người dùng trên hệ thống, biểu hiện trong 1 thể loại tin c, ta sử dụng độ tương đồng lịch sử truy cập định nghĩa như sau. Xét hai người dùng u1 và u2, ký hiệu tập hợp tất cả các bản tin mà 1 trong 2 người

dùng u1 hoặc u2 đã từng truy cập là M = {m1, m2, … , mp} với p phần tử. Vector biểu diễn lịch sử truy cập của người dùng u1 và u2 trong tập M lần lượt là

1 1 2

( ) ( , ,..., p)

D ux x x

.D u( 2)( ,y y1 2,...,yp)

Trong D(u1), phần tử xi có giá trị bằng 1 nếu người dùng u1 đã từng đọc bản tin mi, ngược lại xi có giá trị bằng 0 nếu người dùng u1 chưa từng đọc bản tin mi. Tương tự đối với các phần tử trong D(u2).

Độ tương đồng lịch sử truy cập giữa hai người dùng u1 và u2 dựa theo công thức Cosine giữa vector D(u1) và vector D(u2)

1 1 2 2 2 1 1 ( , ) * p i i i p n i i i i x y similarity u u x y        (3.2)

Gọi U là tập hợp những người dùng cùng trong nhóm quan tâm tới thể loại c với người dùng u. Ta tính được độ tương đồng lịch sử truy cập tại thể loại c của u đối với tất cả những người dùng khác trong U. Điểm số đánh giá khả năng người dùng u quan tâm tới bản tin s là , ( , ) * ( , ) ( , ) 1 j j j j u U u u U I u s similarity u u r u s N      (3.3)

Trong công thức 3.3, NU là số lượng người dùng trong tập U, I(uj,s) nhận giá trị 1 nếu người dùng uj đã đọc bản tin s và nhận giá trị 0 nếu người dùng uj chưa đọc bản tin s, similarity(u,uj) tính theo công thức 3.2. Việc thêm (NU – 1) ở mẫu số nhằm đảm bảo r(u,s) nằm trong khoảng (0,1) do số lượng thành viên của tập người dùng quan tâm tới các thể loại là khác nhau.

Danh sách bản tin dùng để gợi ý cho người dùng u có thể lấy chính là danh sách bản tin mà những người dùng khác trong nhóm quan tâm tới thể loại c đã đọc nhưng người dùng u chưa đọc. Các bản tin được tính khả năng người dùng u quan tâm theo công thức 3.3 và sắp xếp theo điểm số giảm dần.

Tới đây có thể thấy mô hình người dùng trong bộ lọc cộng tác chính là vector phân bố lịch sử truy cập D(u,t) tại công thức 3.1 và tập hợp điểm số tương đồng lịch sử truy cập của u với những người dùng khác trong những thể loại tin mà người dùng quan tâm.

3.3.3. Bộ phận kiểm tra điều kiện ràng buộc

Từ kết quả của bộ phận tạo gợi ý, bộ phận kiểm tra có nhiệm vụ so sánh đối chiếu với các điều kiện khởi tạo khi bắt đầu tính toán, ví dụ danh sách đã gợi ý theo bộ lọc nội dung để tránh trùng lặp khi đưa ra kết quả.

Với bộ lọc nội dung sẵn có trong hệ thống xenoNews, người dùng còn có thể đánh dấu những bản tin thuộc loại họ muốn “bỏ qua” và hệ thống loại những tin có dạng tương tự ra khỏi kết quả gợi ý. Do đó bộ lọc cộng tác cũng phải tiếp nhận những điều kiện này nhằm đồng bộ với hệ thống chung.

Việc kiểm tra điều kiện có thể tiến hành trực tiếp trong quá trình tạo gợi ý tuy nhiên để cấu trúc bộ lọc một cách rõ ràng ta tách bước kiểm tra thành một phần riêng, nếu tiến hành cài đặt cho hệ thống gợi ý tin tức khác sẽ chỉ cần thay đổi về các điều kiện trong bộ phận kiểm tra, còn thuật toán áp dụng trong bộ tạo gợi ý vẫn làm việc với toàn bộ dữ liệu lịch sử và bản tin.

Chƣơng 4: Thực nghiệm và đánh giá 4.1. Thực nghiệm và đánh giá

Bộ lọc cộng tác được cài đặt trên máy chủ chung của hệ thống xenoNews. Các thông số chi tiết bao gồm:

- CPU: Core™ i5-2430M CPU 2* 2.40GHz - RAM: 4GB

- OS: Windows 7 - Bộ nhớ ngoài: 250GB - Cơ sở dữ liệu: MySQL

Trong quá trình thực nghiệm bộ lọc cộng tác, hệ thống xenoNews được cài đặt thêm chế độ chuyển giữa các bộ lọc. Dữ liệu đánh giá trên hệ thống gồm khoảng 10.000 bản tin thu thập từ các nguồn báo điện tử và khoảng 300 người dùng. Quá trình thực nghiệm chọn ngẫu nhiên 10 người dùng trong hệ thống và theo dõi lịch sử đọc tin của họ trong 3 tuần. Tuần đầu tiên hệ thống hoạt động như một trang thu thập thông tin thông thường, không tính toán các gợi ý. Tuần thứ 2 bật chức năng gợi ý cộng tác và tuần thứ 3 có tính toán lại nhóm sở thích của người dùng. Kết quả số lượng truy cập theo từng thể loại của nhóm 10 người dùng được chọn biểu diễn trong bảng

Bảng 4.1: Số lượng tin truy cập trong quá trình thử nghiệm

Tuần 1 Tuần 2 Tuần 3

Thời sự 413 530 546 Thị trường 340 421 408 Thể thao 406 486 511 Công nghệ 358 416 390 Phong cách 265 310 313 Giáo dục 214 248 256 Sức khỏe 154 140 166

Theo bảng 4.1 ta thấy số lượng lượt truy cập tin của tập người dùng thử nghiệm đã tăng lên khoảng 20% khi sử dụng kết quả gợi ý trong danh sách tin tức hiển thị. Kết quả này chứng tỏ bộ lọc cộng tác đã giúp đưa đến cho người dùng những tin tức đáng quan tâm hơn đối với họ.

Chất lượng của bộ lọc cộng tác được thể hiện qua 3 tiêu chí: độ chính xác (precesion), độ hồi tưởng (recall) và độ đo F1 tổng hợp từ độ chính xác và độ hồi tưởng. Độ chính xác là tỷ lệ số tin được người dùng đọc trên tổng số tin gợi ý mà bộ lọc trả về, độ hồi tưởng là tỷ lệ số tin được người dùng đọc trên tổng số tin mà người dùng đánh giá rằng họ quan tâm. Độ đo F1 cho bởi công thức:

1 2*precision recall* F precision recall   (4.1)

Các độ đo ứng với từng thể loại thể hiện theo bảng 4.2. Chỉ số được lấy

Bảng 4.2: Các độ đo theo thể loại

Precision (%) Recall (%) F1 (%) Thời sự 80.5 60.7 69.2 Thị trường 73.4 62.5 67.5 Thể thao 70.2 61.3 65.4 Công nghệ 70.9 63.7 67.1 Phong cách 68.6 57.8 62.7 Giáo dục 76.4 65.3 70.4 Sức khỏe 62.1 58.0 59.0 Trung bình 71.4 61.3 66.1

Theo bảng đánh giá 4.2, độ chính xác đạt giá trị cao ở các thể loại tin mang tính cập nhật, được nhiều người quan tâm như: thời sự, thị trường, giáo dục và giá trị thấp hơn trong các thể loại tin có tính phân loại hướng quan tâm như: phong cách, giáo dục, sức khỏe. Nhìn chung số đo độ chính xác cao hơn số đo độ hồi tưởng vì đa phần xu hướng

bản tin theo sở thích riêng của người dùng chưa đạt đủ ngưỡng trở thành bản tin gợi ý. Giá trị độ đo F1 trung bình là 66% chứng tỏ bộ lọc tạo ra đã đạt mức yêu cầu để cho kết quả gợi ý tới người dùng. Tuy nhiên giá trị này thấp hơn độ đo F1 của bộ lọc nội dung, lý do chính là số phân nhóm quan tâm của người dùng đang có giá trị nhỏ (17 nhóm) và các phân nhóm lại được cố định sẵn.

4.2. Hƣớng nghiên cứu tiếp theo

Việc nghiên cứu trong thời gian tiếp theo tập trung vào hai hướng

- Cải thiện thuật toán cộng tác thông qua việc tính toán nhóm sở thích người dùng sử dụng phương pháp phân cụm phân lớp thay vì sử dụng các nhóm tương ứng với thể loại do hệ thống định nghĩa sẵn. Mặt khác trong quá trình thực nghiệm tìm ra bộ tham số thích hợp cho ngưỡng phân nhóm, thời gian định kỳ phân nhóm. - Nghiên cứu kết hợp bộ lọc cộng tác với bộ lọc nội dung trong hệ thống xenoNews

thành một thể thống nhất (hybrid), sử dụng chung bộ tiêu chuẩn đánh giá có cả thành phần nội dung và cộng tác.

Kết luận

Với đề tài luận văn “Mô hình hóa người dùng và ứng dụng bộ lọc cộng tác trong hệ thống gợi ý tin tức”, tác giả đã tìm hiểu các vấn đề liên quan tới mô hình hóa người dùng, các loại hệ thống gợi ý tin tức và hướng sử dụng bộ lọc cộng tác trong hệ thống gợi ý tin tức. Các kết quả đạt được trong luận văn bao gồm:

- Về lý thuyết:

+ Tìm hiểu, làm rõ các khái niệm liên quan tới mô hình hóa người dùng trong hệ thống gợi ý, các phương pháp mô hình hóa người dùng.

+ Tìm hiểu về 3 loại hệ thống gợi ý tin tức cơ bản: hệ thống gợi ý dựa vào nội dung, hệ thống gợi ý dựa vào cộng tác, hệ thống kết hợp.

+ Mô tả cách thức hoạt động của một số mô hình hệ thống gợi ý dựa trên cộng tác đã từng được nghiên cứu và triển khai: mô hình cộng tác theo chuỗi sự kiện, mô hình sử dụng hệ tiêu chuẩn.

- Về thực tiễn:

+ Xây dựng một bộ lọc tin tức theo hướng cộng tác để gợi ý tin tức cho người dùng dựa vào nhóm sở thích.

+ Ghép bộ lọc cộng tác vào thành một module trong hệ thống gợi ý tin tức xenoNews. Trong quá trình hoạt động, bộ lọc cộng tác đạt chỉ số độ chính xác trung bình là 71% và độ hồi tưởng trung bình đạt 61%.

Về cơ bản luận văn đã đạt được yêu cầu trong việc tìm hiểu vấn đề mô hình hóa người dùng và bộ lọc cộng tác trong hệ thống gợi ý tin tức. Tuy nhiên các chỉ số đạt được vẫn chưa thật sự cao do bộ lọc cộng tác mới dừng ở mức phân nhóm sở thích người dùng theo thể loại tin định sẵn và đồng thời môi trường áp dụng là các bản tin tiếng Việt.

Hướng nghiên cứu tiếp theo của đề tài là cải thiện tốc độ xử lý của bộ lọc đồng thời hướng tới việc đưa bộ lọc cộng tác gộp với bộ lọc dựa trên nội dung để xenoNews trở thành hệ thống kết hợp hoàn chỉnh.

Tài liệu tham khảo Tài liệu tiếng Anh

[1] A. Das, M. Datar, and A. Garg, “Google News Personalization : Scalable Online,” pp. 271–280, 2007.

[2] D. Billsus and M. Pazzani, “A hybrid user model for news story classification,”

Proceedings of the seventh international conference on User modeling, pp. 99–108,

1999.

[3] C. Froschl, “User modeling and user profiling in adaptive e-learning systems,”

Master’s thesis, Graz University, …, 2005.

[4] N. de Koch, “Software engineering for adaptive hypermedia systems,” 2001. [5] B. Ernesto, “User Modeling and Recommendation Strategies for Tourism,” 2009. [6] R. Baeza-Yates and B. Ribeiro-Neto, Modern information retrieval. 1999.

[7] M. Pazzani, “Learning and Revising User Profiles : The Identification of Interesting Web Sites,” vol. 331, pp. 313–331, 1997.

[8] D. Billsus and M. Pazzani, “User modeling for adaptive news access,” User

Một phần của tài liệu (Luận văn thạc sĩ) mô hình hóa người dùng và ứng dụng bộ lọc cộng tác trong hệ thống gợi ý tin tức (Trang 37)

Tải bản đầy đủ (PDF)

(47 trang)