UNPKG

botbuilder-core

Version:

Core components for Microsoft Bot Builder. Components in this library can run either in a browser or on the server.

64 lines (54 loc) 1.37 kB
/** * @module botbuilder */ /** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { IntentScore } from './intentScore'; /** * Value returned from a recognizer. */ export interface RecognizerResult { /** * Utterance sent to recognizer */ text: string; /** * If original text is changed by things like spelling, the altered version. */ alteredText?: string; /** * Intents recognized for the utterance. * * @remarks * A map of intent names to an object with score is returned. */ intents: Record<string, IntentScore>; /** * (Optional) entities recognized. */ entities?: any; /** * (Optional) other properties */ [propName: string]: any; } export const getTopScoringIntent = (result: RecognizerResult): { intent: string; score: number } => { if (!result || !result.intents) { throw new Error('result is empty'); } let topIntent = ''; let topScore = -1; for (const [intentName, intent] of Object.entries(result.intents)) { const score = intent.score ?? -1; if (!topIntent || score > topScore) { topIntent = intentName; topScore = score; } } return { intent: topIntent, score: topScore, }; };