1 / 11

Personalizing XML Text Search in Piment

This demonstration showcases PimenT, a system that enables query personalization by rewriting queries and ranking answers based on user profiles. PimenT combines structure and keyword searches in XML full-text languages, allowing users to customize queries to their preferences.

corai
Download Presentation

Personalizing XML Text Search in Piment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Personalizing XML Text Search inPiment Sihem Amer-Yahia AT&T Labs Research - USA Irini Fundulaki Bell Labs - USA Prateek Jain IIT-Kanpur - India Laks Lakshmanan University of British Columbia - Canada VLDB 2005 demonstration

  2. Motivation • XML Full-Text languages combine queries on structure and keywords such as Boolean, proximity distance, stemming, thesaurus, case sensitivity, … • Key challenge in XML Full-Text search: match users‘ expectations and determine the most relevant query answers. • Query personalization as a way to take user profiles into account to customize queries. • PimenT enables query personalization by query rewriting and answer ranking as opposed to user-defined scoring functions.

  3. System Architecture • A profile in the User profile Repository is a set of user profile rules. • User Profile Rules are of the form <condition, action, conclusion> where condition and conclusion are XQuery Full-Text expressions and action is one of {add, remove, replace} • Through the User Profile Provisioning Interface the usersmanage profiles (e.g., create new rules, delete or modify existing rules). • The Query Customizerretrieves relevant profile rules from the user profile repository and rewrites the initial user query into a customized query. • The customized query sent to GalaTex and answers returned ranked. User Query Query Customizer Customized Query User Profile Repository User Profile Provisioning Interface Ranking Module PimenT Engine Ranked Answers

  4. User Profile Rules • Add/Replace/Remove conditions on keywords If (//book[abstract ftcontains ’Query Evaluation’])add //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] If (//book[abstract ftcontains ’Query Evaluation’ case insensitive]) replace //book[abstract ftcontains ’Query Evaluation’ with stemming uppercase] If (//book[abstract ftcontains ’Query Evaluation’ with stemming uppercase]) remove //book[abstract ftcontains ’Query Evaluation’ uppercase] • Add/Replace/Remove structure If (//book[abstract ftcontains ’Query Evaluation’])add //book[abstract ftcontains ’Query Evaluation’]/title If (//book[abstract ftcontains ’Query Evaluation’]/title)replace //book[abstract ftcontains ’Query Evaluation’]/author • Drop FT Expressions If (//book[abstract ftcontains ’Query Evaluation’]/title)remove (//book[abstract ftcontains ’Query Evaluation’])

  5. Query Customization Example • User Query: //book[abstract ftcontains ‘Query Evaluation’] • User Profile Rules • If(//book[abstract ftcontains ’Query Evaluation’] )add • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with stemming] • //book[abstract ftcontains ’Query Evaluation’ && ‘XML’ distance at most 5 words] • Customized Query

  6. Query Customization Example • User Query: //book[abstract ftcontains ‘Query Evaluation’] • User Profile Rules • If(//book[abstract ftcontains ’Query Evaluation’] )add • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with stemming] • //book[abstract ftcontains ’Query Evaluation’ && ‘XML’ distance at most 5 words] • Customized Query • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive]

  7. Query Customization Example • User Query: //book[abstract ftcontains ‘Query Evaluation’] • User Profile Rules • If(//book[abstract ftcontains ’Query Evaluation’] )add • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with stemming] • //book[abstract ftcontains ’Query Evaluation’ && ‘XML’ distance at most 5 words] • Customized Query • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive with stemming]

  8. Query Customization Example • User Query: //book[abstract ftcontains ‘Query Evaluation’] • User Profile Rules • If(//book[abstract ftcontains ’Query Evaluation’] )add • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with stemming] • //book[abstract ftcontains ’Query Evaluation’ && ‘XML’ distance at most 5 words] • Customized Query • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive] • //book[abstract ftcontains ’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive with stemming] • //book[abstract ftcontains (’Query Evaluation’ with thesaurus ‘WordNet’ case insensitive with stemming) && (‘XML’) distance at most 5 words]

  9. Query Customization Example • Scored User Query: //book[abstract ftcontains ‘Query Evaluation’] • User Profile Rules • If(//book[abstract ftcontains ’Query Evaluation’] )add //book[abstract ftcontains ’Query Evaluation’ && ’XML’ ] • Scored Customized Query //book[abstract ftcontains ’Query Evaluation’ && ‘XML’] changes result ranking and not set of results.

  10. Profile Enforcement Strategies • Strategy «Apply add, replace, remove» Find all relevant rules for the user query and then apply all add, replace and remove rules in that order • Strategy «Apply rules in definition order» Find all relevant rules for the user query and then apply rules in the order in which they are defined • Strategy «Customize(Find Relevant(Customize(..)))» Choose one relevant rule and customize the query and repeat this process until no customization is possible

  11. Open Issues • Formally define what user's expectation means (definition of a user model etc.) • Interaction with the user to decide that a specific choice of profile rules and enforcement policies are relevant to the user and derive new user profiles. • Which rule application strategy for which application?

More Related