Uso de la voz APIs para ejecutar análisis de voz - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la voz APIs para ejecutar análisis de voz

Para garantizar la compatibilidad con versiones anteriores, puede usar Amazon Chime SDK Voice APIs para iniciar y administrar el análisis de voz. Sin embargo, solo la cartera APIs de información multimedia dedicada al análisis de voz ofrece nuevas funciones, por lo que recomendamos encarecidamente utilizarlas en su lugar.

En las siguientes secciones se explican las diferencias entre los canales de información de voz y multimedia. APIs

Detención de tareas

Si utiliza un conector de voz para iniciar las tareas de análisis de voz y, a continuación, utiliza el UpdateMediaInsightsPipelineStatusAPIpara pausar la canalización, las tareas siguen ejecutándose. Para detener las tareas, debe llamar al StopSpeakerSearchTask y StopVoiceToneAnalysisTask APIs.

Descripción de las diferencias de notificaciones

Cuando utilizas la voz APIs para ejecutar análisis de voz, las notificaciones son diferentes de las generadas por los canales de información multimedia.

  • Los eventos preparados para el análisis de voz solo están disponibles para las tareas que se inician con la vozAPIs.

  • Debe usar los campos voiceConnectorId, transactionId o callId de sus notificaciones para asociar una tarea de análisis de voz a una llamada. Si utiliza canales de información multimedia para ejecutar el análisis de voz, utilice los campos mediaInsightsPipelineId, streamArn o channelId o para asociar una tarea a una llamada.

En los siguientes temas se explica cómo usar las notificaciones con vozAPIs.

Eventos preparados para el análisis de voz

Los eventos preparados para el análisis de voz tienen el tipo de detalle VoiceAnalyticsStatus.

Utiliza los conectores de SDK voz de Amazon Chime para iniciar las tareas de análisis. Cuando reciba un evento preparado para el análisis de voz, puede activar una tarea de búsqueda de interlocutores o análisis del tono de voz de la llamada, identificada por las siguientes propiedades:

  • voiceConnectorId

  • transactionId

nota

Esta notificación solo se proporciona cuando tienes una configuración de canalización de Media Insights con el análisis de voz activado y asociado a un conector de voz. Esta notificación se NOT proporciona cuando los clientes llaman CreateMediaInsightsPipeline API e inician una tarea de búsqueda de altavoces o una tarea de análisis del tono de voz a través de Media SDK Pipelines.

SIPLos encabezados devueltos por un conector de voz contienen el. transactionId Si no tiene acceso a SIP los encabezados, el evento de AnalyticsReady notificación también contiene las voiceConnectorId letras y. transactionId Esto le permite recibir la información mediante programación y llamar al StartSpeakerSearchTask, o bien StartVoiceToneAnalysisTask APIs.

Cuando el análisis de voz está listo para su procesamiento, el Voice Connector envía un evento "detailStatus": "AnalyticsReady" al destinatario de la notificación en forma de cuerpo. JSON Si utilizas Amazon SNS o AmazonSQS, ese cuerpo aparece en el campo «Registros» de la SQS carga útil de Amazon SNS o Amazon.

El siguiente ejemplo muestra un JSON cuerpo típico.

{ "detail-type": "VoiceAnalyticsStatus", "version": "0", "id": "Id-f928dfe3-f44b-4965-8a17-612f9fb92d59", "source": "aws.chime", "account": "123456789012", "time": "2022-08-26T17:55:15.563441Z", "region": "us-east-1", "resources": [], "detail": { "detailStatus": "AnalyticsReady", "callDetails": { "isCaller": false, "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436", "voiceConnectorId": "fuiopl1fsv9caobmqf2vy7" } } }

Esta notificación le permite activar llamadas adicionales a su aplicación y gestionar cualquier requisito legal, como la notificación y el consentimiento, antes de iniciar la tarea APIs de análisis de voz.

Eventos de búsqueda de hablantes

Los eventos de búsqueda de hablantes tienen el tipo de detalle SpeakerSearchStatus.

Los conectores de SDK voz de Amazon Chime envían los siguientes eventos de búsqueda de altavoces:

  • Coincidencias de identificación

  • Generación de incrustaciones de voz

Los eventos pueden tener los siguientes estados:

  • IdentificationSuccessful: se identificó correctamente al menos un ID de perfil de voz coincidente con una puntuación de confianza alta en el dominio del perfil de voz determinado.

  • IdentificationFailure: no se pudo realizar la identificación. Causas: el llamante no habla durante al menos 10 segundos, mala calidad de audio.

  • IdentificationNoMatchesFound: no se ha podido encontrar una coincidencia de alta confianza en el dominio del perfil de voz indicado. Es posible que la persona que llama sea nueva o que su voz haya cambiado.

  • VoiceprintGenerationSuccessful: el sistema ha generado una incrustación de voz utilizando 20 segundos de audio no silencioso.

  • VoiceprintGenerationFailure: el sistema no ha podido generar una incrustación de voz. Causas: el llamante no habla durante al menos 20 segundos, mala calidad de audio.

Coincidencias de identificación

Después del StartSpeakerSearchTaskAPIsi se llama por un momento dadotransactionId, el servicio Voice Connector devuelve una notificación de coincidencia de identificación después de 10 segundos de voz no silenciosa. El servicio muestra las 10 coincidencias más frecuentes, junto con un identificador de perfil de voz y una puntuación de confianza que oscila entre [0, 1]. Cuanto más alto sea el puntaje de confianza, mayor será la probabilidad de que el hablante de la llamada coincida con el ID del perfil de voz. Si el modelo de machine learning no encuentra coincidencias, el campo de la notificación detailStatus contiene IdentificationNoMatchesFound.

En el siguiente ejemplo, se muestra la notificación de una coincidencia correcta.

{ "version": "0", "id": "12345678-1234-1234-1234-111122223333", "detail-type": "SpeakerSearchStatus", "service-type": "VoiceAnalytics", "source": "aws.chime", "account": "111122223333", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": [], "detail": { "taskId": "uuid", "detailStatus": "IdentificationSuccessful", "speakerSearchDetails" : { "results": [ { "voiceProfileId": "vp-505e0992-82da-49eb-9d4a-4b34772b96b6", "confidenceScore": "0.94567856", }, { "voiceProfileId": "vp-fba9cbfa-4b8d-4f10-9e41-9dfdd66545ab", "confidenceScore": "0.82783350", }, { "voiceProfileId": "vp-746995fd-16dc-45b9-8965-89569d1cf787", "confidenceScore": "0.77136436", } ] }, "isCaller": false, "voiceConnectorId": "abcdef1ghij2klmno3pqr4", "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436" } }

Generación de incrustaciones de voz

Tras 10 segundos adicionales de voz no silenciosa, el conector de voz envía una notificación de generación de incrustaciones de voz a los destinatarios de la notificación. Puede inscribir nuevas incorporaciones de voz en un perfil de voz o actualizar una copia impresa que ya esté en un perfil de voz.

En el siguiente ejemplo, se muestra la notificación de una coincidencia correcta, lo que significa que puede actualizar el perfil de voz asociado.

{ "version": "0", "id": "12345678-1234-1234-1234-111122223333", "detail-type": "SpeakerSearchStatus", "service-type": "VoiceAnalytics", "source": "aws.chime", "account": "111122223333", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": [], "detail": { "taskId": "guid", "detailStatus": "VoiceprintGenerationSuccess", "isCaller": false, "transactionId": "12345678-1234-1234", "voiceConnectorId": "abcdef1ghij2klmno3pqr" } }

Eventos de análisis del tono de voz

Los eventos de análisis del tono de voz tienen el tipo de detalle VoiceToneAnalysisStatus. Los análisis pueden devolver los siguientes estados:

  • VoiceToneAnalysisSuccessful:se han analizado satisfactoriamente las voces de la persona que llamaba y del agente en función de las probabilidades de emitir un sentimiento: positivo, negativo o neutral.

  • VoiceToneAnalysisFailure: no se ha podido realizar el análisis del tono. Esto puede suceder si la persona que llama se queda sin hablar durante 10 segundos o si la calidad del audio es demasiado mala.

  • VoiceToneAnalysisCompleted: se han analizado correctamente las voces del usuario y del agente para determinar las probabilidades de opinión durante toda la llamada. Este es el evento final, que se envía cuando finaliza el análisis del tono de voz.

En el siguiente ejemplo, se muestra un evento de análisis de tono de voz típico.

{ "detail-type": "VoiceToneAnalysisStatus", "service-type": "VoiceAnalytics", "source": "aws.chime", "account": "216539279014", "time": "2022-08-26T17:55:15.563441Z", "region": "us-east-1", "detail": { "taskId": "uuid", "detailStatus": "VoiceToneAnalysisSuccessful", "voiceToneAnalysisDetails": { "currentAverageVoiceTone": { "startTime": "2022-08-26T17:55:15.563Z", "endTime": "2022-08-26T17:55:45.720Z", "voiceToneLabel": "neutral", "voiceToneScore": { "neutral": "0.83", "positive": "0.13", "negative": "0.04" } }, "overallAverageVoiceTone": { "startTime": "2022-08-26T16:23:13.344Z", "endTime": "2022-08-26T17:55:45.720Z", "voiceToneLabel": "positive", "voiceToneScore": { "neutral": "0.25", "positive": "0.65", "negative": "0.1" } } }, "isCaller": true, "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436", "voiceConnectorId": "fuiopl1fsv9caobmqf2vy7" }, "version": "0", "id": "Id-f928dfe3-f44b-4965-8a17-612f9fb92d59" }