@@ -364,7 +364,8 @@ const parseAndHandleIntent = function (parsedContent, luResource) {
364364 } ) ;
365365
366366 // add utterance
367- let utteranceObject = new helperClass . uttereances ( utterance , intentName , [ ] ) ;
367+ let utteranceExists = parsedContent . LUISJsonStructure . utterances . find ( item => item . text == utterance && item . intent == intentName ) ;
368+ let utteranceObject = utteranceExists || new helperClass . uttereances ( utterance , intentName , [ ] ) ;
368369 entitiesFound . forEach ( item => {
369370 if ( item . startPos > item . endPos ) {
370371 let errorMsg = `No labelled value found for entity: "${ item . entity } " in utterance: "${ utteranceAndEntities . context . getText ( ) } "` ;
@@ -382,7 +383,7 @@ const parseAndHandleIntent = function (parsedContent, luResource) {
382383 }
383384 utteranceObject . entities . push ( utteranceEntity )
384385 } ) ;
385- parsedContent . LUISJsonStructure . utterances . push ( utteranceObject ) ;
386+ if ( utteranceExists === undefined ) parsedContent . LUISJsonStructure . utterances . push ( utteranceObject ) ;
386387 }
387388
388389 } else {
@@ -391,8 +392,10 @@ const parseAndHandleIntent = function (parsedContent, luResource) {
391392 let patternObject = new helperClass . pattern ( utterance , intentName ) ;
392393 parsedContent . LUISJsonStructure . patterns . push ( patternObject ) ;
393394 } else {
394- let utteranceObject = new helperClass . uttereances ( utterance , intentName , [ ] ) ;
395- parsedContent . LUISJsonStructure . utterances . push ( utteranceObject ) ;
395+ if ( parsedContent . LUISJsonStructure . utterances . find ( item => item . text == utterance && item . intent == intentName ) === undefined ) {
396+ let utteranceObject = new helperClass . uttereances ( utterance , intentName , [ ] ) ;
397+ parsedContent . LUISJsonStructure . utterances . push ( utteranceObject ) ;
398+ }
396399 }
397400 }
398401 }
0 commit comments