自然言語処理の応用タスク:翻訳・要約・検索・質問応答
言語モデルを土台にした、身近な言語の仕事を学びます。基礎層では、機械翻訳・感情分析・情報検索・質問応答・文書要約が、それぞれ何をするのかの全体像をつかみます。深掘り層では、統計的機械翻訳のしくみ、意味で探すベクトル検索、検索拡張生成(RAG)と幻覚、要約や翻訳の自動評価指標(ROUGE・BLEU・BERTScore)まで掘り下げ、LLM エージェントなどの発展も説明できるようになります。
ねらい
このレッスンでは、言語モデルを土台にした、身近な言語の仕事を学びます。
基礎
機械翻訳・感情分析・情報検索・質問応答・文書要約が、それぞれ何をするのかの全体像をつかみます。前提となる知識がなくても、ここは読み切れます。
1. 自然言語処理が支える、身近な仕事たち
外国語のサイトをボタン1つで母国語に読みかえる。レビューが良い評価か悪い評価かを自動でまとめる。検索窓に質問を打つと答えそのものが返ってくる。長い記事を要点だけに縮める。どれも、コンピュータが言葉をあつかう仕事です。こうした仕事をまとめて自然言語処理(しぜんげんごしょり、Natural Language Processing)と呼びます。頭文字をとって NLP(エヌエルピー)ともいいます。前のレッスンで学んだ言語モデルが、その多くを支えています。
自然言語処理には、代表的な仕事がいくつもあります。まず、名前と役割だけを見わたしておきましょう。
| 仕事 | 何をするか | 身近な例 |
|---|---|---|
| 機械翻訳 | ある言語の文を別の言語に直す | 外国語サイトの翻訳 |
| 感情分析 | 文が良い評価か悪い評価かを判定する | レビューの好評・不評の集計 |
| 情報検索 | 大量の文書から、求める文書を探す | 検索エンジン |
| 質問応答 | 質問に対して、答えそのものを返す | 対話サービスへの問い合わせ |
| 文書要約 | 長い文章を要点だけに縮める | 記事の要約表示 |
どれも、言葉の意味を読み取り、目的に合わせて役立てる仕事です。この5つをこれから1つずつ見ていきます。
2. 機械翻訳:規則を書く方式から、データで学ぶ方式へ
機械翻訳(きかいほんやく)とは、ある言語の文を別の言語の文に直すことです。自然言語処理の中でも、古くから研究されてきた仕事です。
初期の機械翻訳は、人が文法の規則と辞書を作りこむ方式でした。この方式は、人工知能の歴史のレッスンでルールベース機械翻訳として学びました。しかし、言語の規則は複雑で、人手で作りこむには限界がありました。
そこで登場したのが、大量の対訳データから翻訳の傾向を学ぶ方式です。この方式を統計的機械翻訳(とうけいてききかいほんやく)と呼びます。人が規則を1つずつ書くのではなく、対訳の例からデータで学びます。さらに近年は、ニューラルネットワークを使う方式が主流になりました。機械翻訳は、規則を書く方式から、データで学ぶ方式へと移ってきたのです。
3. 読み取って役立てる:感情分析・情報検索・質問応答・文書要約
残りの4つの仕事も、何をするのかをつかんでおきましょう。
感情分析(かんじょうぶんせき)は、文が良い評価か悪い評価かといった、書き手の気持ちの向きを判定する仕事です。商品レビューを好評と不評に自動でふり分ける使い方が代表例です。
情報検索(じょうほうけんさく)は、大量の文書の中から、求めているものに合う文書を探し出す仕事です。検索エンジンが、その代表です。
質問応答(しつもんおうとう)は、質問に対して、答えそのものを返す仕事です。単に関係しそうな文書を並べるのではなく、答えを返す点がちがいます。
文書要約(ぶんしょようやく)は、長い文章を要点だけに縮めて短くする仕事です。長い記事の内容を短時間でつかめるようにします。
ここまでの要点
- 自然言語処理には、機械翻訳・感情分析・情報検索・質問応答・文書要約といった代表的な仕事があります。
- どれも言葉の意味を読み取り、目的に合わせて役立てます。機械翻訳は、規則を書く方式からデータで学ぶ方式へ移りました。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「自然言語処理には代表的な仕事があり、言語モデルがそれを支える」と押さえられていれば、このテーマの土台はできています。
発展
ここからは、それぞれの仕事のしくみと、成果をどう測るのかをくわしく見ます。検索の距離や評価指標など、数式も少し使います。
4. 機械翻訳の系譜と、統計的機械翻訳のしくみ
機械翻訳の方式は、大きく3つの世代で移り変わってきました。
初めの世代は、ルールベース機械翻訳でした。文法規則と辞書を人が作りこみます。ていねいに作れば質は上がりますが、言語のあらゆる例外を規則にするのは困難でした。
次の世代が、統計的機械翻訳です。大量の対訳データから、「この語句は、あの語句に訳されやすい」という対応の起こりやすさを確率として学びます。原文の語句と訳文の語句を対応づける作業を単語アライメントと呼びます。人が規則を書くのではなく、対訳データの統計が翻訳の手がかりになります。
今の主流は、ニューラルネットワークを使うニューラル機械翻訳です。入力の文を読み取って別の文へ変換する Seq2Seq(シーケンストゥシーケンス)や、離れた言葉の関係を直接とらえる Attention(アテンション)が土台になっています。Seq2Seq と Attention のしくみは、要素技術の章で学びました。文全体の意味をとらえて訳すため、統計的機械翻訳より自然な訳が得られやすくなりました。
5. 感情分析:文に表れた気持ちを判定する
感情分析は、文に表れた書き手の気持ちを判定する仕事です。もっとも基本的な形は、文を良い評価と悪い評価の2つに分ける分類です。この良い悪いの向きを極性(きょくせい)と呼びます。
判定は、良い評価と悪い評価の例文を大量に学んで行います。「最高」「使いやすい」のような語が良い評価に、「最悪」「壊れやすい」のような語が悪い評価に結びつきやすいことを学びます。前後の文脈まで読み取れる言語モデルを使うと、「悪くない」のような打ち消しの表現も、うまくとらえられます。
感情分析は、商品レビューの集計や、評判の把握に広く使われます。なお、声の調子から気持ちを読み取る音声からの感情分析もあり、そちらは音声認識のレッスンで触れます。
6. 情報検索と、意味で探すベクトル検索
情報検索は、大量の文書から、求めるものに合う文書を探す仕事です。昔ながらの方法は、文書に含まれる語をそのまま照らし合わせる、語の一致にもとづく検索でした。ただし、この方法は言いかえに弱いという弱点があります。「医者」で探すと、「医師」としか書かれていない文書を見のがすことがあります。
この弱点を補うのが、意味で探す検索です。文や文書を意味を表すベクトルに変換しておき、質問のベクトルに近い文書を探します。ベクトルどうしの近さは、向きの近さで測ります。向きの近さを表す指標に、コサイン類似度があります。コサイン類似度のしくみは、数理のレッスンで学びます。ここでは、意味の近いものほどベクトルが近い、と押さえてください。
大量のベクトルの中から近いものを探すとき、すべてを厳密に調べると時間がかかります。そこで、多少の見のがしを許して高速に近いものを探す、近似最近傍探索(きんじさいきんぼうたんさく)という考え方を使います。近いベクトルをすばやく見つけるための、探し方の工夫です。ここでは考え方だけを扱い、具体的な道具の使い方には立ち入りません。
7. 質問応答と検索拡張生成(RAG)、そして幻覚
質問応答には、大きく2つのやり方があります。1つは、モデルが学習の中で覚えた知識だけで答える、クローズドブックのやり方です。もう1つは、外部の文書を参照しながら答える、オープンブックのやり方です。試験にたとえると、教科書を閉じて解くか、開いて解くかのちがいです。
オープンブックの代表的なしくみが、検索拡張生成(けんさくかくちょうせいせい、Retrieval-Augmented Generation)です。頭文字をとって RAG(ラグ)と呼ばれます。RAG は、まず質問に関係する文書を検索で集め、その文書を手がかりにして、言語モデルに答えを作らせるしくみです。集めた文書という根拠に沿って答えるため、モデルが覚えていない新しい情報にも対応しやすくなります。検索には、第6節で見た意味で探すベクトル検索がよく使われます。
RAG が重視される背景には、幻覚(げんかく、hallucination)という問題があります。幻覚とは、言語モデルが、事実でない内容をもっともらしく言い切ってしまう現象です。次の言葉を予測するしくみは、正しさよりも、もっともらしさを優先することがあるためです。RAG のように根拠となる文書を与えると、幻覚をおさえやすくなります。
注意
言語モデルは、事実でない内容ももっともらしく述べることがあります。この現象を幻覚と呼び、根拠となる文書を参照させる RAG などで対策します。
8. 文書要約と、生成した文をどう評価するか
文書要約には、大きく2つの型があります。原文から重要な文をそのまま抜き出す抽出型と、内容を読み取って新しく言い直す抽象型です。抽象型のほうが自然にまとめられますが、幻覚が起こる余地もあります。
翻訳や要約のように文を生成する仕事は、成果を人手だけで測るのは大変です。そこで、自動で点数をつける評価指標が使われます。
自動評価指標のねらいは、モデルが作った文が、人が用意したお手本の文にどれだけ近いかを数で表すことです。翻訳でよく使われるのが BLEU(ブルー、Bilingual Evaluation Understudy)です。BLEU は、生成文とお手本の文で、連なる語句がどれだけ一致するかを見ます。要約でよく使われるのが ROUGE(ルージュ、Recall-Oriented Understudy for Gisting Evaluation)です。ROUGE は、お手本の文に含まれる語句を生成文がどれだけ取りこぼさずに拾えたかを見ます。式で書くと、2つは割り算の分母が入れかわった関係になります。
BLEU = お手本にも現れた語句の数 ÷ 生成文の語句の数 ROUGE = 生成文が拾えた語句の数 ÷ お手本の語句の数
読み下すと、BLEU は生成文を分母に置くので、余計なことを言っていないかを見ます。ROUGE はお手本を分母に置くので、言うべきことを落としていないかを見ます。翻訳では余計な語を足さないことが、要約では要点を落とさないことが大事なので、それぞれに向いた指標が使われます。
これらは語句の一致を数える方法のため、言いかえに弱いという弱点があります。同じ意味でも語がちがえば、低い点になりがちです。そこで、意味のベクトルどうしの近さで測る BERTScore(バートスコア)も使われます。BERTScore は、語句そのものの一致ではなく、意味の近さで採点しようとします。
9. 生成する文の選び方:ビームサーチとサンプリング
言語モデルは、次の言葉の確率を出します。そこから実際の1語を選ぶやり方で、生成される文が変わります。
いつも確率のいちばん高い言葉を選ぶと、無難ですが単調な文になりがちです。少し先まで見わたして、全体としてもっともらしい並びを選ぶ工夫が、ビームサーチ(beam search)です。有力な候補をいくつか残しながら、先を見て選びます。
一方、確率に応じてくじを引くように言葉を選ぶやり方をサンプリングと呼びます。同じ問いかけでも、毎回ちがう文が出て、多様な表現になります。翻訳のように正解が定まる仕事ではビームサーチが、雑談のように多様さがほしい仕事ではサンプリングが向きます。
10. 固有表現認識・文埋め込み・LLM エージェント
ここからは、現行の技術に触れます。自然言語処理の応用を理解するのに役立ちます。
文の中から、人名・地名・日付といった特定の種類の語句を見つけ出す仕事を固有表現認識(こゆうひょうげんにんしき)と呼びます。1語ずつに「これは人名」「これは地名」といった札をつけていく、系列ラベリングという枠組みでとらえられます。前後の札のつながりやすさまで考える工夫として、条件付き確率場(じょうけんつきかくりつば、CRF)が使われてきました。
文全体を1つのベクトルで表す文埋め込みも、検索や質問応答の土台として重要です。意味の近い文どうしを近くに、遠い文どうしを遠くに置くよう学ばせます。似たものを近づけ、異なるものを遠ざける学び方を対照学習(たいしょうがくしゅう)と呼びます。この学び方の損失は、誤差関数のレッスンで Contrastive Loss として学びました。同じ文にわずかな揺らぎを加えたものを手がかりに文埋め込みを学ぶ、SimCSE(シムシーエス)という工夫も知られています。
近年は、言語モデルに道具を使わせ、複数の手順を自分で進めさせる LLM エージェント(エルエルエムエージェント)も広がっています。検索や計算といった外部の道具を呼び出しながら、目的に向けて段階的に作業します。検索と組み合わせて手順を自律的に進める RAG は、Agentic RAG(エージェンティックラグ)と呼ばれます。こうしたふるまいは、問いかけの与え方を工夫するプロンプト設計とも深く関わります。これらは入れ替わりが速い分野のため、手法の考え方をつかんでおくことが役立ちます。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。