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.
Teams of people, whether they are independent or part of a larger whole, rely on “Systems” to help them achieve their goals. The Systems that run these teams need not be Information Systems but it’s more than likely that unless the start-up is started in Amish country, it probably uses the Internet as a base “System,” upon which they integrate their smart phones, laptops, and maybe desktops at the very least. As a team’s complex goals become more clear and crystallized, specialized Information Systems or Software can help them scale to great heights.
A system is a set of interacting or interdependent components forming an integrated whole or a set of elements (often called ‘components’ ) and relationships which are different from relationships of the set or its elements to other elements or sets. (Wikipedia)
In our research on “startups,” or companies with five or fewer people, to rampups, or companies with five to fifty people, there are two major polar groups of companies: those that use too many systems and don’t know how to organize them; and those that use too few because they don’t know enough about them. And although my continued evaluation and interviews with companies may place them into four quadrants, we still believe that there will two major groups. Much of this really depends on who you hire. Do you hire someone who knows Computer Science, or Information Systems?
The decisions that small teams make on technology for the development of their product ( CTO‘s responsibility ) and the technology that runs their company ( CIO’s responsibility ) are dependent on a variety of factors but there are some symptoms of choosing technology on an ad-hoc basis rather than from an entrepreneurial or strategic stand point.
What does a new modern entrepreneur do? It may seem that they are damned if they don’t use the right technologies, and damned if they use too much. What’s an approach that can help them? Large organizations have evolved to understand the concepts of “Enterprise Architecture.” It is a real thing even if there are several civil and building architects that say otherwise. The complexities of large organizations require dedicated experts that marry the needs of the business’s processes to the current technology to help the organization thrive and grow. Entrepreneurial and Strategic thinking aren’t mutually exclusive, but it’s important to understand the difference.
While wearing the entrepreneurial hat, it may be just right to get the company’s Products & Services started on a combination of Linode VMs, running Ruby on Rails with Couchbase with the source code on GitHub. What happens when employee number 20 joins? Are you going to be starting up VMs on a cloud service provider to run the latest copy of OrangeHRM to manage their employee records or are you going to bite the bullet and pay for the hosted version? Technology, and Information Systems are just tools. They are not the end-all-be-all of a company.
Companies are People. They share the workload or a set of Processes. These Processes can be coordinated better with Information or records. Information can efficiently gathered, moved, manipulated, and transformed with Systems. People First, Systems Last. Not the other way around. Being entrepreneurial and strategic about why you introduce a new Technology or System to your company will help save the clutter, the trouble, and the anxiety of dealing with information problems in the future. Most importantly, it’ll help you grow faster if you don’t have the baggage of 20 employees wanting to use 200 different systems.
Ever since Peter Drucker wrote “The Coming of the New Organization,” leaders have had a choice. The choice is to either learn how to breathe , drink, and eat knowledge to survive, or drown in the sea of information while others thrive on it. The choice isn’t just to sink or swim, but to embrace the coming world. The choice is to evolve or become extinct. What will you do? Continue reading