Skip to main content

自然言語処理を知る

学習の目的

この単元を完了すると、次のことができるようになります。

  • 自然言語処理について説明する。
  • 自然言語処理の日常の用途について説明する。
  • 1950 年代からどのように進化してきたかを説明する。
  • 自然言語処理、自然言語理解、自然言語生成を区別する。

始める前に

このバッジには、ニューラルネットワークや深層学習など、「人工知能の基本」バッジと「生成 AI の基本」バッジで詳しく説明されている用語が含まれています。事前にそれらのバッジを獲得することをお勧めします。

自然言語処理とは?

自然言語処理 (NLP) とは、人工知能 (AI) の 1 分野であり、コンピューターサイエンスと言語学を組み合わせて、人間の言語を理解して解釈し、人間にとって意味があり有益であるように人間の言語を生成するものです。

NLP を活用することで、コンピューターは、文の意味を理解する、テキスト内の重要な情報を認識する、言語を翻訳する、質問に答える、テキストを要約する、人間の応答に似た応答を生成するといった、役に立つ作業を実行できます。

NLP はすでに私たちの日常生活に普及しているため、私たちは NLP とやり取りしたり、NLP を利用したりしてもそれについて考えることもありません。たとえば、あなたのメールアプリケーションやドキュメント作成アプリケーションでは、次に使用できる単語の候補が自動的に表示されるかもしれません。または、あなたは Siri などのバーチャルアシスタントに火曜日に植物に水をやることを思い出させてくれるように頼むかもしれません。あるいは、娘の理科のプロジェクトのために Alexa にチリの最後の大地震について詳細を教えてくれるように頼むかもしれません。

あなたが会社のカスタマーサービスに連絡したときにやり取りするチャットボットには NLP が使用されており、別の国で食事を注文するときに使用する翻訳アプリケーションも同様です。スパム検出やオンラインニュースの好み、その他さまざまなものに NLP は利用されています。

NLP の歴史の概要

NLP は新しいものではありません。実際、そのルーツは 1950 年代に研究者が人間の言語の理解と生成にコンピューターを使用し始めたときまでさかのぼります。NLP に最初に大きく寄与したのはチューリングテストです。Alan Turing によって開発されたこのテストでは、機械があらゆる質問に対して、人間と区別できないほどに答えられる能力を測定します。それからまもなく、最初の翻訳システムが開発されました。それは文やフレーズに基づく言語翻訳実験で、事前定義されたフレーズや文など、言語のごく特定のパターンに依存したものであったため、あまり大きく進歩しませんでした。

コンピューターサイエンティストが操作している 1950 年代のメインフレームスタイルのコンピューター。

1960 年代には、研究者はルールベースのシステムの実験を行っており、ユーザーはコンピューターに作業の実行を指示したり、会話を行うことができました。

1970 年代、80 年代には、言語学的ルール、ルールベース推論、タスク (コマンドの実行や病状の診断など) に関する専門知識を使用する、知識ベースのより高度なアプローチが登場しました。

NLP に対する統計的アプローチ (データからの学習など) は 1990 年代と 2000 年代初頭に人気があり、音声認識、機械翻訳、機械アルゴリズムの進歩につながりました。この期間中の 1993 年に World Wide Web が登場したことにより、NLP の研究に大量のテキストベースのデータが使用できるようになりました。

積み上げられた書類と本。

2009 年ごろからは、ニューラルネットワークと深層学習が NLP の研究開発の主流になっています。NLP の翻訳と自然言語生成の領域は、最近の ChatGPT の登場などに見られるように大きな進歩を遂げ、急速に進化し続けています。

メモ

メモ: 

このような NLP の重要な進歩についての詳細は「リソース」セクションを参照してください。

人間の言語は「自然」な言語

自然言語とは何なのでしょうか? 自然言語とは、言葉や文を使用して人間が互いにコミュニケーションを行う方法を指します。これは私たちが会話を行うときや、読み、書き、聞くときに使用する言語です。自然言語は、私たちが情報を伝え、アイデアを表現し、質問をし、ストーリーを語り、他の人とやり取りする方法です。多くの種類の人間の言語に対する NLP モデルが開発されていますが、このモジュールでは英語の NLP に焦点を絞ります。

「人工知能の基本」バッジを獲得した方は、非構造化データと構造化データについて学習済みです。これらは NLP の重要な用語でもあります。自然言語、つまり私たちの実際の話し方は非構造化データです。つまり、人間は通常、そこから意味を導出できるものの、コンピューターが意味を理解するのに適した種類の詳細は得られません。保護施設の飼い主募集中の犬に関する次のパラグラフは非構造化データの例です。

Tala は 5 歳で 65 ポンドの雌で避妊手術済みです。公園で遊んだり。長い散歩に行ったりするのが大好きです。子供にとても優しく、猫との相性も抜群です。目は青く、毛は長いグレーと白で定期的なブラッシングが必要です。Tala との面会を予約するには、Troutdale 保護施設にお電話ください。

コンピューターが意味を理解するには、この情報を明確に定義して整理する必要があります。それはスプレッドシートやデータベース内の情報に似ています。これが構造化データと呼ばれるものです。構造化データに含まれる情報とその書式設定は最終的は目的のエンドアプリケーションで使用されるアルゴリズムによって決まります。たとえば、翻訳アプリケーションのデータはチャットボットのデータとは構造が異なります。上記のパラグラフのデータが、犬と飼いたい人をマッチングさせるアプリケーション用の構造化データになると、次のようになります。

  • 名前: Tala
  • 年齢: 5
  • 避妊または去勢手術済み: 避妊手術済み
  • 性別: 雌
  • 犬種: ハスキー
  • 体重: 65 ポンド
  • 色: グレーと白
  • 目の色: 青
  • 子供に優しい: はい
  • 猫に優しい: はい
  • 好きな活動: 公園、ハイキング
  • 場所: Troutdale

自然言語理解と自然言語生成

今日の NLP は自然言語理解 (NLU) と自然言語生成 (NLG) という 2 つのサブ分野で成熟しています。非構造化から構造化へ処理されたデータは自然言語理解 (NLU) と呼ばれます。NLU ではさまざまな手法を使用して、書面または音声の言語を解釈し、その背後にある意味やコンテキストを理解します。各手法については次の単元で学習します。

反対向きに、つまり構造化から非構造化に処理されたデータは自然言語生成 (NLG) と呼ばれます。NLG によって、コンピューターが人間のような言語を生成することが可能になります。NLG には構造化されたデータまたは情報を意味とコンテキストが伴う適切で自然なテキストや音声に変換するアルゴリズムとモデルの開発が含まれます。また、プログラミング言語でのコードの生成 (文字列を並び替えるための Python 関数の生成など) も含まれます。

過去には、NLU と NLG のタスクでは解析ツリーのような明示的な言語学的構造化表現が使用されていました。今日の NLP でも NLU と NLG は重要ですが、私たちがコミュニケーションを行うアプリケーション、ツール、バーチャルアシスタントのほとんどは、深層学習とニューラルネットワークを使用してエンドツーエンドのタスクを実行するように進化しました。たとえば、ニューラル機械翻訳システムは、たとえば中国語から英語に文を直接翻訳することができ、何らかの中間構造が明示的に作成されることはありません。ニューラルネットワークがパターン、単語、フレーズを認識することで、言語処理は飛躍的に速く、文脈に沿った正確なものになりました。

次の単元では、自然言語の手法をさらに掘り下げ、人間が言ったことの意味をコンピューターが把握してそれに応答できるようにする技法について学習します。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む