CMRC2018
列車番号:10142、Devの番号:3219、試験番号:1002
BERT
パラメータ
層 | パラメータの量 | 経理 |
---|---|---|
MultiHeadSelfAttention | 2362368 * 12 | 27.55パーセント |
TokenEmbedding | 16226304 | 15.77パーセント |
フィードフォワード | 4722432 * 12 | 55.08パーセント |
PositionEmbedding | 393216 | 0.38% |
マスクされた言語モデル
二文のタスク
タスクの特定のモデル
BERTは、読解に適用されます
SQUADでは、問題と解答が含まれている段落を与え、タスクが開始と終了位置(回答スパン、スパン)のテキストに答えを予測することです。BERTは、最初の問題特別な分類トークン[CLS]タグの前に添加し、その後離れ中間特殊トークン[9月]を使用して、一緒に段落を発行します。BERTの配列セグメント埋め込み及び位置埋め込み入力。最後に、全体の接続層とソフトマックス関数が答え確率スパンのために、最終的な隠されたBERTを変換します。微調整のためにBERTはとてもSQUADにうまく行って、問題と段落の間の関係を捉えることができます。
BERT入力と出力
- 入力:
input_ids, input_mask, segment_ids
- 出力:
start_position, end_position
BERT入力解析
開始位置と終了位置を計算します
example = SquadExample( qas_id=qas_id,
question_text=question_text,
doc_tokens=doc_tokens,
orig_answer_text=orig_answer_text,
start_position=start_position,
end_position=end_position)
复制代码
開始位置と終了位置をリラベル、これは言葉です。それはそう、関係なく、単語の、ある、でもBERT中国語版は、言葉に従ったものであるが、いくつかの英語の単語は、今年はまだカウントする文字の数に応じて、そのような1990として、個別に分離され、そうではなく、団結のための時間をマークされます例えば、開始位置と終了位置を書き換える処理するときに、テキストの次の部分は、元の開始位置は41であるが、単語は38に変更した後、この生成された結果に影響を及ぼさないことに注意してください。
入力BERTは、このモザイクですので。
[CLS]question[SEP]context[SEP]
复制代码
だから最終的に開始位置に加えて、問題のモデルの長さ、および([CLS]、[09月])を入力し、または上記の例の2インチ
- 最初の例:
"question": "范廷颂是什么时候被任为主教的?"
と一緒に15の長さは、[CLS]及び[9月]は、17であり、加えて元の開始位置30、47は、最終的に得られます。 - 第二の例:
"question": "1990年,范廷颂担任什么职务?"
と一緒に13の長さは、[CLS]及び[9月]は、15であり、加えて元の開始位置38、53は、最終的に得られます。
デバッグと一貫性のある結果
max_query_length: 问题的最大长度,超过会截断
复制代码
ます。https://juejin.im/post/5d05cd6c518825509075f7f9で再現