Intellum's Smart Search is built to surface meaningful content for your learners instead of simply pointing them to a specific activity in your catalog.
Smart Search pulls results for learners from your content table (aka the database where your activity content is stored) using a combination of Elasticsearch and Machine Learning algorithms.
This article gives an overview of how Smart Search surfaces and ranks results for learners in the Intellum platform.
Understanding Search Results
Intellum's Smart Search does much more than match a user's query to relevant keywords from your activities. Smart Search actively gathers information from the activity content itself to help ensure users find exactly what they need (aka exactly what you need them to find).
- Processes videos for transcription and object detection
- Processes images for OCR text and object detection
- Scrapes the context of links/linked resources
- Uses keyword extraction for files and documents
Search results are always filtered by any restrictions you’ve set on the content itself, and ranked based on criteria outlined below.
Here's what Smart Search does when a user hits enter on a search query:
Stopwords are words determined to not impact the query, such as “the”, “like”, “and” and more. We use a standard list of stopwords to distill the search query to its essential terms. This feature is multilingual and handled by user's locale.
Example: ‘moon phases’ should have the same results as ‘phases of the moon'
Stem the Query
Stemming a query takes the essential terms from the query and removes all inflections from those terms, taking the term back to its essence to boost recall in results.
Example: "satellites" is stemmed to "satellit" to boost results.
Lemmatize the Query
Lemmatization is the act of returning a word to its root form, but with more care than stemming. Smart Search uses WordNet to remove plurals, verb tenses, and feminine/masculine terminations to obtain the base form of words.
Example: ‘moon mapping’ should have the same results as 'moon map’
Index Topic Names
Checks to see if search terms match any Topic names, in full or in part.
Example: Searching ‘Satellite Troubleshooting’ should boost courses from the Satellite topic
Recognize Synonyms and Misspellings
Smart Search accounts for synonyms and misspellings of query text. Synonyms are English-only and powered by WordNet. Results from misspelled terms only show if there are fewer than 10 results, with a maximum threshold of 3 letters in the misspelled term.
Example: Searching "Sattelite" or "Satelite" instead of "Satellite" should yield the same results.
As text in the search field matches results in the content table, it's ranked on a points value system, in this order:
- Name/Title: Priority is given to exact full phrase and word-start (including synonyms) full phrase matches
- Text Content: Including description, summary, topic names, and keywords
- Truncated Text Content: Results based on partial phrase matches and matches based on stopword-free, lemmatized, and synonym-related terms.
- Singular word hits rank lower than full phrase hits
- Synonyms rank lower than real written hits
- Partial matches rank lower than full matches
Other impacts on result rankings:
- Results included in Topics followed by the user are boosted
- Results assigned to a user's locale (if other than English) are boosted
- Each result listing highlights matched search terms in context
- The activities within paths can be included in search results if the path is accessible to the user
- Enabling Deep Search in a path's properties will hide the nested activity results for that path