Wiki トピック

自然言語処理

自然言語処理(NLP)とは

自然言語処理(NLP)は、人間の言語をコンピューターが認識して理解できるようにするための一連の人工知能技術です。これは、コンピューターをもっと人間が利用しやすくするのに役立ちます。自然言語処理では、人間の意思疎通とコンピューターの理解力との隔たりを埋めるために、コンピューターサイエンスと計算言語学(英語)を使用します。その際、膨大な量のテキストデータを高速で分析して、言葉の背後にある意味を把握します。自然言語処理(英語)によって、意図、感情、感性などの人間の微妙な概念をコンピューターが理解できるようになります。コンピューターと人間との対話をもっと自然なものにするという目的においては、コグニティブコンピューティングに似ています。 

自然言語処理が重要な理由

人間は、単語、語句、文章を理解しますが、その際に大きな役割を果たすのが「文脈」と「親密度」です。たとえば、人間は特定の文脈で特定の語句を聞くと、それに沿った理解が促されるものです。ところが、同じ語句でも他の単語との密接な関連の中で聞くと、まったく異なった意味になることがあります。私たちが、洗練された会話を比較的容易に行えるのは人間にこうした能力があるからです。自然言語処理(英語)も同様の考え方に基づいて開発されています。コンピューターでテキストや単語、その他のデータを分析し、話の意図を解析するのです。コンピューターの強みは、人間よりはるかに大量のデータをはるかに高速に分析できる点にあります。

自然言語処理には以下のような用途があります。

  • Alexa や Siri などのスマートアシスタントでは、自然言語処理のアルゴリズムが動作の基盤になっています。これらのツールでは、音声認識技術で発話内容を理解し、適切な応答に結び付けます。この技術は当初「Hey Siri」や「Hey Alexa」と誰が呼びかけているのかを識別するために用いられました。最近では、文脈を理解してショートカットを作成するなど、スマートアシスタントでできることが増えており、新しい処理技術は、冗談を理解してユーモラスに返す方法にまで発展しています。 
  • スマートフォンでの文字起こしや翻訳は、ますます一般的になりつつあります。この良い例は、会議中に電話がかかってきた時です。留守番電話の内容を文字に起こす機能が電話にあれば、重要なメッセージを目で確認できます。一方、翻訳ツールは、初めての国の訪問といったまったく初めての状況で私たちを助けてくれます。以前は、外国語辞典を持ち歩かなければなりませんでした。今では、スマートフォンに向かって話しかければ、数秒で適切な外国語が返ってきます。 
  • メールをスキャンして分類するスパムおよびメールフィルターは、自然言語処理(英語)技術に大いに依存しています。この技術で、スパムやフィッシングメールに共通の言い回しがないか分析します。例えば、金融用語の使用、誤字脱字、おかしな構文や文法、脅迫的な表現などです。別の例として、メールの性質を自動的に重要、ソーシャル、プロモーションと認識する受信トレイがあります。このフィルタリング機能は、受信トレイを整理された状態に維持したり、重要性の高いメールを目立つ場所に表示したりするのに役立ちます。 
  • 予測入力オートコレクト自動補完を活用すれば、メールなど文章の正解率が向上し、時間を節約できます。これらのツールは NLP (英語)を利用しており、絶えず改善されていきます。たとえば、スマートフォンを使い込むほど、入力され始めた文字からスマートフォンが言葉を的確に予測できるようになります。予測入力は、ひと続きの反復ステップを半自動化するだけでなく、正解率を確保するのにも役立ちます。同様に、NLP は検索エンジンの結果や Web ページのサジェスト機能の改善に寄与できます。 
  • データおよびテキスト分析は、ビジネスインテリジェンス企業などにとって極めて重要なツールです。データを収集しても、それを実用的かつ有意義な方法で分析できなければ無意味です。自然言語処理(英語)を利用して、言葉でデータをセグメント化できれば、企業のプロセス向上に役立ちます。NLP はその他にも、たとえば、ソーシャルメディアのコメントを分析して、顧客の反応をより正確に把握することに応用できます。 

こうした活用事例は、自然言語処理のソフトウェア分野の価値を実証しています。そして、自然言語処理技術は、機械学習との組み合わせで絶えず改善されていく、という事実に大きな意味があります。実際に、自然言語処理でのディープラーニングには、これまでに説明した活用事例を思いも寄らないような新しい方向(英語)に発展させる力があります。 

自然言語処理 + DataRobot

DataRobot AI Cloud プラットフォームは、さまざまな NLP 機能を備えています。データセットでテキストの特徴量が検知されると、DataRobot で言語が特定され、必要な前処理のステップが実行されます。テキストデータの特徴量エンジニアリングについては、DataRobot がデータセットに最適なテキストマイニングアルゴリズムを自動的に検索、チューニング、解釈するので、時間とリソースの両方を節約できます。

自然言語処理

DataRobot の機能には、トークン化、データクリーニング(語幹抽出、ストップワードの除去など)や、さまざまなベクトル化手法の適用が含まれますが、これらに限定されてはいません。DataRobot AI Cloud プラットフォームでは、n-gram 行列(bag-of-words、bag-of-characters)分析アプローチのほか、Word2Vec、fastText など CBOW と Skip-Gram 両方の学習法を内包する単語埋め込み手法をサポートします。さらに、このプラットフォームで単純ベイズ SVM やコサイン類似度分析を実行できます。

DataRobot は、BERT(Google が開発した Transformer ベースの NLP 転移学習デファクトスタンダード)を始めとする最新の言語表現モデルを含め、NLP 機能を絶えず拡張しています。Tiny BERT(または BERT の蒸留されたいずれかの小型バージョン)のブループリントが DataRobot Repository から利用できます。これらのブループリントは、NLP 分野で学習済みの特徴量抽出機能を備えています。  

視覚化については、テキスト分析を改善するためのワードクラウドがあります。ユーザーは、モデルの予測結果に影響を与えている単語を把握したり(二値分類、多値分類、回帰の場合)、クラス固有のワードクラウドを表示したり(多値分類プロジェクトの場合)、よくあるストップワード(英語では for、was、or、日本語では「は」、「の」、「です」など)を除外したり、他にもいろいろな使い道があります。 

DataRobot AI Cloud プラットフォームとその NLP 機能について詳しくご説明いたします。今すぐお問い合わせください。