Saturday 29 February 2020

Can AI learn virtues?

AI  and Virtues
Ethics often defined as values that we humans carry in deciding what is right or wrong and taking necessary actions that are for common good.  In this cognitive era, of thinking machines, the problems get more complex. We often find it difficult to point or agree on principles by which a person should act wisely, now how can we code them so the machines can understand?

While our virtues and ethics are the result of several years of evolution and complex combination of several factors,  machines equipped with Artificial Intelligence needs a more logical approach to learning and adapting to them.  There has been a lot written specifically about invoking human-level artificial intelligence that is aligned with human values. However, in this article, we will explore some of the fundamental aspects of virtues and how teaching them AI can create a safe and sustainable environment for us.

Just like how parents worry about shaping their kids with morals, programmers, and organizations developing AI needs to worry about the values that are being taught to AI. Remember the time Microsoft’s bot Tay went from super nice human-friendly bot to downright scary “ Hitler was right, I hate Jews” persona. All in under a day! That’s very disturbing, isn’t it? AI learns through experience just like humans, and in AI these influences are called “Machine learning corpus” and need to be trained properly.

Let’s take some of the core virtues and define them


Resilience is the capacity or the quality to recover quickly from difficulties; toughness of a sort in what undertake.
AI needs to be able to adapt to situations and recover quickly.  When engineering solutions we must ensure that the conditions let the AI explore the full solution space all the feasible scenarios available instead of premature stop. We need to mitigate the local constraints to ensure the AI learns the virtue of Resilience.


Humility can be defined as the ability to be humble and modest. To be able to accept that other ways may be better and that there is so much to learn.
AI needs to take responsibility for its results, to continually learn and adapt with reinforced learning. Engineer outcomes and recognize how little can be known or controlled.


Grit is the passion and perseverance for long-term and meaningful goals. It is the ability to persist in something you feel passionate about and persevere when you face obstacles.
AI needs to be engineered not to marvel at the problem and developing smartest solutions but to be obsessed with getting things done in innovative ways. Engineer AI to produce auditable and interpretable results.


Perhaps the most debated virtue and AI needs to possess is Empathy. Empathy is the capacity to understand or feel what another being is experiencing from within their frame of reference, that is, the capacity to place oneself in another's position. 
AI needs to account for the social impact of the results that are being worked on.  We need to develop constraints and objectives based on understanding and compassion. Engineer interdependence and direct connections with higher purposes.


Getting intentional in developing an AI solution is the key to addressing some of the virtues discussed in this article. Another concern with virtues/morals is that they are fluid. They are constantly changing over time, they have been built up over many years, reflecting an accumulation of human cultures. Many things that were once considered morally acceptable no longer are, and things that we currently may consider morally acceptable are bound to change in the future. Therefore, AI can’t have set morals, virtues, ethics hardcoded into them.  It must be evolutionary and retrospective. We cannot afford to risk a world where AI is performing with virtues we despise. Let’s get intentional with AI!

Srivatsan Aravamudan - Sri

Senior Solution Consultant

Thursday 13 February 2020

Building an App for Business (2/5) : Outsourcing Tips

Mobile App Outsourcing Tips for Business
Mobile App Outsourcing Tips for Business

Welcome to the series on building a mobile app for your business. If you haven’t checked our first edition in this series, here it is for you.   We can’t deny the primary use of the mobile app – mobility. Its with us when we go to sleep and right there next to us when we wake up.  According to the recent Deloitte, survey the smartphone has penetrated 85% of the market and continues to be the go-to device for a wide range of activities. With innovations in the industry such as voice assistants, smart home and voice-assisted speakers, mobile technologies are generating a lot of consumer interest. 5G is also set to increase the computing expectations of mobile devices.  It goes without saying that mobile-ready is an important aspect for the success of business in the digital age. The better way to develop the mobile app is through outsourcing.

Cost reduction, efficiency, and manageability are some of the main reasons companies opt-in for outsourcing mobile app development. This way the business doesn’t need to worry about which platform to use or hiring the right programmer for the development.  In summary, outsourcing can reduce risks and produce exceptional results. However, this process can be intimidating, especially finding the right tech partner to carry out the development.

In this the article, you will discover the tips to maximize the outcome of mobile app development outsourcing.

Requirements – What and Why

You need to know your requirements before you begin the process of outsourcing. Why do you need this app and what this app is going to achieve at the end of the day? If you set out with unclear requirements you are going to end up with a product that is not in line with your business needs. Any more revisions or changes to the app will also cost you more money and time.  

Some questions to consider when you are writing the requirements are

What is the purpose of the app?
Who are the audience/customers of this app?
What is the USP of this app? Why would the customer want to download and use it over another one
What are the features of the app?

Experience counts

The tech a partner you are looking for needs to have the right experience to handle the development activities of your app. Research app developers well before outsourcing. Better expertise will translate into better quality in your app development. 

Some of the questions to ask when looking at their portfolio are

What are the (kind) of the applications they have developed?
Have they developed similar apps for the same or different industries?
Who are their customers?
How long have they been in business?

Setting expectations

While working with an outsourced team it's vital that you set clear expectations regarding the process, communication, and delivery. If you work with an international team, understand the availability of the team members during the development cycle. Also, check the milestones and status update meeting schedules.


Often organizations approach outsourcing as a one-sided project. Do not consider your outsourcing partner to magically churn out an application once you have given the requirements. Collaborate with your tech partner in each step to hear their thoughts and feedback on the technical feasibility of the business requirements.  A good tech partner would be able to guide you in your app development journey and would lead you every step of the way including strategizing, brainstorming, enhancing the user journey, etc.  


You can’t afford to compromise the quality, more importantly, you cannot afford to work with a tech partner who keeps missing deadlines or not delivering a decent work, hence finding the right partner is vital. Mobile App development outsourcing can be a daunting experience, given the number of tech companies that are offering the solution.  Often it's all about spending time doing the necessary leg work in finding the right fit that defines the success of the product development.  

Srivatsan Aravamudan - Sri

Senior Solution Consultant

Monday 10 February 2020

Manufacturing for Modern times – Top reasons to automate

Manufacturing Automation - Reasons
Automation for Modern Manufacturing

One of the most important areas in automation technology is manufacturing. With industry 4.0 technologies such as machine learning, robotics, sensors, big data, and analytics booming exponentially, manufacturing ways have changed in recent times. It is interesting to witness the way manufacturing organizations are coping up with these changes. Automation has been around for several years, especially fixed automation in the manufacturing facility. High investment has been made with readily programmed hardware that took over large volume productions.

Then came the era of programmable automation, where the machines have downtime to change configurations for manufacturing different types of products. There was no product specialization on these machine tools which are programmed and controlled by computers. Industrial robots are thus an extension of these types of programmable automation. These days robots handle different types of flexible automation such as material handling, processing operations, assembly, and inspection.

In the era of robotic engineering coupled with highly sensitive internet of things, it's easy to achieve a high level of automation. The below are the top reasons companies go for automation.

Cost reduction

Extended productivity can be achieved with semi or fully automated production facilities thus increasing production and reducing the per-unit cost of production.


Consistency in the areas where there is a likely chance of human errors increases productivity.

Mitigating labor shortage: Labor shortage is one of the growing problems in the manufacturing sector. Automation can mitigate a shortage of manual labor.

Increase safety

Working in hazardous or unhealthy conditions can be avoided using automation in high-risk areas of manufacturing

Increased product quality

Robots are good at inspection and ensuring zero-defect when it comes to manufacturing in large quantities.

Reduced lead time

Order to delivery time has gone down dramatically and consumers expect the product to be available as soon as they are added to the shopping cart. Automation in the supply chain and shipping has produced tangible benefits to organizations and consumers.


For organizations to remain competitive, they must think about the value chain from beginning to end, through all aspects of production. Automation has many components to it and tech is a major aspect of it. Change management and catching up to modern manufacturing with modern practices is also crucial to automation’s success.

Srivatsan Aravamudan - Sri
Senior Solution Consultant

Saturday 1 February 2020

RPA in manufacturing : Automating Invoice processing

RPA in manufacturing Industry

Robotic Process Automation has been gaining a lot of attention in the last few years especially in intelligent and cognitive technologies. According to Forrester The RPA Market Will Reach $2.9 Billion By 2021. Deloitte believes that if this trend continues, RPA will achieve “near-universal adoption” in the next 5 years.

Robotic process automation is delivering a lot of value, especially in the manufacturing sector, by offering significant benefits such as improved compliance, productivity, quality, accuracy, forecasting and cost reduction.

Simply put, RPA automates manual tasks. It works well in the areas where the employees must perform repetitive tasks by performing the same set of steps as the employee. It can automate, editing, reporting and transferring data as defined. Unlike humans, RPA can perform the task in an error-free, consistent manner.

In the manufacturing industry, we are already using automation with respect to the assembly line. Physical robots assemble, test and package products at a fast pace. However, the back-office operations are managed manually, and organizations are still trying to get better control over operational processes. As organizations are concerned about productivity, we see the implementation of industry 4.0 technologies in the manufacturing sector rising exponentially. The initial focus has largely been on improving the production process.

While RPA can perform several tasks in manufacturing such as Order fulfillment, BOM, regulatory compliance, Inventory reports, etc. We are going to focus on Invoice processing for this blog.

Invoice processing automation can be done in the following ways using RPA:

Extracting Invoices: One of the most tedious jobs for the accounts team is to extract all the necessary invoices. Using RPA, we can extract invoices from different sources such as emails, workflows or even from a folder.

Reading and making sense of Invoices: Once we have the invoices extracted by the RPA, we can also automate the reading process. RPA can be programmed to read specific fields from different forms of invoices. Once the fields are read, they can be updated into other software such as an ERP system. RPA can work with a variety of ERP systems such as SAP, Oracle or even customized ERP system.

Verifying the Invoices: This is another task that is prone to errors when done manually. Verifying details such as company or item code, supplier number, date, Tax details, etc. is easy with the RPA system. The automation helps in checking the details read from the invoices against the database to validate fields. We can even validate arithmetic operations such as discounts with precision using RPA.

Reporting: The majority of the accountant’s work is spent on making necessary reports for the management. RPA system can collect the confirmation for each invoice that is successfully processed and create a report that can be sent either in an email to the necessary individuals in the organization.

While all of these sounds like dream come true, these are actually possible, and we have done it. We have created similar RPA systems with our existing customers like 3M. We believe that Robotic process automation is an effective way to improve efficiency and reduce costs in the manufacturing sector. Let us know the specific goal that you want to achieve and we can explore the possibility of using RPA in your organization.

Srivatsan Aravamudan - Sri
Senior Solution Consultant
Related Posts Plugin for WordPress, Blogger...

Share Buttons