In this brief chapter, we summarize the background knowledge needed to be able to work through the book (Sect. 1.1). After that, we provide an overview of the remainder of the book (Sect. 1.2).

1.1 Background Knowledge

The present book interweaves approaches that are often treated separately, namely cognitive modeling, (Bayesian) statistics, (formal) syntax and semantics, and psycholinguistics. Given the wide range of frameworks and approaches, we try to presuppose as little possible, so that readers coming from different fields can work through (almost) all the material. That said, the book is mainly geared towards linguists, so readers are expected to have a basic grasp of formal syntax and semantics. The overwhelming majority of the cognitive phenomena that we discuss and model in this book are associated with natural language (English) comprehension, and we will generally presuppose the reader is familiar with the basic linguistic representations and operations involved in modeling these phenomena.

We take a hands-on approach to cognitive modeling in this book: we discuss theories and hypotheses, but we also focus on actually implementing the models (in Python). While it is possible to read the book without developing or running any code, we believe that going through the book this way misses important aspects of learning cognitive modeling. For this reason, we strongly encourage readers to run and modify our code, as well as develop their own models as they proceed. Cognitive modeling, like any other technical endeavor, is not a spectator sport: learning is doing. But doing cognitive modeling from scratch can be a daunting task. To simplify this, we created a Python package, pyactr, that will help readers focus only on those features of the implementation of cognitive models that are theoretically relevant. Instructions for how to install the package, as well as other practical details regarding programming and Python are discussed hereFootnote 1:

This book is not an introduction to programming, in general or in Python. Whenever it is possible, we briefly cover concepts needed to understand code snippets presented in the book. However, readers should keep in mind that such explanations are included merely to make the process of going through the text a little smoother. In order to gain a deeper understanding, it will be necessary to consult Python textbooks (or online courses). Downey (2012) is a good starting point to learn Python; see Ramalho (2015) for a slightly more advanced discussion. We chose Python for this book because it is beginner-friendly and it is currently (as of 2019) the most popular language for general data wrangling, data visualization and analysis, machine learning and scientific computing. Python’s ease-of-use and library ecosystem for scientific computing is currently unrivaled.Footnote 2

In sum, we believe it is possible to read the book without any knowledge of Python. But understanding Python will provide better insight into the models we build, and it will enable our readers to use the concepts and tools we develop here in their own research.

1.2 The Structure of the Book

The book is structured as follows.

Chapter 2 introduces the ACT-R cognitive architecture and the Python3 implementation pyactr we use throughout the book. We end with a basic ACT-R model for subject-verb agreement.

Chapter 3 introduces the basics of syntactic parsing in ACT-R. We build a top-down parser and learn how we can extract intermediate stages of pyactr simulations. This enables us to inspect detailed snapshots of the cognitive states that our processing models predict.

Chapter 4 introduces a psycholinguistically realistic model of syntactic parsing (left-corner parsing). We also introduce the vision and motor modules. These modules enable our cognitive models to interact with the environment just as human participants do in a psycholinguistic experiment. This is an important contribution to the current psycholinguistics literature, which focuses almost exclusively on modeling the declarative memory contribution to natural language processing. Instead, our models make use of the full ACT-R cognitive architecture, and explicitly include (i) the procedural memory module, which is the backbone of all cognitive processes, as well as (ii) the interface modules, motor and vision specifically.

Chapter 5 introduces the basics of Bayesian methods for data analysis and parameter estimation, and the main computational tools we will use for Bayesian modeling in Python3. Bayesian modeling enables us to estimate the subsymbolic parameters of ACT-R models for linguistic phenomena, and our uncertainty about these estimates. Applying Bayesian methods to ACT-R cognitive models is a contribution relative to the current work in the psycholinguistic ACT-R modeling literature, and ACT-R modeling more generally. Parameters in ACT-R models are often tuned manually by trial and error, but the availability of the new pyactr library introduced in the present monograph, in conjunction with already available, excellent libraries for Bayesian modeling like pymc3, should make this practice obsolete and replace it with the modeling and parameter-estimation workflow now standard in statistical modeling communities.

Chapter 6 introduces the (so-called) subsymbolic components needed to have a realistic model of human declarative memory, and shows how different cognitive models embedded in Bayesian models can be fit to the classical forgetting data from Ebbinghaus (1913). In addition to estimating the parameters of these models and quantifying our uncertainty about these estimates, we are also able to compare these models based on how good their fit to data is. We limit ourselves to plots of posterior predictions and informal model comparison based on those plots.

Chapter 7 brings together the Bayesian methods introduced in Chap. 5 and the subsymbolic components of the ACT-R architecture introduced in Chap. 6 to construct and compare a variety of ACT-R models for the lexical decision data in Murray and Forster (2004). We begin by comparing two ACT-R models that abstract away from the full ACT-R architecture and focus exclusively on the way declarative memory modulates lexical decision. Once the better model is identified, we show how it can be integrated into three different end-to-end models of lexical decision in pyactr. These models incorporate the full ACT-R architecture and are able to realistically simulate a human participant in lexical decision tasks, from the integration of visual input presented on a virtual screen to providing the requisite motor response (key presses). Crucially, these three Bayes+ACT-R models differ in symbolic (discrete, non-quantitative) ways, not only in subsymbolic (quantitative) ways. Nonetheless, our Bayes+ACT-R framework enables us to fit them all to experimental data and to compute quantitative predictions (means and credible intervals) for all of them. That is, we have a general procedure to quantitatively compare fully formalized qualitative (symbolic) theories. The chapter also discusses predictions of the ACT-R left-corner parser from Chap. 4 for the Grodner and Gibson (2005) processing data. This provides another example of how the framework enables us to consider distinct symbolic hypotheses about linguistic representations and parsing processes, formalize them and quantitatively compare them.

Chapters 8 and 9 build the first (to our knowledge) fully formalized and computationally implemented psycholinguistic model of the human semantic parser/interpreter that explicitly integrates formal semantics theories and an independently-motivated cognitive architecture (ACT-R), and fits the resulting processing models to experimental data. Specifically, we show how Discourse Representation Theory (DRT; Kamp 1981; Kamp and Reyle 1993Footnote 3) can be integrated into the ACT-R cognitive architecture.

Chapter 8 focuses on the organization of Discourse Representation Structures (DRSs) in declarative memory, and their storage in and retrieval from declarative memory. The chapter argues that the fan effect (Anderson 1974; Anderson and Reder 1999) provides fundamental insights into the memory structures and cognitive processes that underlie semantic evaluation, which is the process of determining whether something is true or false relative to a database of known facts, i.e., a model in the parlance of model-theoretic semantics.

Chapter 9 builds on the model in Chap. 8 and formulates an explicit parser for DRSs that works in tandem with a syntactic parser and that has visual and motor interfaces. The resulting model enables us to fully simulate the behavior of participants in self-paced reading tasks targeting semantic phenomena. We use it to account for the experiments reported in Brasoveanu and Dotlačil (2015a), which study the interaction between (i) cataphoric pronouns and cataphoric presuppositions on one hand, and (ii) the dynamic meanings of sentential connectives, specifically, conjunctions versus conditionals, on the other hand.

An extreme, but clear way to state the main theoretical proposal made in Chap. 9 is the contention that anaphora, and presupposition in general, are properly understood as processing-level phenomena that guide and constrain memory retrieval processes associated with incremental interpretation. That is, they guide and constrain the cognitive process of integration, or linking, of new and old semantic information. Anaphora and presupposition have semantic effects, but are not exclusively, or even primarily, semantics. The proper way to analyze them is as a part of the processing component of a broad theory of natural language interpretation. This proposal is very close in spirit to the DRT account of presupposition proposed in van der Sandt (1992); Kamp (2001a, b), among others. Kamp (2001b), with its extended argument for and extensive use of preliminary representations—that is, meaning representations that explicitly include unresolved presuppositions—is a particularly close idea.

Finally, Chap. 10 outlines several directions for future research.