SAP Leonardo Vs. TensorFlow

SAP Leonardo Vs. TensorFlow

Published: 07/July/2020

Reading time: 4 mins

Owen Cook, SAP ABAP Developer, Contax Inc.

Less than a decade ago, machine learning (ML) was an experimental technology. Today, however, enterprises have access to multiple interfaces for this very technology. SAP users will, no doubt, be familiar with SAP Leonardo. SAP developed Leonardo to offer a native interface for ML that any SAP user could easily integrate into his or her projects. However, a few companies were already involved in ML projects, some of which utilized Google’s TensorFlow.

SAP Leonardo and Google’s TensorFlow have each advanced equally in terms of their ability to be integrated into ML projects, and both offer the capability to create complete frameworks so that devices can learn on their own. However, as similar as they are in some senses, there are differences that aren’t immediately apparent from a general comparison. In this article, we will look at the differences between TensorFlow and Leonardo, and examine how each can work within an SAP environment.

Comparing the Utilities Head-to-Head

The similarities between SAP Leonardo and Google’s TensorFlow are easy to spot. Both utilities are easy for prototyping new ML projects, for example—TensorFlow uses ready-made templates to offer a quick way to design new projects, and Leonardo deals with access to SAP libraries that provide users the ability to interact with data structures within SAP natively. TensorFlow is a bit more complex to get the hang of (especially for a seasoned SAP user) and naturally, many users who are already familiar with the SAP environment will feel more at home with Leonardo as a result. Both utilities have a massive library of documentation alongside community support as well. As any ML developer can attest, these additions can be crucial in developing solutions for any problem.

The differences are a little more subtle between each tool. SAP Leonardo offers its users a range of languages to work with, including SAP-native ABAP, alongside R and JavaScript (using runtime environments such as Node.js). Conversely, TensorFlow seems more focused on offering users the ability to code in languages familiar to data analysts. Python is currently the best-supported language for TensorFlow development, but users can also use C++, Java, and even Go. TensorFlow also comes with several innovative additions, including TensorBoard, a visualization tool that coders can use to “see” their ML code in action.

Leonardo lacks this sort of functionality, however the solution makes up for the lack of visualization with its ease of integration with Natural Language Processing (NLP) projects. SAP has made libraries available for users that help them construct life-like bots that can answer customer queries in real-time, using SAP data for its secondary information source. While users can theoretically put together a robust NLP system with TensorFlow, it takes a lot more work. There’s no ready-made conversational artificial intelligence to rely on, as in Leonardo’s implementation. Users who want to implement an NLP system in TensorFlow will need to go about coding it themselves.

Case Study: BASF

In a large industrial chemical manufacturer like BASF, communication is a crucial element that allows them to meet the needs of their customers. In the past, BASF relied on the manual categorization of incoming email requests from clients. Naturally, the result was a slow, inefficient system that didn’t adapt to the company’s needs as its customer base expanded. Recently, however, BASF has adopted SAP Leonardo to help manage these incoming emails. Over five months, BASF trained their new customer request tracking system (nicknamed CuRT) to learn where requests should be sent. Today, CuRT is routing over two thousand emails a day, in a far more efficient manner than a human being could.

Case Study: Twitter

One of the most significant problems social media runs into is determining the most important stories for users to see. Twitter addressed this issue by developing a utility known as their “Ranked Timeline.” Initially, the system was built on Torch, but after some deliberation, Twitter switched over to using TensorFlow. To develop the system, Twitter relied on a “relevance” ranking score for each tweet and based on each user’s preferences. Leveraging Python, Twitter was able to use TensorFlow to analyze a series of “split networks” that categorized different parts of a tweet by relevance. The result was a streamlined timeline that appealed to users based on their preferences.

Which Option Is the Right One for You?

In conclusion, the decision between using SAP Leonardo or TensorFlow depends on how your business wants to use the product.

TensorFlow is a useful addition to a company that wants to utilize ML, but are not sure how they intend to use it. TensorFlow’s massive library offers a lot of depth, but users can quickly become mired in lots of shiny, new projects without clear direction. Within the SAP environment, programmers may need to code wrappers for their SAP data objects for TensorFlow to utilize them properly. It’s not impossible, but it can be time-consuming. If your business is looking at creating something truly unique and revolutionary, TensorFlow might be a good starting point.

SAP Leonardo comes with a lot of things that make it recommendable as a platform for enterprise-level ML projects. Native ABAP code and built-in support for SAP data objects make life a lot easier for companies that already use SAP. Unfortunately, Leonardo does not come with nearly as many libraries. If your project is going to be confined to the SAP landscape, this is not a problem. However, cross-integration may require some skillful coding to get everything working alongside each other.

More Resources

See All Related Content