アーカイブ / LLM
BERTは文章の前後をどう読んで質問応答に使うのか
BERT
概要
- 語を隠して前後から予測する事前学習と、文の続きの判定を組み合わせる。
- 本文の報告ではGLUE公式スコア80.4、SQuAD v1.1のTest F1は93.2。
- 社内文書へ使うなら、答えの根拠範囲と「答えなし」の扱いを別途検証する。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、BERTの仕組み
- 01文章の組
- 02語を隠して学習
- 03課題別に調整
- 04答えや判定
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
BERTは、文章中の語を前後の文脈から捉え、別の言語処理課題に使い回せる表現を学ぶ方法だ。質問応答では答えの前後、文の関係判定では二つの文の全体を読む必要がある。
従来の事前学習には、左から右へ一語ずつ予測する方法や、左右別々に学んだ表現を組み合わせる方法があった。著者らは、この制約が特に単語単位の判断を難しくすると考えた。
手法
入力文は細かな語の単位に分け、語の種類、文中の位置、どちらの文に属するかを表す情報を合わせる。事前学習では語の15%を選び、隠した元の語を周囲から予測する。これがマスク言語モデルで、たとえば「雲の中で[隠した語]ができる」の空所を前後から考える学習に当たる。併せて、二つ目の文が実際の続きか、文書から無作為に選んだ文かを判定する。
学習後は、課題に応じた出力層を加え、正解付きの例でモデル全体を調整する。質問応答なら質問と本文を一つの入力にまとめ、本文中の答えが始まる位置と終わる位置を選ぶ。文の関係判定なら、先頭に置く特別な記号の出力を使って分類する。この調整をファインチューニングという。
新規性
著者らの中心的な提案は、単語の一部を隠して当てる学習により、各層で左右の文脈を同時に扱う事前学習を実現した点にある。文同士の続き方を判定する課題も併用し、単一文と文の組を同じモデルへ入力できるようにした。
著者らは、この事前学習済みの表現に小さな出力層を加え、質問応答や文の関係判定へ適用した。新しい課題ごとに複雑な専用構造を組む負担を減らす、という主張である。
従来手法との違い
比較対象のOpenAI GPTは、事前学習中に各位置から左側の単語だけを見る。ELMoは左右それぞれで学習した表現を結合する。BERTは同じ層の中で左右を合わせて扱うため、答えの位置を探すような単語単位の課題にも文脈を渡せる。
ただしGPTとの違いは見る方向だけではない。本文では学習用文書の量、バッチの大きさ、特殊記号を学ぶ時期、調整時の学習率も異なると明記し、事前学習課題を除く実験で効果を調べている。
実験結果
著者らは自然言語処理の11課題を評価した。本文で示すGLUE公式スコアはBERT LARGEが80.4、執筆時の比較対象であるOpenAI GPTが72.8。文の含意を判定するMultiNLIの精度は86.7%、SQuAD v1.1の質問応答はTest F1が93.2で、F1は答えとして選んだ語と正解の語の一致を測る。
GLUE表の「平均」は問題のあるWNLIを除いた別の値で、公式スコアと混同できない。なお入力内の要旨にはGLUE 80.5、SQuAD v2.0のF1 83.1ともあるが、確認できた本文の範囲では要旨と本文でGLUEの数値が異なるため、ここでは本文の80.4を採った。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案:社内の手順書から、質問に対応する記述を示す検索補助を試す。入力は担当者の質問と候補となる手順書の段落、出力は回答として参照すべき原文の範囲と文書名にする。
候補段落を選ぶ工程は別に用意し、BERTには質問と一つの段落を組で渡す。担当者は提示された範囲を原文で確認してから回答する。論文の質問応答結果を、社内文書での正答率と読み替えない運用にする。
応用先の候補からNauhに相談できます。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案:対象を一種類の手順書と実際によくある質問に絞り、担当者が答えの根拠となる範囲を付けた評価例を作る。まず文書内の語句一致で候補を提示する方法を基準にし、同じ候補段落でBERTを使う方法と比べる。
正しい範囲を選べた割合、答えがない質問で誤って範囲を示す割合、担当者が原文を確認するまでの時間を記録する。略語や改訂前の記述を含む例も分けて集計し、根拠を確認できる場合に用途を限定して判断する。
限界と課題
著者らは、単語を隠す事前学習と実際の利用時に入力の形がずれる点を挙げ、置き換え方を調整している。また隠した単語だけを予測するため収束がやや遅く、小規模データでのBERT LARGEの調整は不安定になる場合があった。
編集上の確認事項は、日本語の社内文書、長い段落、略語、答えがない質問での挙動である。本文の主要な結果は英語の公開課題で得られたもので、社内文書の検索工程まで含めた性能は示していない。
出典
元のタイトル・要旨を確認する(英語)
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-09-29




