Botframework-sdk: [LUIS] Wrong results from the Spanish version - LUIS apps

Created on 21 Apr 2018  路  6Comments  路  Source: microsoft/botframework-sdk

Bot Info

  • SDK Platform: Node.js
  • SDK Version: 3.13.1 (npm)
  • Active Channels: All
  • Deployment Environment: local development with Emulator, Web App Bot
  • LUIS language: Spanish

Issue Description

We don't have prebuild domains for Spanish. And using Simple entities we can't use spaces, double quotes to get all the info.

Code Example

https://github.com/proyecto26/Bot-Framework/blob/master/src/nodejs/bot/dialogs/movieBook.js#L9

Reproduction Steps

  1. Download the template https://github.com/proyecto26/Bot-Framework/ (src/nodejs)
  2. Change the language to Spanish (Select Spanish from the menu)
  3. Type any of the following examples:
    > reservar boletos para Avengers Infinity War

return avengers

reservar boletos para "Avengers Infinity War"

return "

Expected Behavior

Return all the info with spaces in the Spanish version. Example:

reservar boletos para Avengers Infinity War

return avengers infinity war

Actual Results

If the entity has spaces only get the first part. With doubles quotes only return the first quote

I'm not sure if this bug is for this team or the team of LUIS, let me know if the repo is other one.

Thanks in advance, Nicholls

All 6 comments

Can you please let us know if it is Spanish (Spain) or Spanish (Mexico)?

Spanish (Spain)
luis spanish app

Thanks for the help!

The case is a movie ticket reservation intent, and the problem is in handling multi-word movie names which is not a bug. But it does look like a case that could be covered with the new Patterns feature (using pattern.any. If you add the pattern.any entities to your LUIS app, you can't label utterances with these entities. They are only valid in patterns. Hope this helps!!

But with the english version works as expected

movie tickets english

And the response (multi-word movie names)
captura de pantalla 2018-05-11 a la s 9 56 36 a m

The code for both luis apps is the same:

var intent = args.intent
var title = builder.EntityRecognizer.findEntity(intent.entities, 'MovieTickets.MovieTitle')

var movie = session.dialogData.movie = {
  title: title ? title.entity : ''
}
console.log(movie.title) //avengers infinity war

Let me know what you think
Thanks lady in advance, Nicholls

English works as expected because prebuilt domains are supported in English and not supported in Spanish.
movieticketspanish
Since the prebuilt domain used for English are not supported in Spanish, the way to recognize multi words intent is to use patterns.any as mentioned above. Hope this help!!

@fanidamj Ohh thanks for your help lady!

Was this page helpful?
0 / 5 - 0 ratings