JP2020160285A - エージェント装置、情報提供方法、及びプログラム - Google Patents
エージェント装置、情報提供方法、及びプログラム Download PDFInfo
- Publication number
- JP2020160285A JP2020160285A JP2019059884A JP2019059884A JP2020160285A JP 2020160285 A JP2020160285 A JP 2020160285A JP 2019059884 A JP2019059884 A JP 2019059884A JP 2019059884 A JP2019059884 A JP 2019059884A JP 2020160285 A JP2020160285 A JP 2020160285A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- agent
- voice
- utterance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】利用者をより満足させることができる。【解決手段】エージェント装置は、利用者の発話の音声を示す第1データを取得する取得部と、前記第1データから、前記第1データのデータ量を少なくした第2データを生成する生成部と、前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する提供部と、を備える。【選択図】図2
Description
本発明は、エージェント装置、情報提供方法、及びプログラムに関する。
従来、車両の乗員と対話を行いながら、乗員の要求に応じた運転支援に関する情報や車両の制御、その他のアプリケーション等を提供するエージェント機能に関する技術が開示されている(例えば、特許文献1参照)。
近年では、エージェント機能を車両に搭載することについて実用化が進められている。エージェント機能を実現するための一つの手法として、車内でユーザが発話した音声データなどをサーバに集約し、サーバに音声認識処理や自然言語処理といった処理負荷の大きい処理を行わせる手法がある。しかしながら、従来の技術では、車両からサーバへと頻繁にデータが送信されたり、一つ一つのデータの容量が大きかったりするため、データの通信速度に制限が設けられたり、データ通信に係る利用料が増加したりする傾向にあった。この結果、エージェント機能によって提供されるサービスを享受する利用者を十分に満足させることができない場合があった。
本発明は、このような事情を考慮してなされたものであり、利用者をより満足させることができるエージェント装置、情報提供方法、及びプログラムを提供することを目的の一つとする。
本発明に係るエージェント装置、情報提供方法、及びプログラムは、以下の構成を採用した。
(1)本発明の一態様は、利用者の発話の音声を示す第1データを取得する取得部と、前記第1データから、前記第1データのデータ量を少なくした第2データを生成する生成部と、前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する提供部と、を備えるエージェント装置である。
(2)の態様は、上記(1)の態様のエージェント装置において、前記利用者が、移動体を利用する利用者であり、前記移動体に搭載され、かつ前記移動体の外部に存在する一以上の他装置と通信する通信部と、前記通信部を用いて、前記第2データを少なくとも前記一以上の他装置のいずれかに送信する通信制御部と、を備え、前記提供部が、前記第2データが送信された前記他装置から前記通信部が前記発話の意味の解釈結果を示す第3データを受信した場合、前記第3データに基づいて、前記サービスを提供するものである。
(3)の態様は、上記(1)または(2)の態様のエージェント装置において、前記第1データに対して音声認識を行い、前記第1データが示す発話の中に、予め決められたキーワードが含まれるか否かを判定する判定部を更に備え、前記生成部が、前記判定部の判定結果に応じて、前記第2データを生成するするものである。
(4)の態様は、上記(3)の態様のエージェント装置において、前記判定部が、前記キーワードとして、前記第1データが示す発話の中にフィラーが含まれるか否かを判定し、前記生成部が、前記第1データが示す発話の中に前記フィラーが含まれると前記判定部が判定した場合、前記第1データから前記フィラーを除いた前記第2データを生成するものである。
(5)の態様は、上記(3)または(4)の態様のエージェント装置において、前記生成部が、前記第1データが示す発話において、第1発話が前記キーワードの前に出現し、第2発話が前記キーワードの後に出現する場合、前記キーワードを介さずに前記第1発話と前記第2発話とを繋げたデータを、前記第2データとして生成するものである。
(6)の態様は、上記(2)の態様のエージェント装置において、前記第1データまたは前記第2データに対して自然言語処理を行い、前記第1データまたは前記第2データが示す発話の意味を解釈する自然言語処理部を更に備え、前記通信制御部が、前記自然言語処理部によって解釈された意味に応じて、前記第2データを前記他装置に送信せず、前記提供部が、前記自然言語処理部によって解釈された意味に応じた処理を、前記サービスとして行うものである。
(7)本発明の他の態様は、コンピュータが、利用者の発話の音声を示す第1データを取得し、前記第1データから、前記第1データのデータ量を少なくした第2データを生成し、前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する情報提供方法である。
(8)本発明の他の態様は、コンピュータに、利用者の発話の音声を示す第1データを取得する処理と、前記第1データから、前記第1データのデータ量を少なくした第2データを生成する処理と、前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する処理と、を実行させるためのプログラムである。
上記のいずれかの態様によれば、利用者をより満足させることができる。
以下、図面を参照し、本発明のエージェント装置、情報提供方法、及びプログラムの実施形態について説明する。
<第1実施形態>
エージェント装置は、エージェントシステムの一部または全部を実現する装置である。エージェント装置は、移動体に搭載される。移動体は、例えば、二輪や三輪、四輪等の車両である。なお、エージェント装置が搭載される移動体は、車両に限られず、例えば、旅客機や飛行船などの航空機や、旅客船などの船舶といった他の移動体であってもよい。以下、一例として、移動体が車両であるものとし、更に、エージェント装置が搭載される車両を、「車両M」と称して説明する。
エージェント装置は、エージェントシステムの一部または全部を実現する装置である。エージェント装置は、移動体に搭載される。移動体は、例えば、二輪や三輪、四輪等の車両である。なお、エージェント装置が搭載される移動体は、車両に限られず、例えば、旅客機や飛行船などの航空機や、旅客船などの船舶といった他の移動体であってもよい。以下、一例として、移動体が車両であるものとし、更に、エージェント装置が搭載される車両を、「車両M」と称して説明する。
エージェント装置は、複数種類のエージェント機能を備える。例えば、エージェント機能は、ユーザと対話をしながら、ユーザの発話の中に含まれる要求(コマンド)に基づいて、各種情報をユーザに提供したり、ネットワークサービスを仲介したりする機能である。複数種類のエージェントはそれぞれに果たす機能、処理手順、制御、出力態様・内容がそれぞれ異なってもよい。また、エージェント装置が備える複数のエージェント機能の中には、車両Mに搭載された車載機器(例えば運転制御や車体制御に関わる機器)の制御等を行う機能を有する機能が含まれる。
エージェント機能は、例えば、ユーザの音声を認識する音声認識機能(音声をテキスト化する機能)に加え、自然言語処理機能(テキストの構造や意味を理解する機能)、対話管理機能、ネットワークを介して他装置のデータベースを検索し、或いは自装置のデータベースを検索するネットワーク検索機能等を統合的に利用して実現される。これらの機能の一部または全部は、AI(Artificial Intelligence)技術によって実現されてよい。また、これらの機能を行うための構成の一部(特に、音声認識機能や自然言語処理機能)は、エージェントサーバ(外部装置)に搭載されてもよい。エージェントサーバは、例えば、車両Mに搭載された通信装置と通信したり、車両M内に持ち込まれた端末装置と通信したりする。以下の説明では、構成の一部がエージェントサーバに搭載されており、エージェント装置とエージェントサーバが協働してエージェントシステムを実現することを前提とする。また、エージェント装置とエージェントサーバが協働して仮想的に出現させるサービス提供主体(サービス・エンティティ)をエージェントAGと称する。エージェントAGは、音声アシスタントとも呼ばれる。
<システムの全体構成>
図1は、第1実施形態に係るエージェントシステム1の構成図である。エージェントシステム1は、例えば、エージェント装置100と、複数のエージェントサーバ200−1、200−2、200−3、…とを備える。符号の末尾のハイフン以下の数字は、エージェントAGを区別するための識別子であるものとする。いずれのエージェントサーバであるのかを区別しない場合、エージェントサーバ200と総称する場合がある。図1では3つのエージェントサーバ200を示しているが、エージェントサーバ200の数は2つであってもよいし、4つ以上であってもよい。以下、符号「200−1」が付されるエージェントサーバを、「第1エージェントサーバ」と称し、符号「200−2」が付されるエージェントサーバを、「第2エージェントサーバ」と称し、符号「200−3」が付されるエージェントサーバを、「第3エージェントサーバ」と称して説明する。これらのエージェントサーバ200は、互いに異なる事業者によって運営される。例えば、自動車メーカー、ネットワークサービス事業者、電子商取引事業者、携帯電話の販売事業者や製造事業者などが、それぞれのエージェントサーバ200を運営および管理してよい。したがって、本実施形態におけるエージェントAGは、任意の主体(法人、団体、個人等)によって提供される。エージェントサーバは、「他装置」の一例である。
図1は、第1実施形態に係るエージェントシステム1の構成図である。エージェントシステム1は、例えば、エージェント装置100と、複数のエージェントサーバ200−1、200−2、200−3、…とを備える。符号の末尾のハイフン以下の数字は、エージェントAGを区別するための識別子であるものとする。いずれのエージェントサーバであるのかを区別しない場合、エージェントサーバ200と総称する場合がある。図1では3つのエージェントサーバ200を示しているが、エージェントサーバ200の数は2つであってもよいし、4つ以上であってもよい。以下、符号「200−1」が付されるエージェントサーバを、「第1エージェントサーバ」と称し、符号「200−2」が付されるエージェントサーバを、「第2エージェントサーバ」と称し、符号「200−3」が付されるエージェントサーバを、「第3エージェントサーバ」と称して説明する。これらのエージェントサーバ200は、互いに異なる事業者によって運営される。例えば、自動車メーカー、ネットワークサービス事業者、電子商取引事業者、携帯電話の販売事業者や製造事業者などが、それぞれのエージェントサーバ200を運営および管理してよい。したがって、本実施形態におけるエージェントAGは、任意の主体(法人、団体、個人等)によって提供される。エージェントサーバは、「他装置」の一例である。
エージェントシステム1に含まれる各装置はネットワークNWを介して接続される。ネットワークNWは、例えば、インターネット、セルラー網、Wi−Fi網、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、電話回線、無線基地局などのうち一部または全部を含む。ネットワークNWには、各種ウェブサーバ300が接続されており、エージェントサーバ200、またはエージェント装置100は、ネットワークNWを介して各種ウェブサーバ300からウェブページを取得することができる。
第1エージェントサーバ200−1は、第1事業者によって運営および管理されるサーバである。第1事業者は、例えば、自動車メーカーである。例えば、第1エージェントサーバ200−1は、ネットワークNWを介して、他のエージェントサーバ200と通信したり、エージェント装置100と通信したりする。第1エージェントサーバ200−1は、例えば、エージェント装置100に、第1事業者独自のエージェント(以下、第1エージェントAG1と称する)をサービスとして提供させる。
第2エージェントサーバ200−2は、第2事業者によって運営および管理されるサーバである。第2事業者は、例えば、ショッピングサイトなどを提供するネットワークサービス事業者である。例えば、第2エージェントサーバ200−2は、ネットワークNWを介して、他のエージェントサーバ200と通信したり、エージェント装置100と通信したりする。第2エージェントサーバ200−2は、例えば、エージェント装置100に、第2事業者独自のエージェント(以下、第2エージェントAG2と称する)をサービスとして提供させる。
第3エージェントサーバ200−3は、第3事業者によって運営および管理されるサーバである。第3事業者は、例えば、自動車メーカーや、ネットワークサービス事業者、その他事業者であってよい。例えば、第3エージェントサーバ200−3は、ネットワークNWを介して、他のエージェントサーバ200と通信したり、エージェント装置100と通信したりする。第3エージェントサーバ200−3は、例えば、エージェント装置100に、第3事業者独自のエージェント(以下、第3エージェントAG3と称する)をサービスとして提供させる。
エージェント装置100は、車両Mに乗車したユーザと対話を行い、ユーザから得られた質問などをエージェントサーバ200に送信し、エージェントサーバ200から得られた回答を、音声として出力したり、画像として表示したりする。
[車両の構成]
図2は、第1実施形態に係るエージェント装置100の構成と、車両Mに搭載された機器との一例を示す図である。車両Mには、例えば、一以上のマイクロフォン10と、表示・操作装置20と、スピーカユニット30と、ナビゲーション装置40と、車両機器50と、車載通信装置60と、乗員認識装置80と、エージェント装置100とが搭載される。これらの装置は、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。なお、図2に示す構成はあくまで一例であり、構成の一部が省略されてもよいし、更に別の構成が追加されてもよい。
図2は、第1実施形態に係るエージェント装置100の構成と、車両Mに搭載された機器との一例を示す図である。車両Mには、例えば、一以上のマイクロフォン10と、表示・操作装置20と、スピーカユニット30と、ナビゲーション装置40と、車両機器50と、車載通信装置60と、乗員認識装置80と、エージェント装置100とが搭載される。これらの装置は、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。なお、図2に示す構成はあくまで一例であり、構成の一部が省略されてもよいし、更に別の構成が追加されてもよい。
マイクロフォン10は、車両Mの室内の音声を収音する音声入力装置である。マイクロフォン10は、車内のユーザの発話音声やその他の環境音を収音すると、その収音した音声を示す音声データ(音響データともいう)をエージェント装置100に出力する。
表示・操作装置20は、画像を表示すると共に、入力操作を受付可能な装置(或いは装置群)である。表示・操作装置20は、例えば、タッチパネルとして構成されたディスプレイを含む。表示・操作装置20は、更に、HUD(Head Up Display)や機械式の入力装置を含んでもよい。表示・操作装置20は、エージェント装置100とナビゲーション装置40とで共用されてもよい。これらの詳細については後述する。
スピーカユニット30は、車両Mの室内に音声を出力する複数のスピーカを備える。各スピーカは、例えば、車内の互いに異なる位置に配設される。スピーカユニット30は、エージェント装置100の指示に応じて音声を出力する。
ナビゲーション装置40は、ナビHMI(Human machine Interface)と、GPS(Global Positioning System)などの位置測位装置と、地図情報を記憶した記憶装置と、経路探索などを行う制御装置(ナビゲーションコントローラ)とを備える。マイクロフォン10、表示・操作装置20、およびスピーカユニット30のうち一部または全部がナビHMIとして用いられてもよい。ナビゲーション装置40は、位置測位装置によって特定された車両Mの位置から、ユーザによって入力された目的地まで移動するための経路(ナビ経路)を探索し、経路に沿って車両Mが走行できるように、ナビHMIを用いて案内情報を出力する。経路探索機能は、ネットワークNWを介してアクセス可能なナビゲーションサーバにあってもよい。この場合、ナビゲーション装置40は、ナビゲーションサーバから経路を取得して案内情報を出力する。なお、エージェント装置100は、ナビゲーションコントローラを基盤として構築されてもよく、この場合、ナビゲーションコントローラとエージェント装置100は、一つのハードウェア上で一体に構成される。
車両機器50は、例えば、エンジンや走行用モータなどの駆動力出力装置、エンジンの始動モータ(スターター)、ドアロック装置、ドア開閉装置、窓、窓の開閉装置及び窓の開閉制御装置、シート、シート位置の制御装置、ルームミラー及びその角度位置制御装置、車両内外の照明装置及びその制御装置、ワイパーやデフォッガー及びそれぞれの制御装置、方向指示灯及びその制御装置、空調装置、走行距離やタイヤの空気圧の情報や燃料の残量情報などの情報装置、空調装置、オーディオ装置、ドライブレコーダ、セットトップボックスなどを含む。
車載通信装置60は、例えば、セルラー網やWi−Fi網を利用してネットワークNWにアクセス可能な無線通信装置である。より具体的には、車載通信装置60は、テレマティクスコントロールユニット(TCU)である。車載通信装置60は、「通信部」の一例である。
乗員認識装置80は、例えば、着座センサ、車室内カメラ、画像認識装置などを含む。着座センサは座席の下部に設けられた圧力センサ、シートベルトに取り付けられた張力センサなどを含む。車室内カメラは、車室内に設けられたCCD(Charge Coupled Device)カメラやCMOS(Complementary Metal Oxide Semiconductor)カメラである。画像認識装置は、車室内カメラの画像を解析し、座席ごとの乗員の有無、顔向きなどを認識する。
図3は、車内の表示・操作装置20の配置の一例を示す図である。表示・操作装置20は、例えば、第1ディスプレイ20Aと、第2ディスプレイ20Bと、操作スイッチアッセンブリ20Xとを含む。表示・操作装置20は、更に、HUD20Yを含んでもよい。
車両Mには、例えば、ステアリングホイールSWが設けられた運転席DSと、運転席DSに対して車幅方向(図中Y方向)に設けられた助手席ASとが存在する。例えば、第1ディスプレイ20Aは、インストルメントパネルにおける運転席DSと助手席ASとの中間辺りから、助手席ASの左端部に対向する位置まで延在する長方形状のディスプレイである。第2ディスプレイ20Bは、運転席DSと助手席ASとの車幅方向に関する中間あたり、且つ第1ディスプレイの下方に設置されている。例えば、第1ディスプレイ20Aと第2ディスプレイ20Bは、共にタッチパネルとして構成され、表示部としてLCD(Liquid Crystal Display)や有機EL(Electroluminescence)ディスプレイ、プラズマディスプレイなどを備える。操作スイッチアッセンブリ20Xは、ダイヤルスイッチやボタン式スイッチなどの部品が一つに集積されたものである。表示・操作装置20は、ユーザの操作内容を示す信号をエージェント装置100に出力する。第1ディスプレイ20Aまたは第2ディスプレイ20Bに表示される情報は、エージェント装置100によって決定される。
図4は、車内のスピーカユニット30の配置の一例を示す図である。例えば、車内には、スピーカユニット30A〜30Hが配置される。スピーカユニット30Aは、運転席DS側の窓柱(いわゆるAピラー)に設置されている。スピーカユニット30Bは、運転席DSに近いドアの下部に設置されている。スピーカユニット30Cは、助手席AS側の窓柱に設置されている。スピーカユニット30Dは、助手席ASに近いドアの下部に設置されている。スピーカユニット30Eは、右側の後部座席BS1側に近いドアの下部に設置されている。スピーカユニット30Fは、左側の後部座席BS2側に近いドアの下部に設置されている。スピーカユニット30Gは、第2ディスプレイ20Bの近傍に設置されている。スピーカユニット30Hは、車内の天井に設置されている。
係る配置において、例えば、エージェント装置100が、専らスピーカユニット30Aおよび30Bに音を出力させた場合、音像は運転席DS付近に定位することになる。また、エージェント装置100が、専らスピーカユニット30Cおよび30Dに音を出力させた場合、音像は助手席AS付近に定位することになる。また、エージェント装置100が、専らスピーカユニット30Eに音を出力させた場合、音像は右側の後部座席BS1付近に定位することになる。また、エージェント装置100が、専らスピーカユニット30Fに音を出力させた場合、音像は左側の後部座席BS2付近に定位することになる。また、エージェント装置100が、専らスピーカユニット30Gに音を出力させた場合、音像は車室の前方付近に定位することになり、専らスピーカユニット30Hに音を出力させた場合、音像は車室の上方付近に定位することになる。これに限らず、エージェント装置100は、ミキサーやアンプを用いて各スピーカの出力する音の配分を調整することで、車室内の任意の位置に音像を定位させることができる。
[エージェント装置]
図2の説明に戻る。エージェント装置100は、管理部110と、第1エージェント機能部150−1と、第2エージェント機能部150−2と、第3エージェント機能部150−3と、ペアリングアプリ実行部152と、記憶部160とを備える。管理部110は、例えば、音響処理部112と、音声認識部114と、エージェントごとWU(Wake Up)判定部116と、表示制御部118と、音声制御部120と、フィラー判定部122と、データ生成部124とを備える。第1エージェント機能部150−1、第2エージェント機能部150−2、および第3エージェント機能部150−3のうち、いずれかのエージェント機能部であるのか区別しない場合、単にエージェント機能部150と称する。3つのエージェント機能部150を示しているのは、図1におけるエージェントサーバ200の数に対応させた一例に過ぎず、エージェント機能部150の数は、2つであってもよいし、4つ以上であってもよい。図2に示すソフトウェア配置は説明のために簡易に示しており、実際には、例えば、エージェント機能部150と車載通信装置60の間に管理部110が介在してもよいように、任意に改変することができる。
図2の説明に戻る。エージェント装置100は、管理部110と、第1エージェント機能部150−1と、第2エージェント機能部150−2と、第3エージェント機能部150−3と、ペアリングアプリ実行部152と、記憶部160とを備える。管理部110は、例えば、音響処理部112と、音声認識部114と、エージェントごとWU(Wake Up)判定部116と、表示制御部118と、音声制御部120と、フィラー判定部122と、データ生成部124とを備える。第1エージェント機能部150−1、第2エージェント機能部150−2、および第3エージェント機能部150−3のうち、いずれかのエージェント機能部であるのか区別しない場合、単にエージェント機能部150と称する。3つのエージェント機能部150を示しているのは、図1におけるエージェントサーバ200の数に対応させた一例に過ぎず、エージェント機能部150の数は、2つであってもよいし、4つ以上であってもよい。図2に示すソフトウェア配置は説明のために簡易に示しており、実際には、例えば、エージェント機能部150と車載通信装置60の間に管理部110が介在してもよいように、任意に改変することができる。
エージェント装置100の各構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め記憶部160に格納されていてもよいし、DVDやCD−ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、その記憶媒体がドライブ装置に装着されることで記憶部160にインストールされてもよい。
記憶部160は、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等により実現される。記憶部160には、例えば、プロセッサによって参照されるプログラムの他に、フィラー辞書162などが格納される。
フィラー辞書162は、フィラーが登録された辞書データである。フィラーとは、文節や単語の途中で発話されるワード或いはフレーズである。フィラーは、さまざまな言語に存在している。例えば、ユーザの使用言語が日本語である場合、フィラーは、「じゃあ」、「ええっと」、「それから」、「あの」、「まぁー」といったように、言い淀み時や言い直し時などに出現する場つなぎ的な表現(文節中のギャップを埋める挿入語)である。また、ユーザの使用言語が英語である場合、フィラーは、「ah」、「um」、「like」、「okay」、「you know」、「I mean」、「so」といったような表現である。なお、フィラーには、感動詞や接続詞の一部が含まれてもよい。フィラーは、「キーワード」の一例である。
管理部110は、例えば、OS(Operating System)やミドルウェアなどのプログラムがプロセッサによって実行されることで機能する。
管理部110の音響処理部112は、マイクロフォン10から音声データを取得し、取得した音声データに対して、ウェイクアップワードが認識しやすくなるように、ノイズ除去や音の増幅といった音響処理を行う。ウェイクアップワードとは、提供可能な複数のエージェントAGの中から、起動すべきエージェントAGを呼び出すワード或いはフレーズである。ウェイクアップワードは、ホットワードとも呼ばれる。なお、「取得する」ことの意味は、典型的には、マイクロフォン10から音声データを受動的に取得することであるが、能動的に取得することであってもよい。音響処理部112は、「取得部」の一例である。マイクロフォン10から取得した音声データ、または音響処理が行われた音声データは、「第1データ」の一例である。
音声認識部114は、音響処理部112によって音響処理が行われた音声データに対して音声認識処理を行い、音声データをテキスト化したテキストデータを生成する。テキストデータには、発話の内容が文字として記述された文字列が含まれる。具体的には、音声認識部114は、音声データにおける音声波形の振幅と零交差に基づいて、ユーザが発話した音声区間を検出する。音声認識部114は、混合ガウス分布モデル(GMM;Gaussian mixture model)に基づくフレーム単位の音声識別および非音声識別に基づく区間検出を行ってよい。
音声認識部114は、音声区間を検出すると、その音声区間における音声データをテキストデータに変換する。例えば、音声認識部114は、音声データを、BiLSTM(Bi-directional Long short-term memory)やアテンション機構などを含むリカレントニューラルネットワークに入力することで、音声信号が低周波数や高周波数などの複数の周波数帯に分離され、その各周波数帯の音声信号がフーリエ変換されたスペクトログラム(メルスペクトログラム)を得る。リカレントニューラルネットワークは、例えば、学習用の音声信号から生成されたスペクトログラムに対して、その学習用の音声信号が教師ラベルとして対応付けられた教師データを利用することで、予め学習されていてよい。
そして、音声認識部114は、スペクトログラムを、複数の隠れ層を含む畳み込みニューラルネットワークに入力することで、スペクトログラムから文字列を得る。畳み込みニューラルネットワークは、例えば、学習用のスペクトログラムに対して、その学習用のスペクトログラムを生成するのに使われた音声信号に対応する文字列が教師ラベルとして対応付けられた教師データを利用することで、予め学習されていてよい。音声認識部114は、畳み込みニューラルネットワークから得た文字列を、テキストデータとして生成する。
エージェントごとWU判定部116は、音声認識部114によって生成されたテキストデータに、第1エージェント機能部150−1に対応した第1エージェントAG1のウェイクアップワードが含まれるのか、第2エージェント機能部150−2に対応した第2エージェントAG2のウェイクアップワードが含まれるのか、或いは第3エージェント機能部150−3に対応した第3エージェントAG3のウェイクアップワードが含まれるのかを判定する。
エージェントごとWU判定部116は、テキストデータにウェイクアップワードが含まれると判定した場合、そのウェイクアップワードに対応するエージェント機能部150を起動させる。なお、エージェントごとWU判定部116に相当する機能部がエージェントサーバ200に搭載されてもよい。この場合、例えば、管理部110は、音響処理部112によって音響処理が行われた音声データをエージェントサーバ200に送信し、エージェントサーバ200がウェイクアップワードであると判定した場合、エージェントサーバ200からの指示に従ってエージェント機能部150を起動させる。また、各エージェント機能部150は、常時起動しており且つウェイクアップワードの判定を自ら行うものであってよい。この場合、管理部110がエージェントごとWU判定部116を備える必要はない。
エージェント機能部150は、対応するエージェントサーバ200と協働して、音声による応答を含むサービスをエージェントAGとしてユーザに提供する。例えば、第1エージェント機能部150−1は、車載通信装置60を介して第1エージェントサーバ200−1と通信し、第1エージェントAG1をユーザに提供する。また、第2エージェント機能部150−2は、車載通信装置60を介して第2エージェントサーバ200−2と通信し、第2エージェントAG2をユーザに提供する。また、第3エージェント機能部150−3は、ペアリングアプリ実行部152を介して汎用通信装置70と連携することで、第3エージェントサーバ200−3と通信し、第3エージェントAG3をユーザに提供する。エージェント機能部150は、「通信制御部」および「提供部」の一例である。
これらの複数のエージェント機能部150には、法律や条例、エージェントAGを提供する事業者同士の契約などに応じて、車載機器を制御する権限が割り振られる。例えば、第1エージェント機能部150−1には、車両機器50を制御する権限が付与され、第2エージェント機能部150−2および第3エージェント機能部150−3には、車両機器50を制御する権限が付与されさない。すなわち、第1エージェント機能部150−1は、少なくとも車両機器50の制御を含むサービスを第1エージェントAG1として提供し、第2エージェント機能部150−2および第3エージェント機能部150−3は、少なくとも車両機器50の制御を含まないサービスを第2エージェントAG2や第3エージェントAG3として提供する。
ペアリングアプリ実行部152は、例えば、Bluetooth(登録商標、以下省略)によって汎用通信装置70とペアリングを行い、第3エージェント機能部150−3と汎用通信装置70とを接続させる。なお、第3エージェント機能部150−3は、USB(Universal Serial Bus)等の有線ケーブルを介して汎用通信装置70と接続してもよい。
表示制御部118は、エージェント機能部150による指示に応じて各種ディスプレイに画像を表示させる。例えば、表示制御部118は、車内でユーザとのコミュニケーションを行う擬人化されたエージェントの画像(以下、エージェント画像と称する)を生成し、生成したエージェント画像をディスプレイに表示させる。エージェント画像は、例えば、ユーザに対して話しかける態様の画像である。エージェント画像は、例えば、少なくとも観者(ユーザ)によって表情や顔向きが認識される程度の顔画像を含んでよい。例えば、エージェント画像は、顔領域の中に目や鼻に擬したパーツが表されており、顔領域の中のパーツの位置に基づいて表情や顔向きが認識されるものであってよい。また、エージェント画像は、観者によって、立体的に感じられ、三次元空間における頭部画像を含むことでエージェントの顔向きが認識される画像である。エージェント画像は、エージェントの動作や振る舞い、姿勢等が認識された本体(胴体や手足)の画像を含むものであってもよい。また、エージェント画像は、アニメーション画像であってもよい。
音声制御部120は、エージェント機能部150による指示に応じて、スピーカユニット30に音声を出力させる。音声制御部120は、複数のスピーカユニット30を用いて、エージェント画像が表示されるディスプレイの位置に合わせてエージェント音声の音像を定位させてもよい。音像が定位するとは、例えば、ユーザの左右の耳に伝達される音の大きさが調節されることにより、ユーザが感じる音源の空間的な位置を定めることである。
図5は、音像が定位する位置が定まる原理について説明するための図である。図5では、説明を簡略化するために、上述したスピーカユニット30B、30D、および30Gを用いる例を示しているが、任意のスピーカユニット30が使用されてよい。音声制御部120は、各スピーカに接続されたアンプ(AMP)32およびミキサー34を制御して音像を定位させる。例えば、図5に示す空間位置MP1に音像を定位させる場合、音声制御部120は、アンプ32およびミキサー34を制御することにより、スピーカユニット30Bに最大強度の5%の出力を行わせ、スピーカユニット30Dに最大強度の80%の出力を行わせ、スピーカユニット30Gに最大強度の15%の出力を行わせる。この結果、ユーザPの位置からは、図5に示す空間位置MP1に音像が定位しているように感じることになる。
また、図5に示す空間位置MP2に音像を定位させる場合、音声制御部120は、アンプ32およびミキサー34を制御することにより、スピーカユニット30Bに最大強度の45%の出力を行わせ、スピーカユニット30Dに最大強度の45%の出力を行わせ、スピーカユニット30Gに最大強度の45%の出力を行わせる。この結果、ユーザPの位置からは、図5に示す空間位置MP2に音像が定位しているように感じることになる。このように、車室内に設けられる複数のスピーカとそれぞれのスピーカから出力される音の大きさを調整することで、音像が定位される位置を変化させることができる。なお、より詳細には、音像の定位する位置は、音源が元々保有している音特性や、車室内環境の情報、頭部伝達関数(HRTF;Head-related transfer function)に基づいて定まるため、音声制御部120は、予め官能試験などで得られた最適な出力配分で複数のスピーカユニット30を制御することで、音像を任意の位置に定位させる。
フィラー判定部122は、音声認識部114によって生成されたテキストデータの中に、フィラーが含まれるか否かを判定する。音声認識部114およびフィラー判定部122は、「判定部」の一例である。
例えば、フィラー判定部122は、形態素解析などを行って、テキストデータの文字列を複数の形態素に分け、それら複数の形態素と、フィラー辞書162にフィラーとして登録されたワード或いはフレーズとが一致するか否かを判定する。フィラー判定部122は、複数の形態素の集合の中に、フィラーと一致する形態素が含まれている場合、テキストデータの中にフィラーが含まれると判定し、複数の形態素の集合の中に、フィラーと一致する形態素が含まれていない場合、テキストデータの中にフィラーが含まれないと判定する。
また、フィラー判定部122は、フィラー辞書162を利用してテキストデータの中にフィラーが含まれているか否かを判定することに代えて、或いは加えて、言語モデルを利用して、テキストデータの中にフィラーが含まれているか否かを判定してもよい。
本実施形態に係る言語モデルは、ある対象とする文字列がフィラーである確率を求めるように学習された確率モデルである。例えば、言語モデルは、ディープニューラルネットワークや、Nグラムモデル、隠れマルコフモデルなどによって実現されてよい。例えば、人間に台本を音読させたときの発話音声を文字列に書き起こし、その文字列に含まれる文字一つ一つに、フィラーであることを示す第1タグ、またはフィラーでないことを示す第2タグを付与した教師データを用意する。そして、用意した教師データに基づいて言語モデルを学習する。これによって、学習された言語モデルに対して、タグ付けされていない文字列が入力されると、言語モデルは、文字列に含まれる各文字が、第1タグが付与されるべき文字であることの尤もらしさ、或いは第2タグが付与されるべき文字であることの尤もらしさを確率(尤度)として出力する。フィラー判定部122は、音声認識部114によって生成されたテキストデータを言語モデルに入力し、その言語モデルによって出力された確率、すなわち、第1タグが付与されるべき文字の確率が閾値以上である場合、テキストデータの中にフィラーが含まれていると判定する。
データ生成部124は、フィラー判定部122によってテキストデータの中にフィラーが含まれていると判定された場合、音声データのデータ容量(データサイズ)を少なくしたデータ(以下、圧縮データと称する)を生成する。圧縮データは、「第2データ」の一例である。
例えば、データ生成部124は、元の音声データから、フィラーとして発話された音声区間を取り除くことで、圧縮データを生成してよい。圧縮データは、フィラーとして発話された音声区間が取り除かれた音声データであるため、非可逆的に圧縮されたデータである。
[エージェントサーバ]
図6は、エージェントサーバ200の構成と、エージェント装置100の一部の構成とを示す図である。ここでは、エージェントサーバ200の構成と共にエージェント機能部150、420等の動作について説明する。エージェント装置100からネットワークNWまでの物理的な通信については、説明を省略する。
図6は、エージェントサーバ200の構成と、エージェント装置100の一部の構成とを示す図である。ここでは、エージェントサーバ200の構成と共にエージェント機能部150、420等の動作について説明する。エージェント装置100からネットワークNWまでの物理的な通信については、説明を省略する。
各エージェントサーバ200は、通信部210を備える。通信部210は、例えばNIC(Network Interface Card)などのネットワークインターフェースである。更に、エージェントサーバ200は、例えば、音声認識部220と、自然言語処理部222と、対話管理部224と、ネットワーク検索部226と、応答文生成部228とを備える。これらの構成要素は、例えば、CPUやGPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSIやASIC、FPGAなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め記憶部250に格納されていてもよいし、DVDやCD−ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、その記憶媒体がドライブ装置に装着されることで記憶部250にインストールされてもよい。
エージェントサーバ200は、記憶部250を備える。記憶部250は、HDD、フラッシュメモリ、EEPROM、ROM、またはRAM等により実現される。記憶部250には、例えば、プロセッサによって参照されるプログラムの他に、パーソナルプロファイル252、辞書DB(データベース)254、知識ベースDB256、応答規則DB258などのデータやプログラムが格納される。
エージェントサーバ200の音声認識部220は、通信部210によって受信された音声データに対して音声認識を行って、音声データをテキスト化したテキストデータを生成する。テキストデータには、発話の内容が文字として記述された文字列が含まれる。
自然言語処理部222は、辞書DB254を参照しながら、音声認識部220によって生成されたテキストデータの意味を解釈する。辞書DB254は、テキストデータに対して抽象化された意味情報が対応付けられたものである。辞書DB254は、同義語や類義語の一覧情報を含んでもよい。音声認識と自然言語処理は、段階が明確に分かれるものではなく、自然言語処理部222の処理結果を受けて音声認識部220が認識結果を修正するなど、相互に影響し合って行われてよい。
自然言語処理部222は、例えば、認識結果として、「今日の天気は」、「天気はどうですか」等の意味が認識された場合、標準的なテキスト「今日の天気」に置き換えたコマンドを生成する。つまり、自然言語処理部222は、文字の表記ゆれを考慮したうえでコマンドを生成する。これにより、リクエストの音声に文字揺らぎがあった場合にも要求にあった対話をし易くすることができる。また、自然言語処理部222は、辞書DB254を一つのルールとして利用して意味解釈を行うことに加えて、或いは代えて、例えば、確率を利用した機械学習処理等の人工知能処理を用いてテキストデータの意味を認識したり、認識結果に基づくコマンドを生成したりしてもよい。
対話管理部224は、自然言語処理部222によって生成されたコマンドに基づいて、パーソナルプロファイル252や知識ベースDB256、応答規則DB258を参照しながら車両Mのユーザに対する発話の内容を決定する。パーソナルプロファイル252は、ユーザごとに保存されているユーザの個人情報、趣味嗜好、過去の対話の履歴などを含む。知識ベースDB256は、物事の関係性を規定した情報である。応答規則DB258は、コマンドに対してエージェントが行うべき動作(回答や機器制御の内容など)を規定した情報である。
また、対話管理部224は、音声データから得られる特徴情報を用いて、パーソナルプロファイル252と照合を行うことで、ユーザを特定してもよい。この場合、パーソナルプロファイル252には、例えば、音声の特徴情報に、個人情報が対応付けられている。音声の特徴情報とは、例えば、声の高さ、イントネーション、リズム(音の高低のパターン)等の喋り方の特徴や、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficients)等による特徴量に関する情報である。音声の特徴情報は、例えば、ユーザの初期登録時に所定の単語や文章等をユーザに発声させ、発声させた音声を認識することで得られる。
例えば、自然言語処理部222によって生成されたコマンドが、ネットワークNWを介して検索可能な情報を要求するコマンドである場合、対話管理部224は、ネットワーク検索部226に検索を行わせる。ネットワーク検索部226は、ネットワークNWを介して各種ウェブサーバ300にアクセスし、所望の情報を取得する。「ネットワークNWを介して検索可能な情報」とは、例えば、車両Mの周辺にあるレストランの一般ユーザによる評価結果であったり、その日の車両Mの位置に応じた天気予報であったりする。
応答文生成部228は、対話管理部224により決定された発話の内容が車両Mのユーザに伝わるように応答文を生成し、生成した応答文を、音声データの送信元であるエージェント装置100に送信する。応答文には、例えば、発音記号が含まれていてもよいし、合成したい音声をテキストに置き換えた文字列が含まれていてもよい。応答文生成部228は、ユーザがパーソナルプロファイルに登録されたユーザであることが特定されている場合に、ユーザの名前を呼んだり、ユーザの話し方に似せた話し方にした応答文を生成したりしてもよい。応答文は、「第3データ」の一例である。
エージェント装置100のエージェント機能部150は、エージェントサーバ200から応答文を取得すると、その応答文に基づいて人工的な音声を合成する。例えば、エージェント機能部150は、波形接続型音声合成(Concatenative synthesis)と、フォルマント合成(Formant synthesis)とを行って、応答文に含まれる発音記号を読み上げる音声を合成する。また、エージェント機能部150は、応答文に発音記号が含まれず、音声として合成すべき文字列が含まれる場合、その文字列を発音記号に変換し、変換した発音記号を読み上げる音声を合成してよい。また、エージェント機能部150は、予め決められた複数のフレーズのそれぞれに対して音声が対応付けられている場合、それらの音声を組み合わせることで音声を合成してもよい。
エージェント機能部150は、合成した音声を出力するように音声制御部120に指示する。また、エージェント機能部150は、音声出力に合わせてエージェントの画像を表示するように表示制御部118に指示してよい。このようにして、質問や要求などに対して応答する仮想的なエージェントAGが、一種のサービスとして車両Mに乗車したユーザに提供される。
[第1実施形態に係るエージェント装置の処理フロー]
以下、第1実施形態に係るエージェント装置100による一連の処理の流れをフローチャートを用いて説明する。図7は、第1実施形態に係るエージェント装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、マイクロフォン10からエージェント装置100に音声データが入力された場合に、所定の周期で繰り返し行われる。
以下、第1実施形態に係るエージェント装置100による一連の処理の流れをフローチャートを用いて説明する。図7は、第1実施形態に係るエージェント装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、マイクロフォン10からエージェント装置100に音声データが入力された場合に、所定の周期で繰り返し行われる。
まず、音響処理部112は、マイクロフォン10から入力された音声データに対して、ノイズ除去や音の増幅といった音響処理を行う(ステップS100)。
次に、音声認識部114は、音響処理部112によって音響処理が行われた音声データに対して音声認識処理を行い、音声データからテキストデータを生成する(ステップS102)。
次に、フィラー判定部122は、音声認識部114によって生成されたテキストデータの中に、フィラーが含まれるか否かを判定する(ステップS104)。
データ生成部124は、フィラー判定部122によってテキストデータの中にフィラーが含まれていると判定された場合、圧縮データを生成する(ステップS106)。
図8から図10は、圧縮データの生成方法を模式的に説明するための図である。図8におけるDaは、ユーザが発話した音声をマイクロフォン10が収音した音声データを表しており、Dtは、音声データDaをテキスト化したテキストデータである。図8の例では、音声データDaが「じゃあレストランん−探して」という文字列を含むテキストデータDtに変換されている。
図9の例では、フィラー判定部122が、「じゃあレストランん−探して」という文字列を、「じゃあ」という形態素MRP1と、「レストラン」という形態素MRP2と、「ん−」という形態素MRP3と、「探して」という形態素MRP4とに分割している。この際、「レストラン」という形態素MRP2の意味が「食事を提供する店舗である」といったように、各形態素の意味解釈まではされないものとする。Sg1は、形態素MRP1に対応した音声区間であり、Sg2は、形態素MRP2に対応した音声区間であり、Sg3は、形態素MRP3に対応した音声区間であり、Sg4は、形態素MRP4に対応した音声区間である。これら複数の形態素のうち、形態素MRP1と形態素MRP3とはフィラーである。従って、フィラー判定部122は、テキストデータDtの中にフィラーが含まれると判定する。
これを受けて、データ生成部124は、図10に例示するように、音声データDaから、フィラーと判定された形態素MRP1に対応した音声区間Sg1と、形態素MRP3に対応した音声区間Sg3とを取り除き、フィラーと判定されていない形態素MRP2に対応した音声区間Sg2と、形態素MRP4に対応した音声区間Sg4とを繋げた新たな音声データDa#を、圧縮データとして生成する。
「音声区間を繋げる」とは、例えば、2つの音声区間のうち、一方の音声区間の終了時刻と、他方の音声区間の開始時刻とを合わせることである。例えば、音声区間Sg2が時刻t1からΔτ1経過した時刻t2までの区間であり、音声区間Sg3が時刻t2からΔτ2経過した時刻t3までの区間であり、音声区間Sg4が時刻t3からΔτ3経過した時刻t4までの区間であったとする。この場合、データ生成部124は、音声区間Sg4の開始時刻t3を、音声区間Sg3の開始時刻であったt2に変更し、音声区間Sg4の開始時刻t4を、新たな開始時刻であるt2からΔτ3経過した時刻t5に変更する。これによって、音声区間Sg2と音声区間Sg4とが連続した一つの音声データが生成される。音声区間Sg2は、「第1発話」の一例であり、音声区間Sg4は、「第2発話」の一例である。
また、データ生成部124は、音声区間を繋げることで音声データを圧縮することに代えて、フィラーと判定されていない形態素に対応した音声区間のデータ量を小さい値(例えば0ビット)に変更することで、圧縮データを生成してもよい。例えば、フィラーの音声区間を0ビットにした場合、その音声区間は無音となり、ユーザが何も発話していない音声区間と同じように扱われる。
また、データ生成部124は、音声データDaの圧縮データを生成することに加えて、或いは代えて、テキストデータDtから、フィラーと判定された形態素MRP1および形態素MRP3を取り除き、フィラーと判定されていない形態素MRP2と、形態素MRP4とを繋げた新たなテキストデータDt#を、圧縮データとして生成してもよい。
一般的に、音声データDaに比べてテキストデータDtの方がデータ容量は少ないことが知られている。例えば、音声データDaは、数メガバイトから数百メガバイト程度の容量であり、テキストデータDtは、数キロバイトから数百キロバイト程度の容量である。そのため、データ容量を少なくするという意味では、テキストデータDtは、音声データDaに比べれば既に圧縮されている。しかしながら、本実施形態では、音声データDaを変換したテキストデータDtから、フィラーと判定されたワードやフレーズを取り除くため、データの種類やフォーマットを変更せずに、更に、データ容量を少なくすることができる。
図7のフローチャートの説明に戻る。次に、エージェント機能部150は、データ生成部124によって生成された圧縮データ、すなわち、データ容量を少なくした音声データまたはテキストデータの少なくとも一方を、車載通信装置60を介して、エージェントサーバ200に送信する(ステップS108)。例えば、音声データやテキストデータは、パケット通信によってエージェントサーバ200に送信される。S108の処理は、エージェントごとWU判定部116が、テキストデータにウェイクアップワードが含まれると判定していることを前提に行われる。
なお、S104の処理において、フィラー判定部122によってテキストデータの中にフィラーが含まれていないと判定された場合、エージェント機能部150は、データ容量を少なくしていない音声データまたはテキストデータの少なくとも一方を、車載通信装置60を介して、エージェントサーバ200に送信する。
例えば、第1エージェント機能部150−1は、音声データまたはテキストデータの少なくとも一方を第1エージェントサーバ200−1に送信する。また、第2エージェント機能部150−2は、音声データまたはテキストデータの少なくとも一方を第2エージェントサーバ200−2に送信する。また、第3エージェント機能部150−3は、音声データまたはテキストデータの少なくとも一方を第3エージェントサーバ200−3に送信する。
次に、エージェント機能部150は、車載通信装置60がエージェントサーバ200から応答文を受信したか否かを判定し(ステップS110)、車載通信装置60がエージェントサーバ200から応答文を受信した場合、応答文に基づいて合成音声を生成する(ステップS112)。
次に、音声制御部120は、エージェント機能部150によって生成された合成音声を、スピーカユニット30に出力させる(ステップS114)。この際、表示制御部118は、エージェント画像を表示・操作装置20に表示させてよい。これによって本フローチャートの処理が終了する。
[第1実施形態に係るエージェントサーバの処理フロー]
以下、第1実施形態に係るエージェントサーバ200による一連の処理の流れをフローチャートを用いて説明する。図11は、第1実施形態に係るエージェントサーバ200による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、エージェントサーバ200の通信部210がエージェント装置100から音声データを受信した場合に所定の周期で繰り返し行われる。
以下、第1実施形態に係るエージェントサーバ200による一連の処理の流れをフローチャートを用いて説明する。図11は、第1実施形態に係るエージェントサーバ200による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、エージェントサーバ200の通信部210がエージェント装置100から音声データを受信した場合に所定の周期で繰り返し行われる。
まず、音声認識部220は、通信部210がエージェント装置100から受信した音声データに対して音声認識処理を行い、音声データをテキスト化したテキストデータを生成する(ステップS200)。なお、エージェント装置100が、エージェントサーバ200に音声データに加えて、或いは代えて、テキストデータを送信した場合、音声認識部220は、S200の処理を省略してもよい。
次に、自然言語処理部222は、音声認識部220によって生成されたテキストデータ、または通信部210が受信したテキストデータの意味を解釈する(ステップS202)。
次に、対話管理部224は、自然言語処理部222によって解釈されたテキストデータの意味に基づいて、ユーザに対する発話の内容を決定する(ステップS204)。
次に、応答文生成部228は、対話管理部224により決定された発話の内容に基づいて、応答文を生成する(ステップS206)。
次に、応答文生成部228は、通信部210を介して、生成した応答文をエージェント装置100に送信する(ステップS208)。これによって本フローチャートの処理が終了する。
以上説明した第1実施形態によれば、エージェント装置100が、マイクロフォン10から音声データを取得し、取得した音声データのデータ容量を少なくした圧縮データを生成し、この圧縮データを、エージェントサーバ200に送信する。エージェントサーバ200は、エージェント装置100から音声データ(圧縮データも含む)を受信すると、受信した音声データから、ユーザの発話内容がテキスト化されたテキストデータを生成し、そのテキストデータの意味を解釈する。エージェントサーバ200は、解釈したテキストデータの意味に基づいて応答文を生成し、生成した応答文をエージェント装置100に送信する。これを受けて、エージェント装置100は、ユーザの発話に対して合成音声を用いて応答するサービスを、エージェントAGとしてユーザに提供する。
一般的に、データ通信は、携帯電話の販売事業者などによって販売或いは貸与されるSIM(Subscriber Identity Module)カードを利用して行われる。SIMカードのID番号は、ユーザに対応付けられており、データ通信量に応じて通信速度に制限が設けられたり、ユーザに請求される利用料が上乗せされたりする。本実施形態では、音声データやテキストデータを圧縮したうえで、エージェントサーバ200に送信するため、車両Mとエージェントサーバ200との間のデータ通信量を抑えることができる。この結果、データの通信速度に制限が設けられたり、データ通信に係る利用料が増加したりすることを抑制することができ、ユーザをより満足させることができる。
<第1実施形態の変形例>
以下、第1実施形態の変形例について説明する。上述した第1実施形態では、フィラー判定部122が、フィラー辞書162などを用いて、テキストデータからフィラーと一致する形態素を選び出し、データ生成部124が、音声データから、フィラーと一致する形態素に対応した音声区間を取り除くことで、圧縮データを生成するものとして説明したがこれに限られない。例えば、フィラー判定部122が、主語や述語、目的語といった構文の主要素となるワードがテキストデータに含まれるか否かを判定し、データ生成部124が、音声データに含まれる複数の音声区間の中で、構文の主要素となるワードに対応した音声区間のみを残し、それ以外の音声区間を取り除くことで、圧縮データを生成してもよい。
以下、第1実施形態の変形例について説明する。上述した第1実施形態では、フィラー判定部122が、フィラー辞書162などを用いて、テキストデータからフィラーと一致する形態素を選び出し、データ生成部124が、音声データから、フィラーと一致する形態素に対応した音声区間を取り除くことで、圧縮データを生成するものとして説明したがこれに限られない。例えば、フィラー判定部122が、主語や述語、目的語といった構文の主要素となるワードがテキストデータに含まれるか否かを判定し、データ生成部124が、音声データに含まれる複数の音声区間の中で、構文の主要素となるワードに対応した音声区間のみを残し、それ以外の音声区間を取り除くことで、圧縮データを生成してもよい。
<第2実施形態>
以下、第2実施形態について説明する。上述した第1実施形態では、エージェント装置100が、圧縮データを含む全ての音声データをエージェントサーバ200に送信するものとして説明した。これに対して、第2実施形態では、エージェント装置100が、テキストデータの意味を解釈し、解釈した意味に基づいてコマンドを生成し、生成したコマンドが、エージェントサーバ200を介さずに処理可能なコマンド(以下、ローカルコマンドと称する)である場合、エージェントサーバ200に音声データを送信せずに、ローカルコマンドに応じた処理を行う点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
以下、第2実施形態について説明する。上述した第1実施形態では、エージェント装置100が、圧縮データを含む全ての音声データをエージェントサーバ200に送信するものとして説明した。これに対して、第2実施形態では、エージェント装置100が、テキストデータの意味を解釈し、解釈した意味に基づいてコマンドを生成し、生成したコマンドが、エージェントサーバ200を介さずに処理可能なコマンド(以下、ローカルコマンドと称する)である場合、エージェントサーバ200に音声データを送信せずに、ローカルコマンドに応じた処理を行う点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
図12は、第2実施形態に係るエージェント装置100の構成と、車両Mに搭載された機器との一例を示す図である。第2実施形態に係る管理部110は、上述した音響処理部112、音声認識部114、エージェントごとWU判定部116、表示制御部118、音声制御部120、フィラー判定部122、およびデータ生成部124に加えて、更に自然言語処理部126を備える。また、第2実施形態に係る記憶部160には、フィラー辞書162に加えて、更にコマンド辞書164が格納される。
コマンド辞書164は、ローカルコマンドが登録された辞書データである。ローカルコマンドは、例えば、「イエス」、「ノー」、「キャンセル」、「オン」、「オフ」といった比較的簡易に認識することができるコマンドや、記憶部160に既に回答すべき応答文が登録されているコマンドである。例えば、車両機器50の一つであるオーディオ装置が音楽を再生していた場合、ユーザがオーディオ装置を停止させるために「オフ」と発話した場合、その発話には「オフ」というローカルコマンドが含み得ることになる。
自然言語処理部126は、コマンド辞書164を参照しながら、音声認識部114によって生成されたテキストデータ、またはデータ生成部124によってデータ容量が圧縮されたテキストデータの意味を解釈して、ローカルコマンドを認識する。
エージェント機能部150は、フィラー判定部122によってテキストデータの中にフィラーが含まれていると判定され、かつ自然言語処理部126によってローカルコマンドが認識された場合、データ生成部124によって生成された圧縮データをエージェントサーバ200に送信せず、ローカルコマンドに応じた処理を行う。また、エージェント機能部150は、フィラー判定部122によってテキストデータの中にフィラーが含まれていないと判定され、かつ自然言語処理部126によってローカルコマンドが認識された場合、圧縮されていない音声データなどをエージェントサーバ200に送信せず、ローカルコマンドに応じた処理を行う。
[第2実施形態に係るエージェント装置の処理フロー]
以下、第2実施形態に係るエージェント装置100による一連の処理の流れをフローチャートを用いて説明する。図13は、第2実施形態に係るエージェント装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、マイクロフォン10からエージェント装置100に音声データが入力された場合に、所定の周期で繰り返し行われる。
以下、第2実施形態に係るエージェント装置100による一連の処理の流れをフローチャートを用いて説明する。図13は、第2実施形態に係るエージェント装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、マイクロフォン10からエージェント装置100に音声データが入力された場合に、所定の周期で繰り返し行われる。
まず、音響処理部112は、マイクロフォン10から入力された音声データに対して、ノイズ除去や音の増幅といった音響処理を行う(ステップS300)。
次に、音声認識部114は、音響処理部112によって音響処理が行われた音声データに対して音声認識処理を行い、音声データからテキストデータを生成する(ステップS302)。
次に、フィラー判定部122は、音声認識部114によって生成されたテキストデータの中に、フィラーが含まれるか否かを判定する(ステップS304)。
データ生成部124は、フィラー判定部122によってテキストデータの中にフィラーが含まれていると判定された場合、圧縮データを生成する(ステップS306)。
次に、自然言語処理部126は、コマンド辞書164を参照しながら、データ容量が圧縮される前のテキストデータ、またはデータ容量が圧縮された後のテキストデータの意味を解釈し、ローカルコマンドを認識する(ステップS308)。
次に、エージェント機能部150は、自然言語処理部126がローカルコマンドを認識したか否かを判定する(ステップS310)。
エージェント機能部150は、自然言語処理部126がローカルコマンドを認識した場合、音声データなどをエージェントサーバ200に送信せず、ローカルコマンドに応じた処理を行う(ステップS312)。
一方、エージェント機能部150は、自然言語処理部126がローカルコマンドを認識しなかった場合、データ生成部124によって圧縮データが生成されていれば、その圧縮データをエージェントサーバ200に送信し、データ生成部124によって圧縮データが生成されていなければ、圧縮されていない音声データやテキストデータをエージェントサーバ200に送信する(ステップS314)。
次に、エージェント機能部150は、車載通信装置60がエージェントサーバ200から応答文を受信したか否かを判定し(ステップS316)、車載通信装置60がエージェントサーバ200から応答文を受信した場合、応答文に基づいて合成音声を生成する(ステップS318)。
次に、音声制御部120は、エージェント機能部150によって生成された合成音声を、スピーカユニット30に出力させる(ステップS320)。この際、表示制御部118は、エージェント画像を表示・操作装置20に表示させてよい。これによって本フローチャートの処理が終了する。
以上説明した第2実施形態によれば、エージェント装置100が、テキストデータの意味を解釈し、解釈した意味に基づいてローカルコマンドを認識した場合、エージェントサーバ200に音声データやテキストデータを送信せずに、ローカルコマンドに応じた処理を行うため、更に、車両Mとエージェントサーバ200との間のデータ通信量を抑えることができる。この結果、データの通信速度に制限が設けられたり、データ通信に係る利用料が増加したりすることを抑制することができ、ユーザをより満足させることができる。
上記説明した実施形態は、以下のように表現することができる。
移動体に搭載され、かつ前記移動体の外部に存在する一以上の他装置と通信する通信部と、
前記移動体に搭載され、かつ前記移動体の利用者が発話した音声を収音するマイクロフォンと、
プログラムを記憶したストレージと、
プロセッサと、を備え、
前記プロセッサが前記プログラムを実行することにより、
前記マイクロフォンから前記利用者の発話の音声を示す第1データを取得し、
前記第1データから、前記第1データのデータ量を少なくした第2データを生成し、
前記通信部を用いて、前記第2データを少なくとも前記一以上の他装置のいずれかに送信し、
前記第2データが送信された前記他装置から前記通信部が前記発話の意味の解釈結果を示す第3データを受信した場合、前記第3データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する、
ように構成されている、エージェント装置。
移動体に搭載され、かつ前記移動体の外部に存在する一以上の他装置と通信する通信部と、
前記移動体に搭載され、かつ前記移動体の利用者が発話した音声を収音するマイクロフォンと、
プログラムを記憶したストレージと、
プロセッサと、を備え、
前記プロセッサが前記プログラムを実行することにより、
前記マイクロフォンから前記利用者の発話の音声を示す第1データを取得し、
前記第1データから、前記第1データのデータ量を少なくした第2データを生成し、
前記通信部を用いて、前記第2データを少なくとも前記一以上の他装置のいずれかに送信し、
前記第2データが送信された前記他装置から前記通信部が前記発話の意味の解釈結果を示す第3データを受信した場合、前記第3データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する、
ように構成されている、エージェント装置。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…エージェントシステム、10…マイクロフォン、20…表示・操作装置、30…スピーカユニット、50…車両機器、60…車載通信装置、100…エージェント装置、110…管理部、112…音響処理部、114…音声認識部、116…エージェントごとWU判定部、118…表示制御部、120…音声制御部、122…フィラー判定部、124…データ生成部、150…エージェント機能部、160…記憶部、200…エージェントサーバ、210…通信部、220…音声認識部、222…自然言語処理部、224…対話管理部、226…ネットワーク検索部、228…応答文生成部、250…記憶部
Claims (8)
- 利用者の発話の音声を示す第1データを取得する取得部と、
前記第1データから、前記第1データのデータ量を少なくした第2データを生成する生成部と、
前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する提供部と、
を備えるエージェント装置。 - 前記利用者は、移動体を利用する利用者であり、
前記移動体に搭載され、かつ前記移動体の外部に存在する一以上の他装置と通信する通信部と、
前記通信部を用いて、前記第2データを少なくとも前記一以上の他装置のいずれかに送信する通信制御部と、を備え、
前記提供部は、前記第2データが送信された前記他装置から前記通信部が前記発話の意味の解釈結果を示す第3データを受信した場合、前記第3データに基づいて、前記サービスを提供する、
請求項1に記載のエージェント装置。 - 前記第1データに対して音声認識を行い、前記第1データが示す発話の中に、予め決められたキーワードが含まれるか否かを判定する判定部を更に備え、
前記生成部は、前記判定部の判定結果に応じて、前記第2データを生成する、
請求項1または2に記載のエージェント装置。 - 前記判定部は、前記キーワードとして、前記第1データが示す発話の中にフィラーが含まれるか否かを判定し、
前記生成部は、前記第1データが示す発話の中に前記フィラーが含まれると前記判定部が判定した場合、前記第1データから前記フィラーを除いた前記第2データを生成する、
請求項3に記載のエージェント装置。 - 前記生成部は、前記第1データが示す発話において、第1発話が前記キーワードの前に出現し、第2発話が前記キーワードの後に出現する場合、前記キーワードを介さずに前記第1発話と前記第2発話とを繋げたデータを、前記第2データとして生成する、
請求項3または4に記載のエージェント装置。 - 前記第1データまたは前記第2データに対して自然言語処理を行い、前記第1データまたは前記第2データが示す発話の意味を解釈する自然言語処理部を更に備え、
前記通信制御部は、前記自然言語処理部によって解釈された意味に応じて、前記第2データを前記他装置に送信せず、
前記提供部は、前記自然言語処理部によって解釈された意味に応じた処理を、前記サービスとして行う、
請求項2に記載のエージェント装置。 - コンピュータが、
利用者の発話の音声を示す第1データを取得し、
前記第1データから、前記第1データのデータ量を少なくした第2データを生成し、
前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する、
情報提供方法。 - コンピュータに、
利用者の発話の音声を示す第1データを取得する処理と、
前記第1データから、前記第1データのデータ量を少なくした第2データを生成する処理と、
前記第2データに基づいて、前記発話に対する応答を含むサービスを前記利用者に提供する処理と、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019059884A JP2020160285A (ja) | 2019-03-27 | 2019-03-27 | エージェント装置、情報提供方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019059884A JP2020160285A (ja) | 2019-03-27 | 2019-03-27 | エージェント装置、情報提供方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020160285A true JP2020160285A (ja) | 2020-10-01 |
Family
ID=72643181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019059884A Pending JP2020160285A (ja) | 2019-03-27 | 2019-03-27 | エージェント装置、情報提供方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020160285A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022101663A (ja) * | 2021-08-18 | 2022-07-06 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ヒューマンコンピュータインタラクション方法、装置、電子機器、記憶媒体およびコンピュータプログラム |
-
2019
- 2019-03-27 JP JP2019059884A patent/JP2020160285A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022101663A (ja) * | 2021-08-18 | 2022-07-06 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ヒューマンコンピュータインタラクション方法、装置、電子機器、記憶媒体およびコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020147214A (ja) | エージェント装置、システム、エージェント装置の制御方法、およびプログラム | |
US11532303B2 (en) | Agent apparatus, agent system, and server device | |
CN111559328B (zh) | 智能体装置、智能体装置的控制方法及存储介质 | |
US20200320998A1 (en) | Agent device, method of controlling agent device, and storage medium | |
JP7222757B2 (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
CN111717142A (zh) | 智能体装置、智能体装置的控制方法及存储介质 | |
JP2020160285A (ja) | エージェント装置、情報提供方法、及びプログラム | |
JP2020154994A (ja) | エージェントシステム、エージェントサーバ、エージェントサーバの制御方法、およびプログラム | |
US11437035B2 (en) | Agent device, method for controlling agent device, and storage medium | |
US20200320997A1 (en) | Agent apparatus, agent apparatus control method, and storage medium | |
CN111724778B (zh) | 车载装置、车载装置的控制方法及存储介质 | |
US11542744B2 (en) | Agent device, agent device control method, and storage medium | |
JP7175221B2 (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP7245695B2 (ja) | サーバ装置、情報提供システム、および情報提供方法 | |
JP2020142721A (ja) | エージェントシステム、車載機器の制御方法、及びプログラム | |
JP2020152298A (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP2020160133A (ja) | エージェントシステム、エージェントシステムの制御方法、およびプログラム | |
JP2020153917A (ja) | 車両制御システム、エージェント装置、車両制御方法、及びプログラム | |
JP7274901B2 (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP7274376B2 (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP2020157864A (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP2020160132A (ja) | エージェント装置、エージェント装置の制御方法、プログラム、エージェントサーバ、およびエージェントサーバの制御方法 | |
JP2020157854A (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム | |
JP2020156032A (ja) | エージェントシステム、サーバ装置、エージェントシステムの制御方法、およびプログラム | |
JP2020157919A (ja) | エージェント装置、エージェント装置の制御方法、およびプログラム |