[1]実施例
図1は実施例に係る対話型ユーザ支援システム1の全体構成を表す。対話型ユーザ支援システム1は、対話型のユーザインターフェース(UI:User Interface)によりユーザを支援するためのシステムである。対話型のUIとは、人又は動物等を模したふるまいをする装置がユーザに対して問い掛け及び返答等のコミュニケーションを取りながら必要な情報及び機能等を提示するUIのことである。対話型ユーザ支援システム1は、例えば、ユーザが得たい情報を提示したり、ユーザが希望する処理を行うことが可能なサイトに誘導したりすることでユーザを支援する。
対話型ユーザ支援システム1は、ネットワーク2と、サーバ装置10と、ユーザ端末20とを備える。ネットワーク2は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク2には、サーバ装置10が有線通信でアクセスしており、ユーザ端末20が無線通信でアクセスしている。なお、ネットワーク2とのアクセスは有線通信及び無線通信のどちらでもよい。
サーバ装置10は、対話型UIにおいて表示される画面の情報を処理する情報処理装置である。サーバ装置10は、対話の進め方を表した対話シナリオ等のデータを記憶しており、それらのデータを用いて対話型UIにおける表示を制御する。ユーザ端末20は、表示面に画像を表示する表示機能を有するスマートフォン等の表示装置であり、ユーザによって利用される。ユーザ端末20は、サーバ装置10から送信されてきたデータが示す画像を表示することで、対話型UIを表示すると共に、ユーザによる入力を受け付けて対話型UIの画面を遷移させる。ユーザ端末20は本発明の「入力装置」の一例である。
図2はサーバ装置10及びユーザ端末20のハードウェア構成を表す。サーバ装置10及びユーザ端末20は、いずれも、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14と、入力装置15と、出力装置16と、バス17という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
プロセッサ11は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ11は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。また、プロセッサ11は、プログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を、ストレージ13及び/又は通信装置14からメモリ12に読み出し、これらに従って各種の処理を実行する。
各種処理を実行するプロセッサ11は1つでもよいし、2以上であってもよく、2以上のプロセッサ11は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ11は、1以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ12は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)及びRAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ12は、レジスタ、キャッシュ及びメインメモリ(主記憶装置)等と呼ばれてもよい。メモリ12は、前述したプログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を保存することができる。
ストレージ13は、コンピュータが読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。
ストレージ13は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ12及び/又はストレージ13を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置14は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置15は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタン、センサなど)である。ユーザ端末20は、音の入力を受け付けるマイクロフォンを入力装置15として備える。出力装置16は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカ、LEDランプなど)である。ユーザ端末20は、入力装置15及び出力装置16が一体となった構成であるタッチスクリーンを備える。
プロセッサ11及びメモリ12等の各装置は、情報を通信するためのバス17を介して互いにアクセス可能となっている。バス17は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。また、サーバ装置10等は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及び、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよい。
また、サーバ装置10等は、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ11は、これらのハードウェアの少なくとも1つで実装されてもよい。サーバ装置10及びユーザ端末20には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
図3は対話型ユーザ支援システム1が実現する機能構成を表す。ユーザ端末20は、画面表示操作受付部201と、入力画面表示部202と、音声入力受付部203と、手入力受付部204と、処理結果表示部205とを備える。サーバ装置10は、入力画面データ生成部101と、入力促進画像生成部102と、音声入力内容取得部103と、手入力内容取得部104と、入力項目取得部105と、入力方法決定部106と、処理実行部107とを備える。
ユーザ端末20の画面表示操作受付部201は、入力画面を表示させる表示操作を受け付ける。入力画面とは、ユーザによる入力を受け付けるための画面であり、1以上の入力項目の入力を受け付ける際に表示される。入力項目には、例えば、検索画面における検索のキーワード、SNS(Social Networking Service)の投稿画面における投稿文章及びスケジュールの入力画面におけるスケジュール等が含まれる。
また、これらの画面に含まれる検索ボタン及び投稿ボタンも、例えばリンク集を含む画面におけるリンク画像も、いずれも入力項目の1つである(ボタン又はリンクの選択という入力が行われる)。そのため、入力画面には、通常は複数の入力項目が含まれる。また、ほとんどの画面には何らかの入力項目が含まれるので、ユーザ端末20は、画面を切り替える度に新たな入力画面を表示することになる。本実施例では、サーバ装置10が、ブラウザ、SNS(Social Networking Service)、店舗検索、宿検索及び乗換案内等の機能を統合した統合アプリの画面としてこれらの入力画面を提供する。
画面表示操作受付部201は、例えば図3に表す機能を実現するプログラムを最初に起動する操作及びその操作により表示された入力画面を別の入力画面に切り替える操作等を上記の表示操作として受け付ける。一方、入力画面内で文字列等を入力する操作のように画面が切り替わらない操作は表示操作として受け付けられない。画面表示操作受付部201は、表示操作を受け付けた入力画面(次に表示される入力画面)の表示を要求する要求データをサーバ装置10に送信する。
サーバ装置10の入力画面データ生成部101は、送信されてきた要求データが示す入力画面を示すデータである入力画面データを生成する。本実施例では、前述した検索画面、投稿画面及びメモ入力画面等を、サーバ装置10自身が提供しているものとする。入力画面データ生成部101は、要求された入力画面を構成する画像等の情報を自装置から読み出して入力画面データを生成し、要求データの送信元のユーザ端末20に送信する。
ユーザ端末20の入力画面表示部202は、送信されてきた入力画面データが示す入力画面を自装置のディスプレイに表示する。
図4は表示された入力画面の一例を表す。図4の例では、入力画面表示部202は、出発駅入力欄B1と、経由駅追加ボタンB2と、駅名入替ボタンB3と、到着駅入力欄B4と、時刻種類選択ボタンB5と、時刻入力欄B6と、検索ボタンB7とを含む電車情報画面A1を表示している。
また、入力画面表示部202は、アバター画像C1と、吹き出し画像D1とを表示している。アバター画像C1は、対話型のUIにおいてユーザの対話の相手である装置を擬人化して表したアバターを示す画像である。吹き出し画像D1は、アバターからユーザに向けてのメッセージを表す画像であり、ここでは「出発駅と到着駅を入力してください。」というメッセージを表している。
アバター画像C1及び吹き出し画像D1は、ユーザの入力を促す画像(以下「入力促進画像」という)である。吹き出し画像D1は、「入力してください。」という文章で直接的に入力を促している。なお、これに限らず、選択肢を共に表示することで選択肢を選択する入力を促す画像又は会話に出てくるようなメッセージ(会話の続きが期待される文章)を表してメッセージの続きを見るための入力を促す画像が入力促進画像として表示されてもよい。
サーバ装置10の入力促進画像生成部102は、上述したような入力促進画像を生成する。入力促進画像生成部102は、例えば、入力画面を識別する画面ID(対話型ユーザ支援システム1において各入力画面に対して予め割り当てられているものとする)に対応付けてその入力画面において入力を促す情報を記憶しておく。
例えば電車情報画面A1には、「出発駅と到着駅を入力してください。」という文字列の他に、「出発時刻か到着時刻が設定できます。」、「経由する駅も設定できます。」。「この内容で検索しますか?」という文字列が入力を促す情報として対応付けられている。入力画面データ生成部101は、前述した要求データを受け取ると、その要求データにより表示を要求された入力画面を識別する画面IDを入力促進画像生成部102に供給する。
入力促進画像生成部102は、供給された画面IDに対応付けて記憶している前述した文字列を決められた順番で読み出して、読み出した文字列を表す入力促進画像を生成する。入力促進画像生成部102は、生成した入力促進画像を入力画面データ生成部101に供給する。入力画面データ生成部101は、供給された入力促進画像を含む入力画面(例えば図4に表す電車情報画面A1)を示す入力画面データを生成する。
入力画面は、それぞれ音声入力及び手入力という複数の入力方法のうち、どちらで入力を受け付けるかが決まっている。音声入力とは、ユーザの音声を認識してその音声が表す言葉に応じた入力を受け付ける入力方法である。手入力とは、ユーザが自分の手や足、或いはタッチペンなどを使ってタッチスクリーンに触れたりボタン(物理ボタン、論理ボタン)を押したりすることで入力を受け付ける入力方法である。なお、手入力には、手を使ったジェスチャ入力(手の動きを認識してその動きに応じた入力を受け付ける入力方法)が含まれていてもよい。
入力画面には、音声入力及び手入力のうちの一方の入力方法だけを受け付ける入力画面もあれば、入力方法を切り替える操作を行うことで両方の入力方法を受け付ける入力画面もある。図4に表す電車情報画面A1は、音声入力及び手入力という複数の入力を、入力方法の切り替え操作を行うことなくどちらでも受け付ける状態で表示されるマルチ入力画面である。
入力画面データ生成部101は、入力画面データに受付可能な入力方法を示す入力方法情報(電車情報画面A1であればマルチ入力画面であることを示す情報)を含めて送信する。入力画面表示部202は、送信されてきた入力画面データに含まれた入力方法情報により音声入力が受け付け可能なことが示されていれば、音声入力受付部203に入力の受け付けを指示し、手入力が受け付け可能なことが示されていれば、手入力受付部204に入力の受け付けを指示する。
入力画面表示部202は、入力方法情報によりマルチ入力画面であることが示されていれば、音声入力受付部203及び手入力受付部204の両方に入力の受け付けを指示する。この指示が行われると、ユーザ端末20は、手入力及び音声入力をどちらも受け付ける状態となる。より詳細には、例えば手入力及び音声入力の切替操作を行って双方の入力を受け付けることも可能だが、ユーザ端末20は、そのような切替操作が行われなくても双方の入力を受け付ける状態となる。
音声入力受付部203は、入力画面表示部202から入力受付の指示を受け取ると、音声入力を受け付け可能な状態(例えばマイクロフォンをオンの状態)で自装置を維持し、ユーザによって音声入力が行われると、その音声入力を受け付ける。具体的には、音声入力受付部203は、マイクロフォンに入力された音声を周知の音声認識技術で認識し、その音声が示す言葉を音声入力の内容として示す音声入力データを生成してサーバ装置10に送信する。
また、音声入力受付部203は、認識した音声が入力項目であるボタンを示す場合はそのボタンに割り当てられたボタンIDを示すデータを音声入力データとして生成してサーバ装置10に送信する。手入力受付部204は、入力画面表示部202から入力受付の指示を受け取ると、手入力を受け付け可能な状態(例えばタッチスクリーン上の接触位置を検知する機能をオンの状態)で自装置を維持し、ユーザによって手入力が行われると、その手入力を受け付ける。
手入力受付部204は、受け付けた手入力の内容を示す手入力データ(例えば手入力された文字列を示すデータ又は手入力で選択されたボタンのボタンIDを示すデータ等)を生成してサーバ装置10に送信する。サーバ装置10の音声入力内容取得部103は、送信されてきた音声入力データが示す内容、すなわちユーザ端末20が受け付けた音声入力の内容を取得する。音声入力内容取得部103は本発明の「第1取得部」の一例である。
サーバ装置10の手入力内容取得部104は、送信されてきた手入力データが示す内容、すなわちユーザ端末20が受け付けた手入力の内容を取得する。手入力内容取得部104は本発明の「第2取得部」の一例である。音声入力内容取得部103は、取得した音声入力の内容(認識された言葉及びボタンID等)を入力方法決定部106に供給し、手入力内容取得部104は、取得した手入力の内容(手入力された文字列及びボタンID等)を入力方法決定部106に供給する。
入力方法決定部106には、入力項目取得部105からも情報が供給される。入力項目取得部105は、ユーザ端末20に表示されている入力画面の入力項目を取得する。入力項目取得部105は、例えば、自装置がユーザ端末20に提供する入力画面の画面IDに、各画面に含まれる入力項目の項目IDを対応付けた入力項目テーブルを記憶しておく。
入力画面データ生成部101は、上述したユーザ端末20から送信されてきた要求データにより表示を要求された入力画面の画面IDを入力項目取得部105に供給する。入力項目取得部105は、供給された画面IDに入力項目テーブルで対応付けられている入力項目を、ユーザ端末20に表示されている入力画面の入力項目として取得する。入力項目取得部105は、取得した入力項目の項目IDを入力方法決定部106に供給する。
入力方法決定部106は、入力項目取得部105により取得された入力項目に対する入力内容として、音声入力内容取得部103により取得された音声入力の内容及び手入力内容取得部104により取得された手入力の内容のいずれかを決定する。この入力項目は本発明の「所定の入力項目」の一例であり、入力方法決定部106は本発明の「決定部」の一例である。
入力方法決定部106は、本実施例では、例えば、図4に表すように複数の入力項目を含む入力画面が表示されており、そのうちのいずれかの入力項目が選択された状態で音声入力内容取得部103により音声入力の内容が取得された場合には、その音声入力の内容をその選択された状態の入力項目の入力内容として決定する。ユーザ端末20においては、入力項目の選択操作が受け付けられる。
本実施例では、入力項目の選択操作は手入力でのみ行われる。具体的には、出発駅入力欄B1等の入力欄の内部をタップする操作及び時刻種類選択ボタンB5等のボタンをタップする操作等が選択操作として行われると、手入力受付部204がその選択操作を手入力として受け付ける。手入力受付部204は、受け付けた手入力により選択された入力項目の項目IDを入力画面表示部202に供給する。
入力画面表示部202は、供給された項目IDが示す入力項目に、選択された状態を示す選択画像を表示する。
図5は表示された選択画像の一例を表す。図5(a)では、出発駅入力欄B1にカーソルE1が選択画像として表示されている。出発駅入力欄B1は、文字列を入力する入力欄なので、入力画面表示部202は、ソフトウェアキーボードF1を共に表示している。
図5(b)では、時刻種類選択ボタンB5を囲む枠画像E2が選択画像として表示されている。時刻種類選択ボタンB5は、決められた時刻種類(「出発時刻」、「到着時刻」、「始発」、「終電」)からいずれかを選択するための入力項目なので、入力画面表示部202は、それらの選択肢を示す選択用リストF2を共に表示している。手入力受付部204は、選択操作の手入力を受け付けた場合、その内容を示す手入力データとして選択された入力項目の項目IDを示すデータを生成してサーバ装置10に送信する。
入力方法決定部106は、手入力内容取得部104から供給される手入力の内容が選択された入力項目の項目IDを表している場合に、その項目IDの入力項目が選択された状態と判断する。入力方法決定部106は、その状態で、音声入力内容取得部103から音声入力の内容が供給されると、その音声入力の内容を、選択された状態と判断した入力項目の入力内容として決定する。
入力方法決定部106は、例えば図5(a)の状態で「新宿」という音声入力の内容が供給されると、出発駅入力欄B1の入力内容として「新宿」を決定する。このとき、入力方法決定部106は、図5(a)のようにソフトウェアキーボードF1が表示されていたとしても、音声入力の内容を入力内容として決定する。
また、入力方法決定部106は、例えば図5(b)の状態で「到着時刻」という音声入力の内容が供給されると、時刻種類選択ボタンB5の入力内容として「到着時刻」を決定する。本実施例では、入力方法決定部106は、入力促進画像により特定の入力項目(図4の例なら出発駅入力欄B1及び到着駅入力欄B4)の入力が促されている場合でも、全ての入力項目(図5(b)の例では時刻種類選択ボタンB5)について入力内容を決定する。
また、入力方法決定部106は、図5(a)の状態で「新宿」という手入力の内容が供給された場合も、出発駅入力欄B1の入力内容として「新宿」を決定する。また、入力方法決定部106は、図5(b)の状態で「到着時刻」を選択する手入力(選択用リストF2から「到着時刻」を選択する手入力)の内容が供給された場合も、時刻種類選択ボタンB5の入力内容として「到着時刻」を決定する。
つまり、入力方法決定部106は、或る入力項目について選択された状態と判断した場合、本実施例では、その判断の後に、先に供給された入力方法(音声入力又は手入力)による入力内容を、その入力項目の入力内容として決定する。なお、入力方法決定部106は、例えば図5(a)の状態で「埼玉」という駅名として存在しない音声入力の内容が供給された場合でも、出発駅入力欄B1の入力内容として「埼玉」を決定する。
このように入力内容が正確でない場合については、後述する処理実行部107がそれに合った処理を行う。入力方法決定部106は、決定した入力内容及びその決定の対象である入力項目の項目IDを処理実行部107に供給する。処理実行部107は、入力方法決定部106により決定された入力内容を入力項目に表示させるための処理(以下「表示処理」という)を行う。処理実行部107は本発明の「処理部」の一例である。
処理実行部107は、例えば、供給された項目IDの入力項目として供給された入力内容を表示することを指示する指示データを生成し、ユーザ端末20に送信する処理を表示処理として行う。ユーザ端末20の処理結果表示部205は、送信されてきた指示データを受け取ると、その指示データが示す指示に従い、処理実行部107により実行された処理の結果を表示する。
図6は表示された処理の結果の一例を表す。処理結果表示部205は、例えば出発駅入力欄B1の入力内容として「新宿」を表示する指示がされた場合、入力画面表示部202から各入力項目の表示位置を示す表示位置情報を取得して、図6(a)に表すように出発駅入力欄B1の位置に「新宿」という文字列を表示することで、処理結果を表示する。
また、処理結果表示部205は、時刻種類選択ボタンB5の入力内容として「到着時刻」を表示する指示がされた場合、図6(b)に表すように時刻種類選択ボタンB5の位置に「到着時刻」という文字列を表示することで、処理結果を表示する。なお、処理結果の表示方法はこれに限らない。処理実行部107が例えば上記の指示データを入力画面データ生成部101に供給し、入力画面データ生成部101がこの指示データが示す入力項目にこの指示データが示す入力内容を示す入力画面データを生成して送信することで、処理結果が表示されてもよい。
また、処理実行部107が入力画面データ生成部101から入力画面データを読み出し、読み出した入力画面データに処理結果を表示させる加工を行って入力画面データ生成部101に供給して送信させることで、処理結果が表示されてもよい。このように、ユーザ端末20で処理結果が表示されるのであれば、どのような方法で処理結果が表示されてもよい。また、出発駅入力欄B1の入力内容として上述したように「埼玉」という駅名が存在しない入力内容を表示する指示がされる場合がある。
その場合、処理実行部107は、本実施例では、「さいたま副都心」という類似する駅名の表示を指示する指示データを生成して送信する処理を表示処理として行う。なお、処理実行部107は、この場合に、「そのような駅はありません。」という文字列の表示を指示する指示データを生成して送信する処理を表示処理として行ってもよい。また、検索ボタンB7を選択する入力(音声入力及び手入力のどちらでもよい)が行われた場合の表示処理は次のとおりである。
処理実行部107は、例えば、入力された出発駅から到着駅まで移動する際に乗車する電車の駅及び時刻等の乗換え情報を生成し、生成した乗換え情報の表示を指示する指示データを生成して送信する処理を表示処理として行う。このように、入力内容に対してどのような表示を行うかは、入力画面毎及び入力項目毎に決められていればよく、処理実行部107は、その決めごとに従って表示処理を実行する。
また、入力方法決定部106は、上述した選択状態の判断を、所定の時間間隔(例えば1秒毎)で繰り返し行う。そのため、例えば出発駅入力欄B1に音声入力が行われて入力内容が表示された後も出発駅入力欄B1を選択状態にしておけば、その入力内容に続けて次の入力を行うことができる。その際は、音声入力及び手入力のどちらで続きの入力がされても、各部が上記のとおり動作して、続きの入力内容が表示される。このように、入力方法決定部106は、1つの入力項目に対して、音声入力の内容と、手入力の内容とを合わせた入力内容を決定することができる。
対話型ユーザ支援システム1が備える各装置は、上記の構成に基づいて対話型UIでユーザの入力を支援する入力支援処理を行う。
図7は入力支援処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ユーザにより入力画面の表示操作が行われることを契機に開始される。まず、ユーザ端末20(画面表示操作受付部201)は、入力画面を表示させる表示操作を受け付け(ステップS11)、入力画面の表示を要求する要求データをサーバ装置10に送信する(ステップS12)。
サーバ装置10(入力促進画像生成部102)は、送信されてきた要求データが示す入力画面に対応する入力促進画像を生成する(ステップS13)。次に、サーバ装置10(入力画面データ生成部101)は、ステップS13で生成された入力促進画像を含む入力画面を示すデータである入力画面データを生成し(ステップS14)、要求データの送信元のユーザ端末20に送信する(ステップS15)。
ユーザ端末20(入力画面表示部202)は、送信されてきた入力画面データが示す入力画面を自装置のディスプレイに表示する(ステップS16)。ここで表示された入力画面は、上述したマルチ入力画面(音声入力及び手入力という複数の入力を、入力方法の切り替え操作を行うことなくどちらでも受け付ける状態で表示される入力画面)であるものとする。
次に、ユーザ端末20(入力画面表示部202)は、音声入力受付部203及び手入力受付部204に、入力の受け付けを指示する(ステップS17)。続いて、ユーザ端末20(音声入力受付部203又は手入力受付部204)は、ユーザによる音声入力又は手入力を受け付けると(ステップS21)、受け付けた入力の内容を示す入力データ(音声入力データ又は手入力データ)を生成してサーバ装置10に送信する(ステップS22)。
サーバ装置10(音声入力内容取得部103又は手入力内容取得部104)は、送信されてきた入力データが示す内容、すなわちユーザ端末20が受け付けた音声入力又は手入力の内容を取得する(ステップS23)。次に、サーバ装置10(入力項目取得部105)は、ユーザ端末20に表示されている入力画面の入力項目を取得する(ステップS24)。なお、ステップS23及びS24の動作は順番が反対でもよいし並行して行われてもよい。
続いて、サーバ装置10(入力方法決定部106)は、ステップS24で取得された入力項目のうち、ユーザにより選択された状態の入力項目を判断し(ステップS25)、選択状態と判断した入力項目に対する入力内容として、音声入力の内容及び手入力の内容のいずれかを決定する(ステップS26)。サーバ装置10(入力方法決定部106)は、本実施例では、入力項目の選択状態を判断した場合、その判断の後に、先に供給された入力の内容(音声入力の内容又は手入力の内容)をその入力項目の入力内容として決定する。
そして、サーバ装置10(処理実行部107)は、ステップS26で決定された入力内容を入力項目に表示させるための表示処理として、入力内容の表示を指示する指示データを生成し(ステップS27)、その指示データをユーザ端末20に送信する(ステップS28)。ユーザ端末20(入力画面表示部202及び処理結果表示部205)は、送信されてきた指示データが示す指示に従い処理の結果を表示する(ステップS29)。
本実施例では、入力項目に対する入力内容として、音声入力の内容及び手入力の内容のいずれかがサーバ装置10の機能(入力方法決定部106)によって決定される。例えば音声入力及び手入力のどちらで入力するかをユーザが操作して切り替える方法でも、音声入力及び手入力の両方を活用することはできるが、その方法に比べると、切替操作が不要な分、音声入力及び手入力の両方を活用する際の手間を少なくすることができる。
また、本実施例では、音声入力の入力内容が、選択状態と判断された入力項目の入力内容として決定される。これにより、入力項目が複数表示されている場合でも、音声入力をする入力項目を把握することができる。また、本実施例では、上述したとおり1つの入力項目に対して音声入力及び手入力が混在した入力を行うことができる。これにより、例えば長い文章は音声で入力し、音声だと入力しにくい記号等を手入力で入力するというように、入力内容に応じて入力しやすい方法を用いて入力を行うことができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
[2-1]入力項目の自動選択
実施例では、入力項目の選択をユーザが行ったが、これに限らない。
図8は本変形例で実現される機能構成の一例を表す。図8の例では、図3に表す各部に加えて入力項目選択部111を備えるサーバ装置10aが表されている。
入力項目選択部111は、ユーザ端末20に表示されている複数の入力項目のうちのいずれかを選択された状態にする。入力項目選択部111は本発明の「第1選択部」の一例である。入力項目選択部111は、本変形例では、複数の入力項目を含む入力画面に表示が切り替わった場合に、切替前の画面に含まれていたコンテンツとの関連が他に比べて(他の入力項目に比べて)大きい入力項目を選択された状態にする。
本変形例では、入力画面データ生成部101が、入力画面データを生成して送信する度に、つまりその入力画面データが示す入力画面がユーザ端末20に表示される度に、その入力画面データを入力項目選択部111に供給する。ユーザ端末20に表示される入力画面は、入力項目を含む画面であると共に、検索結果、投稿内容、ウェブページ及びアプリが提供する情報(乗換えの検索結果など)等のコンテンツを表す画面である。
入力項目選択部111は、新たな入力画面データが供給されると、その前に供給された入力画面データが表すコンテンツを、切替前の画面に含まれていたコンテンツと特定する。また、入力項目選択部111は、自装置が提供するコンテンツ(入力画面に表されたコンテンツ)をジャンル分けしたコンテンツリストと、各入力画面に含まれる各入力項目をジャンル分けした入力項目リストとを記憶しておく。
入力項目選択部111は、前述のとおり特定した切替前の画面に含まれていたコンテンツのジャンルをコンテンツリストを参照して判定する。そして、入力項目選択部111は、新たに供給された入力画面データが示す入力画面の入力項目に、判定したジャンルと共通するジャンルの入力項目があれば、その入力項目を切替前の画面に含まれていたコンテンツとの関連が他に比べて大きい入力項目と判断して選択された状態にする。
入力項目選択部111は、例えば選択状態にする入力項目の項目IDを付加した入力画面データを入力画面データ生成部101に供給して送信させる。入力画面表示部202は、送信されてきた入力画面データが示す項目IDの入力項目に選択画像を表示する。こうして入力項目選択部111は、入力項目を選択された状態にする。
図9は入力項目の選択の例を表す。図9では、宿泊日、宿泊地域及び予算という入力項目を含む宿検索画面への切り替えの例が表されている。宿検索画面では、これらの入力項目のうち1以上を入力してから検索ボタンを選択する入力を行うことで、入力された条件を満たす宿が検索結果として表示される。そして、図9(a)ではスケジュール画面からの切り替えが、図9(b)では地図情報画面からの切り替えが、図9(c)では家計簿情報画面からの切り替えが表されている。
入力項目選択部111は、前述したコンテンツリストに基づき例えば図9(a)のスケジュール画面は「時間」というジャンルと判定し、同じジャンルの「宿泊日」という入力項目を図9(a)に表すように選択された状態にする。また、入力項目選択部111は、図9(b)の地図情報画面は「地理」というジャンルと判定し、同じジャンルの「宿泊地域」という入力項目を図9(b)に表すように選択された状態にする。
また、入力項目選択部111は、図9(c)の家計簿情報画面は「お金」というジャンルと判定し、同じジャンルの「予算」という入力項目を図9(c)に表すように選択された状態にする。なお、入力項目選択部111は、前述したジャンルが共通する入力項目が複数ある場合には、予め定められたルールに基づいて選択状態にする入力項目を決定する。
入力項目選択部111は、例えばジャンルを更に細分化することで選択状態にする入力項目を1つだけ決定する。また、入力項目選択部111は、各コンテンツ及び各入力項目を複数のジャンルに区分し、共通するジャンルが最も多い入力項目を1つだけ選択状態にする。この際、ジャンルによって重み付けをしてもよい(重みの重いジャンルが共通する入力項目は選択状態になりやすい)。
また、入力項目選択部111は、例えば画面の最も上側に配置された入力項目を選択状態にしてもよいし、画面内のサイズが最も大きい入力項目を選択状態にしてもよい。いずれの場合も、本変形例では、切替前の画面に含まれていたコンテンツとの関連が他に比べて大きい入力項目が選択された状態になる。この切替前の画面に含まれていたコンテンツは、それ以外のコンテンツに比べると、ユーザの関心が高いものである可能性が高い。
従って、切替前の画面に含まれていたコンテンツとの関連が大きい入力項目も、他の入力項目に比べてユーザの関心が高いものである可能性が高い。本実施例では、上記のとおり入力項目を選択状態にすることで、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、ユーザの関心がより高い入力項目を選択状態にして、その入力項目への入力を迅速に行えるようにすることができる。
また、図9の例のように必ずしも全ての入力項目を入力しなくてもよい場合には、ユーザがより入力する可能性が高い入力項目を選択状態にすることで、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、余計な手間(最初に選択状態にされた入力項目への入力がされないで他の入力項目を選択する際の手間)が生じる可能性を減らすことができる。
[2-2]ユーザ毎の選択基準
入力項目の選択基準をユーザ毎に異ならせてもよい。
図10は本変形例で実現される機能構成の一例を表す。図10の例では、図3に表す各部に加えて入力項目選択部111と、ユーザ属性情報取得部112とを備えるサーバ装置10bが表されている。ユーザ属性情報取得部112は、ユーザ端末20を利用するユーザの属性を示す属性情報を取得する。ユーザ属性情報取得部112は本発明の「属性取得部」の一例である。
ユーザ属性情報取得部112は、例えば、対話型ユーザ支援システム1を利用するユーザが予め登録した自身の属性情報(年齢、性別、居住地域、趣味、好物、特技等)をユーザIDに対応付けてユーザ属性情報として記憶しておく。本変形例では、ユーザ端末20が、自端末を利用するユーザのユーザIDを記憶しておき、入力画面の表示を要求する要求データにユーザIDを付加してサーバ装置10bに送信する。
入力画面データ生成部101は、要求データを受け取ると、その要求に応答して生成した入力画面データと共にユーザ属性情報取得部112に供給する。ユーザ属性情報取得部112は、供給された要求データが示すユーザIDに対応付けて記憶しているユーザ属性情報を取得し、取得したユーザ属性情報を、供給された入力画面データと共に入力項目選択部111に供給する。
入力項目選択部111は、供給されたユーザ属性情報、すなわちユーザ属性情報取得部112により取得されたユーザ属性情報との関連が他の入力項目に比べて大きい入力項目を選択された状態にする。本変形例の入力項目選択部111は本発明の「第2選択部」の一例である。入力項目選択部111は、例えば、各入力画面に含まれる入力項目毎に、関連する属性を対応付けた属性対応テーブルを記憶しておく。
入力項目選択部111は、新たに供給された入力画面データが示す入力画面の入力項目に、取得されたユーザ属性情報が示す属性が対応付けられたものがあれば、その入力項目を、ユーザ属性情報との関連が他の入力項目(取得されたユーザ属性情報が示す属性に対応付けられていない入力項目)に比べて大きい入力項目と判断して、上記の変形例と同じ方法でその入力項目を選択された状態にする。
図11は入力項目の選択の例を表す。図11では、新幹線検索、電車・バス検索、定期検索、周遊券検索、高齢者割引検索という入力項目を含む電車情報画面への切り替えの例が表されている。これらの入力項目は1画面に収まらずスクロールさせて表示させるようになっている。図11(a)ではユーザ属性が「学生」の場合が、図9(b)ではユーザ属性が「サラリーマン」の場合が、図9(c)ではユーザ属性が「シニア世代」の場合が表されている。
入力項目選択部111は、前述した属性対応テーブルに基づき例えば図11(a)の場合は「学生」に関連する「定期検索」という入力項目を図11(a)に表すように選択された状態にする。また、入力項目選択部111は、図11(b)の場合は「サラリーマン」に関連する「新幹線検索」という入力項目を図11(b)に表すように選択された状態にする。
また、入力項目選択部111は、図11(c)の場合は「シニア世代」に関連する「高齢者割引検索」という入力項目を図11(c)に表すように選択された状態にする。なお、入力項目選択部111は、例えば、入力項目毎に関連する属性が複数対応付けられていて、「定期検索」及び「周遊券検索」の両方に対応付けられたユーザ属性が1人のユーザ属性として取得された場合には、属性毎に優先順位をしておいて、優先順位が高い属性に対応付けられた入力項目を選択状態にする。
なお、入力項目選択部111は、ユーザ属性情報との関連が他の入力項目に比べて大きい入力項目が複数ある場合は、優先順位を用いる方法以外にも、上記変形例で述べたような予め定められたルールに基づいて選択状態にする入力項目を決定すればよい。例えば学生及びサラリーマンに比べてシニア世代は高齢者割引検索を利用する可能性が高い。同様に、学生は他の属性のユーザに比べて定期検索を利用する可能性が高く、サラリーマンは他の属性のユーザに比べて新幹線検索を利用する可能性が高い。
本変形例では、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、ユーザに選択されやすい入力項目を選択状態にして、その入力項目を選択する入力を迅速に行えるようにすることができる。また、図11の例のように入力項目の表示にスクロールが必要な場合は、本変形例によれば、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、スクロールの手間が不要になりやすいようにすることができる。
[2-3]音声入力の履歴
音声入力の履歴に応じて入力項目の選択基準を異ならせてもよい。
図12は本変形例で実現される機能構成の一例を表す。図12の例では、図3に表す各部に加えて入力項目選択部111と、入力履歴取得部113とを備えるサーバ装置10cが表されている。入力履歴取得部113は、ユーザ端末20に対して音声入力された入力項目の履歴(音声入力履歴)を取得する。入力履歴取得部113は本発明の「第1履歴取得部」の一例である。
本変形例では、入力方法決定部106が、音声入力の内容を入力内容として決定した場合に、その決定の対象である入力項目の項目IDを、その入力項目が表示されているユーザ端末20のユーザ(対象ユーザ)のユーザIDに対応付けて入力履歴取得部113に供給する。入力履歴取得部113は、供給された項目ID及びユーザIDを、供給された時刻(入力時刻)に対応付けて音声入力履歴として取得し、取得した音声入力履歴を入力項目選択部111に供給する。
入力項目選択部111は、供給された音声入力履歴、すなわち入力履歴取得部113により取得された対象ユーザの音声入力履歴が示す音声入力による入力回数に応じた順番で入力項目を順次選択された状態にする。本変形例の入力項目選択部111は本発明の「第3選択部」の一例である。入力項目選択部111は、自装置が対象ユーザのユーザ端末20に提供する入力画面に含まれる入力項目毎に、音声入力の回数を記憶しておく。
図13は記憶された音声入力回数の一例を表す。図13の例では、図4に表す電車情報画面における各入力項目の音声入力回数として、出発駅入力欄B1は15回、経由駅追加ボタンB2と駅名入替ボタンB3は0回、到着駅入力欄B4は10回、時刻種類選択ボタンB5は2回、時刻入力欄B6は5回、検索ボタンB7は3回と表されている。この場合、入力項目選択部111は、音声入力回数が多い順に出発駅入力欄B1、到着駅入力欄B4、時刻入力欄B6、検索ボタンB7、時刻種類選択ボタンB5を順次選択された状態にする。
具体的には、入力項目選択部111は、まず出発駅入力欄B1を選択状態にして、出発駅入力欄B1への入力(音声入力でも手入力でもよい)がされると、次に到着駅入力欄B4を選択状態にする。入力項目選択部111は、こうして入力がある度に選択状態にする入力項目を切り替える。なお、入力項目選択部111は、音声入力がされた場合だけ、この順番での選択状態の切り替えを行ってもよい。
音声入力回数が多いほど、対象ユーザにとって手入力よりも音声入力の方が入力しやすい入力項目である可能性が高い。上記の例では音声入力回数が多い順に選択状態にすることで、対象ユーザが音声入力をしやすい入力項目の入力を音声で行うよう仕向けることができる。
また、入力項目選択部111は、検索ボタンB7のように選択すると入力画面が切り替わる入力項目については、音声入力回数に関わらず最後に選択状態にするか(そのような入力項目が複数あれば音声入力回数の多い方から選択状態にする)、選択状態にする対象から除いてもよい。これにより、音声入力回数だけに従う場合に比べて、例えば検索ボタンB7よりも音声入力回数が少ない時刻種類選択ボタンB5も音声入力されやすいようにすることができる。
また、入力項目選択部111は、入力履歴取得部113により取得された音声入力履歴が示す音声入力による入力回数が最大の入力項目を選択された状態にするだけとしてもよい。その場合、2番目以降の入力項目は対象ユーザ自身が選択する。この場合でも、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、対象ユーザが最も音声入力をしやすい入力項目に対して音声入力をする際の手間を少なくすることができる。
また、入力項目選択部111は、音声入力履歴が示す音声入力の時期を制限してもよい(例えば過去1年間の履歴だけを用いる)。その場合、制限された時期の傾向に合った選択がされることになる。また、上記の例では音声入力回数が用いられたが、手入力回数が用いられてもよい。その場合、入力履歴取得部113は、手入力回数の履歴を取得する。
そして、入力項目選択部111は、取得された履歴が示す手入力による入力回数に応じた順番で入力項目を順次選択された状態にしたり、その入力回数が最大の入力項目を選択された状態にしたりする。手入力の場合でも、前述した音声入力の場合と同様の効果を得ることができる。また、入力項目選択部111は、取得された履歴が示す手入力による入力回数と、取得された履歴が示す音声入力による入力回数とが多い方の入力方法での入力回数に応じた順番で入力項目を順次選択された状態にしてもよい。
これにより、例えば常に同じ位置の入力項目を選択状態にする場合に比べて、音声入力をしやすい入力画面では対象ユーザが最も音声入力をしやすい入力項目に対して音声入力をする際の手間を少なくすることができ、手入力をしやすい入力画面では対象ユーザが最も手入力をしやすい入力項目に対して手入力をする際の手間を少なくすることができる。
[2-4]入力の順番
過去に入力された順番に応じて入力項目の選択基準を異ならせてもよい。
図14は本変形例で実現される機能構成の一例を表す。図14の例では、図3に表す各部に加えて入力項目選択部111と、順番情報取得部114とを備えるサーバ装置10dが表されている。順番情報取得部114は、ユーザ端末20に対して入力された入力項目の順番を示す順番情報を取得する。順番情報取得部114は本発明の「順番取得部」の一例である。
本変形例では、入力方法決定部106が、音声入力の内容及び手入力の内容を入力内容として決定した場合に、それらの決定の対象である入力項目の項目IDを対象ユーザのユーザIDとその決定時刻(入力内容が決定された時刻)とに対応付けて順番情報取得部114に供給する。順番情報取得部114は、供給された項目ID、ユーザID及び決定時刻を順番情報として取得し、取得した順番情報を入力項目選択部111に供給する。
入力項目選択部111は、供給された順番情報、すなわち順番情報取得部114により取得された順番情報が示す順番の傾向から先に入力されることが多い順番に入力項目を選択された状態にする。本変形例の入力項目選択部111は本発明の「第4選択部」の一例である。入力項目選択部111は、自装置が対象ユーザのユーザ端末20に提供する入力画面に含まれる入力項目毎に、入力された順番の平均を記憶しておく。
図15は記憶された入力順番の平均の一例を表す。図15の例では、図4に表す電車情報画面における各入力項目の入力順番平均として、出発駅入力欄B1は1.3番、経由駅追加ボタンB2は3.2番、駅名入替ボタンB3は3.7番、到着駅入力欄B4は1.9番、時刻種類選択ボタンB5は3.1番、時刻入力欄B6は3.8番、検索ボタンB7は5.2番と表されている。
この場合、入力項目選択部111は、例えば、入力順番平均が少ない順に出発駅入力欄B1、到着駅入力欄B4、時刻種類選択ボタンB5、経由駅追加ボタンB2、駅名入替ボタンB3、時刻入力欄B6、検索ボタンB7を順次選択された状態にする。これにより、ユーザが入力を行う際によく用いる順番で入力項目の入力(音声入力及び手入力のどちらでもよい)を行うよう仕向けることができる。
ただし、この方法だと、例えば経由駅追加ボタンB2及び駅名入替ボタンB3のように入力されない場合がある入力項目も必ず選択状態になる。そこで、入力項目選択部111は、例えば入力順番平均を算出する際の母数(順番が取得された回数)が閾値未満の入力項目は除いてから入力順番平均が少ない順に選択された状態にしてもよい。これにより、入力される回数が一定の基準を下回る入力項目は選択状態にならないようにすることができる。
また、入力項目選択部111は、入力順番平均を算出する際の母数に加える順番が取得された時期を制限してもよい(例えば過去1年以内に制限する)。また、入力項目選択部111は、音声入力の順番又は手入力の順番だけに制限した場合の順番の傾向から先に入力されることが多い順番に入力項目を選択された状態にしてもよい。この場合も、ユーザが音声入力又は手入力を行う際によく用いる順番で入力項目の入力を行うよう仕向けることができる。
[2-5]音声での入力項目選択
実施例では、入力項目の選択をユーザが手入力で行ったが、音声入力で行ってもよい。
図16は本変形例で実現される機能構成の一例を表す。図16の例では、図3に表す各部に加えて入力項目選択部111を備えるサーバ装置10eが表されている。本変形例では、音声入力内容取得部103は、取得した音声入力の内容を入力項目選択部111に供給する。
入力項目選択部111は、音声入力内容取得部103により取得された音声入力の内容に入力項目に対応付けられた音声が含まれている場合には、その音声入力の内容をその入力項目の入力内容として決定する。入力項目に対応付けられた音声とは、例えば図4に表す出発駅入力欄B1であれば、「出発駅」、「出発地」及び「出発」等の音声であり、時刻入力欄B6であれば「時刻入力」、「時刻」及び「現在時刻」等の音声である。
入力項目選択部111は、各入力項目とそれらに対応付けられた音声が示す文字列を対応付けて記憶しておく。入力項目選択部111は、音声入力内容取得部103から供給された音声入力の内容に、表示されている入力画面に含まれる入力項目に対応付けて記憶された文字列が含まれているか否かを判断する。入力項目選択部111は、例えば、「新宿、出発地」という音声入力の内容が取得された場合には、出発駅入力欄B1に対応付けられた文字列(「出発地」)が含まれていると判断し、出発駅入力欄B1を入力項目として選択する。
この場合、入力項目選択部111は、選択した出発駅入力欄B1の項目IDと、音声入力の内容から出発駅入力欄B1に対応付けられた文字列を除いた文字列(この例では「新宿」)とを入力方法決定部106に供給する。入力方法決定部106は、供給された項目IDの入力項目に対する音声入力の内容として、供給された文字列を決定する。このように、入力方法決定部106は、取得された音声入力の内容に入力項目に対応付けられた音声(項目音声)とそれ以外の音声(項目外音声)とが含まれている場合には、その項目外音声が表す内容をその入力項目の入力内容として決定する。
この場合、ユーザは、入力したい入力項目が選択されていない状態でも、その入力項目に対応付けられた文字列と入力したい内容を一度に発声することで、選択状態になるのを待つことなく音声入力をすることができる。また、取得された音声入力の内容に入力項目に対応付けられた音声(項目音声)だけが含まれている場合には、入力項目選択部111が、その項目音声が表す入力項目を選択状態にする。
この場合、入力項目選択部111は、取得された音声入力の内容(例えば「出発地」)を破棄するよう入力方法決定部106に指示する。入力方法決定部106は、この指示を受け取ると、音声入力内容取得部103から供給された音声入力の内容を入力項目に対する入力内容として決定することなく、破棄する。これにより、ユーザは、音声で入力項目を選択することができる。
[2-6]入力方法を推奨
入力項目毎に入力方法(音声入力又は手入力)を推奨してもよい。
図17は本変形例で実現される機能構成の一例を表す。図17の例では、図3に表す各部を備えるサーバ装置10fが表されている。本変形例では、入力画面データ生成部101及び入力促進画像生成部102が、推奨する入力方法をユーザに通知する方法通知部115として機能する。方法通知部115は本発明の「第1通知部」の一例である。
方法通知部115は、本変形例では、入力項目の属性に応じて推奨する入力方法をユーザに通知する。入力項目の属性とは、例えば、文字列が入力される入力項目であればその平均的な文字数である。方法通知部115は、例えば入力項目毎に平均文字数を対応付けた文字数テーブルを記憶しておく。平均文字数は、対話型ユーザ支援システムを提供する事業者が調べた値でもよいし、入力方法決定部106がその入力項目への入力内容として決定してきた文字列の文字数から求めた値でもよい。
方法通知部115は、例えば選択状態の入力項目の平均文字数を文字数テーブルから読み出し、読み出した平均文字数が閾値以上である場合にはその入力項目については音声入力を推奨する通知を行い、平均文字数が閾値未満である場合にはその入力項目については手入力を推奨する通知を行う。方法通知部115を構成する各機能は次のように通知を行う。
本変形例では、手入力内容取得部104が、手入力の内容として、選択された入力項目の項目IDを取得した場合に、取得した項目IDを入力促進画像生成部102に供給する。入力促進画像生成部102は、供給された項目IDの入力項目に文字数テーブルで対応付けられた平均文字数が閾値以上であれば音声入力を推奨する内容の入力促進画像を生成し、平均文字数が閾値未満であれば手入力を推奨する内容の入力促進画像を生成する。
図18は本変形例で表示される入力促進画像の例を表す。図18(a)では、電車情報画面の出発駅入力欄B1にカーソルE1が選択画像として表示されている。ここで、出発駅入力欄B1における平均文字数は閾値未満であるものとする。この場合、入力促進画像生成部102は、手入力を推奨する内容の入力促進画像として、「出発駅の入力は手入力がお勧めです!」というメッセージを表す吹き出し画像D2を生成している。
また、図18(b)では、メモ情報画面のメモ入力欄B11にカーソルE1が選択画像として表示されている。ここで、メモ入力欄B11における平均文字数は閾値以上であるものとする。この場合、入力促進画像生成部102は、音声入力を推奨する内容の入力促進画像として、「メモの入力は音声入力がお勧めです!」というメッセージを表す吹き出し画像D3を生成している。
入力画面データ生成部101がこれらの吹き出し画像を含む入力画面データを生成してユーザ端末20に送信することで、入力項目の属性に応じて推奨される入力方法がユーザに通知される。本変形例では、この通知が行われることで、音声入力及び手入力の両方を利用可能なことで却ってどちらの方法を用いるかを悩むユーザがいた場合に、入力方法を簡単に決められるようにすることができる。
なお、入力項目の属性は上述した平均文字数に限らない。方法通知部115は、例えば、図5(b)に表す選択用リストF2のように選択肢からいずれかを選ぶ属性の入力項目については手入力を推奨する通知を行う。また、方法通知部115は、例えば平仮名、カタカナ、漢字だけで入力内容を表わせる入力項目については音声入力を推奨する通知を行い、記号、符号、アルファベットを含む入力内容となる入力項目については音声入力を推奨する通知を行ってもよい。
また、方法通知部115は、入力促進画像とは別の画像で通知を行ってもよい。
図19は通知のために表示される画像の別の例を表す。方法通知部115は、図19(a)に表すマイク画像G1(マイクの形を模式的に表す画像)を含む入力画面データを生成及び送信することで音声入力を推奨する通知を行う。また、方法通知部115は、図19(b)に表すマイクオフ画像G2(マイクをオフすることを模式的に表す画像)を含む入力画面データを生成及び送信することで手入力を推奨する通知を行う。いずれの通知が行われる場合も、上記と同様にユーザが入力方法を簡単に決められるようにすることができる。
[2-7]入力方法の推奨方法
入力方法の推奨方法は上記方法に限らない。
図20は本変形例で実現される機能構成の一例を表す。図20の例では、図17に表す各部に加えて入力方法履歴取得部116を備えるサーバ装置10gが表されている。入力方法履歴取得部116は、入力項目への入力に音声入力及び手入力のどちらを用いたかを示す入力方法履歴を取得する。入力方法履歴取得部116は本発明の「第2履歴取得部」の一例である。
本変形例では、入力方法決定部106が、音声入力の内容及び手入力の内容を入力内容として決定した場合に、それらの決定の対象である入力項目の項目IDを、決定した内容の入力方法を示す情報と、対象ユーザのユーザIDとその決定時刻(入力内容が決定された時刻)とに対応付けて入力方法履歴取得部116に供給する。入力方法履歴取得部116は、供給されたこれらの情報を入力方法履歴として取得する。
方法通知部115(入力促進画像生成部102)は、入力促進画像を生成する際に、選択状態の入力項目の項目IDに対応付けられた入力方法履歴を入力方法履歴取得部116から読み出す。方法通知部115は、読み出した入力方法履歴が表す音声入力の回数と手入力の回数とを算出する。方法通知部115は、算出した回数が多い方の入力方法を推奨する内容の入力促進画像を生成する。
この場合、方法通知部115は、選択状態の入力項目への入力に多く用いられた入力方法を上述した入力項目の属性として通知を行う。具体的には、方法通知部115は、選択状態の入力項目への入力に多く用いられた入力方法を、推奨する入力方法として通知する。
図21は算出された回数の一例を表す。図21の例では、電車情報画面における各入力項目における入力方法毎の回数として、出発駅入力欄B1は音声入力15回で手入力3回、経由駅追加ボタンB2は音声入力0回で手入力2回、駅名入替ボタンB3は音声入力0回で手入力3回、到着駅入力欄B4は音声入力13回で手入力5回、時刻種類選択ボタンB5は音声入力3回で手入力8回、時刻入力欄B6は音声入力4回で手入力14回、検索ボタンB7は音声入力3回で手入力15回と表されている。
この場合、方法通知部115は、音声入力の回数の方が手入力の回数よりも多い出発駅入力欄B1及び到着駅入力欄B4が選択されている状態では音声入力を推奨する通知を行い、他の入力項目が選択されている状態では手入力を推奨する通知を行う。方法通知部115は、図21では、到着駅入力欄B4にカーソルE1が表示されている(選択されている)ので、「到着駅は音声でよく入力されています。」というメッセージを表す吹き出し画像D4を生成して、音声入力を推奨する通知をしている。
ユーザは、対話型ユーザ支援システムを使い慣れてくると、入力しやすい入力方法で入力するようになる。そのため、過去の入力回数が多い方の入力方法は、ユーザが快適に入力できると感じている入力方法である可能性が高い。本変形例では、そのような入力方法を推奨する通知を行うことで、ユーザが入力方法を簡単に決められるようにしつつ、そうして決めた入力方法で快適な入力を可能にすることができる。
なお、上記例ではユーザ自身が入力項目への入力に音声入力及び手入力のどちらを用いたかを示す入力方法履歴が用いられたが、これに限らず、全てのユーザにおける同様の入力方法履歴が用いられてもよい。この場合、方法通知部115は、選択状態の入力項目への入力に全てのユーザによってより多く用いられた入力方法を推奨する通知を行う。これにより、ユーザが初めて利用する入力画面であっても、その入力画面を利用する他のユーザがよく利用する方の入力方法が推奨され、一般的に(多くのユーザにとって)より快適である可能性が高い方の入力方法で入力を行うことができる。
[2-8]入力方法の推奨方法
入力方法の推奨方法は上記方法に限らない。
図22は本変形例で実現される機能構成の一例を表す。図22の例では、図20に表す入力方法履歴取得部116に変えて状況情報取得部117を備えるサーバ装置10hが表されている。状況情報取得部117は、ユーザ端末20の周囲の状況を示す状況情報を取得する。状況情報取得部117は本発明の「状況取得部」の一例である。
周囲の状況とは、例えばユーザ端末20の周囲で発生している音の大きさである。この場合、ユーザ端末20は、入力画面の表示を要求する要求データをサーバ装置10に送信する際に、マイクロフォンが集音した周囲の音を示す音データを共に送信する。状況情報取得部117は、送信されてきた音データを解析し、その音データが示す音の大きさを状況情報として取得する。なお、ユーザ端末20が集音した音の大きさを示すデータを音データとして送信し、状況情報取得部117がその音データが示す音の大きさを状況情報として取得してもよい。
状況情報取得部117は、取得した状況情報を入力促進画像生成部102(方法通知部115)に供給する。方法通知部115は、供給された状況情報、すなわち状況情報取得部117により取得された状況情報が示す状況に応じて推奨する入力方法をユーザに通知する。本変形例の方法通知部115は本発明の「第2通知部」の一例である。具体的には、方法通知部115は、供給された状況情報が示す音の大きさが閾値未満である場合には、音声入力が行いやすいので、音声入力を推奨する通知を行う。
また、方法通知部115は、供給された状況情報が示す音の大きさが閾値以上である場合には、周囲の音に邪魔されて音声入力が行いにくいので、手入力を推奨する通知を行う。これにより、ユーザが通知されたとおりに入力を行っても、周囲の音に負けないように大声を出すという必要をなくすことができる。なお、状況情報はこれに限らない。例えば、ユーザ端末20の位置情報が状況情報として用いられてもよい。
この場合、ユーザ端末20は、GPS(Global Positioning System)等の測位手段を備えておき、上記の要求データをサーバ装置10に送信する際に、自装置の位置を測定して測定した位置を示す位置データを共に送信する。状況情報取得部117は、送信されてきた位置データが示す位置の情報を状況情報として取得する。方法通知部115は、取得された状況情報が示す位置が声を出すのを控えるべき場所(例えば公共の場所)である場合には、手入力を推奨する通知を行う。
また、方法通知部115は、取得された状況情報が示す位置が声を自由に出してよい場所(例えば自宅)である場合には、音声入力を推奨する通知を行う。これにより、ユーザが通知されたとおりに入力を行っても、ユーザの音声により周囲に迷惑を掛けないようにすることができる。また、状況情報は、ユーザ端末20の周囲の気温を示す情報であってもよい。
その場合、方法通知部115は、取得された状況情報が示す気温が閾値以上である場合には、手入力を推奨する通知を行い、その気温が閾値未満である場合には、手がかじかんで手入力がしにくくなるので、音声入力を推奨する通知を行う。この場合は、状況情報を考慮せずに通知する場合に比べて、通知されたとおりの入力をユーザが行いやすいようにすることができる。
[2-9]各部を実現する装置
図3等に表す各機能を実現する装置は、それらの図に表された装置に限らない。例えばサーバ装置が備える機能をユーザ端末が実現してもよい。その場合、ユーザ端末のプロセッサ11が本発明の「情報処理装置」の一例となる。また、サーバ装置が備える各機能を2以上の装置が分担してそれぞれ実現してもよい。また、各機能が行う動作を複数の機能に分けて行うようにしてもよい。
例えば処理実行部107が行う動作(入力された駅名を表示する動作、入力画面データを加工する動作、類似する駅名の表示を指示する動作及び乗換え情報を生成する動作等)を複数の機能がそれぞれ行ってもよい。要するに、対話型ユーザ支援システム全体としてこれらの機能が実現されていれば、対話型ユーザ支援システムが何台の装置を備えていてもよい。
[2-10]発明のカテゴリ
本発明は、ユーザ端末及びサーバ装置のような情報処理装置の他、それらの装置を備える対話型ユーザ支援システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2-11]処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2-12]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2-13]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
[2-14]情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
[2-15]システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2-16]「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2-17]「及び」、「又は」
本明細書において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2-18]態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。