Patent Description:
It is with respect to these and other general considerations that the aspects disclosed herein have been made. Although relatively specific problems may be discussed, it should be understood that the examples should not be limited to solving the specific problems identified in the background or elsewhere in this disclosure.

<CIT> discloses a method to provide services associated with an image in which image data of an item of interest from a client device is received and used to identify a similar item from an image catalog based on the image data of the item. Attribute information associated with the similar item is retrieved and used to pre-populate a template, which is sent to the client device, and modified data from the client device is received in response, with the modified data resulting in a final template used to generate a listing. <CIT> discloses an online marketplace system to allow sellers to create listings for items to sell by creating a listing using an application installed on the seller's mobile device. The application monitors data connectivity and connectivity problems are detected the application caches the item information and when data connectivity improves, the application sends the cached item information to the online marketplace system for creation of the listing. <CIT> discloses a method to determine a product identification of an item for sale in an online publication system. The method is initiated when an input identifying an item is received from a user. An input type is determined and one or more identification services is selected based on the input type. At least a portion of the input is transmit to the selected one or more identification services. A product identification is received from each of the one or more identification services. Based on the received product identifications, a recommended product identification is determined and transmitted to the user.

The present invention provides a method and system as defined in the appended claims.

Aspects of the present disclosure relate to systems and methods for obtaining relevant information for identifying items that are being listed for sale via electronic marketplace applications. In aspects, the item identification process includes dynamically determining, based on initial user input indicative of an item, a product identification technique that may best assist the user in identifying a product that matches the item. The item identification process further includes prompting the user to provide additional user input corresponding to the product identification technique, and identifying a product that may match the item based at least in part on the additional user input provided by the user. A listing is then generated based on product information associated with the identified product that may match the item. The user is thus dynamically guided to provide additional information that may best assist the user in creating a listing for the item.

In aspects, a system for assisting a user in listing an item for sale in an electronic marketplace via an electronic marketplace application is provided. The system comprises a processor and memory including instructions which, when executed by the processor, causes the processor to perform operations. The operations include receiving initial user input indicative of the item, the initial user input having been entered by the user into a user interface of the electronic marketplace application. The operations also include determining, based on the initial user input, a product identification technique for assisting the user in listing of the item for sale in the electronic marketplace. The operations further include causing a prompt to be displayed to the user in the user interface of the electronic marketplace application to prompt the user to provide additional user input corresponding to the determined product identification technique. The operations further still include receiving the additional user input provided by the user, and generating, based on the additional input provided by the user, a listing for sale of the item. The operations additionally include providing the listing for display to the user in the user interface of the electronic marketplace application.

In further aspects, a method for assisting users in listing items for sale in an electronic marketplace via an electronic marketplace application is provided. The method includes detecting initial user input indicative of an item, the initial user input having being entered by the user into a user interface of the electronic marketplace application. The method also includes displaying a prompt in the user interface of the electronic marketplace application to prompt the user to provide additional user input, the additional user input corresponding to a product identification technique to be used for assisting the user in listing the user in listing of the item for sale in the electronic marketplace, wherein the product identification technique to be used in assisting the user is determined based on the initial user input indicating of the item. The method further includes receiving the additional user input provided by the user, and displaying a listing for the item to the user in the user interface of the electronic marketplace application, the listing generated based on information associated with a product identified using the product identification technique based on the additional user input provided by the user.

In still further aspects, a computer storage medium is provided. The computer storage media encodes computer executable instructions that, when executed by at least one processor, perform a method. The method includes receiving initial user input indicative of an item, the initial user input having been entered by the user into a user interface of the electronic marketplace application. The method also includes determining, based on the initial user input, a product identification technique for assisting the user in listing of the item for sale in the electronic marketplace. The method further includes causing a prompt to be displayed to the user to provide additional user input corresponding to the selected product identification technique for assisting the user. The method further still includes receiving the additional input provided by the user, and determining, based on the additional input provided by the user, a listing for the item. The method additionally includes causing the listing to be displayed to the user in the user interface of the electronic marketplace application.

Aspects of the present disclosure relate to systems and methods for obtaining relevant information for identifying items that are being listed for sale via electronic marketplace applications. In aspects, the item identification process includes dynamically determining, based on initial user input indicative of an item, a product identification technique that may assist the user in identifying a product that matches the item. The item identification process further includes prompting the user to provide additional user input corresponding to the product identification technique, and identifying a product that may match the item based at least in part on the additional user input provided by the user. As an example, the system may determine, based on the initial one or more keywords that may be provided by the user, that the user is attempting to create a listing for a book. In response to a determination that the user is attempting to create a listing for a book, a suggestion to scan a barcode on the back cover of the book or to provide the ISBN may be provided to the user. On the other hand, if the system determines, based initial user input, that the user is attempting to create a listing for sale of a trading card, the system may provide a suggestion to provide an image of the trading card. In these ways, the user may be dynamically guided to provide additional user input that may best assist the user in creating a listing for the item.

<FIG> illustrates an exemplary system <NUM> for dynamically prompting users to provide additional information to assist the users in listing items for sale using electronic marketplace applications, in accordance with aspects of the present disclosure. The system <NUM> may include a user device <NUM> that may be configured to run or otherwise execute a client application <NUM>. Although only a single user device <NUM> is illustrated in <FIG>, in some examples the system <NUM> may include multiple user devices <NUM>. The one or more user devices <NUM> may include, but are not limited to, laptops, tablets, smartphones, and the like. Applications <NUM> that may run or otherwise execute on the one or more user devices <NUM> may include applications that allow users to engage with an electronic marketplace (sometimes referred to herein as "electronic marketplace applications"), for example to allow users to post listings to sell items and/or to browse listing to buy items in the electronic marketplace. In some examples, the applications <NUM> may include web applications, where such applications <NUM> may run or otherwise execute instructions within web browsers. In some examples, the applications <NUM> may additionally, or alternatively, include native client applications residing on the user devices <NUM>. The one or more user devices <NUM> may be communicatively coupled to an electronic marketplace application server <NUM> via a network <NUM>. The network <NUM> may be a wide area network (WAN) such as the Internet, a local area network (LAN), or any other suitable type of network. The network <NUM> may be a single network or may be made up of multiple different networks, in some examples.

With continued reference to <FIG>, the system <NUM> may include a product database <NUM>. The product database <NUM> may be communicatively coupled to the electronic marketplace server <NUM> and/or to the user device <NUM> via the communication network <NUM>, as illustrated in <FIG>, or may be coupled to the electronic marketplace application server <NUM> and/or to the user device <NUM> in other suitable manners. For example, the product database <NUM> may be directly connected to the electronic marketplace server <NUM>, or may be included as part of the electronic marketplace server <NUM>, in some examples. The product database <NUM> may be a single database or may include multiple different databases.

In aspects, the application <NUM> may allow a user <NUM> to create listings for sale of items for an electronic marketplace and/or to search for items for purchase in the electronic marketplace. To initiate listing of, or search for, a particular item, the user <NUM> enters or otherwise provides initial information indicative of the item via a user interface <NUM> of the application <NUM>. In particular, the user <NUM> begins entering one or more keywords describing the item into the user interface <NUM>. The application <NUM> may generate one or more messages <NUM> containing initial information provided by the user <NUM> and may transmit the one or more initial information messages <NUM> via the network <NUM> to the electronic marketplace application server <NUM>. In aspects, the application <NUM> may generate one or more initial information messages <NUM> to dynamically transmit the initial information to the electronic marketplace application server <NUM> as the information is being entered by the user <NUM> into the user interface <NUM>. For example, the application <NUM> may generate one or more initial information messages <NUM> to transmit each key stroke or each string containing multiple key strokes to the electronic marketplace application server <NUM> dynamically in response to detecting the keystrokes or the strings of keystrokes entered by the user <NUM> into the user interface <NUM>.

The electronic marketplace application server <NUM> may receive the one or more initial information messages <NUM>, and may provide the one or more initial information messages <NUM> to a product identification service <NUM> that may be running or otherwise executing on the electronic marketplace application server <NUM> and may include a product identification technique determination engine <NUM> and a product identification engine <NUM>. The product identification technique determination engine <NUM> determines, based on the initial information provided by the user <NUM>, a product identification technique that may best assist the user <NUM> in generating a listing for sale of the item via the electronic marketplace application <NUM>. For example, the product identification technique determination engine <NUM> may determine one or more computer vision services that may be employed to identify a product that may match the item being listed for sale by the user <NUM>. The one or more computer vision services are one or more of i) image recognition, ii) barcode scanning and iii) optical character recognition / image recognition. The product identification technique determination engine <NUM> determines a category of the item that is being listed by the user <NUM>, and determines the product identification technique based on the category of the item. For example, the product identification technique determination engine <NUM> may determine that the item being listed is a trading card, and may determine that image recognition may best assist the user in identifying a trading card that matches the trading card being listed by the user <NUM>. In other example, the product identification technique determination engine <NUM> may determine that the item being listed belongs to a category (e.g., books, phones, shoes, mugs, etc.) other than trading cards and may determine that a product identification technique other than image recognition (e.g., a barcode scan, OCR, etc.) may best assist the user in identifying the item and/or locating a product matching the item. As will be described in more detail below, in some aspects, the product identification technique determination engine <NUM> may determine a product identification technique additionally or alternatively based on one or more attributes that may be extracted from the initial user input provided for the item.

The product identification technique determination engine <NUM> generates an additional user input request message <NUM>, and causes the additional user input request message <NUM> to be transmitted via the network <NUM> to the user device <NUM>. The additional information request message <NUM> may indicate the determined product identification technique and request additional user input that corresponds to the determined product identification technique. The additional user input that the user is prompted to provide comprises one or more of i) a scan of a barcode associated with the item, ii) an image of the item, iii) an image of a particular portion of the item. The user may also be prompted to provide additional information specific to a category corresponding to the item.

The additional user input request message <NUM> is received by the user device <NUM> and is provided to the electronic marketplace application <NUM>. In response to receiving the additional user input request <NUM>, the electronic marketplace application <NUM> displays a prompt <NUM> in the user interface <NUM> to prompt the user <NUM> to provide the requested additional input. For example, in an aspect in which the additional user input request message <NUM> indicates that an image of the item should be obtained from the user <NUM>, the prompt <NUM> may comprise an icon or a button for launching a camera experience in the application <NUM>. The user <NUM> may click or otherwise engage with the camera icon or button to access a camera on the user device <NUM> via the application <NUM>, and may provide the requested images or images of the item from within the application <NUM>. In some aspects, if the additional user input request <NUM> additionally indicates an specific area of the item of which the image should be obtained from the user <NUM>, the prompt <NUM> may additionally display information regarding the specific area or areas of the item to direct the user <NUM> to point or focus the camera at the specific area or areas of the item.

As another example, in an aspect in which the additional user input request message <NUM> indicates that a barcode scan should be obtained from the user <NUM>, the prompt <NUM> may comprise a barcode icon or button for launching a barcode experience in the application <NUM>. The user <NUM> may click or otherwise engage with the barcode icon or button to access a barcode scanner on the user device <NUM> via the application <NUM>, and may provide the requested images or images of the item from within the application <NUM>. In some aspects, if the additional user input request <NUM> additionally indicates a location of the barcode on the item or on packaging of the item, the prompt <NUM> may display information to direct the user to the location of the barcode on the item. Yet another example, in an aspect in which the additional user input request message <NUM> indicates that a particular product experience should be engaged to obtain additional information from the user <NUM>, the prompt <NUM> may be an entry point for launching the particular product experience that may guide the user <NUM> to provide additional information. As still another example, in an aspect in which the additional user input request message <NUM> includes one or more questions to be provided to the user <NUM>, the prompt <NUM> may display the one or more questions to the user <NUM>, and may allow the user <NUM> to select or otherwise enter answers to the one or more questions presented to the user <NUM>. In other examples, the prompt <NUM> may direct or guide the user <NUM> to provide other types of additional information that may be indicated in the additional user input message <NUM>.

The application <NUM> provides additional information obtained from the user <NUM> to the electronic marketplace server <NUM>. The product identification service <NUM> uses the additional user input to identify the item and to create a listing for the item. For example, the product identification engine <NUM> of the product identification service <NUM> may search one or more product catalogues <NUM> in the database <NUM> for catalogue entries that may match the item and to obtain, from the one or more matching catalogue entries, information for populating a listing for the item. Additionally or alternatively, the product identification engine <NUM> may use the additional information for directly populating the listing for the item.

In some aspects, the product identification service <NUM> may implement an iterative process of requesting additional user input from the user <NUM> to better hone in on a product that may match the item being listed by the user <NUM>. As an example, the product identification engine <NUM> may identify based on the additional user input several products that may potentially match the item and may determine that the several potential products differ in one or more aspects, such as a color, a size, etc. of the item. In response, the product identification engine <NUM> may generate a further additional input request to prompt the user <NUM> to provide the one or more aspects, such as the color and/or the size of the item. Generally, directing the user <NUM> to provide specific additional user input, as determined based on the initial user input provided for the item, allows the electronic marketplace server application <NUM> to more efficiently and accurately identify the item and/or create a listing for the item, while also providing the user <NUM> an easier and more efficient process of listing or purchasing the item in the electronic marketplace.

While the product identification technique determination engine <NUM> and the product identification engine <NUM> are illustrated as being executed by the electronic marketplace server <NUM>, the product identification technique determination engine <NUM> and/or the product identification engine <NUM> may be at least partially executed at the electronic marketplace application <NUM>. For example, the product identification technique determination engine <NUM> may operate locally at the electronic marketplace application <NUM> to determine a product identification technique based on initial user input entered by the user <NUM> into the user interface <NUM> of the electronic marketplace <NUM>. Moreover, the product identification engine <NUM> may at least partially reside at the electronic marketplace application <NUM>.

<FIG> depicts an example of a product identification technique determination engine <NUM>, in accordance with aspects of the present disclosure. In an example, the product identification technique determination engine <NUM> corresponds to the product identification technique determination engine <NUM> of <FIG>. For ease of explanation, the product identification technique determination engine <NUM> is described with reference to <FIG>. In another example, the product identification technique determination engine <NUM> may be utilized in a system different from the system <NUM> of <FIG>.

The product identification technique determination engine <NUM> is configured to receive initial user input <NUM> that is provided by the user <NUM> via the user interface <NUM> of the electronic marketplace application <NUM>. The initial user input <NUM> is indicative of an item that the user <NUM> is attempting to list for sale via the electronic marketplace application <NUM>. The initial user input <NUM> comprises textual input, such as one or more keywords that are initially entered by the user <NUM>, for example. In aspects, the one or more keywords may be provided to the product identification technique determination engine <NUM> dynamically as the user <NUM> is entering the initial input. For example, the initial user input <NUM> may comprise a plurality of request messages that may be generated by the application <NUM> to include consecutive keystrokes or strings of keystrokes detected by the application <NUM> as the user is entering the initial input.

The product identification technique determination engine <NUM> is configured to determine, based on the initial user input <NUM>, a type of additional input that should be obtained from the user <NUM> to better assist the user <NUM> in listing of the item for sale via the electronic marketplace application <NUM>. For example, the product identification technique determination engine <NUM> may select a type of additional information for a plurality of available types including, for example, one or more of an image or a video stream of the item, an image or a video stream of a particular area of the item, an image of a barcode associated with the item, answers to one or more specific questions about the item, etc. The product identification technique determination engine <NUM> generates an additional user input request <NUM> indicating the type of additional information to be obtained from the user <NUM>, and causes the additional information <NUM> to be transmitted to the user device <NUM> via the network <NUM>. The electronic marketplace application <NUM> may display a prompt in the user interface <NUM> to guide the user to provide the additional information via the electronic marketplace application <NUM>.

The product identification technique determination engine <NUM> includes a category identifier <NUM>, an attribute extractor <NUM> and a technique identifier <NUM>. The category identifier <NUM> is configured to determine a category of the item. For example, the category identifier <NUM> determines a category of the item by mapping one or more keywords provided in the initial user input to a category. As a more specific example, the category identifier <NUM> may map keywords such as book, story, novel, etc. to a book category; keywords such as phone, iPhone, Android, etc. to a cell phone category; keywords such as sneaker, shoe, sandal, etc. to a shoe category; keywords laptop, portable computer, etc. to a portable computer category; etc. In some aspects, the category identifier <NUM> may indirectly determine the category from the initial user input, for example by determining that the item is a book by detecting that the user is entering a novel title, such as a Harry Potter novel title, for example.

The attribute extractor <NUM> may extract one or more specific attributes from the initial user input. For example, the attribute extractor <NUM> may extract, from the one or more keywords provided by the user, a brand of the item, a color of the item, a size of the item, etc. In some aspects, the attribute extractor <NUM> may extract one or more specific attributes based at least in part on the category identified by the category identifier <NUM>. For example, if the category identifier <NUM> identifies that the item belongs to the shoe category and the initial user input includes a number nine (<NUM>), the attribute extractor <NUM> may extract the number nine as the shoe size of the shoe. Additionally, if the initial user input includes the word Nike, the attribute extractor <NUM> may extract Nike as a brand of the shoe.

The technique identifier <NUM> determines a product identification technique that may best assist the user in listing the item for sale via the electronic marketplace application. The technique identifier <NUM> determines the product identification technique based on i) the category of the item identified by the category identifier <NUM> and, optionally, ii) the one or more attributes extracted by the attribute extractor <NUM>. As an example, if the category identifier <NUM> identifies the item as a book, the technique identifier <NUM> may determine that a barcode scan or an ISBN may best assist the user in listing the item. Moreover, the technique identifier <NUM> may determine that the barcode to be scanned appears on the back cover of the book. As another example, if the category identifier <NUM> identifies the item as a shoe and the attribute extractor <NUM> extracts Nike as the brand of the shoe, the technique identifier <NUM> may determine that a barcode scan may best assist the user in listing the item and may further determine that the barcode to be scanned is located on the underside of the tongue of the shoe. As yet another example, if the category identifier <NUM> identifies the item as a laptop and the attribute extractor <NUM> extracts a particular brand (e.g., Toshiba) as the brand of the laptop, the technique identifier <NUM> may determine that OCR may best assist the user and may further determine that the user should provide an image of a particular area (e.g., bottom right corner) of the back side of the laptop because that is where a model is typically indicated for the particular laptop brand.

In an aspect, the technique identifier <NUM> determine the product identification technique by searching an identification selection rules database <NUM> based on the category of the item and/or one or more attributes extracted from the initial user input for the item. The identification selection rules database <NUM> may store associations between categories, attributes and product identification techniques and, in some aspects, additional information such as specific barcode locations, item areas for which images should be obtained, etc. In some aspects, the technique identifier <NUM> may additionally, or alternatively, utilize other suitable identification techniques, such as one or more machine learning models (e.g., neural networks) that may be trained to determine a product identification technique based on one or more of i) initial input provided for an item, ii) a category of the item, iii) one or more attributes extracted from the initial input provided for the item, iv) additional input that may be provided for the item, etc..

The product identification technique determination engine <NUM> is configured to generate an additional user input request <NUM>, and causes the additional user input request <NUM> to be transmitted to the electronic marketplace application <NUM> to cause a prompt for obtaining additional information corresponding to the determined product identification technique to be displayed to the user <NUM> in the user interface <NUM> of the marketplace application <NUM>.

<FIG> depicts an example user interface prompt <NUM> that may be dynamically displayed in a user interface <NUM> of an electronic marketplace application <NUM> to prompt a user to provide additional item identification information, in accordance with aspects of the present disclosure. In an aspect, the electronic marketplace application <NUM> may correspond to the electronic marketplace application <NUM> of the system <NUM> of <FIG>. The user interface prompt <NUM> may correspond to the user interface prompt <NUM> of <FIG>. For ease of explanation, the user interface prompt <NUM> is described with reference to <FIG>. In another example, the user interface prompt <NUM> may be dynamically displayed to a user in a system different from the system <NUM> of <FIG>.

The user interface <NUM> may display a field <NUM> (e.g., a search box) for entering initial information indicative of the item. The field <NUM> may allow the user <NUM> to enter one or more keywords that may described the item. As the user is entering the one or more keywords that may describe the item, the application <NUM> may generate one or more requests for suggestions to be transmitted to the suggestion service <NUM> on the server device <NUM>. The one or more requests may include the initial information being entered by the user <NUM> into the field <NUM>. In an aspect, the application <NUM> may generate a plurality of requests each including information indicating one or more keystrokes detected as the user <NUM> is entering the initial information into the field <NUM>. As an example, in an aspect, a request per keystroke may be generated by the application <NUM>. As another example, a request per multiple (e.g., <NUM>, <NUM>, <NUM>, etc.) consecutive keystrokes may be generated by the application <NUM>.

The one or more requests generated by the application <NUM> may be transmitted via the network <NUM> to the server device <NUM>, and may be provided to the product identification service <NUM> running or otherwise executed on the server device <NUM>. The product identification technique determination engine <NUM> of the suggestion service <NUM> determines, based on the initial user input received from the user device <NUM>, a product identification technique that may best assist the user in listing the item for sale via the application <NUM>. For example, the product identification technique determination engine <NUM> may determine one or more computer vision services that may be employed to identify a product that may match the item being listed for sale by the user <NUM>. The one or more computer vision services are one or more of i) image recognition, ii) barcode scanning and iii) optical character recognition / image recognition. The identification technique determination engine <NUM> determines a category of the item that is being listed by the user <NUM>, and determines the product identification technique based on the category of the item. For example, the identification technique determination engine <NUM> may determine that the item being listed is a trading card, and may determine that image recognition may best assist the user in identifying a trading card that matches the trading card being listed by the user <NUM>. In other examples, the identification technique determination engine <NUM> may determine that the item being listed belongs to a category (e.g., books, phones, shoes, mugs, etc.) other than trading cards and may determine that a product identification technique other than image recognition (e.g., a barcode scan, OCR, etc.) may best assist the user in identifying the item.

In some aspects, the identification technique determination engine <NUM> may additionally determine, based on the initial user input, additional information that may assist the user <NUM>, such as a location of a barcode to be scanned by the user <NUM>, an area of the item at which the user <NUM> may point the camera for obtaining an image, etc. Additionally or alternatively, the identification technique determination engine <NUM> may additionally determine, based on the initial user input, one or more questions about the item that may be presented to the user, a particular user interface experience for listing the item that may be suggested to the user, etc..

The suggestion service <NUM> may cause the prompt <NUM> to be displayed in the user interface <NUM> to prompt the user <NUM> to provide additional information corresponding to the product identification technique determined by the identification technique determination engine <NUM>. In aspects, the suggestion service <NUM> causes the prompt <NUM> to be dynamically displayed to the user <NUM> in the user interface <NUM> as the user <NUM> is entering the initial user input into the field <NUM>. In an aspect, the suggestion service <NUM> may generate an additional user input request indicating the product identification technique determined by the identification technique determination engine <NUM> and/or information regarding additional user input that corresponds to the product identification technique determined by the identification technique determination engine <NUM> and may cause the additional user input request to be transmitted to the user device <NUM>. Such additional user input request may be, for example, transmitted to the user device <NUM> dynamically, in response to the product identification technique determination made by the product identification technique determined by the identification technique determination engine <NUM>, as the user <NUM> is entering the initial user input into the user input field <NUM>. In response to receiving the additional user input request, the application <NUM> may dynamically display the prompt <NUM> to prompt the user <NUM> to provide the additional information. The prompt <NUM> may be, for example, a button or an icon that may provide an entry point to a camera that may be used to provide one or more images of the item, as in the case when the item being listed by the user <NUM> is a trading card, as in the illustrated embodiment. The user <NUM> may therefore tap on or otherwise engage with the button or the icon to launch a camera experience in the application <NUM>. The user <NUM> may then point a camera of the user device <NUM> at the trading card, thereby providing one or more images of the trading card to the product identification service <NUM>. In other aspects, the prompt <NUM> may be, for example, a button or an icon that may provide an entry point to a barcode scanner experience that may be used to provide a scan of barcode associated with the item, an entry point to initiate a custom experience for listing the item, etc..

In aspects, the user interface <NUM> additionally provides one or more suggestions <NUM> providing additional keywords for selection by the user <NUM>. The additional keywords may be identified based on the initial keywords entered by the user <NUM> into the field <NUM>. In aspects, the additional keywords may be determined by the product identification service <NUM> concurrently with the product identification technique determination by the product identification service <NUM>. The additional keywords may be transmitted to the user device <NUM> from the product identification service <NUM> concurrently with the indication of the determined product identification technique being transmitted to the user device <NUM> from the product identification service <NUM>. For example, one or more additional keywords identified based on the on the initial keywords entered by the user <NUM> may be included in the additional user request message that also indicates the determined product identification technique identified based on the on the initial keywords entered by the user <NUM> and/or may be included in one or more messages transmitted from the product identification service <NUM> separately from the additional user request message.

In an aspect, the user <NUM> may select a suggestion <NUM> in addition to or instead of engaging with the prompt <NUM>. Thus, one or both of the additional user input prompted by the prompt <NUM> and a selected suggestion <NUM> may be provided as additional user input to the product identification service <NUM>. In an aspect, the user interface <NUM> includes an icon or a button, such as a "GO" button <NUM>, which allows the user <NUM> to dispatch user input entered into the field <NUM>, which may include a selected suggestion <NUM>, to the product identification service <NUM> without engaging with the prompt <NUM>. In an aspect, the user interface <NUM> includes additionally includes barcode icon or button <NUM> that may allow the user <NUM> to provide a scan of a barcode associated with the item even if a barcode scan is not suggested by the prompt <NUM>. In other aspects, one or more of the suggestions <NUM>, the GO icon or button <NUM> and the barcode icon or button <NUM> may be omitted from the user interface <NUM>.

<FIG> illustrates an exemplary method <NUM> for assisting a user in listing an item for sale in an electronic marketplace via an electronic marketplace application, in accordance with aspects of the present disclosure. In one example, the method <NUM> may be performed by a client device to assist a user in listing an item for sale in an electronic marketplace using an electronic marketplace application. A general order of the operations for the method <NUM> is shown in <FIG>. The method <NUM> can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Further, the method <NUM> can be performed by gates or circuits associated with a processor, an ASIC, an FPGA, a SOC or other hardware device. Hereinafter, the method <NUM> shall be explained with reference to the systems, components, devices, modules, software, data structures, data characteristic representations, signaling diagrams, methods, etc., described in conjunction with <FIG>, <FIG>, <FIG>, <FIG> and <FIG>.

Method <NUM> begins at operation <NUM> at which initial user input indicative of the item is received. The initial user input is entered by the user into a user interface of the electronic marketplace application. The initial user input comprises one or more keywords entered by the user into the user interface of the electronic marketplace application. The initial user input may additionally include other user input indicative of an item, such as an image or a video stream depicting the item. The initial user input may be received dynamically as the user is entering the user input into the user interface of the electronic marketplace application. For example, a plurality of requests may be received, each request indicating one or more detected keystrokes as the user is entering one or more keywords into the user interface user interface of the electronic marketplace application.

At operation <NUM>, a product identification technique for assisting the user in listing of the item for sale in the electronic marketplace is determined based on the initial user input received at operation <NUM>. In aspects, determining the product identification technique at operation <NUM> includes selecting the product identification technique from among multiple product identification techniques which are one or more of i) image recognition, ii) barcode scanning and iii) optical character recognition / image recognition. A category of the item is determined based on the initial user input, and the product identification technique is determined based at least in part on the category of the item. As an example, image recognition may be selected if the item is a trading card whereas barcode scanning is selected if the item is a book. In some aspects, the product identification technique is additionally or alternatively determined based at least in part based on one or more attributes of the item that may be extracted from the initial user input. In other embodiments, other suitable parameters may additionally, or alternatively, be utilized to determine the product identification technique based on the initial user input received at operation <NUM>.

At operation <NUM>, a prompt is displayed to the user in the user interface of the electronic marketplace application to suggest to the user to provide additional user input corresponding to the product identification technique determined at operation <NUM>. For example, additional user input request may be generated and provided to the electronic marketplace application to cause the prompt to be displayed to the user, where the additional user input request may indicate the product identification technique determined at operation <NUM>. The additional user input that the user may be prompted to provide comprises one or more of i) a scan of a barcode associated with the item, ii) an image of the item, iii) an image of a particular portion of the item. The additional user input may also comprise additional information specific to a category corresponding to the item.

At operation <NUM>, the additional user input provided by the user may be received. For example, one or more of i) a scan of a barcode associated with the item, ii) an image of the item, iii) an image of a particular portion of the item, and iii) additional information specific to a category corresponding to the item may be received. The additional user input may be provided by the user by engaging with the prompt displayed to the user to launch a corresponding experience (e.g., a camera experience, a barcode experience, etc.) in the user interface of the electronic marketplace application.

At operation <NUM>, a listing for sale of the item is generated. The listing for sale of the item is generated based at least in part on a product identification that utilizes the product identification technique determined at operation <NUM> and the corresponding additional user input received at operation <NUM>. For example, image recognition or a barcode scan may be performed based on one or more images of the item or an image of the barcode that may be received at operation <NUM> to locate a matching product in a database. The listing may then be generated based on product information that may be associated with the matching product in the database.

At operation <NUM>, the listing for sale of the item generated at operation <NUM> is provided for display to the user in the user interface of the electronic marketplace application. The user may then accept the listing, edit the listing, add details to the listing etc., prior to publishing the listing via the user interface of the electronic marketplace application.

<FIG> illustrates an exemplary method <NUM> for assisting a user in listing an item for sale in an electronic marketplace via an electronic marketplace application, in accordance with aspects of the present disclosure. In one example, the method <NUM> may be performed by a server device to determine a type of additional item identification information to be obtained to assist a user in listing an item for sale via an electronic marketplace. A general order of the operations for the method <NUM> is shown in <FIG>. The method <NUM> can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Further, the method <NUM> can be performed by gates or circuits associated with a processor, an ASIC, an FPGA, a SOC or other hardware device. Hereinafter, the method <NUM> shall be explained with reference to the systems, components, devices, modules, software, data structures, data characteristic representations, signaling diagrams, methods, etc., described in conjunction with <FIG>, <FIG>, <FIG>, <FIG> and <FIG>.

Method <NUM> begins at operation <NUM> at which initial user input indicative of an item is detected when the initial user is entered by the user into a user interface of the electronic marketplace application. The initial user input comprises one or more keywords entered by the user into the user interface of the electronic marketplace application. The initial user input may additionally include other user input indicative of an item, such as an image or a video stream depicting the item. The initial user input may be detected dynamically as the user is entering the user input into the user interface of the electronic marketplace application. For example, each keystroke may be detected as the user is entering one or more keywords into the user interface user interface of the electronic marketplace application.

At operation <NUM>, a prompt is displayed in the user interface of the electronic marketplace application to prompt the user to provide additional user input corresponding to a product identification technique to be used for assisting the user in listing the item for sale in the electronic marketplace. The product identification technique to be used in assisting the user is determined based on the initial user input indicating of the item. In aspects, the product identification technique is selected, based on the initial user input, from among multiple identification techniques which are one or more of i) image recognition, ii) barcode scanning and iii) optical character recognition / image recognition. In aspects, the additional user input that the user is prompted to provide may comprise one or more of i) a scan of a barcode associated with the item, ii) an image of the item, iii) an image of a particular portion of the item. The user may be also prompted to provide additional information specific to a category corresponding to the item. In other aspects which do not form part of the claimed invention, other product identification techniques may be determined based on the initial user input and/or the user may be prompted to provide other types additional user input.

At operation <NUM>, the additional user input provided by the user is received. For example, one or more of i) a scan of a barcode associated with the item, ii) an image of the item, iii) an image of a particular portion of the item, and iii) additional information specific to a category corresponding to the item may be received. The additional user input may be provided by the user by engaging with the prompt displayed to the user to launch a corresponding experience (e.g., a camera experience, a barcode experience, etc.) in the user interface of the electronic marketplace application.

At operation <NUM>, a listing for sale of the item is displayed to the user in the user interface of the electronic marketplace application. The listing is generated based on information associated with a product identified using the product identification technique based on the additional user input provided by the user. For example, image recognition or a barcode scan may be performed based on one or more images of the item or an image of the barcode that may be received at operation <NUM> to locate a matching product in a database. The listing may then be generated based on product information that may be associated with the matching product in the database. The user may then accept the listing, edit the listing, add details to the listing etc., prior to publishing the listing via the user interface of the electronic marketplace application.

<FIG> illustrates a simplified block diagram of the device with which aspects of the present disclosure may be practiced in accordance with aspects of the present disclosure. One or more of the present aspects may be implemented in an operating environment <NUM>. This is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality. Other well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics such as smartphones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.

In its most basic configuration, the operating environment <NUM> typically includes at least one processing unit <NUM> and memory <NUM>. Depending on the exact configuration and type of computing device, memory <NUM> (instructions for performing product identification services described herein) may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or some combination of the two. This most basic configuration is illustrated in <FIG> by dashed line <NUM>. Further, the operating environment <NUM> may also include storage devices (removable, <NUM>, and/or non-removable, <NUM>) including, but not limited to, magnetic or optical disks or tape. Similarly, the operating environment <NUM> may also have input device(s) <NUM> such as keyboard, mouse, pen, voice input, on-board sensors, touch screens, accelerometers, etc. and/or output device(s) <NUM> such as a display, speakers, printer, motors, etc. Also included in the environment may be one or more communication connections, <NUM>, such as LAN, WAN, a near-field communications network, point to point, etc..

Operating environment <NUM> typically includes at least some form of computer readable media. Computer readable media can be any available media that can be accessed by at least one processing unit <NUM> or other devices comprising the operating environment. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible, non-transitory medium which can be used to store or carry the desired information. Computer storage media does not include communication media. A computer-readable medium includes a computer storage medium and any form of carrier medium, such as a communication medium, a carrier wave or other propagated or modulated data signal.

Communication media embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

Claim 1:
A method implemented at a user device (<NUM>) for assisting a user in listing an item for sale in an electronic marketplace, the method comprising:
receiving (<NUM>) initial user input indicative of the item, the initial user input comprising one or more keywords input by the user into a user interface (<NUM>) of an electronic marketplace application (<NUM>) at the user device (<NUM>);
determining, based on the one or more keywords, a category corresponding to the item;
determining (<NUM>), based on the category corresponding to the item, a product identification technique for assisting the user in listing of the item for sale in the electronic marketplace, wherein the product identification technique is one or more of image recognition, barcode scanning and optical character recognition;
displaying (<NUM>) a prompt to the user in the user interface (<NUM>) of the electronic marketplace application (<NUM>) to prompt the user to provide additional user input corresponding to the determined product identification technique, wherein the additional user input comprises one or more of a scan of a barcode associated with the item, an image of the item, and an image of a particular portion of the item;
receiving (<NUM>, <NUM>) the additional user input provided by the user;
generating (<NUM>), based on the additional input provided by the user, a listing for sale of the item; and
displaying (<NUM>) the listing to the user in the user interface (<NUM>) of the electronic marketplace application (<NUM>).