Skip to main content

MSDS 459 Knowledge Engineering

Course Description #

This course reviews knowledge-based systems, intelligent applications, and conversational agents. It uses knowledge graphs to store information about entities and their relationships, where entities represent words, documents, people, organizations, products, places, or other things. Students design graph data models and implement knowledge bases in graph-relational databases. Drawing on these knowledge bases, as well as large-scale language models and inference algorithms, students build recommendation systems and end-to-end applications for information retrieval, information extraction, and question answering. Recommended prior courses: MSDS 431-DL Data Engineering with Go and MSDS 453 Natural Language Processing. Prerequisites: (1) MSDS 420-DL Database Systems or CIS 417 Database Systems Design and Implementation and (2) MSDS 422-DL Practical Machine Learning or CIS 435 Practical Data Science Using Machine Learning.

This course is aligned with both the Data Engineering and Artificial Intelligence specializations.

Students benefit by taking the Go Learning Studio and MSDS 431 Data Engineering with Go before taking this course.

Course Content across Ten Weeks #

  • Week 1. Introduction to Knowledge Graphs
  • Week 2. Gathering and Preparing Data for Knowledge Graphs
  • Week 3. Named Entity Recognition (Graph Nodes)
  • Week 4. Relation Extraction (Graph Edges)
  • Week 5. Graph Data Model and Use Cases
  • Week 6. Graph-Relational Databases, Embeddings, and Queries
  • Week 7. Knowledge Graph Completion: Traditional Algorithms
  • Week 8. Knowledge Graph Completion: Neural Networks
  • Week 9. Information Retrieval and Extraction
  • Week 10. Question Answering

What is required of students? Students work in scrum teams guided by proven practices in software development. They build knowledge graphs for product categories. They collect data from online sources, use those data to populate graph-relational databases, and develop intelligent applications that draw on graph-relational databases.

The current course relies on EdgeDB, a graph-relational database system, and the Go and Python programming languages.

Primary Textbooks #

  • Kejriwal, Mayank, Craig A. Knoblock, and Pedro Szekely. 2021. Knowledge Graphs: Fundamentals, Techniques, and Applications. Cambridge, MA: MIT Press. [ISBN-13: 978-0262045094]

  • Schwarber, Ken, and Jeff Sutherland. 2012. Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, and Leave Competitors in the Dust. New York: Wiley. [ISBN-13: 978-1-118-20666-9] 2020 Scrum Guide available online.

  • Anagnostopoulos, Achilleas. 2020. Hands-On Software Engineering with Golang: Move Beyond Basic Programming to Design and Build Reliable Software with Clean Code. Birmingham, UK: Packt. [ISBN-13: 978-1838554491]

  • Bates, Mark, and Cory LaNou. 2023. Go Fundamentals: Gopher Guides. Boston: Addison-Wesley. [ISBN-13: 978-0-13-791830-0]

  • Barrasa, Jesus, and Jim Webber. 2023. Building Knowledge Graphs: A Practitioner’s Guide. Sebastopol, CA: O’Reilly. [ISBN-13: 978-1098127107]

  • Beazley, David M. 2022. Python Distilled. Boston: Addison-Wesley. [ISBN-13: 978-0-13-417327-6]

  • Bodner, Jon. 2024. Learning Go: An Idiomatic Approach to Real-World Go Programming (second edition). Sebastopol, CA: O’Reilly. [ISBN-13: 978-1098139292] Program repositories available from GitHub.

  • Falk, Kim. 2019. Practical Recommender Systems. Shelter Island, NY: Manning. [ISBN-13: 978-1617292705] Source code available for download from the publisher.

  • Kong, Xiaoquan, Guan Wang, and Alan Nichol. 2021. Conversational AI with Rasa: Build, Test, and Deploy AI-Powered, Enterprise-Grade, Virtual Assistants and Chatbots. Birmingham, UK: Packt. [ISBN-13: 978-1801077057] Code available from the book’s GitHub repository.

  • Tunstall, Lewis, Leandro von Werra, and Thomas Wolf. 2022. Natural Language Processing with Transformers (Revised Edition). Sebastopol, CA: O’Reilly. [ISBN-13: 978-1098136796]

Go to the home page Learning Go for Data Science.