基本 初級

自然言語処理

NLP

人間が日常で使う言葉をコンピューターに理解・生成させる技術の分野です。翻訳、要約、検索、チャットボットなどが含まれ、大規模言語モデルはその最新の到達点にあたります。

別の呼び方NLP、自然言語理解

例問い合わせメールの自動分類は自然言語処理の典型的な用途で、いまは LLM に任せる構成が増えている。

詳しく

自然言語処理(NLP:Natural Language Processing)は、日本語や英語のような、人間が普段使う言葉をコンピューターで扱う技術の分野です。プログラミング言語のように文法が厳密に決まったものと違い、自然言語は曖昧さや省略、言い回しの揺れだらけです。その曖昧さをどう扱うかが、この分野の中心的な課題でした。

何ができるのか

代表的なタスクには次のようなものがあります。

  • 機械翻訳:ある言語の文を別の言語に直す。
  • 要約:長い文章の要点を短くまとめる。
  • 分類:メールが迷惑メールかどうか、レビューが好意的か否定的かを判定する。
  • 情報抽出:文章から人名・地名・日付などを取り出す。
  • 質問応答・対話:質問に答える、会話を続ける。
  • 検索:検索語と文書の意味の近さを測る。

歴史的な流れ

初期は、人が書いた文法規則や辞書に頼る方法が中心でした。その後、大量の文章から統計的に学ぶ方法が主流になり、2010年代には単語を数値のベクトルで表す埋め込みや、ニューラルネットワークの利用が広がりました。2017年に Transformer が登場すると、翻訳や分類などのタスクごとに別々のモデルを作るのではなく、大量の文章で一度学習したモデルを使い回す流れが強まり、現在の大規模言語モデル(LLM)につながっています。

日本語ならではの難しさ

日本語は単語の区切りが空白で示されないため、まず文を単語や形態素に分ける処理(形態素解析)が長く重要でした。また、主語の省略、敬語、漢字・ひらがな・カタカナの混在なども、扱いを難しくします。LLM ではトークナイザーが文字を直接トークンに分けるため、従来のような分かち書きを意識する機会は減りましたが、日本語は英語よりトークン数が多くなりやすい点は料金や文脈長に影響します。

注意点とよくある誤解

  • LLM が登場して NLP が不要になったわけではない:評価の方法、データの整え方、検索との組み合わせなど、NLP の知見は今も使われます。
  • 「理解している」かは議論がある:LLM は自然な文章を書けますが、人間と同じ意味で理解しているのかについては、研究者の間でも見解が分かれます。
  • 小さなタスクには小さな手法で足りる:単純な分類なら、軽量なモデルのほうが速く安いこともあります。

関連する考え方

llm は NLP の現在の中心的な技術、embedding は意味を数値で表す方法、tokenizer は文章を処理しやすい単位に分ける部品です。

あわせて知りたい言葉

「基本」の言葉をすべて見る