It's a nice idea to encode question&schema using RAT, and thanks for your sharing of the well designed codes.
I have some doubt about cell-value linking in BERT mode when reading your code.
In ratsql/models/spider/spider_enc.py SpiderEncoderBertPreproc.preprocess_item (from line 670 to 683), I realized that you compute sc link, and then cv link.
In the procedure of sc linking you call the function Bertokenize.bert_schema_linking, which uses normalized_piece to compute schema linking, and converts question (token) id back to pieces id using idx_map.
But in the procedure of cv linking you only linking question_bert_tokens.normalized_pieces with item.schema without converting id back.
It's a nice idea to encode question&schema using RAT, and thanks for your sharing of the well designed codes.
I have some doubt about cell-value linking in BERT mode when reading your code.
In
ratsql/models/spider/spider_enc.py
SpiderEncoderBertPreproc.preprocess_item (from line 670 to 683), I realized that you compute sc link, and then cv link.In the procedure of sc linking you call the function
Bertokenize.bert_schema_linking
, which usesnormalized_piece
to compute schema linking, and converts question (token) id back to pieces id usingidx_map
.But in the procedure of cv linking you only linking
question_bert_tokens.normalized_pieces
withitem.schema
without converting id back.Is that a bug? I'm hoping for you response.