Check out the book on CRC Press
Welcome to the official code companion to the book "Teaching Computers to Read: Effective Best Practices in Building Valuable NLP Solutions".
Released: November 2025
Author: Dr. Rachel Wagner-Kaiser, with contributions from Tim Cerino
Website: Visit the Website to check out Rachel's recent and upcoming events.
Repo: Repo and setup for the TC2R Code Companion here.
Fill out this Google form to sign up for the email list.
- Book Overview: Teaching Computers to Read
- What's in the Code Companion?
- Why use the Code Companion?
- About the Author
Building Natural Language Processing (NLP) solutions that deliver ongoing business value is not straightforward. This book provides clarity and guidance on how to design, develop, deploy, and maintain NLP solutions that address real-world business problems.
In the book, we discuss the main challenges and pitfalls encountered when building NLP solutions. We also outline how technical choices interact with (and are impacted by) data, tools, the business goals, and integration between human experts and the AI solution. The best practices we cover here do not depend on the cutting-edge modeling algorithms or the architectural flavor of the month. We provide practical advice for NLP solutions that are adaptable to the solution’s specific technical building blocks.
Through providing best practices across the lifecycle of NLP development, this handbook will help organizations – particularly technical teams – use critical thinking to understand how, when, and why to build NLP solutions, what the common challenges are, and how to address or avoid them. By doing so, they'll deliver consistent value to their stakeholders and deliver on the promise of AI and NLP.
The Code Companion builds on the content covered in "Teaching Computers to Read" (TC2R) by providing a set of exercises to help readers understand the challenges, experiments, and critical thinking that are required when working through a real-life problem with real-life (messy) data.
The first use case released as part of the TC2R Code Companion is a document processing use case, where we are building a solution to process contracts to extract the payment terms. Payment terms is a critical factor in how companies pay their suppliers as well as how they get paid by their customers - it's important for managing cash flow, operations, and compliance across finance and procurement departments.
The TC2R Code Companion has a set of solution development activities with interactive notebooks and exercises, covering data gathering, ingestion, pre-processing and exploration, dataset curation and annotation, and multiple modeling approaches. After the initial development, there are additional post-development exercises for the reader to practice turning their development into an end-to-end pipeline.
Please see the detailed repo and setup for the TC2R Code Companion here.
The key lessons and tenets of Teaching Computers to Read are revisited and reinforced through hands-on activities in the TC2R Code Companion. While the code companion can be undertaken as a solo endeavor, we recommend pairing the code companion with the reading of Teaching Computers to Read.
The code companion contains a step-by-step walkthrough of the steps of building an NLP solution from beginning to end, with exercises for the reader to do more than just read the existing code, but take on key activities and assessments to spur critical thinking about the data, the technical approach, and the outcomes.
Rachel Wagner-Kaiser, Ph.D., has 15 years of experience in data and AI, entering the data science field after completing her Ph.D. in astronomy. She specializes in building natural language processing solutions for real-world problems constrained by limited or messy data. Rachel leads technical teams to design, build, deploy, and maintain NLP solutions, and her expertise has helped companies organize and decode their unstructured data to solve a variety of business problems and drive value through automation.
Connect on LinkedIn

