Supplemental content output
Techniques for generating a personalization identifier that is usable by a skill to customize output of supplemental content to a user, without the skill being able to determine an identity of the user based on the personalization identifier, are described. A personalization identifier may be generated to be specific to a skill, such that different skills receive different personalization identifiers with respect to the same user. The personalization identifier may be generated by performing a one-way hash of a skill identifier, and a user profile identifier and/or a device identifier. User-perceived latency may be reduced by generating the personalization identifier at least partially in parallel to performing ASR processing and/or NLU processing.
1 . A computer-implemented method, comprising:
receiving input audio data representing a user input;
performing speech processing using the input audio data to determine first data comprising a natural language representation of the user input;
processing the input audio data to determine second data representing first speech characteristics of the user input;
processing the second data with respect to third data representing second speech characteristics corresponding to a user profile;
based at least in part on processing the second data with respect to the third data, determining the user profile corresponds to the user input;
generating fourth data corresponding to the user input, the fourth data generated using the user profile;
sending, to a first component, the first data and the fourth data; and
receiving, from the first component, output data responsive to the user input, the output data configured based at least in part on the fourth data generated using the user profile.
2 . The computer-implemented method of claim 1 , further comprising:
determining fifth data representing an application programming interface (API) call,
wherein the output data includes the fifth data.
3 . The computer-implemented method of claim 1 , wherein the first component comprises at least one machine learning component configured to process natural language data.
4 . The computer-implemented method of claim 1 , further comprising:
determining, based at least in part on the user profile, that the first component is permitted to operate with respect to data corresponding to the user profile.
5 . The computer-implemented method of claim 1 , wherein the output data comprises output audio data representing synthesized speech.
6 . The computer-implemented method of claim 1 , further comprising:
receiving context data corresponding to the user input; and
sending the context data to the first component,
wherein the output data is configured further based at least in part on the context data.
7 . The computer-implemented method of claim 6 , wherein the context data represents a device corresponding to the user input.
8 . The computer-implemented method of claim 1 , further comprising:
determining an application enabled with respect to the user profile; and
including, in the fourth data, an identifier of the application.
9 . A system comprising:
at least one processor; and
at least one memory comprising instructions that, when executed by the at least one processor, cause the system to:
receive input audio data representing a user input;
perform speech processing using the input audio data to determine first data comprising a natural language representation of the user input;
process the input audio data to determine second data representing first speech characteristics of the user input;
process the second data with respect to third data representing second speech characteristics corresponding to a user profile;
based at least in part on processing the second data with respect to the third data, determine the user profile corresponds to the user input;
generate fourth data corresponding to the user input, the fourth data generated using the user profile;
send, to a first component, the first data and the fourth data; and
receive, from the first component, output data responsive to the user input, the output data configured based at least in part on the fourth data generated using the user profile.
10 . The system of claim 9 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine fifth data representing an application programming interface (API) call,
wherein the output data includes the fifth data.
11 . The system of claim 9 , wherein the first component comprises at least one machine learning component configured to process natural language data.
12 . The system of claim 9 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine, based at least in part on the user profile, that the first component is permitted to operate with respect to data corresponding to the user profile.
13 . The system of claim 9 , wherein the output data comprises output audio data representing synthesized speech.
14 . The system of claim 9 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
receive context data corresponding to the user input; and
send the context data to the first component,
wherein the output data is configured further based at least in part on the context data.
15 . The system of claim 14 , wherein the context data represents a device corresponding to the user input.
16 . The system of claim 9 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine an application enabled with respect to the user profile; and
include, in the fourth data, an identifier of the application.