IBM offers Watson Discovery, a natural language processing (NLP) application with options to measure sentiment, detect entities, semantic roles, and other concepts.
N/A
TensorFlow
Score 7.7 out of 10
N/A
TensorFlow is an open-source machine learning software library for numerical computation using data flow graphs. It was originally developed by Google.
Overall, IBM Watson Discovery is an amazing technology that we use with our clients to address various business problems, but the biggest challenge has always been about ingesting, analyzing, enriching, and searching huge collections of documents and allowing our end users and SMEs to be able to search for what they need to reduce the time and efforts spent daily on a manual search through various collections of documents. We have successfully managed to reduce manual work by over 80%, and now our SMEs are being used for the skills they have to gather insights rather than do manual work.
TensorFlow is great for most deep learning purposes. This is especially true in two domains: 1. Computer vision: image classification, object detection and image generation via generative adversarial networks 2. Natural language processing: text classification and generation. The good community support often means that a lot of off-the-shelf models can be used to prove a concept or test an idea quickly. That, and Google's promotion of Colab means that ideas can be shared quite freely. Training, visualizing and debugging models is very easy in TensorFlow, compared to other platforms (especially the good old Caffe days). In terms of productionizing, it's a bit of a mixed bag. In our case, most of our feature building is performed via Apache Spark. This means having to convert Parquet (columnar optimized) files to a TensorFlow friendly format i.e., protobufs. The lack of good JVM bindings mean that our projects end up being a mix of Python and Scala. This makes it hard to reuse some of the tooling and support we wrote in Scala. This is where MXNet shines better (though its Scala API could do with more work).
I believe AI should be more flexible about providing data. However, it's understandable that you need to provide the details you need in a more specific and detailed way.
The interface could use more tweaking. Being new to the program, it was kind of hard to navigate.
Luckily, there was a customized feature of the dashboard that I could set up, and having something that you know where you are placed always feels familiar and comfortable.
Theano is perhaps a bit faster and eats up less memory than TensorFlow on a given GPU, perhaps due to element-wise ops. Tensorflow wins for multi-GPU and “compilation” time.
IBM Watson Discovery has the best user capabilities and easily transform business decision-making portfolio. The automation system saves time used in data analysis as opposed to manual research that consumes a lot of time. The visualization across the dashboard enables my team to interpret complex data and use it to make reliable marketing decisions.
Similar to all IBM Watson and Salesforce product solutions, the overall support would be a 10/10. Their provided FAQ's help with frequently experienced issues and if still unable to figure something out, their customer service representatives are always super responsive. With instant chat functions available, it is easy to ask a quick question rather than sitting on hold.
Community support for TensorFlow is great. There's a huge community that truly loves the platform and there are many examples of development in TensorFlow. Often, when a new good technique is published, there will be a TensorFlow implementation not long after. This makes it quick to ally the latest techniques from academia straight to production-grade systems. Tooling around TensorFlow is also good. TensorBoard has been such a useful tool, I can't imagine how hard it would be to debug a deep neural network gone wrong without TensorBoard.
Discovery differs from its competitors due to the better ease of implementation and the high level of natural language recognition, it is equal in integration resources such as API and workflow or process pipeline, but it loses in the price for a high volume of documents and/or research. If you own or plan to use other services from the IBM Watson family, there is no doubt that Watson discovery is your best option. Another important point is if you plan to use a cloud or on-premise service (local server or private cloud).
Keras is built on top of TensorFlow, but it is much simpler to use and more Python style friendly, so if you don't want to focus on too many details or control and not focus on some advanced features, Keras is one of the best options, but as far as if you want to dig into more, for sure TensorFlow is the right choice