A method, system, device and storage medium for determining user scenarios
By obtaining user information and text information, determining the scene vector and inputting the user scene determination model, the problem of missed classification of multiple rounds of conversation devices during user scene classification is solved, and the solution rate and model accuracy are improved.
Patent Information
- Application Number
- CN202010548343.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-16
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-06-16
AI Technical Summary
Existing multi-round conversation devices are prone to misclassification when classifying user scenarios, resulting in problems that cannot be solved and reduce resolution rates.
By obtaining user information and text information, the scene vector is determined, and the scene vector is input to the user scene determination model to accurately determine the user scene, improving the solution rate.
This method can more accurately determine user scenarios, improve the resolution rate of multiple rounds of conversation devices, and continuously improve the accuracy of the model through feedback and updating sample data.
Smart Images

Figure CN111857331B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of human-computer interaction, and in particular to a method, system, device and storage medium for determining a user scenario. Background Art
[0002] With the development of human-computer interaction devices, smart devices can conduct multi-round conversations based on user questions, which is widely used in life and work, for example, customer service robots can accurately answer questions raised by users. At present, the main mode adopted by multi-round conversation devices is to first classify the scenes, and then select the devices for the corresponding scenes according to the scenes. This mode can effectively improve the problem-solving rate of multi-round conversation devices. However, when the user is mistakenly classified into the wrong scene, the problem cannot be solved and the solution rate is reduced. For example, booking a flight or checking the weather, which belong to different separate scenes. When the scene is booking a flight, but the user talks about the weather conditions at the destination when booking the flight, he is mistakenly classified into the weather checking scene, resulting in an incorrect reply. Therefore, it is urgent to provide a more effective and accurate solution to determine the user scene. Summary of the invention
[0003] In order to address the problem that users are misclassified into wrong scenarios in multi-round conversations, resulting in problems that cannot be solved and a reduced resolution rate, this specification provides a solution for determining user scenarios that can more effectively and accurately determine user scenarios to improve the resolution rate of multi-round conversation devices.
[0004] In order to achieve the above-mentioned invention object, the technical solution provided in this specification is as follows:
[0005] One aspect of an embodiment of the present specification provides a method for determining a user scenario. The method includes: obtaining user information and text information; determining a scenario vector based on the user information and the text information; and determining the user scenario of the user by inputting the scenario vector into a user scenario determination model.
[0006] Another aspect of the embodiments of the present specification provides a system for determining a user scenario. The system includes: a data acquisition module for acquiring user information and text information; a scene vector determination module for determining a scene vector based on the user information and the text information; and a user scenario determination module for determining a user scenario of the user by inputting the scene vector into a user scenario determination model.
[0007] Another aspect of the embodiments of this specification provides a device for determining a user scenario. The device includes a processor and a memory; the memory is used to store instructions, and is characterized in that when the instructions are executed by the processor, the device implements operations corresponding to the method for determining a user scenario.
[0008] Another aspect of the embodiments of this specification provides a computer-readable storage medium, wherein the storage medium stores computer instructions, and when a computer reads the computer instructions in the storage medium, the computer executes the method for determining a user scenario.
[0009] The beneficial effects that may be brought about by this specification include but are not limited to: (1) Determining the scene vector based on user information and text information can enrich the scene vector content and improve the pertinence of the scene vector to different users, thereby more accurately determining the user scenario; (2) Vectorizing user information and text information through a vector processing model can process data in batches, thereby improving efficiency while accurately extracting feature vectors of user information and text information; (3) Through feedback on the resolution rate and updating sample data, the vector processing model and the user scenario determination model can be continuously updated, further improving the accuracy of the user scenario determination model and improving the resolution rate of the module corresponding to the user scenario. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a schematic diagram of an application scenario of a system for determining a user scenario according to some embodiments of the present application;
[0011] Figure 2 is a schematic diagram of exemplary hardware and software components of a computing device according to some embodiments of the present application;
[0012] Figure 3 is a schematic diagram of exemplary hardware and / or software components of an exemplary mobile device 300 according to some embodiments of the present application;
[0013] Figure 4 is a module diagram of a user scenario determination system according to some embodiments of the present application;
[0014] Figure 5 is a flowchart of a method for determining a user scenario according to some embodiments of the present application;
[0015] Figure 6 is a flowchart of a method for determining a scene vector according to some embodiments of the present application; and
[0016] Figure 7 It is a flowchart of a model training method determined according to user scenarios shown in some embodiments of the present application. DETAILED DESCRIPTION
[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0018] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0019] As shown in this application and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprises" and "includes" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0020] Although the present application makes various references to certain modules or units in the system according to the embodiments of the present application, any number of different modules or units can be used and run on the client and / or server. The modules are illustrative only, and different aspects of the system and method can use different modules.
[0021] Flowcharts are used in the present application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, the various steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0022] The embodiments of the present application relate to a method and system for determining a user scenario. With the development of human-computer interaction devices, smart devices can conduct multiple rounds of conversations based on user questions, which are widely used in life and work, for example, accurately answering user questions through customer service robots. At present, the multi-round conversation device mainly adopts a mode of first classifying the scene and then selecting the device corresponding to the scene according to the scene. This can effectively provide a solution rate for the multi-round conversation device. However, when the user is misclassified into the wrong scene, the problem cannot be solved, reducing the solution rate. For example, booking a flight or checking the weather, which belong to different separate scenes. When the scene is booking a flight, but the user is misclassified into the weather checking scene when booking a flight, it is misclassified into the weather checking scene, resulting in an incorrect reply. In some embodiments, the method and system can obtain user information and text information. Based on the user information and the text information, the method and system can also determine a scene vector. By inputting the scene vector into the user scene determination model, the method and system can also determine the user scene of the user. Therefore, compared with the method using only text information, the method and system for determining the user scene provided in this specification can more accurately determine the user scene and improve the solution rate of the device corresponding to the user scene.
[0023] Figure 1 It is a schematic diagram of an application scenario of a system for determining a user scenario according to some embodiments of the present application. In the process of human-computer interaction, especially in multi-round conversation applications, the user scenario needs to be confirmed. The user scenario determination system 100 can determine the user scenario of the user through user information and text information, select a device corresponding to the user scenario to communicate with the user, help solve user problems, and effectively improve the problem solving rate. The user scenario determination system 100 can be an online service platform for Internet services. For example, the user scenario determination system 100 can be an online transportation service platform for transportation services. In some embodiments, the user scenario determination system 100 can be applied to online car-hailing services. For example, the user scenario determination system 100 can be applied to the driver and / or passenger consulting service to determine the driver and / or passenger scenario, etc. In some embodiments, the user scenario determination system 100 can also be applied to services such as driving, express delivery, takeout, and online stores. The user scenario determination system 100 can be an online service platform, including a server 110, a network 120, a user terminal 130, and a database 140. The server 110 may include a processing device 112.
[0024] In some embodiments, the server 110 can be used to process information and / or data related to determining a user scenario. The server 110 can be an independent server or a server group. The server group can be centralized or distributed (e.g., the server 110 can be a distributed system). In some embodiments, the server 110 can be regional or remote. For example, the server 110 can access information and / or data stored in the user terminal 130 and the database 140 through the network 120. In some embodiments, the server 110 can be directly connected to the user terminal 130 and the database 140 to access the information and / or data stored therein. In some embodiments, the server 110 can be executed on a cloud platform. For example, the cloud platform may include one or any combination of a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc.
[0025] In some embodiments, the server 110 may include a processing device 112. The processing device 112 may process data and / or information related to determining a user scenario to perform one or more functions described in the present application. For example, the processing device 112 may receive consulting questions sent by the user terminal 130 and provide the user with corresponding module feedback information. In some embodiments, the processing device 112 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-core processing device). As an example only, the processing device 112 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic circuit (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, etc. or any combination thereof.
[0026] The network 120 can facilitate the exchange of data and / or information. In some embodiments, one or more components (e.g., server 110, user terminal 130, database 140) in the user scenario determination system 100 can send data and / or information to other components in the user scenario determination system 100 through the network 120. In some embodiments, the network 120 can be any type of wired or wireless network. For example, the network 120 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, an internet network, a local area network (LAN), a wide area network (WAN), a wireless area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, etc. or any combination thereof. In some embodiments, the network 120 may include one or more network entry and exit points. For example, the network 120 may include wired or wireless network entry and exit points, such as base stations and / or Internet exchange points 120-1, 120-2, ..., through which one or more components of the user scenario determination system 100 can be connected to the network 120 to exchange data and / or information.
[0027] In some embodiments, the user can obtain feedback information through the user terminal 130. In some embodiments, the processing device 112 of the server 110 can also obtain the user's input information through the user terminal 130. The user terminal 130 may include various devices with information receiving and / or sending functions, such as computers, mobile phones, text scanning devices, display devices, printers, etc. In some embodiments, the user terminal 130 may include one of the mobile device 130-1, tablet computer 130-2, laptop computer 130-3, etc. or any combination thereof. In some embodiments, the mobile device 130-1 may include a smart home device, a wearable device, a smart action device, a virtual reality device, an augmented reality device, etc. or any combination thereof. In some embodiments, the smart furniture device may include a smart lighting device, a control device for smart appliances, a smart monitoring device, a smart TV, a smart camera, an intercom, etc. or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, smart shoes and socks, smart glasses, a smart helmet, a smart watch, smart clothing, a smart backpack, smart accessories, etc. or any combination thereof. In some embodiments, the smart action device may include a smart phone, a personal digital assistant (PDA), a game device, a navigation device, a POS device, etc. or any combination thereof. In some embodiments, the virtual reality device and / or augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc. or any combination of the above.
[0028] The database 140 may store data and / or instructions. In some embodiments, the database 140 may store data obtained from the user terminal 130. In some embodiments, the database 140 may store information and / or instructions for execution or use by the server 110 to execute the exemplary method described in this application. For example, several servers of the online car-hailing platform may obtain user information and text information, execute a program to confirm the user scenario, and save the confirmation result to the database 140. For another example, the database 140 can be used to store a large amount of device information corresponding to the user scenario; it can also store sample information for model training. In some embodiments, the database 140 may include a large-capacity memory, a removable memory, a volatile read-write memory (e.g., a random access memory RAM), a read-only memory (ROM), etc., or any combination thereof. In some embodiments, the database 140 may be implemented on a cloud platform. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc., or any combination thereof.
[0029] In some embodiments, the database 140 may be connected to the network 120 to communicate with one or more components of the user scene determination system 100 (e.g., the server 110, the user terminal 130, etc.). One or more components of the user scene determination system 100 may access the data or instructions stored in the database 140 through the network 120. In some embodiments, the database 140 may be directly connected or communicated with one or more components in the user scene determination system 100 (e.g., the server 110, the user terminal 130). In some embodiments, the database 140 may be part of the server 110.
[0030] In the user scenario determination system 100, the program instructions and / or data used may be generated through other processes, such as the training process of a machine learning model. These training processes may be performed in the computing system or in other systems, and the instructions and / or data may be migrated to the computing system.
[0031] For example, when confirming a user scenario, the executed program includes a machine learning model. The machine learning model used can be trained in another server and then migrated to the server for classification.
[0032] Figure 22 is a schematic diagram of exemplary hardware and software components of a computing device 200 according to some embodiments of the present application. The computing device 200 can be used to implement any component of the user scenario determination system 100 as described herein. For example, the server 110 (e.g., the processing device 112) and / or the user terminal 130 can be implemented on the computing device 200 by its hardware, software program, firmware, or a combination thereof. Although only one such computing device is shown, for convenience, the computer functions associated with the user scenario determination system 100 described herein can be implemented in a distributed manner on multiple similar platforms to distribute the processing load.
[0033] like Figure 2 As shown, the computing device 200 may include a communication bus 210, a processor 220, a storage device, an input / output (I / O) 260, and a communication port 250. The processor 220 may execute computer instructions (e.g., program code) and perform the functions of one or more components of the user scenario determination system 100 according to the technology described herein. For example, the processor 220 may determine the user scenario. The computer instructions may include, for example, routine, programs, objects, components, data structures, processes, modules, and functions for performing specific functions described herein. In some embodiments, the processor 220 may include an interface circuit and a processing circuit therein. The interface circuit may be configured to receive an electronic signal from the communication bus 210, wherein the electronic signal encodes structured data and / or instructions for processing by the processing circuit. The processing circuit may perform logical calculations, and then determine the conclusion, result, and / or instruction encoding as an electrical signal. Then, the interface circuit may send an electrical signal from the processing circuit via the communication bus 210.
[0034] In some embodiments, the processor 220 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), any circuit or processor capable of performing one or more functions, etc., or any combination thereof.
[0035] For the purpose of illustration only, only one processor is exemplarily drawn in the computing device 200. However, it should be noted that the computing device 200 in the present application may also include multiple processors, and the operations and / or method steps performed by one processor as described in the present application may also be performed jointly or individually by multiple processors. For example, if in the present application, the processor of the computing device 200 performs step A and step B, it should be understood that step A and step B may also be performed jointly or independently by two or more different processors of the computing device 200 (for example, the first processor performs step A, the second processor performs step B, or the first and second processors perform step A and step B jointly).
[0036] The storage device may store data / information related to the user scenario determination system 100. In some embodiments, the storage device may include a mass storage device, a removable storage device, a volatile read-write memory, a random access memory (RAM) 240, a read-only memory (ROM) 230, a disk 270, etc., or any combination thereof. In some embodiments, the storage device may store one or more programs and / or instructions to perform the exemplary methods described in this application. For example, the storage device may store a program for execution by the processor 220.
[0037] I / O 260 can input and / or output signals, data, information, etc. In some embodiments, I / O 260 can enable user interaction with computing device 200. In some embodiments, I / O 260 may include input devices and output devices. Exemplary input devices may include keyboards, mice, touch screens, microphones, etc., or any combination thereof. Exemplary output devices may include display devices, speakers, printers, projectors, etc., or any combination thereof. Examples of display devices may include liquid crystal displays (LCDs), displays based on light-emitting diodes (LEDs), flat panel displays, curved screens, television devices, cathode ray tubes (CRTs), touch screens, etc., or any combination thereof. Communication port 250 may be connected to a network (e.g., network 120) to facilitate data communication. Communication port 250 may establish a connection between computing device 200 and one or more components of user scenario determination system 100. The connection may be a wired connection, a wireless connection, any other communication connection that can enable data transmission and / or reception, and / or any combination of these connections. Wired connections may include, for example, cables, optical cables, telephone lines, etc., or any combination thereof. Wired connections may include, for example, electrical cables, optical cables, telephone lines, etc., or any combination thereof. Wireless connections may include, for example, Bluetooth links, Wi-Fi™ links, WiMax™ links, WLAN links, Zigbee links, mobile network links (e.g., 3G, 4G, 5G, etc.), etc., or combinations thereof. In some embodiments, communication port 250 may be and / or include a standardized communication port, such as RS232, RS485, etc. In some embodiments, communication port 250 may be a specially designed communication port.
[0038] Figure 3 1 is a schematic diagram of exemplary hardware and / or software components of an exemplary mobile device 300 according to some embodiments of the present application. In some embodiments, one or more components (e.g., user terminal 130, processing device 112) in user scenario determination system 100 can be implemented on mobile device 300.
[0039] like Figure 3 As shown, mobile device 300 may include communication platform 310, display 320, graphics processing unit (GPU) 330, central processing unit (CPU) 340, I / O 350, memory 360 and storage 390. In some embodiments, any other suitable components, including but not limited to a system bus or controller (not shown), may also be included in mobile device 300. In some embodiments, mobile operating system 370 (e.g., iOS, Android, Windows Phone 8, etc.) TM) and one or more applications 380 may be loaded from storage 390 into memory 360 for execution by CPU 340. Application 380 may include a browser or any other suitable mobile application for receiving and presenting information related to location or other information from processing device 112. User interaction with the information stream may be implemented through I / O 350 and provided to processing device 112 and / or other components of user context determination system 100 through network 120.
[0040] In order to implement the various modules, units and their functions described in this application, a computer hardware platform can be used as a hardware platform for one or more components described herein. A computer with a user interface component can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, the computer can also be used as a server.
[0041] Figure 4 is a module diagram of a user scenario determination system according to some embodiments of the present application. Figure 4 As shown, the user scenario determination system 400 may include a data acquisition module 410, a scenario vector determination module 420, and a user scenario determination module 430. The above modules are all executed in the computing system introduced in the application scenario, and each module includes its own instructions, which may be stored on a storage medium and executed in a processor. Different modules may be located on the same device or on different devices. Data may be transmitted between them through a program interface, a network, etc., and data may be read from a storage device or written to a storage device.
[0042] In some embodiments, the data acquisition module 410 can be used to acquire user information and text information. User information refers to the information of the user who asks the question; text information refers to the user's input information. In some embodiments, user information can be acquired from the database 140 or other storage devices, or through other interfaces; text information can be acquired from the human-computer interaction interface. For details, see Figure 5 Step 510.
[0043] In some embodiments, the scene vector determination module 420 can be used to perform vector processing on the user information and the text information, that is, extract the first feature vector corresponding to the user information and the second feature vector corresponding to the text information, and then determine the scene vector by concatenating the first feature vector and the second feature vector. In some embodiments, the scene vector can be determined using a vector processing model. For details, see Figure 5 Step 520 and Figure 6 .
[0044] In some embodiments, the user scenario determination module 430 may be used to determine the user scenario by inputting the scenario vector into the user scenario determination model. The user scenario determination model is a classification model; the input of the user scenario determination model is the scenario vector; and the output of the user scenario determination model is the user scenario. For details, see Figure 5 Step 530.
[0045] In some embodiments, the user scenario determination system 400 may further include a selection module, which may select a device corresponding to the user scenario based on the determined user scenario. The device corresponding to the user scenario is a device for answering user questions. Figure 5 .
[0046] In some embodiments, the user scenario determination system 400 may further include a training module, which may obtain one or more training samples. Each training sample may include a sample scenario vector and a sample user scenario corresponding to the sample scenario vector. The training module may also use the sample scenario vector as input and the sample user scenario as an identifier to train the user scenario determination model. For details, see Figure 7 .
[0047] In some embodiments, the training module may be set in the processing device on the server side, or may be set in the processing device on the user terminal, or part of the training module may be set in the processing device on the server side, and another part of the training module may be set in the processing device on the user terminal side, so that Figure 4 Not shown.
[0048] It should be understood that Figure 4The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or a dedicated design hardware. Those skilled in the art will understand that the above-mentioned method and system can be implemented using computer executable instructions and / or included in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules of the present application can not only be implemented by hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but can also be implemented by software such as executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (for example, firmware).
[0049] It should be noted that the above description of the user scenario determination system and its modules is only for the convenience of description and does not limit the present application to the scope of the embodiments. It is understandable that for those skilled in the art, after understanding the principle of the system, they can arbitrarily combine the modules or form a subsystem to connect with other modules without deviating from this principle. For example, in some embodiments, Figure 4 The data acquisition module 410, scene vector determination module 420, user scene determination module 430 and selection module 440 disclosed in the system can be different modules in one system, or one module can realize the functions of two or more modules mentioned above. For example, the scene vector determination module 420 can be one module, or two user information vector determination modules and text information vector determination modules that extract user information and text information respectively. For another example, each module can share a storage module, or each module can have its own storage module. Such variations are all within the protection scope of this application.
[0050] Figure 5 It is a flowchart of a method for determining a user scenario according to some embodiments of the present specification.
[0051] like Figure 5 As shown, the method for determining the user scenario may include:
[0052] Step 510 , obtaining user information and text information. Specifically, step 510 may be performed by the data obtaining module 410 .
[0053] User information may include user personal information, user status information, user historical question information, etc. Specifically, user personal information may include user's name, gender, age, ID number, occupation, nationality, length of service, location, place of residence, place of work, family members, preferences, habits, etc. User status information may be the state of the user. In some embodiments, user status information may include first status information and second status information. Among them, the first status information may be ordinary status information, such as information about work status or vacation status; the second status information may be special status information, such as information about complaint status, inquiry status, order status, etc. In some embodiments, user status information may include first status information and second status information at the same time, such as work complaint status information, work inquiry status information, etc. User historical question information may be information about questions that the user has asked in the past. User historical question information may include information such as the specific content of historical questions, the user scenario in which the historical questions are located, the user scenario determination model used by the historical questions, and the module corresponding to the historical questions. In step 510, user information may be obtained from a database or other storage device, or through other interfaces.
[0054] The text information may be real-time input information of the user. In some embodiments, the text information may include real-time questions asked by the user, multiple rounds of questions asked by the user, etc. For example, "What is the weather like in XX today?" "What is the traffic condition of XX road now?" "What are the flights to XX today?" The text information may include text information, voice information, etc. In step 510, the text information may include text information manually input by the user through a keyboard or screen, and may also include text information converted by the user through voice input of a microphone; the voice information may include voice information directly input by the user through a microphone. In some embodiments, the text information may be presented on a human-computer interaction interface.
[0055] Step 520 , determining a scene vector based on the user information and the text information. Specifically, step 520 may be performed by the scene vector determination module 420 .
[0056] The scene vector may be a vector including features of user information and text information. In some embodiments, the user information and text information may be vectorized, that is, a first feature vector corresponding to the user information and a second feature vector corresponding to the text information are extracted, and then the scene vector is determined by concatenating the first feature vector and the second feature vector. In some embodiments, a vector processing model may be used to determine the scene vector. For example, the first feature vector and the second feature vector are input into the vector processing model to determine the scene vector. For more information on determining the scene vector, see Figure 6 .
[0057] Step 530 , determining the user scenario of the user by inputting the scenario vector into a user scenario determination model. Specifically, step 530 may be performed by the user scenario determination module 430 .
[0058] The user scenario determination model may be a classification model. Specifically, the user scenario determination model may include a K-Nearest Neighbor (KNN) model, a Bayesian model, a decision tree model, a random forest model, a logistic regression model, a neural network (NN) model, an ensemble learning model, and the like.
[0059] The input of the user scenario determination model may be the scenario vector determined in step 520. The output of the user scenario determination model may be the user scenario of the user. In some embodiments, the output of the user scenario determination model may include text (e.g., "check weather scenario", "complaint scenario", "check service score scenario", etc.), vectors (e.g., plane coordinates (x, y), space coordinates (x, y, z), matrices, etc.), codes, instructions, etc., which may be used to represent any form of user scenario. The user scenario of the user is a scenario in which the user asks a question. In some embodiments, the user scenario may include scenarios such as checking weather, making complaints, checking service scores, taking orders, and booking tickets.
[0060] The user scenario determination model is a trained model. The training method of the user scenario determination model can be found in Figure 7 Description.
[0061] In some embodiments, based on the determined user scenario, a device corresponding to the user scenario may also be selected. Specifically, this step may be performed by a selection module.
[0062] The device corresponding to the user scenario is a device for answering user questions. In some embodiments, the device corresponding to the user scenario may include an intelligent device with a conversation function, such as a multi-wheel robot, an artificial intelligence device, a device with a human-computer interaction function, artificial intelligence software, etc. For example, based on step 530, it is determined that the user scenario of the user is to check the weather, and the processor (e.g., a selection module) can select a corresponding weather checking device (e.g., a multi-wheel robot with a weather checking function, an artificial intelligence device with a weather checking function, etc.). For another example, based on step 530, it is determined that the user scenario of the user is to book a flight, and the processor (e.g., a selection module) can select a corresponding flight booking device (e.g., a multi-wheel robot with a flight booking function, an artificial intelligence device with a flight booking function, etc.).
[0063] In some embodiments, the device corresponding to the user scenario may also include different modules of the smart device, such as a shopping module, a recording module, a reminder module, etc. For example, based on the air ticket booking scenario determined in step 530, the customer service robot corresponding to the air ticket booking scenario may have a dialogue with the user, and when the user confirms the air ticket, the function of purchasing the air ticket may be provided. For another example, based on the weather check scenario determined in step 530, the customer service robot corresponding to the weather check scenario may have a dialogue with the user, and when the weather is bad weather (e.g., rain, snow, hail, haze, etc.), a reminder function may be provided (e.g., reminding the user to bring an umbrella when it rains, and reminding the user to wear a mask when it is haze).
[0064] In some embodiments, after the interaction with the corresponding device is completed, the user can rate the answer to the question. For example, the rating may include "satisfied", "average" and "unsatisfied". For another example, the rating may include "one star", "two stars", "three stars", "four stars" and "five stars". In some embodiments, the user can provide other feedback on the answer to the question. For example, after the user finishes asking the question, the human-computer interaction interface may provide a text box for the user to input the user experience and / or user evaluation. The input method may include the user manually entering the text box through the keyboard or screen, and may also include the user entering the text box through the microphone voice converted into text. For another example, after the user finishes asking the question, the human-computer interaction interface may provide a recording button for the user to input the user experience and / or user evaluation through the microphone voice. In some embodiments, the scoring results can be stored in a database or other storage device for updating the user scenario determination model after a certain period of time. The method for updating the user scenario determination model can be found in Figure 7 Description.
[0065] The key to the above method is to determine the user scene through the scene vector determined by splicing user information and text information. Compared with determining the user scene only through the vector of text information, the method provided in this specification is more targeted and can more accurately confirm the user scene, thereby solving the problem of users being misclassified into scenes and improving the resolution rate of multi-round conversations.
[0066] Figure 6 is a flowchart of a method for determining a scene vector according to some embodiments of the present specification.
[0067] like Figure 6 As shown, the method for determining the scene vector may include:
[0068] Step 610 : Based on the user information, extract at least one first feature vector corresponding to the user information. Specifically, step 610 may be performed by the scene vector determination module 420 .
[0069] In step 610, the user information is vectorized to extract at least one vector corresponding to the user information. The obtained vector is referred to as a first eigenvector in this specification.
[0070] The vectorization process may be to input the user information into a first vector processing model and output a corresponding vector or a set of vectors. The output vector is a digital representation of the semantics of the user information. In some embodiments, the first vector processing model may be a Word2Vec model, an ElMo model, a bag-of-words model, a BERT model, etc., which is not limited in this specification.
[0071] Step 620 : Based on the text information, extract at least one second feature vector corresponding to the text information. Specifically, step 620 may be performed by the scene vector determination module 420 .
[0072] In step 620, the text information is vectorized to extract at least one vector corresponding to the text information. The obtained vector is referred to as a second feature vector in this specification.
[0073] Vectorization processing can be inputting text information into a second vector processing model and outputting a corresponding vector or a group of vectors. The output vector is a digital representation of the semantics of the text information. In some embodiments, the second vector processing model can be a Word2Vec model, an ElMo model, a bag of words model, a BERT model, etc., which is not limited in this specification. In some embodiments, the second vector processing model can be the same as the first vector processing model. In some embodiments, the second vector processing model can be different from the first vector processing model.
[0074] Step 630 : Determine the scene vector based on the at least one first feature vector and the at least one second feature vector. Specifically, step 630 may be performed by the scene vector determination module 420 .
[0075] In step 630, the scene vector can be determined by concatenating the first eigenvector and the second eigenvector. The concatenation method can be rule-based concatenation, for example, in the form of "first eigenvector and second eigenvector" or "first eigenvector + second eigenvector". For another example, the first eigenvector and the second eigenvector can be first-order matrix arrays, which form a second-order determinant after concatenation. Specifically, the first eigenvector can be [a, b], and the second eigenvector can be [c, d], which form a second-order determinant after concatenation. In some embodiments, the splicing method may be a splicing method based on a vector processing model. For example, the first feature vector and the second feature vector are input into the vector processing model to obtain a spliced scene vector. The vector processing model may include a Word2Vec model, an ElMo model, a bag-of-words model, a BERT model, etc., which is not limited in this specification.
[0076] In some embodiments, the method for determining a scene vector may further include: inputting user information and text information into a vector processing model to determine the scene vector. Among them, the vector processing model can be one of a statistical model or a machine learning model, including but not limited to classification and logistic regression (Logistic Regression) model, k-nearest neighbor algorithm (K-Nearest Neighbor, kNN) model, Naive Bayes (Naive Bayes, NB) model, Support Vector Machine (SVM), Decision Tree (Decision Tree, DT) model, Random Forests (Random Forests, RF) model, Regression Tree (Classification and Regression Trees, CART) model, Gradient Boosting Decision Tree (Gradient Boosting Decision Tree, GBDT) model, xgboost (eXtreme Gradient Boosting), Light Gradient Boosting Machine (Light Gradient Boosting Machine, LightGBM), Gradient Boosting Machines (Gradient Boosting Machines, GBM), LASSO (Least Absolute Shrinkage and Selection Operator, LASSO), Artificial Neural Networks (Artificial Neural Networks, ANN) model, etc. The input of the vector processing model may be user information and text information, and the output of the vector processing model may be a scene vector. In some embodiments, the vector processing model may be obtained after training with user information and historical text information. The training process of the vector processing model may include: obtaining sample data. The sample data may include: user information and corresponding text information. In some embodiments, the training process of the vector processing model may also include: training the vector processing model with the user information and corresponding text information as input and the scene vector as an identifier.
[0077] The above embodiments have at least one of the following technical effects: (1) By vectorizing user information and text information through a vector processing model, data can be processed in batches to improve efficiency. (2) By vectorizing user information and text information through a vector processing model, feature vectors of user information and text information can be accurately extracted, thereby improving the accuracy of the user scenario determination model.
[0078] Figure 7 It is a flowchart of a method for determining a model training according to user scenarios shown in some embodiments of this specification.
[0079] like Figure 7 As shown, in some embodiments, the training method 700 of the user scenario determination model may include the following steps:
[0080] Step 710, obtaining one or more training samples. Specifically, step 710 may be performed by a training module.
[0081] In step 710, one or more training samples may be obtained. Each training sample may include a sample scenario vector and a sample user scenario corresponding to the sample scenario vector. In some embodiments, the training sample may be user history data or artificial simulation data. User history data may include questions that users have consulted and / or fed back to the server 110 and user scenarios of the corresponding questions determined. For example, scenario vectors and corresponding user scenarios in the past month when users gave satisfactory feedback. Artificial simulation data may include artificially simulated scenario vectors and user scenarios corresponding to the scenario vectors, and may also include scenario vectors simulated based on simulation data algorithms and user scenarios corresponding to the scenario vectors. In some embodiments, the simulation data algorithm may include an integrator, mock-api, mock-js, Monte Carlo method, cellular automaton, etc. In some embodiments, the training sample may be obtained from a database or other storage device, or through other interfaces.
[0082] The source and type of training samples can be the same as user information and text information. Figure 5 Step 510.
[0083] Step 720: training the user scenario determination model with the sample scenario vector as input and the sample user scenario as an identifier. Specifically, step 720 may be performed by a training module.
[0084] In step 720, the sample scenario vector is input into the user scenario determination model for training, and the sample user scenario corresponding to the sample scenario vector is used as an identifier to train the parameters of the user scenario determination model. When a certain preset condition is met, for example, the number of training samples reaches a predetermined number, and the prediction accuracy of the model is greater than a predetermined accuracy threshold, the training process will stop, and the trained model will be designated as the user scenario determination model.
[0085] In some embodiments, when the user scenario determination model is used for a certain period of time (e.g., one day, one week, one month) or user feedback meets certain conditions (e.g., the number of dissatisfied user feedback exceeds 100 times and the resolution rate is lower than a certain threshold), the user scenario determination model can be updated. Specifically, the training sample data can be updated by obtaining the scenario vectors and corresponding user scenario data when the user feedback is satisfied in the past month or the scenario vectors and corresponding user scenario data when the user feedback is satisfied in the last ten thousand cases; based on the updated training sample data, the user scenario determination model is trained to determine the parameters of the updated user scenario determination model.
[0086] The above embodiments have at least one of the following technical effects: (1) The accuracy of the user scene determination model can be improved by training scene vectors using user information and text information. (2) The user scene determination model can be updated regularly to further improve the accuracy of the user scene determination model.
[0087] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of the present application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements and amendments to the present application. Such modifications, improvements and amendments are suggested in the present application, so such modifications, improvements and amendments still belong to the spirit and scope of the exemplary embodiments of the present application.
[0088] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.
[0089] In addition, it will be appreciated by those skilled in the art that various aspects of the present application may be illustrated and described by a number of patentable categories or situations, including any new and useful process, machine, product or combination of substances, or any new and useful improvements thereto. Accordingly, various aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may all be referred to as "data blocks", "modules", "engines", "units", "components" or "systems". In addition, various aspects of the present application may be represented as a computer product located in one or more computer-readable media, which includes computer-readable program code.
[0090] A computer storage medium may include a propagated data signal containing computer program code, for example, in baseband or as part of a carrier wave. The propagated signal may be in a variety of forms, including electromagnetic, optical, etc., or a suitable combination. A computer storage medium may be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, device or apparatus to communicate, propagate or transmit the program for use. The program code on the computer storage medium may be transmitted via any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0091] The computer program coding required for the operation of each part of the application can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc. The program coding can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partly on the user's computer and partly on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).
[0092] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this application. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0093] Similarly, it should be noted that in order to simplify the description of the disclosure of this application and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this application, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the object of this application are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.
Claims
1. A method for determining a user scenario, comprising: Acquire user information and text information, wherein the user information at least includes user status information, and the user status information includes first status information and second status information, wherein the first status information is common status information indicating a working status or a vacation status, and the second status information is special status information indicating a complaint status, an inquiry status, or an order receiving status; Determining a scene vector based on the user information and the text information; as well as Determining a user scenario of the user by inputting the scenario vector into a user scenario determination model; Wherein, determining the scene vector based on the user information and the text information includes: Based on the user information, extracting at least one first feature vector corresponding to the user information; Based on the text information, extracting at least one second feature vector corresponding to the text information; and Based on the at least one first eigenvector and the at least one second eigenvector, the scene vector is determined.
2. The method according to claim 1, characterized in that The at least one first feature vector and the at least one second feature vector are input into a vector processing model to determine the scene vector.
3. The method according to claim 2, characterized in that The vector processing model is a machine learning model.
4. The method according to claim 1, characterized in that The user scenario determination model is obtained by the following training method: Acquire one or more training samples, wherein each training sample includes a sample scene vector and a sample user scene corresponding to the sample scene vector; The user scenario determination model is trained by taking the sample scenario vector as input and the sample user scenario as an identifier.
5. The method according to claim 1, characterized in that The user scenario determination model is a classification model.
6. A system for determining a user scenario, comprising: A data acquisition module, used to acquire user information and text information, wherein the user information at least includes user status information, and the user status information includes first status information and second status information, wherein the first status information is common status information indicating working status or vacation status, and the second status information is special status information indicating complaint status, inquiry status or order acceptance status; a scene vector determination module, configured to determine a scene vector based on the user information and the text information; and A user scenario determination module, configured to determine a user scenario of the user by inputting the scenario vector into a user scenario determination model; Wherein, the scene vector determination module is further used for: Based on the user information, extracting at least one first feature vector corresponding to the user information; Based on the text information, extracting at least one second feature vector corresponding to the text information; and Based on the at least one first eigenvector and the at least one second eigenvector, the scene vector is determined.
7. The system according to claim 6, characterized in that The user scenario determination model is obtained by the following training method: Acquire one or more training samples, wherein each training sample includes a sample scene vector and a sample user scene corresponding to the sample scene vector; The user scenario determination model is trained by taking the sample scenario vector as input and the sample user scenario as an identifier.
8. A device for determining a user scenario, the device comprising a processor and a memory; the memory is used to store instructions, characterized in that: When the instruction is executed by the processor, the device implements operations corresponding to the method for determining a user scenario as described in any one of claims 1 to 5.
9. A computer-readable storage medium, characterized in that: The storage medium stores computer instructions. When the computer reads the computer instructions in the storage medium, the computer runs the method for determining the user scenario as described in any one of claims 1 to 5.
