私たちは普段、自分たちの言語の複雑さについて考えることはありません。言語とは、単語、記号、画像など、意味的な手がかりを用いて、情報や意味を伝えるための直感的な動作のことです。言語は歩くのと同じように、訓練された反復可能な行動であるため、習得しやすく、青年期にはより自然に使用できるようになると言われています。また、言語には「C の後でない限り I は E の前」といった非常に多くの例外があり、1 つの厳格なルールセットには従いません。
人間にとって自然なことでも、大量の非構造化データを処理し、正式なルールがないばかりか、現実世界のコンテキストや意図もないコンピューターにとっては、それを成すことは非常に困難です。そのため、機械学習と人工知能 (AI) が注目を集めて勢いを増しており、タスクの伝達と実行での人間のコンピューティングシステムに対する依存度が高まっています。また、AI の技術が高度になるにつれて、自然言語処理 (NLP) も高度になります。AI と NLP という用語は、未来のロボットのイメージを連想させるかもしれませんが、日常生活に取り入れられている NLP の基本的な例はすでに存在します。顕著な例をいくつかご紹介しましょう。
データを可視化してビジネスを加速!
自然言語処理とは
自然言語処理とは、私たち人間が普段から自然に使っている言語のことを指します。日本語も英語もフランス語も、すべて自然言語です。自然言語処理とは、この自然言語をコンピューターが分析し、言語の意味を抽出したり、解釈したりする技術のことをいいます。私たちが当たり前に使っている言葉について、なぜわざわざ分析する必要があるのか。それは、コンピューターが自然言語を理解できないからです。
その理由は、自然言語が持つ「曖昧さ」にあります。
例えば、「おなかが痛いと言った兄と弟は留守番をしていました」という文章があるとして、どのように内容を解釈できるでしょうか。実はこの文章は 2 つの解釈が可能です。
「おなかが痛いと言った兄と弟」が留守番をしていた
「おなかが痛いと言った兄」と「弟」が留守番をしていた
つまり、「おなかが痛いと言った」のが兄だけなのか、それとも兄と弟の 2 人なのかはっきりしないのです。 人間であれば、前後の文脈や前提となる知識から、どちらが正しい解釈なのかを判断できますが、通常のコンピューターにはできません。
このほかにも、話し言葉では主語を省略するなど、さまざまな曖昧表現がごく一般的に使われています。人間はそうした表現の一つひとつをじっくり考えなくても、全体のニュアンスや相手の表情などから意味を類推し、読み取れますが、コンピューターには難しい作業なのです。 そこで、自然言語をコンピューターに理解・解釈させるために行うのが、自然言語処理というわけです。
データを可視化してビジネスを加速!
こちらの記事を見た方は、下記のページにも興味をお持ちです。
自然言語処理でできること
自然言語処理を行うことで、コンピューターは何ができるようになるのでしょうか。 まず、非構造化データの解析です。非構造化データとは、構造化されていない、あるいは構造化できないデータのこと。人間が話したり書いたりする自然言語が、まさに非構造化データといえます。 自然言語処理により、コンピューターはこれまでできなかった非構造化データを解析できるようになります。
前段で挙げたような曖昧な文章のニュアンスについても、前後の文脈などから正確に読み取り、意図を理解できるのです。 また、コンピューターにしかできない作業として、大量のテキストデータを素早く解析することが挙げられます。自然言語処理を行わなければ、コンピューターは文脈を理解できないままですから、大量のテキストデータを処理させようとしても、うまくいきません。 大量のテキストを分析し、意味を正しく解釈して有益な情報を抽出する作業は、自然言語処理によって可能になったことだといえます。
また、コンピューターが文章から文脈やニュアンスを読み取れるようになることで可能になるのが「対話」です。すでに自然言語処理により質問応答が可能なシステムは生まれていますが、今後自然言語処理の技術が進歩していけば、コンピューターが人間と雑談できるようになるかもしれません。
データを可視化してビジネスを加速!
自分のデータから価値ある情報を引き出そう!
データ分析を簡単にする Tableau でデータの価値を最大化しましょう! Tableau の無料トライアルを今すぐお試しください。
Tableau 無料トライアルをダウンロード自然言語処理の主な流れ
自然言語処理の流れは、「自然言語処理で何を実現したいのか」によって変わります。一方で、ほとんどの場合において、必ず行われる作業もあります。 ここでは、自然言語処理を活用した AI を開発することを想定して、自然言語処理の具体的な流れについて解説します。
1. 形態素解析
自然言語処理を行う場合、ほぼ確実に必要となるのが形態素解析です。形態素とは、言葉を細かく分割していった際、「意味」として成立する最小単位のことをいいます。 例えば「私はワインが好きです」という文章であれば、「私(名詞)/は(助詞)/ワイン(名詞)/が(助詞)/好き(形容動詞)/です(助動詞)」といった形態素に分割できます。自然言語処理では、まず形態素解析を行って、文章全体を分析するところから始まるのです。
2. 係り受け解析
係り受け解析とは、文章の構造を把握するための解析作業で、構文解析とも呼びます。係り受け解析では前段の形態素解析により抽出した形態素同士の関係性を特定します。
例えば、「私はワインが好きです」という文章であれば、「私」が主語であり、「好きです」が述語です。この場合、「私」が「係る」部分であり、「好きです」が「受ける」部分となります。つまり、「私」が「好きです」に係っているわけです。逆にいえば、「好きです」が「私」を受けているともいえます。
このように、文章の中には多くの係り受けが存在し、文章の「意味」を作っているのです。私たち人間は、いちいち言葉を形態素に分割し、係り受けを考えなくても、瞬時に文章全体の意味を理解できます。これは、普段から自然言語を使い慣れているからできることです。
一方でコンピューターは、いわば外国語を習い始めたばかりの状態。だからこそ、文章を分割し、一つひとつの関係性に注目しながら文章全体の意味や意図を解析する必要があるのです。
3. 意味解析
形態素解析と係り受け解析により、コンピューターは文章全体の構造を把握できるようになりました。しかし、文章に含まれる「曖昧さ」はまだ完全に解釈できません。意味解析では、辞書データなどをもとに文章に含まれる単語同士の結びつきを把握する作業が行われます。
例えば、「私は妻と赤ワインを飲んだ」という文章があるとします。この場合、意味解析を行う前は、「私が飲んだ」のは「赤ワイン」なのか、「妻と赤ワイン」なのか、コンピューターには理解できません。そこで、意味解析では、「私」「妻」「赤ワイン」の結びつきを考えます。すると、「私」と「妻」は人間を表す単語であり、結びつきが強いことがわかります。それに対して、「妻」と「赤ワイン」はまったく別のものであり、結びつきは強くありません。よって、結びつきの弱い「妻」と「赤ワイン」の両方を「私が飲む」のはおかしいことがコンピューターにも理解でき、「私の飲んだ」のは「赤ワイン」である、と解釈できるようになるのです。
このほかにも、自然言語処理では、必要に応じて固有表現抽出やストップワード除去、正規化といった作業を行います。
・固有表現抽出
固有表現抽出とは、文章の中から人名や地名といった固有名詞と、日時や時間、数字などの固有表現を抽出する作業です。
・ストップワード
ストップワードとは、文章の中で意味を持たなかったり、出現頻度が少なかったりする言葉を指します。自然言語処理を行う上で、ストップワードは重要度が低いため、コンピューターのリソースを消費しないよう先に除去します。
・正規化
正規化は、同じ意味で違う表現になっている言葉、いわゆる「表記ゆれ」を整える作業です。正規化を行うことで、コンピューターは表記ゆれしている言葉を同一のものとして認識できるようになります。
データを可視化してビジネスを加速!
自然言語処理の活用事例
自然言語処理というと、まず想像するのはロボットと人間が自然に会話しているようなシーンかもしれません。現在の自然言語処理は、まだ完璧に雑談を行える段階には到達しておらず、ロボット(AI)と人間が雑談のような「なんでもない会話」を楽しめるまでには時間がかかるでしょう。 しかし、自然言語処理は会話のためだけの技術ではありません。実際に、自然言語処理の技術そのものは、すでに多くのサービスやプロダクトで活用されています。中には、自然言語処理が活用されていることを知らないまま、私たちが日常的に使っているプロダクトもあります。 ここでは、日常生活で取り入れられている自然言語処理の活用事例について紹介します。
メールフィルター
メールフィルターは、初期からオンラインで NLP が適用されている基本的な例の 1 つです。迷惑メールフィルターから始まり、迷惑メールを示す特定の単語やフレーズを発見しました。ただし、初期に導入された NLP と同様に、フィルター機能もアップグレードされています。
新たに普及している NLP の適用例の 1 つに、Gmail のメール分類機能があります。このシステムでは、メールが 3 つのカテゴリー(メイン、ソーシャル、プロモーション)のいずれかに該当するかどうかをその内容に基づいて判断します。これにより、すべての Gmail ユーザーは、受信ボックスを管理しやすくなり、関連性の高い重要なメールをすばやく確認して返信することができます。
スマートアシスタント
Apple の Siri や Amazon の Alexa などのスマートアシスタントは、音声認識を活用して音声パターンを認識し、意味を推測して有用な回答を提供します。気軽に「Hey Siri」と話しかけて、質問できるようになりました。Siri は問いかけの内容を理解して、コンテキストに基づいて、関連性の高い答えを返します。また、サーモスタット、照明スイッチ、車などのアイテムを通して、Siri や Alexa と会話するようになっていることから、自宅や日常生
今では、Alexa や Siri といったアシスタントは、コンテキスト上の手がかりを理解した上で、私たちの生活の質を高めたり、商品の注文などの特定のアクティビティを効率化したりすることが求められているだけでなく、ユーモアあふれる答えを返したり、アシスタント自体に関する質問に回答したりなど、私たちを楽しませてくれるようにさえなっています。これらのアシスタントが私たちに関する情報を蓄積していくことで、さらに個人的なやり取りができるようになります。New York Times の記事、「近い将来 Alexa の世界の住人になるであろう理由」では、「状況は大きく変化している。Alexa は、この 10 年間で 3 番目に優れたコンシューマー向けコンピューティングプラットフォームとなる可能性が最も高くなっている」と説明しています。
検索結果
検索エンジンは NLP を使用して、同様の検索行動やユーザーの意図に基づいて、関連性の高い結果を表示します。これにより、一般的なユーザーは、検索ワードに関する専門知識がなくても、必要な情報を見つけられます。
タスを確認したり、ティッカーシンボルを入力して株価情報を確認したりする人もいます。数式を入力すると、電卓が表示されることもあります。これらは、検索の完了時に表示される可能性のある結果のバリエーションです。検索の NLP が、曖昧なクエリを相対的なエンティティに関連付け、有用な結果を表示するためです。
予測テキスト
オートコレクト、オートコンプリート、予測テキストなどは、スマートフォンではごく普通に搭載されているため、私たちは当然の機能と考えています。オートコンプリートや予測テキストは、入力内容に基づいてテキストを予測したり、単語の入力を完了させたり、関連する単語を提案したりするという点で、検索エンジンに似ています。また、オートコレクトでは、メッセージ全体を理解しやすくするために、単語が変更されることもあります。
これらは、ユーザーからの学習もします。予測テキストは、使用期間が長くなるにつれて、個人的な言葉の使い方に合わせてパーソナライズされます。これにより、携帯電話で予測テキストのみを使って作成した文章をシェアするという、楽しい試みを行えます。すると、驚くほどパーソナライズされ、啓発的な文章が出来上がります。これらは一部のメディアでも取り上げられています。
言語翻訳
スペイン語の課題でズルをしても、文法的に成立していないことでわかります。多くの言語では直訳ができず、文の構造順序が異なっています。これは、以前は翻訳サービスで見落とされていましたが、今では大きく改善されています。
オンライン翻訳ツールで NLP を活用することで、より正確に翻訳して、文法的に正しい結果を表示できます。これは、他の言語でコミュニケーションを図る場合に、非常に役立ちます。それだけでなく、別の言語から母国語に翻訳する際には、ツール上で入力されたテキストに基づいて言語を認識し、翻訳するようにもなっています。
デジタル通話
「この通話は、サービス向上の目的で録音される場合があります」と、一度は聞いたことがあるでしょう。その意味について、疑問に感じたことはほとんどないかもしれません。このような録音は、お客様のクレームが発生した場合に、サービス改善の目的で使用される可能性があります。ただし、ほとんどの場合は、将来的に学習して改善を図るため、NLP システムのデータベースに保存されます。自動化されたシステムでは、お客様からの電話をサービス担当者やオンラインチャットボットに転送して役立つ情報を提供することで、お客様の要望に対応します。これは、大手の電気通信プロバイダーを含む、多くの企業に採用されている NLP の実践例です。
NLP はまた、コンピューター上で生成した言語を人間の声に近づけています。Google Assistant でヘアサロンを予約する様子を紹介している動画でわかるように、オイル交換やヘアカットなどを予約する通話を自動化できます。
データ分析
データビジュアライゼーションに自然言語インターフェイスを提供する BI ベンダーが増えているのに伴い、データ分析のワークフローにも自然言語機能が組み込まれています。1 つの例として、データのセマンティクスに基づいて、適切なタスクに最適なビジュアライゼーションを提供する、スマート化されたビジュアルエンコーディングがあります。これにより、ユーザーが自然言語の記述や、解釈して意味を割り当てられる複数のキーワードで構成された質問を使用して、データを探索できる機会が増えます。
言語を適用してデータを調査すると、アクセシビリティのレベルが向上するだけでなく、アナリストやソフトウェア開発者のコミュニティの枠を超えて、組織全体の分析に対する障壁が低くなります。
自然言語が効果的なデータの視覚化と探索にどのように役立つのかについて詳しくは、こちらのウェビナーをご覧ください。
テキスト分析
テキスト分析は、さまざまな言語、統計、機械学習の手法を使用して、非構造化テキストのデータを意味のある分析用のデータに変換します。
特に顧客基盤の規模が大きなブランドにとって、センチメント分析は難易度が高いように思われるかもしれませんが、NLP を活用したツールを使えば通常、ソーシャルメディア上のコメントやレビュー、さらにはブランド名の言及など、お客様とのやり取りを調査して、発言された内容を確認することができます。これらのやり取りを分析することで、ブランドはマーケティングキャンペーンの成果を判断したり、多くのお客様が直面している問題を監視したりした上で、対応方法やサービスの改善方法を決定して顧客体験の向上を図ることができます。
データを可視化してビジネスを加速!
自然言語処理がもたらす未来
自然言語処理の活用事例を見て、「こんなところにも活用されていたのか」と驚かれたかもしれません。自然言語処理の技術は日進月歩であり、私たちが日常的に利用するサービスやプロダクトのレベルの向上に寄与しています。例えば、メールを使っていて、「そういえば、迷惑メールが少なくなったな」とか、「迷惑メールが正確に迷惑メールフォルダに分類されるようになったな」とか、感じることはないでしょうか。あるいは、「外国語の翻訳ツールの精度が向上したな」と感じることもあると思います。
これらのサービスは、自然言語処理技術に支えられており、技術の向上により着実な進歩を遂げているのです。本記事で紹介した事例以外にも、自然言語処理が活用されている場面は数多く存在しますし、これから活用が期待される場面も多くあります。既存ビジネスの発展はもちろん、自然言語処理により新たなビジネスが創出される可能性も大いにあります。企業や業界が自然言語処理の価値を受け入れ、理解が進めば、自然言語処理の活躍の場はさらに増えていくでしょう。
データを可視化してビジネスを加速!