Some language services, including Natural Language Processing (NLP) tools, treat singular and plural forms as different words, hence the different results.
To get around this issue, you could preprocess your queries to reduce all words to their base or root form, a process known as "lemmatization".
In Python, you can use libraries like NLTK (Natural Language Toolkit) or Spacy for lemmatization.
from nltk.stem import WordNetLemmatizer
from nltk.tokenize import word_tokenize
lemmatizer = WordNetLemmatizer()
def lemmatize_query(query):
word_list = word_tokenize(query)
lemmatized_output = ' '.join([lemmatizer.lemmatize(w) for w in word_list])
return lemmatized_output
query = "determining budgetary units"
lemmatized_query = lemmatize_query(query)
# now use lemmatized_query with your language service