This repo contains code for predicting semantic features in context.
First, clone the repo over ssh:
git clone git@github.com:gchronis/features_in_context.git
-
obtain a model save file, which is named something like
model.plsr.buchanan.allbuthomonyms.5k.300components.500max_iters -
make a directory in the top level of the repo called
trained_models
mkdir trained_models
- move the save file to this directory
mv <model save file> ./trained_models
- navigate to the notebooks directory
cd notebooks
- launch jupyter
jupyter notebook
- open
examine_features_in_context
To train a model from scratch use the script classifier_main.py, e.g.
python3 classifier_main.py --model=plsr --allbuthomonyms --k_fold=4 --layer=8 --clusters=1 --embedding_type=glove --train_data=mc_rae_real --plsr_n_components=100 --plsr_max_iter=500
or
python3 classifier_main.py --train_data=buchanan --allbuthomonyms --embedding_type=glove --model=ffnn --layer=8 --clusters=1 --epochs=50 --dropout=0.0 --lr=1e-4 --hidden_size=300 --save_path='trained_models/model.ffnn.buchanan.glove.50epochs.0.0dropout.lr1e-4.hsize300'
or
python3 classifier_main.py --train_data=binder --seed=42 --embedding_type=bert --model=modabs --layer=8 --clusters=5 --mu1=1 --mu2=0.1 --mu3=1e-07 --mu4=5 --nnk=3 --save_path='trained_models/main_82b2e_00003_3_clusters=5,embedding_type=bert,model=modabs,mu2=0.1,mu3=1e-07,mu4=5,nnk=3,train_data=binder_2022-10-13_20-50-01'
| argument | explanation |
|---|---|
| --train_data=x | x can be mc_rae_real, buchanan, binder (also implemented mcrae, which uses lemmatized normalized buchanan version of mcrae norms) |
| --model=x | plsr or ffnn or modabs (a.k.a. label propagation) |
| --embedding_type=x | glove or bert |
| --layer=x | layer of bert embedding to use (we have embeddings for layer 8 and 11 atm, but can make more) |
| --clusters=x | number of clusters in multiprototype embeddings (1 or 5; if using glove, this is always 1) |
| argument | explanation |
|---|---|
| --k-fold=n | Do k-fold crossvalidation with n folds. reports average metrics over all folds |
| --allbuthomonyms | trains on all words in the test set except for |
| --save_path=str | str is a path to save the trained file to; defaults to not saving; should save to ./trained_models |
PLSR
| argument | explanation |
|---|---|
| --plsr_n_components=x | |
| --plsr_max_iter=x |
FFNN
| argument | explanation |
|---|---|
| --epochs=n | integer number of training epochs |
| --dropout=n | dropout (float between 0 and 1, e.g. 0.2) |
| --lr=1e-4 | learning rate |
| --hidden_size=300 | number of weights for hidden layers |
Label Propagation
| argument | explanation |
|---|---|
| --mu1=1 | - |
| --mu2=0.1 | - |
| --mu3=1e-07 | - |
| --mu4=5 | - |
| --nnk=3 | - |