Our research, knowledge, thoughts, and recommendations about building and leading businesses on the Internet.
With the recent advent of GPUs and increased computational power, machine learning and neural networks have risen from the grave and are now one of the forefront technologies in tackling anything a human would normally do. One of the biggest areas of research for this approach has been in understanding the nuances of language. Computers have traditionally struggled to learn languages due to thousands of rules and even more exceptions to each rule. Simple logic approaches fail to take into account context and interpretation and are rarely able to accurately interpret sentences and paragraphs.
In the past decade, researchers have begun applying recurrent neural networks to understand text. Neural networks are combinations of artificial neurons modeled off of the human brain. These networks can change the strength of connections in between the neurons based on training data given to them. For example, if a neural network receives pictures of apples and oranges along with labels for each picture, over time it can tune these connections and learn to distinguish the two objects.
Recurrent neural networks, frequently abbreviated to RNNs, are an extension of this idea and take input from previous iterations. So if an RNN was run on a sentence, it would take the classification of the previous word and use that as additional information for the current word. This makes RNNs particularly effective at handling sequential and time correlated data. In this case, since sentences are sequential constructions and previous words impact the interpretation of the current word, RNNs can better pick up contextualization and the nuances of language.
However, there are still some issues with this idea. Firstly, RNNs can only recall one state which often isn’t enough. Most modern structures actually use something called LSTMs (Long-Short Term Memory), which are a variant of RNNs that can store multiple states and decide which ones are important enough to still keep. Another common modification is the usage of BRNNs (Bi-directional RNNs). These systems stack two opposing RNNs together in order to extract contextual information from both before and after a target word. This way, if the network is looking at a noun, it can get descriptive information such as adjectives, which are usually before the noun, and information about its current state and actions, which are usually after the noun. For example, if the network read “A red cat sits here,” the two directional approach would allow it to extract what the object (cat) looked like (red) and what it was doing (sitting).
So now we have a tool that can potentially learn and understand text. But what exactly can we do with it? How can we use this information? It turns out that while we haven’t been able to fully create a system that understands everything about language, we can build specific structures to extract certain characteristics.
For example, RNNs can determine the part of speech of a word, separating them into categories such as noun, verb, and adjective. This serves as the foundation for grammatical analysis and other insights. Google’s Cloud Natural Language API builds on this and is able to find all the different entities from a sentence, along with their relative importance and connotation. This kind of information can help identify key parts of a piece of writing and separate them out automatically.
Another approach has been in encoding words and sentences. Certain machine learning techniques are used to convert words to vectors, such as what is done by word2vec, allowing computers to represent words in mathematical terms. From this, computers can automatically learn relationships and patterns, such as the similarity between “man” and “women” compared to “king” and “queen” as the vectors between these points will be of similar size and angle. In this way, computers can symbolically represent the same information about these words that we have in our brains.
This kind of approach of encoding information has been extended to other applications, such as translating. The idea is that if you can encode and map different languages to the same vector space, then your vector space now can be used as a universal translator. One RNN can map a sentence to this space and another can take this mapping and convert it back to a different language. This actually turns out to be very similar to Google Translate functions.
From all these different applications, higher level features and characteristics of the text can be extrapolated and greater insight can be made into the content of the text. This is essential to a variety of problems, from chatbots to translators to text editors and much more and can greatly help in automating complex, repetitive work for efficient scaling.
Airtable is a relatively new Software-as-a-Service (online software, more commonly known as SaaS Software) to enter the arena for business users. I first saw it when I was looking for process management tools and a search result showed it in comparison to Trello. I was intrigued because I love Trello for what it does for me personally and what it has done for our team. This post is first in a series which will focus on Airtable and how to use it in a modern Enterprise. The Modern Enterprise is an organization or team that uses the Internet and online business software to organize people, processes, information and systems to achieve their goals. We chose to start with Airtable because it hits home for a basic and fundamental need in business which Excel, Google Spreadsheets, and others have thus far met fairly well. If you are no novice to organizing information, you know what I’m talking about. I once knew a professor who said his $500 million / year professional service business was run by his COO on Excel.
Business users have been using spreadsheets to organize information for decades. Excel is probably one of the most used business tools in the world because of its versatility by way of simple columns and rows and power by way of formulas and macros. Today, there are many alternatives to Excel that users can use online. Here are a few which I’ve used and think are good for the most part.
Google Spreadsheets – We use these extensively.
SmartSheets – I have used it in the past, and think it does some things well.
Microsoft Excel 365 – In addition to it _being_ Excel, syncing with iOS apps, it can also work with Microsoft’s Big Data product HDInsight.
These tools are all great and I don’t want to take away from them, but Airtable is another beast altogether. What drew me to Airtable was its simplicity. It looks simple. It feels simple. It _is_ simple. Having had, ahem, some, ahem, experience in databases and online software, I knew how to start using it pretty quickly. I knew I could use it, but I wanted to see if someone else could use it. I asked one of our Project Managers, Danielle, to make an Airtable to track the status of our clients, which ones were on subscription with us vs. working with us on an ad-hoc basis. Danielle is an extremely intelligent and organized team member but she’s not a technologist per se. She’s the model for what I call a technology empowered team member. Danielle had never used Airtable before but was and is very adept at using spreadsheets to track projects and project finances. She was able to whip something up in no-time.
Here are my initial thoughts which will guide my evaluation of Airtable for The Modern Enterprise in four upcoming articles (see below).
Here are some great links to get you started until the next few posts on Airtable.
This article is part of a larger series:
Check Airtable out here!
Disclaimer: We aren’t affiliated with Airtable and nor are we getting anything in return for this, we just love it when there’s awesome new technology out there that solves a number of pain points elegantly.
“AOL Keyword ‘Anant.’”
Years ago, an advertisement ending with this phrase would have made our company modern (and potentially famous). Today, the expression is a bit ‘antiquated,’ to say the least, but it also shows how technology and business have evolved. A modern business, or a “modern enterprise,” survives on the ones and zeros coursing through the air and wires all around us. Many people make use of Google, Facebook, LinkedIn or similar cloud-based services everyday. Each of these sites has evolved to provide a service to us and has delivered it to us via the internet – a process often called “software-as-a-service” or SaaS for short. The ability to leverage internet-based technology to both improve and operate a company is vital to almost every company in business today. While the examples above are well-known, many business specific SaaS products are now available to help businesses meet both their needs and their customers’ needs.
As a company (hopefully) grows and begins to mature, the intricacy of its operations and composition can increase in complexity, necessitating a tweak in approach or outside help. A critical step when asking for help is to identify what you ultimately want to do; and diagnose what is, or what will, hold your company back (the “problem”). An issue many companies run into on their way to becoming a modern enterprise is copious amounts of data and process flows, but in different systems that don’t talk to each other or users who don’t fully comprehend what can be done with the information at hand. It is the companies who make the proverbial transition to a modern enterprise, the ones who connect their information and systems to their people and processes, who will survive and thrive. This evolution will impact all aspects of a company; finance, sales, services, operations, management and research; and it is important to understand what can be accomplished and with what tools.
The concepts and tools at play are relatively simple for in-the-know technologists and internet architects, but can be challenging even for some of the most technologically savvy around. It is a bit much to delve into today, but in the coming weeks we want you to better understand these foundational precepts.
To help, we’re providing free in-person presentations, online webinars, and explanatory postings in the coming months focused on these technological concepts and their impact on business. We look forward to helping your company become a modern enterprise as the new year approaches.
If you are interested in learning more about how you can apply the modern enterprise approach to your work today sign up for one of our 30 minute free consultations here! You can also tune in to our webinar later today (10am EDT) or catch up with us on 9/30 for a big data focused strategy breakfast.
Modern Enterprise Series
Software, software, software everywhere – and applications! Let’s face it, you probably couldn’t run your company without them. At Anant, we help clients connect their different pieces of software, apps and hardware to help make workflows more productive and more efficient. Next week, as part of our four part webinar series, CEO Rahul Singh will present on Enterprise Application Integration (EAI) to help you understand how these connections can be executed and why they are important to your business operations.
Even though the term “Enterprise Application Integration” itself seems daunting it is something you will be able to do (or want to do) to unlock opportunities for your company and yourself. Previously, monolithic applications, such as complex enterprise resource planning (ERP) systems, attempted to create large frameworks of applications that would give you an all-in-one solution to your application integration needs. One of the main obstacles with systems such as these is they are largely inflexible. In a business environment where processes, amongst other things, are often prone to change, it is not sustainable to use applications which are inherently rigid.
With the advancement of Application Program Interface (API) technology, there is now a plethora of different application integration opportunities. Using APIs, companies have a much more feasible way to get applications to talk with each other, or with a central data warehouse (essentially, a repository for data from operational systems such as marketing, sales, etc.). Most of your common internet applications; such as Google Apps, Salesforce, WordPress, and Jira; have APIs which can be programmed to suit your needs. However, there are pitfalls you need to avoid when connecting your applications together as well as important best practices to follow.
During the webinar Rahul will address benefits, pitfalls, and best practices while walking through the different options currently available for integrations. Sign up is now open for the Friday, September 16, webinar! We’ll start at 10am and finish about an hour later. This webinar will be a 20-25 minute presentation and demonstration followed by an open-forum discussion around the topic of connecting online business software. We hope to see you there!
Come see us present in person at one of our upcoming events. If you’re in the DC area next week, Rahul will be moderating the monthly Data Wranglers DC event on Wednesday, September 14, where the presenter will speak about using Spark and Accumulo. You can sign up here.
Rahul Singh, CEO of Anant Corp, is going to be taking part in the Native American Contractors Association’s (NACA) Emerging Native Leaders Summit 2016! We are excited to have Rahul speak in front of young entrepreneurs seeking to expand their business knowledge. Find more information on our Events page or on NACA’s website here!