基本 初級
自然言語処理
NLP
人間が日常で使う言葉をコンピューターに理解・生成させる技術の分野です。翻訳、要約、検索、チャットボットなどが含まれ、大規模言語モデルはその最新の到達点にあたります。
別の呼び方NLP、自然言語理解
例問い合わせメールの自動分類は自然言語処理の典型的な用途で、いまは LLM に任せる構成が増えている。
詳しく
自然言語処理(NLP:Natural Language Processing)は、日本語や英語のような、人間が普段使う言葉をコンピューターで扱う技術の分野です。プログラミング言語のように文法が厳密に決まったものと違い、自然言語は曖昧さや省略、言い回しの揺れだらけです。その曖昧さをどう扱うかが、この分野の中心的な課題でした。
何ができるのか
代表的なタスクには次のようなものがあります。
- 機械翻訳:ある言語の文を別の言語に直す。
- 要約:長い文章の要点を短くまとめる。
- 分類:メールが迷惑メールかどうか、レビューが好意的か否定的かを判定する。
- 情報抽出:文章から人名・地名・日付などを取り出す。
- 質問応答・対話:質問に答える、会話を続ける。
- 検索:検索語と文書の意味の近さを測る。
歴史的な流れ
初期は、人が書いた文法規則や辞書に頼る方法が中心でした。その後、大量の文章から統計的に学ぶ方法が主流になり、2010年代には単語を数値のベクトルで表す埋め込みや、ニューラルネットワークの利用が広がりました。2017年に Transformer が登場すると、翻訳や分類などのタスクごとに別々のモデルを作るのではなく、大量の文章で一度学習したモデルを使い回す流れが強まり、現在の大規模言語モデル(LLM)につながっています。
日本語ならではの難しさ
日本語は単語の区切りが空白で示されないため、まず文を単語や形態素に分ける処理(形態素解析)が長く重要でした。また、主語の省略、敬語、漢字・ひらがな・カタカナの混在なども、扱いを難しくします。LLM ではトークナイザーが文字を直接トークンに分けるため、従来のような分かち書きを意識する機会は減りましたが、日本語は英語よりトークン数が多くなりやすい点は料金や文脈長に影響します。
注意点とよくある誤解
- LLM が登場して NLP が不要になったわけではない:評価の方法、データの整え方、検索との組み合わせなど、NLP の知見は今も使われます。
- 「理解している」かは議論がある:LLM は自然な文章を書けますが、人間と同じ意味で理解しているのかについては、研究者の間でも見解が分かれます。
- 小さなタスクには小さな手法で足りる:単純な分類なら、軽量なモデルのほうが速く安いこともあります。
関連する考え方
llm は NLP の現在の中心的な技術、embedding は意味を数値で表す方法、tokenizer は文章を処理しやすい単位に分ける部品です。
あわせて知りたい言葉
- 大規模言語モデル大量のテキストで学習し、文章の続きを予測することで、生成・要約・翻訳・質問応答などをこなすモデルです。ChatGPT、Claude、Gemini などのサービスの中核にあります。
- Transformer2017年の論文「Attention Is All You Need」で提案されたニューラルネットワークの構造です。現在の LLM の大半がこの構造を土台にしており、画像や音声の生成にも広く使われています。
- 埋め込み文章や画像などを、意味の近さが距離として表れる数値の並び(ベクトル)に変換したものです。言葉が違っても意味の近い文書を探す検索や、分類、RAG の土台に使われます。
- トークナイザー文章を、モデルが扱う最小単位であるトークンに分割し、番号に変換する部品です。モデルごとに分け方が違うため、同じ日本語でもトークン数や料金が変わることがあります。
- 機械学習人がルールを一つずつ書く代わりに、大量のデータからコンピューターが規則性を見つけ出し、予測や分類をできるようにする技術です。AI を実現する中心的な手法の一つです。