This post will discuss Robotic Process Automation, Why RPA is needed, and the top Robotic Process Automation frameworks that every business owner must rely on in 2021 and even after.
Robotic process automation (or RPA) is a form of business process automation technology based on metaphorical software robots (bots) or artificial intelligence (AI)/digital workers. Therefore, it is sometimes referred to as software robotics (not to be confused with robot software).
That makes hiringRPA developersessential for today’s business for automating tasks, which is ultimately required to enhance performance, speed, and productivity.
Let’s look into some reasons why RPA is vital for process automation:
Increases Productivity, Speed, and Quality
Robotic Process Automation can easily be trained to understand repetitive chores faster and much more efficiently than humans can ever do.
Squeeze Out More Value From Gigantic Data
Almost every business/organization needs to store gigantic data nowadays. And, the data is so much so that companies can’t even process all of it. RPA is suited to help parse through vast amounts of data and assist businesses in making sense of every data they collect.
Spare Enough Time for Employees to Be More Productive
RPA helps in freeing up the employees for doing more valuable tasks in the business. It offers workers the ability to work on some more critical tasks, which can easily enhance productivity, quality, and speed of the processes in the business. Since employees will be more excited about their jobs now, it will be much easier to keep them happy.
Be Much More Adaptable to Change
Organizations are much more agile in adapting to change since the disruption caused by COVID-19. This is because the rate of being adaptable is relatively high, and RPA helps organizations speed up the processes at a minimum cost to be more efficient in such unwanted situations. As a result, organizations that follow RPA are more likely to deal with such change and disruption than those that don’t.
Top Robotic Process Automation Frameworks to Try in 2021
Now that we know about RPA and why it is essential for any business, let’s check out the top five Robotic Process Automation frameworks to help enterprises to be more productive, quicker, and efficient in delivering quality in 2021 and even after.
Earlier known as sharpRPA, Taskt is a free C# program built using the .NET Framework. The best part about Taskt is that it features an easy-to-use drag and drop interface, which leads to a simplified automation process without needing to code. As a result, Taskt is a fantastic tool for teams who are purely C# centric.
Developers with strong Azure/Microsoft background will find it much easier to create scripts with Taskt using C#. Hence, Taskt can be an excellent tool for anyone, especially for those used to developing Microsoft C# solutions.
The capabilities of Taskt opens up a whole world of possibilities for businesses – they can quickly re-engineer the traditional business processes just by using the simple drag and drop interface. You even have the option to opt for free trials of the app or even set up manually – the choice is yours.
Why use Taskt?
Free to set up and use
Time and cost savior
No more handling of complex accounting tasks
Seamlessly manage accelerating volumes of incoming data
A multilayered and sophisticated tool that incorporates rich scripting language, allowing developers to complete complicated RPA instructions. Once each set of instructions, known as ‘Flows,’ is developed, you can easily save it in a text file with the extension ‘.tag’ using TagUI’s scripting language. Each flow can be efficiently executed then using a terminal window/command prompt.
Every flow script can quickly identify the following:
Instructions to open an app/website
Where exactly to click on the screen
What sort of content to type
‘IF’ and ‘Loop’ instructions
The TagUI’s scripting language is quite rich, and that’s why people love to rely on this robotic process automation framework. Moreover, once the tool is up and running, it is pretty seamless to share the scripts as .tag files to form the library.
When your team wants to experience automation while enjoying high-end customizations, it is highly recommended to use Open RPA. It is a mature tool all set to support and scale companies of every size.
Open RPA tool features:
Seamless integration with leading cloud providers
Remote Management
Easy remote handling of state
Easy-to-access dashboard for analytics
Scheduling
Open RPA is one of the two projects by OpenIAP, where IAP stands for Integrated Automation Platforms. The best part about Open RPA is that it is pretty easy to start with, and you don’t have to be a whiz to utilize it. You can completely automate your data and get access to real-time reporting to enhance the organization’s productivity.
The gigantic community of open-source developers has undeniably made it highly reliable and trustworthy RPA solutions for developers. Evidently, the benefits of the Robot Framework have made it such a highly preferred robotic process framework for the developers, which can be stated as follows:
Robot Framework runs on different platforms, making it one of the most easy-to-use platforms to adopt and implement.
The core framework of the Robot Framework can be extended using the massive library of plugins.
Group of vendors supports the open-source community, which helps in the quick update of the core product.
Easily scale to the business’ needs using the default bots for replicating the automation.
Expert developers love this Robotic Process Automation platform, as this tool is a little complicated and may not be highly recommended to those new to RPA.
UI.Vision (Kantu)
Earlier, it was known as Kantu and runs either as a plugin in your web browser or as a standalone client. You don’t have to be an expert in writing scripts since a point-and-click interface drives that. UI.Vision is a highly reliable Robotic Process Automation framework for even those new to RPA who don’t have access to unlimited resources.
UI.Vision is an excellent Robotic Process Automation tool for developers. However, it may lack the functionality needed to complete more complicated tasks. For example, more complex controls need terminal window access and scripts, which are not really supported by UI.Vision.
Robotic Process Automation frameworks are friendly when you want your businesses to be more productive, quick, highly automated, more efficient, and deliver quality. But, of course, that being the ultimate goal of every organization, every business would benefit from it. So, we highly recommend you adopt RPA into your firm, experience the benefits of automation, and make your business/employees/processes more efficient and productive than ever before.
Businesses now realize the need for a customer-centric approach to transforming their customer experience (CX). According to theZendesk Customer Experience Trends Report 2021, 75 percent of company leaders agreed that the global pandemic accelerated theacquisition of new technologiesto get customer-centricity right.
But, there are challenges too.
Some of the businesses don’t have the systems and technology to segment and profile customers.
Some lack the processes and operational capabilities.
Some of them don’t have all of the components in place to claim they are customer-centric.
Few don’t know what their customers expect and how they want to interact with the business – not the products, features, or revenue model.
However, in the digital-first world, social messaging is the dominating communication channel consumers are using to interact with brands. Forward-looking businesses are tapping this trend to their advantage using industry-ready AI chatbots to manage customer-centric interactions and forge customer relationships online.
Superior Customer Experience is a Necessity
While adopting the latest AI technologies to improve customer relationships, it becomes imperative for industry leaders to keep an eye on the latest customer engagement trends. Here are a few reasons that explain why a top-notch customer experience is the need of the hour:
To enable a Superior Omnichannel Experience
AI-powered chatbots are capable of preserving information across several digital touchpoints and even when it transfers the conversation to a live agent, customers don’t have to explain their issues repetitively. Such availability of information across the channels helps businesses provide a consistent omnichannel experience to their customers. This experience helps businesses save time for customers and amplifies the customer engagement graph.
To improve Brand Loyalty & Differentiation
Another success metric for businesses is to consistently improve their brand value in this digital competitive arena. Brand loyalty involves an intrinsic commitment of a consumer to a brand based on the distinctive values it offers. Hence, it becomes an obvious reason for CXOs to leverage a Conversational AI technology that enables instant, relevant responses helping brands provide improved experiences and differentiation.
To expand new Customer Base
The biggest success for brands is to acquire new customers and expand their customer base over time. Providing instant prompts with offers, product recommendations, and guiding customers through their conversational journeys enables businesses to broaden their reachability and increase conversions.
Intelligent AI chatbots are fast becoming key enablers to customer support and conversational commerce teams and are instrumental to improving the end-customer experience landscape.
Why are AI Chatbots not a “One-Size-Fit-All” Approach?
AI Chatbots are not a “one-size-fits-all” solution. No two brands have the same business needs, so no two chatbots can be the same. An all-in-one solution that goes right for all the business functions sounds like a myth. Hence, the approach has to be changed as per the business use cases while building and training an AI chatbot.
When catering to customer support and conversational commerce use-case, the “One-size Fit-all” approach is not able to solve all customer queries. The responses will sound generic to customers and increase dissatisfaction. Hence, the right approach is to replace this with the best and most common industry use-cases to improve efficiency and conversions.
Here are a few problems that remain unsolved with the one-size-fit-all approach:
Every industry has its distinct use-cases.Today, every industry has its unique business use cases depending on the marketplace and audience they are targeting. Hence, a versatile approach that provides solutions to industry-specific use cases should be the topmost priority for businesses when adopting customer experience automation technology.
Non-personalized responses don’t work anymore. A generic AI Chatbot will not be capable of providing contextual responses across omnichannel digital touchpoints. In the current landscape, this won’t work anymore. The need of the hour is a domain-intelligent AI Chatbot that can end-to-end resolve customer queries, providing a seamless experience to the customer.
Customer satisfaction matters. Unhappy Customers are an outcome of poor customer service. A generic AI chatbot will not be able to deliver top-quality support and service as they are not supported or trained to handle domain-specific commonly recurring queries, resulting in increasing customer dissatisfaction.
NLP: The Technology Behind Intelligent Conversations
While it is established that a domain-specific, AI virtual assistant is core to enabling superior customer experience, it’s important to understand the technology behind it.
To understand the pain points, intent, and expectations of a customer in a conversation between a bot and a customer, NLP is the behind-the-scenes technology that makes the magic happen.
Natural Language Processing (NLP) is a subsection of Artificial Intelligence that enables chatbots to understand human languages. NLP analyzes the customer query, language, tone, intent, etc., and then uses algorithms to deliver the correct response. In other words, it interprets human language so efficiently that it can automatically perform end-to-end interaction with accuracy.
Key Capabilities that NLP provides:
NLP allows chatbots to understand voice input as well as text.
With NLP technology, the chatbot doesn’t need the exact correct syntax to understand customer’s expectations.
Based on its programming mechanism, it can auto-detect languages, context, sentiment, and intent.
Chatbots can either process their response through their NLP engine or by analyzing customer’s browser preferences.
Intelligent AI chatbots are now critical to strengthening a brand’s CX strategies. As cognitive AI-powered technologies continue to develop, business leaders must ensure they adopt chatbots technologies that are agile to meet the requirements of their businesses.
Key Capabilities a powerful AI Chabot Should Have
An AI-powered full-stack Conversational AI platform enables brands to comprehensively solve business problems end-to-end, and at scale. While looking to adopt a conversational AI solution, some of the key characteristics which CX leaders should look for are as follows:
Powerful NLU & ML Intelligence: The turning point in the evolution of chatbots was the advent of two key AI technologies – Natural Language Understanding (NLU) and Machine Learning (ML). The architecture of Natural Language Understanding (NLU) is built on a combination of modules such as Language detection, ASR classification, Context Manager, that work in tandem with deep learning-based encoders to accurately understand natural language and handle user queries with higher precision. Businesses should go with a Conversational AI solution that has a high precision, powerful NLU capability.
Ability to Create Domain Intelligent Conversations: Industry-specific AI chatbots embedded with domain-specific intelligence, data dictionaries & taxonomies are trained on thousands of user utterances to deliver human-like conversational experiences at scale. The in-built Named Entity Recognition (NER) engine helps chatbots to understand user intent and context better. As customer conversations are unique to a business, the Conversational AI solution must be agile and help create domain intelligent conversations.
Quick to Launch: AI chatbots built using smart NLU and advanced domain intelligence capabilities Smart Skills deliver desired output with minimal effort and training. This platform consists of a comprehensive library of 100+ ready-to-use, domain-specific intelligent use cases for your business. Technology is getting easier to deploy and domain-intelligent chatbots can now be launched in a matter of minutes. Businesses should go for a Conversational AI solution that is faster to value and give quick ROI.
Comprehensive integration to build a Full Stack solution: An AI solution that can be easily integrated into your existing CRMs, help desk software, etc helps create a full-stack solution with only one source of truth. The best scenario, in this case, is that the integration of these AI solutions should not require deep-coding dependencies or complex technical processes. Businesses should adopt an easy-to-integrate Conversational AI solution that has a comprehensive integration ecosystem.
CX Trends to Look out for in 2021
While the above-mentioned capabilities of Conversational AI sound interesting and intriguing, it is only the tip of the iceberg. Technology has just entered the digital space and is expected to evolve further with time. Talking about the same, here are the top four customer experience trends businesses might come across in 2021 and beyond.
The build-to-buy switch: Considering the increasing popularity, organizations find it optimal in terms of cost to purchase already-built tools and then customize them, instead of building one from scratch.
Emphasize on what and how of the customers: 2021 conversational AI tools are more efficient now. They are designed to understand human language quicker, faster and give human-like responses.
Deploy models (process-oriented) that are more than a messaging bot: Since organizations are on the lookout for automating a large part of their customer interaction funnel, emphasis is laid on the creation of tools that are one step ahead of the basic designs and can automate end-to-end queries and processes which are repetitive.
Consolidation of customer support, marketing, and sales departments: To offer an omnichannel experience, the next wave of conversational bots is bringing together the different departments in an organization to achieve a common goal of customer experience.
Final Words
CX transformation is a catch-all phrase that means something different for every business. There should be different strategic approaches when it comes to deploying AI-powered technologies. However, it is established that a simple AI chatbot will not deliver the kinds of experiences that a Conversational AI solution can enable.
In case you’re interested to explore more, here’s an eBook we’ve put together that shares the experiences of a diverse set of CxOs as a part of their journey to identify feasible, realistic solutions to solve the challenge of repairing a broken customer experience and scaling high-volume customer queries with AI Automation. Get your copyhere.
Join us in our journey to transform Customer Experience with the power of Conversational AI.
This is not a discussion as to whether the data is flawed or not, or whether we are comparing apples to oranges or not (the way statistics are gathered in different countries). These are of course fundamental questions, but here I will only use data (provided by Google) that everyone seem to more or less agree with, and I am not questioning it here.
The discussion is about why some of that data makes the news every day, while some other critical parts of that same public data set is nowhere mentioned. I will focus here on data from United Kingdom, which epitomizes the trend that all media outlets cover on a daily basis: a new spike in Covid infections. It is less pronounced in most other countries, though it could take the same path in the future.
The three charts below summarize the situation. But only the first chart is discussed at length. Look at these three charts, and see if you can find the big elephant in the room. If you do, no need to read the remaining of my article! The data comes from this source. You can do the same research for any country that provides reliable data.
Of course, what nobody talks about is the low ratio of hospitalizations per case, which is significantly down by an order of magnitude, compared to previous waves. Even lower is the number of deaths per case. Clearly, hospitalizations are up, so there is really some worsening taking place. And deaths take 2 to 3 weeks to show up in the data. This is why I selected United Kingdom, as the new wave started a while back yet deaths are not materializing (thankfully!)
This brings a number of questions:
Are more people getting tested because they are flying again around the world and vacationing, or asked to get tested by their employer?
Are vaccinated people testing positive but don’t get sick besides 24 hours of feeling unwell just after vaccination?
Are people who recovered from Covid testing positive again, but like vaccinated people, experience a milder case, possibly explaining the small death rate?
It is argued that 99% of those hospitalized today are unvaccinated. Among the hospitalized, how many are getting Covid for the first time? How many are getting Covid for the second time? Maybe the latter group behaves like vaccinated people, that is, very few need medical assistance. And overall, what proportion of the population is either vaccinated or recovered (or both)? At some point, most of the unvaccinated who haven’t been infected yet will catch the virus. But no one seems to know what proportion of the population fits in that category. At least I don’t. All I know is that I am not vaccinated but have recovered from Covid once if not twice.
To receive a weekly digest of our new articles, subscribe to our newsletter, here.
About the author: Vincent Granville is a data science pioneer, mathematician, book author (Wiley), patent owner, former post-doc at Cambridge University, former VC-funded executive, with 20+ years of corporate experience including CNET, NBC, Visa, Wells Fargo, Microsoft, eBay. Vincent is also self-publisher at DataShaping.com, and founded and co-founded a few start-ups, including one with a successful exit (Data Science Central acquired by Tech Target). He recently opened Paris Restaurant, in Anacortes. You can access Vincent’s articles and books, here.
In my previous post in which I discussed names, I also led in with the fact that I am a writer. Significantly, I did not really talk much about that particular assertion, because is in fact comes with its own rabbit hole quite apart from that associated with names and naming. Specifically, this assertion is all about roles.
Ontologists, especially neophyte data modelers, often get caught up in the definition of classes, wanting to treat everything as a class. However, there are two types of things that don’t actually fit cleanly into traditional distinctions of class: roles and categorizations. I’m not going to keep the focus of this article on roles, preferring to treat categorizations separately, though they have a lot of overlap.
In describing a person, it’s worth dividing this particular task up into those things that describe the physical body and those things that describe what that person does. The first can be thought of as characteristics: height, weight, date of birth (and possibly death), skin color, physical gender, scars and marks, hair color, eye color, and so forth. Note that all of these things change over time, so blocks of characteristics may all be described at given intervals, with some kind of timestamp indicator of when these characteristics were assessed.
In a purely relational database, these personal relationships would be grouped together in a cluster of related content, (a separate table row) with each row having its own specific timestamps. The foreign key for the row would be a reference to the person in question.
In a semantic triple store (a hypergraph), this relationship gets turned around a bit. A block of characteristics describes the individual – the “parent” of this block is that person. In UML, this would be considered a composition but SQL can’t in fact differentiate between a composition (a characteristic that is intrinsic to its parent) and an association (a relationship between two distinct entities). That’s why SQL treats both as second normal form relationships.
A semantic graph, on the other hand, is actually what’s called a hypergraph. This is a point that a surprising number of people even in the semantic world don’t realize. In a normal, directed graph, if you have an assertion where the subject and the predicate are the same, then you can have only one object for that pair (keeping in mind that the arrow of the edge in the directed graph always goes from subject to object, not the other way around). This is in fact exactly what is described in SQL – you can’t have the same property for a given row point to different foreign keys.
In a hypergraph, on the other hand, there is no such limit – the same subject and predicate can point to multiple objects without a problem. This means that you CAN in fact differentiate a composition from an association in the graph, rather than through an arbitrary convention. The downside to this, however, is that while all graphs are hypergraphs, not all hypergraphs are graphs. in the strictest sense of the word. Put another way, the moment that you have a property for a given subject point to more than one object, you cannot represent that hypergraph in a relational database.
Ironically, this is one of the reasons that compositions tend to be underutilized in programming – they are a pain to serialize in SQL. Compositions are easier to manage in both XML and JSON, but in the case of JSON, this is only because properties can take arrays as arguments (XML uses sequences and is actually much better oriented for working with them). An array is a data structure – which means that an array with a single value is NOT the same thing structurally as a singleton entity, which can be a real problem when dealing with serialized JSON versions of RDF.
Given all that, the reason that hypergraphs are so relevant to roles is that a role is intrinsically a hypergraph-type relationship. For instance, consider a given person. That person may be simultaneously a novelist and a screenwriter (and could even be a producer (in the US, the UK still uses show runner for the person who is largely responsible for the overall story of several episodes of a show). Just to make things even more exciting, it’s even possible for that same person to be an actor at the same time as well.
What makes roles so problematic is that they are not just descriptive. A screenwriter writes a draft of a story for a production. An author writes a book. They may describe the same basic story, but beyond the essence of the story, the two may be dramatically different works (J.R.R. Tolkien wrote the Lord of the Rings series, but there have been multiple adaptations of these books by different screenwriters over the years). This means that the information that a role provides will likely vary from role to role.
In point of fact, a role is an example of a more abstract construct which I like to call a binding. All bindings have a beginning and an end, and they typically connect two or more entities together. Contracts are examples of bindings, but so are marriages, job roles, and similar entities. In the case of a script binding, it would look something like this (using the Templeton notation I discussed in my previous article):
Where is the role here? It’s actually implied and contextual. For instance, relative to a given production you can determine all of the scriptwriters after the fact:
#Sparql
construct {
?Production production:hasScriptWriter ?Person.
}
where {
?Script Script:hasProduction ?Production.
?Script Script:hasAuthor ?Person.
?Person Person:hasPersonalName ?PersonalName.
?PersonalName personalName:hasSortName ?SortName
}
order by ?SortName
In other words, a role, semantically, is generally surfaced, rather than explicitly stated. This makes sense, of course: over time, a production may have any number of script writers. One of the biggest areas of mistakes that data modelers make usually tends to be in forgetting that anything that has a temporal component should be treated as having more than one value. This is especially true with people who came to modeling through SQL, because SQL is not a hypergraph and as such can only have many-to-one relationships, not one-to-many relations.
By the way, there’s one assertion format in Templeton I didn’t cover in the previous article:
The expression (<=skos:prefLabel) means that the indicated predicate script:hasWorkingTitle should be seen as a subproperty of skos:prefLabel. More subtly,
script:hasAuthor ?Person; #+ (<=entity:hasPerson)
indicates that the predicate script:hasAuthor is a subproperty of entity:hasPerson.
Note that this is a way of getting around a seemingly pesky problem. The statement:
is a statement that indicates that there is an implicit property entity:hasPerson that script:hasAuthor is a sub-property of, and by extension, that Class:_Author is a subclass of Class:_Person. However, with the binding approach, there is no such explicit formal class as Class:_Author. We don’t need it ! We can surface it by inference, but given that a person can be a scriptwriter for multiple productions and a production can have multiple scriptwriters, ultimately, what we think of as role is usually just a transaction between two distinct kinds of entities.
While discussing media, this odd nature of roles can be seen in discussion of characters. I personally love to discuss comic book characters to illustrate the complex nature of roles, because, despite the seeming childishness of the topic, characters are among some of the hardest relationships to model well. The reason for this is that superheroes and supervillains are characters in stories, and periodically those stories are redefined to keep the characters seemingly relevant over time.
I find it useful in modeling to recognize that there is a distinction between a Person and what I refer to as a Mantle. A person, within a given narrative universe, is born, lives a life, and ultimately dies, A mantle is a role that the person takes on, with the possibility that, within that narrative universe, multiple people may take on the mantle over time. For instance, the character of Iron Man was passed from one person to another.
Notice here that I’ve slipped in the concept of narrative universe here. A narrative universe, or Continuity for brevity, is a story telling device that says that people within a given continuity have a consistent history. In comics, this device became increasingly used to help to deal with inconsistencies that would emerge over time between different writing teams and books. The character Tony Stark from Marvel comics featured the same “person” in different continuities, though each had their own distinct back stories and histories.
I use both Tony Stark and Iron Man here because Tony Stark wore the mantle of Iron Man in most continuities, but not all Iron Man characters were Tony Stark. When data modeling, its important to look for edge cases like this because they can often point to weaknesses in the model.
Note also that while characters are tied into the media of the story they are from, a distinction needs to be made between between the same character in multiple continuities and the character at different ages (temporal points) within the same continuity. Obi Wan Kenobi was played by multiple actors over several different presentations, but there are only a small number of continuities in the Star Wars Universe, with the canonical continuity remaining remarkably stable.
Finally comes the complications due to different actors performing different aspects of the same characters in productions. James Earl Jones and David Prowse performed the voice and movement respectively of Anakin Skywalker wearing the mantle of Darth Vader in the first three movies, with Hayden Christensen playing Anakin before he donned the cape and helmet, Jake Lloyd played him as a child, and Sebastian Shaw played him as the dying Skywalker in Return of the Jedi. If you define a character as being the analog of a person in a narrative world, then the true relationship can get to be complex:
#Templeton
# A single consistent timeline or universe.
?Continuity a Class:_Continuity.
# An self-motivated entity that may live within multiple continua, aka Tony Stark
This is a complex definition, and it is also still somewhat skeletal (I haven’t even begun digging into organizational associations yet, though that’s coming to a theatre near you soon). It can be broken down into a graphviz (which can actually be created fairly handily from Templeton) as something like the following:
digraph G {
node [fontsize=”11″,fontname=”Helvetica”];
edge [fontsize=”10″,fontname=”Helvetica”];
Continuity [label=”Continuity”];
Character [label=”Character”];
Mantle [label=”Mantle”];
CharacterVariant [label=”CharacterVariant”];
StoryArc [label=”StoryArc”];
Characteristics [label=”Characteristics”];
ActorRole [label=”ActorRole”];
Production [label=”Production”];
Character -> Continuity [label=”hasContinuity”];
CharacterVariant -> Character [label=”hasCharacter”];
We can use this as a template to discuss Tony Stark and Iron Man in the Marvel Cinematic Universe (MCU):
This may seem like modeling overkill, and in many cases, it probably is (especially if the people being modeled are limited to only one particular continuum). However, the lessons to be learned here are that this is not THAT much overkill. People move about from one organization to the next, take on jobs (and hence roles) and shed them, and especially if what you are building is a knowledge base, one of the central questions that you have to ask when working out modeling is “What will the world look like for this individual in three years, or ten years?” The biggest reason that knowledge graphs fail is not because they are over-modeled, but because they are hideously under-modeled, primarily because building knowledge graphs means looking beyond the moment.
What’s more important, if we take out the continuum and the actor/production connections, this model actually collapses very nicely into a simple job role model, which is another good test of a model. A good model should gracefully collapse to a simpler form when things like continuum are held constant. The reason that Characteristics in the above model is treated as a separate entity is because the characteristics of a person changes with time. Note that this characteristic model ties into the character (or person) rather than the role, though it’s also possible to assign characteristic attributes that are specific to the role itself (the President of the United States can sign executive orders, for instance, but once out of that role, the former president cannot do the same thing).
I have recently finished watching the first Season of Disney/Marvel’s Loki. Beyond being a fun series to watch, Loki is a fantastic deconstruction of the whole notion of characters, mantles, variants and roles within intellectual works. It also gets into ideas about whether, in fact, we live in a multiverse (The Many Worlds Theory) or instead whether quantum mechanics implies that the universe simply creates properties when it needs to, but the cost of these properties is quantum weirdness.
Next up in the queue – organizations, and modeling instances vs sets.
Good E-R diagrams capture core components of an enterprise.
5 things not to include in your diagram.
Tips to guide you in your E-R diagram design.
In my previous blog post, I introduced you to the basics of E-R diagram creation. In this week’s post, I show you how not to make one. In addition to creating a clean, readable diagram, you should avoid any of the following poor practices:
Saying the same things twice with redundant representations.
Using arrows as connectors (unless it’s indicating a cardinality of “one”).
Overusing composite, multivalued, and derived attributes.
Including weak entity sets when a strong one will suffice.
Connecting relationships to each other.
1. Don’t include redundant representations.
Redundancy is when you say the same thing twice. As well as wasting space and creating clutter, it also encourages inconsistency. For example, the following diagram states the manufacturer of “wine” twice: once as a related entity and once as an attribute.
If you include two (or more) instances of the same fact like this, it could create problems. For example, you may need to change the manufacturer in the future. If you forget to change both instances, you’ve just created a problem. Even if you remember to change both, who’s to say you (or someone else) didn’t add a third or fourth? Stick to one representation per fact and avoid trouble down the road.
2. Don’t Use Arrows as Connectors
Arrows have a very specific meaning in E-R diagrams: they indicate cardinality constraints. Specifically, a directed line (→) indicates “one” with an undirected line (-) signifies “many” [2]. The following E-R diagram (C) shows an example of when you should use an arrow. A customer has a maximum of one loan via the relationship borrower. In addition, each loan is associated with a single customer via the same borrower relationship. Diagram (D) on the other hand shows that the customer may have several loans and each loan may be associated with multiple borrowers.
It’s possible to place more than one arrow from ternary (or greater) relationships. However, as these can be interpreted in multiple ways, it’s best to stick to one arrow.
3. Don’t Overuse Composite, Multivalued, and Derived Attributes
Although you have many different elements to choose from in a diagram, that doesn’t mean you should use all of them. In general, try to avoid composite, multivalued and derived attributes [2]. These will quickly clutter up your diagram. Consider the following two E-R diagrams.
The first (A) shows some basic customer information. Diagram (B) shows the same information with the addition of many unnecessary elements. For example, although it’s possible to derive AGE from DATE OF BIRTH, it may not be a necessity to include it in the diagram.
4. Limit use of weak entity sets
A weak entity set can’t be identified by the values of their attributes: they depend on another entity for identification. Instead of a unique identifier or primary key, you have to follow one or more many-to-one relationships, using the keys from the related entries as an identifier. It’s a common mistake for beginning database designers to make all entity sets weak, supported by all other linked entity sets. In the real world, unique ID’s are normally created for entity sets (e.g. loan numbers, driver license numbers, social security numbers) [2].
Sometimes an entity might need a little “help” with unique identification. You should look for ways to create unique identifiers. For example, a dorm room is a weak entity because it requires the dormitory information as part of its identity. However, you can turn this weak entity into a strong once by uniquely identifying each room with its name and location [3].
Before you even consider using an entity set, double check to make sure you really need one. If an attribute will work just as well, use that instead [1].
4. Don’t connect relationship sets
Connecting relationship sets may make sense to you, but don’t do it. It isn’t standard practice. Connecting one relationship set to another is much like using a diamond to represent an entity. You might know what it means, but no one else will. Take this rather messy example of a wine manufacturer.
The “bought by” ” sold by” and “manfby” relationships are all connected. It could be that manufacturers buy their own wine back from themselves. Or, perhaps, sometimes manufacturers sell their own product. Whatever relationship is going on here, it’s confused and muddled by the multiple relationships.
Unless you want a meeting with your boss to explain what exactly your diagram means, leave creativity to the abstract artists and stick with standard practices.
Adversarial attacks are not common now because there are not many deep learning systems in production. But soon, we expect that they will increase. Adversarial attacks are easy to describe. In In 2014, a group of researchers found that by adding a small amount of carefully constructed noise, it was possible to fool CNN/ computer vision. For example, as below, we start with an image of a panda, which is correctly recognised as a “panda” with 57.7% confidence. But by adding the noise, the same image is recognised as a gibbon with 99.3% confidence. For the human eye, both images look the same but for the neural network, the result is entirely different. This type of an attack is called an adversarial attack and it has implications for self driving cars where traffic signs could be spoofed.
There are three scenarios for this type of attack:
Evasion attack: this is the most prevalent sort of attack. During the testing phase, the adversary tries to circumvent the system by altering harmful samples. This option assumes that the training data is unaffected.
Poisoning assault: This form of attack, also known as contamination of the training data, occurs during the machine learning model’s training phase. An opponent attempts to poison the system by injecting expertly produced samples, so jeopardizing the entire learning process.
Exploratory attack: Exploratory attacks have no effect on the training dataset. Given Blackbox access to the model, they aim to learn as much as they can about the underlying system’s learning algorithm and patterns in the training data – so as to subsequently undertake a poisoning or an evasion type of attack
The majority of attacks including the above mentioned takes place in the training phase are carried out by directly altering the dataset to learn, influence, or corrupt the model. Based on the adversarial capabilities, attack tactics are divided into the following categories:
Data injection: The adversary does not have access to the training data or the learning algorithm, but he does have the capacity to supplement the training set with new data. By injecting adversarial samples into the training dataset, he can distort the target model.
Data manipulation: The adversary has full access to the training data but no access to the learning method. He directly poisons the training data by altering it before it is used to train the target model.
Corruption of logic: The adversary has the ability to tamper with the learning algorithm. It appears that devising a counter strategy against attackers who can change the logic of the learning algorithm, so manipulating the model, becomes extremely tough.
During testing, adversarial attacks do not interact with the intended model, but rather push it to provide inaccurate results. The quantity of knowledge about the model available to the opponent determines the effectiveness of an assault. These assaults are classified as either Whitebox or Blackbox attacks. We present a formal specification of a training procedure for a machine learning model before considering these assaults.
White-Box Attacks
An adversary in a Whitebox assault on a machine learning model has complete knowledge of the model used (for example, the type of neural network and the number of layers). The attacker knows what algorithm was used in training (for example, gradient descent optimization) and has access to the training data distribution. He also understands the whole trained model architecture’s parameters . This information is used by the adversary to analyze the feature space in which the model may be vulnerable, i.e., where the model has a high mistake rate. The model is then exploited by modifying an input utilizing the adversarial example creation method, which we’ll go through later. A Whitebox assault that has access to internal model weights is equivalent to a very strong adversarial attack.
Black Box Attacks
A Blackbox attack assumes no prior knowledge of the model and exploits it using information about the settings and prior inputs. ‘In an oracle attack, for example, the adversary investigates a model by supplying a series of carefully constructed inputs and observing outputs.
Adversarial learning poses a serious danger to machine learning applications in the real world. Although there are certain countermeasures, none of them can be a one-size-fits-all solution to all problems. The machine learning community still hasn’t come up with a sufficiently robust design to counter these adversarial attacks.
Coupons are the small vouchers or tickets issued by the sellers to offer customers discounts when they shop from them. Coupons have been used for many years to increase customer traffic at stores by attracting them with multiple discounts and offers. They are not just beneficial for customers but also for the sellers. Coupons have proved themselves time and again to be an important aspectof theeCommerce industry.
Importance of coupons in digital marketing
Coupons are an integral component of online shopping. They not only reduce the cost of orders for the customers, but they also attract more customers to your online store. According to the latestcoupon statistics, 90% of consumers use them at least once in their life. This data reveals that every second customer tends to use an online coupon while making an online purchase.
There are reports that suggest that people are more likely to complete their online orders when they use coupons. And more than 50% of new customers are likely to visit your shop when they get a welcoming discount.Digital marketing is thrivingon online coupons at the moment and it will become more dependent on digital coupons in the coming years.
Considering the importance of coupon marketing, there should be some procedures and means to effectively use them. The most important technology impactingthis mode ofmarketing is artificial intelligence AI.
Artificial intelligence and machine learning in coupon marketing
It is the age of artificial intelligence that has been driving all the businesses at a noticeable place and in no time will take over most of the industries. Artificial intelligence has been transforming the domain of digital marketing. AI offers instant personal customer services that help customers find the right products and discounts.
The internet is brimming with data from people all over the world and AI is utilizing this (with the user’s permission) to bring the best products and offers to them. AI provides this information to the sellers and with its machine learning techniques, this information is used in the future as well. This makes it easy for businesses to organize their coupon marketing campaigns according to the likes and dislikes of their shoppers.
Backing up customers data for future coupons
AI is a complex system of programs that work by extracting patterns and insights from a large collection of data and uses it to make decisions. It collects data from the websites people use, unify it, and makes assumptions about their interests. This information, predicts what type of products the people would beinterested in and providesthem with coupons to shop for them.
This data is very useful for online businesses to attract their customers with their desired deals. The more data your AI acquires, the better it’ll be able to bring people to their desired page and desired discounts.
AI using coupons for customer retention
It is not a hard task to attract people to business by giving them coupons. The real task is to make them stay after their first purchase. Many customers tend to avail their first order coupons and never return. It is tiresome for them to look for coupons, so they don’t spend more timein yourstore. Many businesses fail to retain their customers after the first purchases. Some customers even compare the coupons with other coupon offering websites to get maximum discounts.
AI is helping businesses solve this problem. Instead of making customers search for the best coupons on their orders, AI automatically provides the best suitable coupons at the time of check out at one platform and makes it easier for customers. In this way, they become returning customers.
Predict worthwhile targets to send coupons
It is important for online businesses to send coupons to customers that are worth sending them. By repeatedly sending coupons to people that don’t benefit the business can actually result in loss. AI predicts customers that will use coupons but that is not enough. Coupons should be sent to the customers that will return to the store.
If not, you will end up sending them to “coupon hungry” customers and it will create negative feedback on your business. Instead, the focus of your coupon campaign should be those loyal customers that will return to your store after getting a discount. That’s why AI intelligence analyzes the customer’s information using machine learning to find those “coupon-worthy” customers.
Purchase history to focus coupon marketing campaign
It is important to know the purchase history of the customers targeted in your coupon campaign. Specifically, their history regarding their behavior before and after they receive a coupon. The important details about the purchase history of a customer that AI collects are:
The number of purchases that a customer has made
Sum of money the customer has spent on the products
How many products the customer has bought without coupons anddiscounts
How often the customer visits the store
How often does the customerusecoupons
How much money the customer has saved through coupons
This amount of data from various customers helps AI analyze the onsite behavior of the customers. AI predicts the moves of these customers andfiltersout the ones that are worth sending coupons to and increases the business’s revenue. This will reduce the amount the business spends on coupon marketingcampaigns.
Make hesitant buyers your regular customers
One of the best features of artificial intelligence is that it can analyze the customer’s on-site behavior by the time they spend on the store, the pages they movearound, and the timethey spend on particular sections. In this way, the AI can predict the hesitant buyers who spend their time browsing through the online stores, “window shopping”, wondering if they should buy a particular item or not.
Whatever the reason might be for their not completing the orders, these buyers can generate great revenues if they are encouraged to make the purchase. With the help of AI, these hesitant buyers can receive occasional coupons which will encourage them to shop from the store. This is just another way how AI can help you build efficient digital coupon marketing campaigns.
Automation of coupon marketing:
To extend the business andmakeit available for a larger audience, using and searching coupons should be made easier. Justlike the logisticsbusiness, coupon searching should be a point on. With the implementation of AI in digitalized coupon marketing, the coupons should be available with a simple search of a query.
There should be a self-learning algorithm that will update itself regularly according to the changing trends in discounts to let the customers avail of the maximum discounts. An enhancement would be to have the most suitable coupon according to the order automatically added at the time of check-out.
Chatbots helping in coupon marketing
One of the most significantadvancesbrought by AI in customer-facing business is the emergence of chatbots. These chatbots have altered the outlook on customer-seller interactions. These chatbots reduce the human slack up to 90% as they provide 24/7 customer service. They instantly respond to the questions and queries of the customers.
But in addition to that, they perform another vital task. They analyze the behavior of their customers and extract intricate information about them. This could lead to the creation of personable digital coupons in the e-commerce marketing industry. The chatbots will interact with their customers and will be able to create personable coupons specifically made for them. In this way, the old physical coupons with online codes will be in the past and the chatbots created, QR code scannable coupons, privately sent to customers will take charge of the digital coupon marketing.
Voice-activated assistants in coupon marketing
In the era of artificial intelligence,coupon marketinghas become more conversational. The emergence of voice-activated assistants will prove to be a great incentive towards the digitalization of coupons. In 2018,Targetissued 15$ voice-activated coupons to the customers who ordered through google express and said “spring into Target” into the voice-activated coupon option at the time of checkout. This opened gates for new possibilities in the field of online coupon marketing.
With the emergence of voice-activated coupons, a larger audience would be able to benefit from them. It is estimated that by the end of next year, almost 50% of all the searches would be done through voice. It means AI providing us voice-generated coupons will be inevitable.
Wrapping up
The introduction of AI to the e-commerce business not only has sprouted it to grow but it has been providing new and innovative ideas. It has been proved by various points how AI has strengthened the coupon marketing campaign especially by the use of chatbots and voice searches. Now that you have the right information about building more efficient coupons with AI, it is now your job to utilize them efficiently and explore new horizons in business technologies.
Coupons are the small vouchers or tickets issued by the sellers to offer customers discounts when they shop from them. Coupons have been used for many years to increase customer traffic at stores by attracting them with multiple discounts and offers. They are not just beneficial for customers but also for the sellers. Coupons have proved themselves time and again to be an important aspectof theeCommerce industry.
Importance of coupons in digital marketing
Coupons are an integral component of online shopping. They not only reduce the cost of orders for the customers, but they also attract more customers to your online store. According to the latestcoupon statistics, 90% of consumers use them at least once in their life. This data reveals that every second customer tends to use an online coupon while making an online purchase.
There are reports that suggest that people are more likely to complete their online orders when they use coupons. And more than 50% of new customers are likely to visit your shop when they get a welcoming discount.Digital marketing is thrivingon online coupons at the moment and it will become more dependent on digital coupons in the coming years.
Considering the importance of coupon marketing, there should be some procedures and means to effectively use them. The most important technology impactingthis mode ofmarketing is artificial intelligence AI.
Artificial intelligence and machine learning in coupon marketing
It is the age of artificial intelligence that has been driving all the businesses at a noticeable place and in no time will take over most of the industries. Artificial intelligence has been transforming the domain of digital marketing. AI offers instant personal customer services that help customers find the right products and discounts.
The internet is brimming with data from people all over the world and AI is utilizing this (with the user’s permission) to bring the best products and offers to them. AI provides this information to the sellers and with its machine learning techniques, this information is used in the future as well. This makes it easy for businesses to organize their coupon marketing campaigns according to the likes and dislikes of their shoppers.
Backing up customers data for future coupons
AI is a complex system of programs that work by extracting patterns and insights from a large collection of data and uses it to make decisions. It collects data from the websites people use, unify it, and makes assumptions about their interests. This information, predicts what type of products the people would beinterested in and providesthem with coupons to shop for them.
This data is very useful for online businesses to attract their customers with their desired deals. The more data your AI acquires, the better it’ll be able to bring people to their desired page and desired discounts.
AI using coupons for customer retention
It is not a hard task to attract people to business by giving them coupons. The real task is to make them stay after their first purchase. Many customers tend to avail their first order coupons and never return. It is tiresome for them to look for coupons, so they don’t spend more timein yourstore. Many businesses fail to retain their customers after the first purchases. Some customers even compare the coupons with other coupon offering websites to get maximum discounts.
AI is helping businesses solve this problem. Instead of making customers search for the best coupons on their orders, AI automatically provides the best suitable coupons at the time of check out at one platform and makes it easier for customers. In this way, they become returning customers.
Predict worthwhile targets to send coupons
It is important for online businesses to send coupons to customers that are worth sending them. By repeatedly sending coupons to people that don’t benefit the business can actually result in loss. AI predicts customers that will use coupons but that is not enough. Coupons should be sent to the customers that will return to the store.
If not, you will end up sending them to “coupon hungry” customers and it will create negative feedback on your business. Instead, the focus of your coupon campaign should be those loyal customers that will return to your store after getting a discount. That’s why AI intelligence analyzes the customer’s information using machine learning to find those “coupon-worthy” customers.
Purchase history to focus coupon marketing campaign
It is important to know the purchase history of the customers targeted in your coupon campaign. Specifically, their history regarding their behavior before and after they receive a coupon. The important details about the purchase history of a customer that AI collects are:
The number of purchases that a customer has made
Sum of money the customer has spent on the products
How many products the customer has bought without coupons anddiscounts
How often the customer visits the store
How often does the customerusecoupons
How much money the customer has saved through coupons
This amount of data from various customers helps AI analyze the onsite behavior of the customers. AI predicts the moves of these customers andfiltersout the ones that are worth sending coupons to and increases the business’s revenue. This will reduce the amount the business spends on coupon marketingcampaigns.
Make hesitant buyers your regular customers
One of the best features of artificial intelligence is that it can analyze the customer’s on-site behavior by the time they spend on the store, the pages they movearound, and the timethey spend on particular sections. In this way, the AI can predict the hesitant buyers who spend their time browsing through the online stores, “window shopping”, wondering if they should buy a particular item or not.
Whatever the reason might be for their not completing the orders, these buyers can generate great revenues if they are encouraged to make the purchase. With the help of AI, these hesitant buyers can receive occasional coupons which will encourage them to shop from the store. This is just another way how AI can help you build efficient digital coupon marketing campaigns.
Automation of coupon marketing:
To extend the business andmakeit available for a larger audience, using and searching coupons should be made easier. Justlike the logisticsbusiness, coupon searching should be a point on. With the implementation of AI in digitalized coupon marketing, the coupons should be available with a simple search of a query.
There should be a self-learning algorithm that will update itself regularly according to the changing trends in discounts to let the customers avail of the maximum discounts. An enhancement would be to have the most suitable coupon according to the order automatically added at the time of check-out.
Chatbots helping in coupon marketing
One of the most significantadvancesbrought by AI in customer-facing business is the emergence of chatbots. These chatbots have altered the outlook on customer-seller interactions. These chatbots reduce the human slack up to 90% as they provide 24/7 customer service. They instantly respond to the questions and queries of the customers.
But in addition to that, they perform another vital task. They analyze the behavior of their customers and extract intricate information about them. This could lead to the creation of personable digital coupons in the e-commerce marketing industry. The chatbots will interact with their customers and will be able to create personable coupons specifically made for them. In this way, the old physical coupons with online codes will be in the past and the chatbots created, QR code scannable coupons, privately sent to customers will take charge of the digital coupon marketing.
Voice-activated assistants in coupon marketing
In the era of artificial intelligence,coupon marketinghas become more conversational. The emergence of voice-activated assistants will prove to be a great incentive towards the digitalization of coupons. In 2018,Targetissued 15$ voice-activated coupons to the customers who ordered through google express and said “spring into Target” into the voice-activated coupon option at the time of checkout. This opened gates for new possibilities in the field of online coupon marketing.
With the emergence of voice-activated coupons, a larger audience would be able to benefit from them. It is estimated that by the end of next year, almost 50% of all the searches would be done through voice. It means AI providing us voice-generated coupons will be inevitable.
Wrapping up
The introduction of AI to the e-commerce business not only has sprouted it to grow but it has been providing new and innovative ideas. It has been proved by various points how AI has strengthened the coupon marketing campaign especially by the use of chatbots and voice searches. Now that you have the right information about building more efficient coupons with AI, it is now your job to utilize them efficiently and explore new horizons in business technologies.
A robot is not expected to be either huge or humanoid, or even material (in disagreement with Wikipedia, although the latter softens the initial definition in one paragraph and admits virtual form of a robot). A robot is an automation, from an algorithmic viewpoint, an automation for autonomous (algorithmic) execution of concrete tasks. A light detector that triggers street lights at night is a robot. An email software separating e-mails into “external” and “internal” is also a robot.
Artificial intelligence (in an applied and narrow sense, Wikipedia interpreting it differently again) is algorithms for extracting dependencies from data. It will not execute any tasks on its own, for that one would need to implement it as concrete analytic processes (input data, plus models, plus output data, plus process control). The analytic process acting as an “artificial intelligence carrier” can be launched by a human or by a robot. It can be stopped by either of the two as well. And managed by any of them too.
Interaction with the environment
Artificial intelligence needs data that is suitable for analysis. When an analyst starts developing an analytic process, the data for the model is prepared by the analyst himself. Usually, he builds a dataset that has enough volume and features to be used for model training and testing. Once the accuracy (and in less frequent cases, the “local stability” in time) of the obtained result becomes satisfactory, a typical analyst considers his work done. Is he right? In the reality, the work is only half-done. It remains to secure an “uninterrupted and efficient running” of the analytic process – and that is where our analyst may experience difficulties.
The tools used for developing artificial intelligence and machine learning mechanisms, except for some most simple cases, are not suitable for efficient interaction with external environment. For example, we can (for a short period of time) use Python to read and transform sensor data from a production process. But Python will not be the right tool for overall monitoring of the situation and switching control among several production processes, scaling corresponding computation resources up and down, analyzing and treating all types of “exceptions” (e.g., non-availability of a data source, infrastructure failure, user interaction issues, etc.). To do that we will need a data management and integration platform. And the more loaded, the more variative will be our analytic process, the higher will be set the bar of our expectations from the platform’s integration and “DBMS” components. An analyst that is bred on scripting languages and traditional development environments to build models (including utilities like “notebooks”) will be facing the near impossibility to secure his analytical process an efficient productive implementation.
Adaptability and adaptiveness
Environment changeability manifests itself in different ways. In some cases, will change the essence and nature of the things managed by artificial intelligence (e.g., entry by an enterprise into new business areas, requirements imposed by national and international regulators, evolution of customer preferences relevant for the enterprise, etc.). In the other cases – the information signature of the data coming from external environment will become different (e.g., new equipment with new sensors, more performant data transmission channels, availability of new data “labeling” technologies, etc.).
Can an analytic process “reinvent itself” as the external environment structure changes? Let us simplify the question: how easy is it to adjust the analytic process if the external environment structure changes? Based on our experience, the answer that follows is plain and sad: in most known implementations (not by us!) it will be required to at least rewrite the analytic process, and most probably rewrite the AI it contains. Well, end-to-end rewriting may not be the final verdict, but doing the programing to add something that reflects the new reality or changing the “modeling part” may indeed be needed. And that could mean a prohibitive overhead – especially if environment changes are frequent.
Agency: the limit of autonomy?
The reader may have noticed already that we proceed in the direction of a more and more complex reality proposed to artificial intelligence. While taking a note of possible “instrument-side consequences”. In a hope for our being finally able to provide a response to emerging challenges.
We are now approaching the necessity to equip an analytic process with the level of autonomy such that it can cope with not just changeability of the environment, but also with the uncertainty of its state. No reference to a quantum nature of the environment is intended here (we will discuss it in one of our further publications), we simply consider the probability for an analytic process to encounter the expected state at the expected moment in the expected “volume”. For example: the process “thought” that it would manage to complete a model training run before the arrival of new data to apply the model to, but “failed” to complete it (e.g., for several objective reasons, the training sample contained more records than usually). Another example: the labeling team has added a batch of new press in the process, a vectorization model has been trained using that new material, while the neural network is still using the previous vectorization and is treating as “noise” some extremely relevant information. Our experience shows that overcoming such situations requires splitting what previously used to be a single analytic process in several autonomous components and creating for each of the resulting agent processes its « buffered projection » of the environment. Let us call this action (goodbye, Wikipedia) agenting of an analytical process. And let us call agency the quality acquired by an analytical process (or rather to a system of analytical processes) due to agenting.
A task for the robot
At this point, we will try to come up with a task that would need a robotized AI with all the qualities mentioned above. It will not take as a long journey to get to ideas, especially because of a wealth of some very interesting cases and solutions for those cases published in the Internet – we will simply re-use one of such cases/solutions (to obtain both the task and the solution formulation). The scenario we have chosen is about classification of postings (“tweets”) in the Twitter social network, based on their sentiment. To train the models, we have rather large samples of “labeled” tweets (i.e. with sentiment specified), while classification will be performed on “unlabeled” tweets (i.e. without sentiment specified):
Figure 1 Sentiment-based text classification (sentiment analysis) task formulation
An approach to creating mathematical models able to learn from labeled texts and classify unlabeled texts with unknown sentiment, is presented in a great example published on the Web.
The data for our scenario has been kindly made available from the Web.
With all the above at hands, we could be starting to “assemble a robot” – however, we prefer complicating the classical task by adding a condition: both labeled and unlabeled data are fed to the analytical process as standard-size files as the process “consumes” the already fed files. Therefore, our robot will need to begin operating on minimal volumes of training data and continually improve classification accuracy by repeating model training on gradually growing data volumes.
To InterSystems workshop
We will demonstrate, taking the scenario just formulated as an example, that InterSystems IRIS and ML Toolkit, a set of extensions, can robotize artificial intelligence. And achieve an efficient interaction with the external environment for the analytic processes we create, while keeping them adaptable, adaptive and agent (the «three А»).
Let us begin with agency. We deploy four business processes in the platform:
Figure 2 Configuration of an agent-based system of business processes with a component for interaction with Python
GENERATOR – as previously generated files get consumed by the other processes, generates new files with input data (labeled – positive and negative tweets – as well as unlabeled tweets)
BUFFER – as already buffered records are consumed by the other processes, reads new records from the files created by GENERATOR and deletes the files after having read records from them
ANALYZER – consumes records from the unlabeled buffer and applies to them the trained RNN (recurrent neural network), transfers the “applied” records with respective “probability to be positive” values added to them, to the monitoring buffer; consumes records from labeled (positive and negative) buffers and trains the neural network based on them
MONITOR – consumes records processed and transferred to its buffer by ANALYZER, evaluates the classification error metrics demonstrated by the neural network after the last training, and triggers new training by ANALYZER
Our agent-based system of processes can be illustrated as follows:
Figure 3 Data flows in the agent-based system
All the processes in our system are functioning independently one from another but are listening to each other’s signals. For example, a signal for GENERATOR process to start creating a new file with records is the deletion of the previous file by BUFFER process.
Now let us look at adaptiveness. The adaptiveness of the analytic process in our example is implemented via “encapsulation” of the AI as a component that is independent from the logic of the carrier process and whose main functions – training and prediction – are isolated one from another:
Figure 4 Isolation of the AI’s main functions in an analytic process – training and prediction using mathematical models
Since the above-quoted fragment of ANALYZER process is a part of the “endless loop” (that is triggered at the process startup and is functioning till the whole agent-based system is shut down), and since the AI functions are executed concurrently, the process is capable of adapting the use of AI to the situation: training models if the need arises, predicting based on the available version of trained models, otherwise. The need to train the models is signaled by the adaptive MONITOR process that functions independently from ANALYZER process and applies its criteria to estimate the accuracy of the models trained by ANALYZER:
Figure 5 Recognition of the model type and application of the respective accuracy metrics by MONITOR process
We continue with adaptability. An analytic process in InterSystems IRIS is a business process that has a graphical or XML representation in a form of a sequence of steps. The steps in their turn can be sequences of other steps, loops, condition checks and other process controls. The steps can execute code or transmit information (can be code as well) for treatment by other processes and external systems.
If there is a necessity to change an analytical process, we have a possibility to do that in either the graphical editor or in the IDE. Changing the analytical process in the graphical editor allows adapting process logic without programing:
Figure 6 ANALYZER process in the graphical editor with the menu open for adding process controls
Finally, it is interaction with the environment. In our case, the most important element of the environment is the mathematical toolset Python. For interaction with Python and R, the corresponding functional extensions were developed – Python Gateway and R Gateway. Enabling of a comfortable interaction with a concrete toolset is their key functionality. We could already see the component for interaction with Python in the configuration of our agent-based system. We have demonstrated that business processes that contain AI implemented using Python language, can interact with Python.
ANALYZER process, for instance, carries the model training and prediction functions implemented in InterSystems IRIS using Python language, like it is shown below:
Figure 7 Model training function implemented in ANALYZER process in InterSystems IRIS using Python
Each of the steps in this process is responsible for a specific interaction with Python: a transfer of input data from InterSystems IRIS context to Python context, a transfer of code for execution to Python, a return of output data from Python context to InterSystems IRIS context.
The most used type of interactions in our example is the transfer of code for execution in Python:
Figure 8 Python code deployed in ANALYZER process in InterSystems IRIS is sent for execution to Python
In some interactions there is a return of output data from Python context to InterSystems IRIS context:
Figure 9 Visual trace of ANALYZER process session with a preview of the output returned by Python in one of the process steps
Launching the robot
Launching the robot right here in this article? Why not, here is the recording from our webinar in which (besides other interesting AI stories relevant for robotization!) the example discussed in our article was demoed. The webinar time being always limited, unfortunately, and we still prefer showcasing our work as illustratively though briefly as possible – and we are therefore sharing below a more complete overview of the outputs produced (7 training runs, including the initial training, instead of just 3 in the webinar):
Figure 10 Robot reaching a steady AUC above 0.8 on prediction
These results are in line with our intuitive expectations: as the training dataset gets filled with “labeled” positive and negative tweets, the accuracy of our classification model improves (this is proven by the gradual increase of the AUC values shown on prediction).
What conclusions can we make at the end of the article:
• InterSystems IRIS is a powerful platform for robotization of the processes involving artificial intelligence
• Artificial intelligence can be implemented in both the external environment (e.g., Python or R with their modules containing ready-to-use algorithms) and in InterSystems IRIS platform (using native function libraries or by writing algorithms in Python and R languages). InterSystems IRIS secures interaction with external AI toolsets allowing to combine their capabilities with its native functionality
• InterSystems IRIS robotizes AI by applying “three A”: adaptable, adaptive and agent business processes (or else, analytic processes)
• InterSystems IRIS operates external AI (Python, R) via kits of specialized interactions: transfer/return of data, transfer of code for execution, etc. One analytic process can interact with several mathematical toolsets
• InterSystems IRIS consolidates on a single platform input and output modeling data, maintains historization and versioning of calculations
• Thanks to InterSystems IRIS, artificial intelligence can be both used as specialized analytic mechanisms, or built in OLTP and integration solutions
For those who have read this article and got interested by the capabilities of InterSystems IRIS as a platform for developing and deploying machine learning and artificial intelligence mechanisms, we propose a further discussion of the potential scenarios that are relevant to your company, and a collaborative definition of the next steps.