Một số kỹ thuật trong hệ thống gợi ý

Một phần của tài liệu Xây dựng mô hình tìm kiếm và gợi ý tài nguyên học tập (Trang 34 - 58)

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

2.5. Hệ thống gợi ý và các kỹ thuật trong hệ thống gợi ý

2.5.3. Một số kỹ thuật trong hệ thống gợi ý

Cĩ nhiều kỹ thuật trong hệ thống gợi ý. Phần này trình bày các kỹ thuật chính được sử dụng cho các nghiên cứu trong luận án này.

2.5.3.1. Kỹ thuật k láng giềng dựa trên người dùng và mục tin

Cĩ hai cách tiếp cận của lọc cộng tác theo mơ hình k láng giềng là dựa trên người dùng (User_kNN), tức là dự đốn dựa trên sự tương tự giữa các người dùng, và dựa trên mục tin (Item_kNN), tức là dự đốn dựa trên sự tương tự giữa các mục tin.

Kỹ thuật User_kNN xác định độ tương đồng giữa hai người dùng thơng qua việc so sánh các đánh giá của họ trên cùng mục tin, sau đĩ dự đốn xếp hạng trên mục tin i bởi người dùng u, thơng qua các xếp hạng của những người dùng tương tự với người dùng u.

Độ tương đồng giữa người dùng u và người dùng u' cĩ thể được tính theo cosine hoặc Pearson (Herlocker et al., 1999) tương ứng như hai biểu thức 2.7 và 2.8:

( ,

( ,

Trong đĩ:

rui và ru’i là đánh giá của người dùng u và u’ trên item i tương ứng

I�uu' là tập các item được đánh giá bởi cả người dùng u và người dùng u'

��� ′ là giá trị đánh giá trung bình trên tất cả các item của người dùng u là

giá trị đánh giá trung bình trên tất cả các item của người dùng u'

Tương tự, kỹ thuật Item_kNN cũng xác định độ tương đồng dựa trên các mục tin bằng phương pháp cosine hoặc Pearson như hai biểu thức 2.9 và 2.10:

( ,

( ,

Trong đĩ:

U�ii' là tập các người dùng cĩ đánh trên cả hai mục tin i và i’

� ′ là giá trị đánh giá trung bình của tất cả các người dùng trên item i là giá trị đánh giá trung bình của tất cả các người dùng trên item i’

Với phương pháp User_kNN, xếp hạng của người dùng u trên mục tin i được dự đốn qua biểu thức 2.11:

= ̅+

Trong đĩ sim(u,u') là độ tương đồng giữa người dùng u và u' được xác định bằng phương pháp cosine hoặc Pearson như đã trình bày; Ku là số người dùng cĩ độ lân cận gần người dùng u (k láng giềng của u)

Với phương pháp Item_kNN, xếp hạng (đánh giá/ feedback) của người dùng u trên mục tin i được dự đốn qua biểu thức 2.12:

= ̅+

Trong đĩ, sim(i, i') độ tương đồng giữa mục tin i và i’ được xác định bằng phương pháp cosine hoặc Pearson như đã trình bày; Ki là số item cĩ độ lân cận gần item i (k láng giềng của i).

2.5.3.2. Kỹ thuật phân rã ma trận

Kỹ thuật phân rã ma trận (Matrix factorization - MF) là việc chia một ma trận lớn

X thành hai ma trận cĩ kích thước nhỏ hơn W và H, sao cho ta cĩ thể xây dựng lại X

từ hai ma trận nhỏ hơn này càng chính xác càng tốt (Koren et al., 2009), nghĩa là X ~

WHT, được minh họa như trong Hình 2.10.

Trong đĩ, W ∈ ℜ|U|×K là một ma trận mà mỗi dịng u là một véc-tơ bao gồm K nhân tố tiềm ẩn (latent factors) mơ tả người dùng u; và H ∈ ℜ|I|×K là một ma trận mà mỗi dịng i là một véc-tơ bao gồm K nhân tố tiềm ẩn mơ tả cho item i (lưu ý: K<<|U| và K<<|I|).

Hình 2.10: Minh họa kỹ thuật phân rã ma trận

Gọi wuk và hik là các phần tử tương ứng của hai ma trận W và H, khi đĩ xếp hạng của người dùng u trên mục tin i được dự đốn bởi biểu thức 2.13:

= � w ℎ = ( ) , 2.13 =1

Như vậy, vấn đề của kỹ thuật MF là làm sao để tìm được giá trị của hai tham số W

và H. Hai tham số này cĩ được bằng cách tối ưu hĩa hàm mục tiêu (objective function). Hàm mục tiêu thơng dụng nhất trong RS tương tự như hàm lỗi RMSE, biểu diễn như

biểu thức 2.14:

Một trong những kỹ thuật cĩ thể dùng để tối ưu hĩa hàm mục tiêu là dùng SGD (Stochastic Gradient Descent) (Koren et al., 2009). Để tối ưu hĩa hàm mục tiêu trên, đầu tiên cần khởi tạo các giá trị ngẫu nhiên cho W và H, sau đĩ từng bước cập nhật giá trị của chúng cho đến khi hàm mục tiêu hội tụ về giá trị nhỏ nhất (lỗi ít nhất).

Để làm được điều đĩ phải biết nên tăng hay nên giảm các giá trị của W và H qua mỗi lần cập nhật, do vậy cần phải tìm đạo hàm tương ứng như hai biểu thức sau:

= −2( − )ℎ ℎ =

−2( − )

Sau khi tìm đạo hàm, các phần tử của W và H sẽ được cập nhật ngược hướng với giá trị của đạo hàm (Takács et al., 2009), qua hai biểu thức sau:

=

=

2.16 2.15

Trong đĩ β là tốc độ học (learning rate, 0 < β < 1). Quá trình cập nhật sẽ được thực hiện đến khi nào hàm mục tiêu đạt được giá trị nhỏ nhất hoặc vượt quá số vịng lặp được quy định trước. Tuy nhiên, để tránh tình trạng mơ hình dự đốn cho kết quả tốt trên tập huấn luyện nhưng cho kết quả thấp trên tập thử nghiệm (overfitting), người ta thêm vào đại lượng gọi là chính tắc hĩa

các giá trị trong W và H, khi

=

Wenzel, 2008), tức là căn bậc hai của tổng bình Theo hàm mục tiêu mới này, giá trị của wuk

=+ . (2( − )ℎ

ℎ = ℎ + .(2( − )

2.5.3.3. Kỹ thuật phân rã ma trận thiên vị

Một lợi thế của hướng tiếp cận phân rã ma trận MF cho lọc cộng tác CF là khả năng linh hoạt của nĩ khi cĩ thêm các điều kiện ràng buộc khác, các điều kiện này cĩ thể liên quan đến quá trình xử lý dữ liệu hoặc đến từng ứng dụng cụ thể. Các đánh giá thực tế đều cĩ những thiên vị về user và item. Cĩ user dễ hay khĩ tính, cũng cĩ những

item được rate cao hơn những item khác chỉ vì user thấy các user khác đã đánh giá item đĩ cao. Vì thế, kỹ thuật phân rã ma trận thiên vị (Biased matrix factorization -

BMF), một biến thể của kỹ thuật MF được đề xuất, theo đĩ giá trị dự đốn sẽ được cộng thêm các giá trị thiên vị hay độ lệch (bias).

Với kỹ thuật BMF, xếp hạng user u cho item i được dự đốn như biểu thức 2.22:

= + + + � .ℎ 2.22 =1

Trong đĩ:

- µ: giá trị trung bình tồn bộ các rating, được xác định từ tập dữ liệu huấn luyện

∑� , , ∈�

- b : độ |

=

u

=

thiên vị của user u, xác định bởi:

|{( ′, ,

29

= |{( ,

Khi đĩ, hàm mục tiêu của BMF cĩ dạng như biểu thức 2.23:

=

Tương tự như kỹ thuật MF, sau khi tối ưu hĩa hàm mục tiêu, ta cũng xác định được các tham số tương ứng và từ đĩ cĩ thể dễ dàng dự đốn kết quả. Thực nghiệm đã cho thấy, trong khá nhiều trường hợp, BMF cho kết quả tốt hơn hẵn so với kỹ thuật MF (Koren et al., 2009; Nguyen-Thai-Nghe et al., 2012).

2.5.3.4. Kỹ thuật phân rã ma trận ba chiều

Trong nhĩm giải thuật CF, kỹ thuật phân rã ma trận (Matrix factorization - MF) là một trong những phương pháp khá thành cơng (state-of-the-art) trong lĩnh vực dự đốn xếp hạng của RS (Koren and Bell, 2011; Koren et al., 2009). Tuy nhiên, kỹ thuật MF chỉ dựa vào sự tương quan giữa user và item để đưa ra dự đốn (User × Item →

Rating) mà khơng quan tâm đến yếu tố thời gian khi xây dựng mơ hình gợi ý. Hay nĩi

cách khác, các nhĩm giải thuật MF chủ yếu tập trung vào giới thiệu các item phù hợp với user dựa vào tất cả các dữ liệu trong quá khứ của user đĩ, mà khơng xem xét đến yếu tố sở thích của user cĩ thể thay đổi theo thời gian. Chẳng hạn, một số đánh giá khá lâu trước đây sẽ khơng cịn phù hợp với sở thích hiện tại của user.

Trong RS hai chiều, người ta thường biểu diễn dữ liệu vào ma trận user-item do

vậy chỉ quan tâm đến user và item chứ khơng quan tâm đến các thơng tin ngữ cảnh (context) bên ngồi cĩ tác động đến quyết định của người dùng hay khơng. Theo nhĩm

tác giả Adomavicius and Tuzhilin (2011), thơng tin ngữ cảnh là những thơng tin cĩ thể mơ tả được hồn cảnh của một thực thể, chẳng hạn như thời gian. Với hệ thống gợi ý theo ngữ cảnh, hàm dự đốn được bổ sung thêm thơng tin ngữ cảnh và biểu diễn thành:

: U × I × C → R (C là thơng tin ngữ cảnh)

Kỹ thuật phân rã ma trận ba chiều (Tensor factorization - TF) là một dạng tổng quát của kỹ thuật phân tích ma trận theo ngữ cảnh (Kolda and Bader, 2009; Dunlavy et

al., 2011). Nếu như MF được biểu diễn bởi dữ liệu cĩ 2 chiều user và item thì TF được

xem là một khối lập phương 3 chiều biểu diễn như Hình 2.11.

Cho một tensor Z với kích thước U × I × T, với 2 thành phần đầu tiên U và I lần lượt biểu diễn cho ma trận user và item trong kỹ thuật phân rã ma trận (MF). Thành phần thứ ba thể hiện cho ngữ cảnh dự đốn (chẳng hạn thời gian) cĩ kích thước T. Như vậy,

Z cĩ thể được viết lại như biểu thức 2.24:

Z≈� ∘ℎ

Trong đĩ, mỗi véc-tơ nhân tố tiềm ẩn (latent

factors) của user, item và time. Các tham số mơ hình cũng được tối ưu hĩa theo RMSE bằng cách sử dụng SGD (Stochastic gradient descent) (Koren, 2010). Một minh họa của TF được trình bày trong Hình 2.12.

Hình 2.12: Minh họa kỹ thuật phân rã

TF 2.5.3.5. Một số phương pháp khác của hệ thống gợi ý

Ngồi các kỹ thuật trên, các nhà nghiên cứu thường dùng một số phương pháp phổ biến của hệ thống gợi ý để làm cơ sở (gọi là baselines) so sánh với các kỹ thuật khác của hệ thống gợi ý (Koren et al., 2009; Thai-Nghe et al., 2011; Gomez-Uribe and Hunt, 2015; Iqbal et al., 2017).

Gọi u là người dùng (user), i là mục tin (item) và r là feedback/phản hồi của user

u trên item i (ratings). Các phương pháp khác của hệ thống gợi ý được trình bày vắn tắt

như sau:

Global Average là phương pháp sinh ra dự đốn xếp hạng (

item i bằng cách lấy trung bình các xếp hạng trong tập dữ liệu huấn này biểu diễn bằng biểu thức 2.25:

� =

User Average là phương pháp sinh ra dự đốn xếp hạng cho user u trên item i.

Phương pháp này biểu diễn bằng biểu thức 2.26:

� =

Item Average là trung bình dự đốn xếp hạng cho user u trên item i. Phương pháp

này biểu diễn bằng biểu thức 2.27: � =

User kNN sinh ra dự đốn xếp hạng bằng biểu thức 2.28:

� = � +

Trong đĩ, K

đồng cosine giữa hai người dùng và được tính bằng biểu thức 2.29:

( ,

Trong đĩ, rui và ru’i là đánh giá của người dùng u và u’ trên tài nguyên học tập i tương ứng; Iuu' là tập các tài nguyên học tập được đánh giá bởi người dùng u và u'.

2.5.3.6. Các kỹ thuật học sâu

Kỹ thuật học sâu (deep learning) là một phần của machine learning. Tuy nhiên, sự khác biệt giữa hai kỹ thuật này là trong khi machine learning giải quyết vấn đề dạng nơng truyền thống, cịn deep learning cho phép máy tính giải quyết một loạt các vấn đề phức tạp hơn, khĩ cĩ thể giải quyết được bằng kỹ thuật machine learning (Shetty et al., 2020). Một vấn đề khác là dữ liệu cĩ kích thước rất lớn, sự đa dạng của dữ liệu cần được huấn luyện với kỹ thuật tiên tiến hơn, vì thế mạng nơ-ron sâu là lựa chọn phù hợp. Mạng nơ-ron là các mơ hình tốn học cĩ cấu trúc được lấy ý tưởng từ bộ não con người. Mỗi nơ-ron trong mạng nơ-ron là một hàm tốn học lấy dữ liệu đầu vào và biến đổi thành dạng dễ điều chỉnh hơn và sau đĩ cho ra dự đốn ở đầu ra. Một điểm đặc biệt của các mơ hình deep learning là cĩ thể tự học kinh nghiệm của chính mình, với cách tiếp cận giải quyết vấn đề nhiều lần và tự điều chỉnh để cải thiện kết quả.

Dựa vào các nghiên cứu đang tồn tại cĩ thể chia các mơ hình gợi ý dựa trên các kỹ thuật học sâu thành hai loại như mơ tả ở Hình 2.13.

Hệ thống gợi ý với khối hợp nhất nơ-ron (Neural Building Blocks) gồm các kỹ thuật sâu như CNN (Convolutional Neural Network), MLP (Multilayer Perceptron), RNN (Recurrent Neural Network),... Mỗi kỹ thuật học sâu xác định khả năng ứng dụng của mơ hình gợi ý riêng biệt. Chẳng hạn, MLP cĩ thể dễ dàng mơ hình hĩa tương tác phi tuyến tính giữa người dùng và các mục nội dung; CNN cĩ khả năng rút trích các biểu diễn cục bộ và tồn cục từ các nguồn dữ liệu khơng đồng nhất như thơng tin văn bản và hình ảnh; RNN cho phép hệ thống gợi ý mơ hình hĩa thời gian động... Hệ thống gợi ý với các mơ hình học sâu lai (Deep Hybrid Models) là những mơ hình gợi ý sử dụng nhiều hơn một kỹ thuật học sâu. Tính linh hoạt của các mạng lai sâu là cĩ thể kết hợp một số khối hợp nhất nơ-ron để hình thành mơ hình hybrid mạnh hơn.

Dưới đây là một số mạng học sâu được sử dụng phổ biến trong các hệ thống gợi ý cũng như các kỹ thuật phân loại dữ liệu.

a) Mạng nơ-ron tích chập CNN

Mạng nơ-ron tích chập CNN (Convolutional Neural Networks) là một loại mạng nơ-ron đã được chứng minh là rất hiệu quả trong các lĩnh vực như nhận dạng và phân loại, trong đĩ cĩ thể kể đến là phân loại hình ảnh, phân loại dữ liệu chuỗi thời gian... (IBM Cloud Education, 2020). Giống như các mạng nơ-ron khác, mạng CNN cũng bao gồm một tầng input, một tầng output và nhiều tầng ẩn (hidden layers) ở giữa. Các tầng quan trọng trong kiến trúc CNN bao gồm tầng tích chập (convolutional layer), tầng gộp (pooling layer), tầng kết nối đầy đủ (fully connected layer - FC). Tầng convolution và tầng pooling đơi khi gọi chung là khối tích chập và cĩ thể được điều chỉnh theo các siêu tham số (hyperparameters). Tầng tích chập nhận dữ liệu thơng qua các bộ lọc tích chập (convolutional filters) với các bộ lọc kích hoạt các đặc trưng (features) của dữ liệu. Hàm ReLU (Rectified linear unit) cho phép quá trình huấn luyện nhanh và hiệu quả hơn bằng cách biến đổi giá trị âm về 0 và duy trì các giá trị dương trước khi chuyển các đặc trưng được kích hoạt tới tầng tiếp theo.

Để mơ tả kỹ về mạng CNN, chúng ta lấy ví dụ về phân loại hình ảnh. Về mặt kỹ thuật, trong mơ hình học sâu CNN, dữ liệu đầu vào sẽ chuyển nĩ qua một loạt các tầng tích chập với các bộ lọc, sau đĩ đến tầng gộp, rồi tiếp theo là các tầng được kết nối đầy đủ và cuối cùng áp dụng hàm kích hoạt Softmax để phân loại một đối tượng dựa trên giá trị xác suất trong khoảng từ 0 đến 1 như minh họa ở Hình 2.14.

Hình minh họa ta thấy CNN cĩ hai phần chính: phần trích lọc đặc trưng (Convolution, ReLU và Pooling) và phần phân loại (Fully connected và Softmax). Sau khi học các đặc trưng qua nhiều tầng tích chập và tầng gộp, kiến trúc mạng CNN chuyển qua giai đoạn phân loại (hay dự đốn lớp). Đầu ra của tầng kết nối đầy đủ FC (trước tầng cuối cùng) là một véc-tơ cĩ K chiều, với K là số lớp của mạng cần dự đốn. Tầng cuối cùng của kiến trúc CNN sử dụng một tầng phân loại, chẳng hạn hàm softmax, cho output là lớp cần dự đốn.

Hình 2.14: Minh họa mạng CNN với nhiều tầng tích chập (MathWorks, 2018)

b) Mạng nơ-ron truyền thẳng đa tầng MLP

Mạng nơ-ron truyền thẳng đa tầng MLP (Multilayer Perceptrons) là một dạng của mạng nơ-ron truyền thẳng (feedforward neural network). MLP gồm cĩ tầng input, tầng output và các tầng ẩn như Hình 2.15. Tầng input nhận tín hiệu đầu vào để xử lý. Các tác vụ như dự đốn và phân loại được thực hiện bởi tầng output. Các tầng ẩn ở giữa tầng làm các nhiệm vụ tính tốn chủ yếu trong mạng MLP. Tương tự như mạng truyền thẳng, trong mạng MLP dữ liệu chuyển theo hướng từ tầng input đến tầng output. Trong mạng MLP, các tầng được kết nối hồn tồn với nhau, tức là mỗi nơ-ron được kết nối hồn tồn với các nơ-ron khác ở tầng phía dưới và tầng phía trên (Shetty et al., 2020). Mạng MLP cĩ thể sử dụng giải quyết nhiều bài tốn trong thực tế, trong đĩ cĩ các bài tốn về phân loại và dự đốn.

Trong mạng MLP, percepton cịn gọi là nơ-ron nhân tạo (artificial neuron), là một hàm biến đổi tốn học nhận một hoặc nhiều đầu vào đã được nhân với các giá trị gọi là trọng số (weights), cộng các giá trị đĩ lại với nhau thành một giá trị duy nhất (Ronaghan, 2018b).

Hình 2.15: Mơ hình mạng nơ-ron truyền thẳng đa tầng (Ronaghan, 2018a)

Một phần của tài liệu Xây dựng mô hình tìm kiếm và gợi ý tài nguyên học tập (Trang 34 - 58)

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

(149 trang)
w