views:

84

answers:

3

I want to build a suggestion list where that when I enter "PHP" it knows to suggest "Web Development," and if I enter "Data Recovery" "or "Software Installations," it suggests "Information Technology."

I'm sure I can work out a database schema for this, but where would I get the data from? How would the system learn to, as in the example, link "PHP" to "Web Development" and "Data Recovery" to "Information Technology?" I DON'T want to do this manually.

Could I somehow leverage community input? I gather that with last.fm, the site looks at a given artist the user has listened to (eg. the one they listen to the most), finds the most common other artist users have in their libraries when they have the given artist also in their library, and suggests to me that highest-associated artist.

A: 

A relational database would provide you with the basics of what you're looking for, as far as storing the information. As for determining the relationships themselves, I would suggest some variety of tracking and learning algorithm that would help to populate the database. I'd track the number of hits to a particular relationship as well in order to provide relevance to a relationship.

MasterMax1313
+1  A: 

Keyword linking.

When you search for some terms, take note of the selected result and add any additional keywords to the suggestion. (Or at least take note of them and increase their relevance to those terms.)

Spencer Ruport
A: 

i think, you can use cooccurrences to generate suggestet information. To retrive the information, you can use some Ideas from DBpedia or Faviki....

cupakob