A service processing method and server
By receiving voice commands and identifiers from devices and utilizing a device capability information database to select target devices capable of performing business operations, the problem of voice control when devices lack functionality is solved, enabling multi-device collaborative work and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HISENSE VISUAL TECH CO LTD
- Filing Date
- 2022-08-23
- Publication Date
- 2026-06-09
AI Technical Summary
In AIoT smart homes, when devices lack the functionality corresponding to voice commands, voice control becomes less intelligent, hindering collaborative work between multiple devices and resulting in a poor user experience.
By receiving voice commands and identifiers from devices, the system uses a device capability information database to determine whether a device has the capability to perform a service. If a device does not have the capability, it selects another device to perform the service, thus achieving coordinated work among multiple devices.
It improves the intelligence of voice control in smart homes and enhances the user experience.
Smart Images

Figure CN115547321B_ABST
Abstract
Description
Technical Field
[0001] This application relates to smart home technology. More specifically, it relates to a business processing method and a server. Background Technology
[0002] In the AI-powered smart home control business, users can issue voice commands to devices to execute corresponding functions.
[0003] However, due to limitations in the device's own capabilities, it may not be able to execute the functions corresponding to voice commands, resulting in a lack of intelligence in voice control. For example, while cooking in the kitchen, a user might say to the oven, "Play Andy Lau's songs." If the oven has a music playback function, it will play the song according to the voice command. If the oven does not have this function, it will play a voice prompt saying, "Sorry, this command is not currently supported." Therefore, when a device lacks the functionality corresponding to a voice command, it cannot achieve collaborative work between multiple devices, resulting in a lack of intelligence in voice control, making it feel stiff, unfriendly, and leading to a poor user experience. Summary of the Invention
[0004] To address, or at least partially address, the aforementioned technical problems, this application provides a business processing method and a server that can resolve the issue of insufficient intelligence in voice control and poor user experience when the device lacks the functionality corresponding to voice commands.
[0005] In a first aspect, embodiments of this application provide a service processing method applied to a server. The method includes: receiving a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; identifying a first service indicated by the first voice command; determining whether the first device has the capability to perform the first service based on a device capability information database and the first device identifier, wherein the device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier, each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier; if the first device does not have the capability to perform the first service, determining a target device identifier with the capability to perform the first service from the multiple device identifiers based on the device capability information database, the target device identifier being used to indicate the target device; and sending a first control command to the target device, the first control command being used to instruct the target device to perform the first service.
[0006] Secondly, this application provides a service processing apparatus, comprising: a receiving module, an identification module, a determining module, and a sending module; the receiving module is configured to receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; the identification module is configured to identify a first service indicated by the first voice command; the determining module is configured to determine whether the first device has the capability to perform the first service based on a device capability information database and the first device identifier, wherein the device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier, each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier; the determining module is further configured to, if the first device does not have the capability to perform the first service, determine a target device identifier with the capability to perform the first service from the multiple device identifiers based on the device capability information database, wherein the target device identifier is used to indicate the target device; the sending module is configured to send a first control command to the target device, wherein the first control command is used to instruct the target device to perform the first service.
[0007] Thirdly, this application provides a server, including: a communicator configured to receive or send information; and a controller configured to: receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; identify a first service indicated by the first voice command; determine whether the first device has the capability to perform the first service based on a device capability information database and the first device identifier, wherein the device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier, each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier; if the first device does not have the capability to perform the first service, determine a target device identifier with the capability to perform the first service from the multiple device identifiers based on the device capability information database, the target device identifier being used to indicate the target device; and send a first control command to the target device, the first control command being used to instruct the target device to perform the first service.
[0008] Fourthly, this application provides a computer-readable storage medium, comprising: storing a computer program on the computer-readable storage medium, wherein when the computer program is executed by a processor, it implements the business processing method as shown in the first aspect.
[0009] Fifthly, this application provides a computer program product, characterized in that it includes: when the computer program product is run on a computer, causing the computer to implement the business processing method as shown in the first aspect.
[0010] Compared with the prior art, the technical solution provided in this application has the following advantages: In this application embodiment, a first voice command and a first device identifier are received from a first device. The first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device. The first service indicated by the first voice command is identified. Based on a device capability information database and the first device identifier, it is determined whether the first device has the capability to perform the first service. The device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier. Each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier. If the first device does not have the capability to perform the first service, a target device identifier with the capability to perform the first service is determined from the multiple device identifiers based on the device information database. The target device identifier is used to indicate the target device. A first control command is sent to the target device, which is used to instruct the target device to perform the first service. Thus, when the first device does not have the capability to perform the first service, instead of simply broadcasting a voice prompt indicating that the first device does not have the capability, the system intelligently selects a target device with the capability to perform the first service from the account corresponding to the first device to perform the first service. Multiple devices work in coordination, making the voice control of smart homes more intelligent and improving the user experience. Attached Figure Description
[0011] To more clearly illustrate the implementation methods in the embodiments of this application or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0012] Figure 1 A scenario architecture diagram of the business processing methods in some embodiments is shown;
[0013] Figure 2 Hardware configuration block diagrams of the control device are shown in some embodiments;
[0014] Figure 3 A hardware configuration block diagram of a voice interaction device in some embodiments is shown;
[0015] Figure 4 A software configuration diagram of a voice interaction device in some embodiments is shown;
[0016] Figure 5 One of the flowcharts of a business processing method according to some embodiments is shown;
[0017] Figure 6 One of the schematic diagrams illustrates data stored in a device capability information database according to some embodiments;
[0018] Figure 7 A schematic diagram illustrating interaction between multiple devices according to some embodiments is shown;
[0019] Figure 8 A second schematic flowchart of a business processing method according to some embodiments is shown;
[0020] Figure 9 A third flowchart illustrating a business processing method according to some embodiments is shown;
[0021] Figure 10 A second schematic diagram illustrates the data stored in the device capability information database according to some embodiments;
[0022] Figure 11 A third schematic diagram illustrates the data stored in the device capability information database according to some embodiments;
[0023] Figure 12 A fourth flowchart illustrating a business processing method according to some embodiments is shown;
[0024] Figure 13 The fifth flowchart illustrates a business processing method according to some embodiments;
[0025] Figure 14 A flowchart of a business processing method according to some embodiments is shown as diagram six;
[0026] Figure 15 A schematic diagram of the structure of a service processing apparatus according to some embodiments is shown. Detailed Implementation
[0027] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.
[0028] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0029] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0030] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0031] The server provided in this application can have various implementation forms, such as a locally built server or a cloud server.
[0032] Figure 1 This is a schematic diagram of the scenario architecture for the business processing method provided in the embodiments of this application. Figure 1 As shown in the embodiment of this application, the scenario architecture includes: a server 100 and a voice interaction device 200.
[0033] The voice interaction device 200 provided in this application embodiment can have various implementation forms, such as smart speakers, televisions, refrigerators, washing machines, air conditioners, smart curtains, routers, set-top boxes, mobile phones, personal computers (PCs), smart TVs, laser projection devices, monitors, electronic bulletin boards, wearable devices, in-vehicle devices, electronic tables, etc.
[0034] In some embodiments, when the voice interaction device 200 receives a user's voice command, it can communicate with the server 100. The voice interaction device 200 may communicate with the server 100 via a local area network (LAN) or a wireless local area network (WLAN).
[0035] Server 100 can be a server that provides various services, such as a server that supports audio data collected by terminal device 200. The server can analyze and process the received audio and other data, and feed back the processing results (such as endpoint information) to the terminal device. Server 100 can be a server cluster or multiple server clusters, and can include one or more types of servers.
[0036] The voice interaction device 200 can be either hardware or software. When the voice interaction device 200 is hardware, it can be various electronic devices with sound acquisition capabilities, including but not limited to smart speakers, smartphones, televisions, tablets, e-book readers, smartwatches, media players, computers, AI devices, robots, smart vehicles, etc. When the voice interaction device 200 is software, it can be installed in the electronic devices listed above. It can be implemented as multiple software programs or software modules (e.g., used to provide sound acquisition services) or as a single software program or software module. No specific limitations are made here.
[0037] It should be noted that the business processing method provided in this application embodiment can be executed by the server 100, or by the voice interaction device 200, or by both the server 100 and the voice interaction device 200. This application does not limit this.
[0038] Figure 2 A hardware configuration block diagram of a voice interaction device 200 according to an exemplary embodiment is shown. Figure 2 The voice interaction device 200 shown includes at least one of the following: a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface 280. The controller includes a central processing unit, an audio processor, RAM, ROM, and a first to an nth interface for input / output.
[0039] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The voice interaction device 200 can establish the transmission and reception of control signals and data signals through the communicator 220 and server 100.
[0040] User interface 280 can be used to receive external control signals.
[0041] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0042] A sound acquisition device can be a microphone, also known as a "microphone" or "voice transducer," which can be used to receive the user's voice and convert the sound signal into an electrical signal. The voice interaction device 200 can be equipped with at least one microphone. In some embodiments, the voice interaction device 200 can be equipped with two microphones, which, in addition to acquiring sound signals, can also perform noise reduction. In other embodiments, the voice interaction device 200 can also be equipped with three, four, or more microphones, enabling sound signal acquisition, noise reduction, sound source identification, and directional recording functions, etc.
[0043] Furthermore, the microphone can be built into the voice interaction device 200, or it can be connected to the voice interaction device 200 via wired or wireless means. Of course, this embodiment does not limit the location of the microphone on the voice interaction device 200. Alternatively, the voice interaction device 200 may not include a microphone, meaning the microphone is not located within the voice interaction device 200. The voice interaction device 200 can connect an external microphone (also called a microphone) via an interface (such as USB interface 130). This external microphone can be fixed to the voice interaction device 200 using an external fastener (such as a camera bracket with a clip).
[0044] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the voice interaction device 200.
[0045] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, RAM (random access memory), ROM (read-only memory), a first to an nth interface for input / output, a communication bus, etc.
[0046] In some examples, the smart device uses the Android operating system, such as... Figure 3 As shown, the voice interaction device 200 can be logically divided into an application layer (referred to as "application layer") 21, a kernel layer 22, and a hardware layer 23.
[0047] Among them, such as Figure 3 As shown, the hardware layer may include Figure 2The controller 250, communicator 220, detector 230, etc., are shown. Application layer 21 includes one or more applications. These applications can be system applications or third-party applications. For example, application layer 21 includes a speech recognition application, which can provide a voice interaction interface and services for connecting the voice interaction device 200 to the server 100.
[0048] The kernel layer 22 serves as a software middleware between the hardware layer and the application layer 21, and is used to manage and control hardware and software resources.
[0049] In some examples, kernel layer 22 includes a detector driver that sends voice data collected by detector 230 to a speech recognition application. For instance, when the speech recognition application in voice interaction device 200 starts and a communication connection is established between voice interaction device 200 and server 100, the detector driver sends user-input voice data collected by detector 230 to the speech recognition application. The speech recognition application then sends query information containing this voice data to intent recognition module 202 in the server. Intent recognition module 202 inputs the voice data sent by voice interaction device 200 into the intent recognition model.
[0050] To clearly illustrate the embodiments of this application, the following description is provided in conjunction with... Figure 4 This application describes a speech recognition network architecture provided in its embodiments.
[0051] See Figure 4 , Figure 4 This is a schematic diagram of a voice interaction network architecture provided in an embodiment of this application. Figure 4 In this system, the voice interaction device receives input information and outputs the processing results of that information. The speech recognition module deploys a speech recognition service to convert audio into text; the semantic understanding module deploys a semantic understanding service to perform semantic parsing on the text; the business management module deploys a business instruction management service to provide business instructions; the language generation module deploys a language generation service (NLG) to convert instructions instructing the voice interaction device to execute into text language; and the speech synthesis module deploys a text-to-speech (TTS) service to process the text language corresponding to the instructions and send it to the speaker for playback. In one embodiment, Figure 4 The architecture shown can contain multiple entity service devices with different business services deployed, or it can combine one or more functional services in one or more entity service devices.
[0052] In some embodiments, the following describes the basis Figure 4 The process of processing information input to a voice interaction device in the architecture shown is described with an example, taking voice commands input via voice as an example:
[0053] [Speech Recognition]
[0054] After receiving a voice command input via voice, the voice interaction device can perform noise reduction processing and feature extraction on the audio of the voice command. The noise reduction processing may include steps such as removing echoes and environmental noise.
[0055] [Semantic understanding]
[0056] Using acoustic and language models, natural language understanding is performed on the identified candidate text and associated contextual information. The text is parsed into structured, machine-readable information, including business domain, intent, slots, and other semantic information. An executable intent confidence score is obtained, and the semantic understanding module selects one or more candidate executable intents based on the determined intent confidence score.
[0057] [Business Management]
[0058] Based on the semantic parsing results of the voice command text, the semantic understanding module issues execution instructions to the corresponding business management module to execute the operation corresponding to the voice command, complete the user's request for this operation, and provide feedback on the execution result of the operation corresponding to the voice command.
[0059] like Figure 5 As shown, this application embodiment provides a business processing method. The following description uses a server as the executing entity to illustrate the business processing method provided in this application embodiment. The method may include steps 501 to 505 as described below.
[0060] 501. Receive the first voice command and the first device identifier sent by the first device.
[0061] The first voice command is a voice command received by the first device from the user, and the first device identifier is used to indicate the first device.
[0062] It's understandable that the user issues a voice command to the first device, which then sends the received voice command to the server. For example, if the user says to the oven, "Play Andy Lau's songs," then the first device is the oven, and the first voice command is "Play Andy Lau's songs."
[0063] It is understood that the first device identifier is the unique identifier of the first device. For example, if the first device is a refrigerator, the identifier corresponding to the refrigerator can be the brand and model of the refrigerator, or the refrigerator identification code, or any identifier that can uniquely identify the refrigerator. The specific identifier is determined according to the actual situation, and this application embodiment does not limit it.
[0064] It is understood that the identifier of the first device may also be included in the first voice command (e.g., "Oven" can be used as the device identifier if "Oven plays Andy Lau's songs"), or the identifier of the first device may also be stored in the server. The specific method is determined according to the actual situation, and this application embodiment does not limit it.
[0065] 502. Identify the first service indicated by the first voice command.
[0066] It can be understood that the first service is the instruction included in the first voice command to instruct the device to perform a certain service. For example, if the first voice command is "play Andy Lau's song", then the first service is to play the song.
[0067] 503. Based on the equipment capability information database and the first equipment identifier, determine whether the first equipment has the capability to perform the first service.
[0068] The device capability information database includes multiple device identifiers and the device capabilities corresponding to each device identifier. Each device identifier is used to indicate devices belonging to the same account as the first device. The multiple device identifiers include the first device identifier.
[0069] It is understandable that the device capability information database stores multiple accounts and at least one device identifier under each account, and each device identifier includes the device capabilities that the device indicated by the device identifier possesses.
[0070] For example, a device capability information database such as Figure 6 As shown, the devices included under Account 1 are: TV, air conditioner, oven, refrigerator, and speaker. The business capabilities of the devices are marked with "√" to indicate that the device has the business capability, and marked with "×" to indicate that the device does not have the business capability. For example, the air conditioner of Account 1 has the business capabilities of: music service, weather service, and encyclopedia service, and does not have the business capabilities of: movie service and radio service.
[0071] 504. If the first device does not have the capability to perform the first service, the target device identifier that has the capability to perform the first service shall be determined from multiple device identifiers based on the device capability information database.
[0072] The target device identifier is used to indicate the target device.
[0073] It is understandable that, by using the device capability information database, if it is determined that the first device has the capability to perform the first service, a control command is sent to the first device to instruct it to perform the first service. Upon receiving the control command, the first device performs the first service. If the first device does not have the capability to perform the first service, the database is searched for the identifier of a target device with the capability to perform the first service under the account corresponding to the first device. For example... Figure 6As shown, the first device is an oven, and the first voice command is to play a song by Andy Lau. Based on the device capability information database, it is determined that the oven does not have the ability to play songs. The target device identifier with the ability to play songs is searched from multiple device identifiers. The determined target device identifier can be a TV, air conditioner, refrigerator, or stereo.
[0074] It is understood that the target device identifier capable of performing the first service is determined from multiple device identifiers. If only one device identifier capable of performing the first service is determined from multiple device identifiers, then that device identifier is determined as the target device identifier. If multiple device identifiers capable of performing the first service are determined from multiple device identifiers, then one device identifier can be randomly selected from the multiple device identifiers capable of performing the first service as the target device identifier. Alternatively, the device identifier of the device closest to the first device can be selected from the multiple device identifiers capable of performing the first service as the target device identifier. Another option is to select the device identifier of the device that performs the first service the most times from the multiple device identifiers capable of performing the first service as the target device identifier. Yet another option is to select the device identifier of the first device capable of performing the first service according to the sorting of the device capability information database as the target device identifier. Still another option is to determine the target device identifier from the multiple device identifiers capable of performing the first service based on user selection. The specific determination is based on actual needs, and this application embodiment does not limit the specific determination.
[0075] It is understandable that, based on user selection, the target device identifier is determined from multiple device identifiers capable of performing the first service. The specific process is as follows: a voice prompt is generated based on the multiple device identifiers capable of performing the first service, and this voice prompt is sent to the first device. The first device is then controlled to play the voice prompt containing the multiple device identifiers. The first device receives a voice command from the user containing the target device identifier selected from the multiple device identifiers, and sends this voice command to the server. The server parses the command to obtain the target device identifier, thus determining that the target device identifier will perform the first service. For example, if an oven does not have the ability to play songs, and the device capability information database determines that a TV, air conditioner, refrigerator, and stereo have the ability to play songs, then the generated voice prompt would be, "Sorry, the oven does not have the function of playing songs. You can choose to use the TV, air conditioner, refrigerator, or stereo to play songs." If the user selects "play with stereo," the voice command is sent to the server. The server parses the command to determine that the stereo will play songs, and then sends a control command to the stereo to control it to perform the song playback service.
[0076] 505. Send a first control command to the target device. The first control command is used to instruct the target device to perform a first service.
[0077] It can be understood that the first control instruction is used to instruct the target device to perform the first service. That is, the server sends the first control instruction to the target device to control the target device to perform the first service. For example, if the target device is a refrigerator, the first control instruction sent by the server to the refrigerator is "play Andy Lau's songs". When the refrigerator receives the first control instruction, it searches for and plays any of Andy Lau's songs.
[0078] For example, such as Figure 7 As shown, if a user issues a voice command to oven 301 in the kitchen to "play Andy Lau's songs", server 300 determines based on device capability information database 302 that oven does not have the capability to perform music services. Server 300 determines based on device capability information database 302 that there are microwave oven 303 and refrigerator 304 online devices in the kitchen, and that refrigerator 304 has the capability to perform music services. Server 300 then issues a control command to refrigerator 304 to control refrigerator to play Andy Lau's songs.
[0079] In this embodiment, a first voice command and a first device identifier are received from a first device. The first voice command is a voice command received by the first device from a user, and the first device identifier is used to instruct the first device. The system identifies a first service indicated by the first voice command. Based on a device capability information database and the first device identifier, it determines whether the first device has the capability to perform the first service. The device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier. Each device identifier indicates a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier. If the first device does not have the capability to perform the first service, a target device identifier with the capability to perform the first service is determined from the multiple device identifiers based on the device information database. The target device identifier is used to instruct the target device. A first control command is sent to the target device, instructing the target device to perform the first service. Thus, when the first device does not have the capability to perform the first service, instead of simply broadcasting a voice prompt indicating that the first device lacks the capability, the system intelligently selects a target device with the capability to perform the first service from the account corresponding to the first device to perform the first service. This allows multiple devices to work in coordination, making voice control in smart homes more intelligent and improving the user experience.
[0080] In some embodiments of this application, combined with Figure 5 ,like Figure 8 As shown, step 504 above can be implemented through steps 504a and 504b below.
[0081] 504a. Based on the equipment capability information database, determine multiple candidate equipment identifiers that have the capability to perform the first service from multiple equipment identifiers.
[0082] 504b. Determine the target device identifier from multiple candidate device identifiers.
[0083] It is understood that determining the target device identifier from multiple candidate device identifiers can be done in several ways: selecting any one device identifier from the multiple candidate device identifiers; selecting the device identifier of the device closest to the first device from the multiple candidate device identifiers; selecting the device identifier of the device that executes the first service the most times from the multiple candidate device identifiers; selecting the device identifier of the first device found to be capable of executing the first service according to the sorting of the device capability information database; or determining the target device identifier from multiple candidate device identifiers based on user selection. The specific determination depends on actual needs and is not limited in the embodiments of this application.
[0084] In this embodiment, based on a device capability information database, multiple candidate device identifiers with the capability to perform a first service are determined from multiple device identifiers, and a target device identifier is determined from these candidate device identifiers. Therefore, by determining that devices corresponding to multiple candidate device identifiers have the capability to perform the first service based on the device capability information database, the target device identifier can be determined from the multiple candidate device identifiers through different selection methods. This selection method is more flexible and can be set based on user preferences, further improving the user experience.
[0085] In some embodiments of this application, combined with Figure 8 ,like Figure 9 As shown, the device information capability library also includes: target information, which includes at least one of the following: the location of the device indicated by each device identifier, and the frequency at which the device performs the corresponding service indicated by each device identifier; the above step 504b can be specifically implemented through the following step 504c.
[0086] 504c. Based on the target information, determine the target device identifier from multiple candidate device identifiers.
[0087] Wherein, when the target information includes the location of the device indicated by each device identifier, the distance between the location of the target device and the location of the first device is less than or equal to a distance threshold, or the location of the target device and the location of the first device belong to the same preset area; when the target information includes the frequency at which the device performs the corresponding service indicated by each device identifier, the frequency at which the target device performs the first service is greater than or equal to a frequency threshold.
[0088] It is understood that the location of the device indicated by each device identifier can be determined by taking one of the devices in the account to which the first device belongs as a reference point, and the location of other devices as the straight-line distance from the reference point. Alternatively, it can be determined by dividing all devices under the same account as the first device into preset areas, with each preset area including at least one device (e.g., preset areas can be divided according to rooms, and devices in the same room can be assigned to the same preset area). The specific location is determined according to the actual situation, and this application embodiment does not limit it.
[0089] It is understood that the distance between the location of the target device and the location of the first device is less than or equal to a distance threshold. The distance threshold can be a fixed value, or it can be the target device that is closest to the first device determined from multiple candidate devices, and the distance between the target device and the first device is used as the distance threshold. The specific value is determined according to the actual situation, and this application embodiment does not limit it.
[0090] It is understood that when the distance threshold is a fixed value and there are multiple devices whose distance is less than or equal to the distance threshold, the target device can be any one of the multiple devices, or it can be determined from multiple devices based on user selection, or it can be the device that performs the first service the most times among multiple devices. The specific determination depends on the actual situation, and this application embodiment does not limit it.
[0091] It is understandable that the location of the target device and the location of the first device belong to the same preset area, such as: preset areas are defined according to different rooms, such as... Figure 10 As shown, the equipment capability information database stores equipment identifiers, the room where the equipment is located, and the frequency of the equipment performing a certain service in a table format. The TV and the stereo both belong to room number 1, meaning that the TV and the stereo are in the same preset area. The oven and the refrigerator both belong to room number 2, meaning that the oven and the refrigerator are in the same preset area.
[0092] For example, such as Figure 10 As shown, a user in the kitchen tells the oven to "play Andy Lau's songs." The oven itself doesn't have the ability to play songs, but the TV, air conditioner, refrigerator, and stereo all do. Based on the oven's location, the refrigerator, which is in the same room as the oven, is chosen to play the song (thus, when the oven doesn't support music services, a candidate device in the same room that does support music services is selected, making it more intelligent and user-friendly). Alternatively, based on the frequency of executing music services, the stereo, which executes music services most frequently, is chosen to play the song.
[0093] For example, such as Figure 11As shown, the equipment capability information database stores the identifiers of each room (kitchen, living room, bedroom), the equipment included in each room, the business capabilities of each device, and the historical voice commands (voice command 1, voice command 2, etc.) within a preset time period in a tree structure.
[0094] It is understood that the target information may also include the location of the device indicated by each device identifier and the frequency at which the device indicated by each device identifier performs the corresponding service. The target device is a device whose distance from the first device is less than or equal to a distance threshold and whose frequency of performing the first service is greater than or equal to a frequency threshold. Alternatively, the target device is a device that belongs to the same preset area as the first device and whose frequency of performing the first service is greater than or equal to a frequency threshold.
[0095] In this embodiment, a target device identifier is determined from multiple candidate device identifiers based on target information. Specifically, when the target information includes the location of the device indicated by each device identifier, the distance between the target device's location and the location of the first device is less than or equal to a distance threshold, or the location of the target device and the location of the first device belong to the same preset area. When the target information includes the frequency at which each device identifier indicates the frequency at which the device performs the corresponding service, the frequency at which the target device performs the first service is greater than or equal to a frequency threshold. Therefore, from multiple candidate devices, devices that perform the first service at a frequency greater than or equal to the frequency threshold, or devices whose distance to the first device is less than or equal to the distance threshold, or devices whose frequency at the first service is greater than or equal to the frequency threshold and whose distance to the first device is less than or equal to the distance threshold (or devices within the same preset area) can be selected. This intelligent selection of the target device better aligns with user habits or usage scenarios, making smart homes more intelligent and providing a better user experience.
[0096] In some embodiments of this application, step 504b can be specifically implemented by steps 504d to 504h.
[0097] 504d. Generate voice prompts based on multiple candidate device identifiers.
[0098] The voice prompts are used to instruct users to select the device from multiple candidate device identifiers to perform the first service.
[0099] It is understood that a voice prompt is generated based on multiple candidate device identifiers. The voice prompt includes multiple candidate device identifiers and may also include other information. The specific implementation of this application is not limited. For example, if the first device is an oven, the candidate devices are a TV, a refrigerator, or a stereo, and the first service is a music service, the prompt would be "Sorry, the oven does not have the function of playing songs. You can choose to use the TV, refrigerator, or stereo to play songs."
[0100] It's understandable that, based on multiple candidate device identifiers, before generating voice prompts, the identifiers of these devices are sorted in descending order of frequency of performing the first service. This way, in the generated voice prompts, the identifier of the most frequently used device is prioritized. If the user decides to use the first device identified, they don't need to pay attention to subsequent device identifiers; they can issue a command to select the first device to perform the music service upon hearing the first device identifier, saving voice interaction time and improving efficiency. For example, if the identified candidate device identifiers are: TV, refrigerator, stereo, and range hood, and are reordered based on the frequency of performing the first service, resulting in: stereo, TV, refrigerator, range hood, the voice prompt would be "Sorry, the oven does not currently support music services, would you like to play music on the stereo…". If the user decides to play a song on the stereo, they can interrupt the voice prompt and issue the command "play music on stereo" before the subsequent voice prompts begin, saving voice interaction time and making voice interaction more efficient.
[0101] 504e, Send a second control command to the first device.
[0102] The second control command is used to instruct the first device to play a voice prompt, and the second control command carries the voice prompt.
[0103] It is understandable that the server sends a second control command to the first device to make the first device play a voice prompt, which the user uses to select the target device based on the prompt.
[0104] 504f, Receive the second voice command sent by the first device.
[0105] The second voice command is a user voice command based on a voice prompt received by the first device.
[0106] It is understandable that the second voice command is the voice command by which the user selects the target device based on the voice prompts played by the first device.
[0107] 504g, Recognize the second voice command and determine the device executing the first service as the target device.
[0108] It is understandable that the server receives the second voice command and uses semantic parsing to determine the target device for executing the first service as indicated in the second voice command.
[0109] 504h, Determine the target device identifier corresponding to the target device.
[0110] It is understood that the frequency at which the target device performs the first service is greater than or equal to a frequency threshold. The frequency threshold can be a fixed value, or it can be determined by the frequency of the device with the highest frequency of performing the first service among multiple candidate devices. The specific determination depends on the actual situation, and this application embodiment does not limit it.
[0111] In this embodiment, a voice prompt is generated based on multiple candidate device identifiers. The voice prompt instructs the user to select a device from the devices indicated by the multiple candidate device identifiers to perform the first service. A second control command is sent to the first device, instructing the first device to play the voice prompt, and the second control command carries the voice prompt. A second voice command is received from the first device, which is a user voice command received by the first device based on the voice prompt. The second voice command is recognized to determine that the device performing the first service is the target device. The target device identifier corresponding to the target device is determined. Thus, when there are multiple candidate devices, the target device can be determined according to the user's selection. Compared to simply broadcasting a prompt that the device does not have the ability to perform the first service, providing other devices that can perform the first service for the user to choose from in the prompt is more intelligent and can select a device that better meets the user's expectations to perform the first service.
[0112] For example, such as Figure 12 The diagram shown is an exemplary flowchart illustrating how the server controls the coordinated operation of various devices in a smart home after a user issues a command, including steps 901 to 911.
[0113] 901. Receive voice commands sent by device 1.
[0114] 902. The device 1 identifier and service 1 are obtained through parsing.
[0115] It is understandable that word analysis is the foundation and key to information processing, and word segmentation is also the first step and core technology of natural language processing. For example, rule-based word segmentation methods, based on a lexicon, first use the forward maximum matching algorithm to segment words. For instance, "play Liu Dehua's songs" is segmented into "kitchen", "oven", "play", "Liu Dehua", "of", and "songs". Then, part-of-speech tagging is performed, assigning a correct part of speech to each word in the segmentation results, that is, determining whether each word is a noun, verb, adjective, or other part of speech. For example, the segmented and tagged results of "play Liu Dehua's songs" are: {play-play[actionPlay]}, {Liu Dehua-Liu Dehua[music_person]}, {of-of[funcDe]}, {songs-songs[musicAttr]}. Then, through statistical and rule-based methods, a dependency syntax tree corresponding to the intent is generated. The input word list is syntactically matched sentence by sentence, and the successfully matched list is weighted and the most suitable intent is extracted as the result.
[0116] 903. Based on the equipment capability information database, determine whether equipment 1 has the capability to execute business 1.
[0117] If yes, execute 905; otherwise, execute 904.
[0118] 904. Generate TTS: "Sorry, device 1 does not currently support service 1."
[0119] As can be understood, text-to-speech (TTS) means that the input is text and the output is a speech waveform.
[0120] 905. Issue a control command to device 1 to execute service 1.
[0121] 906. Based on the equipment capability information database, determine whether there are other devices that have the capability to perform business 1.
[0122] If yes, execute 907; otherwise, execute 908.
[0123] 907. Determine that equipment 2, equipment 3, and equipment 4 have the capability to perform business 1.
[0124] 908. Send the TTS generated in step 904 to device 1 and control device 1 to play "Sorry, device 1 does not currently support service 1".
[0125] 909. Based on the equipment capability information database, determine whether there is any equipment in the same preset area as equipment 1.
[0126] If yes, execute 910; otherwise, execute 908.
[0127] 910. Determine that equipment 2, equipment 3 and equipment 1 are in the same preset area.
[0128] 911. Based on the equipment capability information database, select equipment 2 from equipment 2 and equipment 3 that performs business 1 more frequently.
[0129] 912. Issue a control command to device 2 to execute service 1.
[0130] Optionally, combined Figure 12 ,like Figure 13 As shown, after step 907 above, coordinated control of each device can also be achieved through steps 913 to 917 below.
[0131] 913. The generated TTS states: "You can choose device 2, device 3 or device 4 to perform service 1."
[0132] 914. Combining the TTS generated in steps 904 and 913, we get the message: "Sorry, device 1 does not currently support service 1. You can choose device 2, device 3, or device 4 to execute service 1."
[0133] 915. Send the TTS obtained in step 914 to device 1 and control device 1 to play "Sorry, device 1 does not currently support service 1. You can choose device 2, device 3 or device 4 to perform service 1".
[0134] 916. Receive the instruction from the user to select device 4 to execute service 1.
[0135] 917. Issue a control command to device 4 to execute service 1.
[0136] In some embodiments of this application, before step 504d, the method of this application embodiment further includes step 506. Step 504d can be implemented by step 507. Step 504b can be implemented by steps 504i to 504j.
[0137] 506. Determine whether a third voice command has been received within a preset time period before the first voice command is received.
[0138] The third voice command is used to instruct the first service.
[0139] 507. If no third voice command is received within a preset time period prior to receiving the first voice command, a voice prompt is generated based on multiple candidate device identifiers.
[0140] 504i. If it is determined that a third voice command is received within a preset time period before the first voice command is received, a second device that performs the first service based on the third voice command is obtained.
[0141] 504j. Determine the second device identifier corresponding to the second device as the target device identifier.
[0142] It is understood that the preset duration is determined according to actual needs, and can be one day, one month, etc., but this application does not limit the specific duration.
[0143] It is understandable that within a preset time period before the server receives the first voice command, the first device receives the third voice command issued by the user. The third voice command is used to instruct the first service. Based on the target information or the user's selection, the device that performs the first service is determined to be the second device. When the server receives the first voice command from the user to instruct the first service again, it is not necessary to determine the device that performs the first service again based on the target information or the user's selection. Instead, the second device that performed the first service last time is determined as the target device.
[0144] For example, a user gives the voice command "Play Andy Lau's songs" to an oven. The oven doesn't have the function to play songs. The system determines from the device function information database that devices with music services include a TV, refrigerator, or stereo. Based on the candidate device identifier, it generates a voice command for the user to choose from: "Sorry, the oven does not have the function to play songs. You can choose to use the TV, refrigerator, or stereo to play songs." The user chooses to use the refrigerator. Based on the user's choice, the server controls the refrigerator to play Andy Lau's songs. Within a preset time, the user again gives the voice command "Play Jay Chou's songs" to the oven. The server receives the voice command "Play Jay Chou's songs" and, without asking the user again, directly sends a control command to the refrigerator to play Jay Chou's songs. Thus, there's no need to determine the target device identifier again based on the target information, or generate another voice prompt for the user to choose from. For situations where the same service needs to be performed within a preset time, multiple rounds of question-free operation are achieved, making the device more intelligent and providing a better user experience.
[0145] It is understandable that if the server does not receive the third voice instruction within a preset time period before receiving the first voice instruction, that is, before receiving the first voice instruction, the device identifier for executing the first service is not determined, then a voice instruction including multiple candidate device identifiers is generated for the user to choose from, and the target device identifier is determined based on the user's selection.
[0146] In this embodiment, it is determined whether a third voice command has been received within a preset time period prior to receiving the first voice command. The third voice command is used to instruct a first service. If it is determined that no third voice command has been received within the preset time period prior to receiving the first voice command, a voice prompt is generated based on multiple candidate device identifiers. If it is determined that a third voice command has been received within the preset time period prior to receiving the first voice command, a second device executing the first service based on the third voice command is obtained, and the second device identifier corresponding to the second device is determined as the target device identifier. Thus, when a third voice command instructing the first service has been received within the preset time period prior to receiving the first voice command, and the second device executing the first service has been confirmed based on the third voice command, when the first voice command is received, there is no need to determine the device executing the first service again based on target information or user selection. Instead, the second device is determined as the target device, and the second device is controlled to execute the first service. This eliminates the need for multiple rounds of confirmation or multiple inquiries to the user, achieving multi-round inquiry-free operation, making smart homes more intelligent and providing a better user experience.
[0147] In some embodiments of this application, combined with Figure 5 ,like Figure 14 As shown, after step 505 above, the method of this application embodiment further includes steps 508 to 511 below.
[0148] 508. Receive user location information sent by a third device.
[0149] Among them, the user location information is used to indicate the first location.
[0150] It is understood that the third device can be a terminal device (such as a mobile phone, a watch with positioning function, etc.), a camera, an infrared device, etc. The third device obtains the user's location information and sends the location information to the server. The third device can send the user's location information once every preset time interval, or it can send the user's location information once when the third device determines that the user's location information has changed. The specific method is determined according to the actual situation, and this application embodiment does not limit it.
[0151] 509. When the distance between the first position and the second position is greater than or equal to the first position threshold or the first position and the second position belong to different preset areas, the first relay identifier is determined from multiple candidate device identifiers.
[0152] The first relay identifier is used to indicate the first relay device, and the second location is the location of the user when the first device receives the first voice command.
[0153] It is understood that the size of the first position threshold is determined according to the actual situation, and this application embodiment does not limit it; the first position and the second position belong to different preset areas. For example, if the preset areas are divided according to the rooms, and the user moves from one room (second position) to another room (first position), then the two positions are determined to belong to different preset areas.
[0154] 510. Obtain the execution progress of the first service performed by the target device.
[0155] 511. Send the third control command to the first relay device.
[0156] The third control command is used to instruct the first relay device to continue performing the first service based on the execution progress.
[0157] It is understandable that the execution progress of the first service can be a time node. The server controls the first relay device to continue executing the first service from that time node (third control instruction), while controlling the target device to stop executing the first service. For example, if a user moves from room 1 to room 2, and the progress of the song being played on the refrigerator (target device) in room 1 reaches 2 minutes and 23 seconds, then the speakers in room 2 (first relay device) will turn on and continue playing the current song from 2 minutes and 23 seconds, while the refrigerator in room 1 will stop playing the song. The execution progress of the first service can also be an execution state. The server controls the first relay device to continue in that state (third control instruction), while controlling the target device to stop executing the first service. For example, if a user moves from room 1 to room 2, and the air conditioner (target device) in room 1 is set to 26 degrees Celsius with low fan speed, then the air conditioner (first relay device) in room 2 will turn on and its state will also be set to 26 degrees Celsius with low fan speed, while the air conditioner in room 1 will turn off.
[0158] In this embodiment, user location information sent by a third device is received, which indicates a first location. If the distance between the first and second locations is greater than or equal to a first location threshold, or if the first and second locations belong to different preset areas, a first relay identifier is determined from multiple candidate device identifiers. This first relay identifier indicates a first relay device, and the second location is the user's location when the first device receives the first voice command. The execution progress of the first service executed by the target device is obtained. A third control command is sent to the first relay device, instructing it to continue executing the first service based on the execution progress. This enables relay execution of the first service between devices in different locations. For example, if a user is listening to audiobooks on a refrigerator in the kitchen, and then moves to the living room, the refrigerator stops playing, and the living room speakers resume playing the audiobook. This allows for coordinated work between devices, making them more intelligent and further improving the user experience.
[0159] In some embodiments of this application, after step 505 above, the method of this application embodiment further includes steps 512 to 516 as described below.
[0160] 512. Receive the fourth voice command and the fourth device identifier sent by the fourth device.
[0161] The fourth voice command is used to instruct the first service.
[0162] It is understandable that the fourth voice command is used to instruct the first service, and the fourth voice command is used to instruct the fourth device to take over the first service that the target device is performing. For example, if the refrigerator is currently playing song 1, the fourth voice command would be "The speaker will continue playing song 1".
[0163] It is understood that the fourth device can be any device under the account of the first device in the device function information database, or it can be a terminal device (such as a mobile phone, a watch with positioning function, etc.), a camera, an infrared device, etc., depending on the actual situation. This application embodiment does not limit it.
[0164] 513. Determine the location of the fourth device based on the identification of the fourth device.
[0165] 514. When the distance between the position of the fourth device and the position of the first device is greater than or equal to the second position threshold, or when the position of the fourth device and the position of the first device belong to different preset areas, determine the second relay identifier from multiple candidate device identifiers.
[0166] The second relay marker is used to indicate the second relay equipment.
[0167] It is understood that the method for determining the second relay identifier from multiple candidate device identifiers is the same as the method for determining the target device identifier from multiple candidate device identifiers. For details, please refer to steps 504c and 504d to 504h above, which will not be repeated here.
[0168] 515. Obtain the execution progress of the first service performed by the target device.
[0169] 516. Send the fourth control command to the second relay equipment.
[0170] The fourth control command is used to instruct the second relay device to continue executing the first service based on the execution progress.
[0171] It is understood that the specific description of step 515 can refer to step 510 above, and the description of the second relay device and the fourth control command in step 516 can refer to the description of the first relay device and the third control command in step 511 above, and will not be repeated here.
[0172] In this embodiment, a fourth voice command and a fourth device identifier are received from a fourth device. The fourth voice command is used to indicate a first service. The location of the fourth device is determined based on the fourth device identifier. If the distance between the location of the fourth device and the location of the first device is greater than or equal to a second location threshold, or if the location of the fourth device and the location of the first device belong to different preset areas, a second relay identifier is determined from multiple candidate device identifiers. The second relay identifier is used to indicate a second relay device. The execution progress of the first service performed by the target device is obtained. A fourth control command is sent to the second relay device, which instructs the second relay device to continue performing the first service based on the execution progress. Thus, users can control the second relay device to take over the execution of the first service via voice commands, making smart homes more intelligent and further improving the user experience.
[0173] like Figure 15 As shown, this application provides a service processing apparatus, which includes: a receiving module 1501, an identification module 1502, a determining module 1503, and a sending module 1504; the receiving module 1501 is used to receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; the identification module 1502 is used to identify the first service indicated by the first voice command; the determining module 1503 is used to determine whether the first device has the capability to perform the first service based on a device capability information database and the first device identifier, wherein the device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier, each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier; the determining module 1503 is further used to determine a target device identifier with the capability to perform the first service from the multiple device identifiers based on the device capability information database when the first device does not have the capability to perform the first service, wherein the target device identifier is used to indicate the target device; the sending module 1504 is used to send a first control command to the target device, wherein the first control command is used to instruct the target device to perform the first service.
[0174] In some embodiments of this application, the determining module 1503 is specifically used to determine, based on a device capability information database, a plurality of candidate device identifiers that have the capability to perform a first service from a plurality of device identifiers; and to determine a target device identifier from the plurality of candidate device identifiers.
[0175] In some embodiments of this application, the device information capability library further includes: target information, which includes at least one of the following: the location of the device indicated by each device identifier, and the frequency at which the device indicated by each device identifier performs the corresponding service; the determining module 1503 is specifically used to determine a target device identifier from multiple candidate device identifiers based on the target information; wherein, when the target information includes the location of the device indicated by each device identifier, the distance between the location of the target device and the location of the first device is less than or equal to a distance threshold, or the location of the target device and the location of the first device belong to the same preset area; when the target information includes the frequency at which the device indicated by each device identifier performs the corresponding service, the frequency at which the target device performs the first service is greater than or equal to a frequency threshold.
[0176] In some embodiments of this application, the device further includes a generation module, which is configured to generate a voice prompt based on multiple candidate device identifiers, the voice prompt being used to instruct the user to select a device to perform the first service from the devices indicated by the multiple candidate device identifiers; the sending module 1504 is further configured to send a second control command to the first device, the second control command being used to instruct the first device to play the voice prompt, the second control command carrying the voice prompt; and to receive a second voice command sent by the first device, the second voice command being a user voice command received by the first device based on the voice prompt; the identification module 1502 is further configured to identify the second voice command and determine that the device performing the first service is the target device; and the determining module 1503 is specifically configured to determine the target device identifier corresponding to the target device.
[0177] In some embodiments of this application, before generating a voice prompt based on multiple candidate device identifiers, the determining module 1503 is further configured to determine whether a third voice instruction has been received within a preset time period before receiving the first voice instruction, the third voice instruction being used to indicate the first service; the generating module is specifically configured to generate a voice prompt based on multiple candidate device identifiers when it is determined that no third voice instruction has been received within the preset time period before receiving the first voice instruction.
[0178] In some embodiments of this application, the determining module 1503 is further configured to, after determining whether a third voice instruction has been received within a preset time period before receiving the first voice instruction, and if it is determined that a third voice instruction has been received within the preset time period before receiving the first voice instruction, obtain a second device that performs the first service based on the third voice instruction; and determine the second device identifier corresponding to the second device as the target device identifier.
[0179] In some embodiments of this application, after sending a first control command to the target device, the receiving module 1501 is further configured to receive user location information sent by a third device, the user location information being used to indicate a first location; the determining module 1503 is further configured to, when the distance between the first location and the second location is greater than or equal to a first location threshold or the first location and the second location belong to different preset areas, determine a first relay identifier from multiple candidate device identifiers, the first relay identifier being used to indicate a first relay device, the second location being the location of the user when the first device receives the first voice command; obtain the execution progress of the first service executed by the target device; the sending module 1504 is further configured to send a third control command to the first relay device, the third control command being used to instruct the first relay device to continue executing the first service based on the execution progress.
[0180] In some embodiments of this application, after sending a first control command to the target device, the receiving module 1501 is further configured to receive a fourth voice command and a fourth device identifier sent by a fourth device, the fourth voice command being used to indicate the first service; the determining module 1503 is further configured to determine the location of the fourth device based on the fourth device identifier; the determining module 1503 is further configured to determine a second relay identifier from multiple candidate device identifiers when the distance between the location of the fourth device and the location of the first device is greater than or equal to a second location threshold or the location of the fourth device and the location of the first device belong to different preset areas, the second relay identifier being used to indicate the second relay device; and to obtain the execution progress of the first service performed by the target device; the sending module 1504 is further configured to send a fourth control command to the second relay device, the fourth control command being used to instruct the second relay device to continue performing the first service based on the execution progress.
[0181] In this embodiment, each module can implement the business processing method provided in the above method embodiments and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0182] This application provides a server, including: a communicator configured to receive or send information; and a controller configured to: receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; identify a first service indicated by the first voice command; determine whether the first device has the capability to perform the first service based on a device capability information database and the first device identifier, wherein the device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier, each device identifier is used to indicate a device belonging to the same account as the first device, and the multiple device identifiers include the first device identifier; if the first device does not have the capability to perform the first service, determine a target device identifier with the capability to perform the first service from the multiple device identifiers based on the device capability information database, the target device identifier being used to indicate the target device; and send a first control command to the target device, the first control command being used to instruct the target device to perform the first service.
[0183] In some embodiments of this application, the controller is specifically configured to: determine multiple candidate device identifiers with the capability to perform a first service from multiple device identifiers based on a device capability information database; and determine a target device identifier from the multiple candidate device identifiers.
[0184] In some embodiments of this application, the device information capability library further includes: target information, which includes at least one of the following: the location of the device indicated by each device identifier, and the frequency at which the device indicated by each device identifier performs a corresponding service; the controller is specifically configured to: determine a target device identifier from multiple candidate device identifiers based on the target information; wherein, when the target information includes the location of the device indicated by each device identifier, the distance between the location of the target device and the location of the first device is less than or equal to a distance threshold, or the location of the target device and the location of the first device belong to the same preset area; when the target information includes the frequency at which the device indicated by each device identifier performs a corresponding service, the frequency at which the target device performs the first service is greater than or equal to a frequency threshold.
[0185] In some embodiments of this application, the controller is specifically configured to: generate a voice prompt based on multiple candidate device identifiers, the voice prompt being used to instruct the user to select a device to perform a first service from the devices indicated by the multiple candidate device identifiers; send a second control command to the first device, the second control command being used to instruct the first device to play the voice prompt, the second control command carrying the voice prompt; receive a second voice command sent by the first device, the second voice command being a user voice command received by the first device based on the voice prompt; identify the second voice command to determine that the device performing the first service is the target device; and determine the target device identifier corresponding to the target device.
[0186] In some embodiments of this application, before generating a voice prompt based on multiple candidate device identifiers, the controller is specifically configured to: determine whether a third voice instruction has been received within a preset time period before receiving the first voice instruction, the third voice instruction being used to indicate a first service; and if it is determined that no third voice instruction has been received within the preset time period before receiving the first voice instruction, generate a voice prompt based on multiple candidate device identifiers.
[0187] In some embodiments of this application, the controller is specifically configured to: after determining whether a third voice command has been received within a preset time period before receiving the first voice command, and if it is determined that a third voice command has been received within the preset time period before receiving the first voice command, acquire a second device that performs the first service based on the third voice command; and determine the second device identifier corresponding to the second device as the target device identifier.
[0188] In some embodiments of this application, after sending a first control command to the target device, the controller is further configured to: receive user location information sent by a third device, the user location information being used to indicate a first location; if the distance between the first location and the second location is greater than or equal to a first location threshold or the first location and the second location belong to different preset areas, determine a first relay identifier from multiple candidate device identifiers, the first relay identifier being used to indicate a first relay device, and the second location being the location of the user when the first device receives the first voice command; obtain the execution progress of the first service executed by the target device; and send a third control command to the first relay device, the third control command being used to instruct the first relay device to continue executing the first service based on the execution progress.
[0189] In some embodiments of this application, after sending a first control command to the target device, the controller is further configured to: receive a fourth voice command and a fourth device identifier sent by a fourth device, the fourth voice command being used to indicate a first service; determine the location of the fourth device based on the fourth device identifier; if the distance between the location of the fourth device and the location of the first device is greater than or equal to a second location threshold or the location of the fourth device and the location of the first device belong to different preset areas, determine a second relay identifier from multiple candidate device identifiers, the second relay identifier being used to indicate a second relay device; obtain the execution progress of the first service performed by the target device; and send a fourth control command to the second relay device, the fourth control command being used to instruct the second relay device to continue performing the first service based on the execution progress.
[0190] The descriptions of each part and the beneficial effects of the server provided in this application embodiment can be referred to the business processing method provided in the above method embodiment. To avoid repetition, they will not be repeated here.
[0191] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described business processing method and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0192] The computer-readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0193] The present invention provides a computer program product, comprising: when the computer program product is run on a computer, causing the computer to perform the above-described business processing method.
[0194] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0195] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.
Claims
1. A business processing method, characterized in that, Applied to a server, the method includes: Receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; Identify the first service indicated by the first voice command; Based on the device capability information database and the first device identifier, it is determined whether the first device has the ability to perform the first service. The device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier. Each device identifier is used to indicate a device that belongs to the same account as the first device. The multiple device identifiers include the first device identifier. If the first device does not have the capability to perform the first service, a target device identifier capable of performing the first service is determined from the plurality of device identifiers based on the device capability information database, and the target device identifier is used to indicate the target device; Send a first control command to the target device, the first control command being used to instruct the target device to perform the first service; The step of determining the target device identifier capable of performing the first service from the plurality of device identifiers based on the device capability information database includes: Based on the device capability information database, multiple candidate device identifiers with the capability to perform the first service are determined from the multiple device identifiers; The target device identifier is determined from the plurality of candidate device identifiers; After sending the first control command to the target device, the method further includes: Receive user location information sent by a third device, wherein the user location information is used to indicate a first location; If the distance between the first position and the second position is greater than or equal to the first position threshold or the first position and the second position belong to different preset areas, a first relay identifier is determined from the plurality of candidate device identifiers. The first relay identifier is used to indicate the first relay device, and the second position is the user's position when the first device receives the first voice command. Obtain the execution progress of the first service performed by the target device; the execution progress is a time node or execution status; A third control command is sent to the first relay device, the third control command being used to instruct the first relay device to continue executing the first service based on the execution progress.
2. The method according to claim 1, characterized in that, The equipment capability information database also includes: target information, which includes at least one of the following: Each device identifier indicates the location of the device, and each device identifier indicates the frequency at which the device performs the corresponding service; Determining the target device identifier from the plurality of candidate device identifiers includes: Based on the target information, the target device identifier is determined from the plurality of candidate device identifiers; Wherein, when the target information includes the location of the device indicated by each device identifier, the distance between the location of the target device and the location of the first device is less than or equal to a distance threshold, or the location of the target device and the location of the first device belong to the same preset area; When the target information includes the frequency at which the device indicated by each device identifier performs the corresponding service, the frequency at which the target device performs the first service is greater than or equal to a frequency threshold.
3. The method according to claim 1, characterized in that, Determining the target device identifier from the plurality of candidate device identifiers includes: Based on the multiple candidate device identifiers, a voice prompt is generated, which instructs the user to select a device from the devices indicated by the multiple candidate device identifiers to perform the first service. Send a second control command to the first device, the second control command being used to instruct the first device to play the voice prompt, the second control command carrying the voice prompt; Receive a second voice command sent by the first device, wherein the second voice command is a user voice command received by the first device based on the voice prompt; The second voice command is recognized to determine that the device executing the first service is the target device. Determine the target device identifier corresponding to the target device.
4. The method according to claim 3, characterized in that, Before generating the voice prompt based on the plurality of candidate device identifiers, the method further includes: Determine whether a third voice instruction is received within a preset time period before receiving the first voice instruction, the third voice instruction being used to instruct the first service; The step of generating voice prompts based on the multiple candidate device identifiers includes: If it is determined that no third voice command has been received within a preset time period prior to receiving the first voice command, a voice prompt is generated based on the multiple candidate device identifiers.
5. The method according to claim 4, characterized in that, Determining the target device identifier from the plurality of candidate device identifiers includes: After determining whether a third voice command has been received within a preset time period before receiving the first voice command, if it is determined that the third voice command has been received within a preset time period before receiving the first voice command, a second device that performs the first service based on the third voice command is obtained. The second device identifier corresponding to the second device is determined as the target device identifier.
6. The method according to any one of claims 2 to 5, characterized in that, After sending the first control command to the target device, the method further includes: Receive a fourth voice command and a fourth device identifier sent by a fourth device, wherein the fourth voice command is used to indicate the first service; The location of the fourth device is determined based on the fourth device identifier; If the distance between the location of the fourth device and the location of the first device is greater than or equal to the second location threshold, or if the location of the fourth device and the location of the first device belong to different preset areas, a second relay identifier is determined from the plurality of candidate device identifiers. The second relay identifier is used to indicate the second relay device. Obtain the execution progress of the first service performed by the target device; A fourth control command is sent to the second relay device, the fourth control command being used to instruct the second relay device to continue executing the first service based on the execution progress.
7. A business processing apparatus, characterized in that, The device includes: a receiving module, an identification module, a determining module, and a sending module; The receiving module is used to receive a first voice command and a first device identifier sent by the first device. The first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device. The recognition module is used to recognize the first service indicated by the first voice command; The determining module is used to determine whether the first device has the ability to perform the first service based on the device capability information database and the first device identifier. The device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier. Each device identifier is used to indicate a device belonging to the same account as the first device. The multiple device identifiers include the first device identifier. The determining module is further configured to, when the first device does not have the capability to perform the first service, determine a target device identifier that has the capability to perform the first service from the plurality of device identifiers based on the device capability information database, wherein the target device identifier is used to indicate the target device; The sending module is used to send a first control command to the target device, the first control command being used to instruct the target device to perform the first service; The determining module is further configured to, based on the device capability information database, determine a plurality of candidate device identifiers from the plurality of device identifiers that have the capability to perform the first service; and determine the target device identifier from the plurality of candidate device identifiers; After sending the first control command to the target device, the receiving module is further configured to receive user location information sent by the third device, the user location information being used to indicate the first location; The determining module is further configured to determine a first relay identifier from the plurality of candidate device identifiers when the distance between the first position and the second position is greater than or equal to a first position threshold or the first position and the second position belong to different preset areas. The first relay identifier is used to indicate a first relay device, and the second position is the location of the user when the first device receives the first voice command. The module also obtains the execution progress of the target device performing the first service. The execution progress is a time node or execution status. The sending module is further configured to send a third control instruction to the first relay device, the third control instruction being used to instruct the first relay device to continue executing the first service based on the execution progress.
8. A server, characterized in that, include: The communicator is configured to receive or send information; The controller is configured as follows: Receive a first voice command and a first device identifier sent by a first device, wherein the first voice command is a user voice command received by the first device, and the first device identifier is used to indicate the first device; Identify the first service indicated by the first voice command; Based on the device capability information database and the first device identifier, it is determined whether the first device has the ability to perform the first service. The device capability information database includes multiple device identifiers and device capabilities corresponding to each device identifier. Each device identifier is used to indicate a device that belongs to the same account as the first device. The multiple device identifiers include the first device identifier. If the first device does not have the capability to perform the first service, a target device identifier capable of performing the first service is determined from the plurality of device identifiers based on the device capability information database, and the target device identifier is used to indicate the target device; Send a first control command to the target device, the first control command being used to instruct the target device to perform the first service; The controller is further configured to: determine, based on the device capability information database, a plurality of candidate device identifiers that have the capability to perform the first service from the plurality of device identifiers; and determine the target device identifier from the plurality of candidate device identifiers; After sending the first control command to the target device, the controller is further configured to: receive user location information sent by a third device, wherein the user location information is used to indicate a first location; If the distance between the first position and the second position is greater than or equal to a first position threshold, or if the first position and the second position belong to different preset areas, a first relay identifier is determined from the plurality of candidate device identifiers. The first relay identifier is used to indicate a first relay device, and the second position is the location of the user when the first device receives the first voice command. The execution progress of the target device in performing the first service is obtained. The execution progress is a time node or execution status. A third control command is sent to the first relay device, the third control command being used to instruct the first relay device to continue executing the first service based on the execution progress.