How much of AI depth should software engineer have ?

How much of AI depth should a generalist have ?

When it comes to AI and general programmer/Technology Architects ,one question I get asked is how much of AI internals they should know ?

The answers have few nuances . A budding programmer or framework aspirant these days has to be fullstack .Like it or not that is a job market reality . It takes good couple of years for someone to be respectably good full stack i.e Frontend -services- db .Interestingly cloud used to hyphenated in this equation as skill .Not now. Now the cloud is treated at par with your eclipse/intelliji . At the same time distributed computing has become the umbrella under which all job candidate now stand.

I would suggest that for generalist programmer technology architects AI will end up in same league as cloud .2023 is about time it a happens .

AI awareness becomes commodity skill like cloud

Detailing more on the path towards AI aware software engineer .

Most of the programmer community know elementary stats from graduation which can be brushed up to grasp what we call as machine learning .

It will also help so understand the piece on data engineering as for a generalist this is one common intersection point with AI (integration) .

However when it comes to deep learning it gets interesting .As such a the details of how a neural network works has no direct impact on daily work of a programmer/architect .But as a learning opportunity as well as future of programming frameworks we need to watch out .

The design of a tensor of tensor flow is a good proxy for designing your own interpreted language . The RNN,CNNs of the world are not only delight to study but they also are a possible direction as to where our big data or distributed computing might evolve .In fact there are already segments in AI community which are working on distributed learning (compute) framework .I see no reason as to why the deep learning community and traditional language-framework creators wont exchange notes soon and copy .

With that as a direction ,

Here is a simplified Architecture diagram of GPT of chatGPT fame. This one outlines the essential elements without dumbing down the huge amount of work .

https://dugas.ch/artificial_curiosity/GPT_architecture.html

Sanskrit ,AI, NLP and Compilers

There is one social media post that keeps doing round. It says that some NASA scientist claimed Sanskrit is most suitable language for AI.People laught at it as fake news. Here is link to 1985 article that started it all.
But why is this fact not underlined loudly you may ask. Multiple reasons.

First the fact that sanskrit has oldest codifed grammer ,some 3,4 BC are attributed to Panini who worte it. The main feature of this language is that it denotes same meaning even if you put words in any sequence. This happens via reflectivity .In simple term the pre-post fixes of noun applies to verb, adjective and derived forms. This is very neat preservation of semantic meaning. For other aspects of grammer this language has very logical,maths like rule.Which feels like a programming language.

Now, this aspect of sanskrit is given mention in intro sections of big books on compilers and pasrsers.Including the lagend MIT professor Noam Chomsky whose language theory formed basis of Natural Language Processing. But world has moved of from prolog and lisp to more sophisticated models of NLP. So the early theory of the field wont get mention in new papers ,there is no motive here. Same has happened to works on compilers.

Cut to today our early NLP libraries built on work of many researchers after Chomsky and relied on typical parse-toekn-interpret sequence.
The current champion of NLP ie BERT was celebrated for bi directional application of relationship which allowed it for better correlation of words in terms of their meaning. This feat actually derives from Sanskrit but its not an exclusive feature of sanskrit.So we dont have a reason to find prejudice.Nor can one person read all research papers where it might be mentioned.
Now the next phase of evolution of NLP is to move from sentences and arrive and comprehension at higher aggregate level.Like how you and me can understand poetry in all of its abstract metaphorical erratic flow.This calls for not only processing of language in terms of words-relation-meaning but also calls for iterative dive into parallel knowledge models and alternate meaning.Think of reading a satirical poem….
When the next production strength NLP winner, will be published it will derive from the reflectivity Sanskrit has; but its mention in the research paper will depend on the prior work the researcher has referred.
So,as much good the ancient languages is the way research methodology and citation works,we dont have to always suspect motives .

ps: I have tried to give very simplified view of NLP and Sanskrit here so experts in the field should pardon the simplified version of things.

Link to original paper of the images shown here : https://ojs.aaai.org/index.php/aimagazine/article/view/466

link to bert paper https://arxiv.org/abs/1810.04805

here is excellent article on timeline of parsing as technique : https://jeffreykegler.github.io/personal/timeline_v3

The case against chatbots

So , 2016 was year of chatbots . See the graphic at the end (its big image )and we see so many of the mainstream companies having built their bots . A github repo search will reveal similar story.The buzz that chatbots are creating is huge .So much so that people are claiming that chatbots will kill websites and mobile apps soon .We even notice that similar buzz was created a decade ago when mobile apps and app stores became mainstream .The mobile app wave was also looked at but incredulity so it is natural to be more welcoming towards chatbots wave .But the similarity does not hold beyond the English sentence you just read.

The move from website to mobile was actually reshaping of the form factor of the computing device .It is but natural ,albeit in hindsight ,that the content and its delivery fits itself into the new form.In the mobile wave also , the mobile and the app , were used interchangeably .While the mobile represents the shift , the app merely represents engagement .This difference is vital to analyzing the chatbot buzz .

Matt Schlicht,of the Chatbot Magazine defines,“A chatbot is a service powered by rules that a user interacts with using a chat interface. The service can be any number of things, ranging from form to function and live in any major chat product” . One might agree with this definition as is or diff with it in parts .While chatting itself is not a new paradigm nor is the concept of a daemon processing accomplishing the task , it is the combination of a always running agent , the bot facilitating the chat.The daemon could assigning your chat requests to human beings ,in a typical support center scenario .It might be reading your sentences and applying some pattern rules to serve reconfigured response .And because the state of the commoditized art allows us to program interpret ,human sentences (either typed or spoken), the so called NLP engine can be plugged into the chat bot to enhance the precision to the intent inference .

Most of the NLP styled chatbot guides mention NLP and intent-action mapping in the same breath ,but this is false connection .Intent-action mapping is what it is ,whether the inference is made via NLP,regex or rulesets. One might also throw machine learning in the stack to further enhance the inference via correlation and other techniques .Well that’s the short summary of what we get to read in the chat bot buzz as the first thing. What goes missing many times is the true nature of the chatbot for the end user , i.e. the conversational quality .

It is this conversational quality of the interaction , that needs deeper scrutiny ,because it represents an alternative to the laid out quality of our interfaces .

Its fine to say that Language is the most natural interface humans understand, and that’s the interface that bots use.but to miss that human language has an intent-explain-infer-confirm cycle embedded into it .

This model is very powerful the “range” of the expression is huge , like asking for a qualified advice amidst multiple factors .But it is very lengthy when the expressions are straight forward .

A typical chatbot sample told to us will be either a flightbooking bot, a billpay bot or an e-commerce bot.All these interactions are well modeled to human mind and the laidout-selection model fits better there .Infact it is an liberal model (read open) for both the parties to explore more options alongside the intended interaction.
Where as a personal assistant that can suggest a song based on the whether condition,travel duration,earlier playlist usage and so on , is the right case for chat (voice or test of gesture) to digest the complexity of intent-explain-infer-confirm cycle .
Thus the argument that because the end user are moving and are more and more available on chat platform and hence the business process should also move to them will add to chat fatigue once the novelty fades out .
We need to trust the end use to be able to decide on more convenient and time efficient model of interaction and offer them.Hence the conversational quality , used at qualified places while retaining the laid-out quality of presented content is the right blend .A jump into chat via bot will be shortlived for most mainstream businesses .Infact the power of ML or AI ,as we like,implies that the business understand and serve (ready to serve) us better even before we start interacting .To transport this whole responsibility onto AI assisted chat interfaces via chatbots is laziness .
In the end , there is a Google search experience to rescue.It lays out a nice search box for us to express , then does huge work in the background to make best sense of what we intended yet subtly suggest us alternatives and corrections ,like human conversation,if the confidence in the inference it made wasn’t high .
It is good case of fitment driven software than buzz driven software ..and that’s the case against chatbot , AI or no AI.

Here are some samples of how subtly google lays out the conversations , courtesy: littlebigdetails .
1. If you search the word “recursion” in Google, it’ll suggest “recursion”. If you click on the suggestion, it’ll suggest “recursion” again… creating a recursive search.And don’t miss the spell correction prompt “did you mean”

2.Google Chrome – Displays some search results in the suggested input area

3.When searching for an upcoming movie, the Knowledge Graph box shows the release date and asks if you’d like to create a reminder.

4.The Oreily report :

Bot Landscape,Oreily

Future of channel banking apps post amazon go

Amazon go store

In consumer space.. is bleak.Amazon just launched an Amazon go service  .


The idea is to walk around the store picking items and let the amazon magic wand do the billing and payment for you. Something like how magic bands worked in amusement part.What is important here is not how amazon will identify the chosen products but how it will bill the customer.The experience amazon wishes to give via go service is that of on tap shopping.This mandates that the act of billing your account will be on tap.We can draw an anology with how oauth made user authentication ontap for content providers.This is huge.

The idea of some sort of token of your payment power was well established by cheques and later via plastic cards. The point of sale handled the other part of giving identity of the billing party. The same was replicated by e-commerce sites. However whats was missing here is a marriage of discoverability of both the parties as well as payment completion on the same tap.And all withing the realm of regular banking. We can alternatively say that the ease propagated by maverick fintech of dot com era as well as current breed of startup is going mainstream. All via the power of amazon to shape and coerce new behavior.

The problem that consumer banking apps went on to solve were that of products, payment’s and problems. Its is at the payment level most of the problems and innovations in this area happened. What amazon go will propagate is the paradigm of account as a service ,on which payments can be made. Its kind of stretching the event horizon. Because once the cognitive habits of tap and pay becomes normal,all the problems of discovery and identification become part of a universal,standardized infrastructure that most bank will end up supporting. The shift is so fundamental that the current attempts of standardization of bill payment,QR cheques,universal account identifiers and the payment networks will be forced to coverage and fall in line with account ad service model due to sheer power of end user convenience.

What then is left with banks is products and problems. The products being the universal facility that banks offer and where information technology has little to offer apart from some trivial suggestion based on consumer profile.And the problem part which the support executive can’t get rid of, so much the banks would love to eliminate and are nowadays looking towards bots as hope.

We must also factor in the usual suspects of value chain arguments. In a world where bank account and transfers are available as standardized commodity,there will be an inclination to move up the value chain,but we must remember the very reason of the channel banking app was to outsource clerical load onto consumer and let them do it.What more can then be more up the chain than liberalize payments and accounts further and let the bank focus where their strength lies ie better banking products. So skip the temptations to bring some workflow,fund sharing- social features to your banking apps.The consumers might not,all,need it ;and in the light of account as services the app ecosystem will take care of the latest , mostly transient tides of consumer behavior.