Chapter 3. Building a Siri-Like Chatbot in ROS
Artificial intelligence, machine learning, and deep learning are getting very popular nowadays. All these technologies are linked, and the common goal is to mimic human intelligence. There are numerous applications for these fields; some of the relevant ones are as follows:
- Logical reasoning: This will generate logical conclusions from existing data. Reasoning using AI techniques is widely used in areas such as robotics, computer vision, and analytics.
- Knowledge representation: This is the study of how a computer could store knowledge fragments like our brains do. This is possible using AI techniques.
- Planning: This concept is heavily used in robotics; there are AI algorithms such as A* (star) and Dijkstra for planning a robot's path from its current position to a goal position. It is also heavily used in swarm robotics for robot planning.
- Learning: Humans can learn, right? What about machines? Using machine learning techniques, we can train artificial neural networks to learn data.
- Natural language processing: This is the ability to understand human language, mainly from text data.
- Perception: A robot can have various kinds of sensors, such as camera and mic. Using AI, we can analyze this sensor data and understand the meaning of it.
- Social intelligence: This is one of the trending fields of AI. Using AI, we can build social intelligence in a machine or robot. Robots such as Kismet and Jibo have social intelligence.
In this chapter, we will discuss knowledge representation and social intelligence. If you are going to build a robot that has skills to interact with people, you may need to store the knowledge and create some social skills. This chapter will teach you how to build a base system for such robots. Before discussing the implementation of this system, let's take a look at some social and service robots and its characteristics.
Note
MIT Kismet: http://www.ai.mit.edu/projects/humanoid-robotics-group/kismet/kismet.html
Jibo: https://www.jibo.com/