

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utiliser les scores de confiance pour améliorer la précision des conversations
<a name="confidence-scores"></a>

Amazon Lex V2 suit deux étapes pour déterminer ce que dit un utilisateur. La première, la reconnaissance vocale automatique (ASR), crée une transcription de l'énoncé audio de l'utilisateur. La seconde, la compréhension du langage naturel (NLU), détermine le sens de l'énoncé de l'utilisateur afin de reconnaître son intention ou la valeur des machines à sous.

Par défaut, Amazon Lex V2 renvoie le résultat le plus probable à partir de l'ASR et du NLU. Il peut parfois être difficile pour Amazon Lex V2 de déterminer le résultat le plus probable. Dans ce cas, il renvoie plusieurs résultats possibles ainsi qu'un *score de confiance* indiquant la probabilité que le résultat soit correct. Un score de confiance est une note fournie par Amazon Lex V2 qui indique la confiance relative qu'il a dans le résultat. Les scores de confiance vont de 0,0 à 1,0.

Vous pouvez utiliser votre connaissance du domaine avec le score de confiance pour déterminer l'interprétation correcte du résultat ASR ou NLU.

Le score de confiance ASR, ou score de transcription, est une évaluation du niveau de confiance d'Amazon Lex V2 quant à l'exactitude d'une transcription donnée. Le score de confiance NLU, ou intention, indique dans quelle mesure Amazon Lex V2 est certain que l'intention spécifiée dans la transcription supérieure est correcte. Utilisez le score de confiance le mieux adapté à votre application.

**Topics**
+ [Utiliser les scores de confiance des intentions pour améliorer la sélection des intentions avec Lex V2](using-intent-confidence-scores.md)
+ [Utiliser les scores de fiabilité de la transcription vocale pour améliorer les conversations avec votre robot Lex V2](using-transcript-confidence-scores.md)

# Utiliser les scores de confiance des intentions pour améliorer la sélection des intentions avec Lex V2
<a name="using-intent-confidence-scores"></a>

Lorsqu'un utilisateur fait un énoncé, Amazon Lex V2 utilise la compréhension du langage naturel (NLU) pour comprendre la demande de l'utilisateur et renvoyer l'intention appropriée. Par défaut, Amazon Lex V2 renvoie l'intention la plus probable définie par votre bot.

Dans certains cas, il peut être difficile pour Amazon Lex V2 de déterminer l'intention la plus probable. Par exemple, l'utilisateur peut émettre un énoncé ambigu ou deux intentions peuvent être similaires. Pour aider à déterminer l'intention appropriée, vous pouvez combiner votre connaissance du domaine avec les *scores de confiance du NLU* dans une liste d'interprétations. Un score de confiance est une note attribuée par Amazon Lex V2 qui indique à quel point il est certain qu'une intention est la bonne.

Pour déterminer la différence entre deux intentions au sein d'une interprétation, vous pouvez comparer leurs scores de confiance. Par exemple, si une intention a un score de confiance de 0,95 et une autre un score de 0,65, la première intention est probablement correcte. Toutefois, si une intention a un score de 0,75 et une autre un score de 0,72, il existe une ambiguïté entre les deux intentions et vous pouvez être en mesure de faire la distinction en utilisant les connaissances du domaine dans votre application.

Vous pouvez également utiliser les scores de confiance pour créer des applications de test qui déterminent si les modifications apportées aux énoncés d'une intention ont une incidence sur le comportement du bot. Par exemple, vous pouvez obtenir les scores de confiance relatifs aux intentions d'un bot à l'aide d'un ensemble d'énoncés, puis mettre à jour les intentions avec de nouveaux énoncés. Vous pouvez ensuite vérifier les scores de confiance pour voir s'il y a eu une amélioration.

Les scores de confiance renvoyés par Amazon Lex V2 sont des valeurs comparatives. Vous ne devez pas vous fier à eux en tant que score absolu. Les valeurs peuvent changer en fonction des améliorations apportées à Amazon Lex V2.

Amazon Lex V2 renvoie l'intention la plus probable et jusqu'à 4 intentions alternatives avec leurs scores associés dans la `interpretations` structure de chaque réponse. Le code JSON suivant montre la `interpretations` structure de la réponse à l'[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)opération :

```
   "interpretations": [
      {
         "intent": {
            "confirmationState": "string",
            "name": "string",
            "slots": {
               "string" : {
                  "value": {
                     "interpretedValue": "string",
                     "originalValue": "string",
                     "resolvedValues": [ "string" ]
                  }
               }
            },
            "state": "string"
         },
         "nluConfidence": number
      }
   ]
```

## AMAZON. FallbackIntent
<a name="nluconfidence-fallbackintent"></a>

Le retour `AMAZON.FallbackIntent` d'Amazon Lex V2 est la principale intention dans deux situations :

1.  Si les scores de confiance de toutes les intentions possibles sont inférieurs au seuil de confiance. Vous pouvez utiliser le seuil par défaut ou définir votre propre seuil. Si vous l'avez `AMAZON.KendraSearchIntent` configuré, Amazon Lex V2 le renvoie également dans ce cas. 

1.  Si la confiance d'interprétation pour `AMAZON.FallbackIntent` est supérieure à la confiance d'interprétation pour toutes les autres intentions. 

 Notez qu'Amazon Lex V2 n'affiche pas de score de confiance pour`AMAZON.FallbackIntent`. 

## Définition et modification du seuil de confiance
<a name="nluconfidence-threshold"></a>

Le seuil de confiance doit être un nombre compris entre 0,00 et 1,00. Vous pouvez définir le seuil pour chaque langue de votre bot de la manière suivante :

**Utilisation de la console Amazon Lex V2**
+  Pour définir le seuil lorsque vous ajoutez une langue à votre bot à l'aide de l'**option Ajouter une langue**, vous pouvez insérer la valeur souhaitée dans le panneau **du seuil de confiance**. 
+  Pour mettre à jour le seuil, vous pouvez sélectionner **Modifier** dans le panneau des **détails de langue** dans la langue de votre bot. Insérez ensuite la valeur souhaitée dans le panneau **du seuil de confiance**. 

**Utilisation des opérations d'API**
+  Pour définir le seuil, définissez le `nluIntentConfidenceThreshold` paramètre de l'[CreateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotLocale.html)opération.
+  Pour mettre à jour le seuil de confiance, définissez le `nluIntentConfidenceThreshold` paramètre de l'[UpdateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotLocale.html)opération. 

## Gestion des sessions
<a name="confidence-scores-session-management"></a>

Pour modifier l'intention utilisée par Amazon Lex V2 lors d'une conversation avec l'utilisateur, vous pouvez utiliser la réponse de la fonction Lambda de votre code hook de dialogue, ou vous pouvez utiliser la gestion de session APIs dans votre application personnalisée. 

### Utilisation d'une fonction Lambda avec votre bot Lex V2
<a name="session-management-lambda"></a>

Lorsque vous utilisez une fonction Lambda, Amazon Lex V2 l'appelle avec une structure JSON qui contient l'entrée de la fonction. La structure JSON contient un champ appelé `currentIntent` qui contient l'intention identifiée par Amazon Lex V2 comme étant l'intention la plus probable de l'énoncé de l'utilisateur. La structure JSON inclut également un `alternativeIntents` champ contenant jusqu'à quatre intentions supplémentaires susceptibles de satisfaire l'intention de l'utilisateur. Chaque intention inclut un champ appelé `nluIntentConfidenceScore` qui contient le score de confiance attribué par Amazon Lex V2 à l'intention.

Pour utiliser une intention alternative, vous devez la spécifier dans l'action `ConfirmIntent` ou dans la `ElicitSlot` boîte de dialogue de votre fonction Lambda.

Pour de plus amples informations, veuillez consulter [Intégration d'une AWS Lambda fonction dans votre bot Amazon Lex V2](lambda.md).

### Utilisation de l'API de gestion de session avec votre bot Lex V2
<a name="session-management-API"></a>

Pour utiliser une intention différente de l'intention actuelle, utilisez l'[PutSession](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_PutSession.html)opération. Par exemple, si vous décidez que la première alternative est préférable à l'intention choisie par Amazon Lex V2, vous pouvez utiliser l'`PutSession`opération pour modifier les intentions afin que l'intention suivante avec laquelle l'utilisateur interagit soit celle que vous avez sélectionnée.

Pour de plus amples informations, veuillez consulter [Comprendre les sessions de bot Amazon Lex V2](managing-sessions.md).

# Utiliser les scores de fiabilité de la transcription vocale pour améliorer les conversations avec votre robot Lex V2
<a name="using-transcript-confidence-scores"></a>

 Lorsqu'un utilisateur émet un énoncé vocal, Amazon Lex V2 utilise la reconnaissance vocale automatique (ASR) pour transcrire la demande de l'utilisateur avant qu'elle ne soit interprétée. Par défaut, Amazon Lex V2 utilise la transcription la plus probable de l'audio à des fins d'interprétation. 

Dans certains cas, il peut y avoir plusieurs transcriptions possibles de l'audio. Par exemple, un utilisateur peut émettre un énoncé avec un son ambigu, tel que « Je m'appelle John », qui peut être compris comme « Je m'appelle Juan ». Dans ce cas, vous pouvez utiliser des techniques de désambiguïsation ou combiner vos connaissances du domaine avec le *score de confiance* de la transcription pour déterminer quelle transcription d'une liste de transcriptions est la bonne. 

Amazon Lex V2 inclut la transcription supérieure et jusqu'à deux transcriptions alternatives pour la saisie par l'utilisateur dans la demande adressée à votre fonction de crochet de code Lambda. Chaque transcription contient un score de confiance indiquant qu'il s'agit de la bonne transcription. Chaque transcription inclut également toutes les valeurs de créneau déduites de l'entrée de l'utilisateur.

Vous pouvez comparer les scores de confiance de deux transcriptions pour déterminer s'il existe une ambiguïté entre elles. Par exemple, si une transcription a un score de confiance de 0,95 et l'autre un score de confiance de 0,65, la première transcription est probablement correcte et l'ambiguïté entre les deux est faible. Si les deux transcriptions ont des scores de confiance de 0,75 et 0,72, l'ambiguïté entre elles est élevée. Vous pourrez peut-être les différencier en utilisant vos connaissances du domaine.

Par exemple, si les valeurs de créneau déduites dans deux transcriptions avec un score de confiance de 0,75 et 0,72 sont « John » et « Juan », vous pouvez demander aux utilisateurs de votre base de données l'existence de ces noms et éliminer l'une des transcriptions. Si « John » n'est pas un utilisateur dans votre base de données et que « Juan » l'est, vous pouvez utiliser le crochet de dialogue pour remplacer la valeur du slot inféré pour le prénom par « Juan ».

Les scores de confiance renvoyés par Amazon Lex V2 sont des valeurs comparatives. Ne vous fiez pas à eux comme à un score absolu. Les valeurs peuvent changer en fonction des améliorations apportées à Amazon Lex V2.

Les scores de fiabilité de la transcription audio ne sont disponibles qu'en anglais (GB) (en\$1GB) et en anglais (US) (en\$1US). Les scores de confiance ne sont pris en charge que pour une entrée audio de 8 kHz. Les scores de fiabilité de la transcription ne sont pas fournis pour les entrées audio provenant de la [fenêtre de test](https://docs.aws.amazon.com/lexv2/latest/dg/test-bot.html) sur la console Amazon Lex V2, car celle-ci utilise une entrée audio 16 kHz.

**Note**  
Avant de pouvoir utiliser les scores de fiabilité de la transcription audio avec un robot existant, vous devez d'abord le reconstruire. Les versions existantes d'un bot ne prennent pas en charge les scores de confiance de transcription. Vous devez créer une nouvelle version du bot pour les utiliser.

Vous pouvez utiliser les scores de confiance pour plusieurs modèles de conception de conversation :
+ Si le score de confiance le plus élevé tombe en dessous d'un seuil en raison d'un environnement bruyant ou d'une mauvaise qualité du signal, vous pouvez demander à l'utilisateur de lui poser la même question pour qu'il capture un son de meilleure qualité.
+ Si plusieurs transcriptions présentent des scores de confiance similaires pour les valeurs de créneau, telles que « John » et « Juan », vous pouvez comparer les valeurs avec une base de données préexistante pour éliminer les entrées, ou vous pouvez demander à l'utilisateur de sélectionner l'une des deux valeurs. Par exemple, « dites 1 pour Jean ou 2 pour Juan ».
+ Si votre logique métier nécessite un changement d'intention en fonction de mots clés spécifiques dans une transcription alternative dont le score de confiance est proche de celui de la transcription supérieure, vous pouvez modifier l'intention à l'aide de la fonction Lambda de votre code hook de dialogue ou à l'aide d'opérations de gestion de session. Pour de plus amples informations, veuillez consulter [Gestion de session](#transcription-confidence-session-management).

Amazon Lex V2 envoie la structure JSON suivante avec jusqu'à trois transcriptions pour les entrées de l'utilisateur dans votre fonction de crochet de code Lambda :

```
    "transcriptions": [
        {
            "transcription": "string",
            "rawTranscription": "string",
            "transcriptionConfidence": "number",
            },
            "resolvedContext": {
                "intent": "string"
            },
            "resolvedSlots": {
                "string": {
                    "shape": "List",
                    "value": {
                        "originalValue": "string",
                        "resolvedValues": [
                            "string"
                        ]
                    },
                    "values": [
                        {
                            "shape": "Scalar",
                            "value": {
                                "originalValue": "string",
                                "resolvedValues": [
                                    "string"
                                ]
                            }
                        },
                        {
                            "shape": "Scalar",
                            "value": {
                                "originalValue": "string",
                                "resolvedValues": [
                                    "string"
                                ]
                            }
                        }
                    ]
                }
            }
        }
    ]
```

La structure JSON contient le texte de transcription, l'intention résolue pour l'énoncé et les valeurs de tous les intervalles détectés dans l'énoncé. Pour la saisie de texte par l'utilisateur, les transcriptions contiennent une seule transcription avec un score de confiance de 1,0.

Le contenu des transcriptions dépend de la tournure de la conversation et de l'intention reconnue. 

Pour le premier tour, l'obtention d'une intention, Amazon Lex V2 détermine les trois meilleures transcriptions. Pour la transcription supérieure, elle renvoie l'intention et toutes les valeurs de créneau déduites dans la transcription.

Lors des tours suivants, lors de l'élicitation des créneaux, les résultats dépendent de l'intention déduite pour chacune des transcriptions, comme suit.
+ Si l'intention déduite de la transcription supérieure est la même que celle du tour précédent et que toutes les autres transcriptions ont la même intention, alors
  + Toutes les transcriptions contiennent des valeurs de créneaux déduites.

     
+ Si l'intention déduite de la transcription supérieure est différente de celle du tour précédent et que toutes les autres transcriptions ont l'intention précédente, alors
  + La transcription supérieure contient les valeurs de créneau déduites pour la nouvelle intention.
  + Les autres transcriptions ont l'intention précédente et ont déduit les valeurs des créneaux pour l'intention précédente.

     
+ Si l'intention déduite pour la transcription supérieure est différente de celle du tour précédent, si une transcription est identique à l'intention précédente et qu'une transcription est une intention différente, alors
  + La transcription supérieure contient la nouvelle intention déduite et toutes les valeurs de créneau déduites dans l'énoncé.
  + La transcription dont l'intention déduite précédente contient des valeurs de créneaux déduites correspondant à cette intention.
  + La transcription présentant une intention différente ne comporte aucun nom d'intention inféré ni aucune valeur de créneau déduite.

     
+ Si l'intention déduite de la transcription supérieure est différente de celle du tour précédent et que toutes les autres transcriptions ont des intentions différentes, alors
  + La transcription supérieure contient la nouvelle intention déduite et toutes les valeurs de créneau déduites dans l'énoncé.
  + Les autres transcriptions ne contiennent aucune intention déduite ni aucune valeur de créneau déduite.

     
+ Si l'intention déduite pour les deux premières transcriptions est la même et différente de celle du tour précédent, et si la troisième transcription est une intention différente, alors
  + Les deux premières transcriptions contiennent la nouvelle intention déduite et toutes les valeurs de créneau déduites dans l'énoncé.
  + La troisième transcription n'a aucun nom d'intention ni aucune valeur de créneau résolue.

## Gestion de session
<a name="transcription-confidence-session-management"></a>

Pour modifier l'intention utilisée par Amazon Lex V2 lors d'une conversation avec l'utilisateur, utilisez la réponse de la fonction Lambda de votre crochet de dialogue. Vous pouvez également utiliser la gestion de session APIs dans votre application personnalisée.

### Utilisation d'une fonction Lambda avec votre bot Lex V2
<a name="transcription-confidence-lambda"></a>

Lorsque vous utilisez une fonction Lambda, Amazon Lex V2 l'appelle avec une structure JSON qui contient l'entrée de la fonction. La structure JSON contient un champ appelé `transcriptions` qui contient les transcriptions possibles déterminées par Amazon Lex V2 pour l'énoncé. Le `transcriptions` champ contient une à trois transcriptions possibles, chacune avec un score de confiance.

Pour utiliser l'intention d'une autre transcription, vous devez la spécifier dans l'action `ConfirmIntent` ou dans la `ElicitSlot` boîte de dialogue de votre fonction Lambda. Pour utiliser une valeur de slot issue d'une transcription alternative, définissez la valeur dans le `intent` champ de réponse de votre fonction Lambda. Pour de plus amples informations, veuillez consulter [Intégration d'une AWS Lambda fonction dans votre bot Amazon Lex V2](lambda.md).

#### Exemple de code utilisant Lambda avec Lex V2
<a name="asr-lambda-function"></a>

L'exemple de code suivant est une fonction Lambda en Python qui utilise des transcriptions audio pour améliorer l'expérience de conversation de l'utilisateur. 

Pour utiliser l'exemple de code, vous devez avoir :
+ Un bot utilisant une seule langue, soit l'anglais (GB) (en\$1GB) soit l'anglais (US) (en\$1US).
+ Une seule intention, OrderBirthStone. Assurez-vous que la fonction **Utiliser une fonction Lambda pour l'initialisation et la validation** est sélectionnée dans la section **Code hooks** de la définition de l'intention.
+ L'intention doit comporter deux emplacements, « BirthMonth » et « Nom », tous deux de type`AMAZON.AlphaNumeric`.
+ Alias avec la fonction Lambda définie. Pour de plus amples informations, veuillez consulter [Création d'une AWS Lambda fonction pour votre bot Amazon Lex V2](lambda-attach.md).

```
import time
import os
import logging

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)


# --- Helpers that build all of the responses ---

def elicit_slot(session_attributes, intent_request, slots, slot_to_elicit, message):
    return {
        'sessionState': {
            'dialogAction': {
                'type': 'ElicitSlot',
                'slotToElicit': slot_to_elicit
            },
            'intent': {
                'name': intent_request['sessionState']['intent']['name'],
                'slots': slots,
                'state': 'InProgress'
            },
            'sessionAttributes': session_attributes,
            'originatingRequestId': 'e3ab4d42-fb5f-4cc3-bb78-caaf6fc7cccd'
        },
        'sessionId': intent_request['sessionId'],
        'messages': [message],
        'requestAttributes': intent_request['requestAttributes'] if 'requestAttributes' in intent_request else None
    }


def close(intent_request, session_attributes, fulfillment_state, message):
    intent_request['sessionState']['intent']['state'] = fulfillment_state
    return {
        'sessionState': {
            'sessionAttributes': session_attributes,
            'dialogAction': {
                'type': 'Close'
            },
            'intent': intent_request['sessionState']['intent'],
            'originatingRequestId': '3ab4d42-fb5f-4cc3-bb78-caaf6fc7cccd'
        },
        'messages': [message],
        'sessionId': intent_request['sessionId'],
        'requestAttributes': intent_request['requestAttributes'] if 'requestAttributes' in intent_request else None
    }


def delegate(intent_request, session_attributes):
    return {
        'sessionState': {
            'dialogAction': {
                'type': 'Delegate'
            },
            'intent': intent_request['sessionState']['intent'],
            'sessionAttributes': session_attributes,
            'originatingRequestId': 'abc'
        },
        'sessionId': intent_request['sessionId'],
        'requestAttributes': intent_request['requestAttributes'] if 'requestAttributes' in intent_request else None
    }


def get_session_attributes(intent_request):
    sessionState = intent_request['sessionState']
    if 'sessionAttributes' in sessionState:
        return sessionState['sessionAttributes']

    return {}


def get_slots(intent_request):
    return intent_request['sessionState']['intent']['slots']


""" --- Functions that control the behavior of the bot --- """


def order_birth_stone(intent_request):
    """
    Performs dialog management and fulfillment for ordering a birth stone.
    Beyond fulfillment, the implementation for this intent demonstrates the following:
    1) Use of N best transcriptions to re prompt user when confidence for top transcript is below a threshold
    2) Overrides resolved slot for birth month from a known fixed list if the top transcript
    is not accurate.
    """

    transcriptions = intent_request['transcriptions']

    if intent_request['invocationSource'] == 'DialogCodeHook':
        # Disambiguate if there are multiple transcriptions and the top transcription
        # confidence is below a threshold (0.8 here)
        if len(transcriptions) > 1 and transcriptions[0]['transcriptionConfidence'] < 0.8:
            if transcriptions[0]['resolvedSlots'] is not {} and 'Name' in transcriptions[0]['resolvedSlots'] and \
                    transcriptions[0]['resolvedSlots']['Name'] is not None:
                return prompt_for_name(intent_request)
            elif transcriptions[0]['resolvedSlots'] is not {} and 'BirthMonth' in transcriptions[0]['resolvedSlots'] and \
                    transcriptions[0]['resolvedSlots']['BirthMonth'] is not None:
                return validate_month(intent_request)

    return continue_conversation(intent_request)


def prompt_for_name(intent_request):
    """
    If the confidence for the name is not high enough, re prompt the user with the recognized names
    so it can be confirmed.
    """
    resolved_names = []
    for transcription in intent_request['transcriptions']:
        if transcription['resolvedSlots'] is not {} and 'Name' in transcription['resolvedSlots'] and \
                transcription['resolvedSlots']['Name'] is not None:
            resolved_names.append(transcription['resolvedSlots']['Name']['value']['originalValue'])
    if len(resolved_names) > 1:
        session_attributes = get_session_attributes(intent_request)
        slots = get_slots(intent_request)
        return elicit_slot(session_attributes, intent_request, slots, 'Name',
                           {'contentType': 'PlainText',
                            'content': 'Sorry, did you say your name is {} ?'.format(" or ".join(resolved_names))})
    else:
        return continue_conversation(intent_request)


def validate_month(intent_request):
    """
    Validate month from an expected list, if not valid looks for other transcriptions and to see if the month
    recognized there has an expected value. If there is, replace with that and if not continue conversation.
    """

    expected_months = ['january', 'february', 'march']
    resolved_months = []
    for transcription in intent_request['transcriptions']:
        if transcription['resolvedSlots'] is not {} and 'BirthMonth' in transcription['resolvedSlots'] and \
                transcription['resolvedSlots']['BirthMonth'] is not None:
            resolved_months.append(transcription['resolvedSlots']['BirthMonth']['value']['originalValue'])

    for resolved_month in resolved_months:
        if resolved_month in expected_months:
            intent_request['sessionState']['intent']['slots']['BirthMonth']['resolvedValues'] = [resolved_month]
            break

    return continue_conversation(intent_request)


def continue_conversation(event):
    session_attributes = get_session_attributes(event)

    if event["invocationSource"] == "DialogCodeHook":
        return delegate(event, session_attributes)


# --- Intents ---


def dispatch(intent_request):
    """
    Called when the user specifies an intent for this bot.
    """

    logger.debug('dispatch sessionId={}, intentName={}'.format(intent_request['sessionId'],
                                                               intent_request['sessionState']['intent']['name']))

    intent_name = intent_request['sessionState']['intent']['name']

    # Dispatch to your bot's intent handlers
    if intent_name == 'OrderBirthStone':
        return order_birth_stone(intent_request)

    raise Exception('Intent with name ' + intent_name + ' not supported')


# --- Main handler ---


def lambda_handler(event, context):
    """
    Route the incoming request based on intent.
    The JSON body of the request is provided in the event slot.

    """
    # By default, treat the user request as coming from the America/New_York time zone.
    os.environ['TZ'] = 'America/New_York'
    time.tzset()
    logger.debug('event={}'.format(event))

    return dispatch(event)
```

### Utilisation de l'API de gestion de session pour choisir une intention ou une valeur d'intervalle différente
<a name="transcription-confidence-session"></a>

Pour utiliser une intention différente de l'intention actuelle, utilisez l'[PutSession](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_PutSession.html)opération. Par exemple, si vous décidez que la première alternative est préférable à l'intention choisie par Amazon Lex V2, vous pouvez utiliser l'`PutSession`opération pour modifier les intentions. Ainsi, l'intention suivante avec laquelle l'utilisateur interagira sera celle que vous avez sélectionnée.

Vous pouvez également utiliser cette `PutSession` opération pour modifier la valeur du slot dans la `intent` structure afin d'utiliser une valeur provenant d'une autre transcription.

Pour de plus amples informations, veuillez consulter [Comprendre les sessions de bot Amazon Lex V2](managing-sessions.md).