A dialogue method and related apparatus

By using item matching technology from a pre-set knowledge base, the intelligent customer service robot can directly generate responses, solving the problem of high configuration costs in existing technologies and achieving a more efficient configuration process.

CN115098639BActive Publication Date: 2025-10-28ALIBABA (CHINA) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210785255.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-29
Publication Date
2025-10-28
Estimated Expiration
2042-06-29

AI Technical Summary

Technical Problem

The high configuration cost of existing intelligent customer service robots is due to the need to collect data and train classification models for each activity category, resulting in complex configuration and high costs.

Method used

By using a pre-set knowledge base containing multiple entries, the system matches the target entry based on the user's text and generates a response, thus avoiding the need to configure multiple activity categories and train classification models for each product.

Benefits of technology

This reduces the configuration cost of intelligent customer service robots, improves configuration efficiency, and reduces reliance on algorithm engineers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115098639B_ABST
    Figure CN115098639B_ABST
Patent Text Reader

Abstract

This application provides a dialogue method and related apparatus, relating to the field of artificial intelligence. The method includes: matching text from a user with entries in a preset knowledge base to determine the target entry involved in the text, wherein the preset knowledge base includes multiple entries, each corresponding to different activity configuration information; and obtaining a response text for the user based on the activity configuration information corresponding to the target entry involved in the text. Based on the above method, when a user initiates a dialogue, an intelligent customer service robot can determine which specific entry the user's question involves based on the matching results between the text and multiple entries in the product activity knowledge base, and then generate a response based on the configuration information corresponding to that entry. Therefore, it is unnecessary to configure multiple activity categories for each product, nor is it necessary to pre-train a classification model for each activity category, thereby reducing configuration costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence, and more specifically, to a dialogue method and related apparatus. Background Technology

[0002] During product promotions on e-commerce platforms, the platforms handle a large volume of inquiries related to these promotions. Merchants typically use intelligent customer service chatbots to handle these inquiries. Therefore, an intelligent customer service chatbot that can accurately understand user intent can help merchants manage customer inquiries and reduce the workload of human customer service representatives.

[0003] Currently, commonly used intelligent customer service robots typically involve merchants setting activity categories, configuring time-sensitive question-and-answer (QA) pairs for different activity categories, and then handing these over to algorithm engineers for configuration. Algorithm engineers can configure the intelligent customer service robot for each product category based on the activity category and its corresponding QA pairs. The configured intelligent customer service robot can predict the activity category involved in a user's question and find the answer from the pre-configured QA pairs to reply to the user. Since determining the activity category depends on a classification model, algorithm engineers need to collect data for different activity categories to train the corresponding classification model, and multiple activity categories need to be set for each product category, resulting in high configuration costs. Summary of the Invention

[0004] This application provides a dialogue method and related apparatus in order to reduce the configuration cost of intelligent customer service robots.

[0005] In a first aspect, this application provides a dialogue method, which includes: matching text from a user with entries in a preset knowledge base to determine the target entries involved in the text; wherein the preset knowledge base includes multiple entries, and the multiple entries correspond to various different activity configuration information; and obtaining a response text for the user based on the activity configuration information corresponding to the target entries involved in the text.

[0006] Secondly, this application provides a dialogue device, which includes a matching module and a response module; wherein the matching module is used to match text from a user with entries in a preset knowledge base to determine the target entry involved in the text; wherein the preset knowledge base includes multiple entries, and the multiple entries correspond to various different activity configuration information; the response module is used to obtain a response text for the user based on the activity configuration information corresponding to the target entry involved in the text.

[0007] Thirdly, this application provides a dialogue device including a memory and a processor, wherein the memory is used to store computer programs; and the processor is used to execute program code so that the device implements the method in the first aspect described above.

[0008] Fourthly, this application provides a computer program product, including a computer program that, when run, implements the method in the first aspect described above.

[0009] Fifthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to implement the method described in the first aspect above.

[0010] Based on the dialogue method and related apparatus provided in this application, when a user initiates a dialogue, the intelligent customer service robot can determine which specific item the user's question relates to based on the matching results of the text with multiple items in a preset knowledge base, and then generate a response based on the activity configuration information corresponding to that item. Therefore, it is not necessary to configure multiple activity categories for each product, nor is it necessary to pre-train a classification model for each activity category, thereby reducing configuration costs. Attached Figure Description

[0011] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0012] Figure 1 This is a schematic diagram of a scenario applicable to the dialogue method provided in the embodiments of this application;

[0013] Figure 2 This is a flowchart illustrating the dialogue method provided in an embodiment of this application;

[0014] Figure 3 This is a schematic diagram of the merchant configuration process provided in the embodiments of this application;

[0015] Figure 4 This is a possible schematic diagram of a preset knowledge base provided in an embodiment of this application;

[0016] Figure 5 This is a schematic diagram of the model structure for semantic matching based on a deep learning algorithm model provided in an embodiment of this application;

[0017] Figure 6 This is another schematic flowchart of the dialogue method provided in the embodiments of this application;

[0018] Figures 7 to 9 This is a schematic diagram of the dialog interface provided in an embodiment of this application;

[0019] Figure 10 This is a schematic block diagram of the dialogue device provided in the embodiments of this application;

[0020] Figure 11 This is another schematic block diagram of the dialogue device provided in the embodiments of this application.

[0021] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0022] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0023] First, let me explain the terms used in this application:

[0024] 1. Item: This refers to a commodity. It can be the smallest unit of a transaction. Items can have different attributes, such as different colors, sizes, and storage capacities. For example, a mobile phone might have attributes such as color and storage capacity. Different colored phones may have different prices and promotional prices; phones with different storage capacities may also have different prices and promotional prices.

[0025] In this embodiment of the application, a single item can correspond to a single item identifier (ID) to identify the single item.

[0026] 2. Stock Keeping Unit (SKU): This is the unit for measuring inventory inflows and outflows, which can be in units such as pieces, boxes, or pallets. Currently, it has been extended to refer to a unique product identifier (SKU ID) for each product.

[0027] A single item may have multiple SKU IDs. For example, a piece of clothing may come in multiple colors, in which case the item may have multiple different SKU IDs.

[0028] In this embodiment, a single item may correspond to one or more attribute identifiers, each identifier being used to identify one attribute. One possible form of this attribute identifier is a SKU ID. It should be noted that in this embodiment, the price and promotional details for the same product and the same attribute are identical.

[0029] Of course, the attribute identifier can also be other identifiers. The SKU ID is just one example of an attribute identifier and should not constitute any limitation on this application.

[0030] 3. Preset Knowledge Base: This is essentially the product activity configuration library, used to store the detailed activity rules configured by the merchant for each product category. Here, activity rules can also be understood as activity details. The activity details configured for each product category can include information based on multiple predefined entries, which can correspond to various different activity configuration information.

[0031] If a product category has multiple attributes, the activity rules configured for each product category can specifically include activity rules configured for each attribute of that product category based on multiple predefined entries. These multiple entries may include, but are not limited to, product category identifiers, attribute identifiers, activity names, and multiple activity entries. Activity entries are related to activity categories, which may include, but are not limited to, discounts for purchases over a certain amount, second item at X% off, first N items at X% off, first N items at Y yuan, promotional price, etc., etc., which are not listed here. In this embodiment, these multiple activity entries can cover activity categories set by different merchants for different products (or different attributes of different products).

[0032] 4. Conversation: A conversation may include one round or multiple rounds of dialogue. A round of dialogue may be a user's question and the merchant's answer, or a user's question and the merchant's counter-question, or a user's answer to a counter-question and the merchant's answer, and so on. Whether a conversation includes one round or multiple rounds, and which rounds it includes, can be determined, for example, based on the time interval between two adjacent rounds of dialogue. This application does not limit this.

[0033] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0034] Figure 1 A schematic diagram of a scenario applicable to the dialogue method provided in the embodiments of this application.

[0035] like Figure 1As shown, this scenario illustrates the interaction between an e-commerce platform and a mobile phone. The e-commerce platform can be a server-based platform that provides intelligent customer service chatbot services. The mobile phone is an example of a terminal device. It should be understood that an intelligent customer service chatbot, also known as a chatbot, can automatically generate response text in response to received text.

[0036] During promotional periods on e-commerce platforms, the platforms handle a large volume of inquiries from users (such as individual consumers) regarding these promotions. Merchants typically use automated customer service chatbots to handle these inquiries. Users can log in to the e-commerce platform via mobile phones, tablets, or other devices and initiate inquiries by clicking on customer service. Figure 1 As shown, when a user asks, "Are there any recent promotions?" the e-commerce platform replies via its intelligent customer service chatbot, "Which promotion are you referring to?" The user can then inquire about further details regarding the promotion they are interested in. The intelligent chatbot can retrieve the relevant answers based on pre-configured QA queries.

[0037] However, merchants typically set up one or more promotional categories for different products. Intelligent customer service robots need to analyze the user's question first to determine the relevant promotional category before they can find the corresponding answer to reply.

[0038] Currently, commonly used intelligent customer service robots typically involve merchants (i.e., B-end users) setting up activity categories and configuring time-sensitive QA pairs for different activity categories, which are then configured by algorithm engineers. The algorithm engineers configure the intelligent customer service robot for each product category based on the activity category and its corresponding QA pairs. The configured intelligent customer service robot can then find answers from the pre-configured question-and-answer pairs based on the activity category to which the user's question belongs. Since determining the activity category depends on a classification model, algorithm engineers need to collect data for different activity categories to train the corresponding classification model, and multiple activity categories need to be set up for each product category, resulting in high configuration costs.

[0039] In view of this, this application provides a dialogue method that sets multiple entries for different activity categories of each type of product, and guides B-end users to configure the corresponding activity configuration information, which is pre-written into a preset knowledge base. When a C-end user initiates a dialogue, the method can determine which entry the C-end user's question relates to based on the matching results between the text from the C-end user and the multiple entries in the preset knowledge base, and then generate a response based on the activity configuration information corresponding to that entry. These multiple entries can cover the activity categories set by different B-end users for different products. The entries and configuration information are similar to a QA pair; by matching and locating the activity category of interest to the C-end user, the corresponding response can be obtained. Therefore, it is unnecessary to configure one or more activity categories for each product, nor is it necessary to pre-train a classification model for each activity category, thereby reducing configuration costs.

[0040] In the following examples, for ease of distinction and explanation, C-end users are referred to as users, and B-end users are referred to as merchants.

[0041] Figure 2 This is a flowchart illustrating the dialogue method provided in an embodiment of this application. The method may include steps 210 to 220, which can be executed by a server or by components within the server, such as chips, chip systems, or other modules that can implement some or all of its functions. This application does not limit the specific implementation of these components. The server can be used to implement the functions of an e-commerce platform, for example, providing an intelligent customer service robot. The following is a combination of... Figure 2 Each step in method 200 is explained in detail.

[0042] Step 210: Match the text from the user with entries in the preset knowledge base to determine the target entries involved in the text;

[0043] Step 220: Based on the activity configuration information corresponding to the target item involved in the text, obtain the response text for the user.

[0044] The preset knowledge base includes multiple entries, each corresponding to different activity configuration information. Merchants can configure activity details for each attribute of a product based on these multiple entries. Different product attributes correspond to different activity details, which include the activity configuration information corresponding to the multiple entries.

[0045] These multiple entries may include product category identifiers, attribute identifiers, and multiple activity entries. A product category identifier can be used to identify a type of product, and an attribute identifier can be used to identify a specific attribute of the product. As mentioned earlier, the attributes in this application are set for different prices and activity details of the same type of product. When the price and activity details of a certain type of product are not different, only one attribute may be set, or no attribute may be set. If an attribute is set, then the product category identifier for that type of product corresponds to one attribute identifier; if no attribute is set, the attribute identifier corresponding to the product category identifier for that type of product can be empty.

[0046] The aforementioned activity entries can include multiple pre-configured fixed entries. These fixed entries can be pre-configured on the server by staff; in other words, all merchants' pre-configured knowledge bases include these fixed entries. Staff can compile historical product activities and include all possible product activities configured by each merchant within the fixed entries. For example, a fixed entry can include an activity name and the names of one or more activity categories. An activity name can be used to identify an activity, and each activity includes one or more activity categories, with different activity categories corresponding to different configuration information. For instance, the activity entry corresponding to the activity category "Activity Price" is "Activity Price," and the configuration information for this activity entry is the price specified by the merchant during the activity period. As another example, when the activity category is "First N Items X Discount," the corresponding activity entries include "First N Items" and "First N Items X Discount," with the configuration information for the activity entry "First N Items" being "N" and the configuration information for the activity entry "First N Items X Discount" being "X."

[0047] In another possible design, staff may choose not to include the event name in the event entries. It should be understood that whether or not the event name is included is related to the object being matched when matching text with entries, as described later. If the event name is included in the event entries, the similarity between the text and the event name will be calculated during matching; if the event name is not included in the event entries, the similarity between the text and the event name will not be calculated during matching. This application does not impose any limitations on this.

[0048] Optionally, fixed entries may also include an event description. An event description can be considered a detailed account of the event corresponding to the event name, and is typically set by the merchant.

[0049] Furthermore, activity entries can also include at least one custom entry configured by the merchant. That is, if an activity category set by a merchant cannot be covered by the fixed entries, one or more custom activity entries can be defined to supplement the fixed entries.

[0050] The target entry is one of several entries in the product activity knowledge base, specifically one of the aforementioned activity entries. This target entry can be obtained by matching each of the multiple activity entries with text from the user; for example, it could be the entry among the multiple activity entries that has the highest similarity to the text from the user.

[0051] Since each merchant's products and specific promotional activities during the promotional period are not exactly the same, each merchant needs to configure their own promotional activities.

[0052] Figure 3 The process of configuring various product promotions by a merchant is illustrated exemplarily.

[0053] like Figure 3 As shown in (a), the merchant configuration interface includes a "Add Activity" button and an activity list. The "Add Activity" button can be used to create new activities, and the activity list can be used to display activities that have already been created, such as "Activity 1" which already exists in the activity list. If a merchant needs to create a new activity, they can click the "Add Activity" button in the merchant configuration interface.

[0054] like Figure 3 As shown in (b), after clicking the "Add Activity" button, the "Add Activity" window will appear on the interface. In the "Add Activity" window, you can fill in the activity title, activity time, remarks, and keywords. Among them, keywords can be used to match the text of the user's inquiry about the activity, to determine which of the multiple product activities the user is inquiring about, and thus to determine the promotion status of a certain product under that product activity.

[0055] like Figure 3 As shown in (c), in the "Add Activity" window, enter the activity title as "Double Eleven Mega Sale", the activity time as "November 1, 2022 00:00:00 to November 11, 2022 23:59:59", the remarks as "Remark 2", and the keywords as "Double Eleven; Singles' Day; 11.11", and then click OK.

[0056] like Figure 3 As shown in (d), "Double Eleven Promotion" has been added to the activity list. Merchants can further configure the details of this activity by clicking the "Configure Activity" button. After clicking the "Configure Activity" button, an activity form can be filled out. Once the activity form is completed, a preset knowledge base will be formed in the backend database based on the content of the activity form.

[0057] One possible way to complete the activity form is to: download an electronic spreadsheet generated based on a predefined template; fill in the merchant-configured information for each activity item in the spreadsheet; and upload the completed spreadsheet. This application does not impose any restrictions on the method of completing the activity form.

[0058] Table 1 shows an example of an activity table. Table 1 lists multiple entries, such as "Product Category Identifier," "Attribute Identifier," "Activity Name," "Activity Description," and "Product Alias." All entries in Table 1 are fixed entries. "Product Category Identifier" and "Attribute Identifier" are not activity entries; "Deposit," "Final Payment," "First N Items," "First N Items X% Off," "First N Items Y Yuan," and "Gift" are activity entries; "Activity Name," "Activity Description," and "Product Alias" may or may not be defined as activity entries, and this application does not impose any limitations on this. It should be understood that the above multiple entries are not limited to those shown in Table 1. For example, fixed entries may also include "Effective Start Time" and "Effective End Time," etc.

[0059] Table 1

[0060]

[0061] As shown in Table 1, the table illustrates two product categories with category identifiers "001" and "002". It can be seen that a single product category can possess one or more attributes. For example, a product with category identifier "001" has two attributes, corresponding to attribute identifiers "A" and "B" respectively, while a product with category identifier "002" has one attribute, "C". This activity table includes detailed activity rules configured by the merchant for each attribute of the product based on multiple predefined entries. Each activity rule for each attribute includes configuration information corresponding to multiple entries; different attributes correspond to different activity rules. That is, the different activity rules are divided based on attributes, not on the product itself.

[0062] For example, in Table 1, the promotions for products with "Product Category Identifier" "001" and "Attribute Identifier" "A" include: a price reduction of 500 yuan; a deposit of 100 yuan is required upon purchase, followed by a final payment of 2900 yuan, and a free gift 1 is given; the promotions for products with "Product Category Identifier" "001" and "Attribute Identifier" "B" include: a price reduction of 500 yuan; a deposit of 100 yuan is required upon purchase, followed by a final payment of 2400 yuan, and a free gift 2 is given; the promotions for products with "Product Category Identifier" "002" and "Attribute Identifier" "C" include: the second item of the same product is half price; and a 20% discount is offered on the first 5 items purchased.

[0063] It should be understood that not every activity item is configured; in other words, not every activity item for every category of goods and every attribute has corresponding configuration information. If a specific activity item for a particular category of goods and a particular attribute does not require configuration, a placeholder such as null or notapplicable (N / A) can be entered. For example, in Table 1, the configuration information for the products with "Product Category Identifier" "001" and "Attribute Identifier" "A" and the products with "Product Category Identifier" "001" and "Attribute Identifier" "B" in the three items "First N Items", "First N Items X Discount", and "First N Items Y Yuan" is "N / A". Similarly, the configuration information for the product with "Product Category Identifier" "002" and "Attribute Identifier" "C" in the four items "Deposit", "Final Payment", "Gift", and "First N Items Y Yuan" is "N / A".

[0064] It should be understood that the items in Table 1 and the corresponding configuration information are for illustrative purposes only. The table template used to generate this activity table can be set up by staff according to their needs and pre-installed on the server. The specific content of the activity configuration information for each item can be filled in by the merchant and uploaded to the server. This is for illustrative purposes only and should not constitute any limitation on this application.

[0065] After obtaining the activity table as shown in Table 1, a preset knowledge base can be derived based on this activity table. One possible form of the preset knowledge base is as follows: Figure 4 As shown, where, Figure 4 In the activity table shown, each of the last three rows corresponds to a category of goods and the product details corresponding to a certain attribute, and each column corresponds to an activity item and its corresponding activity configuration information. It should be understood that the structure of this preset knowledge base stored on the server can be a table structure or an array structure, etc., and this application does not limit this.

[0066] Merchants can modify and delete pre-configured knowledge bases. For example, merchants can... Figure 4 In the activity table shown, click on the activity configuration information that needs to be modified to make changes, or click the "Delete" button to delete one or more activity details.

[0067] Furthermore, e-commerce platforms can provide merchants with a switch to enable or disable product promotions. Merchants can choose when to enable and / or disable product promotions. It should be noted that if a merchant enables a product promotion, the promotion will be effective within the activity period set by the merchant, from the start time to the end time. If a merchant disables a product promotion, the promotion will not be effective even if it is still within the activity period. However, the difference lies in the fact that when a merchant enables a product promotion, the intelligent customer service robot can analyze and respond to the user's text regarding the product promotion, regardless of whether the user inquires during the activity period. If a merchant disables a product promotion, the intelligent customer service robot will no longer process the user's text regarding the product promotion, regardless of whether the user inquires during the activity period. In this embodiment, for ease of explanation, the process of the intelligent customer service robot processing the user's text regarding the product promotion is referred to as the activity Q&A process. In other words, the activity Q&A is specifically used to process inquiry texts about product promotions.

[0068] The matching process will be explained in detail below.

[0069] Optionally, the method for matching text from the user with entries in the preset knowledge base can be as follows: semantically match the text from the user with multiple activity entries to obtain the similarity between each activity entry and the text; then determine the activity entry with the highest similarity to the text among the multiple activity entries as the target entry.

[0070] This matching method performs a global semantic match between the text and all activity entries in the preset knowledge base, which can match the corresponding activity entries more broadly.

[0071] Optionally, the method for matching text from the user with entries in the preset knowledge base can also be as follows: perform template matching between the text from the user and multiple fixed entries to obtain the similarity between each fixed entry and the text; then determine the fixed entry with the highest similarity to the text among the multiple fixed entries that is greater than a preset threshold as the target entry; or, if the similarity between multiple fixed entries and the text is not greater than the preset threshold, perform semantic matching between the text and multiple active entries, and determine the active entry with the highest similarity to the text that is greater than the preset threshold as the target entry.

[0072] This matching method prioritizes matching the text against fixed entries. If no match is found, it then performs a global semantic match against all activity entries. Since users typically ask for the activity name and standard information such as deposit and final payment details first, prioritizing matching fixed entries improves matching efficiency.

[0073] It should be understood that if neither of the above two matching methods can match a target item with a similarity greater than the preset threshold, it can be assumed that the text from the user may not have matched the currently set activity item, that is, no target item was matched, and a predefined fallback statement can be used as the reply text.

[0074] The template matching and semantic matching will be explained in detail below.

[0075] Template matching uses fixed entries as templates to match user text. For example, using the phrase "deposit" as a template, if the user's text also contains the phrase "deposit," then the text has a high similarity to the entry "deposit."

[0076] Semantic matching can be performed using matching algorithms. Generally, fixed entries use low-frequency words, which are difficult for current deep learning-based models to encode and learn semantic similarity for. Therefore, template matching can be used to improve the matching accuracy of fixed entries. Custom entries, on the other hand, have unpredictable vocabulary, so deep learning-based algorithms can be used for matching. These algorithms can accurately calculate the similarity between text and entries, and more accurately locate the corresponding entries.

[0077] The model structure for semantic matching based on deep learning algorithms is as follows: Figure 5 As shown, the model structure includes an input layer, an encoding layer, an interaction layer, and an output layer. At the start of semantic matching, the text and each activity item are input into the input layer of the algorithm model, then into the encoding layer. The algorithm model in the encoding layer encodes the text, and then the interaction layer calculates the distance between the encoded outputs. The closer the distance, the higher the similarity between the text and the activity item; the farther the distance, the lower the similarity. Finally, the similarity results are output through the output layer.

[0078] The distance calculated here can be cosine distance, Minkowski distance, Euclidean distance or Hamming distance, etc. The deep learning-based algorithm model is, for example, the bidirectional encoder representation from transformers (BERT) algorithm, etc. This application does not impose any restrictions on the specific calculation method.

[0079] After the target entry is matched, step 220 can be executed.

[0080] Optionally, the target entry in the text can be one of the combined entries or a non-combined entry. A combined entry includes at least two entries, and is a combination of multiple closely related entries. It can include at least two fixed entries or at least two custom entries; this application does not limit this. For example, in Table 1, "Activity Name" and "Activity Description," "Deposit" and "Final Payment," "First N Items" and "First N Items X Discount," and "First N Items X Yuan" can all be combined entries. "Gift" can be a non-combined entry.

[0081] If the target item mentioned in the text includes items from a combined item, the configuration information corresponding to each item in the combined item to which the target item belongs can be combined to obtain the response text. For example, if the target item mentioned in the text includes "event name", the response text can include the configuration information corresponding to "event name" and the configuration information corresponding to "event description". Another example is if the target item mentioned in the text, based on semantic matching, is most similar to "first N items at X discount", the response text can include the configuration information for "first N items" and the configuration information for "first N items at X discount". Yet another example is if the target item mentioned in the text includes "gift", the response text can include the configuration information for "gift".

[0082] Because the text users input when inquiring about product promotions is not fixed, in some cases, users may directly send a product link to inquire about the promotion; in others, they may directly ask for specific promotion details; and in still others, users may not be inquiring about a particular product. The matching process described above can only be implemented after the product category identifier, attribute identifier, and product promotion have been determined. Therefore, it may take one or more rounds of dialogue to obtain the text to be matched, and then perform the matching to obtain a response.

[0083] The following will combine Figure 6 To explain method 200 in more detail.

[0084] Before matching the text from the user with entries in the preset knowledge base, upon receiving text from the user, it is first necessary to determine that the received text is a user inquiry about a product promotion, and that the user's inquiry is related to the product promotion. Simultaneously, it is also necessary to confirm that the merchant has any product promotions currently active. If the user has not inquired about any product promotions, or if all of the merchant's product promotions are closed, then the dialogue method provided in this application is not required; that is, the promotion Q&A can be skipped.

[0085] After confirming that the user is inquiring about a product promotion and that the merchant currently has a promotion running, the specific product promotion mentioned in the text can be further identified. First, the promotion name, product category identifier, and attribute identifier should be determined. If any of these three items cannot be determined, they should be confirmed by asking the user. After determining the promotion name, product category identifier, and attribute identifier, the target item is then matched against the user's text. Finally, based on the configuration information corresponding to the target item, the response text is obtained.

[0086] It should be understood that if a product category identifier has only one attribute identifier after it has been determined, then the attribute identifier can be determined without asking the user for the attribute identifier; if the product category identifier has multiple attribute identifiers, then it is necessary to further determine the attribute identifier by asking the user for the attribute identifier.

[0087] If a merchant currently has only one product promotion active, there's no need to ask for the promotion name; the name of the only active promotion is the promotion name itself. However, if multiple promotions are active, then the promotion name needs to be asked of the user. If the user hasn't specified which type of product they're referring to, the product name should also be asked to determine the product category. If the product category has only one attribute, there's no need to ask for the attribute; however, if the product category has multiple attributes, then the attribute attributes need to be asked of the user.

[0088] It should be understood that in a conversation, information from a previous conversation can be inherited by subsequent conversations.

[0089] An example, such as Figure 7 As shown in (a), the user asks "Are there any recent promotions?". From the user's text, we can determine that the user is inquiring about product promotions. However, at this point, the promotion name, product category identifier, and attribute identifier are not yet determined. Therefore, we need to ask the user in return to determine which promotion, which product category, and the product's attributes.

[0090] Optionally, the event name can be determined by matching the user's text with the event name, or it can be determined by matching the user's text with... Figure 1 The keywords for the activity are matched to determine the activity. For example, "Double Eleven Promotion," "Singles' Day," and "11.11" can all match the "Double Eleven Promotion" activity. At this point, based on the information in the session, the session has progressed to... Figure 6 The flowchart shown illustrates the "Determine Activity Name" step. Within this session, subsequent conversations can inherit this information and continue.

[0091] Next, the intelligent customer service robot asks the user a follow-up question to determine which type of product the user is inquiring about. Then, based on the user's answer, it identifies the product category as "001". At this point, based on the information from the conversation, the conversation has progressed to the following stage: Figure 6 The flowchart shown illustrates the "Determine Product Category Identifier" step. Within this session, subsequent conversations can inherit this information and continue.

[0092] Next, the intelligent customer service robot asks the user a follow-up question to determine which attribute of product 1 the user is inquiring about. Then, based on the user's answer, it determines that the attribute corresponding to the inquired product attribute is attribute "A". At this point, based on the information in the conversation, the conversation has progressed to the following stage: Figure 6 The flowchart shown illustrates the "Determine Attribute Identifier" step. In this session, subsequent conversations can inherit this information and continue.

[0093] After determining the activity name, product category identifier, and attribute identifier, the user's text can be matched with the entries to identify the target entries involved in the text, and then the response text can be obtained based on the configuration information of the target entries.

[0094] An example, such as Figure 7 As shown in (b), the user's text has already determined the event name as "Double Eleven Mega Sale," the product category identifier as "001," and the attribute identifier as "A." The target item can then be determined as "Event Name" from the user's text. Since "Event Name" is one item in a combined item (e.g., "Event Name" + "Event Description"), the configuration information corresponding to each item in the combined item to which "Event Name" belongs can be combined to obtain the response text. Therefore, the response text can include the configuration information corresponding to "Event Name" and the configuration information corresponding to "Event Description," resulting in the response text "Event Name: Double Eleven Mega Sale; Event Description: Price Reduction of 500 Yuan."

[0095] Optionally, if the product a user inquires about has multiple attribute identifiers, but these multiple attribute identifiers have a common response text for the target item the user inquires about, then it is not necessary to further inquire about the attribute identifiers. Instead, the attribute identifiers can be determined when the user further inquires about target items that have different response texts for different attribute identifiers.

[0096] An example, such as Figure 8As shown in (a), a user asks, "Are there any recent promotions?" From the user's text, we can determine that they are inquiring about a product promotion. However, the promotion name, product category identifier, and attribute identifier are not yet known, so we need to ask the user for these details. When we learn that the product category identifier the user is inquiring about is "001," the pre-defined knowledge base indicates that although product category identifier "001" has two attributes, the corresponding promotion name and description are the same. Therefore, we don't need to ask for the attribute identifier further; we can directly reply: "Promotion Name: Double Eleven Promotion; Promotion Description: Price Reduction of 500 Yuan."

[0097] Then, as Figure 8 As shown in (b), the user further inquires, "Are there any free gifts?" At this point, based on the user's text, the target item in their inquiry is "free gifts." For the item "free gifts," the response text corresponding to the two attributes of product 1 is different. Therefore, it is necessary to ask the user for the attribute identifier. After determining that the attribute identifier is "A," as shown... Figure 8 As shown in (c), the reply text sent to the user is "Gift: Gift 1".

[0098] Optionally, if no target entry is matched, a predefined fallback phrase is used as the reply text.

[0099] An example, such as Figure 9 As shown, the user has already inquired about product 2 via the product link, thus determining the product category identifier as "002". Since product category identifier "002" only has one attribute identifier "C", there is no need to ask a follow-up question. The user has also inquired about the keyword "Double Eleven", thus determining the event name as "Double Eleven Mega Sale". Then, based on the configuration information of this target item, the reply text is obtained: "Event Name: Double Eleven Mega Sale; Event Description: Second item of the same product is half price".

[0100] When a user further inquires about the Double Eleven promotion information for product 3, because product 3 is not in the preset knowledge base for the "Double Eleven Promotion" event, no relevant entry for product 3 can be found. Therefore, the user is given a predefined fallback message: "Dear customer, this product is not included in the Double Eleven promotion. Please check other products."

[0101] It should be understood that the fallback statement here is only an example, and this application does not limit the specific content of the fallback statement.

[0102] Based on the dialogue method provided in this application, merchants can be guided to configure a pre-set knowledge base, which includes activity details for different activity categories for each type of product. When a user initiates a dialogue, the system can determine which specific item the user's question relates to by matching the user's text with multiple items in the pre-configured knowledge base. A response can then be generated based on the configuration information corresponding to that item. These multiple items can cover activity categories set by different merchants for different products. The item and configuration information are similar to a QA pair; by matching and locating the activity category the user is interested in, the corresponding response can be obtained. Therefore, it is unnecessary to configure one or more activity categories for each product, nor is it necessary to pre-train a classification model for each activity category, thus reducing configuration costs.

[0103] Figure 10 This is a schematic block diagram of a dialogue device provided in an embodiment of this application. This device can correspond to the server in the method embodiments described above, and is used to implement its corresponding functions. For example, this device is... Figure 1 Chinese e-commerce platforms, such as Figure 10 As shown, the dialogue device 1000 may include a matching module 1010 and a response module 1020.

[0104] The matching module 1010 can be used to match text from the user with entries in a preset knowledge base to determine the target entries involved in the text; the preset knowledge base includes multiple entries, which correspond to various different activity configuration information; the reply module 1020 can be used to obtain reply text for the user based on the activity configuration information corresponding to the target entries involved in the text.

[0105] Optionally, the matching module 1010 can be used to semantically match the text from the user with multiple activity items to obtain the similarity between the text and each activity item; and to determine the activity item with the highest similarity to the text among the multiple activity items as the target item.

[0106] Optionally, the matching module 1010 can be used to: perform template matching between text from the user and multiple fixed entries to obtain the similarity between the text and each fixed entry; determine the fixed entry with the highest similarity to the text among the multiple fixed entries as the target entry; or, if the similarity between multiple fixed entries and the text is not greater than the preset threshold, perform semantic matching between the text and multiple active entries, and determine the active entry with the highest similarity to the text as the target entry.

[0107] Optionally, the above-mentioned response text is obtained based on the configuration information corresponding to the product category identifier, attribute identifier, and target entry in the preset knowledge base; the device 1000 also includes a determination module, which can be used to: determine that the user's inquiry is related to the product activity; determine the name of the activity involved in the product activity; determine the product category identifier corresponding to the product involved in the product activity; and determine the attribute identifier corresponding to the attribute of the product inquired about by the user.

[0108] Optionally, the determination module can also be used to determine the activity name corresponding to the product activity inquired about by the user, based on one or more pre-configured activity names or keywords corresponding to each activity name, as well as text from the user.

[0109] Optionally, if the target entry belongs to one of the predefined combined entries, each combined entry includes at least two entries; specifically, the reply module 1020 can be used to combine the activity configuration information corresponding to each entry in the combined entry to which the target entry belongs to obtain a reply text for the user.

[0110] Optionally, the reply module 1020 can also be used to use a predefined fallback phrase as the reply text for the user if no target entry is matched.

[0111] Optionally, the device 1000 further includes a configuration module, which can be used to obtain an activity form and, based on the activity form, obtain a preset knowledge base; wherein, the activity form is filled in by the merchant based on a predefined form template and activity details of one or more types of goods, including goods, and the form template includes the aforementioned predefined multiple entries.

[0112] Figure 11 This is another schematic block diagram of the dialogue device provided in the embodiments of this application. For example... Figure 11 As shown, the device 1100 may include at least one processor 1110, which can be used to implement the functions of the dialogue device in the above method embodiments. See the detailed description in the method examples for details, which will not be repeated here.

[0113] The device 1100 may further include a memory 1120 for storing program instructions and / or data. The memory 1120 is coupled to the processor 1110. The coupling in this application is an indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, for information exchange between devices, units, or modules. The processor 1110 may operate in conjunction with the memory 1120. The processor 1110 may execute program instructions stored in the memory 1120. At least one of the at least one memory may be included in the processor.

[0114] The device 1100 may further include a communication interface 1130 for communicating with other devices via a transmission medium, thereby enabling communication between devices in the device 1100 and other devices. The communication interface 1130 may be, for example, a transceiver, interface, bus, circuit, or a device capable of transmitting and receiving functions. The processor 1110 may utilize the communication interface 1130 to transmit and receive data and / or information, and to implement... Figure 2 The dialogue method described in the corresponding embodiment.

[0115] This application does not limit the specific connection medium between the processor 1110, memory 1120, and communication interface 1130. This application... Figure 11 The processor 1110, memory 1120, and communication interface 1130 are connected via bus 1140. Bus 1140 is... Figure 11 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 11 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0116] In the embodiments of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0117] According to the method provided in this application, this application also provides a computer-readable storage medium storing program code, which, when executed on a computer, causes the computer to perform... Figure 2 or Figure 6 The dialogue method in the illustrated embodiment.

[0118] According to the method provided in this application, this application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to perform... Figure 2 or Figure 6 The dialogue method in the illustrated embodiment.

[0119] The technical solutions provided in this application can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal device, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired means, such as coaxial cable, optical fiber, digital subscriber line (DSL), or wireless means (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium such as a digital video disc (DVD), or a semiconductor medium, etc.

[0120] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A dialogue method, characterized in that, The method includes: The text from the user is matched with entries in a preset knowledge base to determine the target entries involved in the text; wherein, the preset knowledge base includes multiple entries, which correspond to various different activity configuration information, the preset knowledge base is an activity configuration library for products, each product has one or more attributes, the multiple entries include product category identifiers, attribute identifiers and multiple activity entries, the multiple activity entries include multiple pre-configured fixed entries and at least one custom entry that can be manually configured; Based on the activity configuration information corresponding to the target item involved in the text, a reply text for the user is obtained; The step of matching text from the user with entries in a preset knowledge base to determine the target entry involved in the text includes: performing template matching between text from the user and the plurality of fixed entries to obtain the similarity between the text and each fixed entry; and determining the fixed entry with the highest similarity to the text among the plurality of fixed entries as the target entry. If the similarity between the multiple fixed entries and the text is not greater than the preset threshold, the text and the multiple activity entries are semantically matched using a deep learning algorithm model, and the activity entry with the highest similarity to the text that is greater than the preset threshold is determined as the target entry.

2. The method as described in claim 1, characterized in that, The multiple fixed entries include: the event name, and the names of one or more event categories.

3. The method as described in claim 2, characterized in that, The response text is obtained based on the configuration information in the preset knowledge base corresponding to the product category identifier, the attribute identifier, and the target entry; as well as Before matching the text from the user with entries in a preset knowledge base, the method further includes: The user's inquiry was determined to be related to the product promotion. Determine the names of the activities involved in the product promotion; Determine the product category identifier corresponding to the products involved in the product activity; Determine the attribute identifier corresponding to the attribute of the product inquired by the user.

4. The method as described in claim 1, characterized in that, If the target entry is one of a predefined combination of entries, and each combination of entries includes at least two entries, then The process of obtaining the response text for the user based on the activity configuration information corresponding to the target item involved in the text includes: The activity configuration information corresponding to each item in the combined items to which the target item belongs is combined to obtain the reply text for the user.

5. The method as described in claim 1, characterized in that, The method further includes: If the target entry is not matched, a predefined catch-all response will be used as the reply to the text.

6. A dialogue device, characterized in that, Includes a module for performing the method as described in any one of claims 1 to 5.

7. A dialogue device, characterized in that, Including memory and processor, among which, The memory is used to store computer programs; The processor is configured to execute the computer program so that the apparatus implements the method as described in any one of claims 1 to 5.

8. A computer program product, characterized in that, Includes a computer program that, when run, implements the method as described in any one of claims 1 to 5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Intelligent dialogue method and device for commodity marketing scene

    CN111046161A