New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MCD2 and MCD3 specific data processing? #7
Comments
Hi @parasj , Thanks for attention! Let's start from a simple example. Natural language question: The original logical form is:
We transform it into an equivalent logic form in which each path always starts with "?x0":
As you can see, we introduce a new predicate For MCD1: Here we explicitly wrote 4 lexicons ("Did M", "Was M", "Were M", and "Was a") for this predicate. For MCD2/3: We found that it can significantly improve the performance if we chose to introduce more detailed predicates For example, in this setup, the logic form will be:
This setup helps reduce the search space. It brought good performance gain on MCD2/3, while not influencing the performance on MCD1 much. Feel free to ping me if you have any more question~ |
Thank you @linzeqipku! Another note -- we are struggling to replicate the results on the splits. For example, in the paper, the sketch prediction module achieves 73% accuracy on the MCD3 split, but struggles to consistently obtain above 50% when we attempted to retrain the model with the default hyperparameters in the code and number of training epochs. It appears the model is very sensitive to the number of epochs used during training. There is a wide variance between initializations as well. What hyperparameters did you use for each split and how did you select those? We are currently using the default hparams used for the default 'mcd1' in the code. This work is very exciting, and we (@parasj and @GaiYu0) are interested in extending it. Would really appreciate your tips on how we can fix the training procedure. |
@parasj I'll double-check with Yinuo (the first author) and reply you later. |
@parasj and results reported in our paper calculated by another script which is not included in this repo. |
@gyn0806 @linzeqipku Thank you for your reply! Another question -- I am trying to replicate the HPD test accuracy results on MCD1, MCD2 and MCD3 and see that results depend on the epoch used for testing. Which epoch's checkpoint did you use for test set evaluation for each split? |
hi, parasj, |
@parasj Has Yinuo solved your problem? |
@SivilTaram Closing this issue -- we got the information we needed! Thank you :) |
Hi authors, @SivilTaram
I see there is some specialized logic to process the CFQ dataset for the MCD2 and MCD3 datasets. We are confused why this special path is present. Why did you add this special logic? What what the behavior if you preprocessed MCD2 and MCD3 with the MCD1 preprocessing code paths?
ContextualSP/poset_decoding/preprocess_hierarchical_inference.py
Lines 61 to 67 in 73c8b03
ContextualSP/poset_decoding/data/generate_phrase_table.py
Lines 731 to 735 in b4890da
Thanks,
Paras
The text was updated successfully, but these errors were encountered: