systems and methods are provided herein for determining one or more traits of a speaker based on voice analysis to present content item to the speaker. In one example, the method receives a voice query and determines whether the voice query matches within a first confidence threshold of a speaker identification (id) among a plurality of speaker ids stored in a speaker profile. In response to determining that the voice query matches to the speaker id within the first confidence threshold, the method bypasses a trait prediction engine and retrieves a trait among the plurality of traits in the speaker profile associated with the matched speaker id. The method further provides a content item based on the retrieved trait.
|
1. A method comprising:
receiving a voice query;
determining, whether a voice of the voice query matches within a first confidence threshold a speaker identification (id) among a plurality of speaker ids stored in a speaker profile;
in response to determining that the voice matches to the speaker id within the first confidence threshold:
bypassing a trait prediction engine;
retrieving a trait among a plurality of traits stored in the speaker profile associated with the matched speaker id; and
providing a first content item based on the retrieved trait; and
in response to determining that the voice does not match to any of the speaker ids within the first confidence threshold:
triggering the trait prediction engine to determine a second trait based on characteristics of the voice; and
providing a second content item based on the second trait.
10. A system comprising:
a memory configured to store a speaker profile,
a control circuitry coupled to the memory and configured to:
determine, whether a voice of a voice query matches within a first confidence threshold a speaker identification (id) among a plurality of speaker ids stored in the speaker profile;
in response to determining that the voice matches to the speaker id within the first confidence threshold:
bypass a trait prediction engine;
retrieve a trait among a plurality of traits stored in the speaker profile associated with the matched speaker id; and
provide a first content item based on the retrieved trait; and
in response to determining that the voice does not match to any of the speaker ids within the first confidence threshold:
trigger the trait prediction engine to determine a second trait based on characteristics of the voice; and
provide a second content item based on the second trait.
20. A method comprising:
receiving a voice query;
determining, whether a voice of the voice query matches within a first confidence threshold a speaker identification (id) among a plurality of speaker ids stored in a speaker profile;
in response to determining that the voice matches the speaker id within the first confidence threshold:
bypassing a trait prediction engine;
retrieving a trait among a plurality of traits stored in the speaker profile associated with the matched speaker id; and
providing a first content item based on the retrieved trait;
in response to determining that the voice query matched to the speaker id within the first confidence threshold matches with a confidence score that is greater than the first confidence threshold;
updating the trait associated with the matched speaker id with the confidence score greater than the first confidence threshold, wherein the updating comprises:
training the trait prediction engine to predict the updated trait based on biometric fingerprint generated from the voice query matched to the speaker id with the confidence score greater than the first confidence threshold.
19. A system comprising:
a memory configured to store a speaker profile,
a control circuitry coupled to the memory and configured to:
determine, whether a voice of a voice query matches within a first confidence threshold a speaker identification (id) among a plurality of speaker ids stored in the speaker profile;
in response to determining that the voice matches to the speaker id within the first confidence threshold:
bypass a trait prediction engine;
retrieve a trait among a plurality of traits stored in the speaker profile associated with the matched speaker id; and
provide a first content item based on the retrieved trait;
determine that the voice query matched to the speaker id within the first confidence threshold matches with a confidence score greater than the first confidence threshold;
update the trait associated with the matched speaker id with the confidence score greater than the first confidence threshold, wherein to update the retrieved trait the control circuitry is configured to: train the trait prediction engine to predict the updated trait based on biometric fingerprint generated from the voice query matched to the speaker id with the confidence score greater than the first confidence threshold.
3. The method of
in response to determining that the voice query does not match to any of the speaker ids within the first confidence threshold:
creating a new speaker id associated with the second trait, wherein the new speaker id is generated based on the received voice query.
4. The method of
determining that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold;
updating the trait associated with the matched speaker id with the confidence score greater than the first confidence threshold.
5. The method of
training the trait prediction engine to predict the updated trait based on biometric fingerprint generated from the voice query matched to the speaker id with the confidence score greater than the first confidence threshold.
6. The method of
determining that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold;
determining that the retrieved trait associated with the matched speaker id with the confidence score greater than the first confidence threshold is not within a trait threshold; and
updating the retrieved trait.
7. The method of
determining that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold; and
updating a biometric fingerprint associated with the matched speaker id.
8. The method of
replacing the biometric fingerprint associated with the matched speaker id with a biometric fingerprint generated from the voice query.
9. The method of
generating a biometric fingerprint from the voice query;
comparing the generated biometric fingerprint with a plurality of biometric fingerprints stored in the speaker profile, wherein each of the plurality of biometric fingerprints corresponds to a respective speaker id among the plurality of speaker ids.
11. The system of
update the profile with the second trait.
12. The system of
in response to determining that the voice query does not match to any of the speaker ids within the first confidence threshold:
create a new speaker id associated with the second trait, wherein the new speaker id is generated based on the received voice query.
13. The system of
determine that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold;
update the trait associated with the matched speaker id with the confidence score greater than the first confidence threshold.
14. The system of
train the trait prediction engine to predict the updated trait based on biometric fingerprint generated from the voice query matched to the speaker id with the confidence score greater than the first confidence threshold.
15. The system of
determine that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold;
determine that the retrieved trait associated with the matched speaker id with the confidence score greater than the first confidence threshold is not within a trait threshold; and
update the retrieved trait.
16. The system of
determine that the voice query matched to the speaker id within the first confidence threshold matched with a confidence score that is greater than the first confidence threshold; and
update a biometric fingerprint associated with the matched speaker id.
17. The system of
replace the biometric fingerprint associated with the matched speaker id with a biometric fingerprint generated from the voice query.
18. The system of
generate a biometric fingerprint from the voice query;
compare the generated biometric fingerprint with a plurality of biometric fingerprints stored in the speaker profile, wherein each of the plurality of biometric fingerprints correspond to a respective speaker id among the plurality of speaker ids.
|
The present disclosure is directed to systems and methods for determining one or more traits of a speaker based on voice analysis to present content to the speaker. In particular, systems and methods are provided for either bypassing trait prediction or invoking the trait prediction based on confidence level in identity of the speaker determined from the voice analysis.
Voice analysis applications use biometric fingerprints to uniquely identify voice for natural language understanding (NLU) to address use cases such as determining authentication of a speaker, providing content personalized to the speaker. Such applications analyze audio signals of a speaker to invoke a set of application programming interfaces, each of which performs predictions such as identification and traits such as age and gender of the speaker. Conventionally, these predictions are performed by having an ensemble model approach, which may result in inaccuracy of the predictions. Such an ensemble model approach utilizes a supervised learning technique by creating multiple sub-system models to predict the identification and traits of a speaker by using different training data sets. Typically, audio features of a speaker are analyzed to either simultaneously predict traits and identification of the speaker or predict traits before the identification. Thus, sub-system modules are invoked every time during training and during live trait predictions of the speaker, which are both expensive and time-consuming operations.
To solve these problems, systems and methods are provided herein for bypassing one or more sub-systems to predict traits of the speaker. To accomplish this, the system relies on the identity of the speaker to be predicted with a certain confidence level. Upon this identity prediction, one or more traits of the identified speaker are retrieved from an already determined trait profile. Thus, a trait prediction sub-system is invoked only when the identity of the speaker is not predicted with the certain confidence level. Additionally, identity of the speaker is determined without utilizing trait(s) at the time of training and prediction.
In some embodiments, a voice query is received from a speaker. If the system determines that the speaker is identified with a certain confidence level, then a trait associated with the identified speaker is retrieved from a profile and sent to the NLU. However, if the speaker is not identified with the certain confidence level, then a trait prediction engine is invoked to determine trait of the speaker while dynamically creating a new ID for the speaker. For example, a profile is already created for a certain number of members living in a household such that if the speaker is the member then the trait of a member can be retrieved from the profile. However, if the speaker is a guest visiting the household and a profile does not exist for the guest, then the trait prediction engine is invoked to determine the trait of the guest and creates a new ID for the guest.
In some embodiments, ID prediction and trait engine(s) are trained to predict the ID and one or more traits of the speaker. Such training includes processing features of various types of the audio signals of the same speaker to correlate both with the ID and the one or more traits corresponding to the ID. For example, speech features (pitch, frequency, etc.) are utilized to train the ID prediction engines to identify the speaker and to train the trait engine to predict the trait of the speaker. In one embodiment, the trait engine(s) are updated/trained based on the confidence level of the ID prediction engine. For example, if the ID prediction engine predicts the ID of a speaker with a higher confidence level than before, then the trait engine(s) are updated by implying same audio of the speaker.
The above and other objects and advantages of the present disclosure will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
Methods and systems are described herein for determining trait(s) of a speaker based on voice analysis and providing content item based on the determined trait(s). In some embodiments, a trait determination application determines whether a voice query matches within a confidence threshold of a speaker identification (ID) among a plurality of speaker IDs stored in a speaker profile. The speaker profile comprises data including a plurality of unique speaker IDs, a biometric fingerprint (hash) corresponding to each of the speaker IDs and one or more traits corresponding to each of the speaker IDs. In one example, the speaker profile provides data of members of a household. In one embodiment, the method generates a hash from the voice query and compares it with a hash corresponding to each of the speaker IDs to determine whether there is a match within a confidence threshold. In one embodiment, the confidence threshold is predetermined based on the speech features previously captured from the voice query. The confidence threshold is used as a standard to analyze voice quality of the voice captured in real time. In one embodiment, the method determines a match and bypasses a trait prediction engine. The method retrieves one or more traits corresponding to the speaker profile corresponding to the matched speaker ID and provides a content item based on the retrieved trait(s). In one embodiment, the content item is provided based on the trait(s) corresponding with the matched speaker ID. In one example, the voice query is from a father of the household, and the content item is an adult-rated content item. In one example, the voice query is from a child, and the content item is a child-rated content item. In one embodiment, the method does not determine a match within the confidence threshold. In one example, the voice query is from a guest visiting the household. The method invokes the trait prediction engine to predict a trait of the voice query that did not match within the confidence threshold while dynamically generating a new speaker ID for the voice query. The method creates a new entry in the speaker profile with the newly generated speaker ID and the corresponding predicted trait.
As referred to herein, the “content item” should be understood to mean electronically consumable assets, such as online games, virtual, augmented or mixed reality content, direct-to-consumer live streams (such as those provided by Twitch, for example), VR chat applications, VR video players, 360 video content, television programming, as well as pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), video clips, audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, chat sessions, social media, applications, games, and/or any other media or multimedia and/or combination of the same. As referred to herein, the term “multimedia” should be understood to mean content that utilizes at least two different content forms described above, for example, text, audio, images, video, or interactivity content forms. Content may be recorded, played, displayed or accessed by user equipment devices, but can also be part of a live performance.
In various embodiments described herein, “trait determination application” is an application that leverages acoustic features of a voice query to determine trait of the speaker and provide content item based on the trait to present to the speaker. In some embodiments, the trait determination application may be provided as an on-line application (i.e., provided on a website), or as a stand-alone application on a server, user device, etc. Various devices and platforms that may implement the trait determination application are described in more detail below. In some embodiments, the trait determination application, and/or any instructions for performing any of the embodiments discussed herein may be encoded on computer-readable media. Computer-readable media includes any capable of storing instructions and/or data. The computer-readable may be transitory, including, but not limited to, propagating electrical or electromagnetic signals, or may be non-transitory, including, but not limited to, volatile and nonvolatile computer memory or storage devices such as a hard disk, floppy disk, USB drive, DVD, CD, card, register memory, processor caches, Random Access Memory (“RAM”), etc.
At block 106, a hash (hash value) is generated based on a voice query. In one embodiment, a hash is a biometric fingerprint generated (e.g., audio processing 402 in
Returning back to block 110, when it is determined that the generated hash does not match with any hash among the hashes in speaker profile 150 within the first confidence threshold, the trait determination application analyzes the voice query using a trait prediction engine (e.g., 206 in
In some embodiments, the audio processing circuitry 202 performs a voice processing application such as automatic speech recognition (ASR) by utilizing acoustic features extracted from audio of the voice query. In some embodiments, the voice processing application compares acoustic features of raw audio from the voice query with previously determined acoustic features to determine whether there is a match. In some embodiments, the voice processing application may generate a biometric fingerprint uniquely identifying the voice of the speaker. For example, the voice processing application may identify unique characteristics or features of the voice of the speaker (e.g., tone, pitch, pace, etc.) and may store in a data structure a value for each of those features that are unique to the speaker. For example, the voice processing application may determine a unique pitch value, tone value and pace associated with the speaking of the speaker and may store those values in a profile of the speaker. In one embodiment, the voice processing application may generate a biometric fingerprint for the voice input (e.g., by analyzing the features of the voice input). In one embodiment, the voice processing application may generate the biometric fingerprint for each speaker of a plurality of speakers (e.g., plurality of speakers having access to input/output device 105). For example, the voice processing application may generate a biometric fingerprint for the voice input (e.g., by analyzing the features of the voice input as discussed above). In one embodiment, the biometric fingerprint is a hash value (e.g., hash 154 of
In one embodiment, the control circuitry 204 performs the trait determination application by comparing features in the generated biometric fingerprint of the voice input to the features of each biometric fingerprint of the plurality of biometric fingerprints to find a match. In some embodiments, the trait determination application may compare the generated biometric fingerprint to a plurality of biometric fingerprints stored in the database 210 (e.g. speaker profile 150), wherein each biometric fingerprint in the database is associated with a unique speaker identification (ID) (e.g. Speaker ID 142 of
In one embodiment, the trait determination application determines that the generated biometric fingerprint does not match the stored fingerprint within the first confidence threshold and thus triggers the ID prediction engine 206 and the trait prediction engine 208. In one embodiment, the ID prediction engine 206 predicts a new speaker ID based on the generated biometric fingerprint that does not match with the stored fingerprint within the first confidence threshold. In one embodiment, the ID prediction engine 206 is trained to predict the new speaker ID based on the biometric fingerprints generated from the voice query.
In one embodiment, the ID prediction engine 206 is trained using audio signals from the voice query. In one embodiment, a plurality of characteristics or features of audio signals from a voice (e.g., tone, pitch, pace, etc.) are provided to a gated recurrent unit (GRU). In one embodiment, the GRU extracts significant features at an utterance level. In one embodiment, the GRU is a subset of long short-term memory (LSTM) where it has a forget gate to selectively choose significant features among the plurality of features. In one embodiment, the GRU utilizes computing principal component analysis (PCA) to apply a signal or vector technique to extract the most variant features from a specific signal (or vector) and same across all the signals across a within class set. In one embodiment, the extracted most variant features are fed into a convolutional neural network (CNN). In one embodiment, a tag is used as a speaker ID among the plurality of speakers (e.g. members) within an area (e.g. household). In one embodiment, tags are encoded using basic encoding before feeding into an ID prediction model. In one embodiment, the ID prediction model is trained on a fair training set for each speaker and the system may use suitable loss functions such as subspace loss, or a triplet loss function for example, residual CNN. Additional details of utilizing the CNN for training data for speaker recognition are provided in https://www.groundai.com/project/few-shot-speaker-recognition-using-deep-neural-networks/1, which is incorporated by reference herein in its entirety.
In one embodiment, an output of the ID prediction model is an ID of the speaker which is predicted with a confidence level within a confidence threshold. Additional details of confidence level in speaker identification to identify a speaker is provided in US Patent Publication No. 2017/0301353A, which is incorporated by reference herein in its entirety, and in https://docs.microsoft.com/en-in/azure/cognitive-services/speaker-recognition/home#identification, which is also incorporated by reference herein in its entirety. In one embodiment, the speaker ID of the speaker within the area is used as a perceptual hash function in order to pinout the speaker (e.g. member) within the area (e.g. household) and further predict traits of the speaker by using the predicted speaker ID.
In one embodiment, the trait prediction engine 208 predicts a new trait for the generated fingerprint that do not match with the stored fingerprint within the first confidence threshold. In one embodiment, the trait prediction engine 208 is trained to predict the new trait based on the biometric fingerprint generated from the voice query and the new speaker ID. In one embodiment, the trait prediction engine 208 is trained using the audio signals similarly as discussed above with respect to training the ID prediction engine 206. In one embodiment, the traits are predicted using the speaker ID determined by the ID prediction engine 206. In one embodiment, a tag is used as a trait among a plurality of traits. In one embodiment, tags are encoded using basic encoding before feeding into a trait prediction model. In one embodiment, the trait prediction model is trained on a fair training set for each speaker and the system may use suitable loss functions such as subspace loss, or a triplet loss function in case of a residual CNN. An output of the trait prediction model is a trait of the speaker which is predicted within a confidence level of trait threshold. Additional details of training data to identify a speaker as male or female are provided in U.S. Pat. No. 6,424,946B1, which is incorporated by reference herein in its entirety. In one embodiment, the trait determination application stores the new speaker ID, the generated fingerprint and the newly predicted trait corresponding to the new speaker ID in the database 210.
In one embodiment, the trait determination application determines that the generated fingerprint that matched with a stored fingerprint has a score higher than the first confidence threshold. In one embodiment, the trait determination application updates the matched biometric fingerprint with the generated biometric fingerprint from the voice query in the database 210. For example, the trait determination application replaces the matched biometric fingerprint with the generated biometric fingerprint in the database 210. In one embodiment, the trait determination application triggers the trait prediction engine 208 to update the trait based on the generated biometric fingerprint from the voice query. In one embodiment, the trait determination application determines a trait to be updated based on the trait threshold. As discussed above, in one embodiment, the trait threshold is pre-determined based on the trait previously determined from the voice query. The trait threshold is used as a standard to analyze accuracy of the trait determined from the voice query captured in real time. In one embodiment, the trait determination application determines that the generated biometric fingerprint from the voice query does not fall within the trait threshold. In one embodiment, the trait prediction engine 208 is trained to predict the updated trait based on the biometric fingerprint generated from the voice query.
Although only one trait prediction engine 208 is shown to predict and/or update trait(s), it is known to one of ordinary skill in the art that a plurality of trait prediction engines may be used to separately predict and/or update traits such as age, gender, ethnicity, race, behavior, emotions, etc. In one embodiment, the trait prediction engine among the plurality of trait prediction engines in which the predicted trait is less than the trait threshold is triggered to update the predicted trait.
System 300 is depicted having server 302 connected with remote user equipment 318 (e.g., a user's digital voice assistant or a user's smartphone) via communications network 314. For convenience, because the system 300 is described from the perspective of the server 302, the remote user equipment 318 is described as being remote (i.e., with respect to the server 302). The remote user equipment 318 may be connected to the communications network 314 via a wired or wireless connection and may receive content and data via input/output (hereinafter “I/O”) path 320. The server 302 may be connected to the communications network 314 via a wired or wireless connection and may receive content and data via I/O path 304. The I/O path 304 and/or the I/O path 320 may provide content (e.g., broadcast programming, on-demand programming, Internet content, and other video, audio, or information) and data to remote control circuitry 330 and/or control circuitry 324, which includes remote processing circuitry 334 and storage 332, and/or processing circuitry 310 and storage 308. The remote-control circuitry 330 may be used to send and receive commands, requests, and other suitable data using the I/O path 320. The I/O path 320 may connect the remote-control circuitry 330 (and specifically remote processing circuitry 334) to one or more communications paths (described below). Likewise, the control circuitry 306 may be used to send and receive commands, requests, and other suitable data using the I/O path 304. I/O functions may be provided by one or more of these communications paths but are shown as a single path in
The remote-control circuitry 330 and the control circuitry 306 may be based on any suitable remote processing circuitry such as processing circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, etc. In some embodiments, the control circuitry 306 executes instructions for a voice processing application, natural language processing application, and a trait determination application stored in memory (i.e., the storage 308). In client-server-based embodiments, the control circuitry 306 may include communications circuitry suitable for communicating with remote user equipment (e.g., the remote user equipment 318) or other networks or servers. For example, the trait determination application may include a first application on the server 302 and may communicate via the I/O path 312 over the communications network 314 to the remote user equipment 318 associated with a second application of the trait determination application. Additionally, the other ones of the voice processing, natural language processing may be stored in the remote storage 332. In some embodiments, the remote-control circuitry, the remote-control circuitry 330 may execute the voice processing application to bypass a train prediction engine and retrieve a trait associated with voice query from a speaker to provide content based on the retrieved trait to the speaker. In other embodiments, the remote-control circuitry 330 may execute the trait determination application to bypass a train prediction engine and retrieve a trait associated with voice query from a speaker to provide content based on the retrieved trait to the server 302. The trait determination application (or any of the other applications) may coordinate communication over communications circuitry between the first application on the server and the second application on the remote user equipment. Communications circuitry may include a modem or other circuitry for connecting to a wired or wireless local or remote communications network. Such communications may involve the Internet or any other suitable communications networks or paths (which is described in more detail in connection with
Memory (e.g., random-access memory, read-only memory, or any other suitable memory), hard drives, optical drives, or any other suitable fixed or removable storage devices may be provided as the remote storage 332 and/or the storage 308. The remote storage 332 and/or the storage 308 may include one or more of the above types of storage devices. The remote storage 332 and/or storage 308 may be used to store various types of content described herein and voice processing application data, natural language processing data, Trait determination application data including content such as speaker profile including speaker ID, hash, traits (age, gender, ethnicity etc.) or other data used in operating the voice processing application, natural language processing application and trait determination application. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Although the applications are described as being stored in the storage 306 and/or the remote storage 332, the applications may include additional hardware or software that may not be included in storages 308 and 332.
A speaker may control the remote-control circuitry 330 using user input interface 322. The user input interface 322 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touch pad, stylus input, joystick, microphone, voice recognition interface, or other user input interfaces. Display 324 may be provided as a stand-alone device or integrated with other elements of the remote user equipment 318. The display 312 may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, or any other suitable equipment for displaying visual images. Speakers 314 may be provided as integrated with other elements of the remote user equipment 318 or may be stand-alone units.
The voice processing application, natural language processing application, and a trait determination application may be implemented using any suitable architecture. For example, they may be a stand-alone application wholly implemented on the server 302. In other embodiments, some of the application may be client-server-based application. For example, the voice processing application may be a client-server-based application. Data for use by a thick or thin client implemented on remote user equipment 318 may be retrieved on-demand by issuing requests to a server (e.g., the server 302) remote to the user equipment. In other embodiments, the server may be omitted, and the application may be implemented on the remote user equipment.
In some embodiments, as described above, the voice processing application, natural language processing application, and a trait determination application may be implemented on the server 302. In this example, the remote user equipment 318 simply provides captured audio of a voice query to the server 302. However, this is only an example, and in other embodiments the applications may be implemented on a plurality of devices (e.g., the remote user equipment 318 and the server 302) to execute the features and functionalities of the applications. The applications may be configured such that features that require processing capabilities beyond the remote user equipment 318 are performed on the server 302 server while other capabilities of the applications are performed on remote user equipment 332.
Though exemplary system 300 is depicted having two devices implementing the voice processing application, natural language processing application, and a personalized content application, any number of devices may be used.
System 300 of
User television equipment 402 may include a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a television set, a digital storage device, a DVD recorder, a local server, or other user television equipment. One or more of these devices may be integrated to be a single device, if desired. User computer equipment 404 may include a PC, a laptop, a tablet, a personal computer television (PC/TV), a PC server, a PC center, or other user computer equipment. Wireless user communications device 406 may include a mobile telephone, a portable video player, a portable music player, a portable gaming machine, a wireless remote control, or other wireless devices. Voice assistant device 424 may include a smart speaker, a standalone voice assistant, smarthome hub, etc.
It should be noted that the lines have become blurred when trying to classify a device as one of the above devices. In fact, each of user television equipment 402, user computer equipment 404, wireless user communications device 406, voice control device 424, and IOT device 428 may utilize at least some of the system features described above in connection with
In system 300, there is typically more than one of each type of user equipment device but only one of each is shown in
The user equipment devices may be coupled to communications network 414. Namely, user television equipment 402, user computer equipment 404, and wireless user communications device 406 are coupled to communications network 414 via communications paths 408, 410, and 412, respectively. Communications network 414 may be one or more networks including the Internet, a mobile phone network, mobile device (e.g., iPhone) network, cable network, public switched telephone network, or other types of communications network or combinations of communications networks. Paths 408, 410, and 412 may separately or together include one or more communications paths, such as, a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths. Path 412 is drawn with dotted lines to indicate that in the exemplary embodiment shown in
Although communications paths are not drawn between user equipment devices, these devices may communicate directly with each other via communication paths, such as those described above in connection with paths 408, 410, and 412, as well other short-range point-to-point communication paths, wireless paths (e.g., Bluetooth, infrared, IEEE 902-11x, etc.), or other short-range communication via wired or wireless paths. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices may also communicate with each other directly through an indirect path via communications network 414.
System 400 includes Speaker content database (e.g., table structure of Speaker Profile 150 of
Database 416 may store or index a plurality of speaker profile data (e.g., speaker ID, hash, traits such as age, gender, ethnicity etc.) of the speaker used for bypassing the trait prediction engine, retrieving the trait based on voice query and providing the content based on the retrieved trait. In some embodiments, database 416 may index the location of the speaker profile data located on servers located remotely or local to database 416. In some embodiments, in response to identification of the speaker, the trait determination application may access the index stored on database 416 and may identify a server (e.g., a database stored on a server) comprising the trait of the identified speaker. For example, the trait determination application may receive a voice query requesting a content item and determine that voice query matches a speaker ID stored in the speaker profile in the database 416 within a confidence threshold. The trait determination application bypasses the trait prediction engine, retrieves trait corresponding to the matched speaker ID from the database 416 and provides a first content item from the content data source 418. In another example, the trait determination application may receive a voice query requesting a content item and determine that voice query does not match any speaker ID stored in the speaker profile in the database 416 within the confidence threshold. The trait determination application may create a new entry in speaker profile in the database 416 for the unmatched voice query and invoke the trait prediction engine to determine trait of the unmatched voice query. In a further example, the trait determination application may receive a voice query requesting a content item and determine that voice query that matched the speaker ID stored in the speaker profile in the database 416 within the confidence threshold has a score greater than the confidence threshold. The trait determination application updates the trait stored in the database 416 corresponding to the matched speaker ID.
Source 418 may provide data used during the operation or function of the personalized content application. For example, source may store content items and functions associated with the personalized content application, etc. In some embodiments, updates for the trait determination application may be downloaded via source 418.
The trait determination application may be, for example, a stand-alone application implemented on user equipment devices. In other embodiments, trait determination application may be a client-server application where only the client resides on the user equipment device. For example, the trait determination application may be implemented partially as a client application on control circuitry 304 of devices 402, 404, 406, 424, and/or 428 and partially on a remote server as a server application (e.g., source 418, database 416, or server 426). The guidance application displays and/or voice control application displays may be generated by the source 418, database 416, trait determination processing server 426 and transmitted to the user equipment devices. The source 418, database 416, and trait determination processing server 426 may also transmit data for storage on the user equipment, which then generates the voice control application displays and audio based on instructions processed by control circuitry.
System 400 is intended to illustrate a number of approaches, or configurations, by which user equipment devices and sources and servers may communicate with each other. The present invention may be applied in any one or a subset of these approaches, or in a system employing other approaches for delivering and providing a voice control application.
Process 500 begins at block 502, where the control circuitry receives a voice query. In one example, the voice query is a voice query 104, (e.g., “Play Funny Movie”) as illustrated in
Returning back to block 504, when it is determined that the voice query does not match within the first confidence threshold of a speaker identification (ID) among the plurality of speaker IDs, then at block 512, the control circuitry triggers the trait prediction engine to determine a second trait based on the voice query. In one embodiment, it is determined that the speaker profile data is not in the speaker profile (e.g., 150 in
Process 600 begins at block 602, where the control circuitry determines whether the voice query that matched the speaker ID within the first confidence threshold matches with a confidence score greater than the first confidence threshold. As discussed above, in one embodiment, the first confidence threshold is pre-determined based on the voice previously captured from the voice query. The first confidence threshold is used as a standard to analyze voice quality of the voice captured in real time. In one example, the first confidence threshold is in the range of 70 percent to 80 percent. When, at block 602, it is determined that the voice query matched the speaker ID within the first confidence threshold matches with the confidence score greater than the first confidence threshold, then at block 604, the control circuitry updates the biometric fingerprint associated with the matched speaker ID. In one example, it is determined whether the generated hash that matched with Hash 1 (
It is contemplated that the steps or descriptions
The processes discussed above are intended to be illustrative and not limiting. One skilled in the art would appreciate that the steps of the processes discussed herein may be omitted, modified, combined and/or rearranged, and any additional steps may be performed without departing from the scope of the invention. More generally, the above disclosure is meant to be exemplary and not limiting. Only the claims that follow are meant to set bounds as to what the present invention includes. Furthermore, it should be noted that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with any other embodiment in a suitable manner, done in different orders, or done in parallel. In addition, the systems and methods described herein may be performed in real time. It should also be noted that the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.
Aher, Ankur Anil, Robert Jose, Jeffry Copps
Patent | Priority | Assignee | Title |
12112758, | Jun 22 2020 | Rovi Guides, Inc. | Systems and methods for determining traits based on voice analysis |
Patent | Priority | Assignee | Title |
10347244, | Apr 21 2017 | GO-VIVACE INC | Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response |
10650824, | May 10 2019 | FMR LLC | Computer systems and methods for securing access to content provided by virtual assistants |
11282385, | Apr 24 2018 | Qualcomm Incorporated | System and method of object-based navigation |
6424946, | Apr 09 1999 | Nuance Communications, Inc | Methods and apparatus for unknown speaker labeling using concurrent speech recognition, segmentation, classification and clustering |
8831942, | Mar 19 2010 | The Boeing Company | System and method for pitch based gender identification with suspicious speaker detection |
20070061413, | |||
20100105484, | |||
20160035346, | |||
20170301353, | |||
20180226079, | |||
20190362724, | |||
20210027789, | |||
20210264939, | |||
20210326421, | |||
20210398541, | |||
20210407523, | |||
20220199091, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 22 2020 | Rovi Guides, Inc. | (assignment on the face of the patent) | / | |||
Jul 16 2020 | ROBERT JOSE, JEFFRY COPPS | Rovi Guides, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053327 | /0936 | |
Jul 17 2020 | AHER, ANKUR ANIL | Rovi Guides, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053327 | /0936 | |
Aug 15 2022 | Rovi Guides, Inc | ADEIA GUIDES INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 069106 | /0346 | |
May 01 2023 | ADEIA MEDIA SOLUTIONS INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA GUIDES INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | Adeia Imaging LLC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SOLUTIONS LLC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SEMICONDUCTOR TECHNOLOGIES LLC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SEMICONDUCTOR SOLUTIONS LLC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA MEDIA HOLDINGS LLC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 | |
May 01 2023 | ADEIA SEMICONDUCTOR INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 063529 | /0272 |
Date | Maintenance Fee Events |
Jun 22 2020 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Jul 11 2026 | 4 years fee payment window open |
Jan 11 2027 | 6 months grace period start (w surcharge) |
Jul 11 2027 | patent expiry (for year 4) |
Jul 11 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 11 2030 | 8 years fee payment window open |
Jan 11 2031 | 6 months grace period start (w surcharge) |
Jul 11 2031 | patent expiry (for year 8) |
Jul 11 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 11 2034 | 12 years fee payment window open |
Jan 11 2035 | 6 months grace period start (w surcharge) |
Jul 11 2035 | patent expiry (for year 12) |
Jul 11 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |