用語集

自然言語処理(NLP)

自然言語処理(NLP)の概念、テクニック、チャットボット、感情分析、機械翻訳などのアプリケーションを発見する。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

自然言語処理(NLP)は、人工知能(AI)および機械学習(ML)の中のダイナミックな分野であり、人間の言語(テキストと音声の両方)をコンピュータが理解、処理、解釈、生成できるようにすることを目的としています。計算言語学の原理と統計モデリング、ML、ディープラーニング(DL)モデルを組み合わせ、人間のコミュニケーションとコンピュータの理解のギャップを埋める。最終的な目標は、機械が有意義かつ有用な方法で言語と対話し、従来は人間の言語能力を必要としていたタスクを自動化できるようにすることである。

NLPの主要概念

NLPには、言語の複雑さを機械が分析し、作用できるような構成要素に分解するいくつかの中核作業が含まれる:

  • トークン化テキストを単語やサブワード(トークン)などの小さな単位に分解する最初のステップ。
  • 名前付き固有表現認識(NER)人名、組織名、場所、日付、金額など、テキスト中の重要なエンティティを識別し、分類すること。
  • センチメント分析テキストの一部で表現された感情的なトーンや主観的な意見(肯定的、否定的、中立的など)を判断すること。
  • 機械翻訳 Google 翻訳などのツールに見られるように、テキストや音声をある言語から別の言語に自動的に翻訳すること。
  • 言語モデリングテキスト生成や音声認識などのタスクに不可欠な、一連の単語の確率を予測するモデルの構築。

NLPのしくみ

自然言語処理システムは通常、パイプライン・アプローチを採用している。生のテキストデータはまずデータの前処理を受ける。これには、テキストのクリーニング(無関係な文字やフォーマットの削除)、トークン化、場合によっては正規化(単語を基本形に変換)などのタスクが含まれる。前処理に続いて、タスクに関連する特徴が抽出される。これらの特徴は、分析または生成のために、MLまたはDLモデルに入力される。

現代のNLPは、ニューラル・ネットワーク(NN)、特にシーケンシャル・データ用のリカレント・ニューラル・ネットワーク(RNN)のような洗練されたアーキテクチャ、そして最近ではトランスフォーマーに大きく依存している。Transformerは、その強力な注意メカニズムによって特徴付けられ、言語内の長距離依存関係や文脈を捉えるのに非常に効果的であることが証明されている。このアーキテクチャは、BERTや GPT-4のようなGPTモデルの亜種を含む、多くの最先端モデルを支えている。ACL Anthologyのような研究プラットフォームでは、これらの進歩を詳述した数多くの論文が掲載されています。

NLPの応用

NLPは、業界を変革し、日常的なやり取りを向上させる膨大な数のアプリケーションに力を与えている。以下はその顕著な例である:

  1. バーチャルアシスタントと チャットボット アップルのSiriや アマゾンのAlexaのようなシステムは、無数のカスタマーサービス・チャットボットとともに、NLPを広範囲に使用している。音声認識を使って話し言葉をテキストに変換し、自然言語理解(NLU)を使ってユーザーの意図を把握し、時にはテキストを生成して応答を作成します。
  2. 電子メールスパムフィルタリング:NLP技術は、スパムやフィッシングに特徴的なパターンを識別するために電子メールのコンテンツを分析します。アルゴリズムは、キーワード、送信者のレピュテーション、言語構造に基づいてメールを分類し、受信トレイをクリーンで安全な状態に保ちます。

その他の一般的な用途としては、長い文書を要約するためのテキスト要約、単純なキーワードマッチングを超えてクエリの意味を理解するセマンティック検索エンジン、Grammarlyのような文法/文体修正ツールなどがある。革新的なAIの使用例の多くは、NLPに大きく依存している。

NLPと関連概念

関連はあるが、NLPはいくつかの類似の用語とは異なる:

  • 自然言語理解(NLU)NLUはNLPのサブセットで、特に言語から意味、意図、文脈を抽出するという理解面に焦点を当てている。NLPはより幅広く、テキスト生成や音声合成などのタスクも含む。
  • テキスト生成これは、人間のようなテキストを生成することに焦点を当てた、NLPの特定の機能またはタスクです。多くのNLPアプリケーション(チャットボットや翻訳など)の中核的な部分ですが、NLPの理解や分析の側面をカバーするものではありません。
  • コンピュータビジョン(CV)CVは、画像やビデオのような視覚的入力から情報を解釈し理解することを扱い、物体検出や 画像分割のようなタスクに重点を置く。NLPは逆に、言語データに焦点を当てている。しかし、この2つの分野は、テキストと画像の両方を処理するマルチモーダルモデルにおいてますます交わりつつあり、自動画像キャプション付けのようなアプリケーションを可能にしています。NLPとCVの橋渡しについては、こちらをご覧ください。Ultralytics CVに特化し、以下のようなモデルを提供しています。 Ultralytics YOLO11のようなモデルを提供しています。

ツールとプラットフォーム

NLPアプリケーションの開発と展開には、多くの場合、特殊なライブラリやプラットフォームの活用が必要になる:

  • ライブラリ: spaCyや NLTKのようなオープンソースのライブラリは、トークン化、構文解析、エンティティ認識のような一般的なNLPタスクのためのツールを提供する。
  • プラットフォームHugging Faceは、事前訓練されたモデル(特にTransformers)、データセット、および開発を大幅に加速するツールの膨大なリポジトリを提供します。NLPまたはCV-NLPパイプラインで使用されるものを含む、MLモデルのエンドツーエンドのライフサイクルを管理するために、Ultralytics HUBのようなプラットフォームは、トレーニング、デプロイメント、およびモニタリングを合理化する、堅牢なMLOps機能を提供します。モデルの開発とデプロイメントに関する詳しいリソースについては、Ultralytics ドキュメントをご覧ください。
すべて読む