blog

BERTって何?応用方法を徹底的に解説

BERTは2018年にGoogleが発表した自然言語処理(NLP)モデルであり、Transformerのエンコーダを双方向に活用することで、それ以前のモデルを大きく上回る性能を実現しました。文脈を左右両方向から同時に理解できるこの仕組みは、検索エンジン・チャットボット・文書分類など幅広い分野に応用されており、2026年現在もGPT系列や後継モデルの土台となる基礎技術として重要な位置を占めています。本記事では、AIを専門に研究開発しNLPを実際に活用する会社の視点から、BERTの仕組み・学習手法・ファインチューニング・応用事例・評価ベンチマークまで体系的に解説します。

NLP(自然言語処理)モデルとしてのBERT

BERTはTransformer Bidirectional Encoder Representations from Transformersの略称であり、深層学習(ディープラーニング)ベースの自然言語処理モデルの一種です。翻訳・文書分類・質問応答など、コンピュータが自然言語を扱う処理の総称を「自然言語処理タスク」と呼びますが、BERTはそれらのタスクに対して一つのモデルで幅広く対応できる汎用性を持っています。

NLP(自然言語処理)とは

自然言語処理とは、人間の話し言葉や書き言葉をコンピュータで分析・処理する技術です。コンピュータに人間の言葉を理解させることを目指しており、文法的に規則正しい文章だけでなく、SNSの口コミや音声入力のような不規則・口語的な表現も扱えます。音声認識・機械翻訳・感情分析・要約生成など、日常で触れる多くのAIサービスの背後にNLPが存在します。

NLP(自然言語処理)モデルとは

NLPモデルとは、文章や話し言葉における単語の出現確率と、ある単語の後に別の単語が続く確率を統計的・確率的に表現したモデルです。わかりやすく言えば「文章の自然さを確率で表すモデル」であり、音声認識・機械翻訳・文章の誤り訂正など、自然な文章を扱いたいあらゆる領域で応用されています。BERTの他にも代表的なNLPモデルとして以下が存在します。

  • GPT-3 / GPT-4:自己回帰型の大規模言語モデル。テキスト生成に強みを持つ
  • T5:テキストをテキストに変換する統一フレームワークを採用したGoogleのモデル
  • ELMo:双方向LSTMを使った文脈依存の単語埋め込みモデル。BERTの前身的存在
  • RoBERTa / ALBERT / DeBERTa:BERTを改良した後継モデル群

TransformerとBERTの関係

BERTを理解するうえでTransformerの基礎知識は欠かせません。Transformerは2017年に発表された論文「Attention Is All You Need」で初めて登場した深層学習アーキテクチャです。それまで主流だったCNN・RNNを用いたエンコーダーデコーダーモデルとは異なり、エンコーダーとデコーダーをAttentionという機構のみで結んでいます。並列処理が可能なため学習速度が速く、長距離の依存関係も捉えやすいという特徴があります。

BERTはこのTransformerのエンコーダ部分のみを積み重ねた構造を採用しています。Transformerがエンコーダ+デコーダの双方を持つのに対し、BERTはエンコーダ側に特化することで、テキストの双方向的な意味理解に最適化されています。GPT系モデルがデコーダを中心としてテキスト生成を得意とするのとは対照的な設計です。

TransformerとBERT・GPTの構造比較
モデル 採用構造 処理方向 主な用途
Transformer(原型) エンコーダ+デコーダ 双方向(エンコーダ)/単方向(デコーダ) 機械翻訳
BERT エンコーダのみ 双方向 文章理解・分類・QA
GPT系 デコーダのみ 単方向(左→右) テキスト生成

BERT導入の背景

BERTが検索エンジンをはじめとする実用システムに採用された背景には、検索クエリの複雑化があります。スマートフォンの普及によりモバイルからの検索が増加し、「渋谷 ランチ 子連れ 雨の日でも入れる」のような長文・自然言語的なクエリが一般化しました。

加えて、iPhoneの「Siri」やAmazon「Alexa」などのAIアシスタント、スマートスピーカーの普及によって音声検索が急増しました。音声検索では「今日の天気を教えて」「近くのコンビニはどこ」のように、検索ワードが自然言語そのものになります。従来のキーワードマッチング型の検索エンジンでは、こうした複雑なクエリの意図を正確に理解することが困難でした。

こうした背景から、文脈を双方向に理解し、前置詞・助詞などの細かなニュアンスも捉えられるBERTが採用されるようになりました。

BERTの仕組み

BERTの処理は大きく「入力のトークン化と数値化」「Transformerエンコーダによる特徴抽出」「事前学習とファインチューニング」の三段階で構成されています。

入力のトークン化と数値化

トークンとは

トークンとは、一定のルールに従って文章を分割した構成要素の最小単位です。BERTへの入力では文章を単語またはサブワードレベルに細かく分ける必要があります。ただし、ニューラルネットワークが扱える語彙(ボキャブラリー)には上限があるため、ボキャブラリー外の単語(未知語)をできる限り減らす工夫が求められます。日本語テキストのトークン化には、MeCab・Sudachi・Jumanなどの形態素解析ツールが広く使われます。

分散表現(Embedding)

分散表現とは、トークンをニューラルネットワークに入力できるよう数値ベクトルに変換することです。テキストのままでは数値演算ができないため、各トークンを多次元ベクトルで表現します。この行列は語彙サイズNとベクトル次元数Dの積で表されます。Word2VecはPythonで利用できる代表的な分散表現ツールです。BERTでは単語埋め込み(Token Embedding)に加え、文章の位置を示すSegment EmbeddingとPosition Embeddingの3種類を足し合わせてエンコーダへ入力します。

SentencePiece

SentencePieceは文章の分割手法の一つで、サブワードという単位でトークンを生成します。サブワードとは単語をさらに細かく分解した部分文字列であり、特に低頻度で出現する未知語になりやすい単語に対して適用されます。SentencePieceを使うことで語彙サイズを抑えながら未知語を最小化でき、BERTへの入力効率が大幅に向上します。

Byte Pair Encoding(BPE)

SentencePieceの内部で使われているアルゴリズムがByte Pair Encoding(バイト対符号化)です。データ圧縮の手法を応用したもので、頻繁に共起する2つの文字列を1つの単位に統合することを繰り返し、最終的なサブワード語彙を構築します。この性質によって高頻度の単語はそのままトークンになり、低頻度の単語はより小さいサブワードの組み合わせとして表現できます。

Attentionと Transformer Encoderの内部構造

Multi-head Attention

Attentionとは、複数の入力トークンの中からどこに注目すべきかを学習する仕組みです。「私はリンゴが好きだ」という文で「好き」という単語を処理するとき、「リンゴ」に強く注目するといった重み付けを動的に行います。Multi-head AttentionはこのAttentionを複数のヘッドで並列に実行するモジュールです。各ヘッドが異なる観点(長距離依存・短距離依存など)を独立して学習し、それらの出力を連結して線形変換することで、より豊かな文脈表現を得られます。

Scaled Dot-Product Attention

Multi-head Attentionの各ヘッドで使われる基本計算がScaled Dot-Product Attentionです。クエリ(Q)・キー(K)・値(V)の3つの行列を使い、QとKの内積を取ってスケーリングし、ソフトマックス関数で正規化した後にVとの内積を計算することでAttentionの出力を得ます。スケーリングは内積の値が大きくなりすぎて勾配が消失するのを防ぐために行われます。

Residual Connection(残差接続)

Residual Connectionは各サブレイヤー(Attentionや FFN)の入力をそのまま出力に加算する「ショートカット接続」です。主に2つの役割があります。第一に、バックプロパゲーション時に学習信号がそのまま通る経路を確保することで、勾配消失問題を軽減します。ReLU活性化関数では約半数のケースで勾配がゼロになるため、この経路は特に重要です。第二に、各層が「元の表現からどれだけ変化すべきか」という差分のみを学習すればよくなり、学習を安定化させます。

層正規化(Layer Normalization)

層正規化はバッチ正規化を改良した正規化手法で、Transformerの普及とともに広く使われるようになりました。バッチ正規化がミニバッチ方向に正規化するのに対し、層正規化は各サンプルの隠れ層内のニューロンに対して正規化統計量を求めるため、バッチサイズに依存しません。そのためバッチサイズが小さい場合やオンライン学習でも安定して使えるという利点があり、RNNやTransformerとの相性が良好です。

FFN(Feedforward Network・順伝播型ニューラルネットワーク)

Transformerエンコーダの各層には、Multi-head AttentionのあとにFFN(順伝播型ニューラルネットワーク)が続きます。FFNは2層の全結合層からなり、中間層ではGELU活性化関数が適用されます。その後にResidual Connectionと層正規化を通ることでエンコーダ一層の出力が生成されます。FFNの特徴は以下のとおりです。

  • 入力層・中間層(隠れ層)・出力層が順方向に接続される
  • 同一層内のノード間には接続がない
  • ある層の各ノードは次の層のすべてのノードと接続される(全結合)
BERTのエンコーダ一層の処理フロー
入力埋め込み
(Token+Segment
+Position)
Multi-head
Attention
Residual
+層正規化
FFN
(GELU)
Residual
+層正規化
層出力
(次の層へ)

このブロックをBERT-Baseでは12層、BERT-Largeでは24層積み重ねる

事前学習とは

事前学習とは、大規模な文章データを使って汎用的な言語パターンをモデルに習得させる段階です。BERTの事前学習にはラベルなしデータ(生の文章データのみ)が使われます。ラベル付きデータと違い、ラベルなしデータは大量に収集できる一方、「何を学習させるか」を別途定義する必要があります。BERTでは以下の2つのタスクを組み合わせて事前学習を行っています。

Masked Language Model(MLM)

MLMでは入力テキストのトークンをランダムに15%選び、それらを特殊トークン[MASK]に置き換えた文章をBERTに入力します。BERTは[MASK]の位置に元々あったトークンを周辺の文脈から予測するタスクを通じて、単語の意味と文脈の関係を学習します。

例:「私が習っているスポーツは[MASK]で、いつかメジャーリーグでプレイしたい。」
→「スポーツ」「メジャーリーグ」「プレイ」という文脈から[MASK]=「野球」と予測する

なお、置き換えられる15%のトークンのうち、実際には80%が[MASK]に置換され、10%は別のランダムなトークンに、残り10%は元のトークンのまま据え置かれます。この工夫によりモデルが[MASK]トークンだけに過適合することを防いでいます。

Next Sentence Prediction(NSP)

MLMは単語レベルの理解を深めますが、文と文の関係性を学ぶことはできません。そこで使われるのがNSPです。NSPでは2つの文のペアをBERTに入力し、後の文が前の文の直後に続く文かどうかを判定するタスクを学習します。

  • 2つの文は特殊トークン[SEP]で区切られ、先頭には[CLS]トークンが付加されます
  • 学習データの50%は実際に連続する文のペア(IsNext)、残り50%はランダムに選ばれた無関係な文のペア(NotNext)です
  • [CLS]に対応するBERTの出力を分類器に入力し、IsNext / NotNextを判定します

例:

  • 「男は[MASK]店に行った。彼は500mLの[MASK]を購入した。」→ IsNext(連続)
  • 「女は店に[MASK]。猿が[MASK]から落ちた。」→ NotNext(不連続)

BERTの事前学習には英語版でBooksCorpus(8億語)と英語Wikipediaのテキスト(25億語)が使われ、BERT-Baseは1億1000万パラメータ、BERT-Largeは3億4000万パラメータを持ちます。

ファインチューニングとは

BERT の学習済みモデルをそのまま特定のタスクに使うことは少なく、一般に「ファインチューニング」と呼ばれる追加学習を行います。ファインチューニングでは、事前学習で得られたパラメータを初期値として使い、比較的少量のラベル付きデータで特定タスクに特化したモデルに仕上げます。

具体的な手順は次のとおりです。

  1. 解きたいタスクに応じた分類器(または回帰層)をBERTの出力層に接続する
  2. BERTのパラメータ初期値:事前学習済みの値 分類器のパラメータ初期値:ランダム値
  3. ラベル付きデータを使ってBERTと分類器の両パラメータを同時に学習する

事前学習によってBERTはすでに豊富な言語知識を持っているため、少数のラベル付きデータでも高い精度のモデルが得られるのがファインチューニングの大きな利点です。テキスト分類・固有表現抽出・質問応答・文間類似度計算など、タスクに応じて接続する出力層の形式が変わります。

BERTの2段階学習プロセス
① 事前学習
  • 大規模ラベルなしテキスト
  • MLM(マスク予測)
  • NSP(次文予測)
  • 汎用言語知識を獲得
② ファインチューニング
  • 少量のラベル付きデータ
  • タスク専用の出力層を追加
  • 全パラメータを微調整
  • 特定タスクに特化

BERTで何ができるか:主な応用事例

BERTは事前学習+ファインチューニングというアーキテクチャの性質上、様々なNLPタスクに対応できます。ここでは代表的な応用領域と実際の導入事例を紹介します。

文書分類

株式会社日立ソリューションズは2019年11月25日に、独自の文書分類アプリ「活文 知的情報マイニング」にBERTを導入したと発表しました。このシステムは大量の自然文テキストを自動的に分析・分類する業務を自動化するものです。従来は人手でカテゴリ分けが必要だった膨大な文書を、BERTの高い文脈理解能力によって高精度に自動分類できるようになりました。この技術は社内文書管理・顧客対応履歴の分類・法務文書の仕分けなど幅広い業務に活用が進んでいます。

検索エンジン

Googleは2019年10月25日に検索エンジンにBERTを導入したと発表しました。発表当初はアメリカGoogle(英語検索)のみへの適用でしたが、同年12月10日に日本語を含む70以上の言語に展開されました。BERTの導入により、「渋谷から新宿に乗り換えなし」「子供のいない大人向け旅行」のような複雑なクエリでも、前置詞・助詞・語順が持つ意味を正確に解釈し、より意図に沿った検索結果を返せるようになりました。

BERTを活用した自然言語検索の概念イメージ
BERTを活用した自然言語検索の概念イメージ

チャットボット

株式会社ユーザーローカルが提供する「サポートチャットボット」では、BERTの導入によってチャットボットの構築を大幅に自動化することが実現しました。従来のチャットボット構築では、質問と回答のロジックを人手で設定する必要があり、稼働までに多大な時間と工数が必要でした。しかしBERTを活用することで、既存の問い合わせ履歴をもとに自動的に応答ロジックを構築できるようになり、構築期間の短縮・工数削減が可能になっています。導入企業側はプログラムの記述なしにシステムを利用できます。

質問応答(Question Answering)

BERTは質問応答タスクへの適用でも高い性能を示しています。SQuAD(Stanford Question Answering Dataset)と呼ばれるベンチマークデータセットにおいて、BERTは人間の回答精度に匹敵またはそれを超えるスコアを達成しました。これは「文書を読み、質問に対して文書内の該当箇所を抜き出す」能力を測るもので、社内FAQ自動回答・カスタマーサポートの自動化などに応用されています。

固有表現抽出・感情分析・その他

BERTは文書中から人名・地名・組織名・日付などを抽出する「固有表現抽出(NER)」でも高精度を発揮します。また、テキストの感情極性(ポジティブ・ネガティブ)や感情強度を判定する感情分析においても、BERT系モデルは基盤技術として広く活用されており、発話内容から感情の強度や極性を読み取るテキスト感情分析の領域でも重要な役割を担っています。さらに、BERTのような自然言語モデルは、応募者の回答内容を構造的に分析するAI面接の対話評価エンジンや、営業現場の会話を自動採点するAIロールプレイでの発話分析など、人物評価・コーチングを自動化する領域でも基盤技術として活用されています。

BERTの特徴

双方向の文脈理解

BERTが登場する以前は、GPTのような左から右への単方向モデルや、ELMoのように双方向LSTMの出力を単純に結合するモデルが主流でした。GPTは未来の単語のみを使って予測する単方向モデルであり、ELMoは双方向ではあるものの左右を独立して処理するため、真の意味での双方向文脈理解は実現していませんでした。

BERTはTransformerのSelf-Attentionを使い、左右すべての文脈を同時に参照する真の双方向処理を実現しました。これにより「銀行に預金する」と「川岸(bank)で休む」のように同じ単語でも文脈によって意味が変わる多義語を正確に扱えるようになりました。

高い汎用性

従来の特化型NLPモデルは特定タスクに最適化されていたため、タスクが変わるたびに新しいモデルを設計・学習する必要がありました。BERTはファインチューニングという形で事前学習済みの汎用言語知識を活用できるため、文書分類・質問応答・固有表現抽出・文間類似度計算など異なるタスクを比較的少ない追加学習データで高精度に解けます。この汎用性は開発コストと時間を大幅に削減します。

学習データ不足の克服

自然言語処理タスク向けのラベル付きデータは絶対数が少なく、作成には多大な人手とコストがかかります。BERTの事前学習はラベルなしの生テキストデータを使うため、インターネット上に大量に存在する文章データをそのまま利用できます。ファインチューニング時に必要なラベル付きデータはわずかで済むため、データ収集の障壁が大幅に下がります。

後継モデルとエコシステムの広がり

BERTは2018年の登場以来、多くの改良版・後継モデルを生み出しました。

モデル 提案元 主な改良点
RoBERTa Facebook AI NSPを廃止・学習データ増量・動的マスキングで精度向上
ALBERT Google Research パラメータ共有・行列分解でモデルを軽量化
DistilBERT Hugging Face 知識蒸留によりBERT-Baseの40%小型化・60%高速化
DeBERTa Microsoft 解離型Attentionで位置情報と内容情報を分離して精度改善
日本語BERTモデル群(東北大学版など) 国内研究機関・企業 日本語Wikipediaで事前学習。日本語タスクに特化

GLUEベンチマークについて

BERTは発表当時、GLUE(General Language Understanding Evaluation)ベンチマークで当時の最高スコアを獲得しています。GLUEベンチマークは、自然言語理解システムの学習・評価・解析のためのリソース集合体であり、以下の要素で構成されています。

  • データセットのサイズ・テキストのジャンル・難易度など多様な観点から選定された9つの文または文ペアを対象とした言語理解タスクのベンチマーク
  • 自然言語に見られる様々な言語現象に関するモデル性能を評価・分析するための診断用データセット
  • ベンチマーク上のパフォーマンスを追跡する公開リーダーボードと、診断セットでのモデル性能を可視化するダッシュボード

GLUEベンチマークはモデルに依存しない形式のため、文と文のペアを処理して予測を生成できるシステムであれば誰でも参加できます。ベンチマークタスクはパラメータ共有や転移学習技術を活用してタスク間で情報を共有するモデルを優遇するよう設計されており、GLUEの最終的な目標は「汎用的で頑健な自然言語理解システムの開発研究を推進すること」です。

GLUE datasetについて

GLUE datasetはGLUE Benchmarkよりリリースされている、深層学習の自然言語処理各タスクを利用するためのデータセットです。以下の9つの自然言語理解タスクで構成されています。

カテゴリ タスク名 内容
単文タスク CoLA 英文の文法的受け入れ可能性の判定
SST-2 映画レビューの感情分析(ポジ/ネガ)
類似・言い換えタスク MRPC 2文が同じ意味かどうかの判定(言い換え検出)
STS-B 2文の意味的類似度をスコアで予測
QQP Quoraの2つの質問が同じ意図かどうかの判定
自然言語推論タスク MNLI 前提文と仮説文の含意関係の分類
QNLI 文書が質問の答えを含むかどうかの判定
RTE 2文間のテキスト含意の判定
WNLI ウィノグラードスキーマに基づく代名詞解決

SQuADとは

SQuAD(Stanford Question Answering Dataset)は、スタンフォード大学が公開したクラウドソーシングによる質問と回答のペアのコレクションです。Wikipediaの記事に対してクラウドワーカーが質問を作成し、その答えとなる箇所を記事中から特定するという形式の読解力データセットです。すべての質問に対する答えは対応する読解文中の特定箇所であるか、あるいは文書だけでは回答不能な質問として扱われます。

SQuAD 1.1では10万件超の質問応答ペアが収録されており、SQuAD 2.0では回答不能な質問が5万件追加されています。BERTはSQuAD 2.0においてF1スコア・完全一致スコアの両方で人間の評価者を超える性能を示しました。

SWAGとは

SWAG(Situations With Adversarial Generations)は、常識推論のための大規模データセットです。「彼女は車のボンネットを開けた」という状況が与えられたとき、人間はその後に「エンジンを調べた」などの自然な続きを推論できます。SWAGはこうした常識的な状況推論を機械に解かせるベンチマークです。

データセットは多肢選択問題(4択)で構成されています。各問題はLSMDCまたはActivityNet Captionsのビデオキャプションをベースとしており、あるシーンの次に何が起こりうるかについての4つの選択肢を持ちます。正解は実際の次のビデオキャプションから取得されており、不正解の3択は「機械は騙せるが人間は騙せない」ように、敵対的に生成されたうえで人間が検証した選択肢です。BERTはSWAGでも当時の最高精度を達成しています。

自然言語推論・読解力評価データセットの概念イメージ
自然言語推論・読解力評価データセットの概念イメージ

まとめ

本記事では、BERTの基本概念から内部構造・学習手法・応用事例・評価ベンチマークまでを体系的に解説しました。要点を整理します。

  • BERTとは何か:Googleが2018年に発表したTransformerエンコーダベースの双方向NLPモデル。文脈を左右両方向から同時に参照できる点が最大の特徴
  • 仕組みの核心:入力テキストのトークン化・分散表現への変換 → Multi-head AttentionとFFNを積み重ねたTransformerエンコーダによる特徴抽出
  • 2段階の学習:大規模ラベルなしデータによる事前学習(MLM+NSP)→ 少量ラベル付きデータによるファインチューニングという組み合わせが高性能の源泉
  • 応用範囲:検索エンジン・文書分類・チャットボット・質問応答・感情分析・固有表現抽出など多岐にわたり、実業務への導入事例も多数存在する
  • 後継モデル:RoBERTa・ALBERT・DistilBERT・DeBERTaなどBERTを改良したモデルが続々と登場しており、日本語特化版も複数公開されている
  • 評価指標:GLUE・SQuAD・SWAGといったベンチマークでBERTは当時の最高スコアを記録し、以後のNLP研究の基準点となっている

AIによる自然言語処理技術は急速に進化を続けており、GPT-4やGeminiのような大規模言語モデルが台頭した2026年現在においても、BERTの設計思想(事前学習+ファインチューニング・双方向Attention)は最新モデルの設計に引き継がれています。BERTを深く理解することは、現代のNLP全体を理解する確かな土台となります。

クリスタルメソッド公式note:https://note.com/crystalmethod/
X:https://x.com/YCrystalmethod
YouTube:https://www.youtube.com/@haltalktube
TikTok:https://www.tiktok.com/@crystalmethod.jp

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について編集方針

AIブログ購読

 
クリスタルメソッドがお届けする
AIブログの更新通知を受け取る

Study about AI

AIについて学ぶ

  • 音声・音楽AIのイメージ

    SakuraSpeech(サクラスピーチ)|日本語特化のAI音声合成 – ブラウザ・API・完全オフライン対応【2026年版】

    SakuraSpeech(サクラスピーチ)は、入力したテキストを自然で表情ゆたかな日本語音声に変換する、日本語特化のAI音声合成(TTS:Text-to-Spe...

  • GPT-5.5 Claude エージェント ベンチマーク選定——日本企業が問い直すべき評価軸

    GPT-5.5 Claude エージェント ベンチマーク選定——日本企業が問い直すべき評価軸

    GPT-5.5がClaude Fable 5を上回った——「Agents’ Last Exam」とは何か 2026年6月、AIエージェント評価の文脈...

  • 米上院 金融AI 規制 公聴会——日本の銀行・証券への実務的示唆

    米上院 金融AI 規制 公聴会——日本の銀行・証券への実務的示唆

    上院 金融AI 規制 公聴会の要点——何が、なぜ今議題に上ったか 2026年6月11日午前10時(米東部夏時間)、米上院銀行・住宅・都市問題委員会(U.S. S...

View more