Problem of Advance Personalization based on Search Query & Meta Factors
The World of Search is becoming more complex & complex.
Every day, billions of searches are performed with millions of meaning hidden in it. Not all searches mean the same on context. Every one has there own set of preferences and context personalized meaning.
We at Origgon are trying to add a better rank order to those queries.
Lets consider a Search query to find valuable meaning out:
‘my computer is not starting’.
Its very simple to process and bring valuable results to this query via a simple NLP and model approach.
A simple inverted index search can be done finding this words individually and gradually finding the most possible outcomes and there position, and then the site’s rank.
To be more specific on the query for ranking we can easily do some of the following matching:
Finding alternative meaning out of it:
computer, machine, system , desktop, laptop , device, etc….
Then trying to use better Logic like:
My Computer can be Windows 10 (From User Agent or available data from User or Past Search)
So the query can be like:
Windows 10 is not working
my machine is not starting
my desktop is not starting
my laptop is not starting
my system is not starting
Well and more can be added to this to find a better and good quality set of results.
But well, the problem becomes more complex on context non-sensitive queries, like:
‘what is a ip?’
Is it the IP — Internet Address, or Intellectual Property
‘who is the president?’
Now, what does that mean :
Who is the president of what? is it my country or a company or a simple meaning of who is president as a job post.
Tough going right ?
Well to add more to the query bucket:
‘Movies of us’ (is it US the country or Universal Studios or Us)
Tough Problem to solve,
Let me add one more type of query
‘my computer is slowing down’
okay how about personalizing a experience of ranking a little bit.
Let say the users past searches were:
Free Antivirus Softwares
Download XYZ Antivirus
And then my computer is slowing down
Can we find context in this words, Like Softwares, Antivirus can have relation to Computer.
Putting this in graph for a relation order ranking, Can we say that my computer is slowing down because of XYZ Antivirus or After installing XYZ Antivirus my computer is slowing down.
Interesting right ?
Need to have a long database of relations, word meanings, synonyms & antonymous, abbreviations and lots of data indexed about the user.
But the challenge is you don’t want to throw irrelevant results to the user right?
‘good movie to watch’
This query can have numerous classification like:
Personalized from the last searches :
This above queries determine that the user likes horror films as genre, so good films to watch can be good horror movies to watch.
But also the user might be little open minded, lol. Like good movies to watch near me or good movies to watch (country or language specific).
The problem goes more complex and complex as user digs deep with queries and the set of possibilities becomes big & big.
One more example,
Consider someone searching for:
- best laptops to buy
There can be multiple form of ranking personalisation like :
He let say previously searched for GTA 5, Far Cry 4 download then this information states that this are windows and high end games or his user agent shows that he is a iPhone user, thus we can show high end laptops based on the game searches or mac for the iPhone user.
But this are just ways of models of ranking, there is lot to add up.
Well, we have a better solution to approach this type of query problem.
I will write the solution with better algorithmic answers.
CTO & Founder of Origgon
India’s own and world’s first social search engine.