Skip to main content

自然言語解析について学ぶ

学習の目的

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

  • 自然言語の基本要素について説明する。
  • 自然言語を解析するときに使用されるいくつかの重要な手法について説明する。
  • センチメント、インテント、コンテキストの分析が NLP にどのように寄与するかを説明する。

自然言語の基本要素

自然言語を理解して処理することは、コンピューターにとっての根本的な課題です。その理由は、個々の単語を認識するだけではなく、その関係、コンテキスト、意味を把握する必要があるためです。

テキストや音声による人間の自然な言語の特徴は、無限の複雑さ、ニュアンス、あいまいさ、間違いです。私たちの毎日のコミュニケーションでは、いくつかの意味を持つ単語や、発音は同じでもスペルや意味が異なっている単語、位置が間違っている修飾語、スペルミス、発音ミスなどが発生します。また、早口な人もいれば、ぼそぼそと話す人、いつまでも結論にたどり着かない人、異なるアクセントや方言を使う人もいます。

たとえば、次の文を例に挙げます。

“We saw six bison on vacation in Yellowstone National Park.”

帽子とサングラスを身に着けた 6 頭のバイソンがオールドフェイスフル間欠泉の前で自撮り写真のためにポーズしている様子を思い浮かべて笑った人もいるかもしれません。ただし、おそらく皆さんは何が起きたかを理解できたと思います。休暇中の誰かがイエロース語調国立公園で 6 頭のバイソンを見たのですね。

また、次の例はどうでしょうか。

“They swam out to the buoy.”

コンテキストなしでこの文を話しているのを聞くと、この人たちは男の子 (boy) に向かって泳ぎだしたのかと思うかもしれませんが、実際には水中のマーカーに向かって泳ぎだしたという意味です。「boy」と「buoy」の発音はわずかに異なりますが、発声がいつもはっきりしているとは限りません。

人間にとっては柔軟に言語に適応することは簡単ですが、このようなニュアンスを考慮するようにコンピューターをトレーニングするのは非常に難しいことです。

英語の自然言語の要素には次のものがあります。

  • 語彙: 使用する言葉
  • 文法: 文の構造を決めるルール
  • 構文: 文法に従って言葉を組み合わせて文を形成する方法
  • セマンティック: 単語、フレーズ、文の意味
  • 語用論: 文化的または地理的な言語の使用の背後にあるコンテキストとインテント
  • 談話と対話: ドキュメントや会話など、1 つのフレーズや文よりも大きな単位
  • 音声学と音韻論: 私たちがコミュニケーションを行うときに発する音声
  • 形態: 単語の一部を組み合わせたり組み合わせを解除したりして新しい単語を作る方法

自然言語の解析

単語を読んで意味を導出することをコンピューターに教えるのは、読むことを子供に教えるのと少し似ています。どちらの場合にも単語、その音、意味、発音を認識することを学びます。ただし、子供が読み方を習うときには、通常は物語のコンテキスト、イラストによる視覚的な手がかり、すでに知っているもの (木や動物など) との関係を利用できます。また、多くの場合、経験のある読み手からの助けや励ましがあり、何を学んでいるかを説明してもらえます。このような手がかりがあることで、読み方を学んでいる人は意味を認識して単語やフレーズに結びつけ、それ以降に読む他のものに対して一般化できます。

処理できるタスクであるリスト、情報、カスタマーサービス、スパム検出の記号を指している自然言語処理ロボット。

コンピューターには違う種類の賢さがあるため、コンピューターが上記の自然言語の要素を理解するには、もっと科学的な方法が必要です。NLP では、テキストの処理と分析に大規模言語モデル、統計モデル、機械学習、深層学習、ルールベースのシステムといったアルゴリズムや手法を使用します。このような手法は解析と呼ばれ、テキストや音声を小さな部分に分割して NLP のために分類する作業が含まれます。解析には、自然言語の基になる文法構造を識別するために要素が分析される構文解析と意味を導出するセマンティック解析があります。

前の単元で説明したように、自然言語は目的の結果に合わせてさまざまな方法で解析されます。たとえば翻訳アプリケーション用の自然言語には、Alexa のようなバーチャルアシスタント用の自然言語とは異なるアルゴリズムやモデルが使用され、解析方法も異なります。

構文解析には次のものが含まれます。

  • セグメンテーション: 大きなテキストが小さな意味のあるかたまりに分割されます。通常、セグメンテーションは文の終わりの句読点で行われ、その後の分析のためにテキストが整理されます。
  • トークン化: 文が個々の単語 (トークン) に分割されます。英語の場合、通常は単語がスペースで区切られているためトークン化はかなり単純な作業です。タイ語や中国語などの言語では、トークン化はもっと複雑になり、言語を正確にトークン化するには語彙と形態を理解する必要があります。
  • ステミング: 単語が原形 (ステム) に戻されます。たとえば、breakingbreaksunbreakable はすべて break に戻されます。ステミングにより単語の形のバリエーションは減りますが、コンテキストによっては最も正確なステムが得られない場合もあります。ステミングを使用する次の 2 つの例を見てみましょう。

“I'm going outside to rake leaves.”

Stem = leave 

“He always leaves the key in the lock.”

Stem = leave 

  • 見出し語化: ステミングと同じように見出し語化では単語を原形に戻しますが、品詞も考慮することで、より有効な基本形の単語 (レンマ) が得られます。同じ 2 つの例に見出し語化を使用すると次のようになります。

“I'm going outside to rake leaves.”

Lemma = leaf 

“He always leaves the key in the lock.”

Lemma = leave 

  • 品詞タグ付け: 品詞 (名詞、形容詞、動詞など) に基づいて文法的なラベルまたはタグを各単語に割り当てます。品詞タグ付けは NLP の重要な機能で、これによってコンピューターが文の構文を理解できるようになります。
  • 固有表現抽出 (NER): アルゴリズムを使用してテキスト内の固有表現 (人、日付、場所、組織など) を識別して分類することで、質問への回答や情報の抽出などの作業に役立ちます。

セマンティック分析

上記の一部またはすべてを使用した自然言語解析によって、かなり正確にテキストや音声の意味を捉えることができます。ただし、人間の言語を人間らしくするソフトスキルのニュアンスがまだ欠けています。セマンティック解析では、文の文法的な形式と、単語やフレーズの間の関係を分析することで意味表現を見つけます。人々がどう感じ、なぜエンゲージするのかということや、やり取りの周囲の環境の詳細を抽出することはすべて、テキストや音声を正確に解読し、適切な応答を生成するために重要な役割を果たします。

NLP で一般的に使用される分析手法を次に示します。各手法では、望ましいレベルの理解を得るために、その具体的なタスクと分析の複雑さに応じていくつかの異なるアルゴリズムが使用されていることがあります。

センチメント分析: 1 つのテキスト (文、ソーシャルメディア投稿、レビュー、ツイートなど) が肯定的、否定的、どちらでもないのどのセンチメントを表しているかを判定します。センチメントとは何かに対する感情や態度です。たとえば、センチメント分析によって、あるサービスの次のカスタマーレビューが肯定的か否定的かを判定できます: 「ヘアカットのために非常に長い時間待たなければなりませんでした。」センチメントによってテキストの感情や意見を識別して分類することで、企業は自社の商品、サービス、エクスペリエンスに対して人々がどのように感じているかを把握できます。

嬉しそうな女性と「これまでで一番お気に入りのピザです!」と書かれた吹き出し。不機嫌そうな男性と「まだヘアカットを待っています。」と書かれた吹き出し。

インテント分析: インテントによって、誰かが言ったことや書いたことに基づいてその人が何を求めているか、または意味しているかを理解できます。これは、言葉の裏にある目的や意図を解読するようなものです。たとえば、誰かがカスタマーサポートチャットボットに「自分のアカウントにログインできません」と入力したとすると、インテント分析によって、その人のインテントはアカウントにアクセスするためのサポートを得ることであると認識されます。チャットボットは、ユーザーがアカウントにアクセスするために試せるパスワードの再設定やその他の方法を回答することができます。バーチャルアシスタント、カスタマーサポートシステム、チャットボットでは多くの場合、ユーザーの要求を理解して適切な応答やアクションを提供するためにインテント分析を使用します。

コンテキスト (談話) 分析: 自然言語はコンテキストに大きく依存しています。文章の解釈は、状況、提供された詳細、コミュニケーションを行う人の間に存在する共通理解によって変わる可能性があります。コンテキスト分析では、この周辺情報を理解して、テキストの意味を把握します。たとえば、誰かが「They had a ball」と言った場合、コンテキスト分析によって、話している対象が舞踏会なのか、スポーツ用品なのか、楽しかったということなのかを判定できます。これは、以前の会話や話されているトピックを考慮することで実現されます。コンテキスト分析では、幅広いコンテキスト、単語間の関係、その他の関連情報を考慮に入れるため、NLP システムがより正確に単語を解釈できるようになります。

この 3 つの分析手法 (センチメント分析、インテント分析、コンテキスト分析) はテキストデータや音声データから価値あるインサイトを抽出するために重要な役割を果たします。それによって、NLP のさまざまなアプリケーションでテキストコンテンツの高度で正確な理解とエンゲージメントが実現します。

まとめ

このモジュールでは、NLP の概要と英語に関する NLP について学習しました。これまで NLP 研究の大部分は英語を使用して行われてきましたが、スペイン語、フランス語、ペルシャ語、ウルドゥー語、中国語、アラビア語でも多くの研究が行われています。NLP は急速に進化している AI の分野です。NLP の進歩はただちに、さらに高度な言語理解、言語間機能、その他の AI 分野とのインテグレーションにつながっています。

リソース

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

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

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