This repo implements our paper:
Lim, O'Brien, & Onnis (2023), “Orthography-phonology consistency in English: Theory- and data-driven measures and their impact on auditory vs. visual word recognition,” in Behavior Research Methods.
Please cite our paper if the code is useful for your project.
@article{lim2023orthography,
title={Orthography-phonology consistency in English: Theory-and data-driven measures and their impact on auditory vs. visual word recognition},
author={Lim, Alfred and O’Brien, Beth and Onnis, Luca},
journal={Behavior research methods},
pages={1--31},
year={2023},
publisher={Springer}
}
You may also find our OSF repository useful.
This bidirectional Parallel Distributed Processing (PDP) network was trained with either an orthography-phonology or phonology-orthography mapping task, corresponding to reading aloud visually presented words, and spelling spoken words, respectively. Our focus is on the PDP framework developed by Rumelhart, Hinton, & McClelland (1986) that provides natural accounts of the exploitation of multiple, simultaneous, and often mutual constraints. To examine the ease with which the model can generate the target output for a word, we measured the closeness of the model's output to the target by calculating the mean squared error (MSE) that serves as a reflection of how difficult it was for the model to learn the GPC/PGC mappings of each word.
Acquire Lens from either: (1) the main site; (2) Plaut's lab website; or (3) our backup repository.
For the general Lens manual, point your browser at index.html inside the Manual folder visit or, alternatively, visit https://ni.cmu.edu/~plaut/Lens/
Lens under Windows does not handle pathnames with spaces well. A good way to avoid this problem (if you have Administrator privileges) is to place the Lens folder at the top level of your main drive (e.g., C:\Lens).
To be able to run Lens, you need to add a new environment variable LENSDIR
, and add the Bin folder to your search path.
Variable name: LENSDIR
Variable value: C:\Lens (or wherever you put the Lens folder)
The model implements a multi-layer neural network from orthography to phonology. The model can be trained in two aspects: training the mapping from orthography to phonology (OP; as configured in model_reading.tcl
) and training the mapping from phonology to orthography (PO; as configured in model_spelling.tcl
).
In order to run a simulation, put a model file (e.g., model_reading.tcl), and a training/testing examples file (e.g., op.txt
; see ./build_examples
for a demonstration on how these examples files can be created) into the same directory.
Refer to our OSF repository for definition of phonological representations of phonemes.
- Model file (e.g.,
model_reading.tcl
,model_spelling.tcl
) - Examples file that contains training/testing data (e.g.,
op.ex
,po.ex
)
Training data is selected from the example file (e.g., op.ex
) on the fly. Model files are configured to select examples based on their given frequency (as indicated in op.ex
and po.ex
).
Testing data includes all examples in the example file (e.g., op.ex
) with their frequency ignored. All examples will be tested by default.
Execute 1 training epoch:
trainParallel2 1
Execute 500 training epochs:
trainParallel2 500
set stop 1
This runs the network (without adjusting the weights) on examples in the testing set and accumulates the overall error. If there is no testing set, the training set is used. By default, a small report is printed to the terminal.
test
./build_examples
contains a Python file that can be used to build Lens examples files../create_orth_vectors
contains Python files that create binary orthographic vectors of words to be used in neural networks../create_phon_vectors
contains Python files that create binary phonological vectors of words to be used in neural networks.