Hệ thống giới thiệu

Một phần của tài liệu Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội (Trang 27 - 32)

2 Cơ sở lý thuyết và công nghệ

2.1 Cơ sở lý thuyết

2.1.4 Hệ thống giới thiệu

Hệ thống giới thiệu (Recommendation System) là ứng dụng quan trọng của Machine Learning nhằm giới thiệu đến người dùng các sản phẩm hoặc nội dung phù hợp dựa trên lịch sử hoạt động và sở thích của người dùng đó. Các mơ hình giới thiệu học từ lịch sử của người dùng các hành vi trực tiếp hay gián tiếp xác định được phản hồi của người dùng đối với một nội dung nào đó. Có hai loại phản hồi chính sau:

 Phản hồi tường minh (Explicit Feedback): Người dùng trực tiếp gắn nhãn, xếp hạng hoặc đánh giá nội dung. Các phản hồi tường minh do đó thường là một dãy các giá trị có thứ tự xếp hạng. Ví dụ trong trường hợp giới thiệu phim ảnh thì việc đánh giá theo số sao chính là một hình thức phản hồi tường minh.

 Phẩn hồi tiềm ẩn (Implicit Feedback): Loại phản hồi này thường là các sự kiện và hành động có thể gián tiếp nói lên được mức độ u thích của người dùng đối với một nội dung nào đó. Chúng khơng có khoảng giá trị cụ thể và rõ ràng nào. Các ví dụ điển hình có thể kể đến trong trường hợp giới thiệu phim ảnh là việc bookmark, xem trang thông tin hoặc mua phim.

Hầu hết các giải thuật và các bài viết hàn lâm thường sử dụng loại phản hồi tường minh để đào tạo và đánh giá các mơ hình Giới thiệu. Nhược điểm của loại phản hồi này chính là lúc hệ thống mới được đưa vào hoạt động thì chúng khá là khan hiếm. Ngược lại, phản hồi tiềm ẩn chính là hành vi của người dùng nên dồi dào hơn, nhưng vì khơng có khoảng giá trị cụ thể nên rất khó để đong đếm được mức độ u thích là bao nhiêu. Điều này sẽ có ảnh hưởng ít nhiều đến việc chọn ra giải thuật và mơ hình để hiện thực tính năng Giới thiệu của nhóm, sẽ được nói chi tiết hơn ở phần Hiện thực.

Có hai cách tiếp cận chủ yếu để giải quyết bài toán giới thiệu nội dung đến với người dùng chính như sau:

1. Content-based Filtering: Học được hồ sơ sở thích của người dùng dựa trên các đặc trung của nội dung mà người dùng đã bình chọn trước đó. Các đặc trưng kể trên có thể là mô tả, phân loại, người dạy học, v.v.. trong trường hợp giới thiệu khóa học đối với người học viên. Những thông tin trên được gọi là hồ sơ của từng nội dung. Từ hồ sơ nội dung, ta có thể xây dựng hồ sơ của người dùng và giới thiệu đến người dùng đó các nội dung mới tương thích với hồ sơ đó.

Hình 4: Ma trận biểu diễn đặc trưng Phân loại củaitem (nội dung) và người dùng. item (nội dung) và người dùng.

Ví dụ trên3

minh họa các vector đặc trưng Thể loại của một vài nội dung và sở thích của người dùng đối với các thể loại đó. Từ các vector đặc trưng này, ta có thể sử dụng các hàm đo tương đồng (như dot-product, cosine similarity, ...) để tính ra được sự tương đồng giữa các item cũng như giữa sở thích người dùng với một item bất kỳ. Từ đó ta có thể đưa ra mệnh đề giới thiệu đến người dùng tùy vào use-case khác nhau (giới thiệu item tương tự một item cho trước Item similar to this hoặc item phù hợp với sở thích người dùng Items you might like). Nhược điểm của cách tiếp cận này là ở việc địi hỏi phải có kiến thức sâu về chun ngành thì mới đưa ra được các đặc trưng tốt và phù hợp. Ưu điểm của nó nằm ở chỗ là việc giới thiệu sản phẩm không cần phải sử dụng lịch sử yêu thích của người dùng khác nên khả năng mở rộng quy mô khá dễ dàng.

2. Collaborative Filtering: Cách tiếp cận này được xây dựng dựa trên giả thuyết là nếu hai người dùng bất kỳ có lịch sử mua hàng gần giống nhau thì khả năng trong tương lai người dùng này vẫn sẽ mua hàng tiêu thụ bởi người dùng kia. Cách tiếp cận này tập trung hoàn toàn vào lịch sử phản hồi giữa người dùng với nội dung thay vì các đặc trưng tương ứng với nội dung hoặc người dùng. Lịch sử phản hồi này thường được mô tả dưới dạng ma trận Utility:

Hình trên 4 minh hoạt phản hồi tường minh của người dùng đến các sản phẩm dưới dạng các đánh giá từ 1 đến 5 sao. Nhiệm vụ của hệ thống giới thiệu là từ ma trận này ta tiên đoán đánh giá mà người dùng bất kỳ đưa ra đối với những item mà họ chưa đánh giá, và giới thiệu cho người dùng đó những item mà có kết quả tiên đốn cao. Collborative Filtering cũng được chia thành hai nhóm chính:

 Memory-based Approach: Phương pháp tiếp cận này lưu trữ ma trận utility vào trong bộ nhớ và tiên đoán đánh giá của người dùng i đối với item k bằng cách lấy tổng trọng số của các đánh giá của những người dùng khác đối với k, với trọng số chính là độ đo tương đồng của người dùng đó đối với người dùng i. Các độ đo tương đồng thường dùng là cosine similarity, jaccard similarity, … Cơng thức tính độ đơ Cosine có dạng như sau: w(A , B)= AB ‖A‖‖B‖= ∑ i AiBi √∑ i Ai2√∑ i Bi2

Tổng trọng số trên sẽ được chuẩn hóa bằng cách chia cho tổng giá trị tuyệt đối của các giá trị tương đồng trên. Ta thu được cơng thức tính mức độ đánh giá tiên đốn giữa người dùng i với item k như sau:

^ rik=a∈Uk wiaraka∈Uk |wia|

 Model-based Approach: Đây là tên gọi chung cho một nhóm các giải thuật sử dụng mơ hình machine learning để tiên đoán đánh giá của người dùng. Thừa số hóa ma trận là một trong những họ mơ hình phổ biến nhất. Ngun lý của chúng dựa trên quan sát là sở thích của người cũng như đặc điểm của các item có thể được biểu diễn bằng một số ít các yếu tố tiềm ẩn. Nhiệm vụ của mơ hình là xấp xỉ ma trận utility user-item kể trên bằng tích hai ma trận X chứa hồ sơ thơng tin của item và Y chứa hồ sơ thông tin của người dùng. Chúng ta có thể tương tưởng ma trận X như là một ma trận với mỗi hàng là thông tin “tiềm ẩn” của từng item, Y là ma trận với mỗi cột là thông tin tiềm ẩn của từng người dùng. Khi ta đạt được hai ma trận thu gọn này, ta có thể tiên đốn đánh giá của người dùng và một item bất kỳ bằng cách lấy tích vơ hướng giữa hàng của ma trận X tương ứng với item và cột của ma trận Y tương ứng với người dùng đó. Các mơ hình nổi tiếng trong phương pháp này có thể kể đến là ALS (sẽ được thử nghiệm trong phần Hiện thực) và SVD.

Ưu điểm rõ rệt của Collaborative-based Filtering so với Content-based Filtering nằm ở khả năng đưa ra lời giới thiệu mà không cần đến hiểu biết nhiều về chuyên ngành. Lấy ví dụ về việc giới thiệu phim, chúng ta không cần biết về mối tương quan giữa trẻ con và việc yêu thích phim siêu anh hùng chẳng hạn, miễn là có đủ dữ liệu miêu tả sở thích của tập người

dùng là trẻ con thì vẫn đủ khả năng đưa ra giới thiệu phù hợp. Ngồi ra, vì dựa vào sở thích của người dùng để giới thiệu item cho nhau, nhóm giải thuật này có khả năng đưa ra lời giới thiệu khơng nằm trong sở thích trước đó của một người dùng bất kỳ. Nhược điểm lớn nhất của Collaborative-based Filtering chính là hiện tượng cold-start. Nếu một item mới được đưa vào hệ thống thì sẽ rất khó để giới thiệu item này cho người dùng vì vấn đề thiếu dữ liệu. Tương tự, một người dùng khi mới vào hệ thống cũng sẽ nhận được ít lời giới thiệu phù hợp so với người dùng lâu năm vì thiếu vấn đề dữ liệu lịch sử.

Giải pháp của nhóm sử dụng cơng cụ mã nguồn mở ActionML được dựa trên một giải thuật cũng thuộc họ Collaborative Filtering có tên là Correlated Cross-Occurrence. Khác với các giải thuật được giới thiệu ở trên, giải thuật này làm việc trực tiếp với các phản hồi tiềm ẩn, tức là không hề dựa vào các đánh giá trực tiếp từ người dùng. Ý tưởng của giải thuật dựa trên việc gán một số điểm cho item dựa trên tính đồng xuất hiện (co-occurence) của các sự kiện. Sự kiện ở đây bao gồm toàn bộ các hoạt động mà chúng ta cho rằng sẽ biểu diễn được mức độ yêu thích của người dùng đối với một item hoặc một nhóm các item nào đó. Về mặt lý thuyết, giả sử ta có ma trận P lưu trữ lịch sử mua hàng của người dùng với sản phẩm chứa các giá trị thể hiện số lần xuất hiện của sự kiện “mua”. Sự kiện “mua” này cũng có thể mang ý nghĩa khác trong các ngữ cảnh khác, miễn sao nó cũng là mục đích cuối cùng của hệ thống khi đưa ra lời giới thiệu cho người dùng (còn gọi là sự kiện chuyển đổi). Giải thuật khai phá các đề nghị giới thiệu dựa vào mức độ tương đồng trong hành vi “mua hàng” của những người dùng tương đương nhau bằng cách tính tốn cơng thức sau:

r=[PtP]hp

Ý nghĩa của các thành phần trong công thức:

r = vector biểu diễn chỉ số mức độ u thích của người dùng đối với tồn bộ item trong hệ thống. Giải thuật tính tốn vector này và lựa chọn ra K item có trọng số lớn nhất để giới thiệu cho người dùng đó.

P = Ma trận sự kiện chuyển đổi với hàng là người dùng, cột là item, các giá trị trong ma trận thể hiện việc người dùng “mua” item nào đó.

hp = vector lịch sử sự kiện chuyển đổi (mua hàng) của người dùng, cũng là hàng tương ứng trong ma trận P của người dùng đó.

 [PtP] = Ma trận tương quan giữa các item, được tính bằng cách tính tỉ số log- likehood (LLR) giữa từng cặp cột item trong ma trận để ra được từng phần tử trong ma trận đó.

Mỗi phần tử trong ma trận tương quan này chính là hệ số biểu diễn mối quan hệ tương quan đồng xuất hiện giữa hai sự kiện “mua hàng”. Chỉ số này lớn thể hiển việc mua hàng item A có ý nghĩa về mặt thống kê để tiên đoán sự kiện mua hàng B. Cơng thức tính chỉ số này được minh họa qua hình sau:5

Event A Everything but A

Event B k11 k12

Everything but B k21 k22

Bảng 1: Minh họa cách tính LLR

LLR=2kij(H(mat)−H(row)−H(col))

Ý nghĩa của các thành phần trong cơng thức:

 ∑kij = Tổng các phần tử trong bảng (ma trận)

H = Shannon Entropy, được tính bằng tổng của kij

klog

(kij)

k , với ∑k

tổng của các phần tử của bảng, hoặc của hàng, hoặc của cột.

Cơng thức này có giá trị lớn khi k11 và k22 đều lớn. Điều này khá hợp lý vì nếu A và B được mua cùng nhau nhiều nhưng nếu trong giỏ bán người dùng hầu như khơng bao giờ có chuyện khơng mua cả A và B thì vẫn có trường hợp A và B là những item quá phổ biến. Do đó, việc một người mua nhiều sản phẩm A khi đókhơng hề nói lên việc sở thích của người đó đối với B. Nhưng nếu A và B thường xuyên khơng được mua cùng nhau, thì sự xuất hiện nhiều lần của việc mua cả A và B có thể giúp ta tự tin hơn trong việc khẳng định là A và B có mối tương quan và có thể dùng sự kiện mua hàng của một trong hai để tiên đoán cái cịn lại.

Hệ quả của cơng thức trên đó chính là CCO, khác với giải thuật Thừa số hóa ma trận, có thể áp dụng để đưa ra giới thiệu realtime phù hợp với người dùng ngay tại thời điểm tiên đốn mà khơng cần phải train lại. Mánh khóe nằm ở chỗ ta lưu ma trận tương quan trong các index của các cơng cụ tìm kiếm như ElasticSearch. Mỗi lần cần đưa ra Giới thiệu, ta sẽ đưa vào cơng cụ tìm kiếm câu truy vấn hp (là sở thích hiện tại của người dùng được cập nhật liên tục) và lấy ra được top N kết quả có chỉ số r ở trên lớn nhất. Do đó, sở thích mới nhất của người dùng vẫn được quan tâm khi tính tốn. Ta vẫn sẽ phải có bước train lại CCO để tính tốn ma trận tương quan mới, nhưng việc này có thể được thực hiện khơng thường xun.

Tuy nhiên, hệ quả quan trọng nhất trong công thức của giải thuật CCO phải nằm ở việc giải thuật này có thể sử dụng nhiều sự kiện khác nhau ngoài sự kiện chuyển đổi chính để đưa ra lời giới thiệu. Đây cũng là thế mạnh của giải thuật so với các mơ hình – giải thuật Giới thiệu đương thời. Cụ thể, giả sử ta có cũng có các ma trận user-item tương ứng với các sự kiện khác sự kiện chuyển đổi như “xem trang”, “đưa vào giỏ hàng”, cơng thức tính r mới sẽ là:

r=[PtP]hp+[PtV]hv+[PtC]hc+...

với V, C là các ma trận tương ứng với các sự kiện ngồi sự kiện chuyển đổi.

Có thể thấy, chúng ta hồn có thể đưa vào giải thuật này nhiều sự kiện khác nhau mà chúng ta tin rằng có thể đóng góp vào việc đưa ra lời giới thiệu. Giải thuật sẽ tự khai thác ra

sự tương quan giữa các sự kiện đó với sự kiện chính, đồng thời loại bỏ các sự kiện khơng có mối quan hệ này.

Ưu điểm của CCO so với các giải thuật Collaborative Filtering khác chính là khả năng mơ hình được nhiều loại sự kiện như trên, cho phép nó đối phó với vấn đề cold start và data sparsity. Điều này là bởi trong các hệ thống phần mềm, các sự kiện chuyển đổi thường rất hiếm và thưa, ngược lại các sự kiện phụ trợ như xem sản phẩm, đưa vào giỏ hàng, đánh giá thường chiếm đại đa số. Việc này dẫn đến CCO vẫn có thể đưa ra lời giới thiệu đến người dùng chưa hề có lịch sử “mua hàng” nào, miễn là ít nhất có một vài tương tác nhất định với hệ thống.

Một phần của tài liệu Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội (Trang 27 - 32)

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

(185 trang)