2. A computer implemented method as in claim 1 wherein identifying which keywords commonly occur together in the same user profiles further includes computing the frequency with which a keyword appears in conjunction with another keyword in at least a portion of the plurality of web-based user profiles.
1. A computer implemented method of recommending products and services comprising the digital processing steps of: processing a plurality of web-based user profiles generated by users to extract keywords; identifying which keywords commonly occur together in at least a portion of the plurality of web-based user profiles including: weighing the importance of an identified keyword to a subject user profile, where weighing the importance of an identified keyword to a subject user profile further includes increasing the importance proportionally to the number of times the identified keyword appears in the subject user profile offset by the frequency the identified keyword appears in the corpus of user profiles; and determining a percentage of co-occurrence for the identified keyword using a correlation index; and expanding keywords associated with a query with additional keywords, where the additional keywords are determined using one or more of the identified co-occurring keywords that commonly occur together in at least a portion of the plurality of web-based user profiles.