The importance of Artificial Intelligence cannot be over-emphasised in current times, where automation is already an integral part of industrial and business processes.
A First Course in Artificial Intelligence is a comprehensive textbook for beginners which covers all the fundamentals of Artificial Intelligence. Seven chapters (divided into thirty-three units) introduce the student to key concepts of the discipline in simple language, including expert system, natural language processing, machine learning, machine learning applications, sensory perceptions (computer vision, tactile perception) and robotics.
Each chapter provides information in separate units about relevant history, applications, algorithm and programming with relevant case studies and examples. The simplified approach to the subject enables beginners in computer science who have a basic knowledge of Java programming to easily understand the contents. The text also introduces Python programming language basics, with demonstrations of natural language processing. It also introduces readers to the Waikato Environment for Knowledge Analysis (WEKA), as a tool for machine learning.
The book is suitable for students and teachers involved in introductory courses in undergraduate and diploma level courses which have appropriate modules on artificial intelligence.
A First Course in Artificial Intelligence is a comprehensive textbook for beginners which covers all the fundamentals of Artificial Intelligence. Seven chapters (divided into thirty-three units) introduce the student to key concepts of the discipline in simple language, including expert system, natural language processing, machine learning, machine learning applications, sensory perceptions (computer vision, tactile perception) and robotics.
Each chapter provides information in separate units about relevant history, applications, algorithm and programming with relevant case studies and examples. The simplified approach to the subject enables beginners in computer science who have a basic knowledge of Java programming to easily understand the contents. The text also introduces Python programming language basics, with demonstrations of natural language processing. It also introduces readers to the Waikato Environment for Knowledge Analysis (WEKA), as a tool for machine learning.
The book is suitable for students and teachers involved in introductory courses in undergraduate and diploma level courses which have appropriate modules on artificial intelligence.
Table of Contents
Chapter 1 Introduction to Artificial Intelligence1. Definition of Artificial Intelligence
1.1. Artificial Intelligence
1.1.1. Explanation of Artificial Intelligence
1.1.2. Turing Test Model - Acting Like Human
1.1.3. Cognitive Model - Thinking Like Human
1.1.4. Rational Agent Model - Acting Rationally
1.1.5. Law of Thought - Thinking Rationally
1.2. Foundational Discipline in Artificial Intelligence
1.2.1. Philosophy
1.2.2. Mathematics
1.2.3. Psychology
1.2.4. Computer Engineering
1.2.5. Linguistics
1.2.6. Biological Science and Others
1.3. Conclusion
1.4. Summary
2. History of Artificial Intelligence and Projection for The Future
2.1. the Birth of Artificial Intelligence
2.1.1. Alan Turing (1912 - 1954)
2.1.2. Other Significant Contributors Prior to Birth of Ai
2.2. Historical Development of Other Artificial Intelligence Systems
2.2.1. Expert System (1950S - 1970S)
2.2.2. First Artificial Intelligence Winter (1974 - 1980)
2.2.3. Second Artificial Intelligence Winter (1987 - 1993)
2.2.4. Intelligent Agent (1993 - Date)
2.3. Projections into the Future of Artificial Intelligence
2.3.1. Virtual Personal Assistants
2.4. Conclusion
2.5. Summary
3. Emerging Artificial Intelligence Applications
3.1. Artificial Intelligence Applied Technologies
3.1.1. Blockchain Technology
3.1.2. Internet of Things (Iot)
3.1.3. Data Science, Big Data and Data Analytic
3.2. Artificial Intelligence Products
3.2.1. IBM Watson
3.2.2. Self-Driving/Autonomous Cars
3.2.3. Face Recognition System
3.3. Conclusion
3.4. Summary
- Concluding Remarks
- References
Chapter 2 Expert System
1. Expert System Basics
1.1. Components of Expert System
1.1.1. Human Expert
1.1.2. Knowledge Engineer
1.1.3. Knowledge Base
1.1.4. Inference Engine
1.1.5. User Interface
1.1.6. Non-Expert User
1.2. Knowledge Acquisition
1.2.1. Knowledge Elicitation
1.2.2. Intermediate Representation
1.2.3. Executable Form Representation
1.3. Characteristics of Expert System
1.4. Examples of Expert System
1.4.1. Medical Diagnosis System
1.4.2. Game System
1.4.3. Financial Forecast/Advice System
1.4.4. Identification System
1.4.5. Water/Oil Drilling System
1.4.6. Car Engine Diagnosis System
1.5. Importance of Expert Systems
1.6. Conclusion
1.7. Summary
2. Knowledge Engineering
2.1. Foundations of Knowledge Engineering
2.1.1. Knowledge Engineering Processes
2.1.2. Sources and Types of Knowledge
2.1.3. Levels and Categories of Knowledge
2.2. Knowledge Acquisition Methods
2.2.1. Knowledge Modelling Methods
2.3. Knowledge Verification and Validation
2.4. Knowledge Representation
2.4.1. Production Rules
2.4.2. Semantic Network
2.4.3. Frames
2.5. Inferencing
2.5.1. Common Sense Inferencing/Reasoning
2.5.2. Rule Base Inferencing/Reasoning
2.6. Explanation and Meta-Knowledge
2.7. Inferencing with Uncertainty
2.8. Expert System Development Environment
2.8.1. Expert System Shells
2.8.2. Programming Languages
2.8.3. Hybrid Environment
2.9. Conclusion
2.10. Summary
3. Propositional Logic
3.1. Propositional Logic as Knowledge Representation Formalism
3.2. Syntax of Propositional Logic Connectives
3.3. Semantics of Propositional Logic
3.4. Automating Logical Reasoning
3.5. Uncertainty in Logical Reasoning
3.6. Automating Uncertain Propositional Logic
3.7. Conclusion
3.8. Summary
- Concluding Remarks
- References
Chapter 3 Natural Language Processing
1. Fundamentals of Natural Language Processing
1.1. Applications of Natural Language Processing
1.2. the Future of Natural Language Processing
1.3. Conclusion
1.4. Summary
2. Text Pre-Processing
2.1. Text Normalization
2.2. Tokenization
2.3. Stop Words Removal
2.4. Stemming
2.5. Lemmatization
2.6. Conclusion
2.7. Summary
3. Text Representation
3.1. Bags of Words
3.2. Lookup Dictionary
3.3. One-Hot Encoding
3.4. Word Embedding
3.5. Conclusion
3.6. Summary
4. Parts of Speech Tagging
4.1. Fundamentals of Parts of Speech
4.2. Importance of Parts of Speech Tagging
4.2.1. Word Pronunciation in Text to Speech Conversion
4.2.2. Word Sense Disambiguation
4.2.3. Stemming as Text Pre-Processing Task
4.3. Computational Methods for Parts of Speech Tagging
4.3.1. Rule Based Tagging Method/Algorithm
4.3.2. Stochastic Based Tagging Method/Algorithm
4.3.3. Transformation Based Tagging
4.4. Conclusion
4.5. Summary
5. Text Tagging/Text Classification
5.1. Approaches to Text Classification
5.1.1. Rule Based Text Classification
5.1.2. Machine Learning Based Text Classification
5.1.3. Rule and Machine Learning Based Text Classification
5.2. Machine Learning Algorithms for Text Classification
5.2.1 Naïve Bayes Text Classification Machine Learning Algorithm
5.2.2. Decision Tree Text Classification Machine Learning Algorithm
5.3. Conclusion
5.4. Summary
6. Text Summarization
6.1. Brief History of Automatic Text Summarization
6.2. Approaches to Text Summarization
6.2.1. Extractive Text Summarization
6.2.2. Abstractive Text Summarization
6.3. Frequency Based Technique
6.4. Feature Based Technique
6.5. Text Rank Algorithm
6.6. Conclusion
6.7. Summary
7. Sentiment Analysis
7.1. Types of Sentiment Analysis
7.1.1. Fine Grained Sentiment Analysis
7.1.2. Emotion Detection Sentiment Analysis
7.1.3. Aspects Based Sentiment Analysis
7.1.4. Multi-Lingual Sentiment Analysis
7.1.5. Intent Detection Sentiment Analysis
7.2. Applications of Sentiment Analysis
7.2.1. Social Media Sentiment Analysis
7.2.2. Internet Sentiment Analysis
7.2.3. Sentiment Analysis on Customer Feedback
7.2.4. Sentiment Analysis on Customer Services
7.3. Approaches to Sentiment Analysis
7.3.1. Rule Based Approach
7.3.2. Machine Learning Based Approach
7.3.3. Hybrid Approach
7.4. Conclusion
7.5. Summary
8. Nlp, Using Python Programming Language
8.1. Fundamentals of Nlp Using Python
8.1.1. Natural Language Toolkit (Nltk)
8.1.2. Getting Started with Nlp Using Python
8.1.3. Using List in Python for Nlp
8.1.4. Manipulating String in Python
8.1.5. Using Python Text Editor
8.2. Using Control Structures in Python for Nlp
8.2.1. Selective Control Structure
8.2.2. Repetitive/Looping Control Structure
8.3. Accessing Text Corpora in Python
8.3.1. Gutenberg Corpus
8.3.2. Web and Chat Text
8.3.3. Brown Corpus
8.3.4. Reuters Corpus
8.3.5. Inaugural Address Corpus
8.4. Conclusion
8.5. Summary
- Concluding Remarks
- References
Chapter 4 Machine Learning
1. Introduction to Machine Learning
1.1. Fundamentals of Machine Learning
1.1.1. Definition of Machine Learning
1.1.2. Types of Learning
1.1.3. Basic Terminologies in Machine Learning
1.1.4. Components of a Machine Learning System
1.2. Input to Machine Learning System
1.3. Characteristics of Input Data
1.4. Output from Machine Learning System
1.4.1. Regression Equation
1.4.2. Regression Trees
1.4.3. Table
1.4.4. Cluster Diagram
1.4.5. Decision Tree
1.4.6. Classification Rule
1.5. Conclusion
1.6. Summary
2. Data Preparation
2.1. Fundamentals of Data Preparation
2.1.1. Data Selection
2.1.2. Data Pre-Processing
2.1.3. Data Transformation
2.2. Data Transformation Techniques
2.2.1. Feature Engineering
2.2.2. Feature Scaling
2.3. Conclusion
2.4. Summary
3. Supervised Machine Learning
3.1. Prediction Based Machine Learning Algorithm
3.1.1. Simple Linear Regression Algorithm
3.1.2. Multiple Linear Regression Algorithm
3.2. Classification Based Machine Learning Algorithm
3.2.1. Naïve Bayes Machine Learning Algorithm
3.2.2. Decision Tree Machine Learning Algorithm
3.3. Conclusion
3.4. Summary
4. Simple Regression Algorithms for Non-Linear Relationships
4.1. Types of Simple Non-Linear Relationships
4.1.1. Simple Non-Linear Relationships
4.1.2. Polynomial of Degree 2 with Minimum Point
4.1.3. Polynomial of Degree 2 with Maximum Point
4.1.4. Polynomial of Degree 3 with Minimum Point on the Right
4.1.5. Polynomial of Degree 3 with Maximum Point on the Right
4.2. Regression Algorithm for Non Lionear Relationships
4.2.1. Regression Algorithm for Simple Non-Linear Relationships
4.2.2. Regression Algorithm for Polynomial of Degree 2 with Minimum Point
4.2.3. Regression Algorithm for Polynomial of Degree 2, with Maximum Point
4.2.4. Regression Algorithm for Polynomial of Degree 3, with Minimum Point on the Right
4.2.5. Regression Algorithm for Polynomial of Degree 3, with Maximum Point on the Right
Author
- Osondu Oguike