| By Charlie Close, Gale Data Scientist |
Our digital products are designed to help our users, who are mostly students performing research, find the information they’re looking for. The main way our products do this is to let the user enter a search and then return a list of articles that match the search term. In other words, the product tries to answer the question the user asked.
At Gale, we’re starting to look at ways that we can do even better than just answering the question the user asked. We want to suggest what the user could ask next.
We already know what it’s like to have Netflix recommend the next movie to watch, or Goodreads to recommend the next book to read. It’s possible to bring the same idea to student research.
Let’s look at an example.
To begin with, note that we have a history of searches that other users have performed and the articles they retrieved based on those searches. This history is stored in a database.
Suppose a user searches for “hero’s journey”, a concept which relates to storytelling, mythology, and psychology.
The green dot, or node, below represents a search on “hero’s journey”. It was looked up from the database of search history. Many people over many visits to our products have made this search.
Below, here is the node again, but now with some of the articles that were retrieved by users based on the search. Each blue node is an article, and the arrows between the search and the articles indicate the search-and-retrieve relationship between them. Multiple lines indicate retrieval from multiple products. Each article may have been retrieved many times over many different visits.
The titles of the articles shown here are:
The hero’s journey
The hero’s journey [a different article with the same name]
Joseph Campbell’s Myth and/Versus Religion
On being an academic maverick, or Joseph Campbell’s guide to the universe
Innocence as a super-power: little girls on the Hero’s Journey
The Hero’s Journey: Joseph Campbell on His Life and Work
The database stores how many times an article has been retrieved for a given search, so it’s possible to recommend articles based on the search history of earlier users, offering the most popular articles for the search.
However, in this post, we won’t dwell on recommending articles. Rather, let’s go a step further to see how to recommend searches.
Just as a search can lead to the retrieval of many articles, so too an article can be retrieved by many searches. For example, the search for “hero’s journey” retrieved an article titled “On being an academic maverick”. The search for “joseph campbell” also retrieved the same article. Therefore we can say that the search “hero’s journey” and the search “joseph campbell” are related because they have the article “On being an academic maverick” in common.
Two searches can be related by more than one article. The more articles two searches have in common, the stronger the relationship between the searches is.
When we expand this idea to more articles and searches related to “hero’s journey”, we get a picture like this.
The above picture shows only some of the articles and searches related to “hero’s journey”. We can expand even further to include all such articles and searches, and sort the list to put the most strongly related searches are on top. The first sixteen searches are the following.
a hero’s journey
hero’s journey joseph campbell
hero with a thousand faces
joseph campbell hero’s journey
We can recommend these searches to the user so that he or she can explore in different directions and end up in new and interesting places.