Đánh trọng số là mơ hình đơn giản nhất của một hệ gợi ý lai. Mỗi một thành phần trong hệ thống sẽ tính điểm cho một sản phẩm, và những kết quả đĩ sẽ được tổ hợp với nhau theo một cơng thức tuyến tính. Phép lai này thích hợp nếu các hệ gợi ý thành phần cĩ sức mạnh tương xứng hoặc cĩ sự chính xác trên khơng gian sản phẩm. Chúng ta cĩ thể hiểu thuật tốn đánh trọng số hoạt động như hình trên. Ở pha tranning thì mỗi một hệ gợi ý thành phần sẽ “học” thơng tin độc lập (phần này tương tự ở hầu hết phương pháp lai). Sau đĩ khi một dự đốn được đưa ra cho một người dùng thử nghiệm thì các hệ gợi ý cùng đề xuất ra các ứng viên. Một vài kỹ thuật gợi ý chẳng hạn thuật tốn phân loại content-based, cĩ thể tiên đốn các sản phẩm mà các kỹ thuật
39
khác bị giới hạn. Ví dụ, hệ gợi ý collaborative khơng thể nào dự đốn được đánh giá của một sản phẩm nếu nĩ chưa được những người tương đương đánh giá. Việc đưa ra các ứng viên là cần thiết để xác định những sản phẩm mà người dùng cĩ thể quan tâm.
Mixed
Giả sử như cĩ một hệ thống bao gồm 2 thành phần content-based và collaborative, tuy nhiên do sự thưa thớt của đánh giá người dùng cũng như khơng gian nội dung, nên sẽ rất khĩ cho hệ thống nếu phải đưa ra đánh giá của một sản phẩm cho trước. Thay vào đĩ thì mỗi hệ thống thành phần sẽ tự đưa ra các gợi ý và hệ thống lai sẽ tổ hợp và xuất ra kết quả cho người dùng.
Một hệ thống lai kiểu mixed đưa ra các gợi ý của các hệ thống thành phần song song với nhau (side by side) trong một danh sách tổng hợp. Thách thức của kiểu hệ thống như thế này là ở phần hiển thị: nếu các danh sách khác nhau được trộn với nhau thì cuối cùng nên xếp hạng kết quả như thế nào? Các kỹ thuật xử lý điển hình là trộn theo đánh giá tiên đốn hoặc theo độ tin cậy của hệ gợi ý. Hình dưới đây cho thấy mơ hình hoạt động của hệ thống Mixed hybrid recomemder.
Hệ thống lai kiểu Mixed rất khĩ để ước lượng hiệu quả dựa vào các dữ liệu quá khứ. Với những kiểu lai khác, chúng ta cĩ thể sử dụng đánh giá thực tế của khách hàng để xác định sản phẩm nào nên được xếp hạng cao hơn. Với mixed hybrid, đặc biệt là những hệ thống hiển thị kết quả kiểu side by side cho người dùng thì rất khĩ để cho thấy rằng bằng cách nào hệ thống lai đã tăng cường hiệu quả gợi ý so với việc sử dụng các hệ thống cấu thành nĩ nếu khơng khảo sát trải nghiệm thực tế của người dùng.
40
Hình 2.9 Hệ thống lai kiểu Mixed (Bỏ qua phần tranning, tương tự Weighted) [9]
Switching
Giả sử cĩ một hệ thống gợi ý gồm 3 hệ thống thành phần: Một hệ thống content-based sử dụng kỹ thuật lân cận gần nhất, một hệ thống collaborative và một hệ thống content-based thứ 2 sử dụng phân loại naive Bayes, các hệ thống này sắp theo thứ tự. Kỹ thuật lân cận gần nhất sẽ được sử dụng trước, nếu nĩ khơng thể tạo ra được gợi ý cĩ độ tin cậy cao thì sẽ đến lượt collaborative, sau cùng sẽ đến naive Bayes.
41
Hình 2.10 Switching hybrid - Lai ghép chuyển đổi [9]
Một hệ thống lai kiểu chuyển đối sẽ chọn một trong các hệ gợi ý thành phần để sử dụng tùy theo tình huống cụ thể. Hướng tiếp cận này xem xét đến vấn đề là các hệ thống thành phần sẽ khơng cĩ hiệu quả như nhau đối với tất cả người dùng. Nĩ giả sử rằng cĩ một tiêu chuẩn đáng tin cậy để dựa vào đĩ mà hệ thống cĩ thể chuyển đổi quyết định. Sự chọn lựa của tiêu chuẩn chuyển đổi này là rất quan trọng. Câu hỏi đặt ra về phương pháp xác định tiêu chuẩn này bản thân nĩ đã là một vấn đề cần nghiên cứu riêng.
42
Như ta thấy ở hình trên hệ thống lai kiểu chuyển đổi bắt đầu bằng việc lựa chọn các hệ thống thành phần tùy theo tình huống hiện thời, dựa trên một tiêu chuẩn chuyển đổi nhất định. Sau khi chọn xong thì những thành phần khơng được chọn sẽ bị loại bỏ vai trị trong hệ thống.
Điều kiện để sử dụng mơ hình lai chuyển đổi là phải cĩ một tiêu chuẩn đủ tin cậy.
Feature Combination
Ý tưởng của phép lai tổ hợp là chèn tri thức từ một nguồn (chẳng hạn như là từ hệ thống collaborative) vào một thuật tốn được thiết kế để xử lí dữ liệu cho một nguồn khác (chẳng hạn content-based). Ý tưởng này được thể hiện ở hình dưới:
43
Ở đây ta cĩ thể thấy trong phần thêm vào của thành phần mà thực tế sẽ đưa ra gợi ý (actual recommender) cĩ tồn tại một “hệ gợi ý đĩng gĩp”. Các chức năng thơng thường sẽ được xử lý bởi hệ gợi ý thì thay vào đĩ sẽ được sử dụng như một phần của hệ gợi ý thực sự (actual recommender) . Đây là một cách để mở rộng năng lực của hệ thống bằng cách thêm một loại chức năng mới vào trong tổ hợp.
Hệ thống lai Feature Combination khơng phải là “lai” nếu hiểu theo những kiểu lai ghép bằng cách tổ hợp nhiều hệ gợi ý thành phần chúng ta đã liệt kê phía trên, bởi vì nĩ chỉ cĩ một hệ thống duy nhất. Điều làm nên tính lai ở đây là nhưng nguồn tri thức tham gia vào quá trình này. Một hệ thống feature combination hybrid “vay mượn” các logic gợi ý từ các kỹ thuật khác thay vì sử dụng các thành phần riêng rẽ.
Feature Augmentation.
Lai tăng cường là một hướng tiếp cận cĩ nhiều điểm tương đồng với lai tổ hợp. Thay vì sử dụng tri thức lấy ra từ phạm vi của hệ gợi ý đĩng gĩp, feature augmentation tạo ra một tri thức mới cho mỗi sản phẩm bằng việc sử dụng các logic gợi ý từ thành phần đĩng gĩp. Ví dụ như trong hệ gợi ý dựa trên trường hợp (case-based) người ta đã sử dụng các luật liên kết để khai phá trên các dữ liệu tương đồng nhằm tạo ra các tri thức nội dung mới cho hệ gợi ý content-based.
Sự khác biệt cĩ thể thấy trên lược đồ phía dưới, tại mỗi bước, hệ gợi ý đĩng gĩp sẽ chia cắt các dữ liệu cho hệ gợi ý thực sự và làm giàu nĩ bằng dữ liệu thêm vào của mình, khơng phải là các đặc trưng dạng “thơ” như trong feature combination mà là kết quả của quá trình tính tốn độc lập. Hệ thống gợi ý feature augmentation được sử dụng nếu cĩ một hệ gợi ý chính mạnh mẽ và được xây dựng tốt, và cĩ nhu cầu cần được cung cấp thêm các nguồn tri thức bổ sung, việc cung cấp này thường được thực hiện off-line, nĩ tạo nên sức hấp dẫn của hướng tiếp cận này so với feature combination, vốn chỉ cố gắng củng cố một thuật tốn gợi ý cĩ sẵn bằng cách thay đổi đầu vào của nĩ.
44
Hình 2.12 Feature Augmentation [9]
Cĩ nhiều lý do để ưu tiên sử dụng feature augmentation hơn là feature combination. Khơng phải bao giờ cũng dễ dàng hoặc khả thi để tạo ra một hệ thống feature combination cho tất cả các phép lai cĩ thể, rõ ràng tiếp cận feature augmentation thì mềm dẻo hơn, cũng như vậy, hệ gợi ý chính trong feature combination hybrid sẽ phải đương đầu với cả tá dữ liệu lớn lấy từ các dữ liệu học được trong khi phép lai augmentation chỉ bổ sung 1 lượng nhỏ hơn các đặc trưng vào đầu vào của hệ gợi ý chính.
45
Ý tưởng của phép lai cascade là tạo ra một hệ thống lai cĩ thứ bậc chặt chẽ, trong đĩ hệ thống yếu hơn sẽ khơng thể thay đổi những quyết định của hệ thống mạnh hơn nĩ, mà sẽ chỉ đơn thuần là tinh lọc lại mà thơi. Xét về mặt phụ thuộc thứ tự thì phương pháp này cũng tương tự như feature augmentation, nhưng nĩ sẽ giữ lại những chức năng cung cấp dự đốn của mỗi hệ gợi ý thành phần. Một hệ gợi ý lai kiểu cascade sẽ sử dụng hệ gợi ý phụ chỉ để phá vỡ những giới hạn, bĩ buộc trong việc tính tốn của hệ gợi ý chính như hình dưới đã mơ tả.
46
Meta-level
47
Phép lai meta-level sử dụng model được học bởi một hệ gợi ý làm dữ liệu đầu vào cho một hệ gợi ý khác. Hình trên là lược đồ mơ tả hoạt động của hệ gợi ý dạng này. Ta nhận thấy rằng nĩ cũng tương tự như phép lai feature augmentation trong đĩ hệ gợi ý đĩng gĩp sẽ tạo ra đầu vào cho hệ gợi ý thực sự, nhưng điểm khác biệt là trong meta-level, hệ gợi ý đĩng gĩp sẽ hồn tồn thay thế nguồn tri thức ban đầu bằng một model đã được học và hệ gợi ý thực sự sẽ sử dụng nĩ trong quá trình tính tốn của mình.
2.2.3.Tổng kết
Phần trước đã trình bày tổng quan về 7 phép lai các hệ gợi ý cơ bản, các phép lai đĩ nĩi chung cĩ thể được phân loại thành cách thức lai sau đây [5]:
Cách thức lai Một số nghiên cứu/ hệ thống áp dụng
Tổ hợp riêng rẽ các hệ gợi ý
• Hệ thống DailyLearner (Billsus et al. 2000) • Tran & R.Cohen (2000), “Hybrid Recommender
Systems for Electronic Commerce”.
• Hệ thống báo điện tử (Claypool et al. 1999) • Pazzani (1999), “A framework for collaborative,
content-based and demographic filtering” Thêm các đặc trưng
hệ gợi ý này vào hệ gợi ý khác (và ngược lại)
• Hệ thống Fab (Balabanovic et al. 1997)
• Sarwar et al (1999), “Combining Collaborative Filtering with Personal Agents for Better Recommendations”
• Melville et al (2002), “Content-Boosted Collaborative Filtering for Improved Recommendations”
• Soboroff et al (1999) , “Combining content and collaboration in text filtering”
Xây dựng một hệ gợi ý hợp nhất
• Basu et al (1998), “Using social and content- based information in recommendation”
• Popescul et al (2001), “Unified Collaborative and Content-Based Recommendation in Sparse-Data Environments”
• Condliff et al (1999), Bayesian mixed-effects models for recommender systems
48
• Schein et al (2002) “Methods and metrics for cold-start recommendations”
Bảng 2.4 Tổng quan các cách thức lai
Ở cách thức lai tổ hợp riêng rẽ các hệ gợi ý ta sẽ kết hợp 2 hệ gợi ý một cách độc lập với nhau, ta cĩ 2 hướng để thực hiện điều này. Thứ nhất, ta cĩ thể tổ hợp tuyến tính đầu ra (đánh giá) của các hệ gợi ý thành phần vào một đầu ra duy nhất hoặc cĩ thể sử dụng một quy trình đánh giá nào đấy (mixed hybrid), hai là ta cĩ thể lựa chọn sử dụng mỗi hệ gợi ý riêng lẻ tùy theo trường hợp cụ thể (switching hybrid) . Ví dụ về cách thức lai thêm đặc trưng hệ gợi ý này vào hệ gợi ý kia chẳng hạn như là ta sử dụng các kỹ thuật giảm chiều (LSI) trên các hồ sơ của người dùng dưới dạng các vector từ và thêm vào kỹ thuật content-based truyền thống. Những năm gần đây thì nhiều nhà nghiên cứu đã bắt đầu đi theo con đường thứ 3 là xây dựng một mơ hình gợi ý hợp nhất từ các hệ thống thành phần, ví dụ như ta sử dụng các đặc trưng của lọc cộng tác và content-based vào một bộ phân lớp đơn rule-based [5].
49
CHƯƠNG 3 - XÂY DỰNG, ĐÁNH GIÁ HỆ GỢI Ý
3.1. Phát biểu bài tốn
Như đã nĩi ở các phần trước, một hệ gợi ý hiệu quả là một yếu tố rất quan trọng trong thành cơng của một hệ thống TMĐT.Trong khuơn khổ luận văn này ta sẽ ứng dụng các lý thuyết cơ sở để xây dựng và đánh giá một hệ thống gợi ý cụ thể sử dụng phương pháp lai dựa trên một bộ dữ liệu cĩ sẵn.
Mơ tả bộ dữ liệu:
Ta sử dụng bộ dữ liệu Movilens 100K, bộ dữ liệu này bao gồm 2 đối tượng chính là người dùng và sản phẩm cũng như các đánh giá của người dùng trên những sản phẩm này. Thơng tin người dùng bao gồm các thơng tin về nhân khẩu học như là ID, tuổi, giới tính, nghề nghiệp. Bộ dữ liệu này cĩ 100,000 đánh giá của 943 người dùng trên 1682 sản phẩm khác nhau.
User ID Item ID Đánh giá
196 242 3
186 302 3
22 377 1
244 51 2
Bảng 3.1 - Đánh giá của người dùng trên sản phẩm
Bảng 3.2 - Thơng tin nhân khẩu học của người dùng
User ID Tuổi Giới tính Nghề nghiệp
1 24 M technician
2 53 F other
3 23 M writer
50
Trong quá trình xây dựng và đánh giá hệ thống, ta sẽ chia bộ dữ liệu này thành các tập học và tập thử, đầu ra hệ thống là một tập các sản phẩm gợi ý kèm theo các dự đốn đánh giá của mỗi sản phẩm cho khách hàng cĩ ID bất kỳ cho trước.
3.2. Đề xuất cách tiếp cận
Như đã nĩi ở phần trước, mỗi kỹ thuật gợi ý cĩ điểm mạnh điểm yếu riêng, cho nên ta sẽ xây dựng hệ thống lai bao gồm nhiều hệ thống thành phần sử dụng những kỹ thuật khác nhau:
3.2.1.Hệ thống gợi ý thứ nhất
Do ở đây ta sử dụng dữ liệu đánh giá sản phẩm, mặt khác do dữ liệu về thơng tin sản phẩm nghèo nàn nên khơng thích hợp sử dụng phương pháp content-based. Ta sẽ sử dụng phương pháp lọc cộng tác dựa trên sản phẩm để tận dụng thế mạnh của đánh giá người dùng, lý do sử dụng item-based chứ khơng phải user-based ở đây là vì những lợi thế của nĩ:
- Số lượng người dùng trên các hệ thống TMĐT thực tế thường nhiều hơn so với số lượng sản phẩm, cĩ thể gấp 10 lần đến cả hàng trăm, hàng nghìn lần. Do đĩ nếu ta sử dụng item-based sẽ giảm nhẹ được quá trình tính tốn.
- Người dùng thường được tự thêm vào tự phát bên phía khách hàng, người quản trị hệ thống khơng thể kiểm sốt được, cịn sản phẩm thì thường do phía người bán hoặc người quản trị hệ thống mới cĩ quyền thêm vào, vì vậy sử dụng kỹ thuật lọc cộng tác dựa trên sản phẩm ổn định hơn.
Thời gian xử lý là một trong những yếu tố sống cịn với các hệ thống tương tác thời gian thực, tuy số lượng sản phẩm tuy ít hơn người dùng nhưng thực tế vẫn cĩ số lượng lớn, ta sẽ sử dụng thêm kỹ thuật phân cụm sản phẩm để giảm thời gian xử lý cho hệ thống.
51
Kỹ thuật phân cụm: Từ bộ dữ liệu đầu ta xuất ra được ma trận tương đồng các sản phẩm, lấy nĩ làm đầu vào cho quá trình phân cụm, ta sẽ dựa vào ma trận này để phân cụm sản phẩm.
So sánh một số phương pháp phân cụm sản phẩm trong bộ dữ liệu MovieLens 100K thì theo nghiên cứu của Mark O’Connor & Jon Herlocker trong [8] đã chỉ ra kết quả của các phương pháp phân cụm trên tập dữ liệu này như sau:
Phương pháp MAE Khơng phân cụm 0.7594 Random 0.8211 Genre 0.7806 Average Link 0.7754 hMetis k = 5, Ubfactor = 10 0.7859 hMetis k = 5, Ubfactor = 1 0.7951 kMetis k = 5 0.8033
ROCK Khơng hiệu quả
Bảng 3.3 - So sánh các phương pháp phân cụm
Ta thấy với các tập dữ liệu MovieLens 100K, sử dụng phương pháp phân cụm sản phẩm cĩ hiệu quả thấp hơn so với khơng phân cụm. Phân cụm trong trường hợp này chủ yếu để cải thiện tốc độ tính tốn, một điểm yếu của phương pháp lọc cộng tác trong tương lai khi số lượng sản phẩm tăng lên. Ở đây ta sẽ sử dụng phương pháp phân cụm phân cấp (Hierarchical Clustering) cụ thể là phân cụm đường trung bình (Average-link clustering).
Thuật tốn phân cụm Average-link clustering: (S.P.Borgatti, [10])
Cho N item và ma trận tương đồng NxN của các item đĩ, quá trình phân cụm sẽ diễn ra như sau:
52
- B1: Ban đầu cĩ N item thì coi như cĩ N cụm, khoảng cách giữa mỗi cụm với nhau chính là độ tương đồng.
- B2: Tìm 2 cụm (2 item) cĩ khoảng cách nhỏ nhất (tương đồng lớn nhất) và xếp nĩ vào 1 cụm mới
- B3: Khoảng cách giữa cụm mới này với các cụm khác được tính bằng khoảng cách trung bình (đối với average-link clustering) giữa các phần tử trong cụm với các cụm khác.
Lặp lại B2 và B3 cho đến bao giờ đạt được số lượng cụm mong muốn (hoặc