チャットボットで活用されている【自然言語処理】とはどんな技術?

コラム

自然言語処理の技術で、顧客からの問い合わせに応じることが可能に

チャットボットは顧客からの問い合わせに応じることができます。そして、チャットボットの中には、自然な文章による質問に答えられるものもあります。ChatGPTなどの生成AIに至っては、かなり自然な会話ができます。

それを可能としたのは「自然言語処理」という技術です。チャットボットの会話の仕組みについて深掘りしたい人のために、自然言語処理で用いられている解析方法や処理方法などについて説明します。

自然言語処理とは

自然言語処理とは、人間の話し言葉や書き言葉の内容をコンピュータが解析・処理することを指します。

人間の話し言葉や書き言葉の内容は、曖昧さがあるほかに意味の重複も生じるため、前後の文章の流れや物事に関する基礎的な知識がなければ、誤った意味で受け取ることにもなりかねません。

例えば、話し言葉では「くるまでまとう」というものがあります。

アクセントが「く」の部分にあれば「来る」という意味になるため、「来るまで待とう」となります。

また、アクセントが「るま」の部分にあれば「車」の意味になるため、「車で待とう」となります。

人間の場合は、ちょっとしたアクセントを聞き分けられるため、文章の意味を即座に理解できますが、コンピュータの場合は、文章を細かく分けたうえでそれぞれの単語の意味を理解しなければ、一つの文章として把握することができません。

そのため、コンピュータが文章の内容を理解するためには解析の作業が必要となります。解析の内容については次の項目でくわしく説明します。

自然言語処理において行われる解析方法

自然言語処理において行われる解析方法としては、以下の種類があります。なお、自然言語処理を行う場合は、下記に示した解析方法を上から順に処理していく形となります。

  • 形態素解析
  • 係り受け解析
  • 句構造解析
  • 意味解析
  • 文脈解析
  • 感情分析

次の項目では、それぞれの解析方法について説明します。

なお、「機械可読辞書」と「コーパス」を利用すると、コンピュータが文章をスムーズに理解しやすくなります。

機械可読辞書とは、コンピュータが文章を理解するために利用する辞書のことです。また、コーパスとは、自然言語を体系的にまとめてデータ化したものを指します。

コンピュータはコーパスを利用すると文法を理解できるようになり、機械可読辞書を利用すれば文章を理解するために必要な単語を習得できます。

これらを利用すると、コンピュータは人間の話し言葉を理解する能力が高まります。

形態素解析

形態素解析とは、文章を「形態素」に分けて解析する方法です。

形態素とは、文章をできる限り細かく分けたものを指します。一般的に、文章を細かく分けたものは「単語」となりますが、場合によっては「音節」など、単語よりも細かい単位に分けることがあります。

形態素解析は、文章を細かく分けて解析する手法であるため、検索エンジンにも活用されています。

先の項目で「くるまでまとう」の解析の仕方について説明しましたが、話し言葉の内容を理解するためには、「くるま」を「く」「る」「ま」に分けて考えなければなりません。なぜなら、「くるま」のアクセントの位置によって意味が変わってくるからです。

また、書き言葉の内容を理解するためには、単語ごとに分ける必要がありますが、日本語は他の言語と異なり、単語ごとにスペースで区切られていません。そのため、どのようにして文章を分ければよいか、ということをコンピュータが判別する必要があります。

係り受け解析

係り受け解析とは、構文解析の一つの方法です。

例えば「我々は山田さんが来るまで待つことにしよう」という文章は「我々は」と「待つことにしよう」が関連しているほか、「来るまで」と「待つことにしよう」が関連しています。

さらに「山田さんが」と「来るまで」も関連性があります。

このように、文章の係り受けを判別することによって、コンピュータは文章の内容を理解できるようになります。

句構造解析

句構造分析とは、文章を主語や述語のほか、名詞句、動詞句、形容詞句などに分けて解析する方法のことです。

形態素解析では文章を最小単位まで細かく分けたのに対し、句構造分析では文節で分けて考えます。

再び「我々は山田さんが来るまで待つことにしよう」という文章をみてみると、主語は「我々は」であり、述語は「待つ」となります。

また文節で分けると「我々は」「山田さんが」「来るまで」「待つことに」「しよう」となります。

句構造解析を利用すると、文章がどの部分で区切られているのかがわかります。その後、文節ごとに文章の内容を把握するために「文節処理」が行われます。

意味解析

形態素解析、係り受け解析、句構造解析では、文章の構造がどのようになっているのか、という点についてくわしく解析しました。しかしながら、文章の構造が明確になっても、文章の意味がわからなければ文章の内容は理解できません。

そこで行うのが「意味解析」となります。意味解析では、コンピュータがそれぞれの単語の意味を理解したうえで、文章の意味を把握します。

例えば、コンピュータが「我々は山田さんが来るまで待つことにしよう」という言葉を認識しようとしている場合、「我々」とは「私たち」を意味し、「山田さん」とは固有名詞であることを理解します。

これにより、コンピュータは「山田さんという人が来るまで、私たちは待っていよう」という内容であることを理解できます。

文脈解析

文脈解析とは、複数の文章の解析を行い、文章の前後の流れを把握することを指します。

具体的には、形態素解析や意味解析を複数の文章で行い、そのうえで、複数の文章のつながり具合について分析します。

しかしながら、文章が長くなるほど、コンピュータは形態素解析や意味解析だけで文脈全体の内容を把握することは困難となります。そこで、活用されるのが「アノテーション」です。アノテーションとは、機械学習を行ううえでもとになるデータのことを指します。

AI(人工知能)が機械学習を行う場合は大量のデータを必要とします。なぜなら、大量のデータをもとに学習することで、AIは一定のルールを発見し、そのルールに基づいて物事の解決を図るためです。

チャットボットの質を高めるためには、問い合わせの内容と返信の方法を学習させます。AIが学習するうえでのデータである「教師データ」が多いほど、言語処理の精度が高まります。

感情分析

人間は、文章に含まれている感情を読み取ることができますが、コンピュータは文章に含まれている感情を読み取ることは困難といえます。

コンピュータが文章に含まれている感情を読み取る手段として「感情分析」が用いられています。

例えば「暑い」はネガティブな感情を表しますが、「暖かい」はポジティブな感情を表しています。このように、どの単語がネガティブで、どの単語がポジティブか、ということを学習させることによって、コンピュータが文章に含まれる感情を把握できるようになります。

弊社イクシーズラボが自社開発したAI会話エンジン「CAIWA」にも自然言語処理の技術が使われています。

「CAIWAエンジン」は、言語学と人工知能の知見を取り入れた自然言語処理技術によって開発された、言葉(自然言語)の意味を理解し、最適な返答をするための高性能なAI会話エンジンです。

問い合わせログなど様々な言語データを元に、長い時間をかけて機械学習を行ってきた言語モデルにより、大量のデータを登録しなくても高い言語認識率を誇ります。

自然言語処理の精度を高める「言語処理機能」

言語処理機能とは、文章の内容を理解するために言語の処理を行うことです。この機能を活用することで、自然言語処理の精度の向上が見込めます。

この項目では「抽出処理」「類義解析」「構造解析」について説明します。

抽出処理

抽出処理とは、文章を解析するにあたって必要な情報を抽出する処理のことを指します。

抽出処理において抽出されるものとしては、固有名詞や代名詞が示す内容などがあります。

「我々は山田さんが来るまで待つことにしよう」という文章において、名前である「山田」は固有名詞として処理されることになります。

また「山田さんがそこまでやって来た」という文章に関しては、「そこ」が代名詞となりますが、「そこ」がどこなのかを文脈から読み当てる必要があります。

類義解析

類義解析とは、同じ内容を複数の言い回しで表現していることについて解析するものです。

再度先ほどの例を用いると、みんなが待っていた山田さんがついに現れたとき、「山田さんが来たよ!」「山ちゃん遅いよ!」などと言うでしょう。その場にいる人たちには「山田さん」と「山ちゃん」が同一人物であることがわかります。しかしコンピュータが分析を行った場合、このような判断は難しいでしょう。

類義解析を行うと「山田さん」と「山ちゃん」は「山」が共通していること、そして「さん」や「ちゃん」は相手を呼ぶときに使われる単語であるなどを解析し、同一人物であることの推測が可能となります。

構造解析

構造解析とは、一つの文章に曖昧さがあるために、どのように解釈すればよいか、ということを解析する手法のことです。

例えば「寝不足の山田さん 待ち合わせに遅れそうになる」という文章については、

・山田さんは単に寝不足だった 待ち合わせに遅れそうだった

と2つの文章を別々に解釈することもできますが、以下のように解釈することもできます。

・山田さんは寝不足だったので、待ち合わせに遅れそうになった

つまり、寝不足が原因で待ち合わせに遅れそうになった、というように因果関係を持たせることもできます。

このように、文章の構造を深く解析することで、文章の意味合いを深掘りすることが可能となります。

自然言語処理で用いられている技術

チャットボットの自然言語処理では、さまざまな解析方法と言語処理機能が用いられることについて説明しました。

自然言語処理の精度向上を図るため、各種解析方法や言語処理機能のほかに、さまざまな技術が活用されています。

BERT

BERTとは、深層学習モデルの「Transformer」をベースとした事前学習の手法で、コンピュータが自然言語処理を学習するために利用されます。BERTはGoogleによって開発されました。

BERTの特長は文章を双方向から処理できる点です。文章をさまざまな角度から分析することでコンピュータは前後の文章を把握できるようになったため、文脈を理解する精度が向上しました。

また、BERTに関連した自然言語処理モデルとして「XLNet」と「ALBERT」があります。

XLNet

XLNetとは、自然言語処理の性能がBERTを上回るモデルのことです。

XLNetは、BERTの言語処理で使用していた「MASK」の概念を使用せず、単語の順序を並べ替える方法で事前学習を行います。また、BERTと比べると長文を理解することが可能となりました。

ALBERT

ALBERTとは、BERTに対して容量が軽量化されたモデルです。軽量化によって、難しいと思われる箇所のみを重点的に処理し、簡単な箇所は手短な処理にとどめています。

これにより、言語処理速度の高速化を実現しました。

BERTと比べると言語処理の精度がやや抑えられたものの、難しい文章を重点的に言語処理する仕組みとしているため、言語処理のレベルは十分な内容となっています。

word2vec

word2vecとは、自然言語処理を行う手段の一つで、文章の中の単語をベクトルに変換する方法です。ベクトルとはデータ構造を意味しており、言うならば文章で使われているそれぞれの単語をデータ化することを指します。

それぞれの単語をデータ化することによって、各単語を見分けることが容易となりました。word2vecを利用することで自然言語処理の精度向上が実現したため、word2vecの手法はチャットボットにも活かされています。

リカレントニューラルネットワーク(RNN)

ニューラルネットワークとは、脳の神経に類似した数理モデルのことで、データが入力されると出力される仕組みのことです。また、ニューラルネットワークは時間の概念がない状態で物事を判別する場合に利用されます。

しかしながら、自然言語処理においては、文章の内容を理解するために、過去に起きた出来事を参照する必要があります。つまり、一般的なニューラルネットワークでは時系列という概念がないために、過去に起きた出来事を含めて会話をすることができません。

例えば「我々は山田さんが来るまで待つことにしよう」という会話は、「すでに山田さんがこちらに向かっている」という情報が前提となります。もし「山田さんがこちらに向かっている」という情報がなければ、山田さんを待つこと自体が無意味になってしまいます。

その点、リカレントニューラルネットワークは、データを入力して出力された内容が見直される仕組みであることが特徴です。この「見直される」という仕組みによって、過去のデータを参照することができます。

言うならば、リカレントニューラルネットワークは時系列のデータを取り扱うのに最適なニューラルネットワークであるといえます。

Seq2seq

Seq2seqとは「Sequence-to-sequence」の略語で、深層学習で用いられているモデルの一つです。

Seq2seqは、文字列などの情報を受け取り、別の系列の内容を出力する点が特徴です。例えば、文章の羅列を入力した場合、文章の法則性を理解したうえで、わかりやすい文章に変換できます。

また、Seq2seqはリカレントニューラルネットワークをベースとしたモデルであるため、時系列を加味した出力が可能となり、自然な流れの文章を出力することが可能となります。

まとめ

自然言語処理の最終目標は「文字として並んでいるものを文章としてとらえ、その内容を理解すること」にあります。

それを実現するために、さまざまな解析方法や言語処理の機能、そして自然言語処理に関する各種の技術が用いられています。

これらの解析方法や技術を活用することで、チャットボットの分野では顧客からの簡単な問い合わせに応じられるようになり、オペレーターの業務負担軽減に貢献できるようになりました。 自然言語処理の技術は、今後ますます高まることが期待されます。チャットボットが難しい問い合わせに応じられるようになるのも、そう遠くはないのかもしれません。

費用対効果が高いイクシーズラボの高性能AIチャットボット

AIチャットボットCAIWA Service Viii

AIチャットボットCAIWA Service Viii

Viiiは、導入実績が豊富で高性能なAIチャットボットです。学習済み言語モデル搭載で、ゼロからの学習が必要ないため、短期間で導入できます。導入会社様からは回答精度が高くメンテナンスがしやすいと高い評価をいただいています。

サービス詳細ページへ >

イクシーズラボが提供する次世代のAIチャット型検索システム

CAIWA Service CoReDA

AIチャット検索CAIWA Service CoReDA

CoReDAは、AIを活用した高度な検索機能により容易に目的の情報を得ることができるチャット型の情報検索システムです。データを取り込み基本設定をするだけで、絞り込み検索シナリオやQ&Aを手間なく作成できるのが特徴です。

サービス詳細ページへ >