Excerpt of article written by Emil Eifrem, published on Computer Business Review, Creating The Most Sophisticated Recommendations Using Native Graphs
eBay’s Chief Product Officer says he turned to graph software because existing product searches and recommendation engines were unable to provide or infer contextual information within a shopping request. Consider the information implied within the phrase, ‘My wife and I are going camping in the Lake District next week, we need a tent.’ Most search engines would just react to the word ‘tent’ – so all that additional context regarding location, temperature, tent size, scenery, etc. is typically lost, though specific information is actually what informs many buying decisions.
Relaying or maintaining this contextual envelope is often a burden left to the user, who has to then to manually sift through search results. Not only does that make shopping a little more of a chore than it needs to be, it means that the user is never presented with options they won’t have consciously chosen: there’s no room for nuance or serendipity – and indeed an opportunity for more sales.
By contrast, eBay’s real-time recommendation engine both understands and learns from the contextual language supplied by the shopper and quickly zeroes in on specific product recommendations. To accomplish this requires a combination of NL (Natural Language) processing, some Machine Learning, predictive modelling – but underscored by a back end graph database.
Why graph software?
That’s a structure, says eBay and other recommendations engine builders, that offers distributed, online real-time storage while scaling to contain their entire product catalogue to store, remember and learn from past interactions with shoppers. It’s also the basis of the system building up its internal profile of the customer and working with that profile as the main way of generating its hyper-personal and relevant suggestions. What’s more, that context is stored, so that chatbot will recall this information for future interactions.
It’s also exemplary real-time decision making. eBay engineers knew that a chatbot required Internet scale, resiliency and availability so as to deliver usable responses in milliseconds. This led them to use a purpose-built native graph database as it offered exceptional write and read performance. Even with millions of nodes, the application is highly responsive to user requests.
Could eBay have done this using a standard relational database? The traditional way of storing data doesn’t give you much in terms of context and connections. SQL queries are also complicated, and often can’t deliver the information in real time – and for useful recommendations, real-time contextual information has to be accessible.
That’s why relational isn’t the best way to build these hugely sophisticated recommendations engines. The same caveat also applies to Big Data databases, which stumble at managing connections, while these are what graph technology is built to manage.
In sum, to exploit applied AI to deliver the next-generation sophisticated recommendations the market wants – recommendations that will help you up-sell and delight your customers – native graph is the most practical way of getting there.