Artificial Intelligence in Enterprise Applications with TensorFlow and Joget DX
Blog: Joget Unplugged
To simplify process automation, Joget DX supports Decision plugins that can be mapped to process routes for decision making. Several implementations are bundled, including a no-code Rules Engine and a no-code TensorFlow plugin to execute pre-trained models.
The AI focus in Joget DX is to simplify the integration of pre-trained AI models into end user applications. As rationalized in the previous article, the training of AI models are best left to machine learning experts so once a trained model is available, the goal is to make it as accessible as possible to app designers.
With the bundled TensorFlow AI plugin, you essentially:
- Upload a pre-trained TensorFlow model exported in protobuf (.pb) format
- Configure the inputs and outputs
- Configure optional post processing
The following sections showcases how a sample app on Joget DX incorporates some well known models for several common AI use cases:
- Image Classification
- Object Detection
- Face Recognition
- Audio Classification
- Text Sentiment Analysis
Sample No-Code AI Apps on Joget DX
Image Classification
Inception v3 is a widely-used image recognition model that has been shown to attain greater than 78.1% accuracy on the ImageNet dataset. ImageNet is a dataset containing for image classification containing than 14 million labeled images. In the sample app, a simple decision process is designed to demonstrate the use of the TensorFlow AI Decision plugin as shown below:
The TensorFlow plugin is then configured by:
- Uploading the pre-trained model in protobuf (.pb) format
- Configuring the image with appropriate dimensions as the input
- Configuring where to store the output result
- Configuring additional post processing to match the output result to a specific label
Download the model from http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz. More information on the Inception model can be found at https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202
Object Detection
SSD MobileNet v1 is a model for object detection trained using the COCO dataset. COCO is a large-scale dataset for object detection that contains 1.5 million object instances. The model can detect and identify multiple objects in a single image, as shown in the image below.
The TensorFlow plugin is configured by:
- Uploading the pre-trained model in protobuf (.pb) format
- Configuring the image with appropriate dimensions as the input
- Configuring where to store the output results
- Configuring additional post processing to match the output result to specific labels
Download the model from http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_2018_01_28.tar.gz. More information on object detection can be found at https://www.oreilly.com/ideas/object-detection-with-tensorflow
The TensorFlow plugin is configured by:
- Uploading the pre-trained model in protobuf (.pb) format
- Configuring a couple of images with appropriate dimensions as the input
- Configuring where to store the output results
- Configuring additional post processing to compare the “distance” between the embeddings to determine a match
Download the model from https://github.com/davidsandberg/facenet/wiki/Validate-on-lfw. More information on face recognition can be found at https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78
Audio Classification
ResNet stands for residual network, and as the name implies, it utilizes residual learning to preserve good results in neural network layers. ResNet demonstrates good results for image recognition, but also shows promise for audio classification e.g. determining the musical genre for an audio sample. This sample is based on https://github.com/chen0040/java-tensorflow-samples/tree/master/audio-classifier
The TensorFlow plugin is configured by:
- Uploading the pre-trained model in protobuf (.pb) format
- Configuring the audio sample with appropriate dimensions as the input
- Configuring where to store the output result
- Configuring additional post processing to match the output result to a specific label
Download the model from https://github.com/chen0040/java-tensorflow-samples/tree/master/audio-classifier/src/main/resources/tf_models. More information on audio classification can be found at https://medium.com/@CVxTz/audio-classification-a-convolutional-neural-network-approach-b0a4fce8f6c
Text Sentiment Analysis
The TensorFlow plugin is then configured by:
- Uploading the pre-trained model in protobuf (.pb) format
- Configuring the text with related dictionary as the input
- Configuring where to store the output result
Download the model from https://github.com/ivancruzbht/tf_android/tree/master/app/src/main/assets. More information on text classification can be found at https://medium.com/jatana/report-on-text-classification-using-cnn-rnn-han-f0e887214d5f
Getting Started on AI with TensorFlow and Joget
Joget DX will be released later in 2019, and the sample Joget app containing these AI use cases will be available then. In the meantime, TensorFlow can be incorporated into Joget apps using a custom plugin as described in an earlier article. The current stable release of the Joget platform, Joget Workflow v6, is available now for download or on the cloud.
Leave a Comment
You must be logged in to post a comment.