Tokenizing Text for QA
Định nghĩa
Tokenizing text for QA là bước mã hóa cặp (question, context) thành input mà model extractive QA có thể xử lý.
Cách hiểu bằng lời của tôi
Với QA, tokenizer không chỉ encode một câu đơn. Nó phải encode câu hỏi và context cùng lúc, giữ ranh giới giữa hai phần, và giữ metadata để sau này map answer span về text gốc.
question + context
-> [CLS] question [SEP] context [SEP]
-> input_ids + token_type_ids + attention_mask + offsetsPhần cần biết
input_idslà token IDs đưa vào model.token_type_idsgiúp phân biệt phần question và phần context khi model/tokenizer hỗ trợ.attention_maskcho biết token nào là thật và token nào là padding.- Offset mapping giúp nối token prediction với vị trí ký tự trong text gốc.
- Với Extractive QA, output start/end token chỉ hữu ích nếu ta biết token đó thuộc context nào.
Khi áp dụng
- Dùng trước Span Classification và Extracting Answers from Text.
- Cần đặc biệt cẩn thận khi context dài, vì truncation có thể làm mất answer.
- Khi debug QA, nên kiểm tra decoded tokens, ranh giới question/context và offset mapping.
Câu hỏi review
- Vì sao QA tokenizer cần nhận cả question và context?
token_type_idsgiúp gì trong QA?- Vì sao offset mapping quan trọng khi extract answer?
Gợi ý trả lời câu hỏi review
- Vì model phải hiểu câu hỏi trong quan hệ với context để chọn answer span.
- Nó giúp model biết token nào thuộc question và token nào thuộc context.
- Vì model dự đoán vị trí token, còn output cuối cùng cần cắt đúng chuỗi answer từ text gốc.