=Paper= {{Paper |id=Vol-1440/paper2 |storemode=property |title=Interactive Search with Contextual Navigation Recommendations |pdfUrl=https://ceur-ws.org/Vol-1440/Paper2.pdf |volume=Vol-1440 |dblpUrl=https://dblp.org/rec/conf/ijcai/KonikMM15 }} ==Interactive Search with Contextual Navigation Recommendations== https://ceur-ws.org/Vol-1440/Paper2.pdf
              Interactive Search with Contextual Navigation Recommendations

            Tolga Könik                               Yoni Medoff                         Rajyashree Mukherjee
              eBay Inc.                                 eBay Inc.                                eBay Inc.
         San Jose, CA 95125                        San Jose, CA 95125                       San Jose, CA 95125
          tkonik@ebay.com                          ymedoff@ebay.com                       rmukherjee @ebay.com


                         Abstract                                contain products with high seller supply and buyer demand.
                                                                 This also helps the user avoid (or backtrack from) low result
    We present an interactive search assistance agent
                                                                 scenarios.
    that integrates search and recommendation-based
                                                                 Our design observes several principles:
    experiences into a novel unified presentation. The           • Interactive: Shopping/search should be a conversational
    agent guides the user toward more desirable inven-
                                                                      interaction between the user and shopping assistant.
    tory, while also satisfying the constraints that the
                                                                 • Mixed-initiative [3]: System and user take the initiative in
    user constructs with the help of the agent. We built              turns and the UI provides a mechanism for the two
    a prototype which supports this mechanism by
                                                                      agents to share information and align their goals.
    connecting to the search functionality on eBay. We
                                                                 • Incremental: The UI enables the user to make incremental
    have also created the popularity knowledge-base of                changes (refinement, pivoting, and generalization) to
    the agent by aggregating data from billions of user
                                                                      the query, and receive immediate feedback on how
    transactions. The accompanying video1 demon-
                                                                      those changes affect the results. This helps the user
    strates the resulting prototype in this context.                  build a mental model of the inventory while navigating
                                                                      through each part of the process.
1   Introduction                                                 • Shared narrow focus: The UI enables the user to focus on
Many popular applications that provide services like shop-            a narrow context at a time (e.g. changing part of the
ping, search, media, and social networking, rely on infor-            query), while the system keeps track of that focus and
mation retrieval (IR) technologies that can be broadly cate-          provide contextual recommendations at every step.
gorized into two groups: Query-based systems that primari-          Researchers often discuss personalization of search and
ly aim to satisfy user input (i.e. keyword search, filtering,    recommendations in two distinct contexts: customization
and browsing) [1] and Recommender systems [2] that take          with respect to long term user models, and adaptation to
an active role in recommending content without the need for      short-term user actions. The mechanisms that we propose
direct user input. The lines between these two IR systems        here belong to the latter category. However, we believe that
can blur; a keyword search system might customize its re-        this system would benefit from long-term user models as
sults based on recent user behavior and a recommendation         well, and so we pose that potential integration as an open
system could narrow its results to be consistent with recent     question for future work.
search queries. However, these components typically func-           We implemented a prototype of Focus and demonstrate
tion independently, and user interfaces emphasize certain        its feasibility in the e-commerce domain. The system pow-
functionality based on the expected utility for the user.        ers its recommendations with data aggregated from billions
   Here, we present Focus, and interactive assistant for a       of transactions on eBay. Next, we go through a motivating
shopping website, which blurs the lines between user query-      example, followed by an overview of the runtime architec-
based search and system-initiated recommendations. Our           ture and offline processes that build the system’s
proposal involves an intelligent system that unifies keyword     knowledge-base.
search, category browsing, attribute filtering, query comple-
tion, related query recommendation, and popularity-based         2     User-Interface Interaction
recommendations.
                                                                 The paper is accompanied by a video demonstrating the
   Focus behaves similar to a search engine in that it returns
                                                                 user-interface interaction1. In preparing a demo system we
results satisfying user queries and selected filters, while      were forced to make certain UI design choices, but the
simultaneously acting like a recommendation engine in in-
                                                                 claims and architectural commitments we make in this paper
troducing popular inventory. It can assist users by suggest-
                                                                 are more abstract in nature and they should not be evaluated
ing refinements for narrowing a query and proposing chang-       limited to this particular interface.
es to particular parts of a query in order to move the search
towards alternative directions. The latter functionality al-
lows the user to discover popular parts of inventory that        1
                                                                     http://youtu.be/RgoLvGf96Bg
   The user starts the interaction by typing an initial query to   brand=Coach, style=Shoulder Bag, and category=Clothing
a search box, or by selecting a group of filters from the land-    Shoes and Accessories by applying a named entity extrac-
ing page of the experience. This landing page is currently         tion mechanism, which resolves ambiguities by considering
hand-curated but a natural extension would be to construct it      co-occurrence frequencies in historical transactions. Next,
by determining popular clusters of items, or by personaliz-        the system updates the interface with these filters and shows
ing it based on past experience of the user. Subsequently,
                                                                   relevant results from the inventory. Using this information,
the system will respond by showing relevant results for the
selected set of filters and recommends potential changes to        the system also recommends new attribute filters such as
the query. After every user action, the system retrieves new       color and shoe size since those are filters that work well
results and updates its query recommendations. These rec-          with the selected filters (in terms of increasing the likeli-
ommendations are incremental, targeting only the specific          hood of retrieving desirable inventory). At this point, the
user selected parts of the query.                                  user can click on one of these attributes (e.g. color) and get
   At the heart of the communication between the user and          an ordered list of recommended values that work well with
the IR system is a user interface that represents the query,       the previous set of filters (Figure 1). In this example, brown
along with changes recommended by the system. This acts            is at the top of that list because it is a popular color for
as shared knowledge between the user and the system, and           coach shoulder bags.
helps to align their goals. This assisted search approach is
similar to widely used autocomplete functionality in rec-
ommending changes to a query, but it differs in two key
ways. First, the query is partitioned into named entities. Ad-
ditionally, recommended changes are incremental and can
target any selected segment of the query. This provides the
user with multiple directions for changing the query in in-
cremental fashion, resulting in a more interactive experi-
ence, which allows the user to navigate through the invento-
ry efficiently.
   The user interface (Figure 1) consists of three elements:
search context (top two rows), which characterizes the cur-
rent query for information retrieval, recommendations for
changing the query (dark bar), which list the recommenda-                        Figure 2. Focus interface - pivoting
tions to lead the user towards popular parts of the inventory,
and a result set consisting of items that best match the              The user can also select one of the existing filters and get
search context.                                                    alternative recommendations that work best with the current
                                                                   search context (Figure 2). For a given selected filter, the
                                                                   values are recommendations that lead the user towards pop-
                                                                   ular parts of the inventory. Those recommendations are de-
                                                                   termined dynamically based on past popular user activity
                                                                   statistics, which we will describe in the next section. For
                                                                   example, clicking on brand filter might retrieve the value
                                                                   Vera Bradley as another popular brand, which also corre-
                                                                   lates with shoulder bags. Similarly, clicking on style would
                                                                   trigger recommendations for popular item styles for Coach,
                                                                   including totes and messengers.
                                                                      Finally, the user can continue typing new keyword que-
                                                                   ries. During this process, the system may suggest autocom-
                                                                   pleting the keyword (e.g. the partial query “bl” could trigger
             Figure 1. Focus interface - refinement                the filter selection color=black). This autocomplete mecha-
                                                                   nism also prefers entries that work best with the current
The search context includes a keyword query and a set of           search context, among the ones that match the partial query.
selected filters consisting of attribute name-value pairs. The
search context is constructed by user’s initiative but the rec-    3   Architecture
ommender system helps by suggesting new refinements and
possible changes to the existing query. Whenever the user          Focus architecture is partitioned into data storage, runtime
changes the search context (either by direct editing or by         system, and offline data generation (Figure 3). Next, we
selecting a system recommendation), the system updates the         review these components and explain how they support the
search results that match that new context.                        functionality described in the previous section.
   For example when the user enters the query “coach
shoulder bag,” the system recognizes the attributes
3.1 Runtime Performance System                                       Candidate Sorting
The runtime system includes a number of services that re-            Our goal is to estimate the conditional probability P(y | x)
                                                                     representing the likelihood of the user finding desired items
spond to user actions. The interface state consists of search
                                                                     in the result set, when filtering by a name-value pair y, given
context, query change recommendations, and search results.
The user actions change the search context and the runtime           the selected name-value filters x = x1, x2… xn. For example,
                                                                     given the selected filter vector x=,
performance system responds by changing the result set and
                                                                     candidates for y may include constraints like color=white or
recommendations.
   The runtime performance system consists of three main             size=10. In that case, the recommendation engine would
                                                                     need to determine whether color=white or size=10 is a bet-
components. First, the item retrieval system returns a set of
                                                                     ter refinement. The algorithm merely sorts candidate instan-
items from the inventory that best match the search context.
Second, the attribute extraction service extracts a number of        tiations for y by maximizing P(y | x) for a given x. We
                                                                     achieve this by Naïve Bayesian inference, where we have:
attribute-value pairs from a keyword query. Finally, the
                                                                                P(y | x) ~ P(x 1| y) P(x 2| y)… P(x n| y) P(y)
third service recommends changes on the query given the
search context. In this work, we are focusing only on the            assuming conditional independence:
                                                                                        P(x i x j| y) = P(x i| y) P(x j| y)
third component that generates the recommendations and
                                                                     Under that assumption, the order of P(y | x) for a fixed x
therefore we will not describe the remaining components in
more detail.                                                         depends only on P(xi| y) and P(y) values.
   The query recommendations component consists of a                 Retrieval
number of services, which all utilize the same backend data          The three recommendation services use the backend engine
storage and inference engine. The structured autocomplete            differently, depending on how they select candidate values
service inputs the search context along with a partial key-          of y. For efficient retrieval, all values are stored in a table
word query, and returns filter values that match the partial         which has one row for each y instance and has columns ob-
keyword query, preferring popular filters that co-occur with         serving the following schema:
selected filters in the search context in past transactions. The       
attribute name refinement service returns most popular at-           This table has O(n) columns and rows, where n is the num-
tribute names to be used for further filtering given selected        ber of attribute-value pairs and in our domain. Moreover, we
filters. Finally, the attribute value selection service return       assume that the matrix is sparsely populated, which is an
best values for a chosen filter given the selected filters in the    assumption that holds in our shopping domain.
search context. All of these services use the same backend           The typical goal is to return y names and/or values (the first
engine that stores information about popularity of attributes        two columns), given the probability values. For a set of se-
and their interaction.                                               lected context filters x =, all services retrieve
                                                                     only y rows such that:
3.2 Backend Reasoning Engine                                                     P(x1| y) ≠ 0, P(x2| y) ≠ 0,…, P(xn| y) ≠ 0
All query recommendation services rely on the backend                   Given a sparse matrix, this significantly reduces the num-
reasoning engine. Each service uses this engine to retrieve          ber of candidates and their retrieval becomes very efficient
candidate values and order them based on a single populari-          with usual indexing.
ty metric. We will first describe this popularity metric and            On top of the shared retrieval constraints above, the sug-
then we will discuss the retrieval process specific to each          gestion services use additional constraints. In structured
service.                                                             autocomplete with the partial keyword query q, the system
                                                                     enforces the additional constraint contains(name(y), q), e.g.
                          The Data Store              Real-time Performance System

                                   Inventory
                                                                        Item retrieval          Recommended items
                                                                                                                           User
                                                                                                                         Interface
                               Clickstream                    Filter Suggestion
                                   Data                                                         Query
                                                              Service                           recommendations
     Offline
     Model                                                              Refinement
                              Structured Data
    Generation
                                                                        Alternatives               query, selected filters

                                Attribute                            Autocomplete
                                Relevance


                                                  Figure 2. Architecture Overview.
the query “re” retrieves only aspects like color=red, where          plicit and agreed representation of the shared context, and
the query is contained in the aspect value. On the other             resolving ambiguities and determining which part of past
hand, in attribute value refinement, the name N of the attrib-       dialog is relevant for the current query remains to be a diffi-
ute is given as input, we use the additional constraint              cult challenge. Facebook graph search [6] was employing
name(y) = N, e.g. when the filter color is selected, all re-         structured autocomplete until recently, where named entities
trieved y rows satisfy name(y)=“color”. The attribute name           were recommended to complete user queries, but no method
recommendations are handled with a slight extension where            is provided for changing parts of a query to reduce low re-
y represents only the attribute name (without value). This           call. Pinterest’s search interface [7] represents query words
fits in our database with minor changes.                             as tokens, which can be individually deleted and recom-
                                                                     mends refinement words incrementally but the tokenization
3.3 Offline Architecture                                             does not seem to happen in terms of name-value pairs, and
The mechanism we defined in the previous section defines a           there is no mechanism to change part of a query to alterna-
conditional probability metric P(xi| y), which we defined as         tive values. At the time of submission, Bing researchers
the probability of selection of y (filter name or name-value         described a similar search experience, which also includes
pair) to be useful for the user, given a selected attribute filter   pivoting [8]. We find it quite encouraging and validating
xi, and P(y) the unconditional probability of selection of the       that other teams have independently built systems motivated
filter y to be useful. However, we have not described how            by similar ideas.
we can obtain those values in a practical use case.
   If we have a system running in production, those values           CONCLUSION
can be obtained based on usage of filters and the engage-
                                                                     We presented an information retrieval experience for a
ment with their results. However, it is not clear how we
                                                                     shopping domain that merges search and recommendations
should initialize such a system. In the shopping domain,             in a novel way. The system facilitates an incremental
there are several alternatives that can be used as proxies to
                                                                     mixed-initiative interaction between the user and a recom-
these probabilities, each resulting in different runtime be-
                                                                     mender agent, which leads the user towards popular parts of
havior. One can use data from engagement with an existing            the inventory, while also satisfying user queries. We imple-
(but static) filter system, or use inventory-based metrics (i.e.
                                                                     mented a functioning prototype that utilizes data mined
how many items in inventory satisfy brand=nike and cate-
                                                                     from billions of transactions on eBay and the backend algo-
gory=basketball shoes at a given time). Instead, we decided          rithm is efficient and scalable.
to optimize our system for popularity. Hence, we calculate
                                                                        We are at early stages of this work and lack crucial eval-
the P values by listing item view actions and counting co-
                                                                     uation demonstrating the utility of this system. However, we
occurrence of attribute-value pairs (e.g. number of viewed           believe that our contribution is a novel step towards more
items with attributes brand=nike and color=white). Conse-
                                                                     intelligent interactive information retrieval systems and can
quently, the resulting system is biased towards preferring
                                                                     encourage future research in this area.
items with higher rates of user interaction.

4     Evaluation                                                     References
Our results are quite preliminary, and we have not yet con-          1. Manning, C. D. and Raghavan, P. Introduction to Infor-
ducted a systematic user experiment. We implemented a                  mation Retrieval, Cambridge Press, USA, 2008.
prototype user interface (demonstrated in the accompanying           2. Jannach, D. and Zanker, M. Recommender Systems: An
video) powered by real user activity data. While this kind of          Introduction, 2010.
interface could be useful for different computing environ-
ments, its strength is highlighted in touch screen devices,          3. Walker, M., and Whittaker, S. Mixed initiative in dia-
where selecting from suggestions is easier than typing, and            logue: An investigation into discourse segmentation. Pro-
there is limited space for suggestions.                                ceedings of the 28th Meeting of the ACL, 1990, 70-78.
   The backend data is automatically generated using bil-            4. Apache Solr. http://lucene.apache.org/solr/
lions of items viewed at eBay and it covers a large portion          5. Lison, P. and Meena, R. Spoken dialogue systems: the
of items in the inventory that contain attribute data. Our             new frontier in human-computer interaction XRDS: Cross-
item retrieval service and concept extractor utilizes existing         roads, The ACM Magazine for Students - Natural Lan-
services at eBay. We built the query recommendation ser-               guage 21 1 (2014), 46-51.
vices from scratch and they utilize a Solr [4] database for
storing and accessing attribute relevance data efficiently.          6. Facebook. http://facebook.com
                                                                     7. Pinterest. http://pinterest.com
Related Work                                                         8. Bing – Type less, search images faster.
A related approach that is recently gaining importance is              http://blogs.bing.com/search/2015/04/16/type-less-search-
conversational search like "Google Now," "Apple Siri," and             images-faster/
“Microsoft Cortana,” [5] where the IR system also actively
interacts with the user, but in these systems there is no ex-