Entities with multiple roles?

Hi all!

I have the following use case, which I find hard to solve with rasa: Inside of a form, the user can specify requirements for a couch they want to buy, including its size in all dimensions. For each dimension it is also possible to specify a maximum or minimum size, if desired by the user.

My intuition to approach this problem would have been to define a size entity with multiple roles for min/max and width/length/height. This would allow rasa to separately learn what the different keywords mean (e.g. ‘minimum’ for min or ‘long’ for the length) and recognize the entities. However I do not see any way of assigning multiple roles to an entity at the same time (like {“entity”: “size”, “role”: [“min”, “length”]}).

The only way that I could find to implement this with rasa is to define one dedicated role for each possible combination of the two aspects of the size: width_min, width_max, length_min, length_max, height_min, height_max plus those where only one is specified (width, length, height, min, max). This results in 11 instead of 4 roles, which does not only seem cumbersome to me, but probably makes it a lot harder for rasa to learn from the nlu data as well, as it has to learn the meaning of the associated keywords from scratch for each role instead of once for all (e.g. ‘minimum’ needs to be learned 4 times for width_min, length_min, height_min, min). Currently I unfortunately cannot get it to work, so that rasa can reliably tell the roles apart.

Is it maybe possible to assign multiple roles to an entity and I just overlooked it in the documentation or is there maybe another intended way to implement such a use case? If not, do you have any suggestions, how I could solve or circumvent this problem?

Thank you and best regards! Jonathan