Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 630L Paper Presentation Presenter: Le Jianwei

Similar presentations


Presentation on theme: "COMP 630L Paper Presentation Presenter: Le Jianwei"— Presentation transcript:

1 COMP 630L Paper Presentation Presenter: Le Jianwei jianwei@cse.ust.hk

2 Presentation Paper Personalizing XML Search in PIMENTO Amer-Yahia, S. Fundulaki, I. Lakshmanan, L.V.S. ICDE 2007 IEEE 23rd International Conference on Data Engineering Istanbul, Turkey, April 2007

3 Outlines Authors & Background Authors & Background Main Contribution Main Contribution The need of Personalizing The need of Personalizing Novelty of this paper Novelty of this paper Class of Queries and User Profile Scoping Rules (SRs) Ordering Rules (ORs) Detect and resolve conflicting SRs. Detect and resolve conflicting SRs. Detect and resolve ambiguous ORs. Detect and resolve ambiguous ORs. Experiments Experiments

4 Authors & Background Sihem Amer-Yahia Yahoo! Research. USA Irini Fundulaki University of Edinburgh. UK University of Edinburgh. UK Laks V.S. Lakshmanan UBC. Canada. PIMENTO project : A project that aims at improving the relevance of searching structured and unstructured contents.

5 Main Contribution 1 Formalizing user profiles in terms of scoping rules (SRs) and ordering rules (ORs) and defining query personalization as the process of rewriting a user query using SRs and ranking query answers using ORs. 2 Describing an methods to detect and resolve conflicting SRs and ambiguous ORs.

6 The need of Personalizing None of the existing XML search leverages user information to determine relevant query answers. None of the existing XML search leverages user information to determine relevant query answers. Example 1: a painter who searches for “Black paint” would receive the same results as a home builder. Example 1: a painter who searches for “Black paint” would receive the same results as a home builder. Example 2: a user looking for a used car would receive the same listing regardless from his car preferences (color, make, mileage). Example 2: a user looking for a used car would receive the same listing regardless from his car preferences (color, make, mileage).

7 Novelty of this paper This work is the first attempt to apply query personalization to XML search. This work is the first attempt to apply query personalization to XML search. In this paper, we take the first necessary steps to achieve this goal by modeling user profiles and enforcing them efficiently and effectively in XML search. In this paper, we take the first necessary steps to achieve this goal by modeling user profiles and enforcing them efficiently and effectively in XML search.

8 Query personalization basics In web search, the ranking of query answers may be modified based on the user’s navigational behavior during a session. In web search, the ranking of query answers may be modified based on the user’s navigational behavior during a session. Query personalization through user profiles has different aspects that restrict or expand its applicability. Query personalization through user profiles has different aspects that restrict or expand its applicability. Enforcing a user profile ranges from simply modifying the original ranking of query answers, to returning a substantially different set of answers. Enforcing a user profile ranges from simply modifying the original ranking of query answers, to returning a substantially different set of answers.

9 Example: cars for sale Information on each car may include the manufacturing date, owner information, price, horsepower, make, and color (structured content). Information on each car may include the manufacturing date, owner information, price, horsepower, make, and color (structured content).

10 Example: cars for sale A user interested in buying a car which is: A user interested in buying a car which is: 1. In a good condition 2. Low mileage 3. Costs less than $2000 he can formulate the XQuery Full-text query: Q: //car[./description[ftcontairns(., "good condition") & ftcontains(., "low mileage")] &./price < 2000]

11 Example: cars for sale The answer to this query may be ranked by their relevance to "good condition" and to "low mileage". The answer to this query may be ranked by their relevance to "good condition" and to "low mileage". However, there are extra conditions: However, there are extra conditions: Example 1: A user located in New York has a preference for red cars, no matter the underlying query engine use what scoring function, it’s natural to expect that the user should receive red cars in New York ranked higher than other cars. Example 1: A user located in New York has a preference for red cars, no matter the underlying query engine use what scoring function, it’s natural to expect that the user should receive red cars in New York ranked higher than other cars. Example 2: A user wants to buy a car which is located in a different state provided it has a higher horsepower than cars in New York. Example 2: A user wants to buy a car which is located in a different state provided it has a higher horsepower than cars in New York.

12 Example 1: Example 2: Both the 2 users love red cars. I am in NY ! I am in NY too, but I love Powerful Cars ! Search result 1 : 1 Red cars in New York 2 Red cars outside New York …… Search result 2 : 1 Red cars outside New York, but with larger horsepower ! 2 Red cars in New York ……

13 Conclusion 1. The process of query personalization may either expand or restrict the original set of query answers 2. Some ranking preferences may be enforced when returning query results.

14 Our Idea In our formalization, a user profile is composed of 2 kinds of preference rules: In our formalization, a user profile is composed of 2 kinds of preference rules: 1. Scoping rules (SRs): used to expand or restrict the original result. expand : e.g., I am willing to drop the low mileage requirement. restrict : e.g., I only want to see cars for sale located in my area. 2. Ordering rules (ORs): used to enforce ranking preferences. enforce : e.g., I prefer red cars or cars with higher horsepower.

15 Class of Queries and User Profile The XQuery Full-Text family of languages augment keyword search with two components: The XQuery Full-Text family of languages augment keyword search with two components: (i) full-text predicates such as proximity and order between keywords (i) full-text predicates such as proximity and order between keywords (ii) path conditions which narrow the search scope. (ii) path conditions which narrow the search scope.

16 Modeling a user profile We model a user profile using two orthogonal and complementary components. We model a user profile using two orthogonal and complementary components. First, we use Scoping Rules (SR) to let the user change the scope of her query by broadening/narrowing the search by relaxing / tightening query predicates. First, we use Scoping Rules (SR) to let the user change the scope of her query by broadening/narrowing the search by relaxing / tightening query predicates. Second, we use Ordering Rules (OR) to specify how to rank answers obtained from the system. Second, we use Ordering Rules (OR) to specify how to rank answers obtained from the system.

17 This paper defines query personalization as the process of rewriting a user query using SRs and ranking query answers using ORs.

18 Scoping Rules There are two kinds of SRs (see Fig. 2). There are two kinds of SRs (see Fig. 2). 1. Narrowing the search is accomplished by add rules which restrict the user query by adding predicates. 2. Broadening the search is accomplished by either delete rules which remove existing query predicates or by replace rules which replace exist ing query predicates by weaker ones.

19 Scoping Rules An add/delete rule is of the form: if (condition) then (action, conclusion) where: (i) condition is either a conjunction of structural and constraint predicates, or the value true. (ii) action is one of add and delete. (iii) conclusion is a conjunction of structural and constraint predicates. if a user query Q subsumes the condition of a rule, then apply the conclusion of that rule to the query as specified by action.

20 Scoping Rules A replace rule is of the form: if (condition) then replace E with E‘ where: (i) condition is either a conjunction of structural and constraint predicates, or the value true; (ii) E and E‘ are conjunctions of predicates. if a user query Q subsumes the condition of the rule, then replace E, if present in the query, with E'.

21 Example: SR if (condition) then (action, conclusion)

22 Ordering Rules: VOR ORs are of two kinds: A value-based OR (VOR) specifies that a user might prefer those answers satisfying a specific property to other answers, where the property is the value of an attribute/element. A value-based OR (VOR) specifies that a user might prefer those answers satisfying a specific property to other answers, where the property is the value of an attribute/element. Where: Where: 1. C is a conjunction of conditions on x and y that equate their common properties (we call C the common conditions), and c is a constant. 2. relOp is one of the relops { } 3. prefRel is a binary relation on the domain of x.attr (y.attr) which is a strict partial order.

23 Example For example: : common condition C on x and y is that x and y are both cars with the same make. relOp is one of the relops { } (e.g., x.mileage < y.mileage)

24 Ordering Rules: KOR The general form of keyword-based ORs (KOR) is where C are the common conditions as before. It says between answers x and y, x is preferred to y provided it contains an occurrence of the keyword k.

25 Example says that among all cars, the user prefers those that contain an occurrence of "best bid“ says that among all cars, the user prefers those that contain an occurrence of "NYC".

26 Answer Ranking Each query answer acquires a score based on its query match. It also gets a KOR score based on any KORs in the user profile. Each query answer acquires a score based on its query match. It also gets a KOR score based on any KORs in the user profile. The VORs in the user profile may impose an ordering on the query answers independently of the above two. The VORs in the user profile may impose an ordering on the query answers independently of the above two. Question: How are we then to order answers? Question: How are we then to order answers? We consider two possibilities. We consider two possibilities. 1. The order K, V, S indicates that we order answers by their KOR scores first and then based on the VOR preferences. When two answers tie on their KOR score and their VOR properties, we order them by query score. 1. The order K, V, S indicates that we order answers by their KOR scores first and then based on the VOR preferences. When two answers tie on their KOR score and their VOR properties, we order them by query score. 2. The other order we consider is V, K, S. 2. The other order we consider is V, K, S.

27 Problems Studied Our goal is to assist the user in enhancing her query answering experience in searching XML documents. We have proposed two complementary components for configuring an effective user profile: (i) the scoping rules (SRs) (ii) the value-based and keyword-based ordering rules (ORs). However, there are problems with this method:

28 Two Problems of this method 1. Given a set of SRs and a query Q, the intended effect of SRs is that rules in should be used to rewrite Q before it is evaluated. If there are few or no answers satisfying the rewritten query using SRs, we should still consider answers satisfying the original query. Thus, query answering w.r.t. a set of SRs really entails evaluating a flock of related queries. If there are few or no answers satisfying the rewritten query using SRs, we should still consider answers satisfying the original query. Thus, query answering w.r.t. a set of SRs really entails evaluating a flock of related queries. Problem: how to pin down (Rank) this query flock exactly? 2. the value-based ORs may sometimes result in ambiguity. Problem: How to reduce ambiguity ? E.g. There is a pair of answers x, y such that x is preferable to y according to some ORs and y is preferable to x according to some others.

29 Scoping Rules and Query Flocks 1. The main issue that arises in rewriting a query w.r.t. a set of SRs is that one rule's application may render another rule inapplicable. We say that a rule p is applicable to a query Q if the condition in p is subsumed by Q. We say that a rule p is applicable to a query Q if the condition in p is subsumed by Q. E.g. Different order of applying SRs to a query can result in different rewritten queries. E.g. Different order of applying SRs to a query can result in different rewritten queries. 2.A second issue that can arise is that a rule may "conflict" with another. For an SR p and a query Q, we denote by p(Q) the result of applying p to Q. Given a set of SRs and a query Q, we say a rule p1 conflicts with p2 w.r.t. Q provided: (i) both pI, p2 are applicable to Q, (ii) p2 is not applicable to p1(Q).

30 Example: Conflict SRs Both p1 and p2 are applicable to the query as it subsumes their conditions. P1 conflicts with P2 since P2 is not applicable to the result of applying p1 to the query.

31 Detect and resolve conflicting SRs. Conflict among SRs can be captured using a directed graph where each node is an SR. There is an arc (pi, pj) iff pi conflicts with pj. If this conflict graph is acyclic, then we can topologically sort the nodes and apply the SRs to a query in the topological sort order.

32 Detect and resolve conflicting SRs. However, there may be cycles in the conflict graph. p1 and p3 conflict with each other. To mitigate this problem, we require the user to assign priorities to rules. Given that different order of rule application may result in different rewritten queries, it's important for the user to have a say in which order is used.

33 Detect and resolve conflicting SRs. Rule priorities resolve the problem of conflict cycles by forcing a specific order of rule application. We assume either the set of SRs is conflict-free or that there is a user assigned priority forcing a specific order of rule application. Given a query Q and a set of SRs, possibly together with rule priorities, the query flock associated with Q and consists of the family of queries: Q,pI(Q),p2(pI(Q)),...P.P..,(Pn-I( (pI(Q)), where we assume that the order of rule application imposed by the priorities is P1,..., Pn. The idea is that all the queries in the query flock must be evaluated and answers ranked according to the ORs.

34 Detect and resolve ambiguous ORs. Consider the value-based ORs in the figure expressing preferences among cars. The rules appear quite reasonable. However, consider a pair of cars c, d such that c has color red, but a higher mileage than d. Then according to, while according to.

35 Detect and resolve ambiguous ORs. Thus, there are database instances where the intended preference among elements is not clear. We consider such ORs "ambiguous". It is important to detect whether a set of value- based ORs is ambiguous and if so have the user assign priorities to ORs to make them unambiguous.

36 Detect and resolve ambiguous ORs We discuss an method for dealing with ambiguity Denote a value-based OR as where local (x) denotes constraints involving only variable x (x.tag = car, x.color = red). comp(x, y) denotes constraints involving both x and y (e.g., x.mileage < y.mileage).

37 Detect and resolve ambiguous ORs Define a constraint graph G( ) for a set of value-based ORs as follows: 1. Its nodes are the variables occurring in the rules. 2. Whenever x y appears on the right-hand-side of a rule, G has an arc (X, y) labeled 3. Whenever x, y are variables appearing in different rules and are compatible, G has an undirected edge {x, y} labeled =. By an alternating cycle, we mean a cycle of the form (vI,… vk, vI), k > 2, k is an even number, such that: (1) (1) the edges (vi, vi+1) are directed arcs labeled for odd i (2) (2) the edges {vi, vi+1} are undirected edges labeled = for even i, (3) (3) the edge (vk, vI) is undirected and is labeled = Then we have the following result.

38 Detect and resolve ambiguous ORs Lemma (Ambiguity): Let be a set of value-based ORs and G( ) be the associated constraint graph. Then is ambiguous iff G contains an alternating cycle. So, Using a straightforward adaptation of depth-first search, we can readily detect ambiguity in time O(#edges). Suppose a set of value-based ORs defined by a user is ambiguous. Then by assigning a priority to the rules, alternating cycles can be broken. (Example of Animation)

39 Experiments PIMENTO as a collection of Java classes. We performed experiments on: 1.6GHz Pentium 4 PC 512MB RAM Fedora Core 3 We used the INEX document collection for an empirical evaluation, of our approach, and the XMark data to show performance results.

40 Performance results The experiment shows that PushtopKPrune Query time with an increasing document size and an increasing number of KORs (1 to 4). In particular, the difference in query response time between 1MB document and a 5.7MB document is sub- linear. The experiment shows that PushtopKPrune Query time with an increasing document size and an increasing number of KORs (1 to 4). In particular, the difference in query response time between 1MB document and a 5.7MB document is sub- linear.

41 Summary We presented a novel approach to XML search that leverages user information to return more relevant query answers. This approach is based on a formalization of user profiles in terms of scoping rules which are used to rewrite an input query, and of ordering rules which are combined with query scoring to customize the rank of query answer to specifics users.

42 Thank you ! Le Jianwei VisGraph Lab jianwei@cse.ust.hk


Download ppt "COMP 630L Paper Presentation Presenter: Le Jianwei"

Similar presentations


Ads by Google