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:

  • flights
  • from
  • to
  • airfares

Plus known entity values:

  • Boston, New York...
  • tomorrow
  • next week
  • saturday...
  • first...
  • january...

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?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.