A method, computer program, and computer system for communicating between multiple computing devices based on voice commands (execution of voice commands).
The system addresses the limitations of current speech recognition by dynamically authenticating multiple users through voice command analysis, enabling secure communication between AI devices without user input, thus enhancing efficiency and security in multi-user scenarios.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2021-09-21
- Publication Date
- 2026-05-11
AI Technical Summary
Current speech recognition technology systems require user input and authentication for a single user, limiting communication between multiple artificial intelligence devices and failing to dynamically authenticate identities of multiple users.
A system that analyzes voice commands using natural language processing to identify contextual factors, dynamically authenticates users, and enables communication between multiple AI devices without requiring user input by transmitting voice commands and establishing communication lines based on security factors and risk thresholds.
Enables efficient communication between multiple AI devices by authenticating multiple users based on voice commands, allowing seamless information exchange without additional user input and enhancing security through context-based permissions.
Smart Images

Figure 0007856370000001 
Figure 0007856370000002 
Figure 0007856370000003
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of voice command system technology, and more specifically, to artificial intelligence voice assistance system technology.
Background Art
[0002] A microphone is a device that converts sound into an electrical signal. Microphones are used in many applications such as telephones, hearing aids, broadcast equipment for concert halls and public events, movie production, live and recorded acoustics, recording, two-way radios, megaphones, radio and television broadcasts. They are also used for voice recording in computers, for voice recognition, and for non-acoustic purposes such as ultrasonic sensors or knock sensors. There are several types of microphones in use today, which employ different methods to convert the air pressure fluctuations of sound waves into electrical signals. The most common ones are dynamic microphones that use a wire coil suspended in a magnetic field, condenser microphones that use a vibrating diaphragm as a condenser plate, and contact microphones that use crystals of piezoelectric materials. Microphones usually need to be connected to a preamplifier before the signal is recorded or reproduced.
[0003] A loudspeaker is an electroacoustic transducer, a device that converts electrical audio signals into corresponding sound. The most widely used type of speaker is the dynamic speaker. The sound source (e.g., recording or microphone) needs to be amplified or enhanced by an audio power amplifier before the signal is sent to the speaker. A dynamic speaker operates on the same basic principle as a dynamic microphone, but in reverse, it generates sound from an electrical signal. When an alternating electrical audio signal is applied to an audio coil, which is a coil of wire suspended in a circular gap between the poles of a permanent magnet, the coil is forced to move rapidly back and forth by Faraday's law of induction, causing a diaphragm (usually conical) attached to the coil to move back and forth, pushing air and generating sound waves. In addition to this most common method, there are several alternative techniques that can be used to convert electrical signals into sound. Speakers are typically housed in a speaker enclosure, and the material and design of this enclosure play a crucial role in sound quality. The enclosure should generally be as rigid and non-resonant as possible. Small loudspeakers are found in devices such as radios, televisions, portable audio players, computers, and electronic musical instruments. Larger loudspeaker systems are used in music, theaters, and concert halls for public address and sound systems. [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] This enables multiple artificial intelligence devices to communicate with each other without requiring user input. [Means for solving the problem]
[0005] Embodiments of the present invention provide a computer system, a computer program product, and a method comprising: analyzing a received voice command by identifying a plurality of contextual factors associated with at least one user among a plurality of users using a natural language processing algorithm; dynamically identifying at least one user among a plurality of users based on the analysis of the identified contextual factors associated with the received voice command; transmitting the received voice command to another computing device in a plurality of computing devices associated with another user among a plurality of users; and generating communication lines between the plurality of computing devices based on a correlation between the sum of a plurality of security factors and a predetermined threshold of risk associated with authenticating the identity of each user among a plurality of users. [Brief explanation of the drawing]
[0006] [Figure 1] This is a functional block diagram illustrating an environment comprising a computing device connected to or communicating with another computing device, according to at least one embodiment of the present invention. [Figure 2] This flowchart shows the operational steps for dynamically authenticating voice commands from multiple users according to at least one embodiment of the present invention. [Figure 3] This flowchart shows the operational steps for establishing communication between multiple artificial intelligence devices according to at least one embodiment of the present invention. [Figure 4] A block diagram of the components of a computing system in the computing display environment of Figure 1, according to one embodiment of the present invention, is shown. [Modes for carrying out the invention]
[0007] Embodiments of the present invention recognize the need to improve current speech recognition technology systems, which are initiated by a wake-up command and authenticated by a single user associated with a speech recognition device. Currently, speech recognition technology systems require a user known to the device to submit a voice command following an initiation command, where the voice command can be the execution of a task or a retrieval request. Generally, a speech recognition technology system does not communicate with other speech recognition technology systems associated with unknown users. Furthermore, current speech recognition technology systems authenticate the identity of a single user based on voice identification at a given time. Embodiments of the present invention improve these speech recognition technology systems by enabling users to transmit voice commands without requiring a wake-up command, dynamically authenticating the identities of multiple users based on the voice identifications of known and unknown users by storing the voice identifications of known users and querying the voices of unknown users in a database of possible user voices, transmitting information between multiple speech recognition devices associated with multiple users without requiring multiple authentication steps, and enabling multiple artificial intelligence devices to communicate with each other without requiring user input. Embodiments of the present invention bring an improvement to a voice recognition technology system that enables multiple artificial intelligence devices to communicate with each other without requiring user input by analyzing voice commands and defining individual security based on the context of the voice command, the time or event-based permission period of the voice command, and the location-based permission of the voice command. Embodiments of the present invention improve the efficiency of communication between multiple artificial intelligence devices by receiving data which is a voice command, analyzing the received voice command for a requested factor using an artificial intelligence voice-assisted algorithm, dynamically identifying the appropriate user associated with the requested factor in a database of multiple users, transmitting the requested factor to the identified appropriate user, and enabling communication between multiple users associated with the requested factor.
[0008] Figure 1 is a functional block diagram of a computing environment 100 according to an embodiment of the present invention. The computing environment 100 includes a computing device 102 and a server computing device 108. The computing device 102 and the server computing device 108 can be a desktop computer, a laptop computer, a dedicated computer server, a smartphone, wearable technology, or any other computing device well known in the art. In certain embodiments, the computing device 102 and the server computing device 108 can represent a computing device using multiple computers or components so as to function as a single pool of seamless resources when accessed through a network 106. Generally, the computing device 102 and the server computing device 108 can represent any electronic device, or combination of electronic devices, capable of executing machine-readable program instructions, as will be described in more detail with respect to Figure 3.
[0009] A computing device may contain program 104. Program 104 may be a standalone program 104 on the computing device. In another embodiment, program 104 may be stored on a server computing device 108. In this embodiment, program 104 establishes communication between multiple artificial intelligence devices without requiring user input, provides information about a user in response to receiving request permission from a user associated with a particular artificial intelligence device, and determines the amount of access to be granted to different artificial intelligence devices in response to authenticating the artificial intelligence device. In this embodiment, program 104 receives data from at least one user, the received data being a voice command. In this embodiment, program 104 analyzes the received data for the request and associated factors in the voice command using an artificial intelligence voice-assisted algorithm. In this embodiment, program 104 dynamically identifies the user associated with the requested contextual factors by comparing the received data with multiple entries in a database of data associated with multiple users. In this embodiment, based on the analysis of the received voice command and the identified request factors, program 104 transmits the received data to another computing device associated with a different user. In another embodiment, program 104 opens communication lines between multiple users associated with an identified request factor and multiple computing devices 102 associated with those users. For example, in response to user A executing a voice command to schedule a vacation together with user B, program 104 generates communication between the artificial intelligence associated with user A and the artificial intelligence device associated with user B by accessing user B's vacation plan, identifying user B's contact information from a directory, and initiating communication between the multiple artificial intelligence devices, and in response to user B granting permission to the artificial intelligence device associated with user B, user A receives the necessary information from user B.
[0010] Network 106 can be a local area network ("LAN"), a wide area network ("WAN") such as the Internet, or a combination of the two, and may include wired, wireless, or fiber optic connections. Generally, network 106 can be any combination of connections and protocols that support communication between computing device 102 and server computing device 108, specifically program 104, according to a preferred embodiment of the present invention.
[0011] The server computing device 108 may contain a program 104 and can communicate with computing device 102 via the network 106.
[0012] Figure 2 is a flowchart 200 illustrating the operational steps for transmitting a received voice command associated with at least one user to another computing device associated with another user.
[0013] In step 202, program 104 receives data from at least one user. In this embodiment, program 104 receives data from at least one user among multiple users, and the received data includes voice commands. In this embodiment, program 104 defines data as information representing a command from a user. In this embodiment, program 104 receives voice data, video data, image data, and text data. In this embodiment, program 104 receives voice commands associated with the execution of future actions. In this embodiment, program 104 defines voice commands as instructions transmitted to an artificial intelligence device, and these instructions are associated with the execution of future actions. In another embodiment, program 104 receives a wake-up command before receiving any data from a user. For example, program 104 receives a voice command to schedule a vacation for a user's family of four and coordinate that vacation with another user's vacation plan. In another example, program 104 receives a voice command to make a restaurant reservation for user A and user B.
[0014] In step 204, program 104 analyzes the received data. In this embodiment, program 104 analyzes the received data about contextual factors associated with the user by identifying the identity associated with the user based on the received voice command. In this embodiment, program 104 uses a natural language programming algorithm to identify the identity associated with the user. In this embodiment, program 104 defines contextual factors as factors that provide additional information to the received voice command. In this embodiment, program 104 uses an artificial intelligence voice assistance algorithm to analyze the received data about the request factor. In this embodiment, program 104 can receive voice commands even when the user is not near the artificial intelligence device by pairing the user's associated mobile phone with the artificial intelligence device in order to receive voice commands at any location. In this embodiment, program 104 can transmit a transcript of the voice command to the paired mobile phone in response to receiving a voice command from the artificial intelligence device. For example, program 104 analyzes the received voice command to identify that other users are needed to complete future tasks, such as when another user is associated with future vacation plans.
[0015] In step 206, program 104 dynamically identifies at least one user. In this embodiment, program 104 analyzes a received voice command associated with at least one user, identifies multiple indicator markers in the analysis of the received voice command, and dynamically identifies at least one user from among multiple users based on the analysis of the received voice command by matching the identified indicator markers based on contextual factors associated with the voice command received by the user against a database of stored indicator markers associated with additional user identities, using natural language programming algorithms and artificial intelligence algorithms. In this embodiment, program 104 defines indicator markers as signs or indicators of identity associated with a user. For example, program 104 identifies voice patterns, bass, treble, and accent as indicator markers. In this embodiment, if the multiple indicator markers do not match the database of stored indicator markers, program 104 generates a notification to the user associated with the artificial intelligence device requesting permission to transmit the received voice command. In this embodiment, program 104 uses a neuro-linguistic programming algorithm to compare a directive marker associated with the user's identity with a requested contextual factor, based on at least one voice feature unique to the identified user. In another embodiment, in response to identifying a user, program 104 identifies any references associated with the user, such as a phone number, address, and security preferences. In this embodiment, program 104 accesses user-associated directories and identifies additional users based on mobile phone numbers or identified voice recognition. For example, program 104 dynamically identifies a received voice command delivered by user A and includes information from users B and C to complete future implementations.
[0016] In step 208, program 104 transmits the received data to another computing device 102. In this embodiment, program 104 transmits the received voice command associated with the first user to another computing device 102 associated with the second user, where the second user is required to complete the future execution associated with the received voice command. In this embodiment, program 104 transmits the received voice command to the second computing device 102 in response to authenticating the identity of the first user. In another embodiment, program 104 transmits the received voice command to the computing device 102 associated with the second user without authenticating the identity of the first user, based on the contextual factors associated with the received voice command. For example, because the vacation information request includes the vacation schedules of users B and C, program 104 transmits vacation information for user A to computing device 102 associated with user B and another computing device 102 associated with user C.
[0017] In step 210, program 104 generates communication lines between the computing devices 102 of the identified users. In this embodiment, in response to transmitting a received voice command associated with the first user to the computing device 102 of the second user, program 104 receives security factor input from the user, identifies the type of communication occurring between the multiple artificial intelligence devices, and establishes communication between the multiple artificial intelligence devices without authenticating the identity of all users by aggregating the security factor input received from the multiple users and the identified type of communication. This step is further illustrated in Figure 3. In this embodiment, program 104 generates communication lines between the multiple computing devices based on the sum of multiple security factors that meet or exceed a predetermined threshold of risk associated with authenticating the identity of each user among the multiple users. In this embodiment, by initiating the lines, the multiple users can decide whether to take future actions. In this embodiment, program 104 determines the amount of information to be shared among the multiple users based on the received user input. For example, program 104 generates communication lines between multiple computing devices associated with multiple users and coordinates the vacation plans of user A with those of users B and C, but does not provide shopping information.
[0018] Figure 3 is a flowchart 300 illustrating the operational steps for generating communication lines between multiple artificial intelligence devices without authenticating the identity of a user associated with one of the multiple artificial intelligence devices, according to at least one embodiment of the present invention.
[0019] In step 302, program 104 receives a set of security factors associated with the user. In this embodiment, in response to the execution of a voice command on the artificial intelligence device, program 104 prioritizes each of the security factors associated with the user associated with the artificial intelligence device by assigning a weight value to each of the security factors, and ranks each of the security factors based on the assigned weight value, where the security factor with the highest weight value is given the highest priority and the security factor with the lowest weight value is given the lowest priority. In this embodiment, program 104 assigns weight values to each security factor based on the received user preference. For example, program 104 defines information associated with finance as a security factor, information associated with time-dependent information as a security factor, and information associated with private user data as a security factor. In this embodiment, program 104 defines security factors as instruction markers associated with voice commands requesting permission from the user before distributing information. In this embodiment, program 104 receives security preferences for each user, edits the received security preferences or multiple users, and identifies multiple security factors for each user by determining similarities and differences between the edited security preferences using machine learning algorithms and artificial intelligence algorithms, where the multiple security factors are based on the context of the information, time-based permission information, event-based permission information, and location-based permission information. In this embodiment, program 104 adds a time component to the multiple security factors, where program 104 terminates communication upon the expiration of the added time component.For example, user B enters that only food information will be shared for the next 20 minutes, or until user A communicates with the reservation information.
[0020] In step 304, program 104 identifies the type of communication associated with multiple security factors. In this embodiment, program 104 determines which of the multiple security factors is required based on the identified type of communication. In this embodiment, program 104 identifies the type of communication by analyzing the voice commands executed in contextual language indicating the type of communication using a natural language programming algorithm. In this embodiment, program 104 processes a large amount of natural language data and provides speech recognition, natural language understanding, and natural language generation using a natural language programming algorithm. For example, if user A and user B are discussing a restaurant reservation, program 104 identifies the food selection and food preferences within the communication between multiple artificial intelligence devices.
[0021] In step 306, program 104 aggregates multiple security factors associated with multiple artificial intelligence devices based on the identified type of communication. In this embodiment, program 104 identifies the prioritization of security factors associated with each artificial intelligence device by assigning weighting values (i.e., in the range of 0 to 3, where 3 is the highest security preference received from the user) to the highest-ranked security factor, applies the prioritization of each security factor associated with each artificial intelligence device to edit the multiple security factors into a prioritized security factor using machine learning algorithms and artificial intelligence algorithms, aggregates the value of each security factor in the multiple security factors by synchronizing the entire prioritized security factor based on the received user preferences associated with multiple users, where synchronization requests permission from the user when the identified type of communication meets or exceeds a predetermined risk threshold. In this embodiment, in response to multiple security factors meeting or exceeding a predetermined risk threshold, program 104 defines the relationship between the multiple security factors and the predetermined risk threshold as a correlation. In this embodiment, program 104 defines a predetermined threshold of risk associated with a security factor as an aggregated assigned weight value of 5. In this embodiment, program 104 requests authentication from the user associated with the artificial intelligence device receiving the voice command in response to whether the identified type of communication meets or exceeds the predetermined threshold of risk.
[0022] For example, program 104 identifies that user A prioritizes time-dependent security factors over financial security factors, user B prioritizes geographical security factors over financial security factors and time-dependent security factors, and user C prioritizes financial security factors over time-dependent security factors and geographical security factors, and applies a prioritization of received user preferences associated with multiple users. In this example, in response to applying prioritization, program 104 compiles an entire prioritization list having the financial security factor as the highest security factor, receiving an aggregated assigned weight of 8, based on the fact that User A assigns a value of 2 to this security factor, User B assigns a value of 3 to this security factor, and User C assigns a value of 3 to this security factor, and these aggregate to total 8; the time-dependent security factor, receiving an aggregated assigned weight of 6, based on the fact that User A assigns a value of 3 to this security factor, User B assigns a value of 1 to this security factor, and User C assigns a value of 2 to this security factor, and these aggregate to total 6; and the geographic security factor, receiving an aggregated assigned weight of 4, based on the fact that User A assigns a value of 0 to this security factor, User B assigns a value of 3 to this security factor, and User C assigns a value of 1 to this security factor, and these aggregate to total 4. In this example, in response to aggregating values for each of the multiple security factors, program 104 synchronizes the entire prioritized security factors by generating notifications to multiple users detailing the presence of financial security factors and time-dependent security factors in the received voice commands.In this example, program 104 requests authentication from multiple users for types of communications having an aggregated security value that meets or exceeds a predetermined threshold of risk, here 5, and thus generates a notification requesting authentication from multiple users regarding types of communications associated with financial security factors and time-dependent security factors.
[0023] In this embodiment, in response to a user not being able to place a security factor within their preferences, program 104 assigns a weight value of 0 for the absence of a security factor. In this embodiment, program 104 does not increase the assigned weight value added to a security factor in response to a user not being able to prioritize any other security factors within the received user preferences. In this embodiment, program 104 transmits an authentication (i.e., permission) request to a user associated with an artificial intelligence device that receives a voice command in response to the security factor associated with the type of communication for the received voice command meeting or exceeding a predetermined threshold of risk. In another embodiment, program 104 generates a communication line that enables the transmission of other forms of data without authentication, where these other forms of data include image data, video data, and audio data.
[0024] In this embodiment, the program 104 aggregates multiple security factors by synchronizing each user preference associated with each security factor. In this embodiment, in response to applying a prioritization of each security factor associated with each artificial intelligence and synchronizing the editing of multiple security factors, the program 104 calculates the total security score of each security factor within the multiple security factors based on the assigned weighting value for each security factor, edits the priority, and places the more highly weighted security factors in higher positions across each artificial intelligence device associated with each user. For example, User A and User B rank finance as their most highly weighted security factor, and thus the program 104 aggregates each voice command and the multiple security factors associated with each user to reflect each security factor.
[0025] FIG. 4 shows a block diagram of components of a computing system within the computing environment 100 of FIG. 1, according to one embodiment of the present invention. It should be understood that FIG. 4 provides only an illustration of one implementation and does not imply any limitations regarding environments in which different embodiments may be implemented. Many changes may be made to the depicted environment.
[0026] The programs described herein are identified based on their use in implementing them in particular embodiments of the present invention. However, it should be understood that any particular program terms herein are used for convenience only and thus the present invention should not be limited to use only in any particular application specified or suggested, or both, by such terms.
[0027] The computer system 400 includes a communication fabric 402 that provides communication between a cache 416, memory 406, persistent storage 408, a communication unit 412, and an input / output (I / O) interface 414. The communication fabric 402 can be implemented to have any architecture designed to pass data or control information, or both, between processors (such as microprocessors, communication and network processors), system memory, peripherals, and any other hardware components in the system. For example, the communication fabric 402 can be implemented with one or more buses or crossbar switches.
[0028] Memory 406 and persistent storage 408 are computer-readable storage media. In this embodiment, memory 406 includes random access memory (RAM). Generally, memory 406 may include some suitable volatile or non-volatile computer-readable storage media. Cache 416 is a high-speed memory that improves the performance of the computer processor 404 by holding recently accessed data from memory 406 and data accessed close to the accessed data.
[0029] The program 104 can be stored in persistent storage 408 and memory 406 for execution by one or more of the respective computer processors 404 via the cache 416. In one embodiment, persistent storage 408 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 408 may include a solid-state hard drive, a semiconductor memory 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.
[0030] The media used by persistent storage 408 can also be removable. For example, a removable hard drive can be used with persistent storage 408. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into the drive for transfer to another computer-readable storage medium that is also part of persistent storage 408.
[0031] In these examples, the communication unit 412 provides communication with other data processing systems or devices. In these examples, the communication unit 412 includes one or more network interface cards. The communication unit 412 can provide communication using either or both physical communication links and wireless communication links. The program 104 can be downloaded to persistent storage 408 through the communication unit 412.
[0032] The I / O interface 414 enables data input and output to and from other devices that can be connected to a mobile device, authorization device, or server computing device 108 or a combination thereof. For example, the I / O interface 414 can provide connection to an external device 418 such as a keyboard, keypad, touchscreen, or any other suitable input device or a combination thereof. The external device 418 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 implement embodiments of the present invention, such as program 104, can be stored on such portable computer-readable storage media and loaded into persistent storage 408 via the I / O interface 414. The I / O interface 414 also connects to the display 422.
[0033] The display 422 provides a mechanism for displaying data to the user and can be, for example, a computer monitor.
[0034] The present invention may be a system, method, or computer program product or combination thereof. The computer program product may include one or more computer-readable storage media having computer-readable program instructions thereon for causing a processor to execute aspects of the present invention.
[0035] Computer-readable storage media can be tangible devices capable of holding and storing instructions used by instruction execution devices. Computer-readable storage media can be, for example, but are not limited to, electronic memory devices, magnetic memory devices, optical memory devices, electromagnetic memory devices, semiconductor memory devices, or any suitable combination of the above. 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, floppy disks, mechanically encoded devices such as punch cards or grooves on which instructions are recorded, and any suitable combination of the above. As used herein, computer-readable storage media are not interpreted as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through optical fiber cables), or electrical signals transmitted through wires.
[0036] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to each computing / processing device, or 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 in each computing / processing device receives computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in computer-readable storage media within each computing / processing device.
[0037] The computer-readable program instructions for performing the operation of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk and C++, and conventional procedural programming languages such as the "C" programming language or a similar programming language. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer through a network of any type, including a local area network (LAN) or a wide area network (WAN), or it may be connected to an external computer (for example, via the Internet using an Internet Service Provider). In some embodiments, an electronic circuit including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by personalizing the electronic circuit using state information of computer-readable program instructions, thereby carrying out aspects of the present invention.
[0038] Aspects of the present invention will be 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 within a flowchart or block diagram, or both, can be implemented by computer-readable program instructions.
[0039] These computer-readable program instructions can be given to the processor of a general-purpose computer, a dedicated computer, or other programmable data processing device to manufacture a machine, thereby creating means for instructions executed by the processor of the computer or other programmable data processing device to perform functions / operations specified in one or more blocks of a flowchart or block diagram, or both. These computer program instructions can also be stored in a computer-readable medium that can instruct a computer, a programmable data processing device, or other device to function in a particular manner, thereby manufacturing a product in which the instructions stored in the computer-readable medium include instructions that perform functions / operations specified in one or more blocks of a flowchart or block diagram, or both.
[0040] Computer program instructions can also be loaded onto a computer, other programmable data processing device, or other device to generate a computer-executed process by having the computer, other programmable device, or other device perform a series of operational steps, thereby providing a process for instructions executed on the computer, other programmable device, or other device to perform functions / operations specified in one or more blocks of a flowchart or block diagram, or both.
[0041] The flowcharts and block diagrams in the drawings 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 part of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions shown within a block may occur in an order different from that shown in the diagram. For example, two consecutively shown blocks may actually be executed substantially simultaneously, depending on the functions involved, or these blocks may sometimes be executed in reverse order. It should also be noted that each block in a block diagram or flowchart, or both, and any combination of blocks in a block diagram or flowchart, or both, can be implemented by a dedicated hardware-based system that performs a specified function or operation, or a combination of dedicated hardware and computer instructions.
[0042] While various embodiments of the present invention have been presented for illustrative purposes, they are not intended to be exhaustive or to limit the embodiments disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The terminology used herein has been selected to best describe the principles of the embodiments, their practical applications, or technological improvements over technologies available on the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for communicating between multiple computing devices based on voice commands using computer information processing, Analyzing received voice commands by identifying multiple contextual factors associated with at least one user among multiple users using a natural language processing algorithm, wherein the at least one user is associated with a computing device. Dynamically identify at least one user among the multiple users based on an analysis of the identified contextual factors associated with the received voice command, The received voice command is transmitted to another computing device within a plurality of computing devices associated with another user among the plurality of users, Receiving security factor inputs related to multiple security factors from each of the aforementioned multiple users, By analyzing the received voice commands, the type of communication associated with the received voice commands occurring between the multiple computing devices is identified. Based on the identified type of communication, the security factor inputs received from the multiple users are totaled, In response to the sum of the security factor inputs received meeting or exceeding a predetermined threshold of risk associated with authenticating the identity of each user among the multiple users, a notification is generated requesting authentication from the user associated with the computing device receiving the voice command. Based on the authentication of the generated notification, or the fact that the sum of the received security factor inputs is less than the predetermined threshold, a communication line is generated between the multiple computing devices. Methods that include...
2. Dynamically identifying at least one user among the aforementioned multiple users is: Based on the analysis of the received voice command, multiple instruction markers are identified, Using natural language programming algorithms and artificial intelligence algorithms, each of the multiple instruction markers based on the identified contextual factors associated with the voice command received by the user is matched against a database containing instruction markers associated with an additional user identity. The method according to claim 1, including the method described in claim 1.
3. Assigning weighted values to each of the security factors among the multiple security factors based on the received security factor input for each of the multiple security factors, Prioritizing each security factor among the multiple security factors associated with each user associated with each computing device within the multiple computing devices by ranking each security factor among the multiple security factors based on the assigned weighting values, The method according to claim 1, further comprising:
4. Prioritizing each security factor within the aforementioned multiple security factors is The security factor with the highest weighting value is given the highest priority, The order of security factors with the lowest weighting values is given a lower priority. The method according to claim 3, including the method described in claim 3.
5. The method according to any one of claims 1 to 4, further comprising generating a notification requesting authentication to a computing device for voice commands that satisfy or exceed predetermined thresholds of the security factors associated with the type of communication associated with the received voice command and the security factors associated with the plurality of security factors.
6. A computer program comprising a program instruction causing a computer to perform the method according to any one of claims 1 to 5.
7. A computer-readable storage medium storing program instructions for causing a computer to execute the method according to any one of claims 1 to 5.
8. A computer system for communicating between multiple computing devices based on voice commands, One or more computer processors, One or more computer-readable storage media, Program instructions stored on one or more computer-readable storage media, which are executed by at least one of the one or more computer processors, The program instructions include, A program instruction for analyzing an received voice command by identifying multiple contextual factors associated with at least one user among multiple users using a natural language processing algorithm, wherein the at least one user is associated with a computing device. A program instruction for dynamically identifying at least one user among the multiple users based on an analysis of the identified contextual factors associated with the received voice command, A program instruction for transmitting the received voice command to another computing device within a plurality of computing devices associated with another user among the plurality of users, A program instruction for receiving security factor inputs related to multiple security factors from each of the aforementioned multiple users, A program instruction for identifying the type of communication associated with the received voice command, occurring between multiple computing devices, by analyzing the received voice command, A program instruction for summing the security factor inputs received from the multiple users based on the identified type of communication, Program instructions for generating a notification requesting authentication from a user associated with a computing device receiving the voice command, in response to the sum of the received security factor inputs meeting or exceeding a predetermined threshold of risk associated with authenticating the identity of each user among the plurality of users, Based on whether authentication is performed on the generated notification, or whether the sum of the received security factor inputs is less than the predetermined threshold, program instructions are issued to generate communication lines between the multiple computing devices. A computer system that includes [a specific feature / function].
9. The program instruction for dynamically identifying at least one user among the multiple users is: Based on the analysis of the received voice command, a program instruction for identifying multiple instruction markers is provided, A program instruction is used to match each of the multiple instruction markers, based on the identified contextual factors associated with the voice command received by the user, against a database containing instruction markers associated with an additional user identity, using natural language programming algorithms and artificial intelligence algorithms. The computer system according to claim 8, including the following:
10. The program instructions stored on the one or more computer-readable storage media are: A program instruction for assigning weighted values to each of the security factors among the multiple security factors based on the received security factor input for each of the multiple users, A program instruction for prioritizing each security factor among the multiple security factors associated with each user associated with each computing device in the multiple computing devices, by ranking each security factor among the multiple security factors based on the assigned weighting values, and The computer system according to claim 8, further comprising:
11. The program instructions for prioritizing each security factor among the plurality of security factors are: A program instruction to place the security factor with the highest weighting value in the highest priority order, Program instructions to place the security factor with the lowest weighting value in a lower priority order. The computer system according to claim 10, including the following:
12. The program instructions stored on the one or more computer-readable storage media are: Program instructions for generating a notification requesting authentication to a computing device for voice commands that meet or exceed predetermined thresholds of the risks associated with the security factors of the plurality of security factors associated with the type of communication associated with the received voice command. A computer system according to any one of claims 8 to 11, further comprising: