Learn AI - The Time is NOW
By Nishith Pathak
Imagine creating a software so smart that it will not only understand human languages but also slangs and subtle variations of these languages, such that your software will know that “Hello, Computer! How are you doing?” and “wassup dude?” mean the same thing.
While you are at it, why not add into your software the ability to listen to a human speak and respond appropriately?
User: “Computer, what’s my schedule like today?”
Software: “You have quite a packed day today, with back-to-back meetings from 10 am to 1:30 pm and again from 3 pm to 7 pm.”
And as if that would not make your software smart enough, why not also add the ability to have human-like conversations?
User: “Computer, did I miss the match? What’s the score?”
Software: “It’s 31 minutes into the Barcelona vs Real Madrid football match. Your favorite team Barcelona has not scored yet. The score is 0-1.”
User: “Holy cow! Who scored from Real?”
Software: “Cristiano Ronaldo scored the first goal in the 10th minute.”
User: “That’s not looking good. What’s his goals tally this season?”
Software: “So far, Ronaldo has scored 42 goals for his club and 13 for his country.”
User: “That’s impressive. I hope poor Messi catches up soon.”
User: “Computer, thanks for the update.”
Software: “You are welcome.”
Software: “Don’t forget to check back the score after half an hour. Based on ball possession and shots on target stats, there’s a 73% chance of Barcelona scoring in the next 20 minutes.”
Wouldn’t these capabilities make your software smart and intelligent? As a .NET developer, how can you make your software as smart as Microsoft’s Cortana, Apple’s Siri or Google’s Assistant? The answer is artificial intelligence (AI). AI is the buzzword of current industry. Be it jobs, newspapers, or in any paper or electronic media, people are talking about AI. In fact, artificial intelligence is everywhere. With all this disruption going on, developers can easily get confused about where and how to get started with AI. What comes to mind when you hear the term artificial intelligence? Scary robots? A topic of sophisticated research? Have you, as a developer, ever thought how you can use AI to create insanely smart software? You probably have, but did not know where to start. Normally, developers think of AI implementation as a tough task involving writing complex algorithms and writing hundreds of lines of code. But it doesn’t have to be that way.
The release of Microsoft Cognitive Services APIs has brought a wide range of new functionality to developers. The intelligence that powers your favorite applications — Google search, Bing, Cortana, Facebook — is slowly being made accessible to developers outside of these companies: some parts for free and the others as SaaS-based commercial offerings. Microsoft Cognitive Services is a set of software-as-a-service (SaaS) commercial offerings from Microsoft related to artificial intelligence. Cognitive Services is the product of Microsoft’s years of research into cognitive computing and artificial intelligence, and many of these services are being used live by some of Microsoft’s own popular products, such as Bing (search, maps), Translator, Bot Framework, etc. Microsoft has made these services available as easy to use REST APIs, directly consumable in a web or a mobile application. As of now, there are 29 available cognitive services, broadly divided into 5 main categories:
Currently, and in the next few years, we should expect AI to be appearing everywhere. AI has become the driving force for a fourth industrial revolution. Creating smart applications of vision or speech no longer requires writing tens of thousands lines of code and then testing it. Creating a cognitive application has never been easier. The only thing you need to know in order to consume Microsoft Cognitive API is how to consume REST Services.
The AI revolution has started, and in the coming years AI will certainly affect our day to day lives in a massive, transformative way.
About the Author
Nishith Pathak is a Microsoft Most Valuable Professional (MVP), architect, speaker, AI thinker, innovator, and strategist. He is a prolific writer and contributing author and has written many books, articles, reviews, and columns for multiple electronic and print publications. Having 20+ years of experience in IT, Nishith's expertise lies in innovation, research, architecting, designing, and developing applications for Fortune 100 companies using next-generation tools and technologies. As an early adopter of Microsoft technology, he has kept pace in the certification challenges and succeeded in getting several of his certifications in beta stage.
Nishith is a gold member and sits on the advisory board of various national and international computer science societies and organizations. He has been awarded the elite Microsoft Most Valuable Professional (MVP) a couple of times for his exemplary work and his expertise in Microsoft technologies. He is a member of various advisory groups for Microsoft. Nishith is currently working as Vice President and R&D lead for Accenture Technology Labs. He is focused on key research areas, specifically AI, ML, cognitive, bot, blockchain cloud computing, and helping companies architect solutions based on these technologies. Nishith was born, raised, and educated in a town called Kotdwara in Uttarakhand, India. Beyond that, as time permits, he spends time with his friends and amuses them with his interests in palmistry and astrology.
This blog post is an edited extract from the forthcoming book Artificial Intelligence for .NET: Speech, Language, and Search by Nishith Pathak, ISBN: 978-1-4842-2948-4.