IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 本田技研工業株式会社の特許一覧

特開2022-155107情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図5A
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図5B
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図5C
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022155107
(43)【公開日】2022-10-13
(54)【発明の名称】情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラム
(51)【国際特許分類】
   G06F 40/30 20200101AFI20221005BHJP
   G08G 1/09 20060101ALI20221005BHJP
   G10L 15/10 20060101ALI20221005BHJP
   G10L 15/06 20130101ALI20221005BHJP
   G10L 15/00 20130101ALI20221005BHJP
   G16Y 10/75 20200101ALI20221005BHJP
【FI】
G06F40/30
G08G1/09 F
G10L15/10 500T
G10L15/06 400V
G10L15/00 200J
G16Y10/75
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021058446
(22)【出願日】2021-03-30
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(72)【発明者】
【氏名】細見 直希
【テーマコード(参考)】
5B091
5H181
【Fターム(参考)】
5B091AA15
5B091CA12
5B091CA14
5B091EA01
5H181BB04
5H181BB05
5H181BB20
5H181CC03
5H181CC04
5H181CC07
5H181CC12
5H181CC14
5H181FF04
5H181FF13
5H181LL09
(57)【要約】      (修正有)
【課題】発話により移動体を制御し、より小規模な学習で構築されたモデルによって発話意図の分類を提供する情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラムを提供する。
【解決手段】複数の車両夫々の位置情報をネットワークを介して取得し、車両の走行を制御するサーバを有する情報処理システムにおいて、サーバ110は、ユーザの発話による指示に基づいて移動体を制御可能な情報処理装置であり、その制御ユニット404は、移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別するシーン識別部414と、対象ユーザの発話情報を取得するユーザデータ取得部413と、識別された対象ユーザの利用シーンに応じて異なる機械学習モデルを選択するモデル選択部415と、選択された機械学習モデルを用いて、対象ユーザの発話の意図を推定する発話意図推定部416と、を有する。
【選択図】図4
【特許請求の範囲】
【請求項1】
ユーザの発話による指示に基づいて移動体を制御可能な情報処理装置であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別手段と、
前記対象ユーザの発話情報を取得する取得手段と、
識別された前記対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択手段と、
選択された機械学習モデルを用いて、前記対象ユーザの発話の意図を推定する推定手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記機械学習モデルは、前記機械学習モデルが対応付けられている利用シーンごとに、推定する意図クラスが異なる、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記推定手段は、前記複数の利用シーンに関連付けられ得る全ての意図クラスのうちの一部の意図クラスのみについての尤度を出力する前記機械学習モデルを用いて、前記対象ユーザの意図を推定する、ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記推定手段は、選択された前記機械学習モデルの出力に、事前分布として意図クラスに設定される初期状態確率分布を用いた演算を加味して、前記対象ユーザの発話の意図を推定する、ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
事前分布として設定される前記初期状態確率分布は、利用シーンごとに別個に定められる、ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記推定手段は、選択された前記機械学習モデルの出力に、意図クラスの間の状態遷移確率分布を用いた演算を加味して、前記対象ユーザの発話の意図を推定する、ことを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
【請求項7】
前記状態遷移確率分布は、シーンごとに別個に定められる、ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記推定手段は、時刻tの発話の意図を推定する際に、選択された前記機械学習モデルの出力に、時刻tの発話よりも1つ前の発話のために推定された推定結果を加味して、前記対象ユーザの発話の意図を推定する、ことを特徴とする請求項1から7のいずれか1項に記載の情報処理装置。
【請求項9】
前記機械学習モデルのそれぞれは、対応する利用シーンごとに異なる学習用データを用いて学習され、前記学習用データは利用シーンを示すラベルを含む、ことを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
【請求項10】
前記識別手段は、前記対象ユーザの利用シーンがいずれのシーンであるかを、前記対象ユーザに関連付けられる移動体からの情報に基づいて識別する、ことを特徴とする請求項1から9のいずれか1項に記載の情報処理装置。
【請求項11】
ユーザの発話による指示に基づいて移動体を制御可能な情報処理装置における情報処理方法であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別工程と、
前記対象ユーザの発話情報を取得する取得工程と、
識別された前記対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択工程と、
選択された機械学習モデルを用いて、前記対象ユーザの発話の意図を推定する推定工程と、を有することを特徴とする情報処理方法。
【請求項12】
ユーザの発話による指示に基づいて制御可能な移動体の制御装置であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別手段と、
前記対象ユーザの発話情報を取得する取得手段と、
識別された前記対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択手段と、
選択された機械学習モデルを用いて、前記対象ユーザの発話の意図を推定する推定手段と、を有することを特徴とする制御装置。
【請求項13】
ユーザの発話による指示に基づいて制御可能な移動体の制御方法であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別工程と、
前記対象ユーザの発話情報を取得する取得工程と、
識別された前記対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択工程と、
選択された機械学習モデルを用いて、前記対象ユーザの発話の意図を推定する推定工程と、を有することを特徴とする制御方法。
【請求項14】
コンピュータを、請求項1から10のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項15】
コンピュータを、請求項12に記載の制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、移動体の制御装置、移動体の制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、自然言語を用いたマンマシンインタフェースの開発が進められている。非特許文献1では、発話文における意図の分類(intent classification)とスロット充足(slot filling)とをBERTと呼ばれる言語表現モデルを用いて実現する技術を提案している。発話文における意図の分類は、例えばユーザの指示や問いかけ(クエリともいう)におけるユーザの意図を推定する技術であり、また、スロット充足はユーザが既に提供した或いは不足している情報を認識し、明確化する質問をしたり補う技術である。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Qian Chen 外2名, BERT for Joint Intent Classification and Slot Filling, 2019年2月28日, https://arxiv.org/pdf/1902.10909.pdf
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1では、BERTで実装した単一のモデルを用いて意図の分類とスロット充足とを同時に行う技術を提案しており、発話を多数の意図クラスのいずれかに分類するために、膨大な量のデータを用いた学習を必要とする。
【0005】
ところで、単一の分類器のモデルが、ユーザの意図を分類するためには、あらゆる場面(シーン)を想定した多数の意図クラスに対する分類問題を解く必要がある。ユーザが発話により移動体を制御することを想定した場合、例えば、近くを走行する移動体を呼び寄せるための利用可否の問い合わせ、移動体に対する経路の指示、車両の走行に関する指示(例えば加速の指示)、乗車を終えた移動体に対する回送指示など、多数のユーザの意図が存在し得る。すなわち、発話による移動体の制御において、利用可否の問い合わせから回送指示までの様々な発話意図を分類するためには、大きなモデルが必要となり、その結果、膨大な量の学習データが必要であったり、所望の精度の意図分類結果を得られない場合がある。
【0006】
本発明は、上記課題に鑑みてなされ、その目的は、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供可能な技術を実現することである。
【課題を解決するための手段】
【0007】
本発明によれば、
ユーザの発話による指示に基づいて移動体を制御可能な情報処理装置であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別手段と、
前記対象ユーザの発話情報を取得する取得手段と、
識別された前記対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択手段と、
選択された機械学習モデルを用いて、前記対象ユーザの発話の意図を推定する推定手段と、を有する、ことを特徴とする情報処理装置が提供される。
【発明の効果】
【0008】
本発明によれば、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供することが可能になる。
【図面の簡単な説明】
【0009】
図1】本発明の実施形態に係る情報処理システムの一例を示す図
図2】本実施形態に係る車両のハードウェアの構成例を示すブロック図
図3】本実施形態に係る車両の機能構成例を示すブロック図
図4】本実施形態に係るサーバの機能構成例を示すブロック図
図5A】本実施形態に係る、車両を利用する際の利用シーン、利用シーンに関連付けられる発話の意図クラス、及び意図クラスに対応する発話の一例を示す図
図5B】本実施形態の乗車前の利用シーンに隠れマルコフモデルを適用した場合の一例について説明する図
図5C】本実施形態の連続する利用シーンにおいて、それぞれ発話意図が推定される様子を説明する図
図6】本実施形態に係る、発話意図推定処理の一連の動作を示すフローチャート
図7】他の実施形態に係る情報処理システムの一例を示す図
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0011】
(情報処理システムの構成)
図1を参照して、本実施形態に係る情報処理システム1の構成について説明する。情報処理システム1は、移動体の一例としての車両100と、情報処理装置の一例としてのサーバ110と、通信装置120とを含む。
【0012】
この情報処理システム1では、ユーザ130は、自然言語の発話により、車両100と対話したり、車両100の動作を制御することができる。通信装置120は、ユーザ130による車両100に対する発話を受け付けると、発話情報をサーバ110に送信する。サーバ110は、ユーザの発話情報からユーザの発話意図を推定する。サーバ110は推定した発話意図に基づいて、必要であれば、スロット充足(ユーザが既に提供した情報或いは不足している情報を認識し、必要に応じて明確化のための質問をユーザ130に提供する)を行う。サーバ110は、ユーザの発話意図を認識すると、具体的な指示内容を特定するために発話情報から必要な情報を特定して、ユーザの指示を受け付ける。サーバ110は、ユーザ130の発話が車両100に対する指示(例えば、「すぐに現在地まで迎えに来て」)である場合、当該指示に応じた制御指示を車両100へ送信する。
【0013】
車両100は、移動体の一例であり、例えば、バッテリーを搭載しており、主にモーターの動力で移動する超小型モビリティである。超小型モビリティとは、一般的な自動車よりもコンパクトであり、乗車定員が1又は2名程度の超小型車両である。本実施形態では、車両100は、例えば、四輪車である。なお、以下の実施形態では、移動体は、乗物に限らず、歩くユーザと並走して荷物を運んだり、人を先導したりするような小型モビリティを含んでよく、また、その他の自律移動が可能な移動体(例えば歩行型ロボットなど)を含んでもよい。
【0014】
車両100は、例えば、Wi‐Fiや第5世代移動体通信などの無線通信を介してネットワーク140に接続する。車両100は、様々なセンサによって(車両の位置、走行状態、周囲の物体の物標などの)車両内外の状態を計測し、計測したデータをサーバ110に送信可能である。このように収集されて送信されるデータは、一般にフローティングデータ、プローブデータ、交通情報などとも呼ばれる。車両に関する情報は、一定の間隔でまたは特定のイベントが発生したことに応じてサーバ110に送信される。車両100は、ユーザ130が乗車していない場合であっても自動運転により走行可能である。車両100は、サーバ110から提供される制御命令などの情報を受信して、或いは、自車で計測したデータを用いて車両の動作を制御する。
【0015】
サーバ110は、情報処理装置の一例である。サーバ110は、1つ以上のサーバ装置で構成され、車両100から送信される車両に関する情報、通信装置120から送信される発話情報、それぞれの位置情報を、ネットワーク111を介して取得し、車両100の走行を制御可能である。サーバ110は、ユーザの発話情報から、後述する、ユーザの意図推定処理を実行して、発話におけるユーザの意図を推定する。
【0016】
通信装置120は、例えばスマートフォンであるが、これに限らず、イヤフォン型の通信端末であってもよいし、パーソナルコンピュータ、タブレット端末、ゲーム機などであってもよい。通信装置120は、例えば、Wi‐Fiや第5世代移動体通信などの無線通信を介してネットワーク140に接続する。通信装置120は、ユーザ130の発話を受け付け、受け付けた発話情報(音声情報)をサーバ110に送信する。
【0017】
ネットワーク111は、例えばインターネットや携帯電話網などの通信網を含み、サーバ110と車両100との間の情報や、サーバ110と通信装置120との間の情報を伝送する。
【0018】
(車両の構成)
次に、図2を参照して、本実施形態に係る車両の一例としての車両100の構成について説明する。
【0019】
図2(A)は本実施形態に係る車両100の側面を示し、図2(B)は車両100の内部構成を示している。図中矢印Xは車両100の前後方向を示しFが前をRが後を示す。矢印Y、Zは車両100の幅方向(左右方向)、上下方向を示す。
【0020】
車両100は、走行ユニット12を備え、バッテリ13を主電源とした電動自律式車両である。バッテリ13は例えばリチウムイオンバッテリ等の二次電池であり、バッテリ13から供給される電力により走行ユニット12によって車両100は自走する。走行ユニット12は、左右一対の前輪20と、左右一対の後輪21とを備えた四輪車である。走行ユニット12は三輪車の形態等、他の形態であってもよい。車両100は、一人用又は二人用の座席14を備える。座席14は、例えば圧力センサなどにより、乗員が乗車しているか否かを制御ユニット30に送信する。
【0021】
走行ユニット12は操舵機構22を備える。操舵機構22はモータ22aを駆動源として一対の前輪20の舵角を変化させる機構である。一対の前輪20の舵角を変化させることで車両100の進行方向を変更することができる。走行ユニット12は、また、駆動機構23を備える。駆動機構23はモータ23aを駆動源として一対の後輪21を回転させる機構である。一対の後輪21を回転させることで車両100を前進又は後進させることができる。
【0022】
車両100は、車両100の周囲の物標を検知する検知ユニット15~17を備える。検知ユニット15~17は、車両100の周辺を監視する外界センサ群であり、本実施形態の場合、いずれも車両100の周囲の画像を撮像する撮像装置であり、例えば、レンズなどの光学系とイメージセンサとを備える。しかし、撮像装置に代えて或いは撮像装置に加えて、レーダやライダ(Light Detection and Ranging)を採用することも可能である。
【0023】
検知ユニット15は車両100の前部にY方向に離間して二つ配置されており、主に、車両100の前方の物標を検知する。検知ユニット16は車両100の左側部及び右側部にそれぞれ配置されており、主に、車両100の側方の物標を検知する。検知ユニット17は車両100の後部に配置されており、主に、車両100の後方の物標を検知する。
【0024】
図3は、車両100の制御系のブロック図である。車両100は、制御ユニット(ECU)30を備える。制御ユニット30は、CPUに代表されるプロセッサ、半導体メモリ等の記憶デバイス、外部デバイスとのインタフェース等を含む。記憶デバイスにはプロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納される。プロセッサ、記憶デバイス、インタフェースは、車両100の機能別に複数組設けられて互いに通信可能に構成されてもよい。入力された音声に対する音声認識処理や、検知ユニットで撮像された画像に対する画像認識処理を行ってもよい。
【0025】
制御ユニット30は、検知ユニット15~17の検知結果、操作パネル31の入力情報、音声入力装置33から入力された音声情報、サーバ110からの制御命令などに応じて、対応する処理を実行する。制御ユニット30は、モータ22a、23aの制御(走行ユニット12の走行制御)、操作パネル31の表示制御、音声による車両100の乗員への報知、情報の出力を行う。
【0026】
音声入力装置33は、車両100の乗員の音声を収音可能である。制御ユニット30は、入力された音声を認識して、対応する処理を実行可能である。GNSS(Global Navigation Satellite system)センサ34は、GNSS信号を受信して車両100の現在位置を検知する。
【0027】
記憶装置35は、車両100が走行可能な走路、建造物などのランドマーク、店舗等の情報を含む地図データ等を記憶する大容量記憶デバイスである。記憶装置35にも、プロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納されてよい。記憶装置35は、制御ユニット30によって実行される音声認識や画像認識用の機械学習モデルの各種パラメータ(例えばディープニューラルネットワークの学習済みパラメータなど)を格納してもよい。
【0028】
通信装置36は、例えば、Wi‐Fiや第5世代移動体通信などの無線通信を介してネットワーク140に接続可能な通信装置である。
【0029】
(サーバの構成)
次に、図4を参照して、本実施形態に係る情報処理装置の一例としてのサーバ110の構成について説明する。
【0030】
制御ユニット404は、CPUに代表されるプロセッサ、半導体メモリ等の記憶デバイス、外部デバイスとのインタフェース等を含む。記憶デバイスにはプロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納される。プロセッサ、記憶デバイス、インタフェースは、サーバ110の機能別に複数組設けられて互いに通信可能に構成されてもよい。制御ユニット404は、プログラムを実行することにより、サーバ110の各種動作、後述するユーザの意図推定処理、車両100の制御などを実行する。制御ユニット404は、CPUのほか、GPU、或いは、ニューラルネットワーク等の機械学習モデルの処理の実行に適した専用のハードウェアを更に含んでよい。
【0031】
ユーザデータ取得部413は、通信装置120から送信されるユーザ130の発話情報を取得する。また、ユーザデータ取得部413は、車両100から送信されるフローティングデータ(例えば車両の位置や乗員の有無など)情報を取得する。ユーザデータ取得部413は、取得した発話情報や位置の情報等を記憶部403に格納してもよい。ユーザデータ取得部413が取得した発話の情報は、(学習済みである)推論段階の学習済みモデルに入力されるが、サーバ110で実行される機械学習モデルを学習させるための学習データとして用いられてもよい。
【0032】
シーン識別部414は、ユーザがおかれる現在の場面(シーン)を識別する。シーン識別部414は、例えば、ユーザのシーンを乗車前、乗車中、降車後のいずれであるかを識別する。シーンの識別方法の例については後述する。
【0033】
モデル選択部415は、シーン識別部414で識別されたシーンにおいて、機械学習モデルを選択する。後述するように、機械学習モデルは複数存在し、それぞれの機械学習は、例えば乗車前、乗車中、降車後のいずれかに関連付けられている。すなわち、各機械学習モデルは、対応付けられた利用シーンごとに推定する意図クラスが異なっており、いずれかのシーンの意図クラスの尤度を出力するように構成されている。
【0034】
発話意図推定部416は、モデル選択部415によって選択された機械学習モデルを用いて、ユーザの発話の意図を推定する。発話の意図推定方法については後述する。
【0035】
音声情報処理部417は、認識された発話意図に基づき、具体的な指示内容を特定するために発話情報から必要な情報を特定する。例えば、ユーザの発話情報の意図が迎えに来るように要求するものであった場合、何処に何時に迎えにいくのか等の情報を特定する。音声情報処理部417は、必要な情報を特定するとユーザの指示を受け付ける。音声情報処理部417は、更に、スロット充足の処理を含んでもよい。音声情報処理部417は、発話の意図推定のための機械学習モデルとは異なる、複数の機械学習モデルを含んでよく、各機械学習モデルは、例えば、ディープニューラルネットワーク(DNN)で構成されてよい。DNNは、学習段階の処理を行うことにより学習済みの状態となり、新たな発話情報を学習済みのDNNに入力することにより新たな発話情報に対する処理(推論段階の処理)を行うことができる。
【0036】
車両制御部418は、音声情報処理部417で認識した発話内容に基づいて、車両100の動作を制御する。例えば、ユーザの発話情報から何処に何時に迎えにいくのかといった情報が特定された場合、ユーザ及び車両の現在位置、地図情報等に基づいて経路を特定し、車両に当該経路を走行させる。
【0037】
なお、サーバ110は、一般に、車両100などと比べて豊富な計算資源を用いることができる。車両100のそれぞれが機械学習モデルを実行するための計算資源を搭載する場合よりも高速に演算結果を提供することができるほか、車両のコスト抑制にも寄与し得る。また、サーバ110が様々なユーザの発話情報を受信、蓄積することで、多種多用な発話情報を含んだ学習データを収集することができ、よりロバストな推論処理を可能にする。
【0038】
通信ユニット401は、例えば通信用回路等を含む通信装置であり、車両100や通信装置120などの外部装置と通信する。通信ユニット401は、車両100から位置情報や乗員の有無の情報、通信装置120からの発話情報や位置情報を受信するほか、車両100への制御命令、通信装置120への発話情報を送信する。
【0039】
電源部402は、サーバ110内の各部に電力を供給する。記憶部403は、ハードディスクや半導体メモリなどの不揮発性メモリである。
【0040】
(ユーザの意図推定処理の概要)
上述したように、ユーザが発話により移動体を制御することを想定した場合、例えば、近くを走行する移動体を呼び寄せるための利用可否の問い合わせ、移動体に対する経路の指示、車両の走行に関する指示(例えば加速の指示)、乗車を終えた移動体に対する回送指示など、多数のユーザの意図が存在し得る。
【0041】
しかし、移動体の利用前には、移動体の利用可否を問い合わせたり、移動体を呼ぶような意図の発話が発せられる可能性がある一方、利用後の回送を指示するような意図の発話が発せられる可能性は低い。言い換えれば、乗車前、乗車中及び降車後の各シーン内で発せられる会話の意図は、他のシーンでは出現しないものもある。
【0042】
このため、本実施形態では、発話による移動体を制御する際に想定されるシーン(利用シーン)ごとに意図クラスをまとめ、シーンごとに機械学習モデルを対応付ける。各機械学習モデルは、対応付けられている利用シーンの意図クラスのみを推定する。このようにすることで、シーンごとに適したモデルを用いることができ、各モデルは、単一のモデルで多数の意図クラスを分類する場合よりも小規模化し、より小規模な学習で構築することができる。また、認識精度の向上を期待することができる。
【0043】
以下、図5A~5Cを参照して、本実施形態に係る利用シーンと発話の意図クラスの関係、及び、意図推定のアルゴリズムについて説明する。
【0044】
図5Aは、車両を利用する際の利用シーン、利用シーンに関連付けられる発話の意図クラス、及び意図クラスに対応する発話の一例を示している。図5Aに示すように、利用シーン501は、一例として、車両100に乗車する前の状態(乗車前状態)、乗車中の状態(乗車中状態)、及び降車後の状態(降車後状態)に分けられる。なお、図5Aにおける「常時」は、特定の利用シーンではなく、「常時」に属す3つの意図クラスが、いずれの利用シーンにも含まれることを意味する。
【0045】
発話の意図クラス502は、ユーザの発話における意図を表す。「乗車前」の利用シーンには、例えば、問い合わせ、お迎え要求、挨拶、目的地指示、同意、否定、聞き返しといった7つの意図クラスが対応付けられる。また、「乗車中」の利用シーンには、例えば、経路指示、停止指示、加速指示、減速指示、同意、否定、聞き返しといった7つの意図クラスが対応付けられる。同様に、「降車後」の利用シーンにも図5Aに示す7つの意図クラスが対応付けられる。
【0046】
発話例503は、それぞれの意図クラスに対応する発話例を示している。例えば、「今乗車できる?」といった発話には、「問い合わせ」の意図が対応する。
【0047】
このように、車両を利用する際に想定される連続的なシーンを所定数のシーンとして定義し、各利用シーンには、複数の利用シーンに関連付けられ得る全ての意図クラスのうちの一部の意図クラスのみが対応付けられる。このようにすることで、機械学習モデルは、複数の利用シーンに関連付けられ得る全ての意図クラスのうちの一部の意図クラスのみについて推論結果を出力すればよい。従って、意図クラスを推定する機械学習モデルを小規模化し、小規模な学習データによって学習させることができる。
【0048】
なお、図5Aに示す例では、全ての利用シーンに対して、同数の意図クラスを対応付けている例を示しているが、各利用シーンに異なる数の意図クラスを対応付けてもよい。また、意図クラスは、上述の例に限らず、他の意図クラスを含んでもよいし、図5Aに示す一部の意図クラスが含まれなくてもよい。例えば、乗車前の利用シーンに、ユーザの移動先に車両が追いつくように要求する「追いつき要求」を更に含んでよい。追いつき要求については、例えば「追いついて」などの発話例が考えられる。
【0049】
また、発話例は、ユーザ130が車両100に対して話しかけるような発話例を例として示した。しかし、ユーザ130が車両100を相手にする発話例に限らず、ユーザ130が(車両の制御を仲介する)人間のコンシェルジュに対して話しかけるような発話を用いてもよい。
【0050】
次に、図5Bを参照して、乗車前の利用シーンに、隠れマルコフモデルを適用する場合の一例について説明する。マルコフモデルは、任意の時刻の状態の確率分布が、直前の状態のみに依存するような確率過程に従う確率モデルをいう。本実施形態では、隠れマルコフモデル(HMMともいう)を適用して、観測可能な状態(発話情報)が与えられたときに、その背後の隠れた状態(発話意図)を推定する問題を解く。
【0051】
図5Bに示す510~513は、隠れマルコフモデルにおける隠れ状態を表し、意図クラスに相当する。なお、図5Bに示す例では、図を複雑化しないように、4つの意図クラスのみを例に示している。意図クラスの円内に記載される数値は、初期状態確率を示す。すなわち、「乗車前」の利用シーンとなった直後に発生し得る意図クラスの確率(尤度)を示す。また、各矢印は、意図クラス(状態)の間の遷移を示し、矢印に添えられた数値(例えば、「0.aa」)は、状態遷移確率を示す。初期状態確率の分布、及び、状態遷移確率の分布は、予め定めてよく、例えば、学習データに含まれる正解データの各意図クラス間の遷移確率や、初期状態確率を求めて、これらを用いることができる。
【0052】
更に、図5Cを参照して、本実施形態に係る意図推定処理の例について説明する。図5に示す例では、「乗車前」を第1利用シーン、「乗車中」を第2利用シーンとして、各利用シーンごとに、発話意図を推定することを示している。図中の510~513は、図5Bに示した意図クラスに対応し、確率分布における棒グラフは、各意図クラスの確率(尤度)を示す。図中の520~523はそれぞれ、「乗車中」の意図クラス(経路指示、停止指示、加速指示、減速指示)に対応し、確率分布における棒グラフはこれらの意図クラスの確率(尤度)を表す。
【0053】
第1利用シーンの初期状態確率分布530では、図5Bに示したように、問い合わせと挨拶の確率が他の確率よりも高くなっている。第1利用シーンの開始後に、ユーザが発話(例えば「乗車できる?」)する。そうすると、サーバ110は、第1利用シーンに対応付けられた機械学習モデルを用いて意図クラスの確率(尤度)を算出すると共に、初期状態確率分布530を加味して、意図クラスの確率(尤度)を算出する(確率分布540)。第1利用シーンの確率分布540は、問い合わせの意図についての確率(尤度)が高いことを示す。更に、ユーザが次の発話を行うと、サーバ110は、同じ機械学習モデルを用いて意図クラスの確率(尤度)を算出すると共に、状態遷移確率を加味して、意図クラスの確率(尤度)を算出する。このように、機械学習モデルによって意図の尤度を算出することに加えて、ある意図の状態から次の意図の状態へ遷移する確率を加味することにより、意図の尤度と確率分布の遷移のし易さを考慮して最終的な発話意図の推定を行うことができる。
【0054】
その後、利用シーンが変化すると、サーバ110は、第2利用シーンに対応付けられた機械学習モデル、第2利用シーンの初期状態確率分布、及び、第2利用シーンの状態遷移確率分布を用いて意図クラスの確率(尤度)を算出する。
【0055】
本実施形態では、サーバ110は、意図クラスの尤度を以下の式に従って算出する。以下の意図クラスの算出は、上述のように各利用シーンごとに算出される。
【数1】

上記式において、b(ct)は意図クラスの離散確率分布、xtは発話文をベクトル化したもの、Cはとりうる意図クラスの集合(ベクトル化したもの)、cは意図クラスを表す確率変数、添え字t(t≧1)は時刻を表す。尤度関数のP(xt|ct)の演算結果は、(利用シーンごとに異なる)機械学習モデルの演算により求められる。b(ct=0)は、(利用シーンごとに異なる)初期状態確率分布である。P(ct|ct-1)は、(利用シーンごとに異なる)状態遷移確率を表す。この計算により、時刻tの発話の意図を推定する際に、時刻tの発話よりも1つ前の発話のために推定された推定結果を再帰的に加味することができる。
【0056】
(ユーザの意図推定処理の一連の動作)
次に、サーバ110におけるユーザの意図推定処理の一連の動作について、図6を参照して説明する。なお、本処理は、制御ユニット404がプログラムを実行することにより実現される。本一連の動作で実行される機械学習モデルは、学習用データを用いて学習済み(推論段階)の状態である。以下の説明では、説明の簡単のために制御ユニット404が各処理を実行するものとして説明するが、(図4にて上述した)制御ユニット404の各部により対応する処理が実行される。
【0057】
S601において、制御ユニット404は、通信装置120から開始トリガを受信する。開始トリガは、例えば、ユーザの発話に基づいて車両を制御するサービスの利用開始を表す。この開始トリガは、例えば、ユーザ130が、通信装置120において、当該サービスを利用するためのアプリケーションを起動したこと、或いは当該サービスの利用開始を表す所定の用語を発話したこと等に応じて、通信装置120から送信される。
【0058】
S602において、制御ユニット404は、ユーザ130と関連付ける車両を特定する。制御ユニット404は、例えば、車両から送信されるフローティングデータから常時把握している様々な車両の現在位置と、ユーザ130の現在位置とに基づいて、ユーザ130に最も近い車両100を特定する。この方法に限らず、通信装置120上でユーザによって指定された車両を関連付ける車両として特定してもよい。
【0059】
S603において、制御ユニット404は、特定した車両100から、利用シーンを判定するための情報を取得する。利用シーンを判定するための情報は、例えば、車両に乗員が乗車しているか否かの情報、及び所定時間内にユーザ130が乗車したかどうかの情報を含む。乗員が乗車しているか否かの情報は、例えば、車両の座席から得られる。車両内に設置された撮像装置で認識された乗員の情報を更に含んでよい。
【0060】
なお、これらの情報が車両100からサーバ110に送信されるフローティングデータに含まれる場合、本ステップを省略してよい。この場合、制御ユニット404は、フローティングデータのなかから、特定した車両100の情報を取得すればよい。図6には明示していないが、制御ユニット404は、他のユーザが車両100に乗車している場合、処理をS602に戻して、別の車両を特定する。
【0061】
S604において、制御ユニット404は、車両100に対する、ユーザの利用シーンを識別する。利用シーンは、上述の{乗車前、乗車中、降車後}から識別される。制御ユニット404は、乗員が乗車しておらず、且つ、所定時間内にユーザ130が乗車していない場合、現在の利用シーンを乗車前であると識別する。乗員が車両に乗車しており、且つその乗員がユーザ130である場合、現在の利用シーンが乗車中であると判定する。また、制御ユニット404は、乗員が乗車しておらず、且つ、所定時間内にユーザ130が乗車した場合、現在の利用シーンを降車後であると識別する。
【0062】
S605において、制御ユニット404は、識別した利用シーンに応じた機械学習モデルを選択する。機械学習モデルのそれぞれは、対応する利用シーンごとに異なる学習用データを用いて学習されている。学習用データは、例えば、ユーザの発話情報に対して、正解となる発話の意図のラベルが付与されており、更に、対応する利用シーンを示すラベルが付与されている。すなわち、制御ユニット404が、利用シーンごとの機械学習モデルを学習させる際に、対応する利用シーンの学習データのみを機械学習モデルに入力して学習させることができる。
【0063】
S606において、制御ユニット404は、ユーザの発話情報を取得したかを判定する。制御ユニット404は、通信装置120からユーザの発話情報を取得した場合には、S607に処理を進め、そうでない場合、S606に戻ってユーザの発話情報の取得を待つ。
【0064】
S607において、制御ユニット404は、S605で選択された機械学習モデルを用いて発話の意図を推定する。具体的には、制御ユニット404は、上述した数式に従った演算を行って、出力意図クラスargmax b(ct)を算出する。このとき、ユーザの発話情報が、新たな利用シーンが識別された直後の発話情報である場合には、t=1の場合の演算を実行し、そうでない場合にはt≧2の場合の演算を行う。
【0065】
S608において、制御ユニット404は、発話の意図に応じた制御命令を車両に送信する。制御ユニット40は、例えば、上述したように、推定された発話意図に基づき、具体的な指示内容を特定するために、発話情報から必要な情報を特定する。例えば、ユーザの発話情報の意図が迎えに来るように要求するものであった場合、何処に何時に迎えにいくのか等の情報を特定する。音声情報処理部417は、更に、スロット充足の処理を含んでもよい。また、制御ユニット404は、認識した発話内容に基づいて、車両100の動作を制御する制御命令を、車両100に送信する。例えば、ユーザの発話情報から何処に何時に迎えにいくのかといった情報が特定された場合、ユーザ及び車両の現在位置、地図情報等に基づいて経路を特定し、当該経路を走行させる制御命令を車両100に送信する。
【0066】
S609において、制御ユニット404は、ユーザ操作が終了したかを判定する。制御ユニット404は、例えば、通信装置120から終了を示す情報を受信したかを判定する。終了を示す情報は、例えば、ユーザ130が、通信装置120において、当該サービスの利用終了を表す所定の用語を発話したこと等に応じて、通信装置120から送信される。制御ユニット404は、ユーザ操作が終了した判定した場合には本一連の処理を終了し、そうでない場合にはS603に処理を戻してS603以降の処理を繰り返す。
【0067】
なお、上述の実施形態では、サーバ110が車両100からの情報に基づいいて利用シーンを識別する場合を例に説明した。しかし、サーバ110は、他の情報に基づいて利用シーンを識別してもよい。例えば、サーバ110は、通信装置120からの情報に基づいて利用シーンを識別してもよい。例えば、通信装置120は、通信装置120から送信される開始トリガと、車両との近接の発生を示す情報とを受信して、利用シーンを識別するようにしてもよい。利用トリガは、上述のように、例えば、ユーザ130が、通信装置120において、上述のサービスを利用するためのアプリケーションを起動したこと、或いは当該サービスの利用開始を表す所定の用語を発話したこと等に応じて、通信装置120から送信される。また、例えば、ユーザが車両100に乗車する際及び降車する際に車両100に通信装置120を近接させるようにしておいて、通信装置120が、近接無線通信などで車両との近接を検知すると、近接の発生を示す情報を車両に送信する。例えば、サーバ110は、開始トリガの受信後であって近接の発生を示す情報を受信していない場合には、利用シーンを乗車前であると識別し、その後に近接の発生を示す情報を受信すると、利用シーンを乗車中と識別してよい。更に、近接の発生を示す情報を受信すると、利用シーンを降車後と識別してよい。なお、サーバ110が利用シーンを識別する代わりに、通信装置120において利用シーンを識別し、利用シーンの切り替えに応じて識別した利用シーンをサーバ110に送信してもよい。
【0068】
以上説明したように上記実施形態では、ユーザの発話による指示に基づいて車両を制御可能な情報処理装置において、まず、車両を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別するようにした。利用シーンを識別したうえで、識別された対象ユーザの利用シーンに応じて異なる機械学習モデルを選択し、選択された機械学習モデルを用いて、対象ユーザの発話の意図を推定するようにした。このようにすることで、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供可能になる。
【0069】
(変形例)
以下、本発明に係る変形例について説明する。上記実施形態では、発話意図の推定処理をサーバ110において実行する例について説明した。しかし、上述の発話意図の推定処理は、車両側で実行することもできる。この場合、情報処理システム900は、図7に示すように、車両710と通信装置120とで構成される。ユーザの発話情報は通信装置120から車両710へ送信される。車両710の構成は、制御ユニット30が発話意図の推定処理を実行可能であることを除き、車両100と同一の構成であってよい。車両710の制御ユニット30は、車両710における制御装置として動作し、記憶されているプログラムを実行することにより、上述の発話意図の推定処理を実行する。図6に示した一連の動作における、サーバと車両の間のやり取りは、車両の内部(例えば制御ユニット30の内部)で行えばよい。その他の処理については、サーバと同様に実行することができる。
【0070】
このように、ユーザの発話による指示に基づいて車両を制御可能な制御装置において、まず、車両を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別するようにした。利用シーンを識別したうえで、識別された対象ユーザの利用シーンに応じて異なる機械学習モデルを選択し、選択された機械学習モデルを用いて、対象ユーザの発話の意図を推定するようにした。このようにすることで、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供可能になる。
【0071】
<実施形態のまとめ>
1.上記実施形態の情報処理装置(例えば、110)は、
ユーザの発話による指示に基づいて移動体(例えば、120)を制御可能な情報処理装置であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別手段(例えば、414)と、
対象ユーザの発話情報を取得する取得手段(例えば、413)と、
識別された対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択手段(例えば、415)と、
選択された機械学習モデルを用いて、対象ユーザの発話の意図を推定する推定手段(例えば、416)と、を有する。
【0072】
この実施形態によれば、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供可能になる。
【0073】
2.上記実施形態の情報処理装置では、
機械学習モデルは、機械学習モデルが対応付けられている利用シーンごとに、推定する意図クラス(例えば、501、502)が異なる。
【0074】
この実施形態によれば、シーンごとに適した機械学習モデルを用いることが可能になる。
【0075】
3.上記実施形態の情報処理装置では、
推定手段は、複数の利用シーンに関連付けられ得る全ての意図クラスのうちの一部の意図クラスのみについての尤度を出力する機械学習モデルを用いて、対象ユーザの意図を推定する。
【0076】
この実施形態によれば、シーンごとに適した、少ない数の意図クラスを出力するモデルを用いることができる。すなわちモデルの学習を容易にすることが可能になる。
【0077】
4.上記実施形態の情報処理装置では、
推定手段は、選択された機械学習モデルの出力に、事前分布として意図クラスに設定される初期状態確率分布を用いた演算を加味して、対象ユーザの発話の意図を推定する。
【0078】
この実施形態によれば、シーンの文脈に依存する発話についての常識(コミュニケーションの第一声が否定の意図であったり、会話の最中に挨拶の意図がある可能性は低い)を反映することが可能になる。
【0079】
5.上記実施形態の情報処理装置では、
事前分布として設定される初期状態確率分布は、利用シーンごとに別個に定められる。
【0080】
この実施形態によれば、発話についての常識をシーンごとに反映することが可能になる。
【0081】
6.上記実施形態の情報処理装置では、
推定手段は、選択された機械学習モデルの出力に、意図クラスの間の状態遷移確率分布を用いた演算を加味して、対象ユーザの発話の意図を推定する。
【0082】
この実施形態によれば、実際の対話における意図の遷移順を考慮に入れた意図推定が可能になる。
【0083】
7.上記実施形態の情報処理装置では、
状態遷移確率分布は、シーンごとに別個に定められる。
【0084】
この実施形態によれば、シーンの意図クラスの間の状態遷移確率を別個に定めることが可能になる。
【0085】
8.上記実施形態の情報処理装置では、
推定手段は、時刻tの発話の意図を推定する際に、選択された機械学習モデルの出力に、時刻tの発話よりも1つ前の発話のために推定された推定結果を加味して、対象ユーザの発話の意図を推定する。
【0086】
この実施形態によれば、時刻t-1までの発話に対する確率分布を再帰的に考慮することができる。
【0087】
9.上記実施形態の情報処理装置では、
機械学習モデルのそれぞれは、対応する利用シーンごとに異なる学習用データを用いて学習され、学習用データは利用シーンを示すラベルを含む。
【0088】
この実施形態によれば、機械学習モデルを、利用シーンごとに小規模化された学習用データで学習させることができ、学習データは、ラベルに応じて容易に利用シーンを振り分けて学習に用いることが可能になる。
【0089】
10.上記実施形態の情報処理装置では、
対象ユーザの利用シーンがいずれのシーンであるかを、対象ユーザに関連付けられる移動体からの情報に基づいて識別する。
この実施形態によれば、利用対象である移動体から提供される情報に基づいて利用シーンを判定することで、利用シーンの判定を精度良く行うことができる。
【0090】
11.上記実施形態における移動体(例えば710)の制御装置(例えば、30)は、
ユーザの発話による指示に基づいて制御可能な移動体の制御装置であって、
移動体を利用する際の複数の利用シーンのうち、対象ユーザの利用シーンがいずれのシーンであるかを識別する識別手段(例えば、30、S604)と、
対象ユーザの発話情報を取得する取得手段(例えば、30、S606)と、
識別された対象ユーザの利用シーンに応じて異なる機械学習モデルを選択する選択手段(例えば、30、S605)と、
選択された機械学習モデルを用いて、対象ユーザの発話の意図を推定する推定手段(例えば、30、S607)と、を有する。
【0091】
この実施形態によれば、発話による移動体の制御において、より小規模な学習で構築されたモデルによって発話意図の分類を提供可能になる。
【0092】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0093】
100…車両、110…サーバ、120…通信装置、404…制御ユニット、413…ユーザデータ取得部、414…シーン識別部、415…モデル選択部、416…発話意図推定部、417…音声情報処理部、418…車両制御部
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7