Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A SYSTEM AND METHOD FOR DYNAMICALLY DISPLAYING IMAGES ON ELECTRONIC DISPLAYS ACCORDING TO MACHINE-LEARNED PATTERNS
Document Type and Number:
WIPO Patent Application WO/2021/033123
Kind Code:
A1
Abstract:
An embodiment of the disclosure provides a system for recommending at least one product to a user device. The system is configured to: (a) receive N product descriptions, each product description in the N product descriptions including an image; (b) extract, for each image in the N product descriptions, a plurality of features including machine-understandable visual parameters; (c) arrange a subset of the N product descriptions relative to a surface in a grid-like manner according to the machine-understandable visual parameters; (d) providing, to the user device, the grid-like arrangement of the subset of the N product descriptions; (e) receive, from the user device, signals indicating an interaction relative to the surface; (f) in response to the signals, rearrange the subset of the N product descriptions relative to the surface; and (g) send, to the user device, the rearranged subset of the N product descriptions.

Inventors:
AHAS AHTO (EE)
Application Number:
PCT/IB2020/057712
Publication Date:
February 25, 2021
Filing Date:
August 16, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SUBFIBER OUE (EE)
International Classes:
G06Q30/06; G06N5/00
Foreign References:
US20190130285A12019-05-02
US20170091319A12017-03-30
US20170124624A12017-05-04
Download PDF:
Claims:
CLAIMS

1. A system for recommending at least one product to a user device, the system including a processor and a non-transitory computer readable medium storing instructions thereon such that executing the instructions causes the system to perform the steps comprising: receiving /V product descriptions, each product description in the /V product descriptions including an image; extracting, for each image in the /V product descriptions, a plurality of features including machine-understandable visual parameters; arranging a subset of the N product descriptions relative to a surface in a grid-like manner according to the machine-understandable visual parameters; providing, to the user device, the grid-like arrangement of the subset of the N product descriptions; receiving, from the user device, signals indicating an interaction relative to the surface; in response to the signals, rearranging the subset of the N product descriptions relative to the surface; and sending, to the user device, the rearranged subset of the /V product descriptions.

2. The system according to claim 1, wherein the subset comprises all of the N product descriptions.

3. The system according to claim 1, wherein rearranging the subset of the N product descriptions on the surface comprises: removing from an area in the grid-like arrangement at least some products in close proximity to a first product description in the subset of the /V product descriptions; and selecting, from the N product descriptions, replacement product descriptions to populate the area that contained the number of products removed, wherein features associated with the replacement product descriptions are related to features of the first product description, wherein the signals indicating an interaction with the surface includes a click or touch on or selection of the first product description.

4. The system according to claim 3, wherein at least one product in the replacement products includes a majority of features not related to features of the first product description.

5. The system according to claim 3, wherein features associated with the replacement product descriptions are related to features of the first product description and also related to preferred features in a user profile.

6. A method of recommending at least one item for display on a user device, the method comprising the steps of: receiving A item descriptions, each item description in the A item descriptions including an image; extracting, from each image in the A item descriptions, a plurality of features including machine-understandable visual parameters; arranging a subset of the A item descriptions in an arrangement on an electronic display device according to the machine-understandable visual parameters; sending, to the user device, the arrangement of the subset of the A item descriptions; receiving, from the user device, signals indicating an interaction with or relative to the electronic display device; in response to the signals, replacing an item from the subset, removing an item from the subset, or adding a new item to the subset to produce a modified subset of the A item descriptions based on a machine learning model; rearranging and displaying the modified subset of the A item descriptions on the electronic display device; wherein the machine learning model is modified according to at least how a user of the user device interacts with the subset of the A item descriptions displayed on the electronic display during an interaction session, wherein the interaction session includes (a) which of the subset of the A item descriptions is selected as the interaction, (b) how much time is spent before a selection is made of at least one of the subset of the A item descriptions, or (c) a scrolling interaction relative to the electronic display device to identify those of the subset of the A item descriptions that are removed from a visible area of the electronic display in response to the scrolling interaction.

7. The method of claim 6, wherein the machine learning model is configured to add a new item to the subset of the A item descriptions and responsive thereto monitor an interaction with the new item relative to the electronic display to learn about the user’s interest in the new item, wherein the new item includes features correlating to the user’s interest but dissimilar to the subset of A item descriptions.

8. The method of claim 6, wherein the interaction session includes a zooming in interaction on the electronic display device, the zooming in interaction removing a first subset of the N item descriptions from the visible area of the electronic display and indicating an interest in a second subset of the N item descriptions.

9. The method of claim 6, wherein the interaction session includes a zooming out interaction on the electronic display, the zooming out interaction introducing to the visible area of the electronic device a first subset of the N item descriptions that were not previously in the visible area of the electronic display prior to the zooming out interaction, and wherein the zooming out interaction indicates a disinterest in a second subset of the N item descriptions.

10. A method of recommending at least one item for display on a user device, the method comprising the steps of: displaying a plurality of images of items on an electronic display in an arrangement; receiving an input from a user device indicative of a scrolling direction selected from one of at least five distinct directions, where one of the five directions is diagonal; in response to receiving the input indicative of the scrolling direction, removing from the electronic display some of the plurality of images located in a part of the electronic display ahead of the scrolling direction to create space in another part of the electronic display behind the scrolling direction; and adding new images in the other part of the electronic display behind the scrolling direction to at least partially fill the space created by the removal of the some of the plurality of images.

11. The method of claim 10, wherein the at least eight distinct directions is at least ten distinct directions or at least twelve distinct directions or at least fourteen distinct directions.

12. The method of claim 11, wherein a maximum number of the at least eight distinct directions is a function of a screen size and/or screen resolution of the electronic display.

Description:
A SYSTEM AND METHOD FOR DYNAMICAUUY DISPUAYING IMAGES ON EUECTRONIC DISPUAYS ACCORDING TO MACHINE-UEARNED PATTERNS

CROSS-REFERENCE TO REUATED APPUICATION(S)

[0001] This application claims priority to U.S. Patent Application No. 16/542,920, filed on August 16, 2019, which is hereby incorporated by reference herein in its entirety.

TECHNICAU FIEUD

[0002] The present disclosure relates to online shopping recommendations and more specifically to systems and methods for recommending fashion products to shoppers based on machine-learned visual characteristics of the fashion products that are appealing to the shoppers.

BACKGROUND

[0003] Online shopping and online marketplaces are mainstays for retail outlets with most brick-and-mortar retail outfits providing at least a basic online shopping experience. Although online shopping is prevalent in society, e-commerce keyword-based search technologies are suited to finding products with well-defined and well-describable objective features and attributes. Examples of well-defined features include a brand name, a merchant-defined category, color, and other product attributes defined within the product’s metadata. Other product attributes can include, e.g., sleeve length of a product, a model number, and a description assigned to the product by a designer or a merchant. A text search can find these objective features or attributes within previously recorded keywords (or their synonyms). Upon such a search, products matching the text string being searched upon is displayed on one or more static pages. The products can be ordered by relevance to keywords and/or other factors, such as sales popularity.

[0004] Although efficient in finding products with well-defined product attributes, keyword- based searching is not effective when attributes of products on the online stores are not available. For example, an attribute’s description may be vague or can apply to dissimilar products or styles. In these situations, a desired or preferred product may not be presented to an online shopper.

[0005] While the function of fashion products (e.g., “dress” or “trousers”) is easily identified by a keyword, the inherently visual and thus subjective nature of fashion is almost impossible to describe with words. In an example, “floral” can mean a style or many different patterns. Similarly, “urban” can mean a use case, a style, or a visual look. Furthermore, both “floral” and “urban” can mean different things to different people. There is a subjective nature to fashion, and the words used to describe a fashion product does not fully capture the essence of the fashion product.

[0006] Visual-based searching can be applied to augment the shortcomings of keyword-based search by having shoppers upload an image of a product (a “seed” or starting image), but current visual similarity-based search technologies are limited to finding only products that the shopper already has an image of, so this requires the shopper to input into the search engine a starting image that reflects already what the shopper is looking for. These conventional technologies do not let the shoppers find or discover new products they have not seen yet, or captured an image of, or perhaps are not even aware exist. Shoppers still need to resort to inefficient text-based search or category-based browsing through all the existing products (often millions) to find the relevant ones, a frustrating, time-consuming, and overwhelming experience that often results in the shopper abandoning the search without finding a product of interest.

[0007] Category-based browsing or text-based search does not prioritize the products shown by visual desirability, which can be important for something as visual as fashion; and visual- similarity based search only prioritizes the visually matching products, but cannot prioritize the products by desirable styles.

[0008] For the shoppers browsing for the products to buy, the order of products displayed is random with regard to visual desirability and visually pleasing items are infrequent. As a result, shopping fatigue can kick in, resulting in the shopper often quitting the shopping process before finding the desirable product to buy. Hence, current e-commerce is more suitable for finding products that fulfill a desired function (e.g., “brown trousers”), but it is not suitable for discovering visually-appealing new products. In contrast, when shopping in physical stores, shoppers often discover appealing products they did not plan to buy when they entered the store, resulting in a much higher per- visit total shopping spending compared to e-commerce. [0009] The aforementioned shortcomings of current search technologies and of resulting browsing activity result in limitations on the data that can be collected about users’ visual preferences (e.g., by products viewed). A low number of pleasing products means less data points. Limited information on products’ stylistic features limits inference. A static display of products limits hypothesis-testing.

[0010] Attribute, text, and tag based searching can be effective if relevant features of products that affect a user’s choice are well-describable and universally defined across shoppers, designers, retailers, manufacturers, etc., so that relevant keywords can be generated beforehand. This implies that the fashion industry should have a universal taxonomy across different cultures and languages. However, as fashion trends change quickly, such universal taxonomy, even if created, would instantly become obsolete. Therefore, attribute -based search is not suitable for finding products where visual features are relevant to user choice. These features can be difficult for the user to describe, too numerous to be pre-generated, and too ambiguous across customers since different customers can describe the same feature in different ways.

[0011] Additionally, visual features are oftentimes not consciously understood by the user. The user can recognize an item she likes when she sees it, but she cannot verbalize what is it about the item that she likes or that is actually pleasing. In addition, too many different visual features can be appealing to the user to describe in search term, even if the user could describe them. These shortcomings to describing products are typical for fashion and design products. Besides fashion and design, other highly subjective and personalized areas such as interior design, home decor and furnishings, floor plan layouts, landscaping, works of art, architecture, or any area where the subjective user’s “look and feel” are invoked, suffer from the same shortcomings.

[0012] Current e-commerce solutions aim to provide visually relevant products with the help of collaborative filtering recommendation techniques. When a user has expressed interest in an item (e.g. clicked onto product detail page), recommendation is served for similar items not based on identifiable features but based on aggregate opinion of other shoppers interested in that item. Collaborative filtering can have several drawbacks. One drawback is large amount of previous user interactions is needed to provide the recommendation, and this is not always available for less popular or very new products or products that have a short burst of life. Fashion is an area with a very “long tail” (i.e. supply of a large variety of products, each produced in small quantities, and each generating too little data per product). Another drawback is that collaborative-based recommendations are less sensitive to individual tastes, as it aggregates over all other users’ opinions, whereas fashion is one of the most individualistic product areas. Another drawback is current systems do not create accurate user taste profile - for each item on an item-by-item basis; rather, recommendations are given only based on the current or historic items viewed. The limitations of current e-commerce and related search technologies do not allow the technologies to assess the shoppers’ potential stylistic interests if they have not already shown specific interest in these styles (i.e. when they have not discovered the desirable items, while discovery has been made impossible by the same e- commerce systems).

SUMMARY

[0013] An embodiment of the disclosure provides a system for recommending at least one product to a user device. The system includes a processor and a non-transitory computer readable medium storing instructions thereon such that executing the instructions causes the system to perform the following: (a) receiving N product descriptions, each product description in the /V product descriptions including an image; (b) extracting, for each image in the /V product descriptions, a plurality of features including machine-understandable visual parameters; (c) arranging a subset of the N product descriptions relative to a surface in a grid-like manner according to the machine-understandable visual parameters; (d) providing, to the user device, the grid-like arrangement of the subset of the N product descriptions; (e) receiving, from the user device, signals indicating an interaction relative to the surface; (f) in response to the signals, rearranging the subset of the N product descriptions relative to the surface; and (g) sending, to the user device, the rearranged subset of the /V product descriptions.

[0014] The foregoing and additional aspects and implementations of the present disclosure will be apparent to those of ordinary skill in the art in view of the detailed description of various embodiments and/or implementations, which is made with reference to the drawings, a brief description of which is provided next.

BRIEF DESCRIPTION OF THE DRAWINGS [0015] The foregoing and other advantages of the present disclosure will become apparent upon reading the following detailed description and upon reference to the drawings.

[0016] FIG. 1 illustrates a system for recommending a product or products to a user according to an embodiment of the disclosure.

[0017] FIG. 2 is a block diagram showing steps for recommending products to a user according to an embodiment of the disclosure.

[0018] FIG. 3 illustrates an example interaction on a user device according to an embodiment of the disclosure.

[0019] FIG. 4 illustrates an example system for recommending a product or products to a user according to an embodiment of the disclosure.

[0020] FIG. 5 shows an example of a mobile device showing a zoomed out view of different products that can be scrolled through, according to an embodiment of the disclosure. [0021] FIG. 6 shows a zoomed in version of a section of the different products shown in FIG. 5.

[0022] FIG. 7 shows effect of selecting a certain product in the different products of FIG. 5, according to an embodiment of the disclosure.

[0023] While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the present disclosure is not intended to be limited to the particular forms disclosed. Rather, the present disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.

DETAILED DESCRIPTION

[0024] Embodiments of the disclosure provide a system for helping users discover visually pleasing items that are relevant to the user’s subjective and individualized preference from among a large number of products. The system can expose shoppers or users to as many visually pleasing items as possible. The system can also maximize acquisition of user preferences to enable the exposing of users to as many visually pleasing items. The system can refine selection of items displayed to match users’ preferences more accurately. The system can allow users to re-define their stylistic preferences, refine their search when they change their mind (e.g., discover new styles they like, but did not know of previously) during a browsing session. The system can reduce cognitive load placed on users during a shopping process.

[0025] Embodiments of the disclosure provide a system for enhancing a user’s shopping experience by engaging the user as a shopper and as a recommender or recommendation artificial intelligence (AI). The system can propose to the user pleasing options but then include a random item or an item that might or might not be the most pleasing to the user. Based on the user’s interaction or lack of interaction with the random item or item that might not be the most pleasing to the user, the recommendation AI can update its profile on the user or update its perception of the user’s preferences. In other words, the AI can test a hypothesis by displaying a certain item to the user, and then watch or monitor how that user interacts or does not interact with the item (e.g., does the user hover over that item, or select it immediately, return focus to the item multiple times, or zoom in to focus on that item, etc.) to update the learning model. [0026] Embodiments of the disclosure can reduce cognitive load placed on the user in the shopping process since the user is not required to enter a search query or formulate specific search criteria. Instead user preferences are inferred from interaction behavior. That way, the user does not have to have a well-defined search goal in mind, not even for a hard-to-describe mental image. In some embodiments, the user is interactively probed for conscious and subconscious preferences to direct her towards items that are pleasing. Embodiments of the disclosure provide a tool for users to communicate visual style preferences without using or inputting words, but rather purely by interacting with images (i.e., the “Visual Language of Search”).

[0027] FIG. 1 illustrates a system 100 for recommending a product or products to a user according to an embodiment of the disclosure. The system 100 includes a recommendation server 101, one or more data repositories or databases (e.g., product data repository 102, user profile repository 110, and hypothesis testing repository 112), and a user device 108. Each of the recommendation server 101, the user device 108, and the one or more repositories are computing devices with a processor and a non-transitory computer readable medium. Examples of the user device 108 can be a tablet computer, a laptop computer, a smart phone, a smart watch, any computing device having at least a human-machine input interface and an electronic graphical display, and so on.

[0028] The recommendation server 101 includes a machine learning engine 104, a selection engine 106, and a tracking engine 114. An engine is a combination of hardware and software for realizing a certain functionality. The machine learning engine 104 can be a neural network implementation for receiving product description and images and providing product features. The selection engine 106 provides the user device 108 with a selection of products. The tracking engine 114 tracks user interaction with the selection of products. The tracking can include zooming patterns of the user, the clicking on a product, providing a rating on a product, and so on. The machine learning engine 104, the selection engine 106, and the tracking engine 114 can be implemented on the same hardware.

[0029] The product data repository 102 stores product description and/or product features. Examples of a product description includes an image, a keyword description, a phrase description, metadata, etc. Examples of product features include machine-understandable visual parameters such as shape of edges, visual patterns, color, entropy, and so on.

[0030] The user profile repository 110 stores user preferences. The hypothesis testing repository 112 stores a next hypothesis for the selection engine 106 based on the user preferences in the user profile repository 110. [0031] FIG. 2 is a block diagram showing steps 200 for recommending products to a user according to an embodiment of the disclosure. At step 202, the machine learning engine 104 of the recommendation server 101 receives product descriptions. The product descriptions can be obtained from the product data repository 102. The product descriptions can also be received from another computing product, e.g., through a desktop, laptop, or mobile device of a store employee. The product descriptions can contain, for each product, a product image, keyword description, and other metadata.

[0032] At step 204, the machine learning engine 104 of the recommendation server 101 extracts features in the product images, performing a computer vision analysis of the product images. The machine learning engine 104 extracts a large number of features characterizing the visual quality of the products. For example, for fashion products, one or more of the following features can be characterized: pre-defined features (such as, sleeve length, collar type etc. or affinity to known fashion styles), visual hyper-parameters (such as, color or entropy), or machine-understandable visual parameters (such as, shape of edges at smaller or larger scale, visual patterns within the items, etc.). The machine-understandable visual parameters can be numerous, e.g., having 1000 or more qualities defined by the machine learning engine 104, and can lack a human-defined counterpart that is classically used in determining visual similarity. The extracted features, including a combination of the extracted features, will form the basis of understanding products in the system 100 as well as user preferences.

[0033] At step 206, the machine learning engine 104 stores the extracted features associated with each product in the product data repository 102.

[0034] At step 208, the selection engine 106 of the recommendation server 101 places and arranges products on a large surface to be displayed to the user. The large surface can be a large rectangular or square grid on an electronic display of the user device 108. The large surface can also be a large spherical grid with a curvature. The items in the grid can be arranged in a table arrangement as in columns and rows, or in any regular or haphazard arrangement within the grid. The grid does not have to be a regular shape, but rather represents the visual canvas area upon which items are displayed to the user/shopper. Those skilled in computer programming will appreciate that the grid is a program abstraction to instruct a display engine or module where to place an item for display. The large grid is provided to the user device 108 for display. The large grid is scrollable on a screen of the user device 108 in one or more directions, e.g., vertically, horizontally, diagonally, and so on, using a human-machine interface of or associated with the user device 108. The page on which the large grid is shown on the user device 108 can support a wide array of zoom levels, from hundreds of very small images per page up to few very detailed images per page. The page can support interactions such as “pinch zoom” that allows zooming in on an area of interest in the grid using a touch interface on the screen of the user device 108. In addition to touching, other examples of interactions can further include gestures and mouse clicks.

[0035] The screen of the user device 108 is an example of an electronic display device according to some implementations of the disclosure. The electronic display device is configured to display to the user/shopper the large grid. Other examples of the electronic display device include projection devices, holographic displays, and so on.

[0036] The products are arranged in the grid so that maximum amount of information on user preference can be captured by following her actions on the grid. This can include areas high on specific parameters, or a mixture of parameters at different zoom levels. A zoomable grid provides advantages, e.g., on lower zoom levels, many more products than in typical navigation can be shown at once. Showing more products at once can expose the user to more products and thus also more visually pleasing products. As many stylistic decisions can already be taken on low detailed view, this allows the user to quickly make an initial selection from large variety of stylistic options. At the same time, the user can further refine interest by zooming in on products that are potentially relevant. In contrast, the current e-commerce layout exposes the users to: (1) a limited number of products (that does not let the user see products that may match their style interests), and (2) often already filtered by a functional category (that does not expose the user to products outside the chosen category). The low-detail zoom levels allow the user to easily travel between different fashion dimensions, such as category, style, color, shape etc.

[0037] Another advantage includes using zoomable grid navigation, the user generates large amount of preference data quickly. Micro-actions, such as - but not limited to - which areas did the user examine longer, where did she zoom in, how quickly did she zoom out again, clicking, or liking a product, etc., can be monitored to understand user preferences as each area of the grid displays products with known extracted features. Determining whether the user zoomed out all the way or how quickly the user zoomed out is a function of the screen size of the user device 108. A large monitor will have more products in a zoomed out state than a screen of a smartphone. Capturing and monitoring a user’s micro-actions, along with generating a time sequence of the micro-actions along a timeline, seek to model how a sales person watches a prospective client in a retail store to understand that shopper’s preferences based on what the shopper focuses on, how long the shopper focuses on a particular item, what they express a disinterest in, and the like. These micro-actions, optionally along with their time sequence (e.g., to see a time period between interactions, or how long the user lingers on a particular item or particular area of the screen), can be fed into and ingested by the AI model to improve its learning and refine its selection of items to be displayed on the screen, and which displayed items to replace with items that have a higher chance of being visually interesting to the user/shopper.

[0038] While the grid of products displayed initially seems to include random set of products, these can be strategically chosen by the selection engine 106 to maximize exposing the user efficiently to a number of styles, to help the user find visually the closest match to their desired product styles.

[0039] The grid can also be arranged into areas of stylistically similar products, based on category, color, style or other important dimension. This functions as a navigation aid to the user and allows to indicate preferences by scrolling actions.

[0040] As more user preferences are captured by the tracking engine 114, the grid will be adapted to contain mostly items sought by or matching the user’s preferences but can also include a number of escape items. Escape items represent a different style and can be used to indicate saturation with current choice and desire to explore radically different options. In some instances, an escape item is not radically different but is merely an item that includes a feature positively correlating with the user’s preferences but not necessarily within the user’s preferences.

[0041] Zooming in and out can be performed on the user device 108 by a pinch or air gesture or any other method on the user device 108, such as a mouse wheel movement, a virtual reality controller, a game controller, and so on.

[0042] At step 210, the tracking engine 114 of the recommendation server 101 tracks user interaction with the large surface to refine user preferences. The tracking engine 114 captures activity on the user device 108 and populates the user profile repository 110. Activity on the user device 108 includes how long specific products are displayed on the user device 108, zooming in or zooming out on the large surface, clicking on products displayed on the large surface, rating products displayed on the large surface, scrolling away from products displayed on the large surface, hovering over a certain product on the large surface, and so on. Optionally, the tracking engine 114 can include an imaging device such as an iris-tracking device that is configured to track the user’s irises to correlate the user’s iris positions with corresponding items or areas on the screen to further leam what the user’s preferences are. This can augment the model’s learning while the user is not selecting or interacting with the screen, but rather scanning the items with their eyes. While a lingering without taking any action could be indicative of an interest or disinterest, iris tracking aids the model in discerning whether the user is interested or disinterested in a particular item. For example, focusing the iris on a particular item or area of the screen can be indicative of an interest in the item, so the lingering can be fed into the model as indicative of an interest level. If the user’s iris is scanning around the entire display area, without focusing on any particular item or area, this can be indicative of a disinterest in any of the items displayed, so the selection engine 106 can learn this behavior and replace a significant number or even all of the items shown on the screen even before the shopper makes any input relative to the screen.

[0043] At step 212, the selection engine 106 of the recommendation server 101 rearranges products on the large surface based on the user preferences. In an embodiment, upon clicking a product image via the user device 108, a number of product images surrounding the product clicked on will be changed to new product images. The new product images chosen to display match more closely the user’s stylistic preference by analyzing her stylistic preference from micro-actions or activities captured at the large surface (or zoomable grid). The new product images shown to display can also be selected to display a variation of products that help the user further refine their stylistic preference, i.e., to provide additional insight into user preferences.

[0044] Steps 210 and 212 can be performed repeatedly to either refine the selection around a certain visual style by clicking on mostly similar items or expand possibilities and explore by clicking on items along a certain visual direction.

[0045] In an embodiment, the system 100 actively learns user preferences. For example, when a user clicks on an item, it typically expresses likability. However, the user may not like the item in its entirety but just some of its features. The item may also be in the desired visual direction but not far enough (or too far). Also a single click on an item may not tell which features the user liked. With some embodiments of the disclosure, desirability of different features of a product can be tested by displaying products emphasizing one or another feature of the liked product and observing further clicks on the user device 108.

[0046] In an embodiment, the selection engine 106 provides a dynamic map layout of the large surface to the user device 108. When the user scrolls the map, newly visible portions of the map are dynamically generated by the selection engine 106 based on the information gathered on user intent and preferences so far. The data can include micro-actions and activities of the user, such as direction of ongoing scroll (when items are placed on the map not randomly but based on their stylistic or visual features), zoom-in areas, and others; or actions like previously collected item clicks. Items displayed in the newly generated portions are chosen to be either most pleasing or most informative. Only previously unseen areas are dynamically generated while the areas that the user has seen at sufficiently detailed zoom level will stay unchanged. Dynamic map layout can also be combined with rearranging products as a user clicks or interacts with a product as described above in step 212.

[0047] In an embodiment, the tracking engine 114, the selection engine 106 and the machine learning engine 104 cooperate to create a recommender AI. The recommender AI includes a set of algorithms that infer user preferences from a user’s stream of actions and micro-actions during browsing and proposes an optimal layout of products to be shown to the user (both for purchase as well for refining understanding of user preferences). A source of user preferences is the set of fashion features extracted from the products and user’s behavior towards these products. When a user clicks on a product with certain feature set (e.g. Dress, red, Gucci, country-style, bell-shaped etc.), the recommendation server 101 strengthens hypothesized user preference towards these features.

[0048] In an implementation, a sequence of interactions, rather than only the last click, is taken into account - for example, persistent selection of a certain feature (clicking dress; dress; dress) can indicate strong preference whereas intermittent selection (clicking dress; trousers; dress) can indicate indifference to that dimension (in the example: category).

[0049] In an implementation, negative information can also be taken into account - when a user is shown items with certain features and chooses to ignore these (e.g., not click on, scroll away, zoom out, and so on), the recommendation server 101 weakens hypothesized preference towards these features. That is ignoring certain products can be interpreted as a negative preference. Many different such criteria can be used, the above serves as examples of general principle - user’s fashion preferences will be inferred from her sequence of actions towards products with known fashion features.

[0050] FIG. 3 illustrates an example interaction on a user device according to an embodiment of the disclosure. In FIG. 3, item 302 indicates a zoomed out version of products arranged on a large surface. Item 304 indicates that the user zooms into a specific area within the large surface to inspect products within that area more closely. Item 306 indicates that the user clicks on a specific product, which is interpreted by the recommendation server 101 as the user liking the product. Item 308 shows that in response to the user clicking on the specific product, neighboring products around the specific product are updated to partially similar products. [0051] In an implementation, instead of updating neighboring products around the specific product, the recommendation server 101 presents the user with a new selection of products in response to the user clicking on the specific product. The new selection of products can replace all products on the large surface. The new selection of products can replace some of the products on the large surface.

[0052] In an implementation, in response to the user clicking on the specific product, the recommendation server 101 can append the new selection of products to the large surface, enlarging the large surface such that a total number of products arrange on the large surface is greater than the number before the user clicked on the specific product.

[0053] From item 308, the user can continue clicking on products displayed within updated product list, which will allow the recommendation server 101 to continue refining the user’s preference. Also the user can choose to buy a certain item at item 306. Also the user can zoom out of the specific location on the large surface, which returns the user to item 302, indicating to the recommendation server 101 that the user is changing directions or looking for a different style.

[0054] FIG. 4 illustrates an example system for recommending a product or products to a user according to an embodiment of the disclosure. In FIG. 4, a product description (Product D 402) which includes an image, a keyword description, and metadata is provided to a neural network 404 (e.g., the machine learning engine 104). The neural network 404 converts the Product D 402 to product features (Product F) which includes feature A, feature B, ... feature XYZ. Both the Product D and the Product F are stored in the product database 408 (e.g., product data repository 102). In an embodiment, each product is linked to its respective description and its respective extracted features and stored in the product database 408. For example, PI - Dl, FI indicates that product PI is linked to product description D 1 and product features FI, and P2 - D2, F2 indicates that product P2 is linked to product description D2 and product features F2.

[0055] The selection algorithm 410 (e.g., implemented by the selection engine 106) displays products on a large space, and the user can view the products on a display 412 (e.g., a screen of the user device 108). The display 412 can show the products in a grid. The user can click on a product, e.g., click 414 on product P5 presented on the display 412.

[0056] The user’s click 414 as well as products within the product database 408 are used, e.g., by the tracking engine 114, to update the user’s preferences, storing the preferences in a user profile. Positive preferences and/or negative preferences can be tracked by the tracking engine 114. An example of the user’s preferences is provided in user profiling 416. The click 414 can be interpreted to indicate that one or more features F5 in product P5 is desirable or preferred, one or more features F4 in product P4 is undesirable, one or more features FI 8 in product PI 8 is undesirable, and so on. Preferred features stored in the user profile indicate the user’s preference.

[0057] The tracking engine 114 in cooperation with the selection engine 106 can then take the information in user profiling 418 to adjust certain features in features F5 to depart from features F5. For example, features C, M, X and BL in F5 can be adjusted and stored in the hypotheses 418 (e.g., hypothesis testing repository 112). Once a next hypothesis is determined, then the selection algorithm 410 can find products within the product database 408 that meets the features within the next hypothesis. The selection algorithm 410 thus updates the displayed products on the display 412, and the process continues in an iterative manner.

[0058] FIG. 5 shows an example of a mobile device showing different products that can be scrolled through in a vertical and horizontal manner, according to an embodiment of the disclosure. The products are shown on the screen in a zoomed out manner based on the size of the screen.

[0059] FIG. 6 shows a zoomed in version of a section of the different products shown in FIG. 5. The zoomed in version indicates that clothing with a same user preference style that may look different can be situated next to one another. FIG. 6 shows zoomed in view of the scrollable map for closer inspection of interesting items (to understand whether the user likes the item). The map may not replace product detail page where multiple views, brand, price and description are available.

[0060] FIG. 7 shows that selecting a certain product updates the products around it to a more similar style according to learned user preferences. Upon clicking an item, product images around it (not limited to just immediate vicinity) change to related items that are either similar to the original item or only partially similar to allow exploration.

[0061] While the examples described herein have been made with reference to fashion and design, the concepts disclosed herein are equally applicable to any other highly subjective and personalized area including interior design, home decor and furnishings, floor plan layouts, landscaping, works of art, architecture, or any area where the subjective user’s “look and feel” are invoked. An emphasis is placed on areas where a purchasing selection is based largely upon visual cues and a visual comparison of multiple possibilities arranged in the same visual display, where the options to be selected are iterated to become relevant to the individual purchaser’s subjective tastes and preferences, which defy conventional categorization or tagging.

[0062] While the present disclosure has been described with reference to one or more particular embodiments and implementations, those skilled in the art will recognize that many changes may be made thereto without departing from the spirit and scope of the present disclosure. Each of these embodiments and implementations and obvious variations thereof is contemplated as falling within the spirit and scope of the present disclosure, which is set forth in the claims that follow.