MOnsDaR
MOnsDaR

Reputation: 8654

Find relevant words according to a given subject

Is there an algorithm, webservice or technique which is able to search through a list of words, returning these that fit a given subject?

Practical example:
There is a Software which allows me to create a task and select an icon for it. There are hundreds of icons, >95% of them do not fit the given task.

My idea now is to tag these icons:
An icon with a letter would get the tags mail, communication, message, ...

The user then adds a task which is called Write email. The algorithm searches the icons and their tags and returns a list of presumably fitting icons (Perhaps the 20 most fitting icons). The user then can select from this list.

I think this could be useful in different areas. In a time where google is able to predict what the user wants to search for it must be possible in any way.

Upvotes: 1

Views: 113

Answers (1)

Arun Manivannan
Arun Manivannan

Reputation: 4313

Probably not the greatest solution but giving it a shot.

If the terms in the input which would match against the icon is limited, consider a inverted index of terms against the icon label.

Say,

mail -> mailicon
email -> mailicon

On the similar line, hold a dictionary of a single term against icon label.

mail -> mailicon
message -> chaticon
communication ->lanicon

And when the terms "Write an email" comes from the user, you could explode the term as synonyms using something like a SynExpand and look up the entire map for possible icons.

Say, email gets exploded into mail, message, communication etc. and you would get the suggestions as three icons.

I am sure you should be able to play with the synonym values based on your need.

Also refer to Full Text Search

Upvotes: 1

Related Questions