AI-driven search optimization for maximized customer experience
Case descriptionUZA was looking to maximize the potential of its digital platforms. Enhancing the on-site search functionality turned out to be a main priority. Previous research had shown that certain keywords often failed to return relevant results to site visitors, resulting in an additional workload for call centre employees.
A great on-site search experience can mean the difference between meeting a visitor’s expectations and losing one. When it’s broken, an internal search might cough up an old dusty document and disregard something more recent; or it might give a seeker something broadly popular to most browsers, but not the niche topic they need.
An in-depth technical audit resulted in the migration of UZA’s existing corporate website and subsites to Dropsolid’s servers for hosting and maintenance.
Next, our technical teams started fine-tuning the internal search engine as their main priority.
- We applied current best practices to the Solr Search engine.
- We improved search relevance with Boosting in Apache Solr.
When that didn’t fix things (more details in technical challenges), we turned to machine learning in Drupal search.
- We trained our Dropsolid Search Machine Learning model, using a list of 150 keywords and their expected search results provided by the client.
- We uploaded the result to Apache Solr.
- We used this model during our queries to re-rank the last 100 results based on the trained model.
This approach delivered on the expectations and increased search result accuracy to over 90%.
However, we didn’t stop there. Synonyms and related words are being added to make the model even smarter. Spelling suggestions help the visitor with typo’s in the search terms to retrieve the expected results.
Case goals and resultsThe goal for the initial project was to enhance the search results returned by the onsite search engine in order to optimize the visitor experience.
The search result accuracy increased from 55 to 91% in only 2 weeks’ time. This resulted in a drastic decrease of incoming support calls.
ChallengesThe site was built with Drupal 7 and relied on Search API and Search API Solr for content indexing and content display. After applying the Apache Solr best-practices and Boosting, we discovered this wasn’t returning the expected results.
One of the tricks with boosting is that tweaking the boosting settings in one term is going to impact the results for another. In this case, the client was going back and forth for small changes in boosting overtime, without knowing the effect. Every change developers make to search boosting settings requires a full check on all the other search terms. It’s a constant battle - and it’s a frustrating one. We discovered that even resolving these issues with boosting didn’t fix the problem. The top results in key searches were not the documents they wanted customers to find. In some instances the desired results wouldn’t even be in the top 50.
Machine-learned ranking (MLR) turned out to be the solution. We used an in-house application that allows human raters to indicate which search results are ‘not relevant’ to ‘highly relevant’. This defined a baseline for the tests that followed. Based on that, the ranking model was trained and applied to re-rank the first 100 results according to the model.
Community contributionsDropsolid heavily invests in community contributions. This can be proven by the tracking that we’ve put with https://drupalcontributions.org and can be read at https://dropsolid.com/en/blog/contributing-open-source-whats-your-math.
For this project and others we continuously review how Drupal sites should be built and how we can leverage the best contributed modules out there.
This project taught us a lot about how we could leverage this new technology and we’re very keen to share this with the world. Nick Veenhof has given presentations about this exact topic and case at
Drupal Dev Days Romania:
Next to that we worked hard to make this functionality also possible in Drupal 8 as the original case was a Drupal 7 site. This new module is contributed to the Drupal community and includes a whole training flow, learning flow and upload plugins to Apache Solr. It is ready for use by other companies.
Drupal Search API Learn to rank (https://www.drupal.org/project/search_api_ltr)
Why should this case win the splash awards?This case demonstrates how machine learning can be leveraged to solve a very common yet frustrating customer experience killer namely the relevancy of internal site search.
It answered the business needs of this client, but more importantly we have contributed it back to the Drupal community for others to benefit from. It’s a nice example of how to leverage technological innovations to optimize customer experience.