Học cách xếp hạng đa dạng
bởi Malay Haldar , Liwei He & Moose Abdool
Airbnb kết nối hàng triệu khách và Chủ nhà mỗi ngày. Hầu hết các kết nối này được tạo ra thông qua tìm kiếm, kết quả của chúng được xác định bởi thuật toán xếp hạng dựa trên mạng thần kinh. Mặc dù mạng nơ-ron này rất thành thạo trong việc chọn các nhà/phòng cho thuê riêng lẻ cho khách, nhưng gần đây, chúng tôi đã cải thiện mạng nơ-ron này để chọn tốt hơn toàn bộ tập hợp các nhà/phòng cho thuê tạo nên kết quả tìm kiếm. Trong bài đăng này, chúng tôi sẽ đi sâu hơn vào bước đột phá gần đây giúp nâng cao tính đa dạng của danh sách trong kết quả tìm kiếm.
Xếp hạng hoạt động như thế nào?
Mạng thần kinh xếp hạng tìm các danh sách tốt nhất để hiển thị cho một truy vấn nhất định bằng cách so sánh hai danh sách cùng một lúc và dự đoán danh sách nào có xác suất được đặt trước cao hơn. Để tạo ước tính xác suất này, mạng nơ-ron đặt các trọng số khác nhau cho các thuộc tính danh sách khác nhau như giá cả, vị trí và đánh giá. Các trọng số này sau đó được tinh chỉnh bằng cách so sánh danh sách đã đặt với danh sách chưa đặt trước từ nhật ký tìm kiếm, với mục tiêu gán xác suất cao hơn cho danh sách đã đặt trước so với danh sách chưa đặt trước.
Mạng thần kinh xếp hạng học được gì trong quá trình này? Ví dụ, một khái niệm mà mạng thần kinh chọn là giá thấp hơn được ưu tiên. Điều này được minh họa trong hình bên dưới, biểu thị mức tăng giá trên trục x và tác động tương ứng của nó đối với điểm số mô hình chuẩn hóa trên trục y. Giá tăng làm cho điểm số của mô hình giảm xuống, điều này có ý nghĩa trực quan vì phần lớn các đặt phòng tại Airbnb nghiêng về phạm vi kinh tế.
Nhưng giá cả không phải là tính năng duy nhất mà mô hình học các khái niệm như vậy. Các tính năng khác như khoảng cách của danh sách so với vị trí truy vấn, số lượng đánh giá, số lượng phòng ngủ và chất lượng ảnh đều có thể thể hiện các xu hướng như vậy. Phần lớn sự phức tạp của mạng thần kinh nằm ở việc cân bằng tất cả các yếu tố khác nhau này, điều chỉnh chúng sao cho phù hợp nhất có thể với tất cả các thành phố và tất cả các mùa.
Một kích thước có thể phù hợp với tất cả?
Cách mạng thần kinh xếp hạng được xây dựng, ước tính xác suất đặt phòng của nó cho một nhà/phòng cho thuê được xác định bởi số lượng khách trước đây đã đặt nhà/phòng cho thuê với các kết hợp tương tự về giá, vị trí, đánh giá, v.v. Khái niệm về xác suất đặt phòng cao hơn về cơ bản có nghĩa là gì phần lớn khách đã ưa thích trong quá khứ. Chẳng hạn, có một mối tương quan chặt chẽ giữa xác suất đặt phòng cao và giá niêm yết thấp. Xác suất đặt phòng được điều chỉnh theo vị trí, số lượng khách và thời lượng chuyến đi, trong số các yếu tố khác. Tuy nhiên, trong bối cảnh đó, thuật toán xếp hạng sẽ tăng thứ hạng cho các nhà/phòng cho thuê mà phần lớn khách hàng sẽ ưa thích hơn. Logic này được lặp lại cho từng vị trí trong kết quả tìm kiếm, vì vậy toàn bộ kết quả tìm kiếm được xây dựng để ưu tiên sở thích của đa số khách.Nguyên tắc đa số trong xếp hạng — xu hướng áp đảo của thuật toán xếp hạng là tuân theo đa số ở mọi vị trí.
Nhưng sở thích của đa số không phải là cách tốt nhất để thể hiện sở thích của toàn bộ khách. Tiếp tục thảo luận về giá niêm yết, chúng tôi xem xét phân bổ giá đã đặt cho một điểm đến phổ biến — Rome — và đặc biệt tập trung vào hai chuyến đi đêm cho hai khách. Điều này cho phép chúng tôi tập trung vào các biến thể giá chỉ do chất lượng niêm yết và loại bỏ hầu hết các biến động khác. Hình bên dưới vẽ sơ đồ phân phối.
Trục x tương ứng với các giá trị đặt trước bằng USD, thang logarit. Trục y bên trái là số lượng đặt trước tương ứng với từng mức giá trên trục x. Hình dạng màu cam xác nhận phân phối chuẩn logarit của giá trị đăng ký. Đường màu đỏ biểu thị tỷ lệ phần trăm tổng giá trị đặt phòng ở Rome có giá trị đặt phòng nhỏ hơn hoặc bằng điểm tương ứng trên trục x và đường màu xanh lá cây biểu thị tỷ lệ phần trăm tổng giá trị đặt phòng ở Rome có trong các lượt đặt phòng đó. Việc chia tổng giá trị đặt trước theo tỷ lệ 50/50 sẽ chia các lượt đặt trước thành hai nhóm không bằng nhau ~80/20. Nói cách khác, 20% đặt phòng chiếm 50% giá trị đặt phòng. Đối với thiểu số 20% này, rẻ hơn không nhất thiết phải tốt hơn và sở thích của họ nghiêng về chất lượng hơn. Điều này thể hiện nguyên tắc Pareto , một quan điểm thô thiển về sự không đồng nhất trong sở thích của khách.
Trong khi nguyên tắc Pareto gợi ý nhu cầu đáp ứng phạm vi sở thích rộng hơn, thì nguyên tắc Đa số tóm tắt những gì xảy ra trong thực tế. Khi nói đến xếp hạng tìm kiếm, nguyên tắc Đa số mâu thuẫn với nguyên tắc Pareto.
Đa dạng hóa bằng cách giảm sự tương đồng
Thay vào đó, việc thiếu sự đa dạng của các danh sách trong kết quả tìm kiếm có thể được xem là các danh sách quá giống nhau. Do đó, việc giảm tính tương tự giữa các danh sách có thể xóa một số danh sách khỏi kết quả tìm kiếm vốn là những lựa chọn dư thừa để bắt đầu. Chẳng hạn, thay vì dành mọi vị trí trong kết quả tìm kiếm cho danh sách tiết kiệm, chúng ta có thể sử dụng một số vị trí cho danh sách chất lượng. Thách thức ở đây là làm thế nào để định lượng sự tương đồng giữa các danh sách này và làm thế nào để cân bằng nó với xác suất đặt trước cơ sở được ước tính bởi mạng thần kinh xếp hạng.
Để giải quyết vấn đề này, chúng tôi xây dựng một mạng nơ-ron khác, đồng hành với mạng nơ-ron xếp hạng. Nhiệm vụ của mạng thần kinh đồng hành này là ước tính mức độ giống nhau của danh sách đã cho với danh sách đã đặt trước đó trong kết quả tìm kiếm.
Để đào tạo mạng thần kinh tương tự, chúng tôi xây dựng dữ liệu đào tạo từ các kết quả tìm kiếm đã ghi. Tất cả các kết quả tìm kiếm mà danh sách đã đặt trước xuất hiện dưới dạng kết quả hàng đầu đều bị loại bỏ. Đối với các kết quả tìm kiếm còn lại, chúng tôi dành riêng kết quả hàng đầu dưới dạng danh sách đặc biệt, được gọi là danh sách tiền đề. Sử dụng các danh sách từ vị trí thứ hai trở đi, chúng tôi tạo các cặp danh sách đã đặt trước và chưa đặt trước. Điều này được tóm tắt trong hình dưới đây.
Sau đó, chúng tôi huấn luyện mạng thần kinh xếp hạng để chỉ định xác suất đặt phòng cao hơn cho danh sách đã đặt trước so với danh sách chưa được đặt trước, nhưng với một sửa đổi - chúng tôi trừ đi đầu ra của mạng thần kinh tương tự cung cấp ước tính tương tự giữa danh sách đã cho so với danh sách đã cho. danh sách tiền thân. Lý do ở đây là những khách đã bỏ qua danh sách trước đây và sau đó tiếp tục đặt danh sách từ các kết quả bên dưới chắc hẳn đã chọn thứ gì đó không giống với danh sách trước đây. Nếu không, họ đã đặt trước danh sách trước đó.
Sau khi được đào tạo, chúng tôi sẵn sàng sử dụng mạng tương tự để xếp hạng danh sách trực tuyến. Trong quá trình xếp hạng, chúng tôi bắt đầu bằng cách lấp đầy kết quả cao nhất bằng danh sách có xác suất đặt phòng cao nhất. Đối với các vị trí tiếp theo, chúng tôi chọn danh sách có xác suất đặt phòng cao nhất trong số các danh sách còn lại, sau khi giảm bớt sự tương đồng của nó với các danh sách đã được đặt ở trên. Kết quả tìm kiếm được xây dựng lặp đi lặp lại, với mỗi vị trí cố gắng đa dạng hóa từ tất cả các vị trí phía trên nó. Các danh sách quá giống với những danh sách đã được đặt sẽ bị xếp hạng thấp hơn như minh họa bên dưới.
Thực hiện theo chiến lược này đã dẫn đến một trong những thay đổi có ảnh hưởng nhất đối với xếp hạng trong thời gian gần đây. Chúng tôi đã quan sát thấy mức tăng 0,29% trong các đặt phòng không bị hủy, cùng với mức tăng 0,8% trong giá trị đặt phòng. Mức tăng về giá trị đặt phòng lớn hơn nhiều so với mức tăng về số lượng đặt phòng vì mức tăng chủ yếu là do các nhà/phòng cho thuê chất lượng cao có tương quan với giá trị cao hơn. Tăng giá trị đặt trước cung cấp cho chúng tôi một đại diện đáng tin cậy để đo lường mức tăng về chất lượng, mặc dù tăng giá trị đặt trước không phải là mục tiêu. Chúng tôi cũng quan sát thấy một số bằng chứng trực tiếp về việc tăng chất lượng đặt phòng — xếp hạng 5 sao tăng 0,4%, cho thấy mức độ hài lòng của khách cao hơn đối với toàn bộ chuyến đi.
Đọc thêm
Chúng tôi đã thảo luận về việc giảm sự tương đồng giữa các danh sách để cải thiện tiện ích tổng thể của kết quả tìm kiếm và phục vụ cho các sở thích đa dạng của khách. Mặc dù trực quan, nhưng để đưa ý tưởng vào thực tế, chúng tôi cần có nền tảng vững chắc về máy học, điều này được mô tả trong tài liệu kỹ thuật của chúng tôi . Tiếp theo, chúng tôi sẽ xem xét sâu hơn về sự đa dạng về vị trí của các kết quả. Chúng tôi hoan nghênh tất cả các nhận xét và đề xuất cho bài báo kỹ thuật và bài đăng trên blog.
Bạn muốn làm việc tại Airbnb? Kiểm tra các vai trò mở này .

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































