自然言語処理NLP

コンピュータが人間の言葉を扱えるようにする技術

ポイント
  • 自然言語処理(NLP、Natural Language Processing)は、人間が使う言葉をコンピュータが扱えるようにする技術です。
  • 人間の言葉は規則がゆるく省略も多いので、コンピュータはそのまま受け取れません。扱える形に組み直す作業が先に来ます。
  • 翻訳だけを指す言葉ではありません。要約、分類、検索、対話、校正まで、すべてこの中に入ります。
  • 昔は人が文法規則を書き込んでいましたが、今は膨大な量の文章から使われ方を自分でつかむ方式が主流です。
  • 日本語は語や活用が次々に連なり主語もよく省かれるので、扱うのがいっそう難しくなります。
目次

1たとえで理解する

国際会議場の奥にはガラスで仕切られた通訳ブースがあります。片方の耳に入った言葉が、このブースを通って別の言語で出てきます。ブースがしていることは音を大きくすることではありません。文を区切り、何を指す言葉かを見極め、聞く側がわかる形に組み直すことです。

自然言語処理がこのブースです。人間が使う言葉は規則がゆるく、抜け落ちた部分が多いのでコンピュータはそのまま飲み込めません。ブースの中で文を扱える単位に区切り、単語どうしの関係を付け、計算できる形に変えます。翻訳だけが出てくるブースではありません。要約も、分類も、検索も、応答も、このブースを通って出てきます。

2くわしく

人間の言葉はなぜ難しいか

コンピュータが扱いやすい言葉は、規則にすき間のない言葉です。記号一つが意味一つにきっちり結びつき、順序も決まっています。人間が使う言葉はその正反対です。同じ単語が場面によって違う意味になり、わかりきった部分は丸ごと省かれ、話す側と聞く側が知っている事情に頼って意味が埋められます。

「かみをきる」という文一つを見ても、髪を切るのか紙を切るのか決まりません。人は前後の話の流れですぐにどちらかを判断しますが、文だけを見れば決める根拠がありません。こうした分かれ道は、人間の言葉には文ごとに何個も隠れています。自然言語処理は、この分かれ道を前後の文脈で絞り込んでいく作業です。

ブースの中で行われる段階

伝統的な方式では、作業をいくつもの段階に分けます。まず文を扱える単位に区切ります。次に各単位が名詞なのか動詞なのか、どんな活用形が付いているかを見極めます。そして、どの単語がどの単語を修飾しているか関係をつなげます。最後に、その結果をもとに翻訳でも分類でも目的に合う仕事をします。

各段階は前の段階の結果の上に成り立っています。区切る場所を間違えると、後ろの段階が全部ずれてしまいます。今ではこれらの段階を一つの大きなモデルがまとめて処理することが多くなりましたが、内部で起きていることの性質は大きく変わりません。

規則表から例の山へ

初期には、人が文法規則を手で書き込んでいました。問題は、人間の言葉が規則どおりに動かないことでした。例外を防ごうと規則を一つ足すと、別の場所が崩れることが繰り返されました。

その次に登場した方式は、規則の代わりに統計を使うものでした。実際に使われた文章をたくさん集め、ある言葉の後にどんな言葉がどれくらいの頻度で来るかを数えました。文法に合うかどうかではなく、人々が実際にそう使うかどうかを基準にしたのです。

今はさらに進んで、膨大な量の文章を読み込みながら単語どうしの関係を自分でつかんだモデルが、複数の仕事を一度に引き受けています。ブースを仕事ごとに別々に建てる代わりに、広いブースを一つ建てて、そのつど違う注文を受ける形に変わりました。

今どこに使われているか

検索窓に文を入れたとき意味の近い文書を探してくれる仕事、長い文書を数行に縮めてくれる仕事、レビューが称賛か不満かを自動で見分ける仕事は、すべて自然言語処理です。問い合わせを種類ごとに振り分けて担当者へ回す仕事も、誤字脱字を直す仕事もここに含まれます。

音声アシスタントのように話し声を扱う機能でも、音を文字に変えたあとはこの分野が引き継ぎます。何を頼まれたのかをつかみ、必要な機能へつなげる部分がブースの受け持ちです。

日本語だからこそ厄介な点

日本語は単語のあとに助詞や助動詞が次々に連なります。同じ語幹から生まれる活用形が何十通りもあるので、単語を数えることからして単純ではありません。さらに文の中に単語と単語を区切る空白がないため、どこからどこまでが一つの単語かを見極める作業が、そもそもの出発点として欠かせません。

主語を省く習慣も難しさを増やします。「昨日行きました」という文には、誰が行ったのかがありません。人は会話の流れから埋めますが、ブースはその情報をどこかから引っ張ってこなければなりません。同じ言葉が漢字・ひらがな・カタカナのどれで書かれるかが揺れる点も、あわせて扱う必要のある部分です。

3もう少し正確に

自然言語処理は、人間の言葉を扱う技術全体を指す大きな名前です。中には文を単位に区切る作業、単語の品詞や活用形を付ける作業、文の構造を分析する作業といった基礎作業と、翻訳、要約、質問応答といった応用がともに含まれています。日本語のように活用が次々に連なる言語では、単語への区切り方を見極める作業が長らく基礎工事の役割を担ってきました。

たとえがずれる場所もあります。通訳者は言葉の意味を理解してから訳しますが、今の自然言語処理は、膨大な量の文章で見た並び方をたどるやり方にずっと近いものです。文はなめらかなのに内容が事実とずれることが起きるのはこのためです。通訳者なら聞き取れなかったとき聞き返しますが、ブースは根拠が乏しい場面でも止まらずそれらしい文を出し続けます。ブースがなめらかに動いているという事実と、訳された内容が正しいという事実は、別々に確かめる必要があります。

4やってみる

5よくある誤解

  • 自然言語処理は翻訳の技術だと思われがちですが、実際には翻訳はいくつもある枝の一つで、要約、分類、検索、対話まで幅ははるかに広いです。

  • 文を理解したうえで答えていると見なされがちですが、実際には学習した文章で見た続き方をたどるほうに近く、文のなめらかさと内容の正しさは別々に確かめる必要があります。

  • 区切りと表記さえ整えればコンピュータが理解すると見られがちですが、実際には一つの文が複数の意味に分かれる場面が多く、前後の文脈がなければどちらかを決められません。

7ひとこと要約

つまり自然言語処理は、ゆるく省略の多い人間の言葉をコンピュータが扱える形に組み直すブースで、翻訳から要約や検索まで、すべてここから出てきます。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02