Views
No views yet
| model_name | data_name | num of queries | num of passages | R@10 | R@20 | R@50 | R@100 | R@100 |
|---|---|---|---|---|---|---|---|---|
| nlpconnect/dpr-ctx_encoder_bert_uncased_L-2_H-128_A-2(our) | nq-dev dataset | 6445 | 199795 | 60.53% | 68.28% | 76.07% | 80.98% | 91.45% |
| nlpconnect/dpr-ctx_encoder_bert_uncased_L-12_H-128_A-2(our) | nq-dev dataset | 6445 | 199795 | 65.43% | 71.99% | 79.03% | 83.24% | 92.11% |
| *facebook/dpr-ctx_encoder-single-nq-base(hf/fb) | nq-dev dataset | 6445 | 199795 | 40.94% | 49.27% | 59.05% | 66.00% | 82.00% |
| model_name | data_name | num of queries | num of passages | R@10 | R@20 | R@50 | R@100 | R@100 |
|---|---|---|---|---|---|---|---|---|
| nlpconnect/dpr-ctx_encoder_bert_uncased_L-2_H-128_A-2(our) | nq-test dataset | 3452 | 200001 | 49.68% | 59.06% | 69.40% | 75.75% | 89.28% |
| nlpconnect/dpr-ctx_encoder_bert_uncased_L-12_H-128_A-2(our) | nq-test dataset | 3452 | 200001 | 51.62% | 61.09% | 70.10% | 76.07% | 88.70% |
| *facebook/dpr-ctx_encoder-single-nq-base(hf/fb) | nq-test dataset | 3452 | 200001 | 32.93% | 43.74% | 56.95% | 66.30% | 83.92% |
1
2passage_encoder = TFAutoModel.from_pretrained("nlpconnect/dpr-ctx_encoder_bert_uncased_L-12_H-128_A-2")
3query_encoder = TFAutoModel.from_pretrained("nlpconnect/dpr-question_encoder_bert_uncased_L-12_H-128_A-2")
4
5p_tokenizer = AutoTokenizer.from_pretrained("nlpconnect/dpr-ctx_encoder_bert_uncased_L-12_H-128_A-2")
6q_tokenizer = AutoTokenizer.from_pretrained("nlpconnect/dpr-question_encoder_bert_uncased_L-12_H-128_A-2")
7
8def get_title_text_combined(passage_dicts):
9 res = []
10 for p in passage_dicts:
11 res.append(tuple((p['title'], p['text'])))
12 return res
13
14processed_passages = get_title_text_combined(passage_dicts)
15
16def extracted_passage_embeddings(processed_passages, model_config):
17 passage_inputs = tokenizer.batch_encode_plus(
18 processed_passages,
19 add_special_tokens=True,
20 truncation=True,
21 padding="max_length",
22 max_length=model_config.passage_max_seq_len,
23 return_token_type_ids=True
24 )
25 passage_embeddings = passage_encoder.predict([np.array(passage_inputs['input_ids']),
26 np.array(passage_inputs['attention_mask']),
27 np.array(passage_inputs['token_type_ids'])],
28 batch_size=512,
29 verbose=1)
30 return passage_embeddings
31
32passage_embeddings = extracted_passage_embeddings(processed_passages, model_config)
33
34
35def extracted_query_embeddings(queries, model_config):
36 query_inputs = tokenizer.batch_encode_plus(
37 queries,
38 add_special_tokens=True,
39 truncation=True,
40 padding="max_length",
41 max_length=model_config.query_max_seq_len,
42 return_token_type_ids=True
43 )
44 query_embeddings = query_encoder.predict([np.array(query_inputs['input_ids']),
45 np.array(query_inputs['attention_mask']),
46 np.array(query_inputs['token_type_ids'])],
47 batch_size=512,
48 verbose=1)
49 return query_embeddings
50
51
52query_embeddings = extracted_query_embeddings(queries, model_config)
53