Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Natural Language Processing (NLP)

自然言語処理(NLP)は、トークンからLLMまで、人間の言語をコンピューターが分析、理解、生成できるようにするAI分野です。

自然言語処理(NLP)は、コンピューターがテキストや音声による人間の言語を分析、理解、生成できるようにする人工知能(AI)の分野です。タスクは文章中の名前の特定から、本の翻訳や会話まで多岐にわたり、計算言語学と機械学習、ディープラーニングを組み合わせています。ウェブ検索、スパムフィルター、音声アシスタント、スマートフォンのキーボード候補、大規模言語モデル(LLM)を基盤とするチャットボットは、いずれもNLPを利用しています。

ルールベースから大規模言語モデルへ#

1954年のジョージタウン大学とIBMによる実験では、250語の語彙と6つの文法規則を使い、ロシア語の文章を60文以上英語に翻訳しました。Joseph WeizenbaumのELIZA(1966)は、キーワードと定型応答を照合し、心理療法士を模倣しました。手書きのルールでは実際のテキストの曖昧さや多様性に対応できなかったため、1980年代後半からは、注釈付きテキストから確率を学習する統計的NLPが使われるようになりました。隠れマルコフモデルは品詞をタグ付けし、統計的機械翻訳は何百万もの翻訳済み文ペアから学習しました。

2010年代にはニューラルネットワークが主流になりました。Word2vec(2013)は、関連する単語を近くに配置する埋め込みを学習し、リカレントニューラルネットワーク(RNN)は文を1語ずつ読み取りました。トランスフォーマー(2017)は、再帰処理をセルフアテンションに置き換え、すべての単語を並列に相互に関連付けました。BERTやGPTなどの事前学習済みトランスフォーマーは、ラベルなしテキストから言語を学習するため、各タスクで必要なラベル付きデータセットは少量で済みました。2022年11月のChatGPT公開以降、LLMは文章による指示だけで多くのNLPタスクを処理しています。

NLPシステムによるテキストの表現方法#

最新のNLPシステムは、まずテキストを、単語全体またはトークン化によって得られるサブワード単位に分割し、各トークンを埋め込みベクトルに変換します。通常はトランスフォーマーであるニューラルネットワークが、その系列を、各トークンのベクトルに周囲の情報を反映した文脈ベクトルに変換します。タスク固有の出力は、テキスト全体に対する1つのラベル、各トークンに対するタグ、回答範囲の開始位置と終了位置、または新たに生成されたトークンを読み取ります。意味はベクトルに表現されるため、異なる単語を使う文でもベクトル空間上で近くに配置されることがあります。all-MiniLM-L6-v2文エンコーダーはその例です。

from sentence_transformers import SentenceTransformer

# A small sentence encoder maps each text to a 384-dimensional vector
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

query = "How do I reset my password?"
candidates = ["I forgot my login credentials", "How do I reset my router?"]

# Encode all texts, then compare the query with each candidate by cosine similarity
embeddings = model.encode([query, *candidates])
scores = model.similarity(embeddings[0], embeddings[1:])[0]

for text, score in zip(candidates, scores):
    print(f"{score:.2f}  {text}")

言い換えの「ログイン情報を忘れました」は質問とのスコアが0.68ですが、質問の6語のうち5語を繰り返す「ルーターをリセットするにはどうすればよいですか?」のスコアは0.53です。セマンティック検索と検索拡張生成(RAG)の検索段階では、同じ比較によって文書を順位付けします。

代表的なNLPタスク#

  • 感情分析: レビュー、投稿、アンケート回答に含まれる意見を、ポジティブ、ネガティブ、中立に分類します。
  • 固有表現認識(NER): 人物、組織、場所、日付の各言及にタグを付けます。
  • 質問応答: 文書の一覧ではなく、質問への回答を返します。
  • テキスト要約: 文書の要点を保ちながら、より短いテキストにまとめます。
  • テキスト生成: トークンを1つずつ新たなテキストを生成します。チャットボットやコーディングアシスタントの基盤となるタスクです。

コンピュータービジョンにおけるNLP#

人は言語を使ってコンピュータービジョンモデルに何を探すかを指示します。また、NLPとビジョンの組み合わせにより、画像について読み書きするモデルが生まれました。視覚言語モデル(VLM)は写真について質問に答えたり、画像キャプションを書いたりします。CLIPは、4億組の画像とキャプションから、画像とテキストの共通埋め込み空間を学習しました。オープンボキャブラリー検出器は、クラス一覧をテキストとして受け取ります。Ultralytics YOLOE-26モデルでset_classes(["double-decker bus", "person"])を呼び出すと、各クラス名がCLIPトークナイザーでトークン化され、AppleのMobileCLIP2テキストエンコーダーでエンコードされます。検出器はそのテキスト埋め込みを画像領域と照合し、学習時に一度も見ていないカテゴリを検出・セグメンテーションします。

  • 自然言語理解(NLU): ユーザーの意図や代名詞の指示対象など、意味の理解に関わるNLPの分野です。テキストを生成する自然言語生成(NLG)が、もう1つの主な分野です。
  • 大規模言語モデル: 数十億のパラメーターを持ち、プロンプトによって多くのNLPタスクを実行するトランスフォーマー言語モデルです。1つのタスクに特化して学習した小規模モデルよりも、リクエストあたりのコストが高くなります。
  • 音声認識: 音声をテキストに変換し、そのテキストをNLPモデルが解釈します。
  • 光学文字認識(OCR): 印刷または手書きのテキスト画像を文字に変換します。スキャンした文書をNLPで読み取る前に行う最初の処理です。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう