System and method for automatically generating articles for products
Through the computer-assisted article generation system, advanced artificial intelligence technology is used to automatically generate high-quality product descriptions, which solves the problem of lack of product descriptions on e-commerce platforms, improves efficiency and reduces costs.
Patent Information
- Application Number
- CN201910799302.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-08-28
- Filing Date
- 2019-08-27
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2039-08-27
AI Technical Summary
In the existing technology, the descriptions of products on e-commerce platforms lack high-quality text, which makes it difficult for consumers to form a comprehensive understanding. Manually writing product descriptions is inefficient and costly.
A computer-assisted article generation system is used, which uses advanced artificial intelligence technology to automatically generate high-quality text based on SKU ID or keywords, combines natural language processing and machine learning, and provides a web interface for users to select and edit.
The efficiency and quality of product description generation have been improved, and the cost of manual writing has been reduced. The system can quickly generate large amounts of text to adapt to the writing style requirements of different products.
Smart Images

Figure CN110909536B_ABST
Abstract
Description
[0001] Cross-references
[0002] Several references are cited and discussed in the description of this disclosure. These references may include patents, patent applications, and various publications. Citation and / or discussion of these references are provided solely for clarity of the description of this disclosure and are not an admission that any such reference is "prior art" with respect to the disclosure described herein. All references cited and discussed in this specification are incorporated herein by reference in their entirety, to the same extent as if each reference were individually incorporated by reference. Technical Field
[0003] The present disclosure relates generally to automatically generating articles, and more particularly to systems and methods for automatically generating articles describing e-commerce products on an online platform. Background Art
[0004] The background description provided here is intended to generally present the context of the present disclosure. The work of the presently named inventors to the extent described in this background section, as well as aspects of the specification that may not have constituted prior art at the time of filing, are not admitted, either explicitly or implicitly, to be prior art against the present disclosure.
[0005] E-commerce has always been an integral part of social life. Every day, billions of products are offered for sale on online retail platforms like Amazon.com, JD.com, and Alibaba.com. Many products come with minimal text descriptions, making it difficult for consumers to fully understand the product, let alone develop a purchasing interest.
[0006] Manually writing high-quality text descriptions seems to be a solution to this problem. However, given the huge number of products, manual writing requires a huge amount of labor.
[0007] Therefore, there is a need in the art to address the above-mentioned deficiencies and shortcomings. Summary of the Invention
[0008] In certain aspects, the present disclosure relates to a method for generating an article about a target product. In certain embodiments, the method includes: receiving, by a computing device, a request from a user, the request including at least one of a keyword and an identifier of a target product; determining, based on the request, at least one target feature of the target product; generating a plurality of candidate sentences corresponding to the target feature; selecting, based on an instruction from the user, a plurality of target sentences from the candidate sentences; and generating an article based on the target sentences.
[0009] In some embodiments, the step of determining at least one target feature includes: determining whether the request includes a keyword or an identifier of a target product; when the request includes an identifier of the target product: retrieving at least one target feature from a feature database, the feature database including the identifier of the product and the corresponding feature of the product; and when the request includes a keyword of the target product: determining at least one target feature by comparing the keyword of the target product with a synonym dictionary, the dictionary words in the synonym dictionary including features and synonyms of the features.
[0010] In some embodiments, the identification of the target product is a stock keeping unit (SKU) of the target product.
[0011] In some embodiments, the step of comparing the keyword with a synonym dictionary includes: matching the keyword with a dictionary word, and when there is no match, calculating the similarity between the keyword and the dictionary word, and defining the dictionary word with the highest similarity to the keyword as a feature of the target product.
[0012] In some embodiments, machine learning is used to calculate the similarity between keywords and dictionary words.
[0013] In some embodiments, the step of generating a plurality of candidate sentences includes: selecting candidate sentences corresponding to a target feature; determining conflicts between the candidate sentences and the target feature; removing candidate sentences with conflicts to obtain filtered sentences; extracting features reflected in each filtered sentence; and ranking the filtered sentences based on a fit value between the features reflected in each filtered sentence and the target feature of the product. The fit value is calculated based on the number of identical features between the features reflected in each filtered sentence and the target feature.
[0014] In some embodiments, the method further includes adding a new sentence to the filtered sentences, the new sentence being generated by replacing a verb or an adjective in one of the filtered sentences with a synonym.
[0015] In some embodiments, the method further includes adding a new sentence to the filtered sentences, the new sentence being generated by: parsing one of the filtered sentences into syntactic components; and reorganizing the syntactic components into a syntactic structure different from that of the one of the filtered sentences.
[0016] In some embodiments, the step of selecting the plurality of target sentences includes: selecting a target sentence from the filtered sentences based on the ranking of the filtered sentences; removing the selected target sentence from the filtered sentences and re-ranking the remaining filtered sentences; and selecting another target sentence from the re-ranked remaining filtered sentences.
[0017] In some embodiments, the step of generating an article based on the target sentence includes providing an interface for modifying the target sentence and rearranging the target sentence.
[0018] In certain aspects, the present disclosure relates to a system for generating an article about a target product. In certain embodiments, the system includes a computing device having a processor and a storage device storing computer-executable code. When executed by the processor, the computer-executable code is configured to perform the method described above.
[0019] In some aspects, the present disclosure relates to a non-transitory computer-readable medium storing computer-executable code. When executed on a processor of a computing device, the computer-executable code is configured to perform the above-described method.
[0020] These and other aspects of the present disclosure will become apparent from the following description of the preferred embodiments taken in conjunction with the accompanying drawings and illustrations thereof, however, changes and modifications may be effected therein without departing from the spirit and scope of the novel concepts of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings illustrate one or more embodiments of the present disclosure and, together with the written description, serve to explain the principles of the present disclosure. Wherever possible, the same reference numerals are used throughout the drawings to represent the same or similar elements of the embodiments.
[0022] Figure 1 An article generation system according to certain embodiments of the present disclosure is schematically depicted.
[0023] Figure 2 An article generation system according to certain embodiments of the present disclosure is schematically depicted.
[0024] Figure 3A A feature parsing module according to certain embodiments of the present disclosure is schematically depicted.
[0025] Figure 3B Schematically depicting attributes and features of certain embodiments according to the present disclosure.
[0026] Figure 4A A text generation module according to certain embodiments of the present disclosure is schematically depicted.
[0027] Figure 4B A knowledge graph presenting pairwise co-occurring attributes is schematically shown.
[0028] Figure 4C An example of parsing a searched sentence and reorganizing the parsed sentence into a different syntactic structure according to certain embodiments of the present disclosure is schematically illustrated.
[0029] Figure 5 An article presentation module according to certain embodiments of the present disclosure is schematically depicted.
[0030] Figure 6 A method for presenting articles according to certain embodiments of the present disclosure is schematically depicted.
[0031] Figure 7 A method for presenting articles according to certain embodiments of the present disclosure is schematically depicted.
[0032] Figure 8 The engineering architecture according to some embodiments of the present disclosure is schematically shown.
[0033] 9A to 9D The interface of an article generation application according to some embodiments of the present disclosure is schematically shown.
[0034] Figure 10 A workflow according to certain embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0035] The present disclosure is described in more detail in the following examples, which are illustrative only, as many modifications and variations therein will be apparent to those skilled in the art. Various embodiments of the present disclosure are now described in detail. With reference to the accompanying drawings, the same numerals represent the same components in all views. As used in the description herein and in the claims that follow, the meaning of "a", "an" and "the" includes plural references unless the context clearly indicates otherwise. In addition, as used in the description herein and in the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly indicates otherwise. In addition, for the convenience of the reader, titles or subtitles may be used in the specification, which will not affect the scope of the present disclosure. In addition, some of the terms used in this specification are more specifically defined below.
[0036] The terms used in this specification generally have common meanings in the art, in the context of the present disclosure, and in the specific context in which each term is used. Certain terms used to describe the present disclosure are discussed elsewhere below or in the specification, thereby providing additional guidance to practitioners regarding the description of the present disclosure. It should be understood that the same thing can be narrated in more than one way. Therefore, alternative language and synonyms can be used for any one or more terms discussed herein, and there is no special meaning for whether the terms are elaborated or discussed in detail in this article. Synonyms for certain terms are provided. The narration of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification (including examples of any terms discussed herein) is only illustrative and does not limit the scope and meaning of the present disclosure or any exemplary term. Similarly, the present disclosure is not limited to the various embodiments provided in this specification.
[0037] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which the present disclosure belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted as idealized or overly formal unless such definition is expressly made herein.
[0038] As used herein, "approximately," "about," "substantially," or "roughly" generally means within 20%, preferably within 10%, and more preferably within 5% of a given value or range. The values given herein are approximate, which means that if not explicitly stated, the term "approximately," "about," "substantially," or "roughly" can be inferred.
[0039] As used herein, "plurality" means two or more.
[0040] As used herein, the terms "include", "comprising", "carrying", "having", "containing", "involving", etc. should be understood as open-ended, that is, meaning including but not limited to.
[0041] As used herein, the phrase "at least one of A, B, and C" should be construed to mean a logical (A or B or C), using a non-exclusive logical OR. It should be understood that one or more steps within a method can be performed in a different order (or concurrently) without altering the principles of the present disclosure. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0042] As used herein, the term "module" may refer to, be part of, or include an application-specific integrated circuit (ASIC); an electronic circuit; a combinational logic circuit; a field-programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable hardware components that provide the functionality; or a combination of some or all of the above, such as in a system on a chip. The term "module" may include a memory (shared, dedicated, or group) that stores code executed by a processor.
[0043] The term "code" as used herein may include software, firmware and / or microcode, and may refer to a program, routine, function, class and / or object. The term "shared" as used above means that a single (shared) processor may be used to execute some or all of the code from multiple modules. In addition, some or all of the code from multiple modules may be stored by a single (shared) memory. The term "group" as used above means that a group of processors may be used to execute some or all of the code from a single module. In addition, a group of memories may be used to store some or all of the code from a single module.
[0044] As used herein, the term "interface" generally refers to a communication tool or device at a point of interaction between components that is used to communicate data between the components. Generally, interfaces can apply at both the hardware and software levels and can be unidirectional or bidirectional. Examples of physical hardware interfaces can include electrical connectors, buses, ports, cables, terminals, and other I / O devices or components. The components that communicate with the interface can be, for example, multiple components of a computer system or peripheral devices.
[0045] The present disclosure relates to computer systems. As shown in the accompanying drawings, computer components may include physical hardware components shown as solid-line boxes and virtual software components shown as dashed-line boxes. Unless otherwise specified, it will be understood by those skilled in the art that these computer components may be implemented in the form of (but not limited to) software, firmware, or hardware components, or a combination thereof.
[0046] The devices, systems, and methods described herein may be implemented by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on a non-transitory, tangible, computer-readable medium. The computer programs may also include stored data. Non-limiting examples of non-transitory, tangible, computer-readable media are nonvolatile memory, magnetic storage devices, and optical storage devices.
[0047] The present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the present disclosure are shown. However, the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0048] As the number of products listed on e-commerce platforms continues to increase, there is a need to promote product sales by providing high-quality articles describing the products. However, when product articles are written manually, the writing process is difficult to scale, and is costly and inefficient.
[0049] In certain aspects, the present disclosure develops a computer-assisted article or content generation system that greatly facilitates the generation of advertising content (eg, product descriptions, advertising statements, articles, etc.), which ultimately improves sales and user experience.
[0050] In certain embodiments, advanced artificial intelligence (AI) technology is used to provide a novel software system to automatically generate high-quality text based on the SKU id or keywords describing the product. The AI-generated text is combined with an online text editor to provide writers with materials that are ready for them to select, edit and submit. Compared with the traditional method (writing from scratch), the system significantly speeds up the article writing process. The system has a web interface in which users can enter keywords, select AI-generated text, refresh / edit the text and submit it. The AI is trained based on historical e-commerce text content, written by professional writers, and continuously improves itself based on user feedback (user ratings, selection and editing of AI-generated text). In other words, the present disclosure provides a system that embeds AI to facilitate writing in an e-commerce environment by integrating technologies including natural language processing, machine learning, web user interface (UI) and software engineering. In particular, the system is able to overcome the drawbacks of human writing solutions: (1) scalability - the system can generate as much text as needed; (2) efficiency - the system generates thousands of sentences per second for each user; and (3) cost - the costs of electricity, internet service, and computer depreciation are negligible compared to the labor of professional writers.
[0051] Figure 1 Schematically depicts an article generation system according to certain embodiments of the present disclosure. Figure 1 As shown, the system 100 includes an input module 110 , a feature parsing module 120 , a text generation module 130 , an article presentation module 140 , an editor module 150 and a “my article” module 160 .
[0052] When a user 170 wants to generate text content, the system 100 needs to know the user's intention: which item the content will describe, which feature of the item is most attractive, and which writing style is most suitable. Therefore, the system 100 provides an input box to the user 170 so that they can enter the item SKU or keyword as input 110.
[0053] In the field of inventory management, a SKU is a unique type of item for sale (e.g., a product or service) and all the attributes associated with that item type that distinguish it from other item types. For products, these attributes can include manufacturer, description, material, size, color, packaging, and warranty terms. When a company takes inventory of its inventory, it counts the number of each SKU. SKU can also refer to a unique identifier or code, which refers to a specific inventory unit. These codes are not standardized or standardized. When a company receives an item from a supplier, it can choose to retain the supplier's SKU or create its own SKU. In some embodiments, SKU refers to a unique identifier, such as a number with 8 to 16 digits.
[0054] In response to receiving input 110, system 100 determines in process 122 whether input 110 is a SKU 123 or a keyword 124. If the input is the former, system 100 queries internal database 125 to find attributes associated with the SKU 123. If the input is the latter, system 100 queries a synonym dictionary in process 126 to find product features 132 that are synonymous with the keyword, where a feature is a value of a product attribute. In summary, feature parsing module 120 translates input 110 into product features 132.
[0055] Then, in process 134 , in response to receiving the product features 132 , the text generation module 130 employs an AI algorithm to generate a sentence based on the product features 132 .
[0056] The article presentation module 140 provides a web interface to present AI-generated sentences to the user 170 so that the user 170 can select and refresh sentences. Refreshing occurs in two situations: (1) when the user wants more candidate sentences, and (2) after the user selects a sentence as a selection. In scenario (2), candidate sentences that carry duplicate features with the selected sentence are removed from the sentence candidate list. Since the selected sentence already represents a part of the features, there is no need to add similar sentences. Refreshing is to remove these sentences from the search results. Figure 1As shown, the system 100 determines whether there is a satisfactory sentence in process 142. If so, the user 170 selects the satisfactory sentence in process 144, and the satisfactory sentences are integrated in process 146. If there is no satisfactory sentence, the system performs a refresh in process 148 to generate a different sentence or more sentences for further determination.
[0057] After assembling the sentences, user 170 uses editor 150 to construct the individual sentences of the article. Editor 150 provides a flexible user interface: users can drag sentences to change their layout order; users can edit text within sentences; users can delete entire sentences; and users can write their own text. User 170 can submit the edited content and the merged article to the web service or save it for later submission. Furthermore, the edited content is fed back to the algorithms and models in text generation module 130, thereby improving the algorithms and models, for example, by retraining the models.
[0058] The My Articles module 160 is used to store previously saved / submitted articles so that users 170 can search for their previous works and reuse them.
[0059] Figure 2 An article generation system according to certain embodiments of the present disclosure is schematically depicted. Figure 2 The system 200 shown in FIG. Figure 1 The system 100 shown in FIG is a different way of showing the same or similar system. Figure 2 As shown, system 200 includes a server computing device 210 , one or more user computing devices 250 , and a network 230 connecting the user computing devices 250 with the server computing device 210 .
[0060] The server computing device 210 can be used as a server or a host computer. In certain embodiments, the server computing device 210 can be a server computer, a cluster, a cloud computer, a general-purpose computer, or a dedicated computer that provides article generation services. In certain embodiments, the user computing device 250 can be a cloud computer, a mobile device, a tablet computer, a general-purpose computer, a headless computer, a wearable device, or a dedicated computer that can access the article generation services provided by the server computing device 210. In certain embodiments, the network 230 can be a wired or wireless network and can be embodied in various forms, such as a public network and a dedicated network. Examples of networks can include, but are not limited to, a LAN or a wide area network (WAN) including the Internet. In certain embodiments, two or more different networks and / or interfaces can be used to connect the server computing device 210 to the user computing device 250. In certain embodiments, the network 230 can also be a system interface or a universal serial bus (USB) interface.
[0061] like Figure 2 As shown, the server computing device 210 may include, but is not limited to, a processor 212, a memory 214, and a storage device 216. In some embodiments, the server computing device 210 may include other hardware components and software components (not shown) to perform its corresponding tasks. Examples of these hardware and software components may include, but are not limited to, other required memories, interfaces, buses, input / output (I / O) modules or devices, network interfaces, and peripheral devices.
[0062] Processor 212 may be a central processing unit (CPU) configured to control the operation of server computing device 210. Processor 212 may execute the operating system (OS) or other applications of server computing device 210. In some embodiments, server computing device 210 may have more than one CPU as a processor, such as two CPUs, four CPUs, eight CPUs, or any suitable number of CPUs. Memory 214 may be volatile memory (such as random access memory (RAM)) for storing data and information during operation of server computing device 210. In some embodiments, memory 214 may be a volatile memory array. In some embodiments, server computing device 210 may run on more than one memory 214. Storage device 216 is a non-volatile data storage medium for storing the operating system (not shown) and other applications of server computing device 210. Examples of storage device 216 may include non-volatile memory, such as flash memory, memory cards, USB drives, hard drives, floppy disks, optical drives, solid-state drives (SSDs), or any other type of data storage device. In some embodiments, storage device 216 may be local storage, remote storage, or cloud storage. In some embodiments, the server computing device 210 may have multiple storage devices 216, which may be the same type of storage devices or different types of storage devices, and the application of the server computing device 210 may be stored in one or more storage devices 216 of the computing device 210. Figure 2 As shown, storage device 216 includes article generation application 220. Article generation application 220 provides a platform for efficiently generating articles.
[0063] The article generation application 220 includes a feature parsing module 222, a text generation module 224, an article presentation module 226, and a user interaction module 228. In certain embodiments, the article generation application 220 may include other applications or modules required for the operation of modules 222-228. It should be noted that each module is implemented as a computer executable code or instruction or a data table or database, which together form an application. In certain embodiments, each module may also include submodules. Alternatively, some modules may be combined into a stack. In other embodiments, some modules may be implemented as circuits rather than executable code. In certain embodiments, some or all modules of the article generation application 220 may be located at a remote computing device or cloud device.
[0064] The feature parsing module 222 is configured to parse the input received from the user via an interactive interface (such as a graphical user interface (GUI)) to obtain one or more features of one or more products and send the features to the text generation module 224. Figure 3A The feature parsing module 222 includes submodules and data, specifically a request receiver 2220, a SKU query module 2222, a SKU feature database 2224, a synonym matching module 2226, a product feature list 2228, and a synonym dictionary 2230. The request receiver 2220 is configured to receive a request or input from a user. The request may include a product keyword or a product SKU entered by the user. The request receiver 2220 is then configured to send the SKU to the SKU query module 2222 and / or send the keyword to the synonym matching module 2226.
[0065] The SKU query module 2222 is configured to, in response to receiving a SKU, use the SKU to query the SKU feature database 2224, thereby obtaining one or more product features corresponding to the product with the SKU. The SKU feature database 2224 is also known as a product attribute database, where product features are the values of certain attributes of the product. Each product is identified by its specific SKU, and the product features are stored in the database and linked to the SKU. In other words, each SKU corresponds to or identifies one of the products, and each product is tagged with one or more features that are the values of certain attributes. By querying the SKU feature database 2224, features corresponding to the product with the SKU are directly retrieved. Typically, a user's request includes only one SKU corresponding to one product. In some embodiments, a request may include two or more SKUs and one or more corresponding products, and the SKU query module 2222 generates features for multiple products. In some embodiments, the SKU feature database 2224 is automatically generated using information entered by the merchant or seller of the product. In some embodiments, product features may be manually tagged or checked.
[0066] Figure 3B Schematically depicts properties and features according to certain embodiments of the present disclosure. In certain embodiments, such as Figure 3B As shown, there are a total of ten defined attributes, including writing style, gender, season, color, fabric, thickness, sleeves, collar, scene, and clothing function. Each attribute has multiple values, that is, features. These features are used to tag sentences. In some embodiments, the ten attributes include a total of 300 to 400 features. Feature 1 and Feature 2 of each attribute are only examples and do not represent their order in the attribute. In addition, there is no correspondence between Feature 1 of one attribute and Feature 1 of another attribute; and there is no correspondence between Feature 2 of one attribute and Feature 2 of another attribute. In some embodiments, the attributes and features are stored in a feature list 2228 and can be easily expanded by adding new entries to the feature list 2228.
[0067] The synonym matching module 2226 is configured to obtain a single or multiple features of a product corresponding to the keyword in response to receiving a single or multiple keywords. In some embodiments, the synonym matching module 2226 uses the following deep learning to perform its functions. First, the synonym module 2226 matches the keyword input by the user with the feature words stored in the feature list 2228 to see if there is an exact match. If there is an exact match, the matched features are regarded as the parsed features of the product. Secondly, if there is no exact match, the synonym module 2226 performs proxy matching using the synonym dictionary 2230 to obtain the features that are most similar to the input keyword. As an illustrative example, the form of the synonym dictionary 2230 is as follows:
[0068] D={W1:[S 11 , S 12 ,...,S 1p(1) ], W2: [S 21 , S 22 ,...,S 2p(2) ], ..., Wn: [S n1 , S n2 ,...,S np(n) ]},
[0069] D is the synonym dictionary, W1 is the first word in the synonym dictionary, S 11 , S 12 ,...,S 1p(1) is the total number of synonyms of word W1 p(1); W2 is the second word in the synonym dictionary, and S 21 , S 22 ,...,S 2p(2)are the synonyms of word W2 with a total number of p(2); Wn is the nth word in the synonym dictionary, and S n1 , S n2 ,...,S np(n) It is the word W n The total number of synonyms for p(n). The feature list 2228 is of the following form:
[0070] T={t1,t2,...,t q}
[0071] For the specific keyword W entered by the user input , the process of mapping keywords to features follows the pseudo code:
[0072]
[0073] If the feature word t matches, or in other words, matches the word W input or W input If any synonym of input ]&TGet the mapped attribute t from the attribute list T.
[0074] The function "find_surrogate()" is used to find the feature that is most similar to the input keyword. Here, "similarity" is defined based on the context of the word. In some embodiments, the function searches a large corpus (e.g., the Wikipedia corpus) and finds two groups of sentences that each include two words. Then, the function extracts the context words around the two words in each group of sentences. Each word is defined by a vector, and the distance between the two words is based on the co-occurrence of the two words in the sentence. Finally, the function compares the two vectors of the two context words and checks whether they are similar based on their distance. The more similar the two words are, the more likely they are to be surrogates in each other's context. Through the above process, for the input keyword, the function finds the feature with the most similar context word vector. In some embodiments, find_surrogate() is performed using a deep learning method (such as AI). During the operation of the article generation application 220, the input keyword can be transformed into a vector by AI, and the vector can be compared with the vector of the feature to find the feature that is most closely related to the input keyword. By sequentially (or non-sequentially in some embodiments) employing SKU lookup, feature list matching, and finally synonym matching (including finding proxies), the feature resolution module 222 can find one or more features based on the user's input.
[0075] The text generation module 224 is configured to generate a sentence based on the features of the product in response to receiving the features from the feature parsing module 222, and provide the generated sentence to the article presentation module 226. Figure 4AThe text generation module 224 includes submodules and data, specifically a feature receiver 2240, a sentence feature database 2242, a sentence search module 2244, a sentence filtering module 2246, a sentence variant module 2248, and a sentence sorting module 2250. The feature receiver 2240 is configured to receive features from the feature parsing module 222. The sentence feature database 2242 stores cleaned sentences marked with features. The sentence search module 2244 is configured to search for sentences from the sentence feature database 2242 based on the features received by the feature receiver 2240. The sentence filtering module 2246 is configured to remove the searched sentences with feature conflicts to obtain filtered sentences. The sentence variant module 2248 is configured to change the filtered sentences to obtain variant sentences. The sentence sorting module 2250 is configured to sort the filtered sentences or variant sentences based on the number of features.
[0076] The feature receiver 2240 is configured to receive features from the SKU query module 2222 when the input from the user is the SKU of the product, or receive features from the synonym matching module 2226 when the input from the user is a single or multiple keywords of the product. The received features may be one or more.
[0077] The sentence feature database 2242 stores sentences marked with features, and the sentence feature database 2242 can be used to train the deep learning module to generate sentences. In certain embodiments, the text generation module 224 uses one or more deep learning models to perform its functions, and the single or multiple deep learning models can correspond to the sentence search module 2244, the sentence filtering module 2246, the sentence variation module 2248, and the sentence sorting module 2250. In certain embodiments, the creation of the sentence feature database 2242 includes data acquisition, data cleaning, and data labeling. The data is written by professional writers as high-quality text content in an e-commerce environment. In certain embodiments, this text is collected from professional writers working for the e-commerce platform and, with the platform's permission, can be extracted from an internal database or via a web crawler. The raw text obtained from, for example, a web crawler is noisy because web crawlers also extract text that is not related to the product, such as web page subtitles, the names of buttons on the web page, user reviews, sidebar ads, etc. Therefore, after data collection, noise is semi-automatically removed—that is, by computer under human supervision—based on patterns such as location and special characters on the webpage. After this, each text content (for example, the entire body of a product description) is cut into sentences and stored sequentially in a database. Each sentence may have an index indicating the article or paragraph where it originated, as well as its sequence number within the article or paragraph. The correspondence between the content and its constituent sentences is preserved, as is the order of the sentences. In addition to the text itself, text labeling is also essential for the success of deep learning or artificial intelligence (AI). Labels establish a connection between the text and its context (the product). Therefore, labels are defined based on the characteristics exhibited by the product. However, there are thousands of possible characteristics for all products. In some embodiments, only consumer-relevant features are used, reducing the number of representable features to a few hundred. More importantly, to maximize the user experience, writing style should vary by product (think of a literary and poetic style for fashion products versus a digital style for electronics). Therefore, writing style is also defined as a feature. Below are the details of how we define representable features.
[0078] First, a set of attributes is defined, each with a number of characteristics as their possible values. Attributes and their exemplary characteristics are given in Figure 3BAs shown in . For example, the attribute "writing style" can be regarded as the feature "literary" or the feature "descriptive", and the attribute "gender" can be regarded as the feature "male" or the feature "female". Then, each sentence is manually labeled attribute by attribute and feature by feature. A sentence can be labeled with one or more features. The labeling rules are semantic - not just the surface meaning of the text, but also the hidden inferred / implied meaning. In some embodiments, the fully trained text generation module 224 can also be used to process unlabeled raw text, obtain feature labels for the text, and store the processed text with the labeled features in the sentence feature database 2242.
[0079] The sentence search module 2244 is configured to search the sentence feature database 2242 for one or more features to obtain sentences containing at least one feature. These search results are also referred to as searched sentences. The number of sentences searched can vary based on the one or more features. In certain embodiments, given a set of expected features, the sentence search module 2244 applies a deep learning or AI algorithm to search for sentences that share the same features. The search algorithm considers the feature set as a whole, rather than individually. This means that the more input features a sentence carries, the higher it is ranked in the search results. The search algorithm also considers the order of the sentences, with sentences carrying the first expected feature being ranked higher than other sentences. Furthermore, the algorithm considers the synergy between sentences. The system allows the user to select sentences incrementally. If the user selects a sentence, the algorithm uses this selection as additional input and updates the search results to optimize synergy between sentences. Specifically, if a sentence is selected (meaning that the features carried by the sentence have been presented), the next sentences to be searched are preferably those carrying complementary features.
[0080] The sentence filtering module 2246 is configured to filter the searched sentences to eliminate conflicts. For the purpose of sentence filtering, a machine learning classifier is first applied to calculate the probability that each sentence reflects each product attribute. In some embodiments, the relevance between a sentence and a feature is defined by a number between 0 and 1, where 0 means that the sentence is not related to the feature, 1 means that the sentence is related to the feature, and a high score (such as 0.9) means that the sentence is likely related to the feature. Then, a knowledge graph is constructed to define conflicts between product attributes. A conflict means that a sentence attribute cannot coexist with one of the product attributes: for example, "female" and "male", "summer" and "wool coat", "suit" and "casual", "high heels" and "sports". In order to build the knowledge graph, the frequency of co-occurrence between product attributes in the text is evaluated. If two product attributes rarely appear together in a sentence, then this pair of two attributes is an instance of conflict. Figure 4B The knowledge graph showing pairwise co-occurrence of attributes is schematically shown. Figure 4B As shown, the attributes spring, summer, and winter are values for the attribute "season," and since they do not co-occur, they are conflicting values. In some embodiments, the knowledge graph is stored in the sentence feature database 2242. In contrast, features that frequently co-occur do not conflict. In some embodiments, the knowledge graph is constructed using AI.
[0081] After building the model and knowledge graph, sentences can be selected based on the AI sentence search model and knowledge graph. In certain embodiments, the feature receiver 2240 receives one or more product features from the feature parsing module 222, and the sentence search module 2244 provides searched sentences based on the product features. The sentence filtering module 2246 then extracts sentence features from the searched sentences. When a feature of a searched sentence conflicts with a product feature, the searched sentence is defined as a conflicting sentence, and the sentence filtering module 2246 removes the conflicting sentence from the search results. For example, product features include "winter, leather skirt, and women," and the searched sentence includes the features "women and summer." The sentence filtering module 2246 detects a conflict between the features "women and summer" and "winter, leather skirt, and women," and finds that the feature "summer" conflicts with the feature "winter." Therefore, the sentence filtering module 2246 removes the sentence. After removing all conflicting sentences from the searched sentences, the execution of the sentence filtering module 2246 results in a filtered sentence. In some embodiments, the sentence filtering module 2246 is further configured to count the filtered sentences. When the count is less than a threshold, the sentence filtering module 2246 is configured to send the filtered sentences to the sentence modification module 2248 to generate more sentences. When the count is greater than the threshold, the sentence filtering module 2246 is configured to send the filtered sentences to the sentence ranking module 2250 to rank the filtered sentences.
[0082] When the number of filtered sentences is less than the threshold, the user may not have enough sentences to choose from. Therefore, the sentence variant module 2248 is incorporated into the text generation module 224 to generate more sentences. In some embodiments, even if the number of filtered sentences is greater than the threshold, the sentence variant module 2248 can still perform the variant process to obtain a variety of sentences. It should be noted that one purpose of providing variant sentences is to generate a sufficient number of sentences for users to choose from, and another purpose is to increase the diversity of the generated sentences, because advertising content in an e-commerce environment should avoid repetition - we should not produce repeated text for different products from different manufacturers.
[0083] Specifically, the sentence variant module 2248 is configured to generate a variant sentence of the filtered sentence in response to receiving the filtered sentence from the sentence filtering module 2246. The sentence variant module 2248 is configured to generate the variant sentence in different ways, including word replacement and changes in syntactic structure. For the wording method, the words in the selected sentence can be replaced with their synonyms. The sentence variant module 2248 performs the replacement according to a set of rules-replacing words in certain areas (for example, verbs, adjectives, but no subject nouns) with certain parts of speech, and the emotional color of the sentence is the same. The emotional color here refers to the attitude or opinion represented by the word, which can be positive, negative or neutral; for example, "horror" is negative, "surprising" is positive, and "movie" is neutral. In some embodiments, the sentence variant module 2248 includes the function of analyzing parts of speech and emotional color, and can use a customized or public synonym dictionary. An example of replacing the word "frightened" with the synonym "terrified" is given below:
[0084] The bear chased the frightened squirrel. → The bear chased the frightened squirrel.
[0085] For the syntactic structure method (Manning '1999, the entire contents of which are incorporated herein by reference), the sentence transformation module 2248 first extracts different syntactic structures from all sentences in the database 2242. Then, the sentence transformation module 2248 parses the currently searched sentence into syntactic components and reorganizes these components into different syntactic structures. Figure 4C An example of parsing the searched sentences and reorganizing the parsed sentences into different syntactic structures is shown. Figure 4C As shown, the sentence transformation module 2248 parses the searched sentence into a syntax tree and then applies the following formula to transform the syntactic structure of the sentence:
[0086] Subject → Object
[0087] Object → Subject
[0088] Verb → is + verb passive voice + by
[0089] Adjust the tense of "is" according to the tense of the verb.
[0090] In some embodiments, the above formula can be inverted to convert the passive voice into the active voice. After the transformation, the sentence transformation module 2248 is configured to provide these transformed sentences to the sentence sorting module 2250.
[0091] The sentence ranking module 2250 is configured to rank the filtered sentences or variant sentences based on the number of product features reflected in response to receiving the filtered sentences from the sentence filtering module 2246 or receiving the variant sentences from the sentence variant module 2248. The AI model is trained to give a score (from 0 to 1) to each [sentence, feature] pair. The score represents the likelihood that a given sentence describes a given feature. The AI model is trained on human-labeled data, but is more accurate than human labels for the following reasons: (1) Human labels may mislabel some data, but the AI can save it back. For example, even if a sentence describing a dress is not labeled as "dress" by humans, the AI will still give it a higher "dress" score if the AI recognizes that the sentence contains words describing a dress; (2) Human labels can only be 0 or 1, and scores ranging from 0 to 1 are more suitable for real-world scenarios - in most cases, whether to call a sentence describing a feature is arbitrary. For example, "This dress is made of silk" is very likely but not 100% suitable for "summer", so a probability score of 0.8 is better than a label of 1.
[0092] As described above, the filter is first applied to the selected sentences without any conflict with the product attributes. Then, the filtered sentences are ranked based on the number of product attributes reflected. In some embodiments, the sentence ranking module 2250 defines the following:
[0093] A = {sentence features: s, w}. Here for each sentence A with one or more associated features, each feature has a score between 0 and 1 indicating its likelihood with the sentence and a weight w indicating the feature's importance to the reader.
[0094] B={product attributes}
[0095] m=dot(s(|AB|, w(|AB|) / |A|), where |A| represents the features in A, |AB| represents the features in A and B, s(|AB|) is the vector of the scores of the features |AB| and the sentences, and w(|AB|) is the vector of the importance of the features to the reader. dot(,) represents the dot product.
[0096] The w of each feature depends on how likely it is to be perceived and labeled by a human. For example, a feature with the attribute “fabric” will be perceived and thus labeled more often than a sentence describing the attribute “scene”.
[0097] Metric m is used to rank sentences. The more product attributes a sentence reflects, the higher the degree of alignment between the sentence and the product. After obtaining the sentence ranking, sentence ranking module 2250 of text generation module 224 is configured to send the ranked sentences to article presentation module 226.
[0098] The article presentation module 226 is configured to, in response to receiving the sorted sentences, select sentences based on instructions from the user, rearrange and modify the selected sentences to form an article, and submit the article. In some embodiments, the functions of the article presentation module 226 are presented as a web interface by the user interaction module 228 to enable interaction with the user. The article presentation module 226 has submodules and stored data. Figure 5 As shown, the article presentation module 226 includes a sentence receiver 2260, a sentence selection module 2262, a sentence refresh module 2264, an article editor 2266, and my article 2268. The sentence receiver 2260 is configured to receive the sentence generated by the text generation module 224. The sentence selection module 2262 is configured to receive a user's selection from the generated sentences, thereby obtaining the selected sentence. The sentence refresh module 2264 is configured to receive a refresh instruction from the user to refresh the generated sentences, so that the user can select a sentence from the refresh list of generated sentences. The article editor 2266 is configured to receive an instruction from the user to modify and rearrange the selected sentence. My article 2268 is configured to store the current modified and rearranged sentence as an article after receiving the instruction from the user, or submit and display the article, for example, on an e-commerce website.
[0099] The sentence receiver 2260 is configured to receive sentences from the sentence sorting module 2250 of the text generation module 224 and present the sentences to the user.
[0100] The sentence selection module 2262 is configured to send a notification to the sentence refresh module 2264 and send the sentence to the article editor 2266 after receiving the user's selection of a sentence from the sorted sentences.
[0101] The sentence refresh module 2264 is configured to refresh the generated sentences after receiving a notification that a user has selected a sentence. Specifically, the sentence refresh module 2264 is configured to instruct the text generation module 224 to generate a new set of sentences based not only on the features from the feature parsing module 222, but also on the single or multiple features corresponding to the selected sentence. For example, the features corresponding to the selected sentence can be removed from the feature list to generate a new set of sentences, or alternatively, the features corresponding to the selected sentence can be assigned a low weight during the generation of the new set of sentences.
[0102] The operation of the sentence selection module 2262 selecting a sentence and the operation of the sentence refresh module 2264 and the text generation module 224 refreshing the generated sentences may be repeated until the user selects a sufficient number of sentences.
[0103] In some embodiments, the sentence refresh module 2264 can be activated by a specific operation, such as the user selecting a "refresh" button. In other words, after selecting a sentence from the generated sentences, the article generation application 220 will not automatically refresh the sentence list, and the user can continue to select the next sentence from the sentence list. When the user selects several sentences and is not satisfied with the remaining sentences, he can manually click the "refresh" button to instruct the text generation module 224 to generate a new set of sentences. Similar to the description above, the generation of the new set of sentences removes the features corresponding to the selected sentences or assigns low weights to those features.
[0104] In some embodiments, when there are not many sentences generated, the user can click a "refresh" button or a dedicated "sentence variation" button to increase the number of sentences generated. The increase in the number of sentences listed can include replacing words in the generated sentences or rearranging the syntactic structure of the generated sentences.
[0105] The article editor 2266 is configured to provide the user with a method for editing the selected sentences received from the sentence selection module 2262. The article editor 2266 may include rearranging the sequence of the selected sentences, modifying words in the selected sentences, deleting the selected sentences, or adding new sentences between the selected sentences.
[0106] My Article 2268 is configured to store the sentences modified by the article editor 2266 into an article file, retrieve the article file from the storage, or submit the article to an e-commerce website after receiving an instruction from the user.
[0107] In some embodiments, both the feature parsing module 222 and the text generation module 224 may be executed using deep learning algorithms.
[0108] Figure 6 Schematically depicts a method for presenting an article according to certain embodiments of the present disclosure. In certain embodiments, the method comprises Figure 2 It should be noted that unless otherwise stated in this disclosure, the steps of the method may be arranged in a different order and are therefore not limited to the following. Figure 6 in the order shown.
[0109] like Figure 6 As shown, in process 602, the feature parsing module 222 receives input from the user via the interactive interface. The input can be a product identifier (such as a SKU) or one or more keywords representing product characteristics. For example, the keywords may include "red" representing the product color, "dress" representing the main category of the product, and "summer" representing the season for which the product is suitable.
[0110] In process 604 , after receiving the identification or characteristics of the product, the feature parsing module 222 parses the identification or characteristics of the product to obtain one or more characteristics of the product, and sends the characteristics to the text generation module 224 .
[0111] In process 606 , after receiving the features from the feature parsing module 222 , the text generation module 224 generates a plurality of sentences corresponding to the features and presents the generated sentences to the user through an interface (eg, a graphical user interface provided by a network server).
[0112] In process 608 , after receiving an editing instruction regarding the generated sentence from the user, the article presentation module 226 obtains the article according to the user's instruction and stores or submits the article.
[0113] The method can provide a user interface, thereby enabling interaction with the user. For example, the method can be presented as a webpage. This webpage provides an input box for the user to enter an identifier or keyword via the webpage. In response, the method parses the input to obtain product features, generates sentences, and presents the generated sentences to the user via the webpage. When presenting the generated sentences, the webpage provides the user with function keys that allow the user to select a sentence from the generated sentences, rearrange and modify the selected sentence, refresh to obtain more sentences, save the article including the edited sentence, retrieve the saved article, or submit the article to an e-commerce platform.
[0114] Deep learning such as AI can be used to perform step 604 so that the input keywords are effectively and accurately associated with the features. The number of keywords and the order of the keywords are considered as parameters for deep learning training and deployment. Deep learning such as AI can be used to perform step 606 so that the input features are effectively and accurately associated with the generated sentences. The number of features, the order of keywords and the selection of one or more sentences are considered as parameters for deep learning to select other sentences. In some embodiments, the features can be presented to the user so that the user can perform operations on the features, such as deleting one of the features, modifying the features, etc. In some embodiments, the parsing step of obtaining the features is performed on the computing device, but is not presented to the user. The user enters the identifier and keywords through the web page and obtains the sentence through the web page.
[0115] Figure 7 Schematically depicts a method for presenting an article according to certain embodiments of the present disclosure. In certain embodiments, the method comprises Figure 2 It should be noted that unless otherwise stated in this disclosure, the steps of the method may be arranged in a different order and are therefore not limited to the following. Figure 7In some embodiments, Figure 7 The method shown in Figure 6 A detailed embodiment of the method shown in .
[0116] like Figure 7 As shown, in process 702, the user interaction module 228 of the computing device 210 provides a GUI on the user computing device 250 to the user, so that the user can interact with the article generation application 220 through the GUI; the user inputs the identification of the product or the characteristics of the product through the GUI, and the identification and characteristics are received by the request receiver 2220.
[0117] In process 704, the request receiver 2220 determines whether the input from the user is an identifier such as the SKU of the product or one or more keywords representing the characteristics of the product. If the input is a SKU, the request receiver 2220 sends the SKU to the SKU query module 2222; if the input is a keyword, the request receiver 2220 sends the keyword to the synonym matching module 2226.
[0118] In process 706, after receiving the SKU of the product from the request receiver 2220, the SKU query module 2222 uses the SKU to query the SKU feature database 2224 to retrieve the product's features and sends the retrieved features to the feature receiver 2240. The SKU feature database 2224 includes entries for SKUs and feature entries corresponding to each SKU. Features can be automatically generated and then manually reviewed, manually marked, or provided by the product. In some embodiments, the SKU feature database 2224 is part of the product database, where the product database includes SKUs and corresponding features. As described above, retrieving product features based on the SKU is simple and straightforward.
[0119] In process 708, after receiving product keywords from request receiver 2220, synonym matching module 2226 parses the keywords and obtains corresponding product features. Based on the keywords, synonym matching module 2226 obtains corresponding features at different levels. Specifically, synonym matching module 2226 matches the keywords with feature words in feature list 2228. Feature list 2228 includes all predefined product features, such as descriptive, male, spring, red, cotton, slim, long-sleeved, round neck, business, and waterproof. When a keyword exactly matches a feature, the feature is directly retrieved from feature list 2228. If each keyword has a corresponding feature, synonym matching module 2226 retrieves these features as results and sends the retrieved features to feature receiver 2240. If one or all keywords do not have a directly corresponding feature, synonym matching module 2226 retrieves features based on synonym dictionary 2230. In synonym dictionary 2230, multiple words are each linked to multiple synonyms. When the synonym matching module 2226 finds a matching word for a keyword and the matching word has a synonym that is a feature word, the keyword is linked to the feature word. In some embodiments, the synonym dictionary 2230 includes all product features in the dictionary. Therefore, it may not be necessary to have a feature list 2228, and the synonym matching module 2226 can directly query the synonym dictionary 2230 for the keyword.
[0120] When the synonym matching module 2226 cannot retrieve a completely matching feature or a synonym of a feature based on a keyword, it will then try to retrieve an alternative matching feature. In other words, the synonym matching module 2226 tries to find the feature that is most similar to the input keyword.
[0121] When the user enters multiple keywords, some features corresponding to certain keywords can be obtained based on the synonym dictionary 2230, and some features corresponding to certain keywords can be obtained by finding alternative words. After obtaining features based on the input keywords, the synonym matching module 2226 sends the features to the feature receiver 2240 of the text generation module 224.
[0122] When a feature is received from the SKU query module 2222 when the input from the user is the SKU of the product, or when a feature is received from the synonym matching module 2226 when the input from the user is one or more keywords about the product, the feature receiver 2240 sends the feature to the sentence search module 2244.
[0123] In process 710, in response to receiving the product's features, sentence search module 2244 searches for sentences from sentence feature database 2242. Each sentence in sentence feature database 2242 is tagged with one or more features. The search based on each feature generates multiple sentences, each tagged with a corresponding feature, and the search based on multiple features generates multiple groups of sentences. Sentence search module 2244 then sends these sentences to sentence filtering module 2246.
[0124] In process 712, for each searched sentence, the sentence filtering module 2246 extracts features from the sentence and determines whether the retrieved features conflict with any features received by the feature receiver 2240. If there is any conflict, the sentence is deleted from the searched sentences. After checking for conflicts for each searched sentence and deleting conflicting sentences, the sentence filtering module 2246 obtains filtered sentences. If there are a sufficient number of sentences for each feature, the sentence filtering module 2246 sends the filtered sentences to the sentence ranking module 2250. If the number of filtered sentences for one of the features is less than a predetermined number (e.g., 100 sentences), the sentence filtering module 2246 sends the filtered sentences to the sentence modification module 2248.
[0125] In process 714, in response to receiving a number of filtered sentences corresponding to one of the features (the number being less than, for example, 100 sentences), the sentence variant module 2248 increases the number of sentences by replacing words in one or more sentences or changing the syntactic structure of the one or more sentences. Specifically, for each received filtered sentence, the sentence variant module 2248 first attempts to replace the words in the sentence. When the word replacement is unsuccessful, the sentence variant module 2248 then attempts to switch the syntactic structure of the sentence. In some embodiments, when the word replacement is successful, the sentence variant module 2248 will not attempt to switch the syntactic structure of the sentence; instead, the sentence variant module 2248 may attempt both word replacement and syntactic structure switching for each filtered sentence, thereby generating more sentences. The sentence variant module 2248 then sends the increased number of sentences to the sentence sorting module 2250.
[0126] In process 716, in response to receiving sentences from the sentence filtering module 2246 or the sentence variation module 2248, the sentence ranking module 2250 ranks the received sentences. This ranking considers the feature set as a whole rather than individually, meaning that the more input features a sentence carries, the higher the sentence is ranked in the search results. This ranking also takes into account the order of the sentences—sentences carrying the first expected feature are ranked higher than other sentences. In addition, the ranking considers the synergy of the sentences and refreshes the ranking results when the user selects one of the sentences. The sentence ranking module 2250 then sends the ranked sentences to the sentence receiver 2260 of the article presentation module 226.
[0127] In response to receiving the sentence, sentence receiver 2260 presents the sentence to the user, for example, via a GUI on user computing device 250.
[0128] In process 718, after the user receives the selection via the GUI, the sentence selection module 2262 selects a sentence. In some embodiments, the user can select multiple sentences from the presented sentences individually or in batches. In some embodiments, when the user selects a sentence from the presented sentences, in process 720, the sentence refresh module 2264 refreshes the presented sentences.
[0129] Then, in process 722, after selecting a certain number of sentences, article editor 2266 provides a function for the user to modify or rearrange the sentences to form an article through the GUI. After forming the article or the draft of the article, my article 2268 provides a function for the user to save the article, retrieve the article, or submit the article to an e-commerce platform through the GUI so that customers can publicly access the article.
[0130] Figure 8 Schematically illustrates the engineering architecture according to certain embodiments of the present disclosure. Figure 8 As shown in the figure, the architecture uses Spring MVC design. The front-end web pages, back-end services, and AI algorithms were developed separately and in parallel and then integrated into the back-end services.
[0131] The databases used are MySQL and Jimdb (JD.COM's internal caching technology). MySQL is used for primary transactions, while Jimdb is an integrated cache storage for frequent, repeated queries, alleviating MySQL's load. ElasticSearch technology is also used specifically for searching Chinese characters.
[0132] Configuration control is enabled by Zookeeper and ccadmin (JD.COM internal cache technology). Zookeeper is used for service switching, while ccadmin is used as an interface for custom settings.
[0133] 9A to 9D The interface of an article generation application according to some embodiments of the present disclosure is schematically shown. Figure 9A The main webpage of the article generation application named Shakespeare 902 is shown, wherein a text box 904 is provided so that the user can enter the product's logo or keywords representing the characteristics of the product. Figure 9A As shown, the keyword entered is "dress." The home page also provides a "login" button 906.
[0134] After entering a keyword, such as Figure 9B As shown, through the operation of the AI application, the base keyword lists multiple sentences 908. For example, a user can select a sentence 910 from the sentence list 908 displayed on the web page. If the user wants to view more pages, he can use the "Previous Page" and "Next Page" keys 912 to browse more sentences; if he wants to view a wider variety of sentences, he can use the "Refresh" key 914 to display different sentences. When the user clicks the "Add to Editor" key 916, the selected sentence is transferred to the "Editor" 918.
[0135] After selecting one or more sentences, such as Figure 9C As shown, the sentence can be edited in the editor 918. The left panel shows the Figure 9B The previous selection page of Figure 9C The right panel of the 918 shows the main editor section. The user can then use the editor 918 to modify the selected sentence and rearrange the order of the selected sentences. The bottom of the editor 918 has a "Save Article" button 920 for saving the modified sentence as an article file.
[0136] Users can save article drafts, retrieve article drafts, or submit articles to e-commerce platforms. Figure 9D As shown, multiple article drafts 922 are available to the user, and the user can select any one of them to submit the draft as an article, can delete the draft, or can edit the draft again in the editor 918.
[0137] Figure 10 FIG. 4 shows a workflow according to certain embodiments of the present disclosure. Figure 10 As shown in the figure, the workflow includes parts of the following: data labeling or tagging, sentence recommendation, and document review. The global workflow shows the front-end and back-end operations of the application, and the details can be understood based on the above description.
[0138] In summary, certain embodiments of the present disclosure provide an efficient article generation system suitable for use in an e-commerce environment. This system can scale up article generation, provide excellent article generation quality, and at a lower cost.
[0139] The foregoing description of exemplary embodiments of the present disclosure has been presented for purposes of illustration and description only, and is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings.
[0140] The embodiments are chosen and described in order to explain the principles of the present disclosure and its practical application, so that other persons skilled in the art can utilize the present disclosure and the various embodiments and various modifications suitable for the intended specific use. Alternative embodiments will be apparent to those skilled in the art without departing from the spirit and scope of the present invention. Therefore, the scope of the present disclosure is limited by the appended claims rather than by the foregoing description and the exemplary embodiments described therein.
[0141] References:
[0142] 1.Trevor Hastie, Robert Tibshirani and Jerome H. Friedman. The elements of statistical learning, Springer, 2001;
[0143] 2. Christopher Manning, HinrichSchutze. Foundations of statistical natural language processing, The MIT Press, 1999;
[0144] 3.M Melnik, J Alm, Does a seller’s ecommerce reputation matter? Evidence from eBay auctions, The journal of industrial economics, 2002, vol.50, pp.337-349;
[0145] 4.P Lee.Behavioral model of online purchasers in e-commerce environment, Electronic Commerce Research, 2002, vol.2, pp.75-85;
[0146] 5. Y Zhang, Y Fang, K Wei et al. Repurchase intention in B2C e-commerce - A relationship quality perspective, Information & Management, 2011, vol.48, pp.192 - 200;
[0147] 6. J Walker, P Kim, J Jorasch et al. Retail system for selling products based on a flexible product description, 2012, US Patent No.8799100B2;
[0148] 7. http: / / funeng.baidu.com / ;
[0149] 8. Ehud Reiter and Robert Dale. Building Natural Language Generation Systems. Cambridge University Press, 2006; 9.
[0151] https: / / docs.spring.io / spring / docs / 3.2.x / spring-framework-reference / html / mvc.html;
[0152] 10. https: / / github.com / elastic / elasticsearch.
Claims
1. A method for generating an article about a target product, the method comprising: Receiving, by a computing device, a request from a user, the request including at least one of a keyword and an identifier of the target product; determining at least one target characteristic of the target product based on the request; generating a plurality of candidate sentences corresponding to the target features; selecting a plurality of target sentences from the candidate sentences based on an instruction from the user; as well as Generate the article based on the target sentence, The step of determining the at least one target feature comprises: determining whether the request includes a keyword or an identifier of the target product; When the request includes an identification of the target product: retrieving the at least one target feature from a feature database, the feature database including identifications of products and corresponding features of the products; and When the request includes a keyword of the target product: determining the at least one target feature by comparing the keyword of the target product with a synonym dictionary, wherein dictionary words in the synonym dictionary include features and synonyms of the features. 2 . The method according to claim 1 , wherein the identifier of the target product is a stock keeping unit (SKU) of the target product.
3. The method according to claim 1, wherein the step of comparing the keyword with the synonym dictionary comprises: The keyword is matched with the dictionary word, and when there is no match, the similarity between the keyword and the dictionary word is calculated, and the dictionary word having the highest similarity to the keyword is defined as the feature of the target product. The method of claim 3 , wherein machine learning is used to calculate the similarity between the keyword and the dictionary word.
5. The method according to claim 1, wherein the step of generating the plurality of candidate sentences comprises: Selecting the candidate sentence corresponding to the target feature; determining a conflict between the candidate sentence and the target feature; removing the candidate sentences having conflicts to obtain filtered sentences; Extracting features reflected in each filtered sentence; and sorting the filtered sentences based on the fit value between the reflected feature of each filtered sentence and the target feature of the product, The adaptation value is calculated based on the number of identical features between the reflection feature and the target feature of each filtered sentence. 6 . The method of claim 5 , further comprising adding a new sentence to the filtered sentences, the new sentence being generated by replacing a verb or an adjective in one of the filtered sentences with a synonym.
7. The method according to claim 5, further comprising adding a new sentence to the filtered sentences, the new sentence being generated by: parsing one of the filtered sentences into syntactic components; and The syntactic components are reorganized into a syntactic structure that is different from the one of the filtered sentences.
8. The method according to claim 5, wherein the step of selecting the plurality of target sentences comprises: selecting a target sentence from the filtered sentences based on the ranking of the filtered sentences; removing the selected target sentence from the filtered sentences and reordering the remaining filtered sentences; as well as Another target sentence is selected from the remaining re-ranked filtered sentences.
9. The method according to claim 1, wherein the step of generating the article based on the target sentence comprises: An interface for modifying the target sentence and rearranging the target sentence is provided.
10. A system for generating an article of a target product, the system comprising a computing device comprising a processor and a storage device storing computer-executable code, wherein when executed at the processor, the computer-executable code is configured to: receiving a request from a user, the request including at least one of a keyword and an identifier of the target product; determining at least one target characteristic of the target product based on the request; generating a plurality of candidate sentences corresponding to the target features; selecting a plurality of target sentences from the candidate sentences based on an instruction from the user; and Generate the article based on the target sentence, The computer executable code is configured to determine the at least one target characteristic by: determining whether the request includes a keyword or an identifier of the target product; When the request includes an identification of the target product: retrieving the at least one target feature from a feature database, the feature database including identifications of products and corresponding features of the products; and When the request includes a keyword of the target product: determining the at least one target feature by comparing the keyword of the target product with a synonym dictionary, wherein dictionary words in the synonym dictionary include features and synonyms of the features.
11. The system of claim 10, wherein the computer executable code is configured to compare the keyword with the synonym dictionary in the following manner: matching the keyword with the dictionary words, and when there is no match, calculating the similarity between the keyword and the dictionary words, and defining the dictionary word with the highest similarity to the keyword as the feature of the target product.
12. The system of claim 11, wherein machine learning is used to calculate the similarity between the keyword and the dictionary word.
13. The system of claim 10, wherein the computer executable code is configured to generate the plurality of candidate sentences by: Selecting the candidate sentence corresponding to the target feature; determining a conflict between the candidate sentence and the target feature; removing the candidate sentences having conflicts, thereby obtaining filtered sentences; determining the features reflected in each filtered sentence; and sorting the filtered sentences based on the fit between the reflected feature of each filtered sentence and the target feature of the product, The adaptation value is calculated based on the number of identical features between the reflection feature and the target feature of each filtered sentence.
14. The system of claim 13, wherein the computer executable code is further configured to add a new sentence to the filtered sentences by at least one of: replacing a verb or an adjective in one of the filtered sentences with a synonym; and One of the filtered sentences is parsed into syntactic components, and the syntactic components are reorganized into a syntactic structure different from that of the one of the filtered sentences.
15. A non-transitory computer-readable medium storing computer-executable code, wherein when executed at a processor of a computing device, the computer-executable code is configured to: receiving a request from a user, the request including at least one of a keyword and an identifier of a target product; determining at least one target characteristic of the target product based on the request; generating a plurality of candidate sentences corresponding to the target features; selecting a plurality of target sentences from the candidate sentences based on an instruction from the user; and Generate an article based on the target sentence, The computer executable code is configured to: When the request includes an identification of the target product: retrieving the at least one target feature from a feature database, the feature database including identifications of products and corresponding features of the products; and When the request includes a keyword of the target product: determining the at least one target feature by comparing the keyword of the target product with a synonym dictionary, wherein dictionary words in the synonym dictionary include features and synonyms of the features.
16. The non-transitory computer-readable medium of claim 15, wherein the computer-executable code is configured to generate the plurality of candidate sentences by: Selecting the candidate sentence corresponding to the target feature; determining a conflict between the candidate sentence and the target feature; removing the candidate sentences having conflicts, thereby obtaining filtered sentences; determining the features reflected in each filtered sentence; and sorting the filtered sentences based on the fit between the reflected feature of each filtered sentence and the target feature of the product, The adaptation value is calculated based on the number of identical features between the reflection feature and the target feature of each filtered sentence.
17. The non-transitory computer-readable medium of claim 16, wherein the computer-executable code is further configured to add a new sentence to the filtered sentences by at least one of: replacing a verb or an adjective in one of the filtered sentences with a synonym; and One of the filtered sentences is parsed into syntactic components, and the syntactic components are reorganized into a syntactic structure different from that of the one of the filtered sentences.
Citation Information
Patent Citations
Retail system for selling products based on a flexible product description
US8799100B2
Generating item recommendations
US8359285B1