著者: Terena Bell, Thor Olavsrud

自然言語処理とは?NLPの仕組み、学び方、給与を解説

特集
16 Aug 20232分
人工知能

自然言語処理は、コンピュータに人間のように言語を理解、処理、生成させることを可能にするAIの一分野であり、ビジネスでの利用が急速に拡大しています。

hands work as a team managing business and technology gears and symbols to create innovation
クレジットThinkstock

自然言語処理の定義

自然言語処理(NLP)は、コンピュータに言語を理解、処理、生成する能力を持たせるための人工知能(AI)の分野の一つです。検索エンジン、機械翻訳サービス、音声アシスタントはすべてこの技術を使っています。

もともとこの言葉はシステムの読み取り能力を指していましたが、現在では計算言語学全体の俗語として使われています。サブカテゴリーとして、コンピュータが独自のコミュニケーションを作成する能力である自然言語生成(NLG)や、スラング、発音の誤り、スペルミス、言語の他の変形を理解する能力である自然言語理解(NLU)などがあります。

2017年の論文「Attention Is All You Need」でのトランスフォーマモデルの紹介は、NLPを革命的に変えました。これにより、Bidirectional Encoder Representations from Transformer (BERT)、DistilBERT、Generative Pre-trained Transformer (GPT)、Google Bardなどの生成AIモデルが誕生しました。

自然言語処理の仕組み

NLPは、通常テキストとしての非構造化データにトレーニングされた機械学習(ML)アルゴリズムを活用して、人間の言語の要素がどのように組み合わされて意味を持つかを分析します。フレーズや文章、場合によっては1冊の本全てがMLエンジンに供給され、文法的なルールや人々の実際の言語習慣などを使用して処理されます。NLPアルゴリズムは、このデータを使用してパターンを見つけ、次に何が来るかを予測します。

NLPの応用

機械翻訳は強力なNLPによるアプリケーションですが、検索で最も使用されています。GoogleやBingで何かを検索するたびに、システムのトレーニングを助けています。検索結果をクリックすると、システムはそれを正しい結果として確認し、将来の検索結果を改善するための情報として使用します。

Chatbotも同じように動作します。SlackやMicrosoft Messengerなどのチャットプログラムと統合して、あなたの使用言語を読み取り、トリガーフレーズを入力すると動作します。SiriやAlexaのような音声アシスタントも「Hey, Alexa」といったフレーズを聞くと動作を開始します。

トランスフォーマモデルは、言語翻訳やチャットボットなどのアプリケーションを新たなレベルに引き上げます。自己注意機構やマルチヘッド注意などの革新的な技術により、これらのモデルは入力のさまざまな部分の重要性をよりよく評価し、それらの部分を逐次的ではなく並行して処理することができます。

Capgeminiのシニアディレクターであるラジェスワラン・V氏は、Open AIのGPT-3モデルがラベル付けされたデータを使用せずに言語をマスターしていると指摘しています。彼によれば、形態学に依存することで、GPT-3は既存の最先端モデルよりもはるかに優れた言語翻訳を行うことができます。

トランスフォーマモデルを依存しているNLPシステムは、NLGに非常に強力です。

自然言語処理(NLP)の例

データはさまざまな形式で存在しますが、未だ活用されていないデータの最大のプールはテキスト、特に非構造化テキストです。特許、製品仕様、学術論文、市場調査、ニュース、ソーシャルメディアのフィードはすべてテキストを主成分としており、テキストの量は増え続けています。技術を音声に適用すると、そのプールはさらに大きくなります。以下は、この技術を活用している組織の三つの例です。

  1. Edmunds はGPTでトラフィックを増加:自動車の在庫と情報のオンラインリソースであるEdmundsは、非構造化データ(車のレビュー、評価、社説)を生成型AIに公開するChatGPTプラグインを作成しました。このプラグインにより、ChatGPTが特定のコンテンツを使用して車に関するユーザーの質問に答えることで、ユーザーのウェブサイトへのトラフィックを増加させることができます。
  2. Eli Lilly は翻訳のボトルネックを克服:さまざまな言語で作業するグローバルチームが存在する中、製薬会社は内部のトレーニング資料や技術的なコミュニケーション、規制当局へのコミュニケーションを翻訳補助のために、自社開発のNLPソリューション、Lilly Translateを開発しました。Lilly Translateは、生命科学とLillyのコンテンツで訓練されたNLPおよび深層学習言語モデルを使用して、Word、Excel、PowerPoint、テキストのリアルタイム翻訳をユーザーおよびシステムに提供します。
  3. Accenture はNLPを使用して契約を分析:会社のAccenture Legal Intelligent Contract Exploration (ALICE) ツールは、2,800人のプロフェッショナルからなるグローバルサービス企業の法的組織が、100万以上の契約全体でテキスト検索を行うのを支援します。これには、契約条項の検索も含まれます。ALICEは「単語の埋め込み」を使用して契約文書を段落ごとに調査し、キーワードを探してその段落が特定の契約条項のタイプに関連しているかどうかを判断します。

自然言語処理ソフトウェア

チャットボット、音声アシスタント、予測テキストアプリケーション、またはNLPを中心に持つ他のアプリケーションを構築している場合、それを行うためのツールが必要です。Technology Evaluation Centersによれば、最も人気のあるソフトウェアは以下のとおりです。

  • Natural Language Toolkit (NLTK): 人間の言語データを扱うPythonプログラムを構築するためのオープンソースフレームワークです。ペンシルベニア大学のコンピュータおよび情報科学部で開発され、50以上のコーパスと語彙資源へのインターフェース、テキスト処理ライブラリのスイート、自然言語処理ライブラリのラッパー、およびディスカッションフォーラムを提供しています。NLTKはApache 2.0ライセンスの下で提供されています。
  • Mallet:統計的NLP、文書分類、クラスタリング、トピックモデリング、情報抽出、およびテキストへのその他のMLアプリケーションのためのオープンソースでJavaベースのパッケージです。主にマサチューセッツ大学アマースト校で開発されました。
  • SpaCy:高度な自然言語処理のためのオープンソースライブラリで、研究よりも製品利用を明確に念頭に置いて設計されました。MITによってライセンスされ、高レベルのデータサイエンスが念頭に置かれて作られており、深いデータマイニングを可能にします。
  • Amazon Comprehend:AmazonのこのサービスではMLの経験が不要です。組織が電子メール、顧客のレビュー、ソーシャルメディア、サポートチケット、その他のテキストから洞察を得るのを助けるためのものです。感情分析、品詞抽出、トークン化を使用して、言葉の背後にある意図を解析します。
  • Google Cloud Translation:このAPIは、ソーステキストを調査して言語を特定し、その後、ニューラルマシン翻訳を使用してテキストを別の言語に動的に翻訳するためのNLPを使用します。APIは、ユーザーが機能を自分のプログラムに統合できるようにします。

自然言語処理のコース

NLPアプリケーションの作成や維持を学ぶためのリソースは多岐にわたり、その多くは無料です。これらには次のようなものが含まれます:

  • Udemyの「NLP – Natural Language Processing with Python」:このコースはPythonでの自然言語処理の導入を提供し、感情分析やチャットボットの作成などの高度なトピックに進行します。オンデマンドビデオ11.5時間、2つの記事、3つのダウンロード可能なリソースで構成されています。コースの費用は$94.99で、修了証明書が含まれています。
  • Udemyの「Data Science: Natural Language Processing in Python」:Pythonに精通しているNLP初心者を対象としており、暗号の復号化アルゴリズム、スパム検出器、感情分析モデル、記事スピナーを含む多数のNLPアプリケーションとモデルを構築します。このコースはオンデマンドビデオ12時間で構成されており、費用は$99.99で、修了証明書が含まれています。
  • Courseraの「Natural Language Processing Specialization」:この中級レベルの4つのコースのセットは、学生が感情分析、翻訳、テキストの要約、チャットボットなどのNLPアプリケーションを設計するためのものです。キャリア証明書が含まれています。
  • Udemyの「Hands On Natural Language Processing (NLP) using Python」:このコースは、どの言語でも基本的なプログラミング経験、オブジェクト指向プログラミングの概念の理解、基本から中級の数学の知識、行列演算の知識を持つ個人向けです。完全にプロジェクトベースで、リアルタイムでツイートの感情を予測するテキスト分類器と、記事を取得して要約を見つける記事要約器の構築を行います。コースはオンデマンドビデオ10.5時間と8つの記事で構成され、費用は$19.99で、修了証明書が含まれています。
  • Courseraの「Natural Language Processing in TensorFlow」:このコースはCourseraの「TensorFlow in Practice Specialization」の一部であり、TensorFlowを使用してテキストを処理し、入力文をニューラルネットワークに送信する自然言語処理システムを構築する方法をカバーしています。Courseraはこれを中級レベルのコースとしており、完了には週に4〜5時間の勉強を4週間行うことが必要だと推定しています。

NLPの給与

PayScaleのデータに基づく、NLPに関連する最も人気のある職種とそれぞれの平均給与(US$)は以下のとおりです。

  • 計算言語学者:$60,000 〜 $126,000
  • データサイエンティスト:$79,000 〜 $137,000
  • データサイエンスディレクター:$107,000 〜 $215,000
  • リードデータサイエンティスト:$115,000 〜 $164,000
  • 機械学習エンジニア:$83,000 〜 $154,000
  • シニアデータサイエンティスト:$113,000 〜 $177,000
  • ソフトウェアエンジニア:$80,000 〜 $166,000