0120-56-2982 どんなことでもお気軽にお問合せ下さい。
  • 営業時間 / 9:00-18:00
  • 休日 / 土日祝日と年末年始・夏季休暇

IT人材紹介のピーシーキッド

人工知能

人工知能

人工知能

ピーシーキッドの人工知能技術

当社の開発目標

スタンドマイクを前にするpashi

当社では、2015年からコミュニケーション・ロボットPASIと、受付ロボットPK-IIを開発しています。共に、人間が話しかけると返事をし、ジェスチャーもしてくれます。人間とロボットが会話をする仕組みを自然言語処理といいますが、開発当初、自然言語処理は世界的にも人工知能という視点から見るとまだまだ発展途上の状態で、会話処理の部分に関しては伝統的なルール・ベースで行うことが多く、あまり性能はよくありませんでした。ルール・ベースとは、プログラミングによって言語の文法を制御構造で表現したものを利用して言語を処理する方式です。現在に至ってもチャットボットと呼ばれるサービスの多くがルール・ベースを基本に開発されているため、まだまだ人間同士のような自然な会話とは程遠いのが現状です。最近になって、Googleの技術者からBERTと呼ばれる技術が発表されました。BERTを利用すると、自然言語処理を大幅に進化させることができます。当社では、BERTのような技術を開発し、それによってコミュニケーション・ロボットPASIと、受付ロボットPK-IIを高度化させることを目標としています。

自然言語処理の重要性

自然言語処理のイメージ画像

「人工知能」から連想されるものには色々ありますが、ここでは、コミュニケーション・ロボット、スマート・スピーカー、そしてチャットボットを取り上げます。コミュニケーション・ロボットは、人間の言葉を聞き、それを理解し、返答を考えてから言葉を話し、ジェスチャーをします。スマート・スピーカーは、ジェスチャーのないロボットです。チャットボットは、言葉を聞いたり話したりする代わりに、テキストの入出力をします。

これらに共通するのは、言語理解と言語生成です。言語理解と言語生成を比べると、言語理解のほうが難しいです。なぜなら、言語理解では、人間のいろいろな表現に対応しなくてはいけないからです。

自然言語処理とは、日本語や英語など人間の言葉をコンピューターで処理することです。言語理解も言語生成も自然言語処理の一部です。

人工知能技術によって自然言語処理が高度化できれば、高度なコミュニケーション・ロボット、スマート・スピーカー、そしてチャットボットが実現できるのです。

最先端の自然言語処理

BERTとは

自然言語処理は、コンピューターが発明された直後から研究されてきました。長い間、自然言語処理は基本的にルール・ベースでした。その後、ディープ・ラーニングが発明され、自然言語処理にディープ・ラーニングを応用するようになります。例えば、RNN (回帰型ニューラル・ネットワーク) は一定の成果を上げました。

2018年、GoogleがBERT (Bidirectional Encoder Representations from Transformers) とよばれる言語モデルを発表し、これによって自然言語処理が一気に進化します。例えば、GPT-3とよばれる言語モデルでは、あたかも人間が書いたような文章が生成できます。

BERTが成功した理由は2つあります。1つめは学習方法です。人間が書いた文章から穴埋め問題を作成し、それらを大量に学習させるというものです。2つめは、ディープ・ラーニングの一種であるトランスフォーマーを利用したことです。

 以下では、トランスフォーマーの基本要素であるアテンション機構の考え方、トランスフォーマーの概要、そしてBERTの仕組みの概要を紹介します。

アテンション機構

アテンション機構は、情報の流れ方を学習することです。自然言語処理でいえば、単語の並びのどこから情報を取ればよいかを学習することです。

今、n個の単語からなる文章を処理することを考えます。 xii番目の単語のベクトル表現とします。学習可能な行列WQ,WK, WVを用意し、d次元のクエリー・ベクトルqi=xi TWQ,キー・ベクトルk i = xiTWK, 値ベクトルv i = xiTW Vとします。これらのクエリー・ベクトル、キー・ベクトル、値ベクトルを列ごとに並べた行列をQ, K, Vとします。このとき、アテンションは次のように計算されます。

Q,K,Vのアテンション
トランスフォーマー
図-1 トランスフォーマーの構造

トランスフォーマーは、アテンション機構を利用したニューラル・ネットワークです。トランスフォーマーは、アテンションを計算する層 (multi-head attention) の他に、入力を正規化する層 (layer normalization)や、活性化関数で非線形変換を行う層 (feedforward network) から構成されます。

トランスフォーマーは、このように複数の層で構成されているので、ディープ・ラーニングの一種といえます。

BERTの仕組み
トランスフォーマーは、アテンション機構を利用したニューラル・ネットワークです。
図-2 BERTの構造

BERTは、トランスフォーマーを組み合わせたニューラル・ネットワークです。BERT は、データの流れ方に特徴があります。データは層ごとに流れるのですが、直前の層のすべての出力を入力しているのです。これによって、前後の文脈を使えるようになっているのです。

チャットボットの場合

文章分類

ここでは例として、ECサイトのチャットボットにおける自然言語処理を考えます。 人間が「MacBook Airは売っていますか」と入力したら、これは在庫確認を意味しています。また、「安いデスクトップパソコンを教えて」と入力したら、これは商品検索です。このように、人間の入力した文章を分類することを、文章分類とよびます。

BERTで文章分類を行うには、あらかじめ学習をしておきます。以下のような文章とラベルの組をなるべく多く用意して、訓練データとします。

これらの訓練データで学習を行っておくと、人間が入力した文章が訓練データにないようなものでも、在庫管理や商品検索といったラベルを推論してくれるのです。

表1 : 文章分類の訓練データ
文章 ラベル
MacBook Airは売っていますか 在庫確認
iMacはありますか 在庫確認
... 途中省略
安いデスクトップパソコンを教えて 商品検索
新しいノートパソコンがほしい 商品検索
... 途中省略
固有表現抽出

ECサイトのチャットボットでは、人間の入力から商品名を取り出すことが重要になります。「MacBook Airは売っていますか」なら「MacBook Air」を取り出し、在庫データベースに問い合わせることで、在庫確認ができるのです。このように、文章から固有名詞を取り出すことを、固有表現抽出といいます。

BERTで固有表現抽出を行うには、あらかじめ学習をしておきます。以下のような文章とラベルの組をなるべく多く用意して、訓練データとします。

これらの訓練データで学習を行っておくと、人間が入力した文章が訓練データにないようなものでも、MacBook AirやiMacといったラベルを推論してくれるのです。

表2 : 固有表現抽出の訓練データ
文章 ラベル
MacBook Airは売っていますか MacBook Air
iMacはありますか iMac
... 途中省略
TOP