表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

BERTは文章の前後をどう読んで質問応答に使うのか

BERT

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理

概要

  • 語を隠して前後から予測する事前学習と、文の続きの判定を組み合わせる。
  • 本文の報告ではGLUE公式スコア80.4、SQuAD v1.1のTest F1は93.2。
  • 社内文書へ使うなら、答えの根拠範囲と「答えなし」の扱いを別途検証する。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、BERTの仕組み

左から右へ読む
  1. 01文章の組
  2. 02語を隠して学習
  3. 03課題別に調整
  4. 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