Trang chủ nhúng cho các khuyến nghị nhà tương tự

bởi Sangdi Lin

Hình 1: Các khuyến nghị nhà tương tự trên Zvel

Các hệ thống khuyến nghị thường dựa vào sự tham gia của người dùng như một nguồn dữ liệu để tìm hiểu các đề xuất chất lượng cao. Tuy nhiên, trái ngược với các trang web như Amazon, Netflix và Airbnb, một số lượng lớn người dùng truy cập Z.60 là người dùng mới hoặc người dùng chưa có tài khoản đã đăng ký. Những người dùng mới này có thể là người mua nhà lần đầu, người thuê mới, người mua nhà mới đến chợ trực tuyến, khách du lịch tò mò về thị trường nhà ở địa phương hoặc những người sử dụng Z.60 để lấy thông tin bất động sản. Đối với những người dùng này, băng chuyền gia đình tương tự trên mỗi trang chi tiết gia đình (như trang hiển thị ở bên phải của Hình 1) đóng vai trò quan trọng trong việc hiển thị nội dung thú vị và cải thiện trải nghiệm của họ. Khi người dùng thể hiện sự quan tâm của họ bằng cách nhấp vào một ngôi nhà, băng chuyền gia đình tương tự cho phép người dùng khám phá trực tiếp các danh sách liên quan trên Zvel mà không cần phải quay lại trang tìm kiếm hoặc chọn bộ lọc.

Quyết định xem hai ngôi nhà có giống nhau không đơn giản như nó có thể xuất hiện. Từ góc độ nội dung, một ngôi nhà có thể được mô tả bởi các thuộc tính có cấu trúc khác nhau và các thuộc tính phi cấu trúc như liệt kê hình ảnh và mô tả. Các thuộc tính cấu trúc bao gồm các tính năng nhà như vị trí, giá cả, kích thước, loại nhà, số phòng ngủ & phòng tắm và các tính năng khu phố. Làm thế nào để tính toán sự tương đồng từ các tính năng của các loại và thang đo khác nhau có thể là một vấn đề đầy thách thức. Khi người dùng so sánh hai ngôi nhà, các thuộc tính có cấu trúc và không cấu trúc khác nhau có thể có tầm quan trọng khác nhau và tương tác với nhau. Ví dụ, 200 feet vuông không gian sống có thể là một sự khác biệt lớn cho một căn hộ ở San Francisco, nhưng không quan trọng đối với một ngôi nhà ở Phoenix. Chúng tôi muốn mô hình đề xuất nhà tương tự của chúng tôi đến với Think think và so sánh các ngôi nhà theo quan điểm của người dùng.

Một cách khác để mô hình hóa các ngôi nhà tương tự là sử dụng dữ liệu tương tác với mục của người dùng (cộng tác trực tiếp), chẳng hạn như phản hồi ngầm của người dùng (ví dụ: nhấp và lưu) như trong trường hợp lọc cộng tác, phương pháp nhúng danh sách được Airbnb sử dụng [ 1] và phương pháp nhúng sản phẩm được phát triển bởi Yahoo [2]. Trực giác đằng sau là những ngôi nhà được nhấp bởi những người dùng tương tự là tương tự nhau. Tuy nhiên, các mô hình này không đơn giản để xử lý các danh sách mới, chiếm một phần đáng kể trong danh sách đang hoạt động trên Zvel. Từ giữa năm 2012 đến đầu năm 2018, số lượng niêm yết mới hàng tháng không hợp lệ, được làm mịn là gần 500K [3, 4]. Trong một thị trường nổi tiếng như Seattle, một ngôi nhà nóng có thể được bán ngoài thị trường trong một vài ngày. Do đó, việc giải quyết các vấn đề bắt đầu lạnh trong các đề xuất nhà tương tự là rất quan trọng đối với một thị trường liên quan đến nhà sôi động như Zvel.

Trong bài đăng trên blog này, chúng tôi giới thiệu một mô hình nhúng nhà bằng cách sử dụng một mạng lưới thần kinh sâu cho các khuyến nghị nhà tương tự. Mô hình của chúng tôi tận dụng cả thông tin hợp tác và nội dung. Cụ thể hơn, một chức năng ánh xạ dựa trên mạng thần kinh từ không gian nội dung đến không gian nhúng được học và việc học được giám sát bởi dữ liệu tương tác từ người dùng. Quan trọng hơn, mô hình của chúng tôi có thể xử lý vấn đề khởi động nguội một cách hiệu quả.

Phương pháp của chúng tôi

Trang chủ đại diện với nhúng Skip-Gram

Các mô hình mạng nơ-ron yêu cầu biểu diễn bằng số làm đầu vào của chúng. Do đó, chúng ta cần tìm các biểu diễn số cho tất cả các thuộc tính nhà phân loại. Các tính năng phân loại như mã zip có số lượng thẻ cao, do đó, mã hóa một lần nóng có thể dẫn đến tính chiều cao và sự dư thừa trong đại diện nhà và gây thêm chi phí tính toán trong quá trình đào tạo. Để giải quyết các vấn đề này, chúng tôi đã áp dụng mô hình bỏ qua [5] để tìm hiểu cách biểu diễn hiệu quả (nhúng) cho các tính năng phân loại này.

Mô hình Skip-gram đã được áp dụng thành công vào ngôn ngữ tự nhiên để học từ đại diện. Tổng quát hóa của nó cho bất kỳ dữ liệu tuần tự là trực quan. Chúng ta hãy lấy tính năng mã zip làm ví dụ như trong Hình 2. Tương tự như miền ngôn ngữ tự nhiên, chúng tôi xem xét một mã zip duy nhất là một từ trong một từ trong một cuốn từ điển, một người dùng đã đặt hàng các lần nhấp qua các mã zip khác nhau như một tên miền câu, và bộ sưu tập các chuỗi mã zip từ những người dùng khác nhau như là một văn bản xác thực. Mô hình Skip-gram được đào tạo sao cho việc biểu diễn mã zip hiện tại có thể dự đoán được các mã zip mà cùng một người dùng đã nhấp vào gần đó trong phiên, tức là, trong cửa sổ ngữ cảnh của Khăn, được hiển thị trong Hình 2.

Hình 2: Minh họa về việc áp dụng mô hình Skip-gram cho các chuỗi mã zip

Biểu diễn Skip-gram là hợp lý, bởi vì thước đo khoảng cách trên biểu diễn chiều thấp hơn này phản ánh khoảng cách giữa các giá trị phân loại khác nhau. Thực tế này được minh họa bằng các bản đồ nhiệt trong Hình 3, mô tả sự tương tự cosin giữa các vectơ nhúng của một số vùng mã zip trong khu vực Seattle với mã zip 98101 (bên trái) và 98116 (bên phải), tương ứng.

Hình 3: Sự tương đồng giữa mã zip Seattle và 98101 (khu vực trung tâm thành phố, được gắn sao ở bên trái) và giữa mã zip Seattle và 98116 (khu vực phía tây Seattle, được gắn sao ở bên phải) dựa trên các nhúng nhúng gram.

Theo cách tương tự, chúng tôi tìm hiểu các biểu diễn vectơ cho các tính năng phân loại khác bao gồm loại phân vùng, khu vực trường học, khu vực thành phố, loại nhà và các loại khác. Hình 4 cho thấy các trực quan hóa t-SNE 2-D cho các biểu diễn đã học của mã zip và loại phân vùng, tương ứng. t-SNE [6] là một kỹ thuật trực quan cho dữ liệu chiều cao, ánh xạ các điểm dữ liệu tương tự đến các vị trí gần nhau trong không gian 2D hoặc 3D. Ví dụ, mã zip 988 ** và 989 ** đều được ánh xạ tới góc trên bên trái của ô bên trái trong Hình 4 do độ tương tự cosine cao. Sau khi được đào tạo, các đại diện này có thể được lưu trữ trong một bảng tra cứu để tham khảo nhanh trong tương lai.

Hình 4: trực quan hóa t-SNE trong không gian 2D cho mã zip (trái) và các loại phân vùng (phải) ở tiểu bang Washington.

Hình 5: Biểu diễn nhà trong không gian vectơ nội dung

Các biểu diễn đã học cho các tính năng phân loại được nối với các tính năng số để tạo thành biểu diễn vectơ nội dung cuối cùng cho mỗi nhà như trong Hình 5. Biểu diễn này được sử dụng làm đầu vào của mô hình mạng nơ ron sâu. Đối với các thuộc tính số như giá và kích thước đã phân phối sai lệch, một số bước tiền xử lý, bao gồm chuyển đổi nhật ký và tỷ lệ tối thiểu (Hình 6), có thể cải thiện hiệu suất của mô hình mạng thần kinh. Hơn nữa, trong tương lai, chúng tôi có thể kết hợp các tính năng được trích xuất từ ​​nội dung phi cấu trúc, chẳng hạn như liệt kê hình ảnh và mô tả danh sách, như được chỉ ra trong Hình 5.

Hình 6: Ví dụ về tiền xử lý các tính năng số. Ở bên trái: biểu đồ giá trước khi tiền xử lý. Ở bên phải: biểu đồ giá sau khi cắt định lượng, chuyển đổi nhật ký và chia tỷ lệ tối đa

Mạng lưới Xiêm

Chúng tôi sử dụng kiến ​​trúc mạng Xiêm để tìm hiểu hàm ánh xạ từ không gian vectơ nội dung (Hình 5) đến không gian vectơ nhúng trong đó có thể tính trực tiếp độ tương tự cosin.

Hình 7: Kiến trúc của mạng Xiêm

Để xây dựng một mạng Xiêm, các biểu diễn tính năng của một cặp ngôi nhà, được biểu thị bằng ui và uj, được truyền qua các mạng con giống hệt nhau bao gồm một số lớp được kết nối đầy đủ. Mỗi mạng con ánh xạ ngôi nhà của nó vào một không gian nhúng chiều thấp (ví dụ: N = 25), như được mô tả trong Hình 7.

Trong không gian nhúng đầu ra mới, chúng tôi muốn sự khác biệt giữa hai ngôi nhà được đo bằng khoảng cách cosin của chúng:

Các tham số của mạng nơ ron được tối ưu hóa để trong không gian nhúng mới này, các ngôi nhà tương tự có khoảng cách cosin nhỏ hơn và nhà không giống nhau có khoảng cách lớn hơn. Việc giám sát để đào tạo các mạng như vậy xuất phát từ thông tin cộng tác hay nhấp chuột cộng tác có trong dữ liệu nhấp chuột của người dùng. Để xây dựng dữ liệu đào tạo, chúng tôi giả định rằng các cặp nhà được cùng một người dùng nhấp vào trong các phiên gần đó (<= 10 phút) trong cửa sổ ngữ cảnh nhất định (ví dụ: kích thước cửa sổ = 3) tương đối giống nhau hơn và được gắn nhãn là tích cực, trong khi những ngôi nhà không bao giờ được nhấp theo cách này bởi bất kỳ người dùng nào ít giống nhau và được dán nhãn là phủ định (như minh họa trong Hình 8).

Hình 8: Minh họa trích xuất các ngôi nhà tích cực và tiêu cực vào một ngôi nhà neo từ dữ liệu dòng nhấp chuột của người dùng (kích thước cửa sổ bối cảnh = 3, ràng buộc phiên gần đó: <= 10 phút)

Chức năng mất

Hai chức năng mất sau đây thường được xem xét khi đào tạo một mạng lưới Xiêm.

Mất tương phản trực tiếp tối ưu hóa giá trị tuyệt đối của khoảng cách cosin giữa một cặp nhà, để khoảng cách cosin được giảm thiểu cho các cặp dương, nhưng tối đa hóa cho các cặp âm.

Ở đâu

Đặt C đại diện cho tổng số nhà. Theo định nghĩa tích cực và tiêu cực ở trên, đối với mỗi ngôi nhà i, Ci biểu thị tập hợp các ngôi nhà tích cực được tổng hợp từ các dòng nhấp chuột của tất cả người dùng. Yij là nhãn được gán cho cặp nhà (i, j), dương nếu j ∈ Ci và âm khác. Dij là sự tương đồng cosin giữa nhà i và nhà j trong không gian nhúng mới. Biên độ dương m (trong khoảng từ 0 đến 2) cho phép đào tạo tập trung vào các trường hợp thử thách (phủ định cứng).

Mất ba lần xem xét một bộ ba nhà (i, jp, jn) trong đó jp ∈ Ci, jn Ci. Thay vì tối ưu hóa cho khoảng cách tuyệt đối, tổn thất bộ ba tối đa hóa sự khác biệt về khoảng cách giữa một cặp âm (i, jn) và một cặp dương (i, jp). Ý tưởng tối ưu hóa mức độ liên quan tương đối giống với chức năng mục tiêu Xếp hạng cá nhân hóa (BPR) của Bayesian [7] đã cho thấy hiệu quả trong việc mô hình hóa phản hồi ngầm. Lề m ở đây có tác động tương tự như trong mất tương phản.

Khi đào tạo với cả hai chức năng mất, đối với mỗi cặp dương mà chúng tôi quan sát được, 5 cặp âm được lấy mẫu.

Khuyến nghị tương tự tại nhà với các mặt hàng bắt đầu lạnh

Sau khi ánh xạ tất cả các ngôi nhà vào không gian nhúng, khuyến nghị nhà tương tự được giảm xuống một tìm kiếm hàng xóm gần nhất đơn giản dựa trên khoảng cách cosin trong không gian nhúng. Mô hình của chúng tôi có thể dễ dàng bao gồm bất kỳ danh sách mới trong các khuyến nghị. Bất cứ khi nào một ngôi nhà mới được liệt kê, chúng ta có thể tra cứu các đại diện được tính toán trước cho tất cả các thuộc tính phân loại để tạo ra đại diện số cho danh sách mới. Tiếp theo, mạng nơ ron được đào tạo trước ánh xạ biểu diễn số trong không gian nội dung đến không gian nhúng nhà, nơi có thể tính được độ tương tự cosin. Sơ đồ trong Hình 9 tóm tắt các bước để xử lý các danh sách mới.

Hình 9: Quy trình làm việc cho các đề xuất nhà tương tự với danh sách mới

Đánh giá

Các thuật toán đề xuất nhà tương tự cung cấp năng lượng cho băng chuyền nhà tương tự trên mỗi trang chi tiết nhà Zvel. Một người giới thiệu nhà tương tự hiệu quả nên thúc đẩy sự tham gia của người dùng bằng cách cung cấp hướng dẫn hữu ích để khám phá thị trường nhà ở. Xem xét một ngôi nhà được người dùng xem trong phiên đầu tiên, chúng tôi muốn người giới thiệu xếp hạng những ngôi nhà mà người dùng muốn khám phá trong các phiên sau nổi bật hơn trong tập hợp các ngôi nhà tương tự được đề xuất. Do đó, chúng tôi đã thiết kế một số liệu liên quan dựa trên nhấp chuột để đánh giá ngoại tuyến. Vào ngày thử nghiệm, bằng cách tập trung vào ngôi nhà được xem đầu tiên của họ, chúng tôi kiểm tra cách nhấp chuột trong tương lai của mỗi người dùng được xếp hạng trong danh sách các ngôi nhà tương tự được đề xuất. NDCG trung bình tại các vị trí xếp hạng khác nhau cung cấp số liệu đánh giá ngoại tuyến để so sánh các phương pháp khác nhau.

Chúng tôi đã so sánh phương pháp nhúng được đề xuất với 3 phương pháp khác mà chúng tôi đã phát triển tại Zvel:

  1. Mô hình cơ sở: độ tương tự cosine đơn giản được tính trực tiếp từ các biểu diễn tại nhà trong không gian vectơ nội dung được hiển thị trong Hình 5 (không được giám sát).
  2. Mô hình tuyến tính: đo khoảng cách giữa hai ngôi nhà như một sự kết hợp có trọng số của sự khác biệt về thuộc tính. Các trọng số được học từ dữ liệu đồng nhấp (được giám sát).
  3. Random Forest: một phiên bản phi tuyến tính của phương pháp 2 được đào tạo trên cùng một tập hợp các tính năng khác biệt thuộc tính khôn ngoan (được giám sát).

Chúng tôi đã đánh giá các mô hình khác nhau dựa trên dữ liệu sự kiện của người dùng ở trạng thái WA. Tất cả các mô hình được giám sát đã được đào tạo về các sự kiện người dùng một tuần trước ngày thử nghiệm. Trong biểu đồ bên trái trong Hình 9, các số liệu NDCG được biểu diễn dưới dạng tỷ lệ với NDCG @ 1 của phương thức cơ sở. Biểu đồ bên phải so sánh thang máy NDCG của các phương pháp được giám sát khác nhau so với phương pháp cơ sở (độ tương tự cosine đơn giản).

Kết quả của chúng tôi cho thấy rằng sự giám sát từ dữ liệu đồng nhấp chuột của người dùng đã dẫn đến sự gia tăng đáng kể về số liệu NDCG so với phương pháp cơ bản. Lý do chính là người dùng mẫu nhấp chuột cung cấp các tín hiệu quan trọng như thuộc tính nào là quan trọng và cách chúng tương tác với nhau. Trong số tất cả các phương pháp được giám sát, phương pháp nhúng Xiêm được đề xuất vượt trội hơn cả mô hình tuyến tính và mô hình RF. Ngoài ra, mất bộ ba cho thấy một lợi thế nhỏ so với mất tương phản trong việc đào tạo mạng lưới Xiêm cho ứng dụng của chúng tôi. Mô hình tốt nhất, mô hình nhúng Xiêm được đào tạo với tổn thất bộ ba, đã đạt được mức tăng đáng kể 21% trên NDCG @ 10 so với phương pháp cơ bản.

Hình 9: So sánh các phương pháp đề xuất nhà tương tự khác nhau trên các số liệu NDCG (trái) và nâng NDCG so với phương pháp cơ sở (phải).

Là các nhúng có ý nghĩa?

Để trả lời câu hỏi này, chúng tôi hình dung các nhúng nhúng 25 chiều cho các ngôi nhà ở tiểu bang Washington trong không gian 2D với t-SNE. Trong mỗi ô t-SNE trong Hình 10, mỗi dấu chấm đại diện cho một ngôi nhà và sự gần gũi giữa mỗi cặp dấu chấm phản ánh sự tương đồng cosin giữa hai ngôi nhà trong không gian nhúng nhà. Chúng tôi tô màu các chấm theo tỷ lệ (log) của một trong những tính năng chính của ngôi nhà trong mỗi ô. Cấu trúc trong các cụm màu càng lớn, tầm quan trọng của tính năng cụ thể trong không gian nhúng càng lớn. Ý tưởng ở đây khá giống với bài đăng trên blog trước đây của chúng tôi, nơi Bản đồ tự tổ chức đã được sử dụng để trực quan hóa các yếu tố lọc cộng tác. Trong Hình 10, các thuộc tính được hiển thị theo thứ tự quan trọng, dựa trên tín hiệu trong cấu trúc. Từ các trực quan nhúng, chúng tôi quan sát vị trí (kinh độ và vĩ độ) dường như là yếu tố quan trọng nhất trong các nhúng, tiếp theo là giá nhà và kích thước nhà. Tuy nhiên, chúng ta nên lưu ý rằng một số tính năng cũng có thể quan trọng do các tương tác phức tạp với các tính năng khác, có thể không được quan sát trực tiếp thông qua các hình ảnh dưới đây.

Hình 10: Trực quan hóa t-SNE 2D cho các nhúng nhúng liệt kê ở tiểu bang Washington, được tô màu bởi tỷ lệ của một số thuộc tính nhà được chọn. Lưu ý rằng giá, kích thước (sqft) và ngày trên Zvel nằm trên thang đo log tự nhiên.

Phần kết luận

Trong bài đăng trên blog này, chúng tôi giới thiệu một phương pháp nhúng liệt kê dựa trên học tập sâu bằng cách sử dụng mạng Xiêm cho các đề xuất nhà tương tự tại Zvel. Mô hình nhúng của chúng tôi sử dụng cả thông tin hợp tác và thông tin nội dung, mô hình các tương tác phức tạp giữa các thuộc tính và xử lý hiệu quả các mục bắt đầu lạnh. Đánh giá ngoại tuyến đã chứng minh hiệu suất mạnh mẽ của phương pháp nhúng của chúng tôi trong việc hiển thị các ngôi nhà có liên quan đến người dùng thông qua các đề xuất nhà tương tự. Dựa trên các kết quả ngoại tuyến, chúng tôi hiện đang nghiên cứu sử dụng mô hình mạng Xiêm để cung cấp năng lượng cho thế hệ tiếp theo của công cụ đề xuất nhà tương tự tại Zvel.

Rất cám ơn toàn bộ đội ngũ cá nhân hóa tại Z.60 đã hỗ trợ cho dự án này. Đặc biệt cảm ơn Eric Ringger, Ondrej Linda và Egor Klevak vì những gợi ý và phản hồi cho bài đăng trên blog này.

Nếu bạn thấy công việc này thú vị và nếu bạn muốn áp dụng khoa học dữ liệu và kỹ năng học máy của mình vào bộ dữ liệu bất động sản quy mô lớn, phong phú và liên tục phát triển của chúng tôi, vui lòng liên hệ. Chúng tôi đang thuê!

Tài liệu tham khảo

[1] Grbovic, Mihajlo, et al. Danh sách nhúng nhúng trong bảng xếp hạng tìm kiếm. Ngày 13 tháng 3 năm 2018, Airbnb Engineering & Data Science @Medium.

[2] Grbovic, Mihajlo, et al. Thương mại điện tử trong hộp thư đến của bạn: Đề xuất sản phẩm ở quy mô. Kỷ yếu của Hội nghị quốc tế ACM SIGKDD lần thứ 21 về Khám phá tri thức và khai thác dữ liệu. ACM, 2015.

[3] Gudell, Gudell. Kho hàng tồn kho đã giảm, nhưng các danh sách không phải là, Báo cáo thị trường tháng 6 năm 2017, Tập đoàn Zvel, Ngày xuất bản: 20 tháng 7 năm 2017, https: //www.zvel.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric, et al. Tìm kiếm ngôi nhà của bạn: Khuyến nghị quy mô lớn trên thị trường sôi động.

[5] Mikolov, Tomas, et al. Đại diện phân phối của các từ và cụm từ và thành phần của chúng. Những tiến bộ trong hệ thống xử lý thông tin thần kinh. 2013.

[6] Maaten, Laurens van der và Geoffrey Hinton. Trực quan hóa dữ liệu bằng cách sử dụng t-SNE. Tạp chí nghiên cứu về máy học 9.Nov (2008): 2579 trừ2605.

[7] Rendle, Steffen, et al. Cấm BPR: Xếp hạng cá nhân hóa Bayes từ phản hồi ngầm. Kỷ yếu của Hội nghị lần thứ 25 về Sự không chắc chắn trong Trí tuệ nhân tạo. Báo chí AUAI, 2009.

Được xuất bản lần đầu tại www.zvel.com vào ngày 17 tháng 10 năm 2018.