I'm still getting up to speed with machine learning, but I'm aware of the papers on joint intent detection and slot filling by Bing Liu & Ian Lane, and another by Xiaodong Zhang and Houfeng Wang - and I'm sure there would be others.
There are several implementations available on GitHub:
I'm hoping to be able to train a model using python and TensorFlow on the back-end, and then use the model in Node and browsers using TensforFlow.js
If I feed the training process with a limited set of patterns of the form:
flights from @City:origin to @City:destination @Date:date flights from @City:origin to @City:destination @DatePeriod:datePeriod airfares from @City:origin to @City:destination ...
...then the vocabulary would be fairly limited:
Plus known entity values:
- Boston, New York...
- next week
I have a few noob questions:
Is this strategy valid?
If my vocabulary is, say, 100 words then how big is the model that would have to be downloaded by the web app?
How difficult would it be to implement the
.predict()side in TensorFlow.js?
Would there be any noticeable performance difference between the TensorFlow.js
.predict()implementation and iterating through a list of regular expressions?