Easy ways to make your enterprise applications “artificially” intelligent!

In this blog, I will cover some ways to make your enterprise applications smart by using a few simple algorithms from the field of Artificial Intelligence (AI). The task of making your existing applications intelligent would be daunting especially if you are new to AI. Here, I will break down this process into easy digestible parts: (1) understanding the definition of AI (2) learning to identify where AI can be used, (3) looking at some example applications where AI can be used and (4) having a bonus sneak peek into how these sample applications can be solved using AI. Hopefully, this blog can act as a spark to get you ready to learn to use AI and dive deep into it.

 Here, I will briefly introduce you to what searching is in the field of Artificial Intelligence, show some applications where this technology is useful and describe the way AI can be used to build this technology. To know more details about this, you can read my book “Hands-On Artificial Intelligence for Search: Building intelligent applications and perform enterprise searches” from Amazon at https://www.amazon.com/Hands-Artificial-Intelligence-Search-applications-ebook/dp/B07H18XBPC/ or from Packt at https://www.packtpub.com/big-data-and-business-intelligence/hands-artificial-intelligence-search . This book should equip you with the basic knowledge and code to introduce intelligence in your enterprise solutions. If you prefer seeing videos rather than reading then you can follow my video course on Packt at https://www.packtpub.com/big-data-and-business-intelligence/using-ai-transform-search-video. In addition, the code examples (for both the book and the video course) have been hosted on github at: https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-for-Search, so that you can easily clone, fork and add issues.

 

What is Artificial Intelligence?

 The term “Artificial Intelligence” has become very popular these days though it was coined back in 1955. The artificial part of the term refers to the fact that it is not naturally occurring and it is man-made. The hard part of the definition is to define the word “intelligence”. In the living kingdom, the most intelligent animals are humans. John McCarthy defined AI as being able to achieve human intelligence and improve themselves [1]. In 1950, Alan Turing came up with a test called “Turing Test” [2] which tests whether a machine is as intelligent as a human. Generally, we consider people that have knowledge as intelligent or experts, philosopher Denis Diderot puts it in a nice example: “If they find a parrot who could answer to everything, I would claim it to be an intelligent being without hesitation.” [3]. In general, AI is all about finding an answer. However, there can be several types of answers e.g. finding an answer to a general knowledge question, finding interesting people on a social platform, generating an image represent to show what is being said in a sentence or finding the names of the people in a photo. Here, we shall focus on finding answers to search problems.

 

How to identify opportunities for using AI?

 Searching in this technology world has become synonymous with googling. It is an integral part of our lives. But searching according to Artificial Intelligence is beyond finding search results for a query.

[Source: Wikimedia commons]

A search problem is when you are trying to find the best result which is called the goal state in search terminology or the way to get the goal state. Let me give you some examples to understand. An example of a search problem where you find the goal state would be when you want to find a file in the file system containing particular content and an example of a search problem where you would want to find the way to get to the goal state would be when you want to find the shortest route to a particular place. Thus, we can apply search methods if our aim is to find the goal state or a way to reach the goal state.

Examples of search applications

I will go through some of the example search applications used in the book and the video course. These applications are explained in detail in the book and the video course. Also, you can find the code for these applications at the github repository: https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-for-Search.


  1. Finding a file in the file system with a particular name “f211” or containing particular content.



2. Find the number of connections between two people on a social platform.



3. Find the shortest route from the Bus stop to the AI Lab for a University map application.



The steps in short  

Since you have spent some time to read this article, I will delve into some of the details of the book / video course.

  1. Like a recipe, a search problem has some key ingredients which are 

For each problem, we understand how to formulate search problem by defining these key components.

 2. In this book, I go through three basic AI search algorithms: Depth First Search (DFS), Breadth First Search (BFS) and A* search. The way these search algorithms explore the search space resembles the way different data structures operate. DFS needs a stack data structure, BFS needs a queue and A* search needs a priority queue. So, then I go through the basics of these data structures: some daily life examples, how to initialize them then how to add and remove elements.

(a) a stack of clothes, (b) queue of people at a counter, (c) elderly, families with young children and business class usually take priority in the queue at the airport

3. Then we learn about each step in the flow of these search algorithms.

4. Then we get to see how each step of the search algorithm pans out for these sample applications.

5. Finally, we compare these search algorithms then explain the advantages and disadvantages of each search algorithm.

 Final Thoughts

From my initial experiences of learning AI to using AI in enterprise applications, I have gone through the journey, the hard way, especially when AI resources was not so accessible through MOOCs and when AI libraries were not commercially available. Usually people recommend to follow the “Artificial Intelligence: a Modern Approach” by Peter Norvig and Stuart Russell. It is an extensively well detailed book but for the brave. This course has been specifically designed for professionals and students who would like to take baby steps into AI but without the burden of getting swamped with the details. To purchase the book, you can head down to amazon at: https://www.amazon.com/Hands-Artificial-Intelligence-Search-applications-ebook/dp/B07H18XBPC/  or get it from Packt Publishing at: https://www.packtpub.com/big-data-and-business-intelligence/hands-artificial-intelligence-search. If you prefer seeing videos rather than reading then you can follow my video course on Packt at https://www.packtpub.com/big-data-and-business-intelligence/using-ai-transform-search-video .


References

[1] McCarthy, J., Minsky, M., Rochester, N., Shannon, C.E., A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence., https://raysolomonoff.com/dartmouth/boxa/dart564props.pdf August, 1955

[2] Machinery, Computing. "Computing machinery and intelligence-AM Turing." Mind 59.236 (1950): 433.

[3] Diderot, Denis. Pensées philosophiques.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了