I get a TypeError with a stacktrace similar to this when I try to train the model.
This is a known issue and will be fixed in the next release. As a workaround, you can simply change the name of the attribute causing the problem, e.g., you can change "left_type" and "right_type" to "left_entity_type" and "right_entity_type" respectively.
This is because the official fasttext release on PyPI is out of date and has not been updated in over a year. fasttextmirror is a github fork of the official fasttext github repository as of June 5 2018.
This is because during the first time dm.data.process is called on a dataset, it builds a cache of the data. In subsequent calls, it simply reuses the cache so as to load faster.
After each epoch of training deepmatcher computes the validation set accuracy of the latest model. If the validation accuracy is better than the best validation accuracy seen so far, the model is saved to disk. After some epochs the accuracy may stop improving and instead may start declining. So at the end of training, deepmatcher restores the best model from disk. This is done by modifying the model in-place.