人間の言葉をコンピュータで解析・理解・生成する技術
自然言語処理(NLP=Natural Language Processing)とは、人間が日常で使う言葉(自然言語)をコンピュータで解析・理解・生成する技術のことです。ここでいう「自然言語」とは、日本語や英語のように人間どうしが使う言葉のこと。プログラミング言語のような厳密な「人工言語」と区別するためにこう呼びます。
自然言語処理が難しいのは、人間の言葉があいまいだからです。
・同じ単語でも文脈で意味が変わる(「橋」と「箸」、「読む」の対象が本か空気か)
・主語が省略される(「行きます」だけで誰が行くか分からない)
・表記ゆれがある(「コンピュータ」「コンピューター」)
コンピュータはこうしたあいまいさをそのままでは扱えないため、段階を踏んで処理します。
身近な例で考えると、外国語を学ぶときの読解に似ています。まず単語に区切り、文法構造(主語・述語・目的語)を捉え、最後に文全体の意味をつかむ──この段階的な処理を機械にやらせるのが自然言語処理です。上の図の左から右への流れが、その代表的な処理パイプラインです。
自然言語処理は、生の文章を段階的に解析する「パイプライン」として理解すると整理しやすいです。パイプライン=処理を順番につなげた一連の流れのこと。上流から下流へ、だんだん深い理解へ進みます。
主な処理段階:
・① 形態素解析:文章を意味を持つ最小単位(形態素=おおむね単語)に分割し、それぞれの品詞(名詞・動詞など)を判定する。日本語は英語と違い単語の間に空白がないため、この処理が特に重要
・② 構文解析:分割した単語どうしの関係(どの語がどの語に係るか=係り受け)を解析し、文の骨組み(主語・述語・目的語)を組み立てる
・③ 意味理解(意味解析):文全体が何を表しているか、書き手の意図は何かを解釈する。文脈から単語のあいまいさを解消する
例で言うと、「私は本を読む」という文は、① 私/は/本/を/読む に分け(形態素解析)、② 「私は」が主語、「本を」が目的語、「読む」が述語と組み立て(構文解析)、③ 『話し手が本を読書している』と解釈する(意味理解)という流れで処理されます。上の図の3段階がこれに対応しています。
整理すると、「形態素解析=単語分割と品詞付与」「構文解析=係り受け・文構造の解析」という対応になります。日本語では単語の区切りが自明でないため、形態素解析が処理の出発点として重要になります。
自然言語処理は、すでに私たちの生活のあちこちで身近なサービスとして使われています。文章を「解析・理解」した結果を、さまざまな目的に活用します。
| 用途 | 内容 | 身近な例 |
|---|---|---|
| 機械翻訳 | ある言語を別の言語に変換 | 翻訳アプリ・サイト翻訳 |
| 文章要約 | 長文を短く要点だけにまとめる | ニュースの自動要約 |
| 対話・質問応答 | 質問に自然な文で回答 | チャットボット・音声アシスタント |
| 感情分析 | 文章の好意・否定を判定 | SNS・レビューの評判分析 |
| 情報検索 | 意味の近い文書を探す | 検索エンジンの精度向上 |
近年は、大規模言語モデル(LLM)の登場により、自然言語処理の精度が飛躍的に向上しました。ChatGPT や Claude などの対話サービスは、翻訳・要約・質問応答といった用途を1つのモデルでまとめてこなせるようになっています。
押さえたいポイントは、自然言語処理は「解析(入力を理解する)」と「生成(自然な文を作る)」の両方を含むということです。
・解析寄り:感情分析・情報検索・文章要約
・生成寄り:機械翻訳・対話・文章生成
どの用途も、前のカードで見た「形態素解析 → 構文解析 → 意味理解」という処理の上に成り立っている、と理解しておくと知識が整理できます。