Composite bag in ODA (Oracle Digital Assistant) Chatbot is an interesting concept to extract values from user input. The idea of composite bag is to emulate a realistic extraction of required values from user natural input. However, there are certain things that I have encountered that will require some workarounds.
In the real world, there are optional and mandatory values that users require for their decision. It is like ordering a meal and deciding if you should go for dessert. In this case, dessert is your optional add on that you may have. Currently, composite bag does not prove the options to state if the values are mandatory or optional. The workaround is to let users skip or set a default value for the entities value.
Enabling composite bag is straightforward if the entity field are distinct type like location, date time or number. If there are multiple entities of similar type like string, a single string user entry will resolve for all the string entities in the composite bag. If you find it hard to resolve the ambiguity, a workaround is to disable out of order extraction. This way, prompts will be used in sequence to ensure users key the right inputs.
Composite bag is a first time to natural inputs. However, there is still some tweaking if you want to allow optional user inputs. For the moment, you may only use composite bag out of order extraction for clear distinct entity type. If you have complex user inputs, you may choose to include prompts and disable out of order extraction.