Pocket

自然言語処理(NLP)は、分かるようで分からない方も多いのではないでしょうか。本記事では、今まさに起きている自然言語処理の進化と、実際の顧客サポート現場での活用のされ方について解説します。

自然言語処理とは何?

自然言語処理(Natural Language Processing=NLP)とは、人間が互いのコミュニケーションを行うために自然に発生した言語、例えば日本語や英語などの「自然言語」と、自然言語をコンピューターに理解・処理させる一連の技術を意味する「処理」を組み合わせた言葉です。

顧客サポート現場ではチャットボットや言語翻訳、テキスト分類や分析、感情分析などの用途で使われています。

自然言語処理の歴史は、実は長くさかのぼります。最初は1900年代に確率論や統計学の研究から始まりました。2000年代にはコンピューターの登場で、より大量のデータを使いながら性能向上や統計的手法の用途で活用されています。

そして、2010年代の第3次AIブームと呼ばれる時期から、ディープラーニングやニューラルネットワークによって飛躍的に発展してきました。

NLPの進化

近年に於けるNLPの進化

NLPモデルが急速に進化を始めたのがディープラーニングのフレームワークが活用され始めた2011年後半です。そして、2017年に出てきたTransformerが一つの契機になって発展のスピードがさらに上がったと言われています。

一説ではAIの活用における画像認識や音声認識の研究が先行して進み、それがひと段落したこの時期に、NLPにリソースが注がれるようになったという話もあります(諸説あり)。

それぐらいインパクトがあると言われているのがTransformerモデルであり、その後Transformerの進化系としてBERTやGPTといった派生モデルが出現しています。

コンタクトセンター現場のNLP活用の現在地

さて、顧客サポート、コンタクトセンターの分野でNLPはどう使われているのでしょうか。

実務ベースとしては、顧客からの問い合わせを自動で答えるチャットボットやオペレーター支援として多言語翻訳、回答文章の提案などで使われています。まだPOC的な色合いは強いですが、感情分析やコールセンターのログの解析・分析、大量のやりとりを分析するVOC要約、テキストではなく音声で電話を介在して店舗の予約をするボイスボットなどでの利用が徐々に始まっています。

コンタクトセンター現場に於けるNLPの活用の現在地

現在のチャットボット

現在のチャットボット

現在のチャットボットは、簡単に言うと二つに分類されます。まず一問一答型と呼ばれるものです。何かを自然文で聞いたらその問いかけに対して答えてくれるのが、一問一答型つまり、「教師データ作成によるFAQチャットボット」です。

例えば「オフィスの場所を教えて」という質問に関して、「会社はどこ」「オフィスの行き方は」といった揺らぎの文章をいくつか学習させます。自然な言語で様々な表現で入ってきた質問にも回答できるように、学習データを改善しながら回答率を挙げるようにしていくタイプのものになります。。

もう一つは、「分岐作成によるシナリオチャットボット」です。こちらはAIというよりは、樹形図で表せるような選択肢を選んでいくことで答えにたどり着くというものになります。一問一答ボットとシナリオボット。この二つの組み合わせで、企業のサポートページなどに活用されています。

現状は、FAQ(よくある質問集)の一つの表示形式として使われることが多いです。FAQのほかには手続き業務の自動化としてチャットボットが使われています。NLPの進化で今後どのように進化していくのでしょうか。

GPT-XXの威力

GPTという言語モデルを聞いたことのある方もいらっしゃると思います。Transformer以降に発達してきた自然言語モデルを活用するとどのような世界になっていくのかを事例と一緒に見ていきます。

・プログラミングコードの自動生成

(上記動画の1:44~2:15)

「タスクを入れたらこんな処理をさせたい」という文章を書くと、JavaScriptのライブラリを自動で生成。「こういうコードを作りなさい」と個別に教育したのではなく、すでに用意したコードからプログラミングが自動生成される仕組みです。

・質問者の意図を理解した回答

(上記動画の2:18~2:34)

「パンはなんでこんなにふわふわしているの」という質問を投げています。この質問に対し、引き当てられたのは「パンはなぜ膨らむのか」というパンが膨らむ原理を説明する文章です。「ふわふわしている」という表現を、「パンが膨らむ」という現象に置き換えて検索をしています。

・ドキュメント情報を整理分類

(上記動画の2:46~4:03)

Excelの表計算を自動で展開するものです。パブリックカンパニーを題材に入力すると、カンパニーネームや設立年月日、証券市場のピッカー情報などを自動で想定して情報を収集・入力します。

設立年度順に入れ替えたり、架空の企業に関する文章を追加すると自動的に文章内にある情報を引っ張り出してスプレッドシート状に展開しています。これまでのAIでは一つずつどこに何を入れるといった学習させないといけなかったのもが、全体の文章からどの情報基軸で整理をすれば良いのかを自動で判断しています。

NLPモデルの進化

NLPモデルの進化

NLPモデルの概念どう変わってきたか非常に簡単に紹介します。

Transformer登場前は、

文章を細かく分解して個々の単語を多重ベクトルで表現して、順番に単語間の関係性をもベクトル表現しながら文章にしていました。この方法論では一つ一つ順番に関連性をベクトル化していくことから長い文章では膨大な処理になり時間とコストがかかってしまいます。

Transformerの概念では、単語間の関係を関数化して処理します。

関数化すると一部の情報が失われてしまうという問題を解決したのがTransformerと言われています。順々に単語を処理するのではなく、並列で単語同士の類似性や重要度を並列処理することが大きな変化点です。(より詳しく理解されたい方は多くの論文が出てますのでそちらをご参考にしてください)

BERTやGPTといったその先のモデルは、Transformerをベースにしていてパラメーターのベースの数を増やし、学習文章量を拡張し精度を上げています。いわゆるTransformerの改良版として位置づけられています。最近のGPT3などは1750億個ものパラメター数を持ち、約5000億語のデータプールが使われていると言われています。

非常に簡単にまとめたものですが、これまでのNLPの進化は、単語間の関係性の情報をどれだけ効率的に、多次元で処理できるかの取り組みということができます。

・World2Vec

個々の単語の多重ベクトル化

単語単位でのマッチングなので文章としての構成は加味しない

・Seq2Seq

単語間の関係性をシークエンシャル(順番)に保持

シークエンシャルな処理が累計的にされるので、長い文章では膨大な処理になる

・Seq2Seq+Attention

単語間の関係性を関数化して保持

単語間の関係を1対1で保持しない為長い文章にも対応可能となるが、一部関係情報が失われる

・Transformer

単語同士の類似度や重要度の照応関係情報を獲得し関数化によるデータの欠損を回避する

同一文章内の類似度が獲得され、多義語や代名詞などが実際に何を指しているのか理解できる

・GPT

学習したことがある事柄と無い事柄の関連性を見出す

他の所で学習したデータがあれば、その関連性を基に推論を行う事が出来る。

多量の汎用言語モデルを用意する事で、精度を上げることが出来る様な構造

・GPT-2/3

GPTモデルの進化版であり、サンプル学習を取り入れ追加学習を可能にして精度をあげると共に、パラメタ―数の拡大&汎用モデルデータセット量拡大により精度を上げる取り組み

商用ソリューションの現在地

NLPモデルの進化と商用ソリューションの現在地

非常にアバウトですが、現在市場に出ているチャットボットに使われているNLPもでるはこの図にある赤い矢印当たりではないかと考えます。

Transformerより先の技術は、いろんな会社で取り組みをされていていますが、まだ実用化には至っていません。一番の課題は都度大量のデータ処理が必要であり、実用にはコストがかかりすぎるという理由が大きいようです。

これまでの歴史を振り返ると、アカデミックで出てきた技術がユーザーとして目にするのは早くて5,6年、長いと7,8年くらいかと思います。今後、顧客サポート現場に活用されたときにどの様な変化が生まれるのか。その時に人とAIの役割分担はどう変わっていくのか、大変楽しみです。

mobiVoice
avatar
細川
モビルスでは、IBM Watson、Dialogflow、BEDORE、CAIWA、AI SQUARED、QA ENGINE、LINE BRAINなど様々なAIエンジンと連携したチャットボットの開発実績があります。AIチャットボットをお考えでしたら、モビルスまでご相談ください。お問い合わせ・ご相談フォーム