1. 程式人生 > >Scaling Knowledge Access and Retrieval at Airbnb

Scaling Knowledge Access and Retrieval at Airbnb

Location Data in the Knowledge Graph

Before the summer, the main use of the knowledge graph was enabling searching our taxonomy for experiences associated with those tags.

searching for “Hiking” a tag in our taxonomy

My main project for the summer was introducing the concept of locations. Why locations? Two main reasons:

Easily traverse Airbnb inventory by location

This goes back to what we discussed above with the graph structure enabling easy traversal along relationships. Because of this, it intuitively makes sense for locations to be represented in the graph because they geographical entities are hierarchical by nature (think country → city → neighborhood → restaurant, etc.).

Inferring attributes about locations for personalization

One of the ways we can improve the discovery experience for travelers coming to Airbnb is by personalizing the content we show by location. You might imagine that different types of food/activities are emphasized when you search for Tokyo and when you search for New York. Maybe a section for the best sushi places in Tokyo appears near the top while New York features a section on Broadway experiences. This type of personalization can be achieved when we link experiences to tags and concepts (like “Theatre” to “New York” and “Sushi” to “Tokyo”).

Structure of geo-hierarchy nodes/edges

visualization of what the hierarchy for location relationships looks like

As seen in the image above, we can now really easily represent the geographical relationships between things on Airbnb. In any given market, there are several neighborhoods which each contain tons of inventory items from Airbnb (Experiences, Homes, Places, and Restaurants).

Neighborhoods, Markets, and other location nodes have different types in the knowledge graph because different location types may require different types of information and encoding the hierarchy explicitly makes it easy to find the appropriate level of granularity desired. In addition, there is a single edge type, contains_location, to represent geographical hierarchies in order to make it simple to traverse from a high-level geographical node to the leaf inventory entities.

As a first proof-of-concept for the data, I launched an experiment with a Neighborhood section in our post home-booking emails to surface a description and experiences for the neighborhood that the guest is staying in, providing more local context for guests. You can imagine in the future having search result groupings for neighborhoods by what they’re known for (Neighborhoods great for Nightlife, Food, etc.) and personalizing what kinds of inventory we show cross-verticals (Experiences for activities that people do a lot in that location and Restaurants for specialty cuisines in that region).

neighborhood section in email

Final Thoughts

The knowledge graph is the start of a foundation that empowers Airbnb to transform trip planning to be more intuitive and personalized than before. By providing the infrastructure and interface to accessing clean, structured data about the world around us, the knowledge graph can empower the Airbnb community to discover things they would have never gotten exposure to before. Imagine being able to see the information that you might need without having to explicitly type it into the search bar. Airbnb can provide the inspiration for the trip and then inform people about how to make the most of their trip in a particular destination. At every step of the trip planning and decision process, we can provide additional context and content that is personalized to each individual to make it easier than ever to go from that dream trip in your head to soaking in a new environment and meeting the amazing locals.

Acknowledgements

Thanks to my manager, Elizabeth Ford, the team on Knowledge Graph that helped with the post: Xiaoya Wei, Lei Shi, Manuel Ebert, and everyone else on Inform and Trip Platform who helped me out along the way, including Yizheng Liao and Chris Zhu for giving me more insight into data science/inference work at Airbnb and Xiaoyou Wang and Lumen Bigott for helping me launch the neighborhood email experiment! I had an awesome time this summer and really enjoyed getting to have ownership over something that will hopefully help the Airbnb community for years to come :) Shout out to all the amazing interns and people I met who made the summer so fun and rewarding! I’ll miss the ping pong table and the ramen bar :’(

Feel free to reach out if you have any questions about my experience at Airbnb or anything else!!

Check out more of our cool work over at airbnb.io and follow us on Twitter: @AirbnbEng