Interest-based activation and search depth

The method and system analyze user voice and facial cues to activate IVAs based on interest, bypassing activation words, improving interaction efficiency and response relevance in intelligent virtual assistant systems.

JP7845803B2Active Publication Date: 2026-04-14INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2022-05-11
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing intelligent virtual assistants (IVAs) require activation words or phrases, which can be inconvenient and inefficient, especially in multi-user environments or when users express interest without using specific commands.

Method used

A method and system that utilizes user interest-based activation and search depth by analyzing user voice wavelengths, gaze, and facial expressions to determine user interest, bypassing activation words, and adjusting search depth and knowledge base utilization based on user engagement.

Benefits of technology

Enables seamless activation of IVAs without requiring specific commands, enhances user interaction efficiency, and tailors search responses to user interest levels and knowledge base utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007845803000001
    Figure 0007845803000001
  • Figure 0007845803000002
    Figure 0007845803000002
  • Figure 0007845803000003
    Figure 0007845803000003
Patent Text Reader

Abstract

An embodiment of the present invention determines a user's interest based on data received from an electronic device associated with the user, the data including audible speech captured from the user and one or more facial expressions of the user. An embodiment of the present invention identifies a first wavelength for audible speech from the user for initiating a command detection mode based on a plurality of wavelengths associated with a user profile for the user. An embodiment of the present invention identifies a topic for the audible speech from the user and suspends an activation word for the intelligent virtual assistant in response to determining that the intelligent virtual assistant is an intended recipient based on the topic.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to intelligent virtual assistants, and more particularly to defining activation and search depth for devices that use intelligent virtual assistants based on user interests.

Background Art

[0002] An intelligent virtual assistant (IVA) represents a software agent that can perform various tasks for a user based on commands or questions in words provided by the user, and the IVA operates in an electronic device. An Internet of Things (IoT) device is an example of an electronic device having an IVA, and can connect to other devices and systems via the Internet to exchange data in order to process any word-based command or question. The IVA is typically activated by a certain word or phrase, where the IVA receives an audible command or query after the word or phrase spoken by the user. The IVA can receive the activation word and question provided by the user, perform a search to provide an appropriate response to the question, and provide the appropriate response back to the user in the form of an audible response.

Summary of the Invention

[0003] Embodiments of the present invention disclose a method, computer program product, and computer system for user interest-based activation and search depth, the method, computer program product, and computer system capable of determining a user's interests based on data received from an electronic device associated with the user, the data including audible speech captured from the user and one or more facial expressions of the user. The method, computer program product, and computer system capable of identifying a first wavelength for audible speech from the user to initiate a command detection mode based on a plurality of wavelengths associated with a user profile for the user. The method, computer program product, and computer system capable of identifying a topic for audible speech from the user. The method, computer program product, and computer system capable of suspending activation words to the intelligent virtual assistant in response to the intelligent virtual assistant determining, based on that topic, that the intelligent virtual assistant is an intended recipient. [Brief explanation of the drawing]

[0004] [Figure 1] This is a functional block diagram showing a distributed data processing environment according to an embodiment of the present invention. [Figure 2] This figure shows a flowchart for an interest command program that activates an intelligent virtual assistant based on user interests, according to an embodiment of the present invention. [Figure 3] This figure shows a flowchart for a command-of-interest program that determines and modifies the search depth for user-provided commands, according to an embodiment of the present invention. [Figure 4] This figure shows a flowchart for a command of interest program that determines and manages a knowledge base for performing searches for user-provided commands, according to an embodiment of the present invention. [Figure 5] This is a block diagram showing components of a computer system, such as the server computer shown in Figure 1, according to an embodiment of the present invention. [Figure 6] This figure shows a cloud computing environment according to an embodiment of the present invention. [Figure 7] This figure shows an abstraction model layer according to an embodiment of the present invention. [Modes for carrying out the invention]

[0005] Embodiments of the present invention provide user interest-based activation and search depth for an intelligent virtual assistant. The framework observes the wavelengths of the user's audible voice as they interact with the intelligent virtual assistant and stores the observed wavelengths in a user-related profile. The user-related profile is updatable based on learning resulting from subsequent commands and questions presented to the intelligent virtual assistant. The framework also observes the user's wavelength modulation when asking questions, seeking clarification, and when questions are presented by the user to the recipient versus the intelligent virtual assistant. Based on the framework, the proposed embodiments of the invention can determine the user's interests and, using the wavelengths of the user's audible voice, determine whether the intelligent virtual assistant is the target recipient of the question.

[0006] Embodiments of the present invention identify user interests based on the user's gaze, voice pattern recognition, eye movements, and history patterns. Utilizing history learning, an interest command program can predict the user's interest in a certain topic based on data from user-related electronic devices and activate the intelligent virtual assistant by bypassing activation words or phrases for the intelligent virtual assistant. The interest prediction program predicts the user's interest and sends an alert to a user-related electronic device (e.g., smart contact lenses) regarding an audible voice containing a command executable by the intelligent virtual assistant, where activation words or phrases are bypassed. The alert notifies the user that interest has been detected, and the audible voice contains a command executable by the intelligent virtual assistant. The user can choose to activate the intelligent virtual assistant by sending an executable command via an electronic device (e.g., a first eye motion), or the user can choose to ignore the executable command via an electronic device (e.g., a second motion). The interest prediction program uses historical learning to determine the user's level of interest in activating the intelligent virtual assistant while bypassing activation words or phrases. In a multi-user environment (e.g., an office setting), where each user has associated electronic devices, the interest prediction program can interact with each of the multiple users through their associated electronic devices, providing responses to executable commands from the intelligent virtual assistant on each associated electronic device.

[0007] Embodiments of the present invention can determine and modify the search depth for commands provided by a user. An interest prediction program can determine that a user is expressing interest and can determine the grade of interest in that user. Based on the grade of interest in the user and the command from the user, an interest command program determines a search depth score and sends that search depth score and the command to a backend search engine associated with the intelligent virtual assistant. The interest command program can provide the user with a response time for the command and, upon receiving the modified search depth score from the user, can adjust how the intelligent virtual assistant processes the command using the backend search engine.

[0008] Embodiments of the present invention can determine and manage knowledge bases for performing searches for commands provided by a user. An interest command program can analyze a command from a user and determine at least two knowledge bases (e.g., sports, science, engineering, history) for that command. The interest command program can send the at least two knowledge bases for the command, along with the command itself, to a backend search engine. If the interest command program determines that parallelization is supported when at least two knowledge bases have been determined, the interest command program parallelizes the search using the at least two knowledge bases. If the interest command program determines that parallelization is not supported, the interest command program loads a first knowledge base and, in response to receiving results from a backend search engine related to the intelligent virtual assistant for the first knowledge base, sends those results to a second knowledge base.

[0009] Figure 1 is a functional block diagram showing a distributed data processing environment, generally represented as 100, according to one embodiment of the present invention. As used herein, the term “distributed” describes a computer system comprising multiple physically distinct devices operating together as a single computer system. Figure 1 is merely an example of one implementation and does not imply any limitation on the environment in which different embodiments may be implemented. Many modifications to the shown environment may be made by those skilled in the art without departing from the scope of the invention as described in the claims.

[0010] The distributed data processing environment includes a server computer 102, a client device 104, an augmented reality (AR) device 106, and an Internet of Things (IoT) device 108, all interconnected via a network 110. The server computer 102 may be a standalone computer device, a management server, a web server, a mobile computer device, or any other electronic device or computer system capable of receiving, transmitting, and processing data. In another embodiment, the server computer 102 may represent a server computer system that uses multiple computers as a server system, for example, in a cloud computing environment. In yet another embodiment, the server computer 102 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a smartphone, or any programmable electronic device capable of communicating with the client device 104, the AR device 106, the IoT device 108, and other computer devices (not shown) in the distributed data processing environment via the network 110. In another embodiment, the server computer 102 represents a computer system that uses clustered computers and components (e.g., a database server computer, an application server computer, etc.) that operate as a single pool of seamless resources when accessed within a distributed data processing environment. The server computer 102 includes a command program of interest 112 and a database 114. As will be shown and described in more detail with respect to Figure 5, the server computer 102 may also include internal and external hardware components.

[0011] The client device 104 may be a laptop computer, tablet computer, smartphone, smartwatch, smart speaker, or any programmable electronic device capable of communicating with various components and devices in a distributed data processing environment (e.g., server computer 102, AR device 106, and IoT device 108) via network 110. The client device 104 may also be a wearable computer. A wearable computer is a small electronic device that a wearer may wear under, over, or with clothing, or wear in or connected to glasses, a hat, or other accessory. Wearable computers are particularly useful for applications that require the support of a computer more complex than mere hardware code logic. Generally, the client device 104 represents one or more programmable electronic devices, or a combination of programmable electronic devices, capable of executing machine-readable program instructions and communicating with other computer devices (not shown) in a distributed data processing environment via a network, such as network 110. In one embodiment, the client device 104 represents one or more devices associated with a user. The client device 104 includes an instance of a user interface 124 for interacting with the command program 112 of interest on the server computer 102.

[0012] The AR device 106 represents a user-wearable augmented reality device (e.g., electronic contact lenses, wearable electronic headset) having an integrated microcircuit capable of displaying content to the user. The AR device 106 includes a microcontroller 116, a display 118, a microphone 120, and a camera 122, and the interest command program 112 can receive audible voice from a user wearing the AR device 106 for possible execution by one or more intelligent virtual assistants operating in the IoT device 108. The microcontroller 116 may include a display control circuit for the display 118, a communication and power conversion circuit for communicating with and managing an integrated power supply via the network 110, and a sensor readout and control circuit for monitoring the eye movements of a user wearing the AR device 106. The display 118 allows the user of the AR device 106 to see various notifications and queries from the interest command program 112. In an example where the AR device 106 is an electronic contact lens, the display 118 is a translucent display and microlens array integrated into the AR device 106 for viewing content. The AR device 106 may also include a power storage module, a solar cell module for charging the power storage module, a biosensor module for collecting data (e.g., tracking eye movements), and a communication and power module for communicating with a server computer 102, a client device 104, and an IoT device 108 via a network 110. A microphone 120 captures audible speech from the user, and a microcontroller 116 transmits the captured audible speech to a command program 112 of interest on the server computer 102. The AR device 106 also includes a camera 122 for capturing facial responses when the user is providing audible speech that can be captured by the microphone 120.

[0013] An IoT device 108 represents an electronic device connected to network 110 that can receive and execute voice commands provided by a user of client device 104 or AR device 106 or both. Each IoT device 108 includes an instance of an intelligent virtual assistant (IVA), which represents a software agent capable of performing various tasks for the user based on commands or questions provided by the user. IoT devices 108 may include, but are not limited to, electrical appliances, home security systems, health monitoring devices, factory equipment, wireless inventory trackers, biometric security scanners, and any other electronic devices embedded with sensors and software for connecting with other devices and systems and exchanging data via the internet (e.g., network 110).

[0014] Network 110 may be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of these three, and may include wired, wireless, or fiber optic connections. Network 110 may include one or more wired, wireless, or both networks capable of receiving and transmitting data, voice, or video signals, or combinations thereof, including multimedia signals including voice, data, and video information. Generally, Network 110 may be any combination of connections and protocols that support communication between the server computer 102, the client device 104, the AR device 106, the IoT device 108, and other computer devices (not shown) in a distributed data processing environment.

[0015] To activate the IVA operating on IoT device 108 based on user interest, the interest command program 112 determines the interest of a user in proximity to IoT device 108, where the user is associated with client device 104, AR device 106, or both. AR device 106 captures various data through microphone 120 and camera 122, and after receiving the various data, the interest command program 112 determines that the user is expressing interest or a feeling of interest. The interest command program 112 identifies the voice wavelength in the user's audible speech and initiates command detection mode, where the voice wavelength is associated with the interest or feeling of interest expressed by the user. The interest command program 112 identifies the topic of the audible speech from the user and determines the target recipient of the audible speech from the user. If the interest command program 112 determines that the audible speech is not directed at the IVA operating on IoT device 108, the interest command program 112 ignores the audible speech. If the interest command program 112 determines that the audible voice is directed to the IVA running on IoT device 108, the interest command program 112 suspends the activation word for the IVA running on IoT device 108. The interest command program 112 may send the audible voice to the IVA running on IoT device 108, instruct the IVA running on IoT device 108 to listen to the audible voice from the user, instruct the user to repeat the audible voice so that the IVA running on IoT device 108 can pick it up, or do a combination of these.

[0016] To determine and modify the search depth for a command provided by the user, the interest command program 112 determines that the user is expressing interest and determines the grade of interest for the user. Based on the grade of interest for the user and the command from the user, the interest command program 112 determines the search depth score and sends that search depth score and the command to the backend search engine. The interest command program 112 provides the user with a response time for the command and receives the modified search depth score from the user to adjust how the IVA running on the IoT device 108 processes the command using the backend search engine.

[0017] To determine and manage the knowledge base for performing searches for commands provided by the user, the interest command program 112 analyzes the command from the user and determines the knowledge base for that command. The interest command program 112 sends the knowledge base for the command and the command itself to the backend search engine. If the interest command program 112 determines that parallelization is supported, it parallelizes the search using the two knowledge bases. If the interest command program 112 determines that parallelization is not supported, it loads the first knowledge base and, in response to receiving results from the first knowledge base, sends those results to the second knowledge base.

[0018] The database 114 stores various data used by the interest command program 112, including, but not limited to, user profiles, interest voice wavelengths for each user, search depth scores for each user, and various knowledge bases for associating with searchable commands. In the shown embodiment, the database 114 resides on the server computer 102. In another embodiment, the database 114 may reside on the client device 104 or elsewhere in the distributed data processing environment, provided that the interest command program 112 can access the database 114. The database is an organized collection of data, and the database 114 can be implemented by any type of storage device capable of storing data and configuration files that are accessible and available to the interest command program 112, such as a database server, a hard disk drive, or flash memory.

[0019] The user interface 124 allows the user to make requests or issue commands to the server computer 102, client device 104, AR device 106, and IoT device 108 via the network 110. The user interface 124 also allows the user to receive information and instructions responded to via the network 110 on the client device 104. In one embodiment, the user of the client device 104 accesses the user interface 124 via natural language voice commands. In one embodiment, the user interface 124 may be a graphical user interface (GUI) or a web user interface (WUI) capable of displaying text, documents, web browser windows, user choices, application interfaces, and instructions for action, and includes information presented by the program to the user (e.g., graphics, text, and sound) and control sequences used by the user to control the program. The user interface 124 allows the user of the client device 104 to interact with the command program 112 running on the server computer 102.

[0020] Figure 2 shows a flowchart of an interest command program according to an embodiment of the present invention, which activates an intelligent virtual assistant based on the user's interests.

[0021] The interest command program 112 enables the activation of an IVA operating on an electronic device (e.g., an IoT device) based on the user's interests, without the user having to use any activation words or phrases, or both, to make the IVA hear the user's audible voice. The interest command program 112 can establish a profile for each user of the IVA operating on the electronic device, each profile including wavelength information for the audible voice from the user when directing a question to the IVA. In one embodiment, the IVA operates on an electronic device located in an individual's residence, and the interest command program 112 establishes a profile for each individual (i.e., a user) residing in that residence. In another embodiment, the IVA operates on an electronic device located in an office, and the interest command program 112 establishes a profile for each employee (i.e., a user) in that office. The interest command program 112 uses a profile for each user to establish a framework for determining user interests by monitoring the wavelengths of the user's responses to audible speech when they use activation words, phrases, or both to make the user's audible speech heard by the IVA. The interest command program 112 identifies whether the audible speech contains a command or question and identifies the wavelengths of the user's responses to the audible speech when a question is presented to the IVA. The interest command program 112 associates the identified wavelengths of the audible speech accompanied by the question presented to the IVA with the user's profile.

[0022] Furthermore, the command of interest program 112 may instruct the IVA operating on the electronic device to perform a wavelength clarification test. The command of interest program 112 can send a list of sample questions to the IVA and instruct the IVA to request the user to repeat the list of sample questions, where the list of sample questions is not related to the commands or questions that can be performed by the IVA. For example, the questions may include "Did you enter the office on Friday?", "How was the show you watched on Saturday?", "What did you do over the weekend?", and "What happened during yesterday's meeting?" etc. When the user repeats the list of questions, the command of interest program 112 identifies the wavelength of the audible voice by the user when the question is presented to another recipient rather than the IVA. The command of interest program 112 associates the identified wavelength of the audible voice with the question presented to another recipient rather than the IVA with the user's profile. As a result, the command of interest program 112 creates a profile for the user that includes a first set of wavelengths for the audible voice associated with the question presented to the IVA and a second set of wavelengths for the audible voice associated with the question presented to another recipient rather than the IVA.

[0023] The interest command program 112 determines the user's interest (202). The interest command program 112 uses an electronic device related to the user, such as a client device or an augmented reality (AR) device, to receive various data about the user participating in the conversation. The various data includes audible voice captured from the user and one or more expressions of the user captured by a camera. The interest command program 112 can use the various data about the user to determine whether the user is expressing interest, where the interest can be a question presented in the user's audible voice or in the form of a voice module for one or more words in the user's audible voice. The interest command program 112 can also use the various data about the user to determine whether the user is expressing interest, where the interest is presented in the form of one or more expressions by the user, such as raising eyebrows, rapid blinking, and tilting the head. Based on the various data from the electronic device related to the user, the interest command program 112 determines whether the user is showing interest.

[0024] The interest command program 112 identifies the voice wavelength of the user to start the command detection mode (204). As described above, the interest command program 112 receives various data from an electronic device related to the user, where the various data includes audible voice captured from the user. Based on the audible voice that results in the interest command program 112 determining the user's interest, the interest command program 112 identifies the voice wavelength for the user to start the command detection mode. The command detection mode means that the interest command program 112 identifies a question (i.e., a command) in the user's audible voice based on the first wavelength set and the second wavelength set stored with the user profile for the user.

[0025] The interest command program 112 identifies a topic for an audible speech from the user (206). In this embodiment, the interest command program 112 identifies a topic for an audible speech from the user based on a question identified in the audible speech. In another embodiment, the interest command program 112 identifies a topic for an audible speech from the user based on all audible speech that resulted in the interest command program 112 determining the user's interest. In one example, the audible speech captured by the electronic device includes, "Bob, what did I miss at this morning's meeting?" The interest command program 112 identifies this topic as "the meeting," which is associated with a specific recipient (i.e., Bob). In another example, the audible speech captured by the electronic device includes, "If I'm still going to the baseball game, I hope it doesn't rain." The interest command program 112 identifies this topic as "the baseball game," which is associated with a specific variable rather than a specific recipient. In this example, the command program 112 of interest identifies that the specific variable is "rain" and that "rain" is related to the general variable "weather".

[0026] The interest command program 112 determines the target recipient of the audible speech from the user (208). In this embodiment, the interest command program 112 determines the target recipient of the audible speech from the user based on the topic of the audible speech. In the above example, where the interest command program 112 identifies the topic as “Meeting” associated with a particular recipient, the interest command program 112 determines that the recipient is “Bob” because the user audibly refers to the recipient’s name. The interest command program 112 can also verify the recipient by determining whether there is another electronic device associated with the recipient (i.e., Bob) near the user having the electronic device that captured the audible speech (e.g., within a 10-foot radius). If there is another electronic device associated with the recipient near the user having the electronic device that captured the audible speech, the interest command program 112 confirms the recipient of the audible speech from the user (i.e., Bob). In another aforementioned example, where the interest command program 112 identifies the topic as "baseball game" associated with a specific variable rather than a specific recipient, the interest command program 112 determines whether the audible speech from the user could be directed to the IVA, where the IVA is the target recipient. The interest command program 112 analyzes the topic (i.e., baseball game) and the specific variable (i.e., weather) to determine whether the IVA can resolve the user's interest. If, based on the analysis of the topic and the specific variable, the IVA can resolve the user's interest, the interest command program 112 determines that the target recipient of the audible speech from the user is the IVA.

[0027] The interest command program 112 determines whether the Intelligent Virtual Assistant (IVA) is the target recipient of the audible speech from the user (decision 210). If the interest command program 112 determines that the IVA is not the target recipient of the audible speech from the user ("no" branch, decision 210), the interest command program 112 ignores the audible speech (212). If the interest command program 112 determines that the IVA is the target recipient of the audible speech from the user ("yes" branch, decision 210), the interest command program 112 suspends the activation word (214). By suspending the activation word, the interest command program 112 may send the audible speech to the IVA to process the question presented in the audible speech from the user and perform a backend search therefor. Alternatively, the interest command program 112 may generate a question based on the audible speech from the user. In an example where the audible speech captured by the electronic device includes the phrase "If you're still planning to go to the baseball game tonight, I hope it doesn't rain," the interest command program 112 generates the question "What's the weather like tonight?" for the IVA. The interest command program 112 may send the generated question to process the question generated based on the audible speech from the user and perform a backend search against it.

[0028] Figure 3 shows a flowchart of a command-of-interest program that determines and modifies the search depth for user-provided commands, according to an embodiment of the present invention.

[0029] The interest command program 112 determines the user's interest (302). As discussed above, the interest command program 112 receives various data about the user participating in the conversation using user-related electronic devices, such as a client device or an augmented reality (AR) device. This various data includes audible speech captured from the user and one or more facial expressions of the user captured by a camera. The interest command program 112 can use the various data about the user to determine whether the user is expressing interest, where interest may be in the form of a question presented in the user's audible speech or a voice module in response to one or more words in the user's audible speech. The interest command program 112 can also use the various data about the user to determine whether the user is expressing interest, where interest may be presented in the form of one or more facial expressions by the user, such as raising an eyebrow, blinking quickly, and tilting the head. Based on the various data from user-related electronic devices, the interest command program 112 determines whether the user is showing interest.

[0030] The interest command program 112 determines the grade of interest (304). The interest command program 112 determines the grade of interest with respect to various data about the users participating in the conversation. With respect to audible speech captured from the user, the interest command program 112 identifies modulations of the user's voice or keywords in the audible speech that may indicate the grade of interest towards the user. In one example, the audible speech received by the interest command program 112 includes, "It's interesting that ABC stock is up today. What was outstanding about the first quarter results?" Based on the audible speech, the interest command program 112 determines that the grade of interest is high, based on the fact that the keywords in the audible speech include "interesting," "would," and "outstanding." In another example, the audible speech received by the interest command program 112 includes, "It's not a big deal, but I'll probably have to drive in the rain." Based on the audible speech, the interest command program 112 determines that the grade of interest is low, based on the fact that the keywords in the audible speech include "not a big deal." For one or more facial expressions of the user captured by the camera, the interest command program 112 determines a grade of interest based on the degree of the user's facial expressions. When both audible audio captured by the user and one or more facial expressions are provided, the interest command program 112 may determine a final grade of interest towards the user through various data.

[0031] The interest command program 112 determines the search depth score (306). The interest command program 112 determines the search depth score based on the user-defined response level for searchable commands and the grade of interest. The user-defined response level is based on a scale of how much information, detail, or both the IVA should provide when performing a search for searchable commands, and at the same time takes into account the grade of interest. The user-defined response level can be associated with a variety of topics, and as discussed above with respect to (206) in Figure 2, the interest command program 112 identifies a variety of topics. A low search depth score is based on a low user-defined response level, which may include searchable commands on topics such as weather, traffic, and entertainment. A high search depth score is based on a high user-defined response level, which may include searchable commands on specialized and educational topics for which the user requires a detailed response from the IVA.

[0032] The interest command program 112 sends the search depth score and commands to the backend search engine (308). The interest command program 112 sends the search depth score and actionable commands to the IVA, which uses the backend search engine to obtain responses to the actionable commands. The interest command program 112 provides the user with response times (310). The interest command program 112 provides the user with response times based on the current search depth score (i.e., the determined search depth score) by displaying the response times to the user on the user interface of the client device or AR device or both. The interest command program 112 receives a modified search depth score from the user (312). The interest command program 112 allows the user to modify the search depth score to adjust the response times. For example, the response time of the IVA providing responses to actionable commands can be increased by decreasing the search depth score, and the response time can be decreased by increasing the search depth score.

[0033] Figure 4 shows a flowchart of an interest command program that determines and manages a knowledge base for performing searches for user-provided commands, according to an embodiment of the present invention.

[0034] The interest command program 112 analyzes commands from the user (402). As discussed above with respect to (206) in Figure 2, the interest command program 112 analyzes actionable commands from the user in order to identify various topics. When identifying various topics for actionable commands, the interest command program 112 determines an overall topic based on the various topics. In the example discussed above, the audible speech captured by the electronic device includes, "If I'm still going to the baseball game, I hope it doesn't rain." The interest command program 112 identifies this topic as "baseball game," which is associated with a specific variable rather than a specific recipient. However, when the interest command program 112 analyzes actionable commands, it determines that the overall topic is "rain," compared to the previously identified topic of "baseball game." The actionable command concerns obtaining a response about "rain," not the previously identified topic of "baseball game" in the audible speech from the user.

[0035] The interest command program 112 determines a knowledge base for a command (404). The knowledge base is used to store complex structured and unstructured data on various categories, and the IVA can perform a search on one or more knowledge bases related to the topic of the feasible search. Each knowledge base may concern a variety of categories, ranging from technology and science to history and entertainment. The interest command program 112 sends the knowledge base for the command and the command to the backend search engine (406). In this embodiment, the interest command program 112 sends a hint for a first knowledge base, a hint for a second knowledge base, and the command to the IVA's backend search engine.

[0036] The interest command program 112 determines whether parallelization for searching is supported (decision 408). If the interest command program 112 determines that parallelization for searching is not supported ("no" branch, decision 408), the interest command program 112 loads the preferred knowledge base (410). The interest command program 112 loads the first knowledge base (410). The interest command program 112 loads the first knowledge base into the backend search engine and receives the results for searchable commands from the backend search engine. The interest command program 112 sends the results to the second knowledge base (412). The interest command program 112 sends the results from the first knowledge base to the second knowledge base.

[0037] If the interest command program 112 determines that parallelization of the search is supported ("yes" branch, decision 408), the interest command program 112 parallelizes the search using two knowledge bases (414). The interest command program 112 parallelizes the search by loading the first and second knowledge bases and receiving results for executable commands in parallel.

[0038] The interest command program 112 loads the first knowledge base (410). The interest command program 112 loads the first knowledge base into the backend search engine and receives results for searchable commands from the backend search engine. The interest command program 112 sends the results to the second knowledge base (412). The interest command program 112 sends the results from the first knowledge base to the second knowledge base.

[0039] Figure 5 shows a computer system 500, where the server computer 102 is an example of the computer system 500, including the command program of interest 112. The computer system includes a processor 504, a cache 516, memory 506, persistent storage 508, a communication unit 510, one or more input / output (I / O) interfaces 512, and a communication fabric 502. The communication fabric 502 provides communication between the cache 516, memory 506, persistent storage 508, the communication unit 510, and one or more input / output (I / O) interfaces 512. The communication fabric 502 can be implemented by any architecture designed to pass data or control information, or both, between the processor (e.g., a microprocessor, communication and network processor), system memory, peripheral devices, and any other hardware components in the system. For example, the communication fabric 502 can be implemented by one or more buses or crossbar switches.

[0040] Memory 506 and persistent storage 508 are computer-readable storage media. In this embodiment, memory 506 includes random-access memory (RAM). Generally, memory 506 may include any suitable volatile or non-volatile computer-readable storage media. Cache 516 is a high-speed memory that improves the performance of processor 504 by holding recently accessed data and data near recently accessed data from memory 506.

[0041] Program instructions and data used to carry out embodiments of the present invention may be stored in persistent storage 508 and memory 506 for execution by one or more of the respective processors 504 via cache 516. In some embodiments, persistent storage 508 includes a magnetic hard disk drive. Instead of, or in addition to, a magnetic hard disk drive, persistent storage 508 may include a solid hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0042] The media used by the persistent storage 508 may also be removable. For example, a removable hard drive may be used for the persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards inserted into the drive for transfer to another computer-readable storage medium, which is also part of the persistent storage 508.

[0043] In these examples, the communication unit 510 provides communication with other data processing systems or devices. In these examples, the communication unit 510 includes one or more network interface cards. The communication unit 510 may provide communication using either or both physical and wireless communication links. Program instructions and data used to carry out embodiments of the present invention may be downloaded to persistent storage 508 through the communication unit 510.

[0044] The I / O interface(s) 512 enables data input and output with other devices that may be connected to each computer system. For example, the I / O interface(s) 512 may provide a connection to an external device(s) 518, such as a keyboard, keypad, touchscreen, or any other suitable input device, or a combination thereof. The external device(s) 518 may also include portable computer-readable storage media, such as a thumb drive, portable optical or magnetic disk, and memory card. Software and data used to carry out embodiments of the present invention can be stored on such portable computer-readable storage media and loaded into persistent storage(s) 508 via the I / O interface(s) 512. The I / O interface(s) 512 also connects to the display(s) 520.

[0045] The display 520 provides a mechanism for displaying data to the user, and may be, for example, a computer monitor.

[0046] The programs described herein are identified based on the applications in which they are implemented in particular embodiments of the present invention. However, it should be recognized that any specific program names used herein are for convenience only, and therefore the present invention should not be limited to use only in any specific application identified, implied, or both of these names.

[0047] The present invention may be a system, method, or computer program product, or a combination thereof, in an integration of any possible level of technical detail. The computer program product may include a computer-readable storage medium (or more mediums) having computer-readable program instructions for causing a processor to perform an aspect of the present invention.

[0048] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction-executing device. A computer-readable storage medium may, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any preferred combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random-access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, flexible disks, mechanically coded devices such as punch cards or grooved structures with recorded instructions, and any preferred combination thereof. Computer-readable storage media as used herein should not be interpreted as transient signals in themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.

[0049] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or they may be downloaded to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers those computer-readable program instructions for storage in a computer-readable storage medium within each computing / processing device.

[0050] The computer-readable program instructions for performing the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, the programming languages ​​including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may all run on the user's computer, or partially run on the user's computer as a standalone software package, or partially run on the user's computer and partially on a remote computer, or all run on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection to an external computer may be made (for example, via the Internet using an Internet service provider). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by using state information of computer-readable program instructions to personalize the electronic circuit for carrying out aspects of the present invention.

[0051] In this specification, aspects of the present invention are described with reference to flowcharts or block diagrams, or both, of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block in a flowchart or block diagram, or both, and combinations of blocks in a flowchart or block diagram, or both, can be implemented by computer-readable program instructions.

[0052] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing device for generating a machine, thereby creating means for instructions executed through the processor of that computer or other programmable data processing device to implement functions / operations specified in one or more blocks of a flowchart or block diagram or both. These computer-readable program instructions may also be stored in a computer-readable storage medium capable of instructing a computer, programmable data processing device, or other device, or a combination thereof, to function in a particular manner, thereby including a product in which the computer-readable storage medium storing the instructions contains instructions that implement modes of functions / operations specified in one or more blocks of a flowchart or block diagram or both.

[0053] Computer-readable program instructions may also be loaded into a computer, other programmable data processing device, or other device, causing the computer, other programmable device, or other device to perform a series of operational steps to generate a process implemented in the computer, so that the instructions executed in that computer, other programmable device, or other device may implement a function / operation specified in one or more blocks of a flowchart or block diagram or both.

[0054] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing a specified logical function(s). In some alternative implementations, the functions shown within a block may occur in a different order than those shown in the drawings. For example, two consecutively shown blocks may be achieved as a single step, executed simultaneously, executed substantially simultaneously with partial or complete time overlap, or, depending on the functions involved, these blocks may sometimes be executed in reverse order. It will also be noted that each block in a block diagram or flowchart diagram, or both, and any combination of blocks in a block diagram or flowchart diagram, or both, may be implemented by a purpose-specific hardware-based system that performs a specified function or operation, or executes a particular combination of purpose-specific hardware and computer instructions.

[0055] While this disclosure includes a detailed description of cloud computing, it should be understood that the implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented with any other type of computing environment that is currently known or will be developed in the future.

[0056] Cloud computing is a service delivery model that enables convenient on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with service providers. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0057] The characteristics are as follows:

[0058] On-demand self-service: Cloud consumers can unilaterally provision computing functions, such as server time and network storage, automatically as needed, without requiring human interaction with service providers.

[0059] Extensive network access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0060] Resource Pooling: To serve multiple consumers using a multi-tenant model, a provider's computing resources are pooled, and different physical and virtual resources are dynamically allocated and reallocated as needed. While consumers generally have no control or knowledge of the exact location of the resources provided, location independence exists in the sense that they may be able to identify a location at a higher level of abstraction (e.g., country, state, or data center).

[0061] Rapid resilience: Features can be provisioned quickly and resiliently, sometimes automatically, to scale out quickly, and released quickly to scale in quickly. To consumers, the features available for provisioning often appear unlimited, and they can purchase any amount at any time.

[0062] Pay-as-you-go services: Cloud systems automatically control and optimize resource usage by leveraging metric capabilities at an appropriate level of abstraction for the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0063] The service model is as follows:

[0064] Software as a Service (SaaS): The functionality provided to consumers is the use of a provider's applications running on cloud infrastructure. These applications are accessible from various client devices through thin-client interfaces, such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application functionalities, with the only possible exception being limited user-specific application configuration settings.

[0065] Platform as a Service (PaaS): The functionality offered to consumers is the deployment of consumer-created or acquired applications to cloud infrastructure, using programming languages ​​and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they do have control over the deployed applications and, in some cases, the application hosting environment configuration.

[0066] Infrastructure as a Service (IaaS): The functionality provided to consumers is the provisioning of processing, storage, networking, and other fundamental computing resources, which may include operating systems and applications, allowing consumers to deploy and run any software they choose. Consumers do not manage or control the underlying cloud infrastructure, but they have limited control over the operating system, storage, deployed applications, and, in some cases, the selection of networking components (e.g., host firewalls).

[0067] The deployment model is as follows:

[0068] Private Cloud: This cloud infrastructure operates solely for a specific organization. It may be managed by that organization or a third party, and may reside on-premises or off-premises.

[0069] Community Cloud: This cloud infrastructure is shared by multiple organizations to support specific communities with common interests (e.g., missions, security requirements, policies, and compliance considerations). It may be managed by those organizations or third parties and may reside on-premises or off-premises.

[0070] Public Cloud: This cloud infrastructure is made available to the general public or large industrial groups and is owned by an organization that sells cloud services.

[0071] Hybrid Cloud: This cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain separate entities but are joined together by standard or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0072] Cloud computing environments are service-oriented and focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is infrastructure, including a network of interconnected nodes.

[0073] Referring now to Figure 6, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, and local computer devices used by cloud consumers, such as a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or a car computer system 54N, or a combination thereof, may communicate through these cloud computing nodes 10. The nodes 10 may communicate with each other. These nodes may be grouped physically or virtually in one or more networks, such as the private, community, public, or hybrid clouds, or a combination thereof, as described above (not shown). This makes it possible for the cloud computing environment 50 to provide infrastructure, platforms, or software, or a combination thereof, as a service that does not require cloud consumers to maintain resources for it on their local computer devices. The types of computer devices 54A-N shown in Figure 6 are intended to be illustrative only, and it should be understood that the computing node 10 and the cloud computing environment 50 can communicate with any type of computer device through any type of network or network addressable connection (e.g., using a web browser) or both.

[0074] Referring now to Figure 7, a set of functional abstraction layers provided by the cloud computing environment 50 (Figure 6) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 7 are intended to be illustrative only and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0075] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include a mainframe 61, RISC (Reduced Instruction Set Computer) architecture-based servers 62, 63, blade servers 64, storage devices 65, and network and network-forming components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0076] From the abstraction layer provided by the virtualization layer 70, the following examples of virtual entities may be provided: a virtual server 71, virtual storage 72, a virtual network 73 including a virtual private network, a virtual application and operating system 74, and a virtual client 75.

[0077] In one example, the management layer 80 may provide the following functions: Resource provisioning 81 provides dynamic procurement of computing and other resources used to perform tasks within the cloud computing environment. Measurement and pricing 82 provides cost tracking as resources are used within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection of data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources to ensure that required service levels are met. Service level agreement (SLA) planning and implementation 85 provides pre-arrangements and procurement for cloud computing resources whose future demands are anticipated by SLAs.

[0078] Workload Layer 90 provides examples of functions that may be used in a cloud computing environment. Examples of workloads and functions that may be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom education delivery 93, data analysis processing 94, transaction processing 95, and interest command programs 112.

[0079] The programs described herein are identified based on the applications in which they are implemented in particular embodiments of the present invention. However, it should be recognized that any specific program names used herein are for convenience only, and therefore the present invention should not be limited to use only in any specific application identified, implied, or both of these names.

[0080] The present invention may be a system, method, or computer program product, or a combination thereof, in an integration of any possible level of technical detail. The computer program product may include a computer-readable storage medium (or more mediums) having computer-readable program instructions for causing a processor to perform an aspect of the present invention.

[0081] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction-executing device. A computer-readable storage medium may, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any preferred combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random-access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, flexible disks, mechanically coded devices such as punch cards or grooved structures with recorded instructions, and any preferred combination thereof. Computer-readable storage media as used herein should not be interpreted as transient signals in themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.

[0082] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or they may be downloaded to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers those computer-readable program instructions for storage in a computer-readable storage medium within each computing / processing device.

[0083] The computer-readable program instructions for performing the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, the programming languages ​​including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may all run on the user's computer, or partially run on the user's computer as a standalone software package, or partially run on the user's computer and partially on a remote computer, or all run on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection to an external computer may be made (for example, via the Internet using an Internet service provider). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by using state information of computer-readable program instructions to personalize the electronic circuit for carrying out aspects of the present invention.

[0084] In this specification, aspects of the present invention are described with reference to flowcharts or block diagrams, or both, of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block in a flowchart or block diagram, or both, and combinations of blocks in a flowchart or block diagram, or both, can be implemented by computer-readable program instructions.

[0085] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing device for generating a machine, thereby creating means for instructions executed through the processor of that computer or other programmable data processing device to implement functions / operations specified in one or more blocks of a flowchart or block diagram or both. These computer-readable program instructions may also be stored in a computer-readable storage medium capable of instructing a computer, programmable data processing device, or other device, or a combination thereof, to function in a particular manner, thereby including a product in which the computer-readable storage medium storing the instructions contains instructions that implement modes of functions / operations specified in one or more blocks of a flowchart or block diagram or both.

[0086] Computer-readable program instructions may also be loaded into a computer, other programmable data processing device, or other device, causing the computer, other programmable device, or other device to perform a series of operational steps to generate a process implemented in the computer, so that the instructions executed in that computer, other programmable device, or other device may implement a function / operation specified in one or more blocks of a flowchart or block diagram or both.

[0087] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which includes one or more executable instructions for implementing a specified logical function(s). In some alternative implementations, the functions shown within a block may occur in a different order than those shown in the drawings. For example, two consecutively shown blocks may be achieved as a single step, executed simultaneously, executed substantially simultaneously with partial or complete time overlap, or, depending on the functions involved, these blocks may sometimes be executed in reverse order. It will also be noted that each block in a block diagram or flowchart diagram, or both, and any combination of blocks in a block diagram or flowchart diagram, or both, may be implemented by a purpose-specific hardware-based system that performs a specified function or operation, or executes a particular combination of purpose-specific hardware and computer instructions.

Claims

1. Determining the user's interests based on data received from an electronic device related to the user, wherein the data includes audible sounds captured from the user and one or more facial expressions of the user. Determining the grade of interest based on data received from an electronic device associated with the user, Based on a plurality of wavelengths associated with the user profile for the user, a first wavelength in the audible voice from the user is identified, and the command detection mode is initiated. Identifying the topic of the audible speech from the user, In response to determining that the intelligent virtual assistant is the target recipient based on the aforementioned topic, the activation word for the intelligent virtual assistant is suspended. Based on the aforementioned grade of interest, the search depth score for the commands that can be executed by the intelligent virtual assistant within the user's audible voice is determined. Sending the depth score of the search for the command that can be executed by the intelligent virtual assistant to the backend search engine. A method of execution by computer information processing, including [the specified method].

2. Identifying a first set of wavelengths from the plurality of wavelengths associated with the user profile for the user, wherein the first set of wavelengths is associated with a first plurality of questions presented to the intelligent virtual assistant. Performing a wavelength clarification test to identify a second set of wavelengths from the plurality of wavelengths associated with the user, wherein the wavelength clarification test is performed in which the second set of wavelengths is associated with a second plurality of questions not presented to the intelligent virtual assistant. Establishing the user profile for the user based on the first wavelength set and the second wavelength set. The method according to claim 1, further comprising:

3. Performing the aforementioned wavelength clarification test is Sending multiple sample questions to the aforementioned intelligent virtual assistant, The instruction to the intelligent virtual assistant to ask the user to repeat the plurality of sample questions aloud, wherein the plurality of sample questions are not related to commands that can be executed by the intelligent virtual assistant, Identifying the second set of wavelengths for the multiple sample questions repeated aloud by the user. The method according to claim 2, further comprising:

4. In response to sending the search depth score to the backend search engine, provide the user with a response time to execute the command that can be performed by the intelligent virtual assistant based on the search depth score. The method according to claim 1, further comprising:

5. The method according to claim 4, further comprising receiving a modification to the search depth score from the user, wherein the modified search depth score changes the response time for executing the command that can be performed by the intelligent virtual assistant.

6. Determining the interests of a user based on data received from an electronic device related to the user, wherein the data includes audible sounds captured from the user and one or more facial expressions of the user. Based on a plurality of wavelengths associated with the user profile for the user, a first wavelength in the audible voice from the user is identified, and the command detection mode is initiated. Identifying the topic of the audible speech from the user, In response to determining that the intelligent virtual assistant is the target recipient based on the aforementioned topic, the activation word for the intelligent virtual assistant is suspended. A method including, the said method, Analyzing the commands that can be executed by the intelligent virtual assistant within the audible voice of the user, Determining at least two knowledge bases for the commands that can be executed by the intelligent virtual assistant, wherein a backend search engine uses the at least two knowledge bases to retrieve responses to the commands that can be executed by the intelligent virtual assistant, In response to the decision that parallelization of the at least two knowledge bases will be supported, the search will be parallelized using the at least two knowledge bases. Methods that further include this.

7. Determining the interests of a user based on data received from an electronic device related to the user, wherein the data includes audible sounds captured from the user and one or more facial expressions of the user. Based on a plurality of wavelengths associated with the user profile for the user, a first wavelength in the audible voice from the user is identified, and the command detection mode is initiated. Identifying the topic of the audible speech from the user, In response to determining that the intelligent virtual assistant is the target recipient based on the aforementioned topic, the activation word for the intelligent virtual assistant is suspended. A method including, the said method, Analyzing the commands that can be executed by the intelligent virtual assistant within the audible voice of the user, Determining at least two knowledge bases for the commands that can be executed by the intelligent virtual assistant, wherein a backend search engine uses the at least two knowledge bases to retrieve responses to the commands that can be executed by the intelligent virtual assistant, In response to the decision that parallelization of the aforementioned two knowledge bases is not supported, the first knowledge base is loaded into the backend search engine, Transmitting the results from the first knowledge base to the second knowledge base Methods that further include this.

8. A computer program for causing a computer to perform the method described in any one of claims 1 to 7.

9. A computer-readable storage medium recording the computer program described in claim 8.

10. One or more computer processors, One or more computer-readable storage media, Program instructions stored in the one or more computer-readable storage media for execution by at least one of the one or more computer processors and A computer system including, wherein the program instruction is A program instruction for determining a user's interests based on data received from an electronic device related to the user, wherein the data includes audible sounds captured from the user and one or more facial expressions of the user; A program instruction for determining the grade of interest based on data received from an electronic device related to the user, A program instruction for initiating a command detection mode by identifying a first wavelength in the audible voice from the user based on a plurality of wavelengths related to the user profile for the user, A program instruction for identifying the topic of the audible speech from the user, In response to determining that the intelligent virtual assistant is the target recipient based on the aforementioned topic, a program instruction to suspend the activation word for the intelligent virtual assistant, A program instruction for determining the search depth score for commands that can be executed by the intelligent virtual assistant in the user's audible voice, based on the grade of interest, A program instruction for sending the search depth score for the command, which can be executed by the Intelligent Virtual Assistant, to the backend search engine. A computer system that includes [a specific feature / function].

Citation Information

Patent Citations

  • Information processing apparatus, information processing system, information processing method, and program

    JP2017049710A

  • Speech recognition system, generation method for learned model, control method for speech recognition system, program, and moving body

    JP2020095121A

  • User focus activated voice recognition

    US20170169818A1

  • Proactive chatting apparatus

    US20190035394A1