Implementer training - synonyms

A synonym by definition is any word that has the same or nearly the same meaning as another in the same language (e.g. lawyer, attorney, solicitor). When compiled together in a database or system of these terms, the result is a thesaurus.

Funnelback supports user-defined synonyms that are configured in a similar manner to best bets.

Funnelback uses the defined synonyms to expand or modify the user’s query terms behind the scenes. This allows an administrator to use synonyms for additional query modification beyond the thesaurus-like definition of a synonym.

Synonyms in Funnelback can be used to:

  • expand a term into a set of equivalent terms. E.g. when somebody includes the word lawyer somewhere in a query also search for attorney or solicitor.

  • expand acronyms. E.g. if query includes the term moj also search for ministry of justice

  • map user language to internal language, or non-technical language to the equivalent technical terms. Users often don’t know the exact technical words to use and this can prevent them from finding what they are looking for. E.g. map bird flu to H1N1.

  • auto-correct known misspellings. E.g. if a query includes the word qinwa automatically replace this with quinoa. Funnelback does include a spelling suggestion system, but synonyms can enhance the user experience by fixing a misspelling without a user needing to click on an extra did you mean link.

  • Use with care. This mechanism is silent, the user may receive little or no notification that their query has been modified, which could be very confusing if used inappropriately.

  • The use of synonyms can be switched off by using the synonyms=off CGI parameter when making a request to search, or by setting -synonyms=off as a query processor option.

  • The content of the synonyms.cfg file must be in UTF-8 encoding. Use of accented letters, Greek, Cyrillic, Chinese etc. in other character sets will either cause missed matches or garbled queries.

Complete the following exercise if you’re completing the SEARCH 101 training course:

Tutorial: Synonyms

  1. Log in to the insights dashboard and select the foodista results page. Open the synonyms editor by selecting synonyms from the left hand menu or by clicking on the synonyms tile.

  2. The synonyms listing screen loads and is very similar to the screen used for listing best bets. Create a new synonym by clicking the add new button.

    exercise synonyms md 01
  3. The synonyms editor screen appears allowing the quick entry of multiple synonyms. Create synonyms rules to equate the words coriander, cilantro and chinese parsley. This requires the creation of three rules that expand each of the words into a search for any of the three words. Add a rule with the following:

    • When these keywords are submitted: coriander

    • Transform them to: [coriander cilantro "chinese parsley"]

    • Apply the transformation if: all words must be present in the search keyword(s), in any order

      exercise synonyms md 02
  4. The first column contains the trigger term (coriander) and is compared with the search query entered by the user. If a match is found (as per the match type in the third column) then the term is transformed to the value in the second column. The square brackets indicate that the terms should be ORed together, and the quotes indicate that the words contained within should be treated as a phrase (so count as a single word).

    With this in mind the synonym translates as:

    If the word coriander appears anywhere within the user’s query then search for coriander OR cilantro OR "chinese parsley".

    So a search for coriander soup would result in a search for (coriander OR cilantro OR "chinese parsley") soup.

    Click the add button to add all the synonyms that have been entered on the new synonyms screen.

  5. The synonyms listing screen loads showing the defined synonyms:

    exercise synonyms md 03
  6. Test the synonym by searching for coriander from the search box at the top of the insights dashboard screen, ensuring the preview option is selected from the drop down menu. Observe that the search results include items for cilantro, and that cilantro is also highlighted in the search results.

    exercise synonyms md 04
  7. Create additional synonyms for cilantro and chinese parsley so that searches for any of these terms result in expansion to all three words. Enter both synonyms then click the add button. Don’t forget to set the match type. When entering the chinese parsley trigger enclose this in quotes to ensure that the match is treated as a phrase and only occurs when the word chinese is immediately followed by parsley.

    exercise synonyms md 05
  8. The synonyms listing updates to list all three synonyms.

    exercise synonyms md 06
  9. Publish all the synonyms by clicking the publish all button.

Complete the following exercise if you’re completing the SEARCH 201 training course:

Tutorial: Synonyms

This exercise shows how you can use synonyms to alter the words entered by a user when they run a search.

  1. Log in to the administration interface and select the inventors reults page. Open the synonyms editor by selecting customise synonyms from the customise tab, or switching to the insights dashboard and selecting synonyms from the left hand menu or by clicking on the synonyms tile.

  2. The synonyms listing screen loads and is very similar to the screen used for listing best bets. Create a new synonym by clicking the add new button.

    exercise synonyms 01
  3. The synonyms editor screen appears allowing the quick entry of multiple synonyms. Create synonyms rules to equate the words nappy and diaper. This requires the creation of three rules that expand each of the words into a search for any of the two words. Add a rule with the following:

    • When these keywords are submitted: nappy

    • Transform them to: [nappy diaper]

    • Apply the transformation if: all words must be present in the search keyword(s), in any order

    exercise synonyms 02

    The first column contains the trigger term (nappy) and is compared with the search query entered by the user. If a match is found (as per the match type in the third column) then the term is transformed to the value in the second column. The square brackets indicate that the terms should be ORed together.

    With this in mind the synonym translates as:

    If the word nappy appears anywhere within the user’s query then search for nappy OR diaper.

    To ensure the words are equated add a second synonym that provides the same expansion, but when diaper is the trigger word.

  4. Add another synonym with the following details:

    • When these keywords are submitted: "white out"

    • Transform them to: ["liquid paper" "white out"]

    • Apply the transformation if: the search keyword(s) exactly matches

    The quotes tell Funnelback to treat the phrase as a single word for the purposes of the expansion.

    With this in mind the synonym translates as:

    If the query matches the phrase white out exactly then search for "liquid paper" OR "white out"

  5. Press the add button. The synonyms screen loads showing the defined synonyms:

    exercise synonyms 03
  6. Test the synonym by searching for nappy from the search box at the top of the insights dashboard screen, ensuring the preview option is selected from the drop-down menu. Observe that the search results include items for diaper. If the word nappy appeared anywhere in the search results then it would be highlighted along with the word diaper.

  7. Publish all the synonyms by clicking the publish all button.

Extended exercises: synonyms

  1. Create a synonym to auto-correct the spelling for barby. Add a rule with the following:

    • When these keywords are submitted: barby

    • Transform them to: barbie

    • Apply the transformation if: all words must be present in the search keyword(s), in any order

  2. Rewrite the white out synonym rule to perform the same synonym expansion rule using a regular expression. You will need to delete the existing rule added in the previous exercise before testing. Hint: the regular expression to use is (?i)\bwhite out\b|\bliquid paper\b.