Chương 3 MÔ HÌNH TƯ VẤN LIÊN LĨNH VỰC
4.3. Giải pháp ánh xạ hồ sơ của NSD theo giải thuật CRF cải tiến
4.3.1. Thuật toán ánh xạ NSD trên lĩnh vực ST của CRF cải tiến
Với lĩnh vực nguồn và lĩnh vực mục tiêu được chia nhỏ thành các lĩnh vực con thì bước ánh xạ hồ sơ NSD được cải tiến như trong thuật toán 4.2 sau:
Mô hı̀nh tư van đơn lı̃nh vực S
(Giải thuật lọc cộng tác) NSD có đánh giá trên SA
NSD có đánh giá trên SA‐B
NSD có đánh giá trênSB
Mô hı̀nh tư van đơn lı̃nh vực T
(Giải thuật lọc cộng tác) NSD có đánh giá trên TC NSD có đánh giá trên TC‐D NSD có đánh giá trên TD Anh xạ S <-> T
Thuật toán 4.2:
Input: NSD us trong tập US(tập hợp những NSD có đánh giá trên S).
Output: NSD ut trong tập UT (tập hợp những NSD có đánh giá trên T).
Processing:
Bước 1: Xác định loại NSD us thuộc nhóm UA, UB hay phần giao UA-B
(với UA, UB, UA-B lần lượt là tập hợp những NSD có đánh giá trên SA,
SB,phần giao của SA và SB).
Bước 2: Nếu us không thuộc phần giao UA-B thì ánh xạ us vào phần giao thành us’ (us’ là NSD trong UA-B gần us nhất theo độ đo
Manhattan).
Duyệt uTemp thuộc UA-B
Tính khoảng cách Manhattan kc = d(us,uTemp)
Nếu kc < d(us, us’) thì us’ = uTemp
Cuốiduyệt
Bước 3: Ánh xạ us’ vào lĩnh vực T thành ut(ut thuộc tập những NSD có đánh giá trên phần giao S và T (US-T) và ut gần us’nhất theo độ đo Manhattan).
Duyệt uTemp thuộc US-T
Tính khoảng cách Manhattan kc = d(us’,uTemp), nếu
kc < d(us’, ut) thì ut = uTemp
Cuốiduyệt
Ví dụ 4.1: Giả sử chúng ta chọn S là lĩnh vực sách, trong đó SA là sách học thuật,
SB là sách không phải học thuật. Tương tự như vậy chọn T là lĩnh vực phim, trong đó
TC là phim học thuật, TD là phim không phải học thuật.
Xét mẫu gồm 8 NSD trong đó có 5 sách cùng với 5 phim được cho trong bảng 2.5 và 2.7 ở chương 2 nhưng có phân chia sách và phim theo cụm học thuật và không học thuật trong đó có 2 NSD chung có đánh giá trong cả hai lĩnh vực sách học thuật, sách không học thuật và có đánh giá trong cả hai lĩnh vực phim học thuật lẫn phim không học thuật (NSD từng mua và đánh giá cả sách lẫn phim) là u1 và u2.
NSD u3 có đánh giá sách học thuật lẫn không học thuật (Sách 1, Sách 2, Sach 4). NSD
u4 chỉcó đánh giá sách học thuật (Sách 1, Sách 2, Sách 3) và NSD u5 chỉ có đánh giá sách không học thuật (Sách 4, Sách 5).
u6, u7, u8là những NSD chỉ có đánh giá về phim mà không có đánh giá về sách. NSD u6 có đánh giá về phim học thuật lẫn không học thuật (Phim 1, Phim 3, Phim 4, Phim 5). NSD u7chỉcó đánh giá phim học thuật (Phim 1, Phim 2, Phim 3) và NSD u8
chỉ có đánh giá phim không học thuật (Phim 4, Phim 5).
Trong ma trận đánh giá sách trước khi chuẩn hóa được cho trong bảng 4.1, những ô được đánh dấu ? là những ô mà thông tin phản hồi của NSD lên sản phẩm bị thiếu hoặc sai quy định. Vì vậy, ngoài việc loại bỏ dữ liệu sai hay dư thừa thì chúng ta còn phải chuẩn hóa dữ liệu cho các ô bị đánh dấu ? này.
Bảng 4. 1. Ma trận đánh giá sách trước 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 ? u4 4 ? 4 ? ? u5 ? ? ? 4 1
Sau khi tiến hành chuẩn hóa bằng phương pháp lấy trung bình của các ratings của NSD (xem mục 2.5.3 và ví dụ 2.3) chúng ta được ma trận đánh giá sách của NSD sau khi chuẩn hóa như bảng 4.2.
Bảng 4. 2. 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 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
Ma trận đánh giá phim trước khi chuẩn hóa và sau khi chuẩn hóa của NSD được cho trong bảng 4.3 và bảng 4.4 như sau (xem mục 2.5.3 và ví dụ 2.4):
Bảng 4. 3. Ma trận đánh giá phim trước 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 ? 4 3 2
u7 5 4 ? ? ?
Bảng 4. 4. 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
Gọi UBOOK_Scholar: tập hợp những NSD có đánh giá trên lĩnh vực sách học thuật. Theo số liệu cho trong bảng 4.1 thì UBOOK_Scholar= {u1, u2, u3, u4}.
Gọi UBOOK_NonScholar: tập hợp những NSD có đánh giá trên lĩnh vực sách không phải học thuật. Theo số liệu cho trong bảng 4.1 thì UBOOK_NonScholar = {u1, u2, u3, u5}.
Ta có: UBOOK = Union (UBOOK_Scholar, UBOOK_NonScholar) vàUBOOK_Intersect = Intersect (UBOOK_Scholar, UBOOK_NonScholar) là tập hợp những NSD sách có đánh giá sách học thuật và sách không học thuật. Theo số liệu cho trong bảng 4.1 thì UBOOK_Intersect = {u1, u2, u3}.
Gọi UMOVIE_Scholar: tập hợp những NSD có đánh giá trên lĩnh vực phim học thuật. Theo số liệu cho trong bảng 4.3 thì UMOVIE_Scholar = {u1, u2, u6, u7}.
Gọi UMOVIE_NonScholar: tập hợp những NSD có đánh giá trên lĩnh vực phim không phải học thuật. Theo số liệu cho trong bảng 4.3 thì UMOVIE_NonScholar = {u1, u2, u6, u8}.
Ta có: UMOVIE = Union (UMOVIE_Scholar, UMOVIE_NonScholar) vàUMOVIE_Intersect = Intersect (UMOVIE_Scholar, UMOVIE_NonScholar) là tập hợp những NSD sách có đánh giá sách học thuật và sách không học thuật. Theo danh sách ví dụ trên thì UMOVIE_Intersect = {u1, u2, u6}.
Bây giờ chúng ta cần ánh xạ một NSD u5 thuộc UBOOK cho trong bảng 4.1 theo giải thuật CRF cải tiến. Theo dữ liệu mẫu gồm 8 NSD cho trong bảng 4.2 và bảng 4.4 thì u5
Các bước ánh xạ NSD u5 như sau:
Bước 1: Xác định loại NSD u5 thuộc UBOOK_NonScholar, không thuộc UBOOK_Scholar và không thuộc phần giao UBOOK_Intersect.
Bước 2: Ánh xạ u5 vào UBOOK_Intersect thành ub’ = u1(ub’là NSD trong UBOOK_Intersect
gần ub nhất theo độ đo Manhattan).
Duyệt những NSD thuộc UBOOK_Intersect = {u1, u2, u3}.
Tính khoảng cách Manhattan:
Kc = d(u5, u1) = 2 Kc = d(u5, u2) = 5 Kc = d(u5, u3) = 2
Cuốiduyệt
Bước 3: Ánh xạ ub’ = u1 vào UBOOK_MOVIE thành um = u1 (um là NSD trong
UBOOK_MOVIE = {u1, u2} gần ub’ nhất theo độ đo Manhattan).
NSD u5 thuộc UBOOK_NonScholar sau khi ánh xạ được u1thuộc UBOOK_Intersect (là tập hợp những NSD sách có đánh giá sách học thuật và sách không học thuật). NSD u1này sau khi ánh xạ sang lĩnh vực phim thì được kết quả là u1 (vì u1 thuộc UBOOK_MOVIE). Như vậy danh sách tư vấn cho u5 sẽ là tổng hợp hai danh sách tư vấn sách của u5 và cả danh sách tư vấn phim của u1. Nói một cách khác, giả sử NSD u là người thích đọc sách Tây Du Ký, một loại sách không phải học thuật, làm sao để tư vấn phim cho họ. Theo thuật toán CRF gốc, hệ thống sẽ tìm một NSD um trong danh sách NSD đánh giá phim tương đồng với NSD us thích sách Tây Du Ký. NSD um này nhiều khả năng cũng là người thích sách Tây Du Ký và thích một số phim liên quan. Khi đó hệ thống sẽ áp dụng kết quả tư vấn về phim cho um để tư vấn cho us. Tuy nhiên, theo thuật toán CRF thì việc tìm NSD phim tương đồng để ánh xạ phải dựa trên hai dạng hồ sơ (sách, sách và phim).
Thuật toán CRF cải tiến sẽ tiến hành ánh xạ như sau: tìm NSD gần nhất (ub)trong tập hợp những NSD sách có đánh giá đa dạng về sách (nghĩa là có đánh giá cả sách học thuật lẫn không học thuật). Hàm độ đo tương đồng dùng hàm Manhattan để giảm chi phí tính toán và so sánh chỉ dựa trên các đánh giá về sách. Sau đó, tìm NSD trong tập hợp những NSD chung của sách và phim gần với ub nhất (um) cũng theo độ đo Manhattan.
uSach_TayDuKy uBook_Intesect uBook_Movie
Như vậy, nếu hai NSD us1, us2 cùng thích sách Tây Du Ký thì kết quả tư vấn về phim có hoàn toàn giống nhau hay không? Điều này tùy thuộc vào các đánh giá còn lại về các sách khác của NSD như thế nào. Các đánh giá về sách khác của hai NSD us1, us2
khác nhau sẽ ảnh hưởng đến giá trị độ đo Manhattan sẽ khác nhau và vì thế có thể ánh xạ sang UBOOK_Scholar và UMOVIEcũng khác nhau. Như vậy thì kết quả tư vấn về phim sẽ cho us1, us2 cũng khác nhau.
Tuy nhiên, nếu us1, us2 có các đánh giá khác về sách như nhau, ví dụ cả hai chỉ thích sách Tây Du Ký và không có đánh giá về các sách khác, thì hệ thống sẽ cho kết quả tư vấn về phim giống nhau với hai NSD này. Để khắc phục nhược điểm này thì hệ thống cần có thêm các thông tin khác về người dùng như vị trí, tuổi, thu nhập, sở thích click chuột, … Tuy nhiên, dữ liệu mà Amazon công bố về đánh giá của NSD về sách, phim không bao gồm các thông tin này.
4.3.2. Thuật toán ánh xạ NSD T S của CRF cải tiến
Thuật toán ánh xạ NSD T S của CRF cải tiến được phát biểu như sau (tương tự thuật toán ánh xạ NSD S T):
Thuật toán 4.3:
Input: NSD ut trong tập UT (tập hợp những NSD có đánh giá trên T)
Output: NSD us trong tập US(tập hợp những NSD có đánh giá trên S)
Processing:
Bước 1: Xác định loại NSD ut thuộc nhóm UC, UD hay phần giao UC-D (với
UC, UD, UC-D lần lượt là tập hợp những NSD có đánh giá trên TC, TD, phần giao của TC và TD).
Bước 2: Nếu ut không thuộc phần giao UC-D thì ánh xạ ut vào phần giao thành
ut’ (ut’ là NSD trong UC-D gần ut nhất theo độ đo Manhattan). Duyệt uTemp thuộc UC-D
Tính khoảng cách Manhattan kc = d(ut,uTemp)
Nếu kc < d(ut, ut’) thì ut’ = uTemp
Cuốiduyệt
Bước 3: Ánh xạ ut’ vào lĩnh vực S thành us(us thuộc tập hợp những NSD có đánh giá trên phần giao S và T (US-T) và ut gần ut’nhất theo độ đo Manhattan).
Duyệt uTemp thuộc US-T
Tính khoảng cách Manhattan kc = d(ut’,uTemp), nếu kc < d(ut’, us) thì us = uTemp.
Cuốiduyệt.
Ví dụ 4.2: Cần ánh xạ một NSD u7 cho trong bảng 4.1 trong UMOVIE theo thuật toán CRF cải tiến. Theo dữ liệu mẫu gồm 8 NSD cho trong bảng 4.1 và 4.3 thì u7 là một NSD chỉ có đánh giá về phim học thuật không có đánh giá về sách. Quá trình ánh xạ NSD u7
được thực hiện theo các bước sau:
Bước 1: Xác định loại NSD u7 thuộc UMOVIE_Scholar, không thuộc UMOVIE_NonScholar
và không thuộc phần giao UMOVIE_Intersect.
Bước 2: Ánh xạ u7 vào phần giao thành um’ = u6 (um’ là NSD trong UMOVIE_Intersect
gần u7 nhất theo độ đo Manhattan).
Duyệt NSD thuộc UMOVIE_Intersect = {u1, u2, u6}. Tính khoảng cách Manhattan:
Kc = d(u7, u1) = 9 Kc = d(u7, u2) = 5 Kc = d(u7, u6) = 2
Cuốiduyệt.
Bước 3: ánh xạ um’ = u6 vào lĩnh vực sách thành ub = u2 (vì sim(u6, u1)=9 >sim(u6, u2)=5 và ub là NSD trong UBOOK_MOVIE = {u1, u2} gần um’ nhất theo độ đo Manhattan).
NSD u7 thuộc UMOVIE_Scholarsau khi ánh xạ được u6thuộc UMOVIE_Intersect (là tập họp những NSD phim có đánh giá phim học thuật và phim không học thuật). NSD u6 này sau khi ánh xạ sang lĩnh vực sách thì được kết quả là u2 (vì u2 thuộc UBOOK_MOVIE).
Danh sách tư vấn cho u7 sẽ là tổng hợp hai danh sách tư vấn sách của u2 và cả danh sách tư vấn phim của u7.
4.3.3. Các bước tạo danh sách tư vấn cho NSD theo thuật toán CRF cải tiến
Các bước tạo danh sách tư vấn cũng tương tự như các bước tạo danh sách tư vấn trong thuật toán CRF (xem chương 3). Luận văn xin được trình bày một ví dụ để minh họa cho thuật toán CRF cải tiến như sau:
Ví dụ 4.3: Cần tạo danh sách tư vấn cho NSD u7 cho trong bảng 4.1 trong UMOVIE
theo giải thuật CRF cải tiến. Theo dữ liệu mẫu gồm 8 NSD cho trong bảng 4.1 và 4.3 thì u7 là một NSD chỉ có đánh giá về phim học thuật, không có đánh giá về phim không học thuật và không có đánh giá về sách. Quá trình tạo danh sách tư vấn cho u7 được thực hiện theo các bước như sau:
Bước 1: Ánh xạ NSD u7 thuộc UMOVIE_Scholar được kết quả là NSD u2 thuộc
UMOVIE_Intersect theo giải thuật ánh xạ NSD (xem ví dụ 4.2).
UBOOK_MOVIE theo giải thuật ánh xạ NSD.
Bước 3: Áp dụng phương pháp tư vấn trong một lĩnh vực sách cho u2 để tạo danh sách TopN cho NSD: {Sách 2, Sách 3, Sách 4} (vì đánh giá của u1 với các sách này là cao nhất và lớn hơn ngưỡng hữu ích).
Bước 4: Áp dụng phương pháp tư vấn trong một lĩnh vực phim cho u7 để tạo danh sách TopN cho NSD: {Phim 1, Phim 2, phim 3} (vì đánh giá của u7 với các phim này là cao nhất và lớn hơn ngưỡng hữu ích).
Bước 5: Tổng hợp danh sách TopN cho NSD: {Sách 2, Sách 3, Sách 4, Phim 1, Phim 2, phim3}.
Như vậy, trong hệ thống tư vấn liên lĩnh vực sách phim gồm: 120302 NSD thì đánh giá trên sách có 64377 NSD, đánh giá trên phim có 59222 NSD và đánh giá vừa trên phim vừa trên sách có 3297 NSD.
Lấy us là một NSD trong 64377 NSD có đánh giá về sách trong cơ sở dữ liệu. Nếu
uscũng thuộc một trong 3297 NSD có đánh giá chung phim và sách. Áp dụng kết quả tư vấn sách và tư vấn phim cho us để cho ra kết quả tư vấn sách và phim cho us.
Nếu uslà một NSD trong 64377 NSD có đánh giá về sách và không thuộc một trong 3297 NSD có đánh giá chung phim và sách thì theo thuật toán CRF gốc ta tìm một NSD uc trong 3297 NSD chung tương đồng với us và áp dụng kết quả tư vấn phim của
uc cho us
Theo CRF cải tiến, ta ánh xạ NSD như sau:
Nếu us chỉ có đánh giá sách học thuật thì tìm NSD us’ có đánh giá đầy đủ về sách (học thuật lẫn không học thuật) gần nhất với us theo độ đo Manhattan trên các đánh giá về sách học thuật.
Ngược lại, nếu us chỉ có đánh giá sách không học thuật thì tìm NSD us’có đánh giá đầy đủ về sách (học thuật lẫn không học thuật) gần nhất với us theo độ đo Manhattan trên các đánh giá về sách không học thuật.
Trong trường hợp, nếu us là NSD có đánh giá đầy đủ về sách học thuật lẫn không học thuật thì us’ = us.
Sau đó tìm NSD uc trong 3297 NSD chung có đánh giá chung phim và sách gần nhất với us theo độ đo Manhattan trên các đánh giá về sách. Áp dụng danh sách tư vấn phim cho NSD uc để bổ sung kết quả tư vấn cho us.
Chương 5. THỰC NGHIỆM
Chương 5 sẽ trình bày chi tiết những thực nghiệm mà luận văn đã tiến hành nhằm mục đích trước tiên là kiểm chứng giả thiết về vai trò của hệ thống tư vấn liên lĩnh vực và đồng thời đểđánh giá hiệu quả của thuật toán tư vấn CRF cải tiến đã được đề xuất trong Chương 4. Các thực nghiệm tiến hành trên dữ liệu sách và phim 100K trích xuất từ bộ
dữ liệu do Amazon công bố.
Luận văn đã tiến hành một số thực nghiệm để kiểm chứng hiệu quả của các thuật toán CRF và CRF cải tiến. Nói một cách cụ thể hơn, việc tiến hành các thực nghiệm và phân tích những kết quả đã đạt được nhằm mục đích trả lời cho những câu hỏi sau:
Q1. Hiệu quả của thuật toán liên lĩnh vực so với các thuật toán đơn lĩnh vực như
thế nào?
Q2. Nếu phối hợp đồng thời cả hai lĩnh vực (thay vì so sánh riêng lẻ từng lĩnh vực) với các thuật toán đơn lĩnh vực thì kết quả như thế nào?
Q3. Phân tích độ chính xác trong thuật toán CRF và CRF cải tiến trong việc tư
vấn liên lĩnh vực.
5.1. Cơ sở dữ liệu thực nghiệm
Quá trình chuẩn bị cho các thực nghiệm trong luận văn bao gồm các bước: tiền xử lý bộ dữ liệu, thiết lập giá trị các tham số, lựa chọn các thuật toán so sánh cùng với độ đo để đánh giá hiệu quả của các thuật toán.
Các thực nghiệm trong luận văn được thực hiện trên bộ dữ liệu các đánh giá của NSD trên các sản phẩm của Amazon (nguồn: http://jmcauley.ucsd.edu/data/amazon/,