自然言語処理:チートシート - TechRepublic

自然言語処理:チートシート - TechRepublic

画像: Visual Generation、ゲッティイメージズ/iStockphoto

コンピューターに話しかけ、理解するだけでなく、返答してもらうというのは、スタートレックの船上コンピューターのようなSFの世界に限られていたのは、それほど昔のことではありません。24世紀の宇宙船エンタープライズ号の技術は、機械学習を駆使した自然言語処理(NLP)のおかげで、21世紀には現実のものとなりました。NLPは、コンピューターに話し言葉や書き言葉を理解し、処理し、応答する能力を与えるものです。

誤解しないでください。NLPは複雑な分野であり、学習には何年もかかる可能性があります。このガイドでは、NLPの基礎、ビジネスへのメリット、そして導入の始め方について詳しく説明します。

参照:自然言語処理: チートシート(無料 PDF) (TechRepublic)

自然言語処理とは何ですか?

自然言語処理(NLP)は、コンピューターが人間の言語を聞き、処理し、理解し、再現できるようにするための学際的なアプローチです。言語学、コンピューターサイエンス、機械学習といった分野はすべてNLPのプロセスの一部であり、その成果はデジタルアシスタント、チャットボット、リアルタイム翻訳アプリ、その他の言語を使用するソフトウェアなどに見ることができます。

コンピュータが言語を理解して使用することを学習するという概念は新しいものではなく、1950 年に発表されたアラン・チューリングの論文「計算機と知能」にまで遡ることができるとされています。この論文からチューリング テストのアイデアが生まれました。

簡単に言えば、チューリングは、機械が人間と区別がつかない動作をすることができるかどうかを判断しようとしましたが、そのためには基本的に言語を処理し、理にかなった方法で応答する能力が必要です。

参照: TechRepublic のすべてのチートシートと賢い人向けガイド

チューリングが論文を執筆して以来、自然言語処理への様々なアプローチが登場しました。まず登場したのはELIZAのようなルールベースのシステムで、一連の指示に対して実行できることが限られていました。ELIZAのようなシステムは、定型的で曖昧な応答をするため、すぐに繰り返しになって不自然に感じられ、人間と区別がつきやすく、現代の自然言語処理の基盤となる理解力が欠けていました。

コンピューターがサンプルデータに基づいてアルゴリズム的に独自のルールを開発できる機械学習の出現により、自然言語処理はチューリングが予測できなかったほど爆発的に進歩しました。

自然言語処理は、人間の発話を理解する能力において、もはや人間よりも優れているという段階に達しています。しかし、この輝かしいマイルストーンでさえ、真に完全なNLPには程遠いものです。なぜなら、この作業を実行する機械は単に言語を書き写しているだけで、理解を求められているわけではないからです。

現代のNLPプラットフォームは、音声を視覚的に処理することも可能です。例えば、FacebookのRosettaは、「10億枚以上の画像や動画フレームから、異なる言語のテキストをリアルタイムで抽出できる」と、TechRepublicの姉妹サイトCNETは述べています。

参照:企業におけるAIとMLの管理2020:技術リーダーがプロジェクト開発と実装を強化(TechRepublic Premium)

追加リソース

  • 自然言語処理がスマートオフィスを永遠に変える (TechRepublic)
  • 「これは根本的なことだ」:グラフコアのCEOは、新しい種類のAIが新しい種類のコンピュータの価値を証明すると信じている(ZDNet)
  • 2020年のトップ10新興テクノロジー:勝者と敗者(TechRepublic)
  • チートシート:データ管理(無料PDF)(TechRepublic)

自然言語処理の課題は何ですか?

コンピューターは言語を話すために人間の話し言葉を理解する必要はありません。機械は、入力を受け入れ、データを処理し、コマンドに応答できるようにする一種の言語構造に基づいて動作します。

Swift、Python、JavaScript などの言語にはすべて、自然言語にはない共通点があります。それは、精度です。

人間の話し言葉は、いかなる定義においても正確ではありません。文脈的、比喩的、曖昧で、常に不完全に話されており、言語を理解するには、コンピュータにはない多くの背景知識と解釈能力が必要です。

計算言語学者のエカテリーナ・コッホマー氏は、自然言語処理に関する講演で、言葉は一種の想像上の意味空間に存在すると説明した。コッホマー氏によると、私たちの心の中には言葉の表象があり、関連した、あるいは類似した意味を持つ言葉は、意味理解の網の中で密接に結びついているという。

言語をそのように考えると、コンピューターがアルゴリズム的に独自の意味空間を作成できる機械学習ツールを構築できるようになり、単語間の関係を推測して自然な会話をよりよく理解できるようになります。

参照:ロボティック プロセス オートメーション: チートシート (無料 PDF) (TechRepublic)

しかし、だからといって課題が克服されたわけではない。デジタルアシスタントに与えられるような単純で正確な文を理解する段階から、自力で意味のある発話を生成する段階に移行するのは、NLPプログラムにとって依然として困難だ。恋愛関係の言葉を理解するように訓練された人工知能(AI)が作り出すハート型のキャンディーは予想通り不条理であり、人工ニューラルネットワークだけで書かれた小説『1 the Road』は全体的に意味不明で、意味理解が垣間見えるのはごくまれだが、それも完全に偶然と言えるだろう。

自然言語処理は、音声を分析し、それをデータに変換し、理解し、アルゴリズムを使用して適切な応答を生成する能力において非常に進歩していますが、一般的には、独自に話す能力や、自然言語の基本である曖昧さや比喩を理解する能力がまだ欠けています。

私たちは最初の部分、つまり「理解」は習得しました。次に、自然な音声、つまり人間の言語を生成するという部分で、まだ少し行き詰まっています。数学者でありコンピュータ科学者のパイオニアであるエイダ・ラブレスの考えが正しければ、私たちはしばらくの間、そこで行き詰まるかもしれません。彼女は、コンピュータは指示されたことしかできず、独創性を持つことができないと仮定しました。「ラブレス夫人の反論」として知られるこの反論は、チューリングテスト、ひいては自然言語処理に対する批判としてよく取り上げられるようになりました。「機械が独創的な思考を持つことができないのであれば、機械に反復的でない言語を使うように教える方法はあるのでしょうか?」

追加リソース:

  • IBM、NLPモデルに知識を注入する新しいアプローチを発表(TechRepublic)
  • AIにはビッグデータ問題がつきものだ。その解決策とは?(ZDNet)
  • え、何だって?:研究者が奇妙な人間のツイートを分析し、より優れたAIを開発(TechRepublic)
  • OpenAIの巨大なGPT-3はAI向け言語モデルの限界を示唆している(ZDNet)

自然言語処理はどのように使用されますか?

自然言語処理には、さまざまなビジネス用途に実用的なアプリケーションが数多くあります。

Google Duplexは、今日利用可能な自然言語処理の活用例として、おそらく最も注目すべきものと言えるでしょう。2018年に導入されたこのデジタルアシスタントは、複雑な文を理解できるだけでなく、音声の癖なども含めて、人間とほとんど区別がつかないほどの話し方をします。Duplexの目標は、現実世界のタスクを電話で実行し、Googleユーザーの予約、サービスの予約、注文などの時間を節約することです。

フォーチュン500企業の98%が、自然言語処理ソフトウェアを活用し、求職者の絞り込みに採用管理システム(Attraction Tracking System)と呼ばれる製品を導入しています。これらの製品は、履歴書を精査し、適切なキーワードやその他の言語要素を探します。

参照:企業におけるロボット工学 (無料 PDF) (TechRepublic)

チャットボットは急速にオンラインカスタマーサービスの第一線に躍り出ており、消費者の68%がチャットボットとの会話で肯定的な体験をしたと回答しています。これらのボットは、自然言語処理を用いて基本的なリクエストや問題に対応するだけでなく、必要に応じてリクエストを人間に引き継ぐこともできます。

医療現場におけるNLPの用途は多岐にわたります。医師の口述筆記、手書き記録の処理、非構造化医療データを利用可能な形式にまとめること、自然言語と複雑な医療請求コードを関連付けることなどが、潜在的な用途として挙げられます。また、NLPは最近ではCOVID-19患者のスクリーニングにも利用されています。

NLP は、コールセンター環境で顧客の態度を測定したり、ソーシャル メディアの投稿に対して「感情分析」を実行したり、ビジネス インテリジェンス分析の一部として使用したり、予測分析を補完したりするために使用できます。

自然言語処理の用途は無限に広がります。適切なアプローチをとれば、言語に関わるあらゆるものが NLP のユースケースになり得ます。特に、人間が処理するには時間がかかりすぎる大量のデータを扱う場合には、その可能性が高まります。

追加リソース:

  • 人工知能がCOVID-19との戦いにどのように役立つか(TechRepublic)
  • AI、機械学習、ディープラーニングの違いを理解する(TechRepublic)
  • AIで火災と闘う:ディープラーニングを活用した米国の山火事予測(TechRepublic)
  • ITリーダーのためのディープラーニングガイド(TechRepublic Premium)
  • AWS が Comprehend Medical 自然言語処理サービスにオントロジーリンクを追加 (ZDNet)
  • IBMの新しいWatson Works製品は、AIを活用して、企業が従業員を安全に職場に復帰させる時期を計画するのを支援します(TechRepublic)
  • AWSは機械学習と自然言語処理をコールセンターに導入することを目指している(ZDNet)

開発者は自然言語処理についてどのように学ぶことができますか?

NLPは複雑なテーマであり、コンピュータサイエンティストが詳細を学ぶには何年もかかる可能性があります。NLP研究の最先端を走りたいのであれば、優れた計算言語学プログラムで知られる大学への進学を検討するのが最善でしょう。

最新のNLP技術を活用したい開発者は、そこまで深く学ぶ必要はありません。テキスト分析会社MonkeyLearnは、自然言語処理を始めるためのリソースと手順をわかりやすくまとめています。ここでは、そのガイドからいくつかの重要なポイントをご紹介します。

  • 読み始める: NLP の世界には、『Foundations of Statistical Natural Language Processing』や『 An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition 』など、標準的な本がいくつかあります。
  • NLPを学べるオンラインコースを探してみましょう。Udemy、Courseraなどのウェブサイトには、NLPを学ぶためのコースがたくさんあります。
  • Python を学習しましょう。Python は NLP システムを構築するための最も人気のある言語の 1 つです。
  • Natural Language ToolKit、spaCy、Stanford CoreNLP などの NLP フレームワークに精通します。

MonkeyLearn のガイドには、NLP 開発者を目指す人が知っておくべき記事、研究、ジャーナルへのさまざまなリンクも含まれています。

追加リソース:

  • Python初心者ガイド:書籍、チュートリアル、動画、ユースケース、開発者のお気に入りツール(TechRepublic)
  • IBM AI Fairness 360 オープンソースツールキットに新機能が追加 (TechRepublic)
  • NVIDIA の AI の進歩: 自然言語処理は常に高速化、改善されています (ZDNet)
  • PyTorch: 開発者向けリソースガイド (TechRepublic)
  • MoveworksはITの過負荷は自然言語処理の問題だと確信している(ZDNet)
  • ディープラーニングが科学研究を変え、多剤耐性菌に有効な抗生物質を発見 ― ビデオ(ZDNet)

企業が自然言語処理を始めるのに最適な方法は何ですか?

あらゆるビジネスで言語が利用されているため、組織内で自然言語処理を少なくとも1つか2つ活用できる可能性は十分にあります。しかし、NLPが何をもたらすかを考えてから実際に実行するまでには、どうすればよいでしょうか?考慮すべきステップはたくさんあります。

まず、ビジネスにおけるNLPの目的を明確にする必要があります。分析ツールとしてデータを集約するためにNLPを活用したいのでしょうか?それとも、サポートポータルで顧客とテキストメッセージでやり取りできるチャットボットを構築したいのでしょうか?あるいは、NLPをメールフィルターの基盤として活用したり、顧客の感情を理解したり、リアルタイム翻訳に活用したりしたいと考えているかもしれません。

ビジネスのために NLP をどのように活用したいかに関係なく、その達成について考え始める前に目標を把握しておく必要があります。

参照:2020 年のトップクラウドプロバイダー:AWS、Microsoft Azure、Google Cloud、ハイブリッド、SaaS プレーヤー(TechRepublic)

自然言語処理で何をしたいのかが明確になったら、理想のシステムを構築できる適切な人材を見つける必要があります。社内に既にPythonや前述のNLPフレームワークに精通した開発者がいるかもしれません。その場合は、計画段階から彼らに参加してもらいましょう。

社内に自然言語処理ソフトウェアを開発できる人材がいない場合は、新しい人材を雇うか、NLP ソリューションを専門とするサードパーティを導入するかという選択を迫られます。

NLP の目標を社内で達成することを選択した場合は、NLP プラットフォームをホストするための適切なソフトウェア ソリューションまたはプロバイダーを見つける必要がありますが、選択肢となる有名な企業は数多くあります。

IBM Watsonには様々なオプションがあり、AWSにもAmazon ComprehendをはじめとするNLPサービスがあり、Microsoft AzureとGoogle CloudにもNLPサービスがあります。適切なプラットフォームを選択するには、開発者からの意見が不可欠です。なぜなら、彼らはソフトウェアを日々操作する立場にあるからです。NLPプロジェクトの成功は、彼らがプラットフォームをどれだけうまく活用できるかにかかっているかもしれません。

追加リソース:

  • IBM Watsonの新しい自然言語処理機能がビジネスユーザーにどのように役立つか(TechRepublic)
  • IBMはWatsonプラットフォームにProject Debater NLPテクノロジーを組み込む計画(ZDNet)
  • AI言語モデルを用いた科学的ファクトチェック:COVID-19研究とその先(ZDNet)
Tagged: