Ma trận đánh giá phim

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai thác sự đa dạng trong tư vấn thông tin liên lĩnh vực (Trang 32)

u0 5 5 2 0 1 u1 3 ? ? 0 ? u2 ? 4 1 ? ? u3 2 2 3 4 4 u4 2 0 4 ? ? u5 4 1 4 2 3 u6 3 4 ? ? 5

Chuẩn hóa dữ liệu: Để có thể tính toán được chúng ta cần phải điền đầy đủ các đánh giá còn thiếu (ví dụ các dấu ? trong bảng 2.3) mà điều đó không làm ảnh hưởng đến độ tương tự, bước này gọi là bước tiền xử lý dữ liệu.

Đin giá tr 0: Đây là cách siêu đơn giản nhưng không phù hợp vì giá trị 0 đồng nghĩa với việc NSD rất không thích items đó.

Ly giá tr trung bình ca khong ratings: Thay vì chẳng biết NSD này rất thích (5) hay là rất ghét (0) thì ta có thể nghĩ đến việc lấy giá trị trung gian của khoảng này để điền vào các ô có giá trị còn thiếu. Cách này khá công bằng tuy nhiên việc lấy giá trị trung gian thế này không thật sự phù hợp.

Ly trung bình ca các ratings ca NSD: Điều này giống như việc xem xét xem cộng đồng mạng sẽ rating như thế nào lên các sản phẩm trước đó. Từ đó sẽ lấy giá trị trung bình của các ratings để chuẩn hóa dữ liệu. Vì vậy, luận văn đề xuất sử dụng giá trị trung bình này.

Ví dụ 2.3: Ma trận đánh giá sách của NSD với được cho trong bảng 2.4 như sau: Bảng 2. 4. Ma trận đánh giá sách. Sách 1 Sách 2 Sách 3 Sách 4 Sách 5 u1 5 4 3 4 1 u2 1 4 4 5 2 u3 3 3 ? 4 ? u4 4 ? 4 ? ? u5 ? ? ? 4 1

Ma trận sách sau khi chuẩn hóa theo phương pháp lấy trung bình đánh giá của các NSD sẽ có kết quả như như bảng 2.5:

Bảng 2. 5. Ma trận đánh giá sách sau khi chuẩn hóa.

Sách 1 Sách 2 Sách 3 Sách 4 Sách 5 u1 5 4 3 4 1 u2 1 4 4 5 2 u3 3 3 4 4 1 u4 4 4 4 4 1 u5 4 4 4 4 1

Bảng 2.6. Ma trận đánh giá phim.

Phim 1 Phim 2 Phim 3 Phim 4 Phim 5

u1 1 4 3 1 4

u2 5 1 4 5 2

u6 4 ? 4 3 ?

u7 5 4 ? ? ?

u8 ? ? ? 2 1

Ma trận đánh giá phim sau khi chuẩn hóa theo phương pháp lấy trung bình đánh giá của những NSD sẽ được kết quả như bảng 2.7:

Bảng 2. 7. Ma trận đánh giá phim sau khi chuẩn hóa.

Phim 1 Phim 2 Phim 3 Phim 4 Phim 5

u1 1 4 3 1 4

u2 5 1 4 5 2

u6 4 3 4 3 2

u7 5 4 4 3 2

u8 4 3 4 2 1

2.6. Độ đo sự tương đồng của những NSD

Trong các hệ thống tư vấn có nhiều độ đo khoảng cách khác nhau được sử dụng tùy từng ngữ cảnh ứng dụng cụ thể. Độ đo Euclid thường được sử dụng cho các dữ liệu có sự dị biệt về khoảng cách trong không gian, độ đo Cosin thích hợp để phản ánh sự sai biệt về hướng dữ liệu. Độ đo Minkowski là một dạng tổng quát của Euclid nhưng tính toán phức tạp và đòi hỏi nhà phát triển lựa chọn bậc r phù hợp với tập dữ liệu. Độ đo Manhattan cho giá trị khoảng cách không đổi theo nhiều cách phân tích và có chi phí tính toán thấp.

Khoảng cách Euclid: 𝑑 𝑥, 𝑦 𝑥 𝑦 (2.8) Khoảng cách Minkowski: 𝑑 𝑥, 𝑦 |𝑥 𝑦 | (2.9) Khoảng cách Cosin: 𝑐𝑜𝑠 𝑥, 𝑦 ‖𝑥‖‖𝑦‖𝑥𝑦 (2.10) Khoảng cách Manhattan: 𝑑 |𝑥 𝑦 | (2.11)

Ví dụ về so sánh giữa khoảng cách Euclid và khoảng cách Manhattan: Các đường số 1, đường số 3, đường số 4 trong hình 2.3 biểu diễn khoảng cách Manhattan có cùng độ dài (12), trong khi đường số 2 biểu diễn khoảng cách Euclid với độ dài 6×√2 ≈ 8.48.

Hình 2. 3. Cách tính khoảng cách Manhattan.

Trong các khoảng cách trên, khoảng cách Manhattan có chi phí tính toán thấp nên thường dùng trong lĩnh vực khai thác và tư vấn dữ liệu vì dữ liệu thường có số chiều lớn hơn nhiều so với hai hay ba chiều trong không gian. Vì vậy, luận văn đề xuất sử dụng khoảng cách Manhattan được cho trong công thức (2.12) để tính sự tương đồng trong đánh giá của hai NSD:

SIM(U1, U2) = d(RatingUser1,RatingUser2) (2.12) Trong đó, d dùng khoảng cách Manhattan, RatingUser1, RatingUser2lần lượt là vector đánh giá của User1¸User2 cho các items của hệ thống.

Ví dụ 2.5: Theo các ma trận đánh giá cho trong bảng 2.5 và bảng 2.7 như trên thì:

sim(u1, u3) = dManhattan(RatingUser1, RatingUser3)

= |5-3|+|4-3|+|3-4|+|4-4|+|1-1| = 4

= |1-3|+|4-3|+|4-4|+|5-4|+|2-1| = 5

2.7. Đánh giá các hệ thống tiếp cận tư vấn liên lĩnh vực

Có rất nhiều định nghĩa khác nhau về tư vấn liên lĩnh vực được đưa ra tùy thuộc vào lĩnh vực đang xem xét.

2.7.1. Nghi thc kim tra

Nghi thức kiểm tra phổ biến được đề cập là hold-out và k-fold [11]. Trong cả hai nghi thức này, tập dữ liệu được phân thành 2 tập: tập huấn luyện và tập kiểm tra.

Nghi thức hold-out: chia tách tập dữ liệu thành hai phần, một phần dùng để học và một phần dùng để kiểm tra. Thông thường, lấy ngẫu nhiên 2/3 tập dữ liệu để học và 1/3 để kiểm tra (trong một số trường hợp tỷ lệ chia này là 1/2 và 1/2). Có thể lặp lại quá trình này k lần và tính trung bình.

Nghi thức k-fold: chia tập dữ liệu ban đầu thành k phần bằng nhau. Quá trình học và kiểm tra được thực hiện k lần, mỗi lần sử dụng k-1 fold để huấn luyện và 1 fold để kiểm tra. Sau đó tính trung bình k lần kiểm tra.

2.7.2. Tiêu chí đánh giá

Để đánh giá chất lượng của một hệ thống tư vấn thông tin hầu hết các phương pháp đều tập trung vào độ chính xác [9]. Độ chính xác được sử dụng để đo mức độ sai lệch giữa ratings dự đoán của hệ thống và ratings thực sự của NSD [17]. Việc đánh giá chính xác các ratings đã dự đoán có thể sử dụng theo phương pháp sai số trung bình (Mean Square Error – MSE), căn bậc hai của sai số bình phương trung bình (Root Mean Square Error – RMSE), sai số tuyệt đối trung bình (Mean Absolute Error – MAE), độ lệch nhị phân giới hạn (Capped Binomial Deviation – CBD) [9]. Trong các phướng pháp trên thì tính chính xác của các dự đoán đo được trên n quan sát.

các hệ thống tư vấn [8]. Hệ thống ước lượng ratings dự đoán 𝑟̂ , của NSD u dành cho các items i trong bộ dữ liệu kiểm thử T so với rating thực sự r ,của NSD u dành cho các items i đã biết. Thông thường thì r , được biết trước là do các ratings này đã bị ẩn đi trong quá trình thực nghiệm. Công thức RMSE giữa rating dự đoán và rating thực sự được tính như công thức (2.13) như sau:

𝑅𝑀𝑆𝐸 1

|𝑇|. 𝑟 , 𝑟̂ ,

,∈

(2.13)

Mean Absolute Error (MAE): Độ đo này cũng được sử dụng phổ biến trong trường hợp hệ thống tư vấn không quan tâm đến các sai số nhỏ của quá trình dự đoán [12]. Ví dụ, MAE chỉ tính sai số của các ratings có điểm số cao như 4 và 5, trong khi các ratings có điểm số từ 3 trở xuống được xem là có đánh giá giống nhau. Công thức tính độ lệch giữa ratings dự đoán và ratings thật sự dựa vào độ đo MAE thể hiện trong công thức (2.14):

𝑀𝐴𝐸 ∑ ,∈ 𝑟 , 𝑟̂ ,

|𝑇| (2.14)

Trong các công thức (2.13) và (2.14), T là tập hợp các items trong bộ dữ liệu kiểm thử, 𝑟 , là rating thực sự của NSD u dành cho item i trong tập T và 𝑟̂ , là rating dự đoán của NSD u dành cho item i.

Bên cạnh đó, Normalized RMSE (NMRSE) và Nomalized MAE (NMAE) là các phiên bản khác của RMSE và MAE đã được chuẩn hóa trong phạm vi của rating (ví dụ 𝑟 𝑟 ) [11]. Những độ đo này là các phiên bản cải tiến của RMSE và MAE, do đó kết quả của thuật toán cũng tương tự với các độ đo chưa chuẩn hóa.

Capped Binomial Deviation (CBD): Đây là độ lệch nhị phân giới hạn nhằm ước lượng mức overfit của mô hình học thống kê. Thông thường mô hình chủ yếu tập trung vào việc đoán đúng hết tất cả các điểm dữ liệu của tập huấn luyện, nhưng việc đó lại

làm giảm khả năng dự đoán của nó trên một tập dữ liệu mới khác.

Các chỉ số này thích hợp cho bộ dữ liệu không phải nhị phân và cho kết quả giá trị dự đoán là số. Nó giúp đo mức độ sai số của dự đoán. Các giá trị này sẽ bằng 0 nếu kết quả dự đoán chính xác, giá trị này càng cao thì hiệu quả của hệ thống càng thấp.

Đối với bộ dữ liệu nhị phân thường sử dụng các chỉ số khác như precision, recall,

F_score, R_score do Breese, J.S. and D. Heckerman đề xuất năm 1998 [13].

2.7.3. Thut toán tính độ li ca h thng tư vn

Thuật toán 2.2: Thuật toán tính độ lỗi RMSE Input: Tập hợp NSD đã huấn luyện.

Output: Độ lỗi RMSE của hệ thống.

Processing:

Bước 1: Khởi tạo độ lỗi và kích thước ban đầu. Int Size = 0;

Double RMSE = 0; Double FinalRMSE = 0;

Bước 2: Tính độ lỗi RMSE của từng NSD. Duyệt qua các NSD trong hệ thống.

Double delta = realRating – guessRating; RMSE = delta * delta;

Size++; Cuối duyệt

Bước 3: Tính độ lỗi RMSE của hệ thống. FinalRMSE = Math.sqrt(RMSE/size);

Thuật toán 2.3: Thuật toán tính độ lỗi MAE Input: Một tập hợp NSD đã huấn luyện.

Output: Độ lỗi FinalMAE

Processing:

Bước 1: Khởi tạo độ lỗi và kích thước ban đầu Int Size = 0;

Double MAE = 0; Double FinalMAE = 0;

Bước 2: Tính độ lỗi MAE của từng NSD Duyệt qua các NSD trong hệ thống

Double delta = realRating – guessRating; MAE = Math.abs(delta);

Size++; Cuối duyệt

Bước 3: Tính độ lỗi RMSE của hệ thống FinalMAE = MAE/ size;

Chương 3. MÔ HÌNH TƯ VẤN LIÊN LĨNH VỰC

Chương 3 sẽ giới thiệu tổng quan về hệ thống tư vấn liên lĩnh vực, trình bày một thuật toán liên lĩnh vực (CRF) và những đóng góp về mặt lý thuyết của luận văn trong thuật toán CRF.

3.1. Hệ thống tư vấn liên lĩnh vực

Theo truyền thống, hầu hết các hệ thống tư vấn chỉ tập trung vào một lĩnh vực cụ thể để cung cấp thông tin cho NSD, ví dụ Netflix giới thiệu các chương trình phim và truyền hình, Barnes & Noble giới thiệu về sách, Last.fm tư vấn các bài hát và album nhạc, ... Hạn chế của hệ thống tư vấn trên một lĩnh vực là dù NSD có nhu cầu đa dạng cũng luôn chỉ nhận được danh sách tư vấn được hình thành từ lĩnh vực này. NSD phải tham gia đồng thời nhiều hệ thống tư vấn thuộc nhiều lĩnh vực, mất nhiều công sức khai báo trùng lắp nhiều thông tin, ... Trong thực tế, có thể tồn tại sự tương quan giữa các items trong các lĩnh vực khác nhau. Tại sao chúng ta không đồng thời giới thiệu thêm một bộ phim kinh điển như “Pursuit Of Happiness” khi NSD đang tìm kiếm những quyển sách về hạnh phúc gia đình; hay là một ứng dụng du lịch có thể giới thiệu thêm cho khách du lịch một sự kiện văn hóa có liên quan. Bằng cách tư vấn đồng thời nhiều kĩnh vực khác nhau nhưng có sự liên quan, các trải nghiệm của NSD có thể sẽ được cải thiện khi được cung cấp nhiều sự tư vấn mang tính đa dạng và bất ngờ thú vị.

Chúng ta nhận thấy, các trang web thương mại điện tử lớn như Amazon và eBay thường lưu trữ thông tin phản hồi của NSD về các mặt hàng thuộc nhiều lĩnh vực, và NSD cũng thường bày tỏ sở thích của họ với nhiều chủ đề. Điều này sẽ mở rộng lợi ích cho tất cả các dữ liệu về NSD sẵn có trong các hệ thống của các lĩnh vực khác nhau để tạo ra nhiều thông tin tư vấn tốt hơn. Như vậy, thay vì cung cấp thông tin tư vấn từng lĩnh vực (ví dụ: phim, sách và nhạc) một cách độc lập, những tri thức có được trong lĩnh

vực này có thể được chuyển tải và khai thác trong một lĩnh vực mục tiêu khác.

Vấn đề khởi đầu lạnh (cold – start) [23] gây trở ngại cho các hệ thống tư vấn truyền thống do thiếu thông tin về NSD hoặc thiếu thông tin về các items. Việc nghiên cứu phương pháp tư vấn liên lĩnh vực nhằm góp phần giải quyết một phần vấn đề này. Tư vấn liên lĩnh vực sẽ dùng thông tin của NSD và sản phẩm trong lĩnh vực này để tư vấn cho NSD các items của lĩnh vực khác. Liên lĩnh vực mong muốn khai thác thông tin từ các lĩnh vực khác nhau để làm phong phú thêm danh sách cần tư vấn. Ví dụ, thể loại phim yêu thích của NSD có thể được bắt nguồn từ các thể loại sách mà họ yêu thích.

Tư vấn liên lĩnh vực dựa trên giả định rằng có sự tồn tại mối quan hệ giữa hồ sơ NSD trong các lĩnh vực khác nhau. Điều đó được khẳng định trong các nghiên cứu của Shapira và các cộng sự [23], họ đã phát hiện ra sự phụ thuộc giữa các lĩnh vực khác nhau. Hệ thống tư vấn liên lĩnh vực khai thác các mối quan hệ phụ thuộc này bằng cách xem xét sự tương đồng giữa tập hợp những NSD hoặc tập hợp các items. Sau đó, hệ thống áp dụng nhiều kỹ thuật để làm phong phú kiến thức trong lĩnh vực mục tiêu và nâng cao chất lượng danh sách tư vấn được tạo ra.

Tư vấn liên lĩnh vực đem lại nhiều lợi ích cho cả NSD và nhà cung cấp dịch vụ. Vì sao không tư vấn cho NSD xem phim Forest Gump khi họ đang tìm kiếm sách về tạo cảm hứng cho bản thân? Vì sao không tư vấn phim khoa học cho NSD thích các sách khoa học viễn tưởng?

Có nhiều định nghĩa khác nhau liên quan đến tư vấn liên lĩnh vực. Ricci và các cộng sự chia khái niệm lĩnh vực được xét ở 4 mức [22]:

Mc thuc tính sn phm (item atribute level): Các items cùng lĩnh vực nếu chúng có cùng loại, có cùng thuộc tính. Hai items được coi là thuộc về các lĩnh vực riêng biệt (khác nhau) nếu chúng có sự khác nhau nhất định về giá trị của thuộc tính. Ví dụ, hai bộ phim thuộc về các lĩnh vực riêng biệt nếu chúng có các thể loại khác nhau, như phim hành động và hài kịch (xem hình 3.1a). Trong hình 3.1, source domain là lĩnh vực nguồn có sẵn những tri thức về NSD hay về items để khai thác nhằm tạo ra những thông tin tư vấn trong lĩnh vực mục

tiêu (target domain).

Mc loi(type level): Các items cùng lĩnh vực nếu chúng có loại tương tự và chia sẻ một số thuộc tính. Hai items được coi là thuộc về các lĩnh vực riêng biệt (khác nhau) nếu chúng có các tập con thuộc tính khác nhau. Ví dụ: phim và chương trình truyền hình thuộc về các lĩnh vực riêng biệt, vì mặc dù chúng có nhiều thuộc tính chung (tiêu đề, thể loại) nhưng chúng vẫn khác nhau so với một số khác (ví dụ: thuộc tính trực tiếp cho chương trình truyền hình (xem hình 3.1b)).

Mức sản phẩm (item level):Các items không cùng lĩnh vực nếu chúng không thuộc cùng một loại sản phẩm. Ví dụ: phim và sách thuộc về các lĩnh vực khác nhau, mặc dù chúng có một số thuộc tính chung (tiêu đề, năm phát hành/năm xuất bản (xem hình 3.1c)).

Mc h thng (system level): Các items không cùng lĩnh vực nếu chúng thuộc về các hệ thống riêng biệt. Ví dụ, phim được xếp hạng trong bộ giới thiệu MovieLens và phim được xem trong dịch vụ phát trực tuyến video Netflix (xem hình 3.1d).

3.2. Bài toán tư vấn liên lĩnh vực

Về mặt hình thức, bài toán tư vấn liên lĩnh vực được phát biểu như sau:

‐ Gọi S là lĩnh vực nguồn (source domain) và T là lĩnh vực mục tiêu (target domain).

U, I lần lượtlà tập hợp NSD, tài nguyên (các items).

Y là tập con của U x R, mọi u thuộc U thì 𝑌 =u x R chính là hồ sơ (profile)của NSD u. 𝑌 là hồ sơ của NSD u trong lĩnh vực nguồn. Tương tự như vậy 𝑌 là hồ sơ của NSD u trong lĩnh vực mục tiêu.

‐ 𝑈 là tập hợp những NSD có đánh giá trên lĩnh vực nguồn, 𝑈 là tập những NSD có đánh giá trên lĩnh vực mục tiêu. 𝑈_ là tập hợp những NSD có đánh giá cả trên hai lĩnh vực ST.

‐ 𝐼 là tập hợp các items trên các lĩnh vực S,𝐼 tập hợp các items trên lĩnh vực

T.

Tư vấn liên lĩnh vực nhằm mục đích khai thác tri thức về NSD hay về items trong

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai thác sự đa dạng trong tư vấn thông tin liên lĩnh vực (Trang 32)

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

(83 trang)