Techniques for automatically filling in input forms to generate lists
By automatically predicting and filling in item attribute values in online marketplaces using a converter-based machine learning model, the problem of tedious and error-prone digital form filling is solved, improving the efficiency and accuracy of item list creation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- EBAY INC
- Filing Date
- 2023-05-23
- Publication Date
- 2026-07-31
AI Technical Summary
Filling out numerous fields in digital forms to create item listings in online marketplaces is a tedious and error-prone process, and existing technologies struggle to automatically predict attribute values based on natural language text titles provided by sellers.
Employing a converter-based machine learning model, the system predicts project attribute values by training on natural language text and masking attribute values during training, generating predicted values for project description attributes and automatically filling out online forms.
It improves the efficiency and accuracy of sellers creating item listings in online marketplaces, reduces the tedium of manual entry, and enhances the automatic prediction capability of attribute values.
Smart Images

Figure CN117112775B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 752,652, filed May 24, 2022, entitled “TECHNIQUES FOR AUTOMATIC FILLINGOF AN INPUT FORM TO GENERATE A LISTING”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates generally to database systems and data processing, and more specifically to techniques for automatically filling in input forms to generate lists. Background Technology
[0004] Computer networks allow the transfer of data between interconnected computers. Search engine technology allows users to obtain information from a vast array of resources available via computer networks. A search engine can be a program that searches a database and identifies content corresponding to keywords or characters entered by a user, and can return websites available via the Internet based on the search. To generate a search, a user can interact with a user device such as a computer or mobile phone to submit a search query via the search engine. The search engine can execute the search and display the results of the search query based on communication with other applications and servers. Digital forms are commonly used to collect structured information from users. In some cases, filling out digital forms with numerous fields can be tedious and error-prone. Specifically, because digital forms are used to obtain information for generating lists, accurate text summaries become relevant to search engines, e-commerce websites, news websites, social networking sites, etc. Therefore, there is a need for technologies that can efficiently automate online form filling to generate lists. Summary of the Invention
[0005] A method for generating a list of items is described. The method may include: receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list; generating predicted values for item description attributes of the items based on inputting the natural language text into a transformer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items; and causing a list including the predicted values of the item description attributes to be presented via the user interface associated with the online marketplace.
[0006] An apparatus for generating a list of items is described. The apparatus may include a processor, memory coupled to the processor, and instructions stored in the memory. The instructions, executable by the processor, cause the apparatus to: receive a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list; generate predicted values for item description attributes of the items based on inputting the natural language text into a transducer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items; and cause a list including the predicted values of the item description attributes to be presented via the user interface associated with the online marketplace.
[0007] Another apparatus for generating a list of items is described. The apparatus may include: components for receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list; components for generating predicted values of item description attributes of the items based on inputting the natural language text into a converter-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items; and components for causing a list including the predicted values of the item description attributes to be presented via the user interface associated with the online marketplace.
[0008] A non-transitory computer-readable medium is described, storing code for generating a list of items. The code may include instructions executable by a processor to: receive a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list; generate predicted values for item description attributes of the items based on inputting the natural language text into a transformer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items; and cause a list including the predicted values of the item description attributes to be presented via the user interface associated with the online marketplace.
[0009] In some examples of the methods, apparatuses, and non-transitory computer-readable media described herein, generating predicted values may include operations, features, means, or instructions for performing the following steps: parsing natural language text to generate title tags; identifying attribute tags of a transducer-based machine learning model associated with items in the natural language text that do not have specified attribute values based on the title tags; and applying the transducer-based machine learning model to generate predicted values for item description attributes based on a set of title tags and attribute tags.
[0010] Some examples of the methods, apparatuses, and non-transitory computer-readable media described herein may also include operations, features, means, or instructions for performing the following steps: based on determining that the predicted value of an item description attribute satisfies a probability threshold, such that the predicted value of the item description attribute is presented in a list creation form via a user interface.
[0011] Some examples of the methods, apparatuses, and non-transitory computer-readable media described herein may also include operations, features, means, or instructions for performing the following steps: receiving an instruction via a user interface to confirm or disagree with a predicted value of an item description attribute; and updating a probability value associated with the item description attribute based on the instruction.
[0012] Some examples of the methods, apparatuses, and non-transitory computer-readable media described herein may also include operations, features, means, or instructions for performing the following steps: generating a second predicted value for a second attribute of an item based on an instruction, according to a converter-based machine learning model.
[0013] In some examples of the methods, apparatuses and non-transitory computer-readable media described herein, an instruction for an attribute field marker of an input list to a transducer-based machine learning model is provided to mask one or more attribute field values corresponding to the attribute field marker; and a transducer-based machine learning model is trained to predict attribute field values based on the attribute field marker and natural language training text samples.
[0014] In some examples of the methods, apparatuses, and non-transitory computer-readable media described herein, a request to generate a list of items is received as input to a digital form displayed on a user interface. Attached Figure Description
[0015] Figure 1 An example of a system for generating a list of items, supported by aspects of this disclosure, is shown. This system utilizes techniques for automatically filling in input forms to generate lists.
[0016] Figure 2 An example of an application process for a technique that supports aspects of this disclosure for automatically filling in input forms to generate lists is shown.
[0017] Figure 3 An example of a system supporting techniques for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown.
[0018] Figure 4 An example of a converter-based machine learning model is shown that supports techniques for automatically filling in input forms to generate lists, according to aspects of this disclosure.
[0019] Figure 5An example of a user interface for a technique that supports aspects of this disclosure for automatically filling in input forms to generate lists is shown.
[0020] Figure 6 A block diagram of an apparatus for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown.
[0021] Figure 7 A block diagram of a form filling component, according to aspects of this disclosure, is shown, which supports a technique for automatically filling in input forms to generate lists.
[0022] Figure 8 A diagram of a system including a device that supports technology for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown.
[0023] Figures 9 to 11 A flowchart illustrating a method for automatically filling in input forms to generate lists, based on aspects of this disclosure, is shown. Detailed Implementation
[0024] Online marketplace platforms typically allow sellers to provide descriptions of the items listed for sale. An item can refer to a product with a specific set of unique attributes. When a potential buyer initiates a product search, the online marketplace platform (e.g., a search platform) identifies a set of item lists that match the product search and transmits a list of available items for sale to the potential buyer. The browser may then present the seller with a digital form for entering attributes related to the listing.
[0025] Digital forms are commonly used to collect structured information from users. However, filling out digital forms with numerous fields can be tedious and error-prone. Online e-commerce platforms may frequently use multiple forms to collect user information. Online e-commerce marketplaces utilize such forms to collect attributes of items listed for sale. When creating a listing, sellers can provide a title for the listing and select one or more attributes of the item from a dropdown menu. For example, sellers (e.g., users) can select dropdown menus indicating color, model, size, manufacturer, year, etc., when creating a listing. However, some listing creation techniques may fail to predict attribute values based on the item title provided by the seller.
[0026] The techniques described herein provide a process that automatically predicts attribute values to automatically fill out online forms (e.g., numerical forms) to generate listings in an online marketplace based on natural language text entered by the seller as the title of the listing. Specifically, using this method, sellers can enter natural language text as the title for listing items for sale. The natural language text can be a sequence of text including one or more words, one or more phrases, one or more acronyms, one or more numbers, etc. In some examples, the natural language text may not specify values for each attribute used to create the listing. The system described herein applies a transducer-based machine learning model trained using sequences of natural language text to predict values for one or more attributes used to create the listing items, values of which were not previously specified by the user in the input natural language text. During training, the transducer-based machine learning model can be trained to predict the values of a given attribute that is not specified in the input natural language text by: masking the attribute values during training time; and encouraging the model to predict the correct values for the attribute values.
[0027] After training, a converter-based machine learning model can receive a listing title from a seller as input and predict the values of one or more listing attributes for items not included in the seller's provided title. Upon receiving natural language text, the converter-based machine learning model can parse the natural language text to generate tags corresponding to the words in the natural language text. In one example, after receiving natural language text, the converter-based machine learning model can generate tags "Title 1", "Title 2", "Title 3", and "Title 4" corresponding to the individual words in the natural language text. The converter-based machine learning model can use the tags generated from the natural language text to predict the value of a given attribute of the listing. For example, the converter-based machine learning model can predict the value (value 1) of the tag attribute "Field 1" based on the tags "Title 1", "Title 2", "Title 3", and "Title 4". The converter-based machine learning model can handle both ordered input (i.e., listing titles) and unordered input (a set of attribute name-value pairs). In some examples, the converter-based machine learning model can generate predicted values for one or more attributes and can use these predicted values to automatically fill in input numeric forms to help sellers create listings. In one example, a seller could provide a listing title like “Pokemon Pikachu VMAX 188 / 185VividVoltage Gold Metal”, while a converter-based machine learning model could predict attribute values not explicitly mentioned in the title (e.g., “Manufacturer: Nintendo” and “Language: English”).
[0028] The converter-based machine learning model can also be used iteratively to improve predictions of other predicted attribute values by leveraging information provided by the seller regarding the first predicted attribute value as the form is being filled out. For example, if the user confirms that the automatically filled value is correct or incorrect, the converter-based machine learning model can use that information to retain or change the predicted values of other attributes. Therefore, the techniques described herein can be used to predict the values of item attributes based on natural language titles provided by the seller to automatically fill out forms and help sellers create item listings in online marketplaces.
[0029] The aspects of this disclosure are initially described in the context of an environment supporting on-demand database services. Then, the aspects of this disclosure are described in the context of application processes and user interfaces. The aspects of this disclosure are further illustrated and described by reference to apparatus diagrams, system diagrams, and flowcharts relating to techniques for automatically filling in input forms to generate lists.
[0030] Figure 1 Examples of cloud computing systems 100 supporting various aspects of this disclosure for automatically filling in input forms to generate lists are shown. System 100 includes a cloud client 105, a user device 110, a cloud platform 115, and a data center 120. Cloud platform 115 may be an example of a public or private cloud network. Cloud client 105 can access cloud platform 115 via network connection 135. The network may implement Transmission Control Protocol and Internet Protocol (TCP / IP), such as the Internet, or may implement other network protocols. Cloud client 105 may be an example of a computing device, such as a server (e.g., cloud client 105-a), a smartphone (e.g., cloud client 105-b), or a laptop computer (e.g., cloud client 105-c). In other examples, cloud client 105 may be a desktop computer, tablet computer, sensor, or other computing device or system capable of generating, analyzing, sending, or receiving communications. In some examples, cloud client 105 may be part of an enterprise, institution, non-profit organization, startup, or any other type of organization.
[0031] Cloud client 105 can facilitate communication between data center 120 and one or more user devices 110 to enable online marketplaces. Network connection 130 may include communication, opportunities, purchases, sales, or any other interaction between cloud client 105 and user device 110. Cloud client 105 can access cloud platform 115 to store, manage, and process data transmitted via one or more network connections 130. In some cases, cloud client 105 may have associated security or permission levels. Based on the associated security or permission levels, cloud client 105 may have access to some applications, data, and database information within cloud platform 115, and may not be able to access other content.
[0032] User equipment 110 can interact with cloud client 105 via network connection 130. The network can implement Transmission Control Protocol and Internet Protocol (TCP / IP), such as the Internet, or other network protocols. Network connection 130 can facilitate data transmission via email, web, text messages, mail, or any other suitable form of electronic interaction via a computer network (e.g., network connections 130-a, 130-b, 130-c, and 130-d). In the example, user equipment 110 can be a computing device such as smartphone 110-a, laptop computer 110-b, and can also be server 110-c or sensor 110-d. In other cases, user equipment 110 can be another computing system. In some cases, user equipment 110 can be operated by a user or user group. The user or user group can be a customer (associated with an enterprise), a manufacturer, or any other suitable organization.
[0033] Cloud platform 115 can provide on-demand database services to cloud client 105. In some cases, cloud platform 115 can be an example of a multi-tenant database system. In this case, cloud platform 115 can serve multiple cloud clients 105 using a single software instance. However, other types of systems can be implemented, including but not limited to client-server systems, mobile device systems, and mobile network systems. In some cases, cloud platform 115 can support online applications. This can include supporting sales and services between buyers and sellers operating user devices 110, product marketing posted by buyers, community interactions between buyers and sellers, analytics (e.g., user interaction metrics), applications (e.g., computer vision and machine learning), and the Internet of Things (IoT). Cloud platform 115 can receive data associated with the generation of an online marketplace from cloud client 105 via network connection 135, and can store and analyze this data. In some cases, cloud platform 115 can receive data directly from user device 110 and cloud client 105. In some cases, cloud client 105 can develop applications to run on cloud platform 115. Cloud platform 115 can be implemented using a remote server. In some cases, the remote server may be located in one or more data centers.
[0034] Data center 120 may include multiple servers. These servers can be used for data storage, management, and processing. Data center 120 may receive data from cloud platform 115 via connection 140, or directly from cloud client 105, or via network connection 130 between user equipment 110 and cloud client 105. For security purposes, data center 120 may utilize multiple redundancies. In some cases, data stored at data center 120 may be backed up using data copies at different data centers (not shown).
[0035] Server system 125 may include cloud client 105, cloud platform 115, list generation component 145, and data center 120, which can collaborate with cloud platform 115 and data center 120 to enable an online marketplace. In some cases, data processing may occur at any component of server system 125, or at a combination of these components. In some cases, the server may perform data processing. The server may be cloud client 105 or located at data center 120.
[0036] List generation component 145 can communicate with cloud platform 115 via connection 155, and can also communicate with data center 120 via connection 150. List generation component 145 can receive signals and input from user equipment 110 via cloud client 105 and via cloud platform 115 or data center 120.
[0037] Online marketplaces enable sellers to present items for sale to potential buyers. Detailed information describing each item is typically organized on a dedicated page called a listing page. A listing page can include information such as item title, price, shipping details, images, and various attributes (e.g., color, model, size, etc.). This information is collected from sellers using digital forms. For some listings, unique product identifiers may exist, allowing for the collection of accurate information about the listing from a predefined catalog. However, for many product categories (e.g., collectibles such as stamps or sports cards), unique identifiers may not often be available. In such cases, digital forms typically include: free-text input boxes for the listing title and description, and multiple fields with a closed set of values for collecting structured listing attributes. Examples of such forms can be included in the listing workflow of an online marketplace's mobile app.
[0038] Some systems enable online marketplaces where listings are displayed using descriptions entered by sellers. Often, these descriptions contain lengthy sentences. In some cases, sellers and buyers interact with such online marketplaces via mobile devices through software applications. Specifically, sellers can use software applications to list their products. Sellers can utilize digital forms to generate listings. However, for sellers, entering long descriptions of products on their mobile device screens via an application (using digital forms) can be challenging. Therefore, effective listing techniques may be necessary.
[0039] Collecting accurate and complete lists of attribute name-value pairs for each listing is invaluable for multiple downstream tasks in online marketplaces. Online marketplaces can use one or more attribute name-value pairs to display structured and clear information about each listing to potential buyers, and so on. Such attribute name-value pairs also allow filtering user search results and are highly valuable for improving multiple backend tasks such as catalogs and product recommendations. However, filling in a large number of attributes (which can include up to dozens in some categories) is tedious and often results in low completion rates. To list items effectively, automated suggestions for attribute values can improve the seller experience and allow for the collection of more attribute values for each listing.
[0040] According to one or more aspects described herein, system 100 implements processes and techniques for automatically filling in input forms using an artificial intelligence model. Specifically, server system 125 may include operations similar to those described herein. One or more components of server system 125 (including list generation component 145 as described herein) may operate to generate a list of products. List generation component 145 within server system 125 may receive a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as the title of the list. List generation component 145 within server system 125 may generate predicted values for item description attributes of the items based on inputting the natural language text into a converter-based machine learning model. In some examples, the values of the item description attributes may not be specified in the natural language text input by the user and may describe features associated with the generated items. Features associated with the generated items may include one or more of, for example, manufacturer information, year of manufacture, manufacturer name, product type, product category, product specification, brand, product color, product size, weight, model name, material, version, part number, product specifications, product characteristics, or any combination thereof. The server system 125 and the list generation component 145 can then enable the presentation of a list of predicted values, including item description attributes, via a user interface associated with the online marketplace.
[0041] The techniques described herein can be implemented to simplify the process for sellers to fill in list attributes during listing creation. Given free text input from the seller (i.e., the list title), the techniques of this disclosure can be implemented to predict a set of values for a predefined set of attributes. Furthermore, if some attributes are explicitly provided by the seller (e.g., the seller has approved an initial set of values for autofill), this disclosure provides the use of such additional input to predict other relevant attributes to recommend to the seller.
[0042] Those skilled in the art will understand that one or more aspects of this disclosure can be implemented in system 100 to additionally or alternatively address problems other than those described herein. Furthermore, aspects of this disclosure can provide technical improvements to "conventional" systems or processes as described herein. However, the specification and drawings include exemplary technical improvements resulting from implementing aspects of this disclosure and, accordingly, do not represent all technical improvements provided within the scope of the claims.
[0043] Figure 2 An example of an application process 200 supporting technologies for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown. Components of the application process 200 may include a server system for implementing an online marketplace (e.g., reference...). Figure 1 The components of the server system 125 of the described system 100. Some components of the application process 200 may be located within a data center (such as data center 120) or a cloud platform (such as cloud platform 115), or communicate with a data center or cloud platform, or both. The application process 200 may represent multiple components for generating a list of items in order to efficiently utilize digital forms when listing items in an online marketplace.
[0044] Sales process component 205 can interact with one or more users to generate a list from one or more users or "sellers" who may intend to sell one or more items (e.g., products) via an online marketplace. Sellers can be those operating user devices (such as regarding...). Figure 1 The user of the described user device 110. Interaction with the sales process component 205 may prompt the seller to enter multiple parameters describing the items to be listed for sale via an online marketplace. In the example, the sales process component 205 may use the user device 110 to present a graphical user interface including a digital form for generating the list. The seller may generate a list of items for sale (e.g., products) including product descriptions, and in some cases, may upload one or more images of the items to the sales process component 205.
[0045] In some cases, sellers can enter a list (one or more attributes of an item) associated with a product. In some examples, sales process component 205 can suggest products for the seller to use in the list based on the product description provided by the seller. Additionally or alternatively, sales process component 205 can suggest additional attributes of the product based on a subset of the attributes provided by the seller. In some cases, sales process component 205 can cause seller user device 110 to display a menu for the seller to select suggested products or suggested attributes for the list. In an example, the seller can interact with sales process component 205 to generate a list of tablet computers (such as Apple iPads). A specific Apple iPad listed by the seller can include other features included in the list. For example, the list could include the product for sale being an Apple iPad Air 64GB. Based on the received attributes, sales process component 205 can predict that the Apple iPad Air 64GB has Wi-Fi functionality. In one example, sales process component 205 can generate a list of products based on attributes provided by the seller and attributes predicted by sales process component 205.
[0046] Sales process component 205 can categorize listings based on specific products within a collection of products available for purchase via an online marketplace. Lists can be mapped to specific products where listed items for sale have the same or similar characteristics, but variations between items are allowed while still being mapped to the same product. In some cases, the seller generating the listing can select or recommend products specifically for that listing. User-recommended products in the listing can be updated or changed by sales process component 205 or machine learning training component 220.
[0047] In some examples, sales process component 205 can categorize a set of one or more items as belonging to a specific product through a product identification mapping process. This process may include analysis of the initial products suggested by the seller, including confidence analysis of the accuracy of the selection based on mappings from titles, product details, similar products to search queries provided by the buyer. The product identification mapping process can also be extended to other similar product clusters using algorithms. This product identification process can be performed by sales process component 205 or machine learning training component 220. In some examples, the seller may use a digital form displayed on the seller's user device to indicate product information. Alternatively, the seller may not indicate the product name but may include other identifiers associated with the product (e.g., UPC). In this case, sales process component 205 can identify the product based on previous listings associated with the same product and provide the seller with product identification information (e.g., product name, listing title, etc.).
[0048] In some examples, the sales process component 205 or the machine learning training component 220 can provide automatic filling of input forms to generate lists. In one example, the sales process component 205 or the machine learning training component 220 can execute a machine learning algorithm (e.g., a neural network algorithm) to predict one or more attributes of an item. An example of a machine learning algorithm used for automatically filling in input forms could be a neural network, such as a converter-based model. In the example, the machine learning algorithm can be trained using some or all of the lists uploaded for items (e.g., when creating or updating a list). In the example, item titles can be selected for the same products with the same characteristics (e.g., condition, brand, color, etc.). In some examples, the machine learning model can use the top K most popular items (e.g., items frequently clicked, frequently purchased, etc.) as the targets for training the machine learning model, where K is an integer.
[0049] In some examples, machine learning algorithms can be used to determine the title length distribution for one or more lists updated for a project. In some cases, the title length distribution can be used to identify the title length that generated the highest selling price for the project (e.g., by the number of words). In some examples, the title length distribution can be used to identify the title length that generated the fastest selling time for the project (e.g., by the number of words). Machine learning systems can extract one or more features from a project's previous sales (e.g., the project's selling price, the time between listing and selling the project, the title length of sold items, the number of offers received for the project, etc.) and determine user behavior data corresponding to the project.
[0050] Each listing uploaded by one or more sellers can be tracked by tracking service component 210. Tracking service component 210 can forward the listing and the corresponding seller-uploaded titles for storage in distributed file system component 215. Tracking service component 210 can monitor buyer behavior when viewing one or more listings on a search results page (e.g., listings including titles updated by sellers). See also... Figure 4 The discussion includes an example of a search results page with monitorable listings. Tracking service component 210 can monitor the list of products for purchase presented on the search results page, as well as monitor user interactions with the product list and transmit user behavior data to distributed file system component 215. Distributed file system component 215 can be an example of a Hadoop application. Distributed file system component 215 can use a network of multiple computers to analyze large amounts of data. Distributed file system component 215 can monitor and analyze sales throughout the online application, and analyze sales based on user behavior data detected by tracking service component 210.
[0051] Machine learning training component 220 can utilize a transformer-based model to automatically fill out numerical forms associated with lists. Machine learning training component 220 can represent the transformer (BERT) architecture using a bidirectional form encoder. Other transformer-based machine learning models can also be used to implement the techniques discussed herein. The form BERT architecture can follow a BERT-based architecture (including, for example, 12 encoder layers and 12 attention heads per layer, with, for example, 768 hidden units) and use a "same wordpiece" tokenizer. In one example, the form BERT input might include three types of text entities: a list title (free text) of natural language text entered by the seller, attribute names (e.g., "color"), and attribute values (e.g., "black"). In some examples, special [SEP] tags can be used to define the boundaries of various input entities (i.e., title, attribute name, or attribute value). Each of the three input types is further represented by different (entity) type embeddings. Using such embedding, the machine learning training component 220 can allow the machine learning model to assign different importance (e.g., weight) to various input tags based on the entity type associated with each input tag (i.e., title, attribute name, or attribute value). Furthermore, the machine learning training component 220 can allow the machine learning model to establish links between input free text tags and their apparent structured roles (i.e., attribute names or values).
[0052] Sellers can provide free natural language text (as input to a numerical form) as a list to the machine learning training component 220. For example, users can fill in form fields in any order (e.g., fill in the third field first, then the first). In this case, the machine learning training component 220 can handle attribute name-value pairs of input without a defined order. Specifically, the machine learning training component 220 can permutate the positional embeddings of each batch of attribute name-value pairs during training to prevent the machine learning model from learning specific attribute ordering. Furthermore, the attribute name-value pair positional embeddings can start with a value of 100 to distinguish them from the header labels which start with 0 (the list headers in our dataset have fewer than 100 labels). Additionally, the machine learning training component 220 can keep the positional embeddings of specific attribute name-value pairs continuous (e.g., "color" = 100, "black" = 101) to maintain pairings between attribute names and values.
[0053] The machine learning training component 220 may not pre-train or fine-tune the form BERT. Instead, it can use a masked language model (MLM) pre-training task to train the model and predict each attribute value during inference. Since the form BERT is designed to predict attribute values, the machine learning training component 220 can modify the MLM task to mask attribute values during training. Specifically, in each batch, up to 70% of the attribute values are randomly masked (this parameter can be further adjusted). During inference, the attribute values are masked, and the machine learning training component 220 can train the form BERT to predict the attribute value for each masked tag. Since attribute values can include multiple tags or sub-tags, all attribute values are preprocessed to be included as a single tag in the tokenizer vocabulary. This preprocessing enables the use of a single [MASK] tag for each attribute during the inference phase.
[0054] Therefore, the machine learning training component 220 can generate machine learning models to predict and automatically fill in numeric form field (attribute) values based on free text and zero or more known values. The form BERT (e.g., a machine learning model) includes different embedding types of the input free text, attribute names and attribute values, a modified masked language model that randomly masks attribute values, and permutation position embeddings to address the uncertainty of word order in the natural language text that a user can fill in a numeric form. The machine learning training component 220 can generate form BERTs that help sellers automatically fill in numeric forms based on their listing titles and zero or more known attribute values. The techniques described herein allow for flexible updates to model predictions and automatic filling in of potential additional fields when sellers voluntarily provide some attribute values or adopt some model suggestions. The machine learning model can be applied to multiple online marketplaces that utilize numeric forms to collect listing information, which includes a predefined set of attributes along with free text boxes. For example, an online vacation rental marketplace can utilize its historical listing data to automatically fill in various amenities based on the rental free text description.
[0055] The machine learning training component 220 can generate attribute measures for a list based on determining what words are included in similar lists. In some examples, the machine learning training component 220 can generate attribute measures for a list based on determining how well the list achieves the desired outcome (e.g., selling items quickly at a higher price compared to other product listings). In some cases, the machine learning training component 220 can generate user interaction measures based on user behavior data. For example, if user behavior data indicates that buyers are more likely to purchase a product when a particular word is included in a list, the user interaction measure can apply a higher score to titles that include that particular word. In some examples, the user interaction measure can apply weights to some or all of one or more user behavior data points to determine a numerical score that can indicate how well the list achieves the desired outcome.
[0056] When generating user interaction metrics, machine learning training component 220 can normalize the user interaction metrics to account for any differences between items in the list. User interaction metrics can be numerical values assigned to each list for a product. The machine learning model can rank the available lists for a product based on user interaction metrics (e.g., arranged in numerical order) and can determine which list features provide the highest click-through rate and / or sales rate for the product. In some examples, the training of the machine learning model by machine learning training component 220 can be product-specific, and the way improved suggested titles are generated for a first product (e.g., a smartphone) can differ from the way improved suggested titles are generated for a second product (e.g., golf clubs).
[0057] In one example, machine learning training component 220 can add at least one additional word to a seller-uploaded list to automatically populate a digital form and generate an improved list. For example, machine learning training component 220 can determine that a specific word generates higher user engagement (e.g., a higher score) when it is included in the list. Machine learning training component 220 can add a specific word to the seller-uploaded list when it determines that the list is missing a particular word. In some examples, machine learning training component 220 can replace at least one word from a seller-uploaded list to generate an updated list. For example, user behavior data might indicate that buyers have a higher probability (or likelihood) of purchasing a product if a specific word is included in the product's list. That is, a specific word might be associated with a higher probability score.
[0058] Additionally or alternatively, the machine learning training component 220 can determine the relative order of words included in the natural text input uploaded by the seller, and can generate a list by rearranging the words in the seller's uploaded input according to the relative order. In some examples, the machine learning training component 220 can use a feedback loop to iteratively update the list over time. For example, the tracking service component 210 can receive additional user data and can update user interaction metrics. For example, the machine learning training component 220 can add attributes to the list and provide users with the option to confirm or reject the added attributes. The machine learning training component 220 can use user confirmation or rejection data to generate updated lists and further improve the machine learning model. Additionally or alternatively, the machine learning training component 220 can provide updated lists for display in response to receiving subsequent search queries from buyers.
[0059] Once the digital form is automatically filled to generate a list, the machine learning training component 220 can use a workflow management platform (e.g., Apache Airflow) to forward the list and its product identifications to the data caching component 225. The data caching component 225 can be an example of a caching layer, such as an in-memory cache (e.g., memcache) or an unstructured query language (non-SQL or NoSQL) database. The data caching component 225 can provide the list and its product identifications to be stored in cache 230.
[0060] When a buyer's user device (e.g., user device 110) sends a search query for items listed for sale in an online marketplace using an online application (e.g., in an online marketplace), query component 235 can implement a service (e.g., a representative state transfer (REST) service) to respond to the query. Query component 235 can use the search query to query cache 230 to identify a specific product in the collection of available products and one or more lists that match the search query. In some cases, cache 230 may return identifiers of the lists that match the search query, as well as identifiers of the products and corresponding improved lists.
[0061] When a potential buyer interacts with the search results page, the tracking service component 210 can collaborate with the search items and product page components 240 to monitor the potential buyer's behavior to update one or more user behavior data (e.g., user clicks, whether the user purchased a listed item after viewing the listing, etc.) stored in the distributed file system component 215. In some examples, the machine learning training component 220 can implement a cluster computing framework that can mine the data in the distributed file system component 215 to determine whether improved titles have led to a specific desired result (e.g., an increased likelihood of purchase). Thus, the components of the application process 200 can provide autofill for list attributes in response to receiving free text, a list of known attribute names, and zero or more attribute values from the user. Additionally or alternatively, the components of the application process 200 can monitor buyer behavior over time to establish a feedback loop to train (e.g., continuously train) a machine learning model to automatically fill out forms to generate a list of products.
[0062] Figure 3 An example of a system 300 supporting the automatic filling of input forms to generate lists, according to aspects of this disclosure, is shown. System 300 may include device 305 (e.g., an application server or server system) and data repository 365. In some cases, functions performed by device 305 (e.g., the application server) may instead be performed by components of data repository 365. User devices (not shown) may support applications for online marketplaces. Specifically, user devices, in conjunction with device 305, may support online marketplaces that generate improved titles using machine learning models. The application (or the application hosting the online marketplace) may train a mathematical model (e.g., an artificial intelligence model) at device 305, where device 305 may identify a result 360 based on training data and use the training data to generate improved titles for the list. In some examples, device 305 may provide the result 360 to the user device (not shown).
[0063] According to one or more aspects of this disclosure, a user device can be used by sellers to generate listings and by buyers to provide search queries and receive one or more search results. Specifically, the user device can display an interactive interface for displaying an online marketplace and displaying one or more search results. In some examples, the user device can be a mobile device that includes a software application for generating listings (via a listing generation component). In some cases, the interface on the user device can run as a webpage within a web browser (e.g., as a Software as a Service (SaaS) product). In other cases, the interface can be part of an application downloaded to the user device. Users operating the user device (sellers and / or buyers) can enter information into the user interface to log in to the online marketplace. In some cases, users can be associated with user credentials or a user ID, and users can log in to the online marketplace using user credentials.
[0064] In some cases, device 305, in conjunction with data repository 365, can train or develop mathematical models (e.g., artificial intelligence models, machine learning models, neural network models, converter-based models, etc.) to automate forms and generate lists. In some aspects, device 305 (or application server) can receive requests to develop an artificial intelligence model to automatically populate one or more fields of a list using one or more predicted attribute values. Additionally or alternatively, device 305 can determine a need to develop an artificial intelligence model (e.g., a machine learning model) to categorize descriptions uploaded by sellers and generate lists. As described herein, device 305, in conjunction with data repository 365, can perform list generation operation 315.
[0065] According to one or more aspects of this disclosure, the list generation operation 315 can be performed by device 305, which is, for example, a server (e.g., an application server, database server, server cluster, virtual machine, container, etc.). Although Figure 3 Not shown, but the list generation operation 315 can be performed by a user device, a data repository, or some combination of these or similar devices. In some cases, device 305 can be as shown in the reference. Figure 1 The components of the described subsystem 125. Device 305 can support computer-aided data science, which can be performed by an AI-enhanced data analytics framework. Device 305 can be an example of a general-purpose analytics machine, and therefore can perform data analysis and automatically fill out forms and provide listings based on product descriptions received from users (e.g., sellers).
[0066] According to one or more aspects of this disclosure, device 305 may receive training data 320 from one or more previous listing activities and / or purchase activities. As described herein, training data 320 may be user behavior data or may include user behavior data. For example, training data 320 may include user activities based on interactive activities associated with search results delivered to one or more user devices. For example, a user device (e.g., a user device separate from device 305) may receive a search results page (including multiple listings associated with a product) in response to a search query. The user device (not shown) may receive the search results page on an interactive interface. This interface may operate as a webpage in a web browser, or it may be part of an application downloaded to the user device. Device 305 may then receive interactive activity information associated with the search results page. Additionally or alternatively, device 305 may monitor attributes included in the listings.
[0067] After receiving training data 320, device 305 can perform training operation 325. Training operation 325 can broadly include user behavior data recognition 330 and attribute recognition 335. As part of user behavior data recognition 330, device 305 can identify the relevance between search terms and words included in the list, and the length of time a buyer spends viewing a specific list before purchasing or not purchasing an item. Device 305 can identify a first set of attributes associated with a first list and a second set of attributes associated with a second list. Both the first and second lists can be associated with the same product. In some examples, as part of attribute recognition 335, device 305 can perform reference... Figure 4The masking operation is described. For example, device 305 can perform training operation 325 by inputting an indication of attribute field labels for a list of items into a converter-based machine learning model and masking one or more attribute field values corresponding to the attribute field labels for the items. That is, device 305 can train a converter-based machine learning model to predict one or more attributes of a list of items by training the converter-based machine learning model with a subset of attribute values from a specific list of items. As part of the training process, device 305 can mask some attribute values (e.g., hide attribute values in the model) so that the converter-based machine learning model can predict the value of the masked attribute of an item. For example, an item listed for sale via an online marketplace could be a Pokémon card. Pokémon cards may have a set of attributes as listed in Table 1 below. The converter-based machine learning model can be trained by masking a specific combination of one or more attributes from the attribute set (e.g., omitting the values of some attributes) and providing one or more other attributes in natural language text to train the converter-based machine learning model to predict the correct value of the masked attribute. For example, during training, the value of the biotype attribute can be omitted from the natural language text input to the converter-based machine learning model, and the values of attributes such as card name and role name can be provided to the converter-based machine learning model to train it to predict the values of the omitted biotype attributes. Device 305 can therefore train the converter-based machine learning model to predict attribute field values based on attribute field labels and natural language training text samples. In some examples, device 305 can implement reference... Figure 1 and Figure 2 The form described is BERT used to perform training operation 325 and list generation operation 345.
[0068] As described herein, device 305 may receive a list request 340. List request 340 may include a request to generate a list of items, which includes natural language text input as the title of the list. In some examples, this includes suggested titles for a first list of products. For example, a seller may use a user device (e.g., a user device separate from device 305) to fill out a digital form to generate a list of products. The seller may provide one or more attributes of the list on an interactive interface of the user device. This interface may run as a webpage in a web browser, or it may be part of an application downloaded to the user device. Based on the received one or more attributes, device 305 may generate predicted values for item description attributes of the items. As described herein, the values of the item description attributes may not be specified in the natural language text and may describe characteristics associated with the generated items. In some examples, device 305 may generate predicted values based on inputting natural language text into a converter-based machine learning model.
[0069] Upon receiving a list request 340, device 305 may perform a list generation operation 345 based on the attributes included in the list request 340. In some examples, the list generation operation 345 may include a token recognition process 350 and a value determination process 355. In one example, device 305 may identify a set of words from a suggested title and automatically fill in a numeric form to generate one or more predicted attributes for the list based on the identified set of words included in the input list. As part of token recognition 350, device 305 may parse natural language text (received as part of the list request 340) to generate title tokens. Device 305 may then identify attribute tokens associated with items in the natural language text that do not have specified attribute values based on the title tokens using a converter-based machine learning model. After identifying the attribute tokens, device 305 may perform value determination 355. As part of value determination 355, device 305 may apply a converter-based machine learning model to generate predicted values for item description attributes based on the set of title tokens and attribute tokens.
[0070] Device 305 can apply list generation operation 345, such that a machine learning model, for example, assigns a score to each predicted value of an attribute. Additionally or alternatively, list generation operation 345 can assign scores to a sequence of one or more sets of words that are values of an attribute. For example, list generation operation 345 can assign a score to each word included in the value of an attribute based on the probability that the word is included in the value of that attribute. In one example, a seller could provide a list title “Pokemon Pikachu VMAX 188 / 185 Vivid Voltage Gold Metal”, and device 305 could predict attribute values not explicitly mentioned in the title (e.g., “Manufacturer: Nintendo” and “Language: English”).
[0071] According to one or more aspects of this disclosure, device 305 can cause a list 360 of predicted values including item description attributes to be presented via a user interface associated with an online marketplace. Referring to the preceding example, upon receiving the natural language text “Pokemon Pikachu VMAX 188 / 185Vivid Voltage Gold Metal”, device 305 can display “Manufacturer: Nintendo” and “Language: English” in a digital form. In some examples, device 305 can track whether the seller confirms or denies the predicted value. That is, device 305 can receive an indication of confirmation or disagreement with the predicted value of the item description attribute. Based on this indication, the device can update the probability value associated with the item description attribute. For example, the seller can agree that “Nintendo” is the correct predicted value for the attribute “Manufacturer”. Based on the received confirmation, device 305 can generate a second predicted value for a second attribute of the item according to a converter-based machine learning model. For example, after a user confirms that the value of an attribute is correct, the converter-based machine learning model can more or less believe that the predicted value of the second attribute is correct. Similarly, after a user confirms that the value of an attribute is incorrect, a converter-based machine learning model can more or less believe that the predicted value of a second attribute is correct. The converter-based machine learning model can therefore assign probabilities to a set of candidate values for the item description attribute and select one of those candidate values as the predicted value for the item description attribute. The indication received from the user regarding whether the predicted value of an attribute is correct or incorrect can be used by the converter-based machine learning model to update one or more predictions for one or more additional attributes.
[0072] Figure 4 An example of a converter-based machine learning model 400 supporting techniques for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown. The converter-based machine learning model 400 can be used to generate predicted values for attributes in the list. For example, a user (e.g., a seller) can fill in a form including a list title and one or more attributes, and the converter-based machine learning model 400 can predict the values of any missing attributes provided by the user.
[0073] The converter-based machine learning model 400's converter architecture can be adapted to input types including ordered inputs (i.e., list headers) and unordered inputs (a set of attribute name-value pairs). Furthermore, the converter-based machine learning model 400 can handle cases where some attribute values are known while the rest are predictable.
[0074] The task of extracting attribute name-value pairs from list titles can be achieved by transforming the extraction task into a named entity recognition (NER) task. In some cases, this task can be performed by applying hand-crafted regular expressions, rules, or dictionaries, or by using various NLP and machine learning techniques such as semantic parsing, sequence classification, and entity matching [1, 4, 6-8, 11-14, 16]. Figure 4 As depicted in the example, the converter-based machine learning model 400 can use the MLM method to extract both explicit and implicit attributes.
[0075] To improve sample efficiency for MLM tasks, in some cases, the converter-based machine learning model 400 can replace some tokens with reasonable alternatives sampled from a small generator network. In some examples, the system can use a combination of two masking types: phrase-level masking, where a phrase is defined as a group of words or characters that together act as a conceptual unit, and entity-level masking (e.g., person, organization). The converter-based machine learning model 400 can perform the masking operation, where each attribute value can include several tokens masked as a single unit.
[0076] Using this method, multiple attribute values can be recommended to sellers without the converter-based machine learning model 400 needing to know all possible list attributes in advance. Furthermore, the converter-based machine learning model 400 can be extended to multiple domains and attribute types without any manual tagging. The converter-based machine learning model 400 can be trained using token embeddings, position embeddings, and type embeddings. Upon receiving a request to generate a list of items, the system supporting the converter-based machine learning model 400 can parse the natural language text input by the user for the list to generate title tags. The system can then identify attribute tags from the converter-based machine learning model associated with items in the natural language text that do not have specified attribute values based on the title tags.
[0077] Unlike other neural network algorithms such as recurrent neural networks or convolutional neural networks, the input order is not an inherent part of the network architecture of the transducer-based machine learning model 400. In some examples, the input order can be included as an additional positional embedding for each input label. Therefore, by using different positional embeddings for each ordered and unordered input, the transducer-based machine learning model 400 architecture provides the flexibility to solve input mixtures within a single architecture. List attributes do not need to follow any particular order, as users can add these attributes in any order. To improve the generality of the transducer-based machine learning model 400 for such arbitrary inputs, an enhanced training scheme can be used to train the transducer-based machine learning model 400, where attribute name-value pairs are permuted in each batch.
[0078] For reference Figure 4 As described, the converter-based machine learning model 400 can support three specific “type” embeddings, one for each entity type (i.e., title, attribute name, or attribute value), with each token input potentially associated with it. Using such type embeddings helps the converter-based machine learning model 400 identify the roles of various input tokens. That is, the converter-based machine learning model 400 can learn which tokens are expected to represent attribute values and also assigns them different weights.
[0079] During the training phase, the converter-based machine learning model 400 can be trained using attribute tags, location tags, and type tags. The converter-based machine learning model 400 can also be trained using a subset of the available attributes of the product. That is, the converter-based machine learning model 400 can be trained to predict the value of an attribute based on a subset of other attributes. As an example, the converter-based machine learning model 400 can be trained using a dataset comprising lists from a category called "Collectible Card Games". This dataset can include approximately 960,000 lists listed over a six-month period. Each training example can include a list title provided by the seller and at least one attribute name-value pair (on average, each list in our dataset has 4.5 attribute name-value pairs). To remove outliers and reduce task complexity, the data can be truncated to include the top 20 most frequently occurring attributes and values that appear at least 5 times; resulting in approximately 11,000 of the most frequent values in the dataset. After filtering, the attribute name-value pairs cover approximately 97% of all attribute name-value pair occurrences in our dataset. 4% of the dataset is used for validation and model selection, another 4% for testing, and the remainder for training. Table 1 reports the top 10 attributes and the number of unique values:
[0080]
[0081]
[0082] Table 1
[0083] The converter-based machine learning model 400 can be trained on lowercase list headers and attribute name-value pairs. The system can also concatenate multi-labeled attribute names or values into a single label using double underscores (e.g., "UnitedStates" is converted to "united_states"). The converter-based machine learning model 400 can be trained up to 8 times using an optimizer and a learning rate of 5e-5, with a batch size of 8 and a maximum sequence length of 350. Precision, recall, and F1 score can be used as precision metrics for the converter-based machine learning model 400. Both metrics can be calculated by summing all correct / incorrect attribute values across all lists, rather than by averaging across each list.
[0084] To evaluate the contribution of the transformer-based machine learning model 400 (e.g., form BERT) to the enhancement compared to BERT, an ablation experiment of the transformer-based machine learning model 400 can be performed, where the type embedding is set to 0 for all labels and its position embedding is set to absolute position. The qualitative evaluation of the transformer-based machine learning model 400 depicted in Table 2 ensures that the predictions of the transformer-based machine learning model 400 are not limited to the attribute name-value explicitly mentioned in the list headings.
[0085] Card types Pokémon Role Pikachu Special skills VMAX Card Pack Dynamic Volt <![CDATA[ language ]]> English <![CDATA[ Year of manufacture ]]> 2020 <![CDATA[ game ]]> Pokémon TCG <![CDATA[ Manufacturer ]]> Nintendo <![CDATA[ Finish ]]> Holo <![CDATA[ feature ]]> Full Art
[0086] Table 2
[0087] Table 2 shows an example of a prediction made by the converter-based machine learning model 400 for the list title “Pokemon Pikachu VMAX188 / 185Vivid Voltage Gold Metal”, where no attribute values are given as natural language input. As described herein, the converter-based machine learning model 400 can accurately predict attribute values not explicitly mentioned in the title (e.g., “Manufacturer: Nintendo” and “Language: English”). Therefore, the converter-based machine learning model 400 can be used to predict and automatically fill in numeric form field (attribute) values based on free text and zero or more known values. The converter-based machine learning model 400 can include different embedding types for the free text, attribute names, and attribute values used as input. The converter-based machine learning model 400 can also include a modified masked language model that randomly masks attribute values. Furthermore, the converter-based machine learning model 400 can include permutation position embeddings to address the uncertainty of the order in which users can fill in numeric forms.
[0088] The converter-based machine learning model 400 can help sellers automatically populate numeric forms based on their listing titles and zero or more known attribute values. In some examples, the converter-based machine learning model 400 can allow for flexible updates to model predictions and automatic filling of potential additional fields when sellers voluntarily provide some attribute values or adopt some model suggestions.
[0089] Figure 5 An example of a user interface 500 supporting the automatic filling of input forms to generate a list, according to aspects of this disclosure, is shown. User interface 500 may be an example of a page displaying a numerical form (list form 505) for list generation. User interface 500 may be displayed to the intended seller on a user device (e.g., user device 110, such as a tablet, smartphone, or other client-facing user device).
[0090] Sellers can access the online marketplace's online application (e.g., a website or smartphone app) (e.g., rendered by the search item and product page component 240) and enter a listing title 515. In the example, a seller could enter "Pokemon Pikachu VMAX 188 / 185Vivid Voltage Gold Metal" as natural language text, which serves as the item's listing title. Sellers can partially fill out the listing form 505. For example, a seller could provide the listing title (Pokemon Pikachu VMAX 188 / 185Vivid Voltage Gold Metal) without providing values for one or more other attributes. Reference Figure 4 Table 2 describes an example of an attribute. Additionally or alternatively, sellers can upload an image 510 for the listing. Completing the listing form 505 can result in one or more suggested attribute values being displayed for the listing on the seller's user device. A converter-based machine learning model can predict one or more additional attributes associated with the product. In some cases, one or more additional attributes may be associated with the resulting item (e.g., manufacturer name, manufacturing date, etc.).
[0091] Transformer-based machine learning models can predict the values of one or more additional attributes (not provided in the user's natural language text). For example, a transformer-based machine learning model can use a reference... Figure 4The described method predicts one or more attributes as shown in Table 2. One or more suggested attribute values may include predicted values for attributes missing from the seller's provided list. In determining the value of each attribute, the converter-based machine learning model can use probability values. For example, for each attribute, the converter-based machine learning model can generate or determine a set of possible values. Based on the training data and previous list information, the converter-based machine learning model can assign a probability or weight to each predicted value of the attribute. The converter-based machine learning model can then present the predicted value with the highest weight as the value of the attribute missing from the seller's input.
[0092] like Figure 5 As depicted herein, user interface 500 may include one or more predicted values for a set of item description attributes. In the example depicted herein, user interface 500 may present the value of the attribute "Language" as "English", the value of the attribute "Year of Manufacture" as "2020", and the value of the attribute "Manufacturer" as "Nintendo". As described herein, a converter-based machine learning model can determine multiple options for the attribute "Language". The value "English" may have the highest probability (or weight) as the predicted value for the attribute "Language", or may otherwise meet a probability threshold (e.g., reach or exceed a threshold). Therefore, the converter-based machine learning model may display "English" as the value for the attribute "Language". User interface 500 may also provide the seller with the option to confirm or reject each value of the attribute. That is, the converter-based machine learning model may automatically populate parts of list form 505 and may request the seller to agree to or reject the automatically populated values. For example, the seller may agree that the value of the attribute "Language" is "English" and the value of the attribute "Manufacturer" is "Nintendo". The seller may reject or indicate that the value of the attribute "Year of Manufacture" is not "2020". Therefore, the converter-based machine learning model increases the weight of the value "English" for the "language" attribute and the value "Nintendo" for the "manufacturer" attribute. Furthermore, the converter-based machine learning model decreases the weight of the value "2020" for the "year of manufacture" attribute. In some examples, the converter-based machine learning model can provide a second predicted value for the "year of manufacture" attribute after the seller rejects the first predicted value. That is, the converter-based machine learning model can replace the value of the "year of manufacture" attribute from "2020" with another year. The user interface 500 helps the user of the user device (e.g., user device 110) prepare a list of items, which includes one or more predicted values for one or more item description attributes. The user can approve the list via the user interface 500, and the online marketplace can make the list searchable and available to other users in the online marketplace.
[0093] Figure 6A block diagram 600 of a device 605, according to aspects of this disclosure, for automatically filling in input forms to generate lists is shown. Device 605 may include an input module 610, an output module 615, and a form filling component 620. Form filling component 620 may be a reference... Figure 1 The description includes an example of the list-generating component 145. Device 605 may also include a processor. The components among these can communicate with each other (e.g., via one or more buses).
[0094] Input module 610 can manage input signals of device 605. For example, input module 610 can identify input signals based on interaction with a modem, keyboard, mouse, touchscreen, or similar device. These input signals can be associated with user input or processing at other components or devices. In some cases, input module 610 can utilize, for example... The input module 610 may use an operating system, such as another known operating system, to process the input signals. The input module 610 may also send aspects of these input signals to other components of the device 605 for processing. For example, the input module 610 may send input signals to the form filling component 620 to support techniques for automatically filling in input forms to generate lists. In some cases, the input module 610 may be as described in the reference... Figure 8 The components of the described I / O controller 810.
[0095] Output module 615 can manage the output signals of device 605. For example, output module 615 can receive signals from other components of device 605 (e.g., form filling component 620) and can send these signals to other components or devices. In some examples, output module 615 can send output signals for display in a user interface, for storage in a database or data repository, for further processing at a server or server cluster, or for any other process at any number of devices or systems. In some cases, output module 615 may be as described in the reference... Figure 8 The components of the described I / O controller 810.
[0096] For example, form filling component 620 may include request component 625, value generation component 630, list component 635, or any combination thereof. In some examples, form filling component 620 or its various components may be configured to perform various operations (e.g., receive, monitor, send) using input module 610, output module 615, or both, or otherwise cooperating with input module 610, output module 615, or both. For example, form filling component 620 may receive information from input module 610, send information to output module 615, or combine with input module 610, output module 615, or both to receive information, send information, or perform various other operations described herein.
[0097] Form filling component 620 can support generating a list of items according to the examples disclosed herein. Request component 625 can be configured or otherwise supported to include a component for receiving a request via a user interface associated with an online marketplace to generate a list of items, the request including natural language text input as a title to the list. Value generation component 630 can be configured or otherwise supported to include a component for generating predicted values for item description attributes of items based on inputting natural language text into a transformer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items. List component 635 can be configured or otherwise supported to include a component for presenting a list including the predicted values of item description attributes via a user interface associated with an online marketplace.
[0098] Figure 7 A block diagram 700 is shown of a form filling component 720, supporting aspects of this disclosure for automatically filling in input forms to generate lists. Form filling component 720 may be an example of or include components of form filling component 620 as described herein. Form filling component 720 or its various components may be examples of parts for performing aspects of techniques described herein for automatically filling in input forms to generate lists. For example, form filling component 720 may include a request component 725, a value generation component 730, a list component 735, a parsing component 740, an attribute tagging component 745, an input component 750, a masking component 755, a training component 760, an indication receiving component 765, a probability component 770, or any combination thereof. The various components may communicate directly or indirectly with each other (e.g., via one or more buses).
[0099] Form filling component 720 can support generating a list of items according to the examples disclosed herein. Request component 725 can be configured or otherwise supported to include a component for receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list. Value generation component 730 can be configured or otherwise supported to include a component for generating predicted values for item description attributes of items based on inputting natural language text into a transformer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items. List component 735 can be configured or otherwise supported to include a component for presenting a list including the predicted values of item description attributes via a user interface associated with an online marketplace.
[0100] In some examples, to support the generation of predicted values, the parsing component 740 may be configured or otherwise supported to support components for parsing natural language text to generate title tags. In some examples, to support the generation of predicted values, the attribute tagging component 745 may be configured or otherwise supported to support components for identifying attribute tags for a transducer-based machine learning model based on title tags and associated with items in the natural language text for which no attribute value is specified. In some examples, to support the generation of predicted values, the value generation component 730 may be configured or otherwise supported to apply a transducer-based machine learning model to generate predicted values for item description attributes based on a set of title tags and attribute tags.
[0101] In some examples, list component 735 may be configured or otherwise supported as a component for presenting the predicted values of item description attributes in a list creation form via a user interface based on the probability threshold determined by the predicted values of the item description attributes.
[0102] In some examples, the indication receiving component 765 may be configured or otherwise supported as a component for receiving an indication of confirmation or disagreement with a predicted value of an item description attribute via a user interface. In some examples, the probability component 770 may be configured or otherwise supported as a component for updating the probability value associated with the item description attribute based on the indication.
[0103] In some examples, the value generation component 730 may be configured or otherwise supported as a component for generating a second predicted value for a second attribute of an item based on the indicated transducer-based machine learning model.
[0104] In some examples, input component 750 may be configured or otherwise supported as a component indicating attribute field markers for inputting a list of data into a transducer-based machine learning model. In some examples, masking component 755 may be configured or otherwise supported as a component for masking one or more attribute field values corresponding to the attribute field markers. In some examples, training component 760 may be configured or otherwise supported as a component for training a transducer-based machine learning model to predict attribute field values based on attribute field markers and natural language training text samples. In some examples, a request to generate a list of items is received as input to a numeric form displayed on a user interface.
[0105] Figure 8 A diagram of a system 800 including a device 805 for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown. Device 805 may be an example of device 605 as described herein or a component including device 605. Device 805 may include components for bidirectional data communication (including components for sending and receiving communications), such as form filling component 820, I / O controller 810, database controller 815, memory 825, processor 830, and database 835. These components may communicate electronically or be otherwise coupled (e.g., operative ground, communication ground, functional ground, electronic ground, electrical ground) via one or more buses (e.g., bus 840).
[0106] I / O controller 810 can manage the input signals 845 and output signals 850 of device 805. I / O controller 810 can also manage peripheral devices not integrated into device 805. In some cases, I / O controller 810 can represent a physical connection or port to an external peripheral device. In some cases, I / O controller 810 can utilize, for example... Or an operating system such as another known operating system. In other cases, the I / O controller 810 may represent, or interact with, a modem, keyboard, mouse, touchscreen, or similar device. In some cases, the I / O controller 810 may be implemented as part of the processor 830. In some examples, a user can interact with the device 805 via the I / O controller 810 or via hardware components controlled by the I / O controller 810.
[0107] Database controller 815 manages data storage and processing within database 835. In some cases, users can interact with database controller 815. In other cases, database controller 815 can operate automatically without user interaction. Database 835 can be an example of a single database, a distributed database, multiple distributed databases, a data repository, a data lake, or an emergency backup database.
[0108] Memory 825 may include random access memory (RAM) and ROM. Memory 825 may store computer-readable, computer-executable software including instructions that, when executed, cause processor 830 to perform the various functions described herein. In some cases, memory 825 may contain a BIOS, which controls basic hardware or software operations, such as interaction with peripheral components or devices.
[0109] Processor 830 may include intelligent hardware devices (e.g., general-purpose processors, DSPs, CPUs, microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, processor 830 may be configured to use a memory controller to operate a memory array. In other cases, the memory controller may be integrated into processor 830. Processor 830 may be configured to execute computer-readable instructions stored in memory 825 to perform various functions (e.g., functions or tasks that support techniques for automatically filling in input forms to generate lists).
[0110] Form filling component 820 may support generating a list of items according to the examples disclosed herein. For example, form filling component 820 may be configured or otherwise support a component for receiving a request via a user interface associated with an online marketplace to generate a list of items, the request including natural language text input as a title to the list. Form filling component 820 may be configured or otherwise support a component for generating predicted values for item description attributes of items based on inputting natural language text into a transformer-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the generated items. Form filling component 820 may be configured or otherwise support a component for causing a list including predicted values of item description attributes to be presented via a user interface associated with an online marketplace.
[0111] Figure 9 A flowchart illustrating a method 900 for automatically filling in an input form to generate a list, according to aspects of this disclosure, is shown. The operation of method 900 can be implemented by a list generation component or a component thereof as described herein. For example, the operation of method 900 can be implemented by, as referenced... Figures 1 to 8The described list generation component is used to perform this function. In some examples, the list generation component can execute a set of instructions to control the functional units of the list generation component to perform the described function. Additionally or alternatively, the list generation component can use dedicated hardware to perform aspects of the described function.
[0112] At 905, the method may include receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list. Operation 905 can be performed according to examples as disclosed herein. In some examples, aspects of the operation of 905 may be derived from references... Figure 7 The requested component 725 is used to execute the request.
[0113] At 910, the method may include: generating predicted values for item description attributes of an item based on inputting natural language text into a converter-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the resulting item. Operation 905 can be performed according to examples as disclosed herein. In some examples, aspects of operation 910 may be derived from references... Figure 7 The described value generation component 730 is used to perform this.
[0114] At 915, the method may include presenting a list of predicted values, including project description attributes, via a user interface associated with the online marketplace. Operation 915 can be performed according to examples as disclosed herein. In some examples, aspects of operation 915 may be derived from, as referenced... Figure 7 The described list component 735 is used for execution.
[0115] Figure 10 A flowchart illustrating a method 1000 for automatically filling in input forms to generate lists, according to aspects of this disclosure, is shown. The operation of method 1000 can be implemented by a list generation component or a component thereof as described herein. For example, the operation of method 1000 can be implemented by, as referenced... Figures 1 to 8 The described list generation component is used to perform this function. In some examples, the list generation component can execute a set of instructions to control the functional units of the list generation component to perform the described function. Additionally or alternatively, the list generation component can use dedicated hardware to perform aspects of the described function.
[0116] At 1005, the method may include receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list. Operation 1005 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1005 may be derived from references... Figure 7 The requested component 725 is used to execute the request.
[0117] At 1010, the method may include parsing natural language text to generate caption tags. Operation 1010 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1010 may be derived from references... Figure 7 The described parsing component 740 is used for execution.
[0118] At 1015, the method may include attribute tags based on a converter-based machine learning model that identifies items in natural language text that do not have specified attribute values, based on the title tag identification. Operation 1015 can be performed according to examples as disclosed herein. In some examples, aspects of the operation at 1015 may be derived from references... Figure 7 The described attribute tag component 745 is used to perform this.
[0119] At 1020, the method may include applying a transformer-based machine learning model to generate predicted values for the project description attributes based on a set of title tags and attribute tags. Operation 1020 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1020 may be derived from references... Figure 7 The described value generation component 730 is used to perform this.
[0120] At 1025, the method may include: generating predicted values for item description attributes of an item based on inputting natural language text into a converter-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the resulting item. Operation 1025 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1025 may be derived from references... Figure 7 The described value generation component 730 is used to perform this.
[0121] At 1030, the method may include presenting a list of predicted values, including item description attributes, via a user interface associated with the online marketplace. Operation 1030 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1030 may be derived from references... Figure 7 The described list component 735 is used for execution.
[0122] Figure 11 A flowchart illustrating a method 1100 for automatically filling in an input form to generate a list, according to aspects of this disclosure, is shown. The operation of method 1100 can be implemented by a list generation component or a component thereof as described herein. For example, the operation of method 1100 can be implemented by, as referenced... Figures 1 to 8The described list generation component is used to perform this function. In some examples, the list generation component can execute a set of instructions to control the functional units of the list generation component to perform the described function. Additionally or alternatively, the list generation component can use dedicated hardware to perform aspects of the described function.
[0123] At 1105, the method may include receiving a request to generate a list of items via a user interface associated with an online marketplace, the request including natural language text input as a title to the list. Operation 1105 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1105 may be derived from references... Figure 7 The requested component 725 is used to execute the request.
[0124] At 1110, the method may include: generating predicted values for item description attributes of an item based on inputting natural language text into a converter-based machine learning model, wherein the values of the item description attributes are not specified in the natural language text and describe features associated with the resulting item. Operation 1110 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1110 may be derived from references... Figure 7 The described value generation component 730 is used to perform this.
[0125] At 1115, the method may include: based on determining that the predicted value of the item description attribute satisfies a probability threshold, causing the predicted value of the item description attribute to be presented in a list creation form via a user interface. Operation 1115 can be performed according to examples as disclosed herein. In some examples, aspects of operation 1115 may be derived from references... Figure 7 The described list component 735 is used for execution.
[0126] It should be noted that the methods described in this paper describe possible implementations, and the operations and steps can be rearranged or otherwise modified, and other implementations are also possible. Furthermore, aspects from two or more methods can be combined.
[0127] The description herein, illustrated with reference to the accompanying drawings, depicts exemplary configurations but does not represent all examples that can be implemented or that are within the scope of the claims. The term "exemplary" as used herein means "serving as an example, instance, or illustration," and not "preferred" or "superior to other examples." The detailed description includes specific details for the purpose of providing an understanding of the described techniques. However, these techniques can be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form to avoid obscuring the concept of the described examples.
[0128] In the accompanying drawings, similar components or features may have the same reference numerals. Furthermore, various components of the same type can be distinguished by adding a dash after the reference numeral and a second reference numeral to differentiate similar components. If only the first reference numeral is used in the description, the description applies to any similar component having the same first reference numeral regardless of the second reference numeral.
[0129] The information and signals described herein can be represented using any of a variety of different techniques and skills. For example, the data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or particles, light fields or particles, or any combination thereof.
[0130] The various illustrative boxes and modules described herein can be implemented or performed using a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware component, or any combination thereof, designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, it may be a conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration).
[0131] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored on or transmitted via a computer-readable medium as one or more instructions or code. Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Features implementing the functions can also be physically located in different locations, including being distributed such that portions of the functions are implemented at different physical locations. Furthermore, as used herein, including as used in the claims, and as used in a list of items (e.g., a list of items beginning with phrases such as “at least one of…” or “one or more of…”), “or” indicates an inclusive list, for example, a list of at least one of A, B, or C means: A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Furthermore, as used herein, the phrase “based on” should not be construed as a reference to a closed set of conditions. For example, an exemplary step described as “based on condition A” can be based on conditions A and B without departing from the scope of this disclosure. In other words, as used in this article, the phrase “based on” should be interpreted in the same way as the phrase “at least partially based on”.
[0132] Computer-readable media include non-transitory computer storage media and communication media, including any medium that facilitates the transfer of a computer program from one place to another. A non-transitory storage medium can be any available medium accessible to a general-purpose computer or a special-purpose computer. By way of example, and not limitation, a non-transitory computer-readable medium can include RAM, ROM, electrically erasable programmable ROM (EEPROM), compact disc (CD) ROM or other optical disc storage, disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store the required program code in the form of instructions or data structures and is accessible by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Furthermore, any connection may be appropriately named a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, optical fiber, twisted pair, digital subscriber line (DSL), or wireless technology (e.g., infrared, radio, and microwave), then coaxial cable, optical fiber, twisted pair, DSL, or wireless technology (e.g., infrared, radio, and microwave) is included in the definition of medium. As used in this article, disks and optical discs include CDs, laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs. Disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of these are also included within the scope of computer-readable media.
[0133] The description herein is provided to enable those skilled in the art to make or use this disclosure. Various modifications to this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not limited to the examples and designs described herein, but is consistent with the widest scope of the principles and novel features disclosed herein.
Claims
1. A computer-implemented method for generating a list of items, comprising: A request to generate a list of the items is received via a user interface associated with an online marketplace, the request including natural language text input as the title of the list; At least in part, based on inputting the natural language text into a converter-based machine learning model, predicted values for the project description attributes are generated in the following manner: Parse the natural language text to generate title tags; Based at least in part on the title tags, identify attribute tags in the converter-based machine learning model that are associated with the project and whose attribute values are not specified in the natural language text; as well as The converter-based machine learning model is applied to generate predicted values for the project description attributes, at least in part based on the set of title tags and attribute tags. The value of the project description attribute is not specified in the natural language text, and it describes the characteristics associated with the generated project; This enables the predicted values of the item description attributes to be automatically populated into the corresponding fields of the list creation form via the user interface; and This allows a list of predicted values, including the project description attributes, to be presented via a user interface associated with the online marketplace. The converter-based machine learning model is trained through the following steps: The transducer-based machine learning model is input with an instruction for the attribute field markers of the list; one or more attribute field values corresponding to the attribute field markers are masked; and the transducer-based machine learning model is trained to predict attribute field values, at least in part based on the attribute field markers and natural language training text samples.
2. The method according to claim 1, further comprising: The predicted values of the item description attributes are presented in the list creation form via the user interface, at least in part, based on the determination that the predicted values of the item description attributes meet a probability threshold.
3. The method according to claim 2, further comprising: Receive an indication via the user interface to confirm or disagree with the predicted value of the project description attribute; as well as The probability values associated with the project description attribute are updated at least in part based on the indication.
4. The method according to claim 3, further comprising: The second predicted value of the second attribute of the project is generated based at least in part on the instructions and at least in part on the converter-based machine learning model.
5. The method of claim 1, wherein, The request to generate a list of items is received as input to a digital form displayed on the user interface.
6. An apparatus for generating a list of items, comprising: processor; Memory, coupled to the processor; as well as Instructions, stored in the memory and executable by the processor, enable the device to: A request to generate a list of the items is received via a user interface associated with an online marketplace, the request including natural language text input as the title of the list; At least in part, based on inputting the natural language text into a converter-based machine learning model, predicted values for the project description attributes are generated in the following manner: Parse the natural language text to generate title tags; Based at least in part on the title tags, identify attribute tags in the converter-based machine learning model that are associated with the project and whose attribute values are not specified in the natural language text; as well as The converter-based machine learning model is applied to generate predicted values for the project description attributes, at least in part based on the set of title tags and attribute tags. The value of the project description attribute is not specified in the natural language text, and it describes the characteristics associated with the generated project; This enables the predicted values of the item description attributes to be automatically populated into the corresponding fields of the list creation form via the user interface; and This allows a list of predicted values, including the project description attributes, to be presented via a user interface associated with the online marketplace. The converter-based machine learning model is trained through the following steps: The transducer-based machine learning model is input with an instruction for the attribute field markers of the list; one or more attribute field values corresponding to the attribute field markers are masked; and the transducer-based machine learning model is trained to predict attribute field values, at least in part based on the attribute field markers and natural language training text samples.
7. The apparatus according to claim 6, wherein, The instructions can also be executed by the processor to cause the device to: The predicted values of the item description attributes are presented in the list creation form via the user interface, at least in part, based on the determination that the predicted values of the item description attributes meet a probability threshold.
8. The apparatus according to claim 7, wherein, The instructions can also be executed by the processor to cause the device to: Receive, via the user interface, an indication to confirm or disagree with the predicted value of the project description attribute; and The probability values associated with the project description attribute are updated at least in part based on the indication.
9. The apparatus according to claim 8, wherein, The instructions can also be executed by the processor to cause the device to: The second predicted value of the second attribute of the project is generated based at least in part on the instructions and at least in part on the converter-based machine learning model.
10. The apparatus according to claim 6, wherein, The request to generate a list of items is received as input to a digital form displayed on the user interface.
11. A non-transitory computer-readable medium storing code for generating a list of items, the code comprising instructions executable by a processor to: A request to generate a list of the items is received via a user interface associated with an online marketplace, the request including natural language text input as the title of the list; At least in part, based on inputting the natural language text into a converter-based machine learning model, predicted values for the project description attributes are generated in the following manner: Parse the natural language text to generate title tags; Based at least in part on the title tags, identify attribute tags in the converter-based machine learning model that are associated with the project and whose attribute values are not specified in the natural language text; as well as The converter-based machine learning model is applied to generate predicted values for the project description attributes, at least in part based on the set of title tags and attribute tags. The value of the project description attribute is not specified in the natural language text, and it describes the characteristics associated with the generated project; This enables the predicted values of the item description attributes to be automatically populated into the corresponding fields of the list creation form via the user interface; and This allows a list of predicted values, including the project description attributes, to be presented via a user interface associated with the online marketplace. The converter-based machine learning model is trained through the following steps: The transducer-based machine learning model is input with an instruction for the attribute field markers of the list; one or more attribute field values corresponding to the attribute field markers are masked; and the transducer-based machine learning model is trained to predict attribute field values, at least in part based on the attribute field markers and natural language training text samples.
12. The non-transitory computer-readable medium according to claim 11, wherein, The instructions can also be executed by the processor to: The predicted values of the item description attributes are presented in the list creation form via the user interface, at least in part, based on the determination that the predicted values of the item description attributes meet a probability threshold.
13. The non-transitory computer-readable medium according to claim 12, wherein, The instructions can also be executed by the processor to: Receive, via the user interface, an indication to confirm or disagree with the predicted value of the project description attribute; and The probability values associated with the project description attribute are updated at least in part based on the indication.
14. The non-transitory computer-readable medium according to claim 13, wherein, The instructions can also be executed by the processor to: The second predicted value of the second attribute of the project is generated based at least in part on the instructions and at least in part on the converter-based machine learning model.