Probabilistic Item Matching and Search
Probabilistic item matching and search algorithms using NLP and machine learning improve item identification and pricing on online platforms, addressing accuracy and efficiency issues in item matching and pricing.
Patent Information
- Application Number
- JP2024000700
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-02-28
- Filing Date
- 2024-01-05
- Publication Date
- 2025-06-25
- Estimated Expiration
- 2039-10-01
AI Technical Summary
Existing online platforms face challenges in accurately matching and pricing items due to inconsistent item descriptions, leading to confusion for buyers and sellers, and lack of reliable methods for sellers to price items for timely sales with desired profit.
Implementing probabilistic item matching and search algorithms using natural language processing, neural networks, and machine learning to identify and categorize items, and generate price recommendations based on historical data and market trends.
Enhances the accuracy of search results and pricing recommendations, reducing user effort and improving the efficiency of transactions by ensuring faster delivery and optimal pricing.
Smart Images

Figure 0007698750000001 
Figure 0007698750000002 
Figure 0007698750000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications
[0001] This application claims the benefit of U.S. Patent Application No. 62 / 740,165, entitled "Probabilistic Search Biasing and Recommendations", filed on October 2, 2018; U.S. Patent Application No. 62 / 740,182, entitled "Probabilistic Item Matching and Searching", filed on October 2, 2018; U.S. Patent Application No. 16 / 288,373, entitled "Probabilistic Search Biasing and Recommendations", filed on February 28, 2019; and U.S. Patent Application No. 16 / 288,379, entitled "Probabilistic Item Matching and Searching", filed on February 28, 2019. Also, with respect to U.S. Patent Application No. 16 / 288,199, entitled "Inventory Ingestion, Image Processing, and Market Descriptor Pricing System", filed on February 28, 2019; U.S. Patent Application No. 16 / 288,203, entitled "Inventory Ingestion and Pricing System", filed on February 28, 2019; U.S. Patent Application No. 16 / 288,158, entitled "Determining Sellability Score and Cancellability Score", filed on February 28, 2019; and U.S. Patent Application No. 16 / 415,237, entitled "Inventory Ingestion and Pricing, Including Enhanced New User Experience Embodiments", filed on May 17, 2019, all of which are hereby incorporated by reference in their entirety.
[0002]
[0002] This disclosure generally relates to computer-implemented search and recommendation generation based on probabilistic analysis of large datasets.
Background Art
[0003]
[0003] Often, when interested in buying and selling items via an online platform, it can be difficult to find that item and similar items. For example, it can be a challenge for vendors and for the selling platform to describe for-sale items in such a way that multiple different listings for the same item do not occur. Similarly, for a buyer searching for a particular item, receiving multiple different results regarding what could be the same item can be confusing because they may receive a purchased item that does not match the item description at the time of the initial transaction. Thus, both purchasers and vendors have struggled with the accuracy of search results and matching items.
Summary of the Invention
Problems to be Solved by the Invention
[0004]
[0004] The related problems relate to providing and receiving relevant search results within the service terms of use or other significant constraints of a given trading platform. For example, all else being equal, a purchaser may want to receive an item as soon as possible, and the platform may want to provide a quality of service (QoS) level or service level agreement (SLA) to pair the purchaser with a seller who can ship and deliver the item as soon as possible. Similarly, a seller may have no reliable way to guess how to price an item to move it within a particular time window, or for a particular profit, or to have a chance of closing a sale. In a consumer-to-consumer (C2C) market, including C2C e-commerce, both purchasers and sellers have long felt the need for a smarter platform that facilitates these aspects of marketing and makes these simpler solutions more transparent and less laborious.
Means for Solving the Problems
[0005]
[0005] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure and further to enable one of ordinary skill in the art to make and use the embodiments.
Brief Description of the Drawings
[0006]
Figure 1
[0006] A diagram showing an exemplary system useful for implementing a method including probabilistic item matching and search, according to some embodiments.
Figure 2
[0007] A diagram showing an exemplary system useful for implementing a method including probabilistic search bias application and recommendation, according to some embodiments.
Figure 3
[0008] A diagram showing an exemplary screen display including an exemplary prompt for requesting an amount input, according to some embodiments.
Figure 4
[0009] A flowchart showing a method including probabilistic item matching and search, according to some embodiments.
Figure 5
[0010] A flowchart showing a method including probabilistic search bias application and recommendation, according to some embodiments.
Figure 6
[0011] A block diagram of a general-purpose computer that can be used to execute various aspects of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0007]
[0012] In the drawings, like reference numerals generally indicate identical or similar elements. Further, generally, the leftmost digit of a reference numeral identifies the drawing in which that reference numeral first appears.
[0008]
[0013] This specification provides embodiments of systems, apparatuses, devices, methods, and / or computer program products for providing probabilistic item matching, search, search bias application, recommendation, and / or any combination thereof, and / or combinations and sub-combinations thereof.
[0009]
[0014] FIG. 1 is a diagram showing an exemplary system useful for implementing a method including probabilistic item matching and search, according to some embodiments.
[0010]
[0015] On the left side of FIG. 1 is a depiction of a seller and a sales application (app), which in some embodiments can be used to display listed sales items and create new listings of sales items. These depictions include the front-end design of the app, which can be a web app, a mobile app (e.g., native, web-based, or hybrid), and can include various levels of user interaction. The interaction with the purchaser rather than the seller can, in some embodiments, include a similar interaction with the app.
[0011]
[0016] From the center to the right side of FIG. 1 is a depiction of an exemplary back-end architecture that may be useful for implementing probabilistic item matching and searching, according to one embodiment. Overall, the components shown in FIG. 1 can be treated as, among other things, constituting an exemplary system 100, which can handle the operations of storing, retrieving, and / or computing data (such as item data, metadata, listings, databases, etc.) on the back-end and handle the input, output, results, and related interactions on the front-end.
[0012]
[0017] In addition to the interaction with the user (e.g., purchaser / seller), the back-end can process inputs from the user and / or various other sources. For example, if a seller provides an input regarding an item for a new listing, the back-end can attempt to confirm the identification of what the seller is trying to list through other inputs. The other inputs can, in some embodiments, prompt the seller, be automatically derived from other sources, or be a combination of both.
[0013]
[0018] To generate a proposed price recommendation, the backend can perform any of the following, in any order: (1) match the item with old items in the backend database of the listing, such as on the same platform; (2) match the item with feed data from data partners via a subscription service between the same platform and third-party providers; (3) match the item with listings scraped from public sources such as other C2C platforms, business-to-consumer (B2C) consignment sites, and / or other e-commerce websites including retail platforms; and (4) confirm with the seller, including prompting the seller for input to check whether any information obtained from (1), (2), (3), or any combination thereof is correct according to the seller.
[0014]
[0019] Regardless of whether user input regarding the item is received and analyzed, or whether any of (1), (2), or (3), or any combination thereof, is checked, any matching can be performed at any stage of such processing as described herein. More specifically, the term "matching" may refer to more than just determining that text strings or other data sequences match.
[0015]
[0020] For example, the matching in any of the above scenarios can include the use of natural language processing (NLP) techniques, which can include identifying synonyms (e.g., including any abbreviations, acronyms, contractions, or expansions using a thesaurus or lookup table), further searching for matches to the found synonyms, identifying and / or further searching for any other semantically related words to perform additional matching, performing word stemming based on at least one language and corresponding morphological rule set, identifying spelling mistakes and performing additional matching by identifying the spelling mistakes as the same as the correct spelling (or correcting the spelling mistakes in another way), as well as doing similar things for similar processing. Thus, in some embodiments, the matching can be recursive. Using similar language analysis of the input or item description, modifiers, such as adjectives describing size or color, can be separated from other name-related identifiers, such as nouns specifying a name or item.
[0016]
[0021] Furthermore, the matching can be performed not only for generic or category descriptions, but also for proper nouns, such as brand names, trademarked common names, etc. In some embodiments, a classification algorithm, or other neural network or artificial intelligence can be used to extract related words from an unstructured word set such as a search query, user input, or item description obtained from (1), (2), or (3) above. Thus, a given classifier can "understand" terms that may be intended as brand names from a given unstructured word set compared to generic descriptions, and can be configured to update any database, library, or lookup table, etc., to include brand information along with a generic in a particular category or subcategory, for example, to improve the matching. The matching algorithm or any component can be biased or adjusted with respect to precision or recall.
[0017]
[0022] In some embodiments, the matching as described above can be performed locally on a client device, such as a personal computer (PC), or a mobile device such as a smartphone or a tablet computer, remotely on an infrastructure of a self-hosted service (including dedicated servers, virtual private servers (VPS), or on-premises clouds), remotely via a third-party service, or any combination thereof. In embodiments where the matching operation can be performed via multiple devices, a specific matching operation can be performed locally and the intermediate results can be sent to a remote service for confirmation, verification, other further processing, or any combination thereof.
[0018]
[0023] In one embodiment, one way to identify an item or the type of an item may be to elucidate the proposed new offering to correspond to a unique identifier, which can be done, for example, by comparison with items already mapped to unique identifiers. And the information about the item thus identified can more reliably correlate with, for example, the information of other equivalent items offered in a backend database or other sources. Accordingly, search biasing and price recommendations can be provided, which will be further described below with respect to FIGS. 2 and 5, and are also further described in the application entitled "Probabilistic Search Biasing and Recommendations" (U.S. Application No. 16 / 288,373), which is incorporated herein by reference.
[0019]
[0024] There may be very unique items (e.g., one-of-a-kind items, custom-made items, craft items, personalized items, etc.) that do not have a unique identifier corresponding to other items of the same type, and there may be no unique identifier to which other similar items are mapped. In such cases, the backend can proceed differently (not shown), for example, in some exemplary embodiments, it automatically references other platforms (e.g., those for custom or craft items) for duplicate listings or immediately prompts the seller to confirm such uniqueness.
[0020]
[0025] In some embodiments, the reference or value can be a unified, general-purpose, and / or unique identifier, including but not limited to, for example, a Stock Keeping Unit (SKU), Universal Product Code (UPC), Uniform Resource Identifier (URI), Uniform Resource Locator (URL), Uniform Resource Name (URN), International Standard Book Number (ISBN), Amazon Standard Identification Number (ASIN), etc., to which a given item can be mapped. Additionally or alternatively, the value can include, for example, a checksum, fingerprint, signature, digest, hash, encrypted hash, etc., corresponding to at least one of the first input or the second input (e.g., an enumerated selector such as a string item description, a specific text field for brand name, size, model year, etc.) for tracking inputs and outputs and / or determining duplicate inputs. For the purposes of FIG. 1 and the accompanying description, mapping a given item to a unique identifier may also be referred to as SKU-level matching or SKU-level data.
[0021]
[0026] In the initial input stage, or any subsequent input stage such as action (4), system 100 can, for example, request additional user input via an app. The input can be, for example, text in the form of a string, a photo image, voice recognition, other characteristic sounds or voiceprints. Text-based input via the app can prompt the user to enter a few information fields according to a wide range of categories of items offered for sale, rather than a comprehensive description of all functions. In many cases, even basic text information can enable the backend to clarify SKU-level data or, at least, present the seller with a few possible candidate items for correct item identification.
[0022]
[0027] In addition to text-based strings or images, mathematical signatures or cryptographic signatures in any representation can also be used. Barcodes or other patterns or sequences can be used. Other possible types of input include, but are not limited to, vibration patterns, chemical samples and their analysis, radiation, measurements of electrical and / or magnetic signals, or any other environmental sensor input.
[0023]
[0028] Other forms of input can be received, such as outputs from other computer programs or algorithms, for example, neural network outputs, perceptron outputs, image recognition outputs, classification outputs, or other types of outputs. These outputs can be based on other user inputs, such as photo data, voice or audio data, or those of other third-party resources, feeds, etc. Any or all of such inputs can be generated by a mobile device such as a tablet computer or a smartphone in some embodiments.
[0024]
[0029] In the case of image input, a user attempting to create a new item for sale can be prompted to take at least one photo of the item to be listed. The photo image data of the photo can be processed locally on the device running the app, or can be sent to the backend or a third party for initial processing and / or further processing. The processing of the photo image data can include the use of artificial intelligence. The processing of the image data can include, for example, feeding the image data to a neural network, a perceptron, or a classifier. In some embodiments, computer-implemented image recognition can be used to process the image data, such as by using at least one computer vision algorithm. Any of the above techniques or their equivalents can be used to perform operations such as, for example, classification, object recognition, and / or reverse image search, to name a few non-limiting examples.
[0025]
[0030] Any neural network described herein can include at least one artificial neural network (ANN). The ANN can include at least one of, for example, a feedforward neural network, a recurrent neural network, a modular neural network, or a memory network, to name a few non-limiting examples. For example, in the case of a feedforward neural network, this can further correspond to at least one of, in some embodiments, a convolutional neural network, a probabilistic neural network, a time-delay neural network, a multilayer perceptron, an autoencoder, or any combination thereof. Such an ANN can have multiple layers, and in some embodiments, these layers can be tightly coupled, which can be, for example, in some embodiments, when an activation function can be reused from a particular layer, or when the activation of one or more layers is skipped to solve a particular calculation.
[0026]
[0031] For example, in a further embodiment based on convolutional neural network (CNN) processing, such a CNN can further integrate at least some filters (e.g., edge filters, horizon filters, color filters, etc.). These filters can include, for example, some of edge detection algorithms, color filtering algorithms, and / or predetermined thresholds. For a desired result, a given ANN including a CNN can be designed, customized, and / or modified in various ways according to some criteria in some embodiments.
[0027]
[0032] Image recognition here can also utilize machine learning in some embodiments. The image recognition system can be trained using, for example, products from a backend database, feed data from a data partner, products scraped from public sources, or any other source of accurate training data. Image recognition can be further configured to detect and interpret barcodes, quick response (QR) codes, labels, tags, logos, trademarks, and / or any other definitive features of an item. In some embodiments, image recognition can further perform optical character recognition (OCR) and use natural language processing (NLP) to interpret text. Thus, by using image recognition to identify the item being produced or at least candidate items, confirmation and selection can be made, and the selected items can be updated based on new information and calculations that can later be introduced via various input sources.
[0028]
[0033] As discussed above, actions (1)-(4) taken by system 100 can be performed or skipped arbitrarily and executed in any order based on any other optional automatic or manual determination. However, considering reliability, computational efficiency, time, and in some cases (e.g., accessing a specific platform) cost, one default configuration may be to first check in (1) the backend database on the same platform, and if (1) sufficiently meets the conditions (e.g., provides data points for a list of candidate items and / or other data points for verifying or updating the selected item), actions (2)-(4) can be bypassed and any update or verification actions can be skipped. Further, subsequent actions can be made "smart", or responses or results from previous actions can be considered when the results become available.
[0029]
[0034] Similarly, if (1) does not meet the conditions, or if further input is separately required, system 100 can proceed to the execution of action (2) or (3) depending on which is more efficient or other factors. Additionally or alternatively, in some embodiments, for the sake of clarification that may be faster, actions (1)-(4) can all be executed in parallel.
[0030]
[0035] Depending on a given platform and / or a given seller, the seller's input can be treated as less reliable than the input collected from any of (1)-(3). In some embodiments, if any or all of (1)-(3) are still insufficient for some reason or for some other reason, optionally proceed to (4) to, for example, request additional seller input, confirmation, or adjustment. The action taken in (4) can, in some embodiments, include providing further prompts to the seller that include further details describing the item being offered and / or confirmation of whether the selected item or other candidate item can match the item being offered.
[0031]
[0036] When the system 100 "understands" what the item is, such as by artificial intelligence, image recognition, or other means available to the system 100, additional calculations can be performed to analyze and categorize the item based on other data or corresponding metadata, such as price, condition, marketability trends, etc. Further details regarding these additional calculations are described below with respect to FIGS. 2 and 5 and are further described in the application entitled "Probabilistic Search Biasing and Recommendations" (U.S. Application No. 16 / 288,373), which is incorporated by reference.
[0032]
[0037] FIG. 2 is a diagram showing an exemplary system useful for implementing a method including probabilistic search biasing and recommendations, according to some embodiments.
[0033]
[0038] On the left side of FIG. 2 is a depiction of a seller and a sales application (app), which in some embodiments can be used to display offered sales items and to create new listings of sales items. These depictions include the front-end design of the app, which can be a web app, a mobile app (e.g., native, web-based, or hybrid), and can include various levels of user interaction. The interaction with the purchaser rather than the seller can, in some embodiments, include a similar interaction with the app.
[0034]
[0039] From the center to the right side of FIG. 2 is a depiction of an exemplary back-end architecture that may be useful for implementing probabilistic search bias application and recommendations, according to one embodiment. Overall, the components shown in FIG. 2 can be treated as, among other things, constituting an exemplary system 200 that can handle the operations of storing, retrieving, and / or computing data (such as item data, metadata, listings, databases, etc.) at the back end and can handle the input, output, results, and related interactions at the front end.
[0035]
[0040] In addition to the interaction with the user (e.g., purchaser / seller), the back end can process inputs from the user and / or various other sources. For example, if a seller provides an input regarding an item for a new listing, the back end can attempt to confirm, via other inputs, the identification of what the seller is trying to list and its typical or equivalent listing price, e.g., on the same market platform, other market platforms, consignment stores, retail stores, or combinations thereof. The other inputs can, in some embodiments, prompt the seller, be automatically derived from other sources, or be a combination of both.
[0036]
[0041] In one embodiment, one way to collect prices may start with items that have already been confirmed to match a given item in the database. An example of this is described herein with respect to FIGS. 1 and 4 and is further described in the application entitled "Probabilistic Item Matching and Searching" (U.S. Application No. 16 / 288,379), which is incorporated by reference. For items thus confirmed, any corresponding price information can be expected to more reliably correlate with the item the seller is trying to list. Accordingly, price recommendations can be generated.
[0037]
[0042] Conversely, for unique items (e.g., one-of-a-kind items, custom-made items, craft items, personalized items, etc.) that may not have unique identifiers corresponding to other items of the same type, the backend can proceed differently (not shown). For example, in some exemplary embodiments, introduce the seller to listings within the same broad category of the unique item (e.g., based on broad category user input), automatically generate a price based on a broad category or equivalent platform for such unique items, and / or reject providing equivalent or suggested price recommendations.
[0038]
[0043] To generate a proposed price recommendation, the backend, in some embodiments, (1) matches against old listings in the backend database of the listing, (2) matches against feed data of data partners via a subscription service, such as between the same platform and third-party providers, (3) matches against listings scraped from public sources, such as other C2C platforms, business-to-consumer (B2C) consignment sites, and / or other e-commerce websites, including retail platforms, and (4) optionally receives advice automatically generated from the backend for price confirmation or for reasons and amounts for which a seller may desire a price readjustment and prompts the seller for input to readjust the price, and any of these can be performed in any order.
[0039]
[0044] In any of steps (1), (2), or (3) of system 200, price information can be collected and statistically analyzed with respect to other parameters or variables, which can include, for example, any other data or metadata related to price, and are correlated with the listed state (new, new-like, very good, good, fair, poor, etc.), category, brand, size, etc., whether on the same platform or on other platforms, such as third-party sources or public sources, and are normalized for any differences in metadata that can occur on other platforms (grading of item state, regional variations in price setting, seasonal variations in price setting, etc.). Statistical analysis here can include, for example, averaging or calculating the trend of any set of these data points or metadata categories.
[0040]
[0045] As discussed above, actions (1)-(4) taken by system 200 can be performed or skipped arbitrarily and executed in any order based on any other optional automatic or manual determination. However, considering reliability, computational efficiency, time, and in some cases (e.g., accessing a specific platform) cost, one default configuration may be to first check in (1) the backend database on the same platform, and if (1) sufficiently meets the conditions (e.g., provides data points for the list of candidate items and / or other data points for verifying or updating the selected item), actions (2)-(4) can be bypassed and skipped until any update or verification action.
[0041]
[0046] Similarly, if (1) does not meet the conditions or further input is separately required, system 200 can proceed to execute action (2) or (3) depending on which is more efficient or other factors. Additionally or alternatively, in some embodiments, for the sake of quicker clarification, actions (1)-(4) can all be executed in parallel.
[0042]
[0047] Depending on the given platform and / or the given seller, the seller's input can be treated as less reliable than the input collected from any of (1)-(3). In some embodiments, if any or all of (1)-(3) are still insufficient for some reason or other, optionally (4) can be advanced to, for example, request additional seller input, verification, or adjustment. The action taken in (4) can, in some embodiments, further include providing advice automatically generated from the backend regarding the reasons and amounts for which the seller may desire a price readjustment.
[0043]
[0048] Regarding the automatic biasing of search results, the same metadata that was considered with respect to price can be considered when determining where to display new or existing offerings for sale within a given set of search results. Depending on various considerations including price, probability scores (e.g., related to the likelihood that an item will sell within a given period), item condition, geography, season, time of day, cyclical or long-term trends, larger-scale trends, and / or any other information that can be gathered from (1)-(3) and / or (4), in some cases, the ranking of search results can be upgraded (lifted, raised, or increased in another way) or downgraded (lowered, decreased, or reduced in another way). Other factors in biasing search results can depend on the individual purchaser doing the search, or the application programming interface (API) or media through which the search can be performed or results obtained.
[0044]
[0049] Some use cases of biasing may be to improve the shipping and / or delivery time of sold items by biasing closer-distance results over farther-distance results. Here, "closer distance" may refer not only to geographical distance but also, for example, to "shipping distance", i.e., the average transit time of packages along a particular route or within / between particular geographical regions. Other factors can include the similarity of different items that may be from closer-distance sellers, the period during which a given item has been offered for sale, whether a given purchaser or other purchasers have shown interest in the item (e.g., via a given platform), etc. In some cases, some degree of control over search biasing can also be given to the seller, for example, in some embodiments, there may be guaranteed promotions based on a particular period or on the seller's rating, karma, credit, etc.
[0045]
[0050] For example, for a purchaser searching for a specific item that may match a unique identifier for multiple instances worldwide, in some cases, the search engine can surface sellers closer in distance (with a delivery distance closer to the purchaser) than distant sellers, even if the distant sellers may have other attributes that the purchaser may be interested in. In some embodiments, the search biasing can be configured to, for example, override or overweight existing user-specified search filters or settings.
[0046]
[0051] Other factors that the search engine can consider can include, among other possibilities, shipping costs for the seller and / or platform, sales taxes for the purchaser and / or platform, and profitability for the seller and / or platform. Such search biasing techniques can be beneficial for C2C platforms, but in some use cases, can also provide similar benefits for B2C or B2B platforms.
[0047]
[0052] Such preferential search biasing may be further useful for the marketplace platform in further examples, for example, to maintain QoS or comply with an SLA. Thus, in some embodiments, the enhanced techniques described herein can be used at least to improve searchability with respect to specific attributes of the purchaser and / or seller regarding the item being transacted.
[0048]
[0053] Figure 3 shows an example of a screen display 300 of an exemplary user interface that can be rendered on a computing device including a display device, according to some embodiments. The screen display 300 can include various regions for outputting text values and / or graphic elements, as well as prompts for requesting input in various forms. For example, user input can be provided via any graphical user interface (GUI) element, text user interface (TUI), voice command, accelerometer, or other environmental sensor, etc.
[0049]
[0054] The screen display provided in FIG. 3 is merely exemplary and is provided to show some exemplary outputs and inputs that may be related to the probabilistic item matching, searching, search bias imparting, and recommendation enhancement techniques described herein. Those skilled in the relevant art will understand that various approaches can be taken to provide an appropriate screen display 300 in accordance with the present disclosure.
[0050]
[0055] The screen display 300 can include various indicators and control elements that can be displayed and arranged according to any suitable methodology, framework, toolkit, widget set, guideline, design language, etc. Examples include flat design, hierarchical design, layered design, WIMP design (window, icon, menu, pointer), natural user interface (NUI), reality-based interface (RBI), augmented reality (AR) using a head-up display (HUD), etc., virtual reality (VR) using a virtual storefront, etc. User input can be provided using a pointing device, such as a mouse, trackball, joystick, touchpad, touch screen, etc., as well as other forms of touch, spatial navigation, eye tracking, voice commands, environmental sensors, input via scripts or programs through an API, etc. Equivalent input means understood in the art can be additionally or alternatively used.
[0051]
[0056] In some embodiments, the screen display 300 can include a title as shown at the top of the screen display 300 in FIG. 3. In other areas of the screen display 300, other GUI elements, widgets, knobs, sliders, scroll bars, buttons, or related functions can be presented for the user to interact with any underlying hardware and / or software.
[0052]
[0057] For further illustration, an example is shown in FIG. 3. In the example shown in FIG. 3, $990 is the "proposed price" representing an example of the proposed amount to be output on the screen display. Further, along with the proposed amount, a prompt for further input is output. The further input can be provided, for example, via buttons (such as "post (list for sale)" or "save draft"), and / or via sliders, knobs, or equivalent elements, in hardware (physical buttons, knobs, sliders, etc.), software (GUI, TUI, voice commands, etc.), or any combination thereof.
[0053]
[0058] Shown in the same field as the proposed amount in FIG. 3 is a non-limiting example of a GUI-based slider element that the user can adjust to change the actual desired selling price when listing an item for sale. In response to further input, in some embodiments, for example, any of the above amounts including the proposed amount and / or any of at least two amounts that can be used to define any range can be updated and output similarly to update any existing output. Any number of buttons or text fields can also be used for input.
[0054]
[0059] On either side of the central proposed price of the "Proposed Price", additional prices such as "Sell Quickly" proposals and "Sell Slowly" proposals are displayed, and these can be determined based on the probability scores of the prices described in 508 below. This combination of proposed prices forms an example of a price setting guide. In other embodiments, other formats and proposals can be presented in any configuration to create an equivalent price setting guide, or to create other guides that use other parameters in addition to or instead of the listing price.
[0055]
[0060] As shown in FIG. 3, additional amounts that can be output via the screen display 300 include, for example, the possible minimum and maximum prices that can be determined by a given platform. The calculation results of the fee rate or commission rate, as well as the fees or commissions based on the desired selling price that can be selected via the elements of the screen display 300, can also be displayed. In addition to the calculated fees or commissions, the remaining profit from the expected sales can also be displayed.
[0056]
[0061] For additional output, any number of text fields or images can be displayed. The output can also be realized by various other means including sound, tactile feedback, external electronic indicators including light-emitting diodes (LEDs), or additional external displays. Any number of output and / or input prompts can be displayed simultaneously or sequentially at any arrangement or timing.
[0057]
[0062] Although the screen display 300 in FIG. 3 shows one exemplary configuration, in practice, other arbitrary configurations for assisting developers and users in designing, implementing, configuring, and using interfaces, devices, or systems that implement the enhanced techniques described herein are possible within the scope and spirit of the present disclosure.
[0058]
[0063] FIG. 4 is a flowchart showing a method 400 including probabilistic item matching and search according to some embodiments. Method 400 can be executed by processing logic that can include hardware (e.g., circuits, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executed on a processing device), or a combination thereof. Not all steps of method 400 may be required in all cases to execute the enhanced techniques disclosed herein. Further, as will be understood by those skilled in the art, some steps of method 400 can be executed simultaneously or in an order different from that shown in FIG. 4.
[0059]
[0064] Method 400 will be described with reference to FIGS. 1 and 6. However, method 400 is not limited to only those exemplary embodiments. The steps of method 400 can be executed by at least one computer processor coupled to at least one memory device. Exemplary processors and memory devices will be described below with respect to 604 of FIG. 6. In some embodiments, method 400 can be executed using the system 100 of FIG. 1, which can further include at least one processor and memory, such as that of FIG. 6, etc.
[0060]
[0065] At 402, at least one processor, such as processor 604, can load data points related to a particular item. For example, a data point can be an input value from a user, which can include, for example, a string, number, or other information that may potentially identify a particular item. Any loaded data point or received input can be stored in a memory, such as main memory 608. User inputs or data points related to a particular item may sometimes be incomplete or ambiguous. According to some embodiments, by leveraging the enhanced techniques for probabilistic matching and searching described herein to provide appropriate results despite sparse, incomplete, or ambiguous inputs, the accuracy of the search results that would otherwise be obtained can be improved, and the level of effort and interaction required of the user can be reduced.
[0061]
[0066] In a further example of 402, in some embodiments, a data point can be a description, title, name, or a concise characterization or sentence that describes the item, which can be optionally input by the user. Depending on the user and the category to which the item belongs, the input can be a response to a particular prompt (not shown), for example. The data point can additionally or alternatively be based on non-text data from, for example, sensors, cameras, speech recognition, artificial intelligence, or neural networks, for generating a description based on other inputs or environmental factors. In some embodiments, the data point can be generated and transmitted and received programmatically and / or in an automated manner, not necessarily by manual input from the user, for example, by an application programming interface (API).
[0062]
[0067] At 404, the processor 604 can generate a database query based on the data points. The database query is not limited to queries of conventional structured databases. Rather, for the purposes of the present disclosure, a database query is any query that can function like a database query. For example, any term, expression, or value (or any portion thereof) used to determine a match with other data can be considered a database query for the purposes of the present disclosure. Similarly, in some embodiments, any entry within a "database" can correspond to any offering, data structure, web page, or other entity for which item data or corresponding metadata can be extracted, scraped, parsed, or otherwise processed.
[0063]
[0068] In some embodiments, the query can be a string literal corresponding to, for example, a title or description. In some embodiments, the query can be a regular expression or similar input having special characters or components aimed at matching more than the literal input string itself. In some embodiments, the database query can include operators and / or syntax such as, for example, an SQL query. However, such a query is not necessarily limited to accessing an SQL database and can use other types of databases, data stores, data lakes, data pools, data feeds, data streams, etc., and can be fully unstructured, completely unstructured, or partially structured. In some embodiments, the query can be used for web searches using, for example, public resources, third-party resources, libraries, databases, or web search engines.
[0064]
[0069] At 406, the processor 604 can receive a response to a database query, where the response includes a plurality of candidate items related to a particular item. In some embodiments, the received response can be stored in a memory such as the memory 608. In some cases, the response may have less than a plurality, i.e., one or zero candidate items, in which case probabilistic search and matching can be omitted and the process can end early. In other cases where the response to the database query includes the results of a plurality of candidate items, the process 400 can continue to determine, for example, at a certain confidence level, at least one top result.
[0065]
[0070] At 408, the processor 604 can receive a first input related to a particular item. The first input can be used to further limit the data point, for example, regardless of the type or format of the data point. In some embodiments, even if the data point is a text object, the first input can be a different text object (e.g., a character string), and the data point and the first input can describe, for example, different elements of a text description (e.g., name, type, model, year, size, etc.), or different parts of the same element.
[0066]
[0071] In other cases, the first input can be of a different type. For example, if the data point can be text in the form of a character string, the first input can be a photographic image, or vice versa. Other types can be used, for example, including voice recognition or other characteristic sounds or voiceprints. In addition to text-based character strings, mathematical signatures or cryptographic signatures in any representation can also be used. Barcodes or other patterns or sequences can be used.
[0067]
[0072] Other possible types of input include, but are not limited to, vibration patterns, chemical samples and their analysis, radiation, measurements of electrical and / or magnetic signals, or any other environmental sensor input. Outputs from other computer programs or algorithms, such as neural network outputs, perceptron outputs, image recognition outputs, classification outputs, or other types of outputs, can be received as other forms of input. These outputs can be based on other user inputs, such as photo data, voice or audio data, or resources from other third parties, feeds, etc.
[0068]
[0073] The first input can be received, for example, in response to any of a variety of prompts, such as on the screen of a mobile device, by other visual or audible indicators, via a network and / or via the API of a local or remote program related to a device that performs probabilistic matching and searching. Similarly, a second input, a third input, or any additional input can be received, for example, in response to any similar or related prompt.
[0069]
[0074] At 410, the processor 604 can generate probability scores for at least two of the plurality of candidate items in the response based on at least a first input. The probability scores can be, for example, in absolute terms or in relative terms with respect to other candidates. In the case of relative terms with respect to other candidates, the other candidates can be candidates received in response to a database query and / or can represent candidates from a plurality of queries and their responses (such as, for example, the history of past queries and responses within at least a predetermined time frame). In this latter case of generating probability scores from a plurality of queries or responses, the probability scoring can be cumulative over a particular period and / or over the entire period. In such cases of cumulative probability scoring, additional algorithms including machine learning can be useful in improving the accuracy of the probability scores over time and with iterations of machine learning such as by a deep learning network in some embodiments.
[0070]
[0075] The probability scores described herein can be generated locally on a client device, such as a PC, or a mobile device such as a smartphone or tablet computer, remotely on an infrastructure of a self-hosted service (including dedicated servers, VPS, or on-premises cloud), remotely via a third-party service, or any combination thereof. In embodiments where probability score generation can be performed via multiple devices, a first device can be configured to send or pass a structured data query (such as those of markup, serialized format, key-value pairs, etc.) or other data structure to a second device, initiate or continue processing, and generate the resulting probability scores, which can be returned to, for example, any of the first device, a module of the second device, or a third device. In some embodiments, not all components of the query or data structure need to include structured data for the desired operation.
[0071]
[0076] According to some embodiments, it is possible to bias or rank item offerings or search results based on a probability score that can be generated as described herein. In this way, in some use cases where a remote database or a third-party service provider is relied upon to generate matching ones and / or probability scores and return results, by implementing scoring and ranking, a relatively high level of specificity can be provided in the results without requiring user input of a particular specificity such as an SKU on a local device such as a smartphone or a PC terminal.
[0072]
[0077] At 412, the processor 604 can select a selected item from a plurality of candidate items based on the probability score of the selected item. Based on at least one of the data point and the first input, the processor 604 can select a candidate item as the selected item. In some embodiments, the processor 604 can select, for example, the candidate item with the highest corresponding probability score as the selected item. In addition or alternatively, in other embodiments, the processor 604 can select the selected item based on any other criteria or conditions.
[0073]
[0078] In response to loading any data point or receiving any first input, second input, third input, or any further input, in some embodiments, a probability score can be updated or otherwise changed. In response thereto, such a change can be reflected in the selected item to the extent that the candidate item with the highest corresponding probability score can also be changed. For example, the processor 604 can change the selected item to the candidate item with the highest corresponding probability score if the selected item no longer matches the candidate item with the highest corresponding probability score. In other embodiments, additionally or alternatively, other criteria for selecting, updating, or otherwise changing the selected item can be used.
[0074]
[0079] At 414, the processor 604 can output a reference to the selected item. Specifically, as output, the processor 604 can, in some embodiments, return a reference or some other value as a result. The reference or value can enable a separate function, module, device, user, or other entity to recognize or identify the resulting selected item. The reference or value can, in some embodiments, be a unified, general-purpose, and / or unique identifier including, but not limited to, SKU, UPC, URI, URL, URN, ISBN, ASIN, etc. to which a given item can be mapped. Additionally or alternatively, the value can include, for example, a checksum, fingerprint, signature, digest, hash, or encrypted hash corresponding to at least one of the data point or the second input for tracking inputs and outputs and / or determining duplicate inputs.
[0075]
[0080] Further, the output of 414, whether by reference or value, can be used as input to further methods, systems, and / or devices. For example, the reference or identification value corresponding to the selected item can be reliably used as input for further recommendations and / or biasing of search results, such as in method 500 and 502 of FIG. 5 described in more detail below. Further details of such use and data flow are further described in the application entitled "Probabilistic Search Biasing and Recommendations" (U.S. Application No. 16 / 288,373), which is incorporated herein by reference. The output of 414 can also be used with respect to the applications entitled "Inventory Ingestion, Image Processing, and Market Descriptor Pricing System", "Inventory Ingestion and Pricing System", and "System and Method for Determining Sellability Score and Cancellability Score", each of which was filed with this application and incorporated herein by reference (U.S. Application Nos. 16 / 288,199, 16 / 288,203, and 16 / 288,158, respectively).
[0076]
[0081] Method 400 is disclosed in the order shown above in this exemplary embodiment of FIG. 4. However, in practice, the operations disclosed above may be sequentially executed in any order, together with other operations, or alternatively, may be executed concurrently, such that two or more operations may be executed simultaneously, or any combination thereof.
[0077]
[0082] FIG. 5 is a flowchart showing a method 500 that includes probabilistic item matching and searching, according to some embodiments. Method 500 can be performed by processing logic that can include hardware (e.g., circuits, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executed on a processing device), or a combination thereof. In order to perform the enhanced techniques disclosed herein, not all steps of method 500 may be required in all cases. Further, as will be understood by those of ordinary skill in the art, some steps of method 500 can be performed simultaneously or in a different order than that shown in FIG. 5.
[0078]
[0083] Method 500 will be described with reference to FIGS. 1 and 6. However, method 400 is not limited to only those exemplary embodiments. The steps of method 400 can be performed by at least one computer processor coupled to at least one memory device. Exemplary processors and memory devices will be described below with respect to 604 in FIG. 6. In some embodiments, method 400 can be performed using the system 100 of FIG. 1, which can further include at least one processor and memory, such as those of FIG. 6, for example.
[0079]
[0084] At 502, a processor, such as processor 604, can receive an input related to the identified item. The identified item can, in some embodiments, be a selected item output from, for example, 414 related to FIG. 4 above, which is also described in the application entitled "Probabilistic Item Matching and Searching" (U.S. Application No. 16 / 288,379), incorporated herein by reference. As long as method 500 can utilize any additional or alternative method of identifying items in addition to, or instead of, the probabilistic item matching and / or searching described with respect to method 400 above, the input received at 502 can be, for example, similar to the input received at 402 above.
[0080]
[0085] Alternatively, in other embodiments of 502, the input can be, for example, a description, title, name, or a concise characterization or statement that describes the item, which can be arbitrarily input by the user. Depending on the user and the category to which the item belongs, the input can be a response to a specific prompt (not shown), etc. The input can additionally or alternatively be based on non-text data from, for example, sensors, cameras, speech recognition, artificial intelligence, or neural networks to generate a description based on other inputs or environmental factors, etc. The input can be generated and transmitted and received programmatically and / or in an automated manner, not necessarily by manual input from the user, for example, by an application programming interface (API), etc.
[0081]
[0086] At 504, the processor 604 can generate a database query based on the input. The database query is not limited to queries of conventional structured databases. Rather, for the purposes of the present disclosure, a database query is any query that can function like a database query. For example, any term, expression, or value (or any portion thereof) used to determine a match with other data can be considered a database query for the purposes of the present disclosure. Similarly, in some embodiments, any entry within a "database" can correspond to any offering, data structure, web page, or other entity for which item data or corresponding metadata can be extracted, scraped, parsed, or otherwise processed.
[0082]
[0087] In some embodiments, the query can be a string literal corresponding to a title or description, etc. In some embodiments, the query can be a regular expression or similar input having special characters or components aimed at matching more than the literal input string itself. In some embodiments, the database query can include operators and / or syntax such as, for example, an SQL query. However, such a query is not necessarily limited to accessing an SQL database, and other types of databases, data stores, data lakes, data pools, data feeds, data streams, etc. can be used, and can be fully structured, not at all structured, or semi-structured. In some embodiments, the query can be used for web searches using, for example, public resources, third-party resources, libraries, databases, or web search engines.
[0083]
[0088] At 506, the processor 604 can receive a response to a database query, the response including a plurality of equivalent items, the equivalent items being similar to the identified item, and the response further including corresponding metadata for the plurality of equivalent items that includes a range of amounts corresponding to the plurality of equivalent items. In some cases, the response may have less than a plurality, i.e., one or zero, equivalent items, but in such cases, the probabilistic recommendation can be omitted and the process can end early. In other cases where the response to the database query includes the results of a plurality of equivalent items, the processing of method 500 can continue.
[0084]
[0089] As a separate but related consideration, if the metadata field for a particular item of interest is blank, incorrect, or otherwise unhelpful for a given equivalent item, the processor 604 can, in some cases, ignore the corresponding equivalent item for further calculations regarding the same item of interest metadata field. In one exemplary use case, a given item can be determined to be an equivalent item by virtue of at least some elements of its description being similar to the corresponding elements of the input at 502. However, for example, if the processor 604 can compare equivalent items to determine a reasonable price range at which an input item (e.g., that of 502) would sell in a given market, in some embodiments, the processor 604 can ignore a particular equivalent item if its corresponding price (meta)data is missing or is a statistical outlier (data that is likely to be unhelpful or incorrect).
[0085]
[0090] At 508, the processor 604 can generate probability scores for at least two amounts within a range of amounts, based at least on the corresponding metadata of a plurality of equivalent items. Following the example immediately above, the processor 604 can compare equivalent items to determine a reasonable price range at which an input item (e.g., of 502) will sell in a given market. The meaningful output may not be a single amount, and depending on other factors, may be reflected by two or more amounts. Additionally or alternatively, two of the at least two amounts can represent, for example, a low amount and a high amount that define a given range of amounts.
[0086]
[0091] For example, the two amounts can define a range of prices that have at least a particular probability of an item (e.g., input of 502) selling within a given time (period and / or specific date). Separately, different ranges of prices can be determined for the probability of a sale completing regardless of time. In further embodiments, the first amount can represent the highest price at a given probability of sale that is time-independent, and the second amount can be determined as the highest price at a given probability of sale within a given time constraint.
[0087]
[0092] At 510, the processor 604 can output at least a proposed amount, along with a prompt for further input, based at least on the probability scores generated for at least two amounts within a range of amounts. The proposed amount can, in some embodiments, be one of the at least two amounts described above with respect to 508. In other embodiments, the proposed amount can be different from any of the at least two amounts of 508, for example, but in some cases can be derived from any of the at least two amounts described above with respect to 508.
[0088]
[0093] For further explanation, an example is shown in FIG. 3. In the example shown in FIG. 3, $990 is the "proposed price" representing an example of the proposed amount to be output on the screen display. Further, a prompt for further input is output together with the proposed amount. The further input can be provided, for example, via buttons (such as "list for sale" or "save draft") and / or via sliders, knobs, or equivalent elements, in hardware (physical buttons, knobs, sliders, etc.), software (GUI, TUI, voice commands, etc.), or any combination thereof.
[0089]
[0094] Shown within the same field as the proposed amount in FIG. 3 is a non-limiting example of a GUI-based slider element that the user can adjust to change the actual desired selling price for the item to be sold. In response to further input, in some embodiments, for example, any of the above-described amounts including the proposed amount and / or any of at least two amounts that can be used to define any range can be updated and output in the same way to update any existing output.
[0090]
[0095] Further amounts such as "sell quickly" proposals and "sell slowly" proposals are displayed on both sides of the proposed amount in the center of the "proposed price", and these can be determined based on the probability scores of the amounts described in 508 above. This combination of proposed prices forms an example of a price setting guide. In other embodiments, other formats and proposals can be presented in any configuration to create an equivalent price setting guide, or to create other guides that use other parameters in addition to or instead of the listing price.
[0091]
[0096] In a further embodiment, a time value can be output based on at least one equivalent item and corresponding metadata. Additionally or alternatively, the time value can be set at the discretion of the user by the user. Using the time value that can be stored in the memory 608, for example, either of the at least two amounts described at 508 can be calculated with at least any time-dependent probability score. As a further example, the time value can be a period during which a sale has a given probability score, such as 6 hours, 2 days, 1 week, etc. Such a time value can be stored and associated with a corresponding probability score or other value, but the time value can optionally also be displayed to the user, for example, together with or instead of any other arbitrary value.
[0092]
[0097] Similar to the probability scores, proposed amounts, and other values described above, in some embodiments, the time value can be updated in response to any user input (e.g., first input, second input, etc.) or additional user input, and the updated time value and / or probability score can be output to update any existing output. Additional operations of updating or refreshing based on any user input and / or any periodic refresh period, etc., can be performed according to any other relevant techniques understood in the art.
[0093]
[0098] The method 500 is disclosed in the order shown above in this exemplary embodiment of FIG. 5. However, in practice, the operations disclosed above may be sequentially executed in any order together with other operations, or alternatively, may be executed simultaneously in parallel such that two or more operations are executed simultaneously, or any combination thereof.
[0094] Exemplary computer system
[0099] For example, various embodiments can be implemented using one or more computer systems, such as computer system 600 shown in FIG. 6. One or more computer systems 600 can be used to implement, for example, any of the embodiments discussed herein, as well as combinations and sub - combinations thereof.
[0095]
[0100] The computer system 600 can include one or more processors (also referred to as central processing units or CPUs), such as processor 604. The processor 604 can be connected to a bus or communication infrastructure 606.
[0096]
[0101] The computer system 600 can also include user input / output devices 603, such as a monitor, keyboard, pointing device, etc., which can communicate with the communication infrastructure 606 via a user input / output interface 602.
[0097]
[0102] One or more of processors 604 can be a Graphics Processing Unit (GPU). In one embodiment, the GPU can be a processor that is a dedicated electronic circuit designed to process mathematically intensive applications. The GPU can be, for example, for computer graphics applications, images, videos, vector processing, array processing, etc., as well as encryption (including brute force cracking), generation of encryption hashes or hash sequences, solving partial hash-inversion problems, and / or generating results of other proof-of-work calculations related to some blockchain-based applications. The GPU can have a parallel structure that is efficient for parallel processing of large data blocks, such as mathematically intensive data common to the above. Due to the General-Purpose Computing on Graphics Processing Units (GPGPU) function, the GPU can be very useful, at least in the aspects of image recognition and machine learning described herein.
[0098]
[0103] Furthermore, one or more of processors 604 can include a co-processor or other logic implementation for accelerating cryptographic calculations or other special mathematical functions, including a hardware-accelerated cryptographic co-processor. Such an accelerated processor can further include a co-processor for facilitating such acceleration and / or an instruction set for acceleration using other logic.
[0099]
[0104] Computer system 600 can also include main memory or primary memory 608, such as Random Access Memory (RAM). Main memory 608 can include one or more levels of cache. Main memory 608 can store control logic (i.e., computer software) and / or data therein.
[0100]
[0105] Computer system 600 can also include one or more secondary storage devices or secondary memories 610. The secondary memory 610 can include, for example, a main storage drive 612 and / or a removable storage device or drive 614. The main storage drive 612 can be, for example, a hard disk drive or a solid state drive. The removable storage drive 614 can be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, a tape backup device, and / or any other storage device / drive.
[0101]
[0106] The removable storage drive 614 can communicate with a removable storage unit 618. The removable storage unit 618 can include a computer-usable or readable storage device in which computer software (control logic) and / or data is stored. The removable storage unit 618 can be a floppy disk, a magnetic tape, a compact disk, a DVD, an optical storage disk, and / or any other computer data storage device. The removable storage drive 614 can read from and write to the removable storage unit 618.
[0102]
[0107] The secondary memory 610 can include other means, devices, components, apparatuses, or other approaches for enabling a computer program and / or other instructions and / or data to be accessed by the computer system 600. Such means, devices, components, apparatuses, or other approaches can include, for example, a removable storage unit 622 and an interface 620. Examples of the removable storage unit 622 and the interface 620 can include a program cartridge and a cartridge interface (such as those found in video game devices, etc.), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and a USB port, a memory card and associated memory card slot, and / or any other removable storage unit and associated interface.
[0103]
[0108] The computer system 600 can further include a communication or network interface 624. The communication interface 624 can enable the computer system 600 to communicate and interact with any combination of external devices, external networks, external entities, etc. (individually and collectively referred to by reference numeral 628). For example, the communication interface 624 can enable the computer system 600 to communicate with an external or remote device 628 via a communication path 626, which can be wired and / or wireless (or a combination thereof) and can include any combination such as a LAN, a WAN, the Internet, etc. Control logic and / or data can be transmitted between the computer system 600 via the communication path 626.
[0104]
[0109] Computer system 600 can also be, by way of several non-limiting examples, a personal digital assistant (PDA), a desktop workstation, a laptop or notebook computer, a netbook, a tablet, a smartphone, a smartwatch or other wearable, an electrical appliance, a part of the Internet of Things (IoT), and / or an embedded system, or any combination thereof.
[0105]
[0110] It should be understood that the framework described herein can be implemented as a method, process, apparatus, system, or article of manufacture, such as a non-transitory computer-readable medium or device. For purposes of explanation, the framework may be described in the context of a distributed ledger that is public or at least available to untrusted third parties. One example as a state-of-the-art use case is a blockchain-based system. However, it should be understood that the framework is also applicable to other situations where confidential or secret information may need to be passed into the hands of, or through, untrusted third parties, and that the technology is in no way limited to the use of distributed ledgers or blockchains.
[0106]
[0111] The computer system 600 can be a client or a server that accesses or hosts any application and / or data via any delivery paradigm, including but not limited to a remote or distributed cloud computing solution, local or on-premises software (e.g., an "on-premises" cloud-based solution), a "service as" model (e.g., Content as a Service (CaaS), Digital Content as a Service (DCaaS), Software as a Service (SaaS), Managed Software as a Service (MSaaS), Platform as a Service (PaaS), Desktop as a Service (DaaS), Framework as a Service (FaaS), Backend as a Service (BaaS), Mobile Backend as a Service (MBaaS), Infrastructure as a Service (IaaS), Database as a Service (DBaaS), etc.), and / or a hybrid model including any combination of the foregoing examples, or any other service or delivery paradigm.
[0107]
[0112] Any applicable data structure, file format, and schema can be derived, either alone or in combination, from standards including but not limited to JavaScript Object Notation (JSON), Extensible Markup Language (XML), yet another markup language (YAML), Extensible Hypertext Markup Language (XHTML), Wireless Markup Language (WML), MessagePack, XML User Interface Language (XUL), or other functionally similar representations. Alternatively, a proprietary data structure, format, or schema can be used exclusively or in combination with known or open standards.
[0108]
[0113] Any related data, files, and / or databases can be stored, retrieved, accessed, and / or transmitted in a human-readable format, such as a numerical, text, graphic, or multimedia format, and further, among other possible formats, especially in various types of markup languages, etc. Alternatively, or in combination with the above formats, the data, files, and / or databases can be stored, retrieved, accessed, and / or transmitted in a binary, encoded, compressed, and / or encrypted format, or any other machine-readable format.
[0109]
[0114] Interfaces or interconnections between various systems and layers can use any number of mechanisms, such as any number of protocols, program frameworks, floor plans, or application programming interfaces (APIs), such as, but not limited to, the Document Object Model (DOM), Discovery Service (DS), NSUserDefaults, Web Services Description Language (WSDL), Message Exchange Pattern (MEP), Web Distributed Data Exchange (WDDX), Web Hypertext Application Technology Working Group (WHATWG) HTML5 Web Messaging, Representational State Transfer (REST or RESTful web services), eXtensible User Interface Protocol (XUP), Simple Object Access Protocol (SOAP), XML Schema Definition (XSD), XML Remote Procedure Call (XML-RPC), or any other open or proprietary mechanism that can achieve similar functions and results.
[0110]
[0115] Such an interface or interconnection can also utilize a Uniform Resource Identifier (URI), which can further include a Uniform Resource Locator (URL) or a Uniform Resource Name (URN). Other forms of unified and / or unique identifiers, locators, or names can be used exclusively or in combination with the forms as described above.
[0111]
[0116] Any of the above protocols or APIs can interface with or be implemented in any procedural, functional, or object - oriented programming language, and can be compiled or interpreted. Non - limiting examples are C, C++, C#, Objective - C, Java (Registered Trademark) , Scala, Clojure, Elixir, Swift (Registered Trademark) , Go, Perl, PHP, Python, Ruby, JavaScript (Registered Trademark) , WebAssembly, or substantially any other language, among many other non - limiting examples, together with any other libraries or schemas in any kind of framework, runtime environment, virtual machine, interpreter, stack, engine, or similar mechanism, including but not limited to Node.js, V8, Knockout, jQuery, Dojo (Registered Trademark) , Dijit, OpenUI5, AngularJS, Express.js, Backbone.js, Ember.js, DHTMLX, Vue, React, Electron, etc.
[0112]
[0117] In some embodiments, a tangible, non-transitory device or article of manufacture that includes a tangible, non-transitory computer-usable or readable medium having control logic (software) stored thereon is sometimes referred to herein as a computer program product or a program storage device. This includes, but is not limited to, the computer system 600, main memory 608, secondary memory 610, removable storage units 618 and 622, and tangible articles of manufacture embodying any of the foregoing combinations. Such control logic, when executed by one or more data processing devices (e.g., computer system 600), can cause such data processing devices to operate as described herein.
[0113]
[0118] Based on the teachings contained in this disclosure, methods for creating and using embodiments of this disclosure using data processing devices, computer systems, and / or computer architectures other than those shown in FIG. 6 will be apparent to those of ordinary skill in the relevant art. Specifically, embodiments can operate using implementations of software, hardware, and / or operating systems other than those described herein.
[0114] Conclusion
[0119] It should be understood that the section on modes for carrying out the invention is intended to be used in interpreting the claims, but not for the other sections. The other sections may describe exemplary embodiments, one or more but not all, contemplated by the inventors, and thus are in no way intended to limit the present disclosure or the appended claims.
[0115]
[0120] Although exemplary embodiments in exemplary fields and applications are described in this disclosure, it should be understood that the present disclosure is not limited thereto. Other embodiments and their modifications are possible and are within the scope and spirit of the present disclosure. For example, without limiting the generality of this paragraph, embodiments are not limited to the software, hardware, firmware, and / or entities illustrated and / or described herein. Further, embodiments have great utility in fields and applications other than the examples described herein (whether or not explicitly described herein).
[0116]
[0121] In this specification, embodiments are described using functional building blocks that show the implementation of specified functions and their relationships. The boundaries of these functional building blocks are arbitrarily defined herein for the sake of explanation. Alternative boundaries can be defined as long as the specified functions and relationships (or their equivalents) are properly executed. Also, alternative embodiments can execute functional blocks, steps, operations, methods, etc. using an order different from that described herein.
[0117]
[0122] References in this specification to "one embodiment", "an embodiment", "an exemplary embodiment", "some embodiments", or similar phrases indicate that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments necessarily include that particular feature, structure, or characteristic. Further, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in relation to one embodiment, incorporating such feature, structure, or characteristic into other embodiments would be within the knowledge of those skilled in the relevant art, whether or not explicitly mentioned or described herein.
[0118]
[0123] Furthermore, some embodiments may use the expressions “coupled” and “connected,” and derivatives thereof, in the description. These terms are not necessarily intended to be synonyms of each other. For example, some embodiments may use the terms “connected” and / or “coupled” to describe that two or more elements are in direct physical or electrical contact with each other. However, the term “coupled” may also mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.
[0119]
[0124] The breadth and scope of the present disclosure should not be limited by any of the above exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims
1. by at least one computer processor, Receiving input related to the identified item; generating a database query based on the input; receiving, by the at least one computer processor, a response to the database query, the response including a plurality of comparable items, the plurality of comparable items being similar to the identified item, the response further including corresponding metadata of the plurality of comparable items including ranges of values corresponding to the plurality of comparable items; generating, by the at least one computer processor, probability scores for at least two values in the range of values based at least on the corresponding metadata of the plurality of comparable items; outputting, by the at least one computer processor, at least a suggested value based at least on the generating the probability scores for the at least two values in the range of values, along with a prompt for further input; 4. A computer-implemented method comprising:
2. outputting, by the at least one computer processor, at least a low value and a high value along with a prompt for further input based at least on the generating the probability scores for the at least two values in the range of values; The method of claim 1 further comprising:
3. receiving, by the at least one computer processor, the further input in response to the prompt for the further input; updating, by the at least one computer processor, the probability scores for the at least two values in the range of values based at least on the further input; and outputting, by the at least one computer processor, the updated probability score for at least one of the at least two values in the range of values; The method of claim 1 further comprising:
4. 2. The method of claim 1, further comprising: outputting, by the at least one computer processor, a time value based at least on the corresponding metadata of the plurality of comparable items and the generating the probability scores for the at least two values in the range of values.
5. receiving, by the at least one computer processor, the further input in response to the prompt for the further input; updating, by the at least one computer processor, at least one of the probability scores and the time values for the at least two values in the range of values based on the further input; and outputting, by the at least one computer processor, at least one of the updated probability score for one of the at least two values in the range of values and the time value; The method of claim 4 further comprising:
6. The method of claim 1 , further comprising modifying, by the at least one computer processor, a search ranking of the identified item based on at least one metadata entry.
7. The method of claim 1 , wherein the response to the database query includes at least one data entry obtained from at least one public source or at least one third party source.
8. Memory, at least one processor coupled to the memory; wherein the at least one processor: Receiving input related to the identified item; generating a database query based on the input; receiving a response to the database query, the response including a plurality of comparable items, the plurality of comparable items being similar to the identified item, the response further including corresponding metadata of the plurality of comparable items including ranges of values corresponding to the plurality of comparable items; generating probability scores for at least two values in the range of values based at least on the corresponding metadata of the plurality of comparable items; outputting at least a suggested value along with a prompt for further input based at least on said generating said probability scores for said at least two values in said range of values; A system configured to:
9. The at least one processor outputting at least a low value and a high value along with a prompt for further input based at least on said generating the probability scores for said at least two values in said range of values; The system of claim 8 further comprising:
10. The at least one processor receiving the further input in response to the prompt for the further input; updating the probability scores for the at least two values in the range of values based on at least the further input; and outputting the updated probability score for at least one of the at least two values in the range of values; The system of claim 8 further comprising:
11. The at least one processor 10. The system of claim 8, further comprising: outputting a time value based at least on the corresponding metadata of the plurality of comparable items and the generating the probability scores for the at least two values in the range of values.
12. The at least one processor receiving the further input in response to the prompt for the further input; updating at least one of the probability scores and the time values for the at least two values in the range of values based on the further input; outputting at least one of the updated probability score for one of the at least two values in the range of values and the time value; The system of claim 11 further comprising:
13. The at least one processor The system of claim 8 , further comprising modifying a search ranking of the identified item based on at least one metadata entry.
14. The system of claim 8 , wherein the response to the database query includes at least one data entry obtained from at least one public source or at least one third party source.
15. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations, the operations including: Receiving input related to the identified item; generating a database query based on the input; receiving a response to the database query, the response including a plurality of comparable items, the plurality of comparable items being similar to the identified item, the response further including corresponding metadata of the plurality of comparable items including ranges of values corresponding to the plurality of comparable items; generating probability scores for at least two values in the range of values based at least on the corresponding metadata of the plurality of comparable items; outputting at least a suggested value along with a prompt for further input based at least on said generating said probability scores for said at least two values in said range of values; A non-transitory computer readable storage medium comprising:
16. The operation includes: outputting at least a low value and a high value along with the prompt for further input based at least on said generating said probability scores for said at least two values in said range of values; 20. The non-transitory computer-readable storage medium of claim 15, further comprising:
17. The operation includes: receiving the further input in response to the prompt for the further input; updating at least one of the time values and the probability scores of the at least two values in the range of values based at least on the further input; outputting the updated probability score for at least one of the at least two values in the range of values; 20. The non-transitory computer-readable storage medium of claim 15, further comprising:
18. The operation includes: outputting a time value based at least on the corresponding metadata of the plurality of comparable items and the generating the probability scores for the at least two values in the range of values.
20. The non-transitory computer-readable storage medium of claim 15, further comprising:
19. The operation includes: receiving the further input in response to the prompt for the further input; updating the probability scores for the at least two values in the range of values based on at least the further input; and outputting at least one of the time value of one of the at least two values in the range of values and the updated probability score; 20. The non-transitory computer-readable storage medium of claim 18, further comprising:
20. The operation includes: Modifying a search ranking of the identified item based on at least one metadata entry.
20. The non-transitory computer-readable storage medium of claim 15, further comprising:
Citation Information
Patent Citations
Price accepting method for exhibited commodity of internet auction
JP2003316975A
Device, method and program for providing agreement information
JP2004070534A
Method and program for assistance in putting article at auction
JP2005107952A
Information processor, information processing method, and program
JP2017016321A
Sales information providing server, sales information providing method, and program for sales information providing server
JP2017021665A