G検定 › Web参考書 › 第6章

自然言語処理(形態素解析、BoW、TF-IDF、word2vec、BERT、大規模言語モデル)

第6章 ディープラーニングの応用例 / 節 2

シラバスのキーワード: 形態素解析構文解析ワンホットベクトルBoW (Bag-of-Words)n-gramTF-IDF単語埋め込み分散表現word2vecCBOWスキップグラムfastTextELMoBERTPaLMGLUE大規模言語モデル (LLM)感情分析機械翻訳統計的機械翻訳質問応答情報検索文書要約Seq2SeqCEC

本文を読んだあと、覚えているか確認してください。

前処理

形態素解析は文を意味を持つ最小単位(形態素)に分割して品詞を判定する処理で、日本語のように単語の区切りがない言語では必須です。構文解析は単語間の係り受けなど文の構造を求めます。

特徴表現

分散表現

単語を数百次元の実数ベクトルで表し、文脈が似た単語が近くなるように学習したものが分散表現(単語埋め込み)です。word2vec(2013年)は、周辺の単語から中心の単語を予測するCBOWと、中心の単語から周辺を予測するスキップグラムの2方式で学習します。「王 − 男 + 女 ≒ 女王」のようなベクトル演算が可能です。fastTextは単語を部分文字列に分けて未知語に対応し、ELMoは文脈によって単語のベクトルが変わる文脈依存の表現を実現しました。

機械翻訳の変遷

人が文法ルールを書くルールベース機械翻訳 → 対訳コーパスの統計を使う統計的機械翻訳 → Seq2SeqとAttentionによるニューラル機械翻訳 → Transformer、という順に発展しました。

事前学習モデルとLLM

BERT(2018年、Google)はTransformerのエンコーダを使い、マスクした単語を前後の文脈から当てるタスクと2文が連続するかを判定するタスクで事前学習し、GLUEなどのベンチマークで最高性能を達成しました。GLUEは複数の自然言語理解タスクをまとめた評価指標です。

大規模言語モデル(LLM)はパラメータとデータを大規模化した言語モデル(PaLMなど)で、プロンプトに指示や少数の例を与えるだけで新しいタスクをこなす文脈内学習ができます。一方で、もっともらしい誤りを生成するハルシネーションが起こるため出力の検証が必要です。

応用タスク

感情分析(文の肯定・否定の判定)、機械翻訳、質問応答、情報検索、文書要約などがあります。

試験で問われる観点

この節の練習問題(14問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    自然言語処理の前処理と特徴表現に関する記述として、最も適切なものを選びなさい。
    1. 1形態素解析は文を単語(形態素)に分割して品詞を付与する処理、BoWは単語の意味の近さをベクトルの距離で表現できる分散表現、TF-IDFはニューラルネットワークで単語の共起から学習した単語埋め込みの一種である
    2. 2形態素解析は単語の分かち書きが不要な英語では行われず日本語だけに用いる処理、BoWは文書中の単語の出現回数を並べたベクトル表現、TF-IDFは文書全体の意味を1つの数値に要約して文書間の類似度を表す指標である
    3. 3形態素解析は文を単語(形態素)に分割して品詞を付与する処理、BoWは文書中の単語の出現回数を並べたベクトル表現、TF-IDFは単語の文書内頻度と、その単語が出現する文書の少なさを掛け合わせて重要度を表す指標である
    4. 4形態素解析は文の構造を木構造として解析して係り受けを求める処理、BoWは単語の並び順を保持したまま文書をベクトル化する表現、TF-IDFは単語の文書内頻度と、その単語が出現する文書の多さを掛け合わせて重要度を表す指標である
    答えと解説

    正解: 3

    日本語のように単語が空白で区切られない言語では、形態素解析で単語に分割し品詞を付けることが最初の処理になります。BoW(Bag-of-Words)は語順を無視して単語の出現回数を数えるベクトル表現で、ワンホットベクトルを足し合わせたものと見ることができます。TF-IDFは、文書内での頻度(TF)と、多くの文書に出る一般的な単語の重みを下げる逆文書頻度(IDF)の積で、単語の重要度を表します。これらは単語の意味の近さを表現できず、それを可能にしたのが分散表現です。

  2. 問2
    word2vecの説明として、最も適切なものを選びなさい。
    1. 1単語を語彙数と同じ次元のone-hotベクトルで表し、文書中の出現回数と文書頻度の逆数を掛け合わせたTF-IDFで重みづけする手法で、単語同士の意味の近さは表現できないが、文書の特徴語を抽出するのに用いられる
    2. 2文全体を1つの固定長ベクトルに要約する手法で、エンコーダで入力文を読み込んで潜在ベクトルに圧縮し、デコーダで別の言語の文に変換するSeq2Seqの一種として機械翻訳専用に開発された。単語単位の意味の演算はできない
    3. 3単語を低次元の実数ベクトル(分散表現)に変換する手法で、中心の単語から周囲の単語を予測するCBOWと、周囲の単語から中心の単語を予測するスキップグラムの2つの学習方法がある。「王 − 男 + 女 ≈ 女王」のような意味の演算ができる
    4. 4単語を低次元の実数ベクトル(分散表現)に変換する手法で、周囲の単語から中心の単語を予測するCBOWと、中心の単語から周囲の単語を予測するスキップグラムの2つの学習方法がある。「王 − 男 + 女 ≈ 女王」のような意味の演算ができる
    答えと解説

    正解: 4

    2013年にGoogleのミコロフらが提案したword2vecは、文脈から単語を予測する課題(CBOW)または単語から文脈を予測する課題(スキップグラム)を学習する過程で、意味の近い単語が近くに配置される単語埋め込みを獲得します。得られたベクトルはワンホットより低次元で、意味の類似度や加減算による関係の表現が可能です。fastTextは単語を部分文字列に分解して未知語にも対応できるようにした発展版です。

  3. 問3
    事前学習を用いた自然言語処理モデルに関する記述として、最も適切なものを選びなさい。
    1. 1ELMoは双方向LSTMで文脈に応じて変わる単語表現を得るモデル、BERTはTransformerのエンコーダを用いてマスクした単語の予測と次文予測で事前学習し、多くの言語理解タスクでファインチューニングして高精度を出したモデルである。GLUEはそうした言語理解能力を測るベンチマークである
    2. 2ELMoは畳み込みニューラルネットワークで文字単位の特徴を抽出する文書分類モデル、BERTはエンコーダとデコーダを組み合わせた機械翻訳モデルで、対訳コーパスで事前学習し翻訳タスクにのみ利用される。GLUEは翻訳の品質をn-gramの一致率で測る評価指標である
    3. 3ELMoはTransformerのエンコーダを用いてマスクした単語の予測で事前学習するモデル、BERTは双方向LSTMで文脈に応じて変わる単語表現を得るモデルで、どちらもファインチューニングを行わずに単語ベクトルをそのまま下流タスクに与える。GLUEはそれらの学習に用いる大規模コーパスの名称である
    4. 4ELMoは単語ごとに固定の分散表現を学習するモデルで文脈による違いは表現できず、BERTはTransformerのデコーダを用いて次の単語を予測する自己回帰型の言語モデルで、文章生成に特化して事前学習される。GLUEはBERTの性能を測るためにGoogleが作成した画像と文章の対のデータセットである
    答えと解説

    正解: 1

    ELMo(2018年)は双方向LSTMを言語モデルとして事前学習し、同じ単語でも文脈によって異なる埋め込みを与えました。BERT(2018年、Google)はTransformerのエンコーダを用い、Masked Language ModelとNext Sentence Predictionで事前学習したのち、各タスクにファインチューニングする方式で、GLUEベンチマークの多くのタスクで当時の最高精度を更新しました。PaLMはGoogleの大規模言語モデル(LLM)で、GLUEはモデルではなく評価用ベンチマークです。

  4. 問4
    機械翻訳の手法の変遷として正しい順序を選びなさい。
    1. 1ルールベース機械翻訳 → ニューラル機械翻訳(Seq2Seq・Transformer) → 統計的機械翻訳
    2. 2ルールベース機械翻訳 → 統計的機械翻訳 → ニューラル機械翻訳(Seq2Seq・Transformer)
    3. 3ニューラル機械翻訳(Seq2Seq・Transformer) → 統計的機械翻訳 → ルールベース機械翻訳
    4. 4統計的機械翻訳 → ルールベース機械翻訳 → ニューラル機械翻訳(Seq2Seq・Transformer)
    答えと解説

    正解: 2

    機械翻訳は、文法規則と辞書を人手で記述するルールベースから、対訳コーパスから翻訳の確率をn-gramなどで学習する統計的機械翻訳へ、さらに2010年代半ばにSeq2Seq(エンコーダ・デコーダ)とAttention、そしてTransformerを用いるニューラル機械翻訳へと発展しました。ニューラル機械翻訳は文全体の文脈を捉えた流暢な訳を生成でき、現在の翻訳サービスの主流です。

  5. 問5
    自然言語処理の応用タスクとその内容の組み合わせとして、誤っているものを選びなさい。
    1. 1質問応答: 質問文に対して文書から答えを抽出したり生成したりする
    2. 2文書要約: 長い文書の要点を短い文章にまとめる
    3. 3情報検索: 文章を別の言語に翻訳する
    4. 4感情分析: レビューなどの文章が肯定的か否定的かを判定する
    答えと解説

    正解: 3

    情報検索は、大量の文書の中から質問や検索語に関連する文書を見つけ出すタスクで、検索エンジンがその代表です。文章を別の言語に変換するのは機械翻訳です。感情分析、質問応答、文書要約に関する記述はいずれも正しい内容です。

  6. 問6
    大規模言語モデル(LLM)に関する記述として、最も適切なものを選びなさい。
    1. 1単語のn-gramの出現回数を膨大なテキストから数え上げた統計モデルで、直前の数単語から次の単語を予測する翻訳・音声認識向けのモデルであり、指示(プロンプト)や例示による制御はできない
    2. 2Transformerを基盤に膨大な画像とテキストのペアで事前学習した数十億パラメータのモデルで、画像分類や物体検出などの視覚タスクに特化しており、テキストの生成や要約は行えない
    3. 3RNN(LSTM)を基盤に膨大なテキストで事前学習した数百万〜数千万パラメータの言語モデルで、翻訳・要約・質問応答・対話などのタスクごとに、追加のファインチューニングを行わなければ利用できない
    4. 4Transformerを基盤に膨大なテキストで事前学習した数十億〜数千億パラメータの言語モデルで、翻訳・要約・質問応答・対話など多様なタスクを、追加学習なしの指示(プロンプト)や少数の例示でこなせる
    答えと解説

    正解: 4

    LLMは、GPTシリーズやPaLMのように、Transformerを大規模なデータとパラメータで学習した言語モデルです。規模を大きくすると、明示的に学習していないタスクも指示や少数の例示(Few-shot)でこなせる能力が現れることが知られており、生成AIの中核技術になっています。単語の出現回数だけを数えるのはBoW、画像専用モデルや小規模モデルの説明はLLMではありません。

  7. 問7
    TF-IDFの考え方の説明として、最も適切なものを選びなさい。
    1. 1ある単語がその文書内に多く出現するほど(TF)、かつその単語が多くの文書に共通して現れるものではないほど(IDF)、その文書を特徴づける重要な単語として大きな重みを与える
    2. 2ある単語が多くの文書に共通して現れるほど(TF)、かつその文書内での出現回数が少ないほど(IDF)、その文書を特徴づける重要な単語として大きな重みを与える
    3. 3文書中の各単語を出現順に固定長の実数ベクトル(TF)に変換し、周囲の単語との共起(IDF)から意味の近い単語が近くなるように重みを学習する
    4. 4ある単語がその文書内に多く出現するほど(TF)、かつその単語が多くの文書に共通して現れるほど(IDF)、文書集合全体で一般的な単語として大きな重みを与える
    答えと解説

    正解: 1

    TF(単語頻度)は文書内での出現の多さ、IDF(逆文書頻度)は全文書のうちその単語を含む文書が少ないほど大きくなる値です。「の」「は」のようにどの文書にも現れる単語の重みを下げ、特定の文書に固有の単語を強調します。語順を保持するものではなく、単語埋め込みはword2vec、単語分割と品詞判定は形態素解析です。

  8. 問8
    Bag-of-Words(BoW)表現の弱点と、それを部分的に補う方法の組み合わせとして最も適切なものを選びなさい。
    1. 1弱点:文を単語に分割できないため日本語の文書には適用できない。補う方法:形態素解析の代わりに構文解析で文の係り受け構造を求めて特徴とする
    2. 2弱点:単語の出現回数だけを数えるため語順や文脈の情報が失われる。補う方法:連続するn個の単語をひとまとまりとして扱うn-gramを特徴に加える
    3. 3弱点:語順を厳密に保持するため文書の長さが違うと比較できない。補う方法:単語の出現回数だけを数えて語順の情報を捨てたベクトルに変換する
    4. 4弱点:単語の出現回数だけを数えるため語順や文脈の情報が失われる。補う方法:出現回数を文書数で割った逆文書頻度(IDF)を掛けて語順を復元する
    答えと解説

    正解: 2

    BoWは文書を「どの単語が何回出たか」のベクトルで表すため、「犬が猫を追う」と「猫が犬を追う」が同じ表現になります。連続する2語(バイグラム)や3語(トライグラム)をまとめて数えるn-gramを使うと、局所的な語順の情報を取り込めます。単語の分割は形態素解析の役割で、BoW自体は単語の分割を前提にしています。

  9. 問9
    BERTの事前学習で用いられるタスクの説明として、最も適切なものを選びなさい。
    1. 1文を先頭から順に読み、直前までの文脈から次の単語を1つずつ予測するタスクと、文の感情が肯定か否定かを判定するタスク
    2. 2文を英語から日本語に翻訳するタスクと、翻訳結果が元の文と同じ意味を保っているかを人間の評価に基づいて判定するタスク
    3. 3文中の一部の単語をマスクして隠し、前後の文脈から隠された単語を当てるタスクと、2つの文が連続しているかを判定するタスク
    4. 4画像とテキストの組を入力して対応しているかを判定するタスクと、画像の一部をマスクして隠された領域を復元するタスク
    答えと解説

    正解: 3

    BERTは、マスクされた単語を双方向の文脈から予測するMasked Language Modelと、2文が連続するかを当てるNext Sentence Predictionで大量のテキストから事前学習し、その後タスクごとにファインチューニングします。Transformerのエンコーダを用い、GLUEなど多くのベンチマークで当時の最高性能を達成しました。次の単語を順に予測するのはGPTのような自己回帰型モデルの学習方法です。

  10. 問10
    GLUEの説明として、最も適切なものを選びなさい。
    1. 1大量のテキストから単語の共起関係を学習して分散表現に変換するアルゴリズムで、単語間の意味的な類似度を計算するために用いられる
    2. 2画像認識モデルの性能を評価するために1,000クラス以上の画像を集めたデータセットで、物体検出の精度を競うコンテストで用いられる
    3. 3翻訳モデルが出力した文と参照訳との単語の一致率を測る評価指標で、機械翻訳の品質を人手を介さず自動的に比較するために用いられる
    4. 4文の含意関係、類似度、感情分析など複数の自然言語理解タスクをまとめたベンチマークで、言語モデルの汎用的な性能を比較するために用いられる
    答えと解説

    正解: 4

    GLUE(General Language Understanding Evaluation)は、言語モデルの自然言語理解能力を複数のタスクで総合的に評価するベンチマークです。BERTなどの事前学習モデルの性能比較に広く使われ、人間のスコアを超えるモデルが現れたため、より難しいSuperGLUEも作られました。分散表現の手法はword2vec、音声認識モデルとは異なります。

  11. 問11
    単語の分散表現(単語埋め込み)を用いると可能になることとして、最も適切なものを選びなさい。
    1. 1ベクトル間の距離やコサイン類似度で単語の意味的な近さを測ったり、「王 − 男 + 女 ≒ 女王」のようなベクトル演算で意味の関係を扱ったりできる
    2. 2単語を語彙数と同じ次元のベクトルで表し、単語ごとに1つの次元だけを1にすることで、ベクトルの内積から「王 − 男 + 女 ≒ 女王」のような意味の関係を計算できる
    3. 3単語の意味を人手で辞書に登録した上位語・下位語の関係でベクトル化するため、辞書に登録された単語であれば、意味の近さを木構造上の距離として正確に測れる
    4. 4文書中の各単語の出現回数を数えて文書をベクトルとして表すため、文書同士の類似度は測れるが、単語同士の意味の近さや「王 − 男 + 女」のような演算は行えない
    答えと解説

    正解: 1

    分散表現は単語を数百次元の実数ベクトルで表し、文脈が似た単語が近いベクトルになるように学習するため、類似度の計算や加減算による意味の関係の抽出ができます。すべての単語が等距離になるのはワンホットベクトルの欠点、出現回数を数えるだけなのはBoWで、これらは意味の近さを表現できません。

  12. 問12
    大規模言語モデル(LLM)の利用に関する記述として、最も適切なものを選びなさい。
    1. 1パラメータを更新するファインチューニングを行わなくても、プロンプトに指示や少数の例を与えるだけで新しいタスクをこなせることがあり、これを転移学習(transfer learning)と呼ぶ
    2. 2パラメータを更新するファインチューニングを行わなくても、プロンプトに指示や少数の例を与えるだけで新しいタスクをこなせることがあり、これを文脈内学習(in-context learning)と呼ぶ
    3. 3LLMは学習時に与えられたデータに含まれる質問にしか答えられないため、新しいタスクを扱うには推論のたびにモデルの重みをプロンプトの内容で書き換える必要があり、これを文脈内学習(in-context learning)と呼ぶ
    4. 4プロンプトに指示や少数の例を与えるだけでは新しいタスクはこなせないため、タスクごとにパラメータを更新するファインチューニングが不可欠であり、これを文脈内学習(in-context learning)と呼ぶ
    答えと解説

    正解: 2

    LLMは大量のテキストで事前学習された結果、プロンプトの指示(Zero-shot)や少数の例(Few-shot)だけで多様なタスクに対応できます。一方で、もっともらしいが誤った内容を生成するハルシネーションが起こるため出力の検証が必要です。翻訳・要約・質問応答・コード生成など幅広いタスクに使えます。

  13. 問13
    単語の表現方法に関する記述として、誤っているものを選びなさい。
    1. 1ワンホットベクトルでは、すべての単語が互いに等距離になり意味の近さを表せない
    2. 2word2vecのCBOWは、周辺の単語から中心の単語を予測して学習する
    3. 3ELMoは、文脈によって同じ単語のベクトルが変わる表現を実現した
    4. 4fastTextは単語を部分文字列に分けるため、未知語のベクトルを作れない
    答えと解説

    正解: 4

    fastTextは単語を部分文字列に分けて扱うことで、学習時に出現しなかった未知語にも対応できるようにした手法なので、この記述は誤りです。ワンホットベクトルは1つの次元だけが1のため単語どうしが等距離になり、CBOWは周辺の単語から中心の単語を予測して学習します。ELMoは文脈によって単語のベクトルが変わる文脈依存の表現を実現したモデルです。

  14. 問14
    社内の問い合わせ対応に大規模言語モデル(LLM)を試験導入したところ、規程に存在しない手続きをもっともらしく回答する例が見つかった。この現象と対応の組み合わせとして最も適切なものを選びなさい。
    1. 1ハルシネーションであり、出力を検証する仕組みを設ける
    2. 2破滅的忘却であり、以前のタスクのデータで再学習する
    3. 3モード崩壊であり、識別器の学習を強化する
    4. 4データリーケージであり、検証データを時系列で分ける
    答えと解説

    正解: 1

    LLMがもっともらしい誤りを生成する現象はハルシネーションで、出力を検証する仕組みが必要です。破滅的忘却は追加学習で以前のタスクの性能が大きく低下する現象、モード崩壊はGANが同じような画像ばかり生成する現象です。データリーケージは予測時点で得られない情報が訓練データに混入して検証精度が高く出る問題で、いずれも今回の現象にはあたりません。