以下、本発明の実施形態の例を、図面を用いて説明する。なお、以下に説明する実施形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって、本発明の趣旨を逸脱しない範囲で適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。
本実施形態の情報処理端末は、アクセス相手からのアクセスに応答できない場合、その状況に応じた応答を自動的に生成して返信する。それに応じてアクセス相手からメッセージを受け取った場合、そのメッセージに応じた処理を行い、自動的に応答をさらに生成し、返信する。これを実現する本実施形態の情報処理端末100を説明する。
図1は、本実施形態の情報処理端末100のブロック図である。また、図2(A)および図2(B)は、本実施形態の情報処理端末100の外観図である。なお、当該外観図は、情報処理端末100がスマートホン等の情報処理端末機器である場合の例であり、図2(A)は情報処理端末100の表面図、図2(B)は情報処理端末100の背面(裏面)図である。左右側面および天地面等に関しては図示を省略する。
図1に示すように、情報処理端末100は、主制御部101と、システムバス102と、メモリ部104と、ストレージ部110と、映像処理部120と、音声処理部130と、操作部140と、通信処理部150と、センサ部160と、拡張インタフェース部170と、を備える。
情報処理端末100は、他装置と双方向にデータを送受信可能な情報処理機器であればよく、例えば、携帯電話やスマートホン、タブレット端末等が考えられる。その他、PDA(Personal Digital Assistants)やPC(Personal Computer)、デジタルカメラであっても良い。さらに、動画撮影可能なビデオカメラや携帯型ゲーム機等、あるいはその他の携帯用デジタル機器であっても良い。以下、本実施形態ではスマートホンを例にして説明する。
主制御部101は、所定のプログラムに従って情報処理端末100全体を制御するマイクロプロセッサユニットである。システムバス102は、主制御部101と情報処理端末100内の各部との間でデータ送受信を行うためのデータ通信路である。
メモリ部104は、基本動作プログラムやその他のアプリケーションプログラム実行時のプログラム領域である。また、メモリ部104は、各種アプリケーションプログラム実行時に、必要に応じてデータを一時的に保持する一時記憶領域である。メモリ部104は、主制御部101と一体構成であっても良い。
ストレージ部110は、情報処理端末100の各動作設定値や情報処理端末100の使用者の情報等を記憶する。ストレージ部110は、情報処理端末100で撮影した静止画像データや動画像データ等を記憶してもよい。また、情報処理端末100は、アプリケーションサーバから、インターネットを介して、新規アプリケーションプログラムをダウンロードすることにより、機能拡張が可能であるものとする。この際、ダウンロードした新規アプリケーションプログラムは、ストレージ部110に記憶される。主制御部101が、ストレージ部110に記憶された新規アプリケーションプログラムをメモリ部104に展開し、実行することにより、情報処理端末100は、多種の新規機能を実現できる。
ストレージ部110は、情報処理端末100に電源が供給されていない状態であっても記憶している情報を保持する必要がある。したがって、例えばフラッシュROMやSSD(Solid State Drive)、HDD(Hard Disc Drive)等のデバイスが用いられる。
表示部121は、例えば液晶パネル等の表示デバイスであり、映像信号処理部122で処理した映像データを情報処理端末100の使用者に提供する。
映像処理部120は、映像信号処理部122と、第1映像入力部123と、第2映像入力部124と、第3映像入力部125とを備える。各映像入力部で取得した映像を、映像信号処理部122が処理する。
図2(A)および図2(B)に示すように、本実施形態においては、例えば、第3映像入力部125は表示部121と同一面(表面)に配置される。第1映像入力部123と第2映像入力部124とは、表示部121と反対面(背面)に配置される。また、さらに、フラッシュ部129が第1映像入力部123および第2映像入力部124に隣接する位置に配置される。
以下では、表示部121と同一面に位置する第3映像入力部125を『インカメラ』、表示部121と反対面に位置する第1映像入力部123および第2映像入力部124を『アウトカメラ』と称する場合がある。なお、第1映像入力部123と第2映像入力部124の位置は、本実施形態では背面に配置されているが表示部121と同一面であっても良い。また、第1映像入力部123と第2映像入力部124は一体のものとして構成されるものであっても良い。
音声処理部130は、音声出力部131と、音声信号処理部132と、音声入力部133と、を備える。音声出力部131はスピーカであり、音声信号処理部132で処理した音声信号を外部に出力する。音声入力部133はマイクであり、使用者の声などを音声データに変換して入力する。なお、音声入力部133は情報処理端末100と別体であり、有線通信または無線通信により情報処理端末100と接続されるものであっても良い。
操作部140は、情報処理端末100に対する操作指示の入力を行う指示入力部である。本実施形態では、図2(A)および図2(B)に示すように、操作部140は、表示部121に重ねて配置したタッチパネル140tとボタンスイッチを並べた操作キー140k1、140k2とを備える。なお、タッチパネル140tおよび操作キー140k1、140k2の何れか一方のみであっても良い。後述の拡張インタフェース部170に接続したキーボード等を用いて情報処理端末100の操作を行っても良い。有線通信または無線通信により接続された別体の情報処理端末機器を用いて情報処理端末100の操作を行っても良い。また、前記タッチパネル機能は表示部121が備え持っているものであっても良い。
通信処理部150は、LAN(Local Area Network)通信部151、移動体電話網通信部152、近接無線通信部153、で構成される。LAN通信部151はインターネットの無線通信用アクセスポイントと無線通信により接続してデータの送受信を行う。移動体電話網通信部152は移動体電話通信網の基地局との無線通信により、電話通信(通話)およびデータの送受信を行う。近接無線通信部153は対応するリーダ/ライタとの近接時に無線通信を行う。LAN通信部151、移動体電話網通信部152、近接無線通信部153は、それぞれ符号回路や復号回路、アンテナ等を備えるものとする。さらに、赤外線通信部等を備えていても良い。
センサ部160は、情報処理端末100の状態を検出するためのセンサ群である。本実施形態では、GPS(Global Positioning System)受信部161と、加速度センサ162と、ジャイロセンサ163と、地磁気センサ164と、照度センサ165と、近接センサ166と、を備える。これらのセンサ群により、情報処理端末100の位置、動き、傾き、方角、および周囲の明るさ、周囲物の近接状況、等を検出することが可能となる。その他のセンサを、さらに、備えていても良い。
拡張インタフェース部170は、情報処理端末100の機能を拡張するためのインタフェース群であり、本実施形態では、映像/音声インタフェース、USB(Universal Serial Bus)インタフェース、メモリインタフェース等で構成されるものとする。映像/音声インタフェースは、外部映像/音声出力機器からの映像信号/音声信号の入力、外部映像/音声入力機器への映像信号/音声信号の出力、等を行う。USBインタフェースはキーボードやその他のUSB機器の接続を行う。メモリインタフェースはメモリカードやその他のメモリ媒体を接続してデータの送受信を行う。
図3は、本実施形態の、メモリ部104およびストレージ部110の構成図である。
ストレージ部110に記憶された基本動作プログラム110aとカメラ機能プログラム110bと音声認識プログラム110cと自動応答プログラム110dとその他のプログラム110eとがメモリ部104に展開されて主制御部101により実行されることによって、情報処理端末100の動作を制御する、基本動作部104aとカメラ機能部104bと音声認識部104cと自動応答部104dとその他の機能部104eとが実現される。
なお、基本動作部104aとカメラ機能部104bと音声認識部104cと自動応答部104dとその他の機能部104eと同等の動作をハードウェアで実現する各ハードウェアブロックを本実施形態の情報処理端末100が、さらに備え、代替してもよい。
さらに、ストレージ部110には、各種の情報やデータが記憶される記憶領域110fが設けられる。各種の情報やデータは、予め記憶領域110fに記憶され、各プログラムが実行する際に、例えば、メモリ部104の一時記憶領域104fに展開されて用いられる。また、各プログラムが実行中に生成されたデータ、および、実行結果として生成されたデータは、記憶領域110fまたは一時記憶領域104fに記憶される。
本実施形態では、各種の情報やデータとして、例えば、個人情報、地図情報、交通情報等が保持される。なお、これらの情報は、ストレージ部110に保持されなくてもよい。例えば、インターネットを介してアクセス可能な他のストレージに格納されていてもよい。
なお、本実施形態でいう個人情報とは、広義には情報処理端末100が有し、ユーザ固有のあるいはユーザが情報処理端末100に入力する情報である。具体的には、ユーザ個人の住所、電話番号、生年月日等の情報や、情報処理端末100が保持する写真、動画等の情報を含み、また後述する連絡情報や権限情報、位置情報や予定情報なども含む。
なお、図1に示した情報処理端末100の構成例は、通信処理部150の一部やセンサ部160の一部等、本実施形態に必須ではない構成も多数含んでいるが、これらが備えられていない構成であっても本実施形態の効果を損なうことはない。また、デジタルテレビ放送受信機能や電子マネー決済機能等、図示していない構成がさらに加えられていても良い。
次に、本実施形態の自動応答部104dについて説明する。
図4は、本実施形態の自動応答部104dの機能ブロック図である。
本実施形態の自動応答部104dは、受信部210と、処理部220と、送信部240と、を備える。本実施形態の自動応答部104dは、各種情報/データ記憶領域110fまたは一時記憶領域104fに記憶部250として記憶される各種のデータを用い、自動応答処理を実現する。
受信部210は、情報処理端末100に対する、アクセス相手からのアクセスやメッセージを受信する。本実施形態の受信部210は、テキストデータ受信部211と、音声データ受信部212と、その他情報受信部213と、を備える。
処理部220は、受信部210が受信したメッセージに応じた応答を作成する。本実施形態の処理部220は、文字認識部221と、音声認識部222と、意図認識部223と、応答作成部230と、権限設定部225と、応答記録部226と、端末制御部227と、テキストデータ生成部228と、音声データ生成部229と、状況把握部224と、を備える。
送信部240は、処理部220が生成した応答を、前記アクセス相手に対して送信する。このため、テキストデータ送信部241と、音声データ送信部242と、を備える。
なお、記憶部250には、個人情報DB254と、応答記録DB253と、が記憶される。個人情報DB254は、連絡情報データベース(DB)251と、権限情報DB252とを含む。
テキストデータ受信部211は、アクセス相手から送信されたメッセージのうち、テキストデータを、通信処理部150を介して受信する。受信したテキストデータは、文字認識部221へ出力する。
文字認識部221は、文字解析してテキストデータを得る。テキストデータは、例えば、テキストチャットにおけるテキストメッセージや、Eメールにおけるメール本文等である。
音声データ受信部212はアクセス相手から送信されたメッセージのうち、音声データを、通信処理部150を介して受信する。受信した音声データは、音声認識部222へ出力する。音声データは、例えば、電話網を用いた電話や、インターネット網を用いたIP電話、あるいはテキストチャットとしても使えるアプリで利用可能な電話などにより送信される。なお、送信されるデータは、映像を含んでいてもよい。
音声認識部222は、音声認識してテキストデータを得る。なお、音声認識部222は、上述の音声認識部104cにより実現される。
その他情報受信部213は、アクセス相手から送信されたメッセージに付随する情報(付随情報)を受信する。付随情報は、例えば、電話であれば着信番号、メールであれば送信元メールアドレス、テキストチャットであればアプリIDなど、アクセス相手を一意に特定することが可能な情報を含む。以下、アクセス相手を一意に特定することが可能な情報を、識別(ID)情報と総称する。そして、受信した付随情報は、権限設定部225へ送信される。
権限設定部225は、アクセス相手のID情報に基づき、連絡情報DB251を用いてアクセス相手を特定する。そして、必要に応じてメッセージの内容を参照しながら、権限情報DB252を用いてアクセス相手の権限を確定し、これを設定する。連絡情報DB251および権限情報DB252の詳細、権限設定部225の処理の詳細は、後述する。
意図認識部223は、文字認識部221または音声認識部222でテキスト化されたデータを解析し、当該データの意図を識別する。識別結果(意図認識結果)は、応答作成部230に出力される。本実施形態では、当該データを、予め定めた意図区分に分類する。意図区分は、例えば、予定の確認(問合せ)、場所の確認、アポイントの設定依頼等であり、である。詳細は後述する。データの解析には、例えば、機械学習を初めとして、既存の様々な技法を用いてよい。
例えば、まず、データの特徴を識別する。特徴は、メタデータ、そのデータ内でのデータの一部の場所、内容、文脈、キーワード、履歴、ヒューリステイック、推論、規則、区切り、そのデータのソースや、そのデータが送信された、かつ/または受信された時刻および/または曜日などに基づいて識別される。そして、特徴を識別されたデータを文字列、単語、文、段落といった論理構造に分け、各論理構造の特徴を抽出し、抽出された特徴により意図を識別する。
意図認識部223は、サポートベクトルマシン、ベイズ法、知識工学による分類器等で構成してもよい。また、予め学習させた学習データを事前にインストールして用いてもよい。また、実行時に学習データを動的に更新してもよい。意図認識部223は、深層学習、強化学習等の機械学習の技術を用いて意図を認識する方法であればよい。
例えば、「今どこにいるの?」といったメッセージを受け取ると、意図認識結果として、「場所の確認」と確認すべき場所として「情報処理端末100の現在位置」が出力される。また、メッセージが「今何しているの?」、「誰と電話しているの?」等の場合、「現状の確認」が出力される。「これから会える?」、「×月○日、暇?」、「打ち合わせ予定入ったからよろしく」等の場合、「アポイントの設定依頼」が出力される。「××の旅行の写真ある?」であれば、「データの提供要求」と提供対象のデータを特定する情報として「××旅行の写真」が出力される。なお、この場合の写真の選択は、写真に付随している日付情報や場所情報、あるいは写真の画像解析などによって得られる情報を基に行われる。「脈拍は?」であれば、「医療情報の提供要求」と提供対象の情報として「脈拍」等が出力される。「ライトをつけて」、「音を出して」等であれば、情報処理端末100の動作制御要求と制御処理としてライトの点灯、発光、音の出力、等が出力される。
応答作成部230は、意図認識部223が識別した意図認識結果と権限設定部225が設定した権限とに基づいて、アクセス相手の意図認識結果を反映した応答内容(場所や予定の情報を含む)を生成する。生成した応答内容は、テキストデータ生成部228、音声データ生成部229および端末制御部227の少なくとも一つに出力する。詳細は後述する。
応答記録部226は、応答作成部230が生成した応答内容を、アクセス相手のID情報とともに応答記録DB253に記録する。アクセス相手は、応答内容を生成する元となったメッセージの送信元である。なお、記録された応答内容は、ユーザがその後初めて情報処理端末100を操作したとき、あるいは関連するアプリを初めて操作した時に表示するよう構成してもよい。これは、自動応答機能が実行されたことをユーザに示すためである。
応答記録DB253には、ID情報、応答内容、記録時刻等が対応づけて登録される。
テキストデータ生成部228は、応答作成部230が生成した応答内容をテキストデータに変換して、アクセス方法に従った方式でテキストデータ送信部241からアクセス相手に送信する。
音声データ生成部229は、応答作成部230が生成した応答内容を音声データに変換して、アクセス方法に従った方式で音声データ送信部242からアクセス相手に送信する。
端末制御部227は、応答作成部230の指示に基づき、ビープ音の出力あるいはフラッシュ部129の点灯等の操作を行う。
状況把握部224は、ユーザが応答可能か否かを判断し、応答不能な場合、アクセス相手のカテゴリや権限に応じて初期応答処理を行う。応答の可否は、所定時間内に応答、メールを開く、等の操作がなされたか否か、既読になったか否か等により判断する。初期応答処理の詳細は、後述する。
次に、権限設定部225、応答作成部230、状況把握部224等が処理時にアクセスする、記憶部250に記憶される連絡情報DB251および権限情報DB252について説明する。
連絡情報DB251は、アクセス相手のID情報に対応づけて当該アクセス相手の属性(カテゴリ)情報を記憶する。
図5は、連絡情報DB251の一例である。
連絡情報DB251に登録される各レコードは、本図に示すように、アクセス相手の名前251aと、カテゴリ251bと、生年月日251cと、パスワード251dと、ID情報251eと、を備える。
カテゴリ251bは、後述する権限情報DB252において、権限を特定する単位である。本実施形態では、所属251fと、重要度フラグ(重要)251gと、種別251hとを備える。重要度フラグ251gは、同じ種別251hの中の人物に複数の異なる権限を設定するために用いられる。重要度フラグ251gを備えることにより、例えば、同じ会社の所属でも、上司か上司でないかによって異なる権限を設定できる。
なお、連絡情報DB251には、情報処理端末100のユーザの情報も登録される。ユーザのレコードでは、種別251hには、ユーザ本人であることが特定可能な情報、例えば、「本人」が登録される。
ID情報251eは、電話番号251i、メールアドレス251j、アプリID251kを備える。これらは、上述のように、アクセス相手を識別する情報である。
なお、カテゴリ251bの「緊急」には、ID情報251eとして、例えば、行政のID等が登録される。これは、例えば、災害時に、消防隊などの行政の組織が、行方不明者を発見する手がかりとして用いる。具体的には、がれきに埋もれた被災者の情報処理端末100に行政がアクセスして、位置情報を取得したり、音を発生させて位置を特定したりする。
なお、名前251aは、ID情報251eで特定される識別情報を、ユーザに提示する際に用いられる。電話番号やアドレスよりユーザにとってわかりやすいためである。このため、ユーザがアクセス相手を把握できればよく、必ずしも、人物の氏名には限らない。例えば、会社名や学校名などであってもよい。また、名前251aは、重複してもよい。
また、連絡情報DB251には、さらに、郵便番号、住所、写真等の情報が登録されてもよい。また、すべての項目が記載されている必要は無く、適宜必要な情報が記載されていれば良い。
権限情報DB252は、カテゴリ毎に情報処理端末100がアクセス相手のメッセージに対応して実行する実行処理の可否を権限として記憶する。
図6は、権限情報DB252の一例である。
権限情報DB252に登録される各レコードは、本図に示すように、カテゴリ252aと、実行処理の可否情報252bと、を備える。カテゴリ252aは、連絡情報DB251のカテゴリ251bに対応し、種別と、所属と、重要度フラグとを備える。
可否情報252bは、各実行処理について、可否を特定する情報である。登録される実行処理には、例えば、位置情報の提供、予定確認(予定情報の提供)、アポイント処理、個人情報の提供、健康情報の提供、緊急処理等がある。実行処理は、これに制限されることなく、適宜、必要な問合せ内容を設定し、追加或いは削除することが可能である。
また、本実施形態では権限情報DB252は、1つである場合を例にあげて説明する。しかし、電話番号とメールアドレスとではその信頼度が異なる。すなわち、メールアドレスは偽装され易い。このため、カテゴリ252aを特定する元となるID情報251eが、電話番号の場合とメールアドレスの場合とで、異なる権限情報DB252を設けてもよい。この場合、メールアドレスの権限情報DB252は、電話番号の権限情報DB252に比べて、同じカテゴリ252aであっても、より権限が制約されたものとする。
なお、上記の連絡情報DB251および権限情報DB252は、ストレージ部110に記憶され、プログラム実行時に必要に応じて、適宜メモリ部104に展開される。
次に、応答作成部230の詳細を説明する。
図7は、応答作成部230の機能構成図である。上述のように意図認識結果と権限とを用いて、応答内容を作成する。これを実現するため、意図毎に予め定めた実行処理内容を格納する実行処理格納部235と、実行処理を実行する実行部231と、内容生成部234と、を備える。実行部231は、制御部232と情報収集部233とを備える。
実行処理格納部235には、意図認識結果毎に、行うべき処理(実行処理)が格納されている。実行処理は、例えば、場所の確認で確認すべき場所が現在位置であれば、GPS受信部161から位置情報を取得する、等である。また、場所の確認であっても、確認すべき場所が現在位置以外の特定の場所である場合、ストレージ部110あるいはネットワーク上に保持される地図情報DB110pにアクセスし、当該場所の位置情報を取得する等である。
実行部231は、実行処理格納部235にアクセスし、受け取った意図認識結果に応じた実行処理を行う。実行処理の実行時に必要に応じて、制御部232に、端末の動作を制御させ、また、情報収集部233に、情報を収集させる。
制御部232は、実行部231の指示に従って、情報処理端末100の動作を制御する。具体的には、実行処理において、位置情報を取得する処理が含まれているにも関わらず、位置情報を取得する機能がOFFされている場合、当該機能を一時的にONする等である。なお、位置情報を取得する機能は、本実施形態では、例えば、GPS受信部161等である。
情報収集部233は、実行部231の指示に従って、実行処理において、各種の情報を収集する必要がある場合、情報を収集する。
情報収集部233は、例えば、センサ部160のGPS受信部161からの情報から緯度・経度情報を取得し位置を特定する。次に、ストレージ部110等に保持される地図情報DB110pを検索し、現在地の目印となる住所、施設名、建物名等を取得する。
なお、位置情報の取得は、GPSからだけでなく、通信処理部(具体的にはWi-Fiや移動通信網など)150を介しても可能である。また、位置の特定は通信処理部150の各通信先であるアクセスポイントの位置情報に基づいて行われても良い。
また、情報収集部233は、個人情報DB254から、情報処理端末100の個人情報や、写真、動画等を取得する。また、連絡情報DB251から、当該連絡情報DB251に登録されている各人物の住所、電話番号、メールアドレス、アプリID等を取得してもよい。なお、アプリIDは、それぞれのアプリケーションが有するID場合は、それぞれのアプリケーションから、必要に応じて連絡情報DB251を参照しながら取得してもよい。
さらに、情報収集部233は、個人情報DB254内のスケジュールDB110rから、情報処理端末100のユーザの予定情報を取得してもよい。予定情報は、時間情報と場所情報とを含む。
なお、実行部231は、実行処理を行った結果、アポイントが可能と判断した場合、スケジュールDB110rに新たな予定情報を仮設定してもよい。
また、情報収集部233は、交通情報DB110sにアクセスし、情報を収集してもよい。実行部231は、情報収集部233が収集した情報を用い、例えば、出発地と到着地との予想移動所要時間を計算する。また、情報収集部233が、直接、出発地から到着地への予想移動所要時間を、徒歩、電車、バス、車(タクシー)毎に、交通情報DB110sから取得してもよい。
なお、交通情報DB110sは、情報処理端末100の内部に格納されていてもよいし、また、通信処理部150を介してインターネット上のサーバに保持されていてもよい。また、電車による移動時間には遅延情報、バスおよび車(タクシー)による移動時間の計算には道路の渋滞情報(現在または予測)が考慮されてもよい。例えば、複数の経路が考えられる場合に、最短の経路が遅延の影響により優先順位が下がることが考えられる。
また、情報収集部233は、情報処理端末100の周囲状況を映像処理部120、音声処理部130を介して画像または音声情報として取得してもよい。
内容生成部234は、実行部231による実行結果を用いて、応答内容を生成する。これにより、応答作成部230は、アクセス相手の意図に則した情報を情報収集部233から取得し、その情報を含む応答内容を生成する。
以下、本実施形態の自動応答部104dによる自動応答処理の流れについて説明する。なお、自動応答部104dの処理は、図3に示したように、主として、ストレージ部110に記憶された音声認識プログラム110cと自動応答プログラム110dがメモリ部104に展開されて主制御部101により実行されることによって実現される。
図8は、情報処理端末100の自動応答処理を示すメインフローチャートである。なお、以下では電話における自動応答を例に説明し、メールやテキストチャットによる場合の電話の場合とほぼ同様な処理は記載を省略するが、特徴的な点については適宜記載する。
まず、状況把握部224は、アクセス相手から最初に電話の着信があると、アクセス相手の電話番号(アクセス相手のID)を取得する(S301)。
次に、状況把握部224は、自動応答機能がONであるか否かを判定する(S302)。自動応答機能がOFFである場合は、通常の着信と同様の動作をする(S315)。なお、このとき、ユーザが応答できない場合は、ユーザが留守番電話機能を設定していれば、留守番電話機能が動作する。
自動応答機能がONの場合、状況把握部224は、ユーザが応答可能か否かを判断する(S303)。ユーザが応答可能か否かは、例えば電話であれば一定時間応答するか否か、メールであれば一定時間内にメールが開かれるか否か、テキストチャットであれば一定時間内に既読になるか否か、などが考えられる。
状況把握部224は、自動応答機能がONであり、かつ、ユーザが応答可能である場合もS315へ移行し、通常の着信と同様の動作をし(S315)、自動応答処理を終了する。
ユーザが応答できない場合、状況把握部224は、アクセス相手を特定する(S304)。アクセス相手の特定は、取得したアクセス相手のIDと連絡情報DB251とを用いて行う。なお、連絡情報DB251に登録がなく、アクセス相手の特定ができない場合は、種別251hを“不明”として次のS305に進む。
次に、状況把握部224は、連絡情報DB251を参照し、アクセス相手の種別251hが“迷惑”であるか否かを判断する(S305)。アクセス相手のカテゴリ種別が“迷惑”である場合は、状況把握部224は、迷惑用の応答を送信し(S313)、処理を終了する。
これにより、ユーザは、連絡情報DB251に、迷惑と考えるアクセス相手の電話番号を登録しておけば、その後の処理を行うことなく、連絡を終了することができる。なお、ここでユーザが迷惑と考えるアクセス相手は、必ずしも連絡情報DB251に登録されていなくてもよい。例えば、サーバ上に、迷惑と考えられるアクセス相手のIDが格納されていてもよい。この場合、状況把握部224は、通信処理部150を介して当該IDを取得する。また、状況把握部224は、一定時間内に一定頻度以上アクセスがある相手を迷惑と判断し、連絡情報DB251に自動的に設定してもよい。これは、例えば、いたずら電話などである。
次に、状況把握部224は、連絡情報DB251と権限情報DB252を参照して、アクセス相手の権限を特定する(S306)。
次に、状況把握部224は、特定されたアクセス相手の権限(カテゴリ252a)が“緊急”であるか否かを判断する(S307)。アクセス相手の権限(カテゴリ252a)が“緊急”である場合は、緊急処理を実行し(S314)、処理を終了する。
ここでは、例えば被災した場合などが想定される。状況把握部224は、緊急処理の動作として、例えばビープ音を発生させたり、ライトを点灯または発光させたり、(位置情報機能がOFFの場合はONにして)位置情報を送信したり、カメラを起動して静止画または動画を送信したりするなどを行う。なお、緊急処理の場合、専用のパスワードの入力を要求して、緊急処理を行う権限のあるアクセス相手かどうか確認しても良い。
次に、状況把握部224は、状態を確認する(S308)。確認される状態は、ユーザの状態である。具体的には、例えば、移動中である、電話中である、動画視聴中、ゲーム中等、ユーザの状態を特定する情報(状態情報)が確認結果として出力される。詳細は図9で説明する。
そして、状況把握部224は、S308で確認された状態に応じた初期応答をテキストデータ生成部228や音声データ生成部229を介して送信する(S309)。送信される初期応答には、アクセス相手の権限に応じて、メッセージの送信要求を含めてもよい。
初期応答は、例えば、「ユーザは応答できません。代わりに私が受けることが可能です。用件をお話し下さい。」など、自動応答部104dが一人称として応答する様なものであってもよい。また、権限情報DB252に“不在理由”の列を追加して、アクセス相手に“不在理由”の提供を受ける権限があれば、上記S308で確認した状態情報を不在理由として加えても良い。この場合、例えば「ユーザは応答できません。」の代わりに「ユーザは電話に出ているため応答できません。」などと応答する。
次に、処理部220は、初期応答送信後、所定の時間内に、受信部210において、初期応答に対してアクセス相手からメッセージを受信したか否かを判断する(S310)。なお、アクセス相手のアクセス方法がメールであった場合は、初期応答のメールが開かれたか否か、テキストチャットであった場合は、初期応答のメッセージが既読になったか否か、などについて、メッセージを受け取ったか否か判断する所定時間よりも短い所定時間を設けて、2重に判断してもよい。
アクセス相手からメッセージを受信した場合、処理部220は、メッセージの内容・目的に応じた応答を生成する応答生成処理を行う(S311)。詳細は後述する。
次に、送信部240は、S311で生成した内容を送信元のアクセス相手に送信する(S312)。そして、またS310に戻り、アクセス相手からメッセージが来なくなるまで、アクセス相手と自動応答機能が対応を続ける。なお、このフローチャートの動作を実行中にユーザが応答できる状態になった場合、動作は途中で停止し、ユーザの応答に切り替わる。
次に、S308の状況把握部224による状態確認処理の詳細を説明する。
図9は、状態確認処理のフローチャートである。
まず、状況把握部224は、アクティブのアプリがあるか否かを判断する(S401)。アクティブのアプリがない場合は、アクセスされた時点での予定があるか否かを検索する(S402)。
そして、予定がある場合は、状況把握部224は、スケジュールDB110rにアクセスし、予定情報を取得し(S407)、処理を終了する。このとき、状態情報として、予定情報が出力される。
一方、S403で予定がない場合は、状況把握部224は、位置情報機能がONであるか否かを判断し(S404)、OFFであればユーザの状態は確認できずに処理を終了する。確認できない場合は、状態情報として、例えば、不明等を意味する情報が出力される。あるいは、何も出力されなくてもよい。
S404で位置情報機能がONである場合、状況把握部224は、移動中であるか否かを判断する(S405)。具体的には、位置情報を取得し、その遷移から移動中か否かを判断する。移動中でない場合、ユーザの状態は確認できずに処理を終了する。
一方、移動中であれば、状況把握部224は、移動速度を取得し(S406)、処理を終了する。この場合、状態情報として、移動中を意味する情報が出力される。なお、S406において、移動速度に閾値を設けて、ユーザが高速移動中であるか否かをさらに判断しても良い。また、移動速度と共に地図情報なども参照して、徒歩・自転車・自動車・電車など、具体的な移動手段を推測してもよい。判断結果、推測結果は、状態情報とともに出力してもよい。
次に、S401でアクティブのアプリがあると判断された場合、状況把握部224は、それが電話のアプリであるか否かを判断する(S408)。電話のアプリであれば、通話相手の情報を取得し(S409)、処理を終了する。この場合、状態情報として、当該通話相手と通話中を意味する情報が出力される。
一方、電話のアプリでなければ、状況把握部224は、アプリの情報を取得する(S410)し、処理を終了する。この場合、当該アクティブなアプリを使用中であることを意味する情報が、状態情報として出力される。
アクティブなアプリを調べる理由は、例えば、ユーザが動画を視聴していたりゲームをしていたりする場合、電話の着信に応答しない場合が考えられるためである。また、そのような状況では、メールやテキストチャットからのアクセスであれば、そもそも、アクセスがあったことすらユーザには分からない可能性があるためである。
次に、S311の応答生成処理の詳細を説明する。
図10は、S311の応答生成処理のフローチャートである。
まず、意図認識部223は、アクセス相手から受信したメッセージを解析し、アクセス相手のアクセスした意図、すなわち、用件を特定する(S501)。
次に、応答作成部230は、用件が本人確認であるか否かを判断する(S502)。本来、情報処理端末100はユーザ本人が所有しているものである。このため、ユーザ本人からアクセスがあることは基本的にない。しかし、情報処理端末100が携帯可能なスマートホン等の場合、紛失したり盗難されたりして占有を失うことがある。このような場合、他の情報処理端末からユーザ本人が、紛失した情報処理端末100(スマートホン)の所在を確かめるためにアクセスしたいニーズがある。ユーザ本人からのアクセスは、このような場合を想定している。
用件が本人確認である場合、本人であることを確かめるために、応答作成部230は、パスワードを要求する(S503)。パスワードを受信し(S504)、入力されたパスワードが、連絡情報DB251内のパスワード251dと一致することを確認すると(S505)、応答作成部230は、アクセス相手の権限を「本人」(情報処理端末100のユーザ)に設定する(S506)。そして、用件(本人確認)と権限とに応じた応答内容を作成し(S512)、処理を終了する。
次に、応答作成部230は、S502において、本人確認でない場合、用件が伝言であるか否かを判断する(S507)。用件が伝言である場合は、アクセス相手の伝言を記録し(S508)、その旨の応答内容を作成し(S512)、処理を終了する。
次に、用件が上記以外の目的の場合は、応答作成部230は、アクセス相手の権限の範囲で応答可能か否かを判断する(S509)。アクセス相手の権限の範囲で応答可能な場合、実行処理格納部235を参照し、用件の目的に沿った処理を実行する(S510)。なお、実行する処理の具体例は、後述する。
その後、応答記録部226は、実行した処理を応答記録DB253に記録する(S511)。また、応答作成部230は、実行結果を用いて応答内容を生成し(S512)、処理を終了する。
なお、S509で、応答否と判断された場合、応答作成部230は、対応できないことを意味するメッセージを応答として生成し(S512)、処理を終了する。
次に、応答作成部230による、上記S510の用件に沿った実行処理の具体例を説明する。
図11は、S510の詳細を示すフローチャートの一例である。ここでは、意図認識部223による意図認識結果が場所の確認の場合の例である。例えば、アクセス相手からのメッセージが、「今どこにいるの?」など、ユーザの位置情報を知りたい表現の場合である。
まず、実行部231は、情報処理端末100の位置情報機能がONか否かを判断する(S601)。位置情報機能がONの場合、情報収集部233は、位置情報を取得する(S604)。次に、情報収集部233は、取得した位置情報から住所情報を取得し(S605)、処理結果として出力する。住所情報は、地図情報DB110pを参照して取得する。住所情報は、具体的な住所の他、建物名や地名であってもよい。
一方、S601で位置情報がOFFの場合、実行部231は、権限が本人(情報処理端末100のユーザ)であるか否かを確認する(S602)。そして、権限が本人である場合は、制御部232は、位置情報機能をONにする(S603)。これは、上述した様に、ユーザ本人が紛失したスマートホンを探す目的が考えられるためである。なお、位置情報を取得後、その後の自動応答のために、制御部232は、位置情報機能はOFFに戻すことが望ましい。
次に、S602で権限が本人でない場合、すなわち、位置情報機能がOFFかつ権限が本人でない場合、実行部231は、スケジュールDB110rを参照して、アクセス相手がアクセスした時刻に、ユーザの予定が登録されているか否かを判断する(S606)。そして、予定が登録されている場合、実行部231は、スケジュールDB110rを参照し、登録されている予定に場所情報が含まれているか否かを判断する(S607)。場所情報が含まれていれば、情報収集部233は、その場所情報を取得し(S608)、処理結果(位置情報)として出力する。
一方、S606で予定が登録されていない場合、および、S607で予定に場所情報が含まれていない場合、実行部231は、位置情報取得不可とし、その旨を処理結果として出力し、処理を終了する。
なお、上記処理は、先に位置情報機能で位置情報が取得できない場合、スケジュールDB110rの対応する予定情報を調べ、場所情報を位置情報として得るという順序で処理を進める場合を例にあげて説明した。しかし、この順序は逆であっても構わない。
また、アクセス相手の権限に応じて、いずれかの手法のみで位置情報を取得してもよい。位置情報は情報処理端末100のユーザが変更することができない情報である。一方、スケジュールDB110rに含まれる場所情報はユーザが変更可能である。このように、両者は性格が異なるものである。位置情報機能で得る位置情報は、より慎重に扱うべき情報と言える。例えば、種別251hが家族や友人であれば位置情報機能で得る位置情報まで知らせ、会社であれば、位置情報機能で得る位置情報までは知らせない、などといった使い方が想定できる。
次に、上記S510の用件に沿った実行処理の他の具体例を説明する。
図12は、S510の詳細を示すフローチャートの一例である。意図認識部223による意図認識結果がアポイントの設定依頼の場合の例である。例えば、アクセス相手からのメッセージが「これから会える?」など、ユーザの予定に関する情報を知りたい表現の場合である。
まず、実行部231は、アクセス相手の要求する日時と場所を取得する(S701)。これらの情報は、意図認識部223の解析結果から抽出する。なお、場所の情報は必ずしもなくても良い。ただし、場所の情報が、あれば、より確度の高い応答ができる。また、場所情報はその他情報受信部213を介して取得してもよい。例えば、徒歩圏内にお互いがいるのをお互いに認識している場合、アクセス相手のスマートホン(情報処理端末100)から位置情報を取得することが考えられる。また、情報処理端末100にアクセス相手の位置情報を格納している場合は、それを要求場所の情報として用いても良い。
次に、実行部231は、要求の日時の予定を検索する(S702)。ここでは、実行部231は、スケジュールDB110rを参照し、要求日時のデータを抽出する。
そして、実行部231は、要求の日時に予定が既に登録されているか否かを確認し(S703)、予定が登録されている場合は、処理を終了する。
一方、予定が登録されていない場合は、実行部231は、要求日時の直前と直後との予定を検索する(S704)。そして、実行部231は、直前と直後との予定が登録されているか否かを確認する(S705)。予定が登録されていない場合は、スケジュールDB110rに予約を仮設定し(S707)、処理を終了する。なお、仮設定では、実行部231は、スケジュールDB110rの、要求日時に、新たな予定情報を追加記録する。なお、直前と直後の予定があるか否かは、その日の中を範囲とするか、前日と翌日までを範囲とするかなど、ユーザが適宜設定可能である。
次に、直前または直後に予定が登録されている場合、実行部231は、場所情報も参照して移動可能か否かを判断する(S706)。例えば、実行部231は、情報収集部233に、地図情報DB110pや交通情報DB110s等から直前または直後の位置の情報、要求場所の場所情報、両地間の交通情報等を取得させる。そして、これらの情報を用い、時間内での移動の可否を判断する。
そして、実行部231は、移動不可と判断された場合は、処理を終了する。一方、可能であると判断された場合は、S707へ移行する。
S510の処理が終了すると、スケジュールに予約を仮設定できた場合はその内容を、できなかった場合はその内容を、それぞれ応答内容の作成に反映する。なお、直前または直後に予定が登録されていても、場所情報が登録されていない場合、S706において、移動の可否が判断できない。従って、この場合も、実行部231は、移動不可と判断する。
なお、S510の実行処理の他の例には、静止画、動画、または、文書等、情報処理端末100内に記憶されているデータを送信する処理がある。例えば、アクセス相手が家族や友人である場合、旅行に行った時の静止画または動画を送信する。アクセス相手が会社の同僚や上司である場合、必要な書類を送信する。
また、S510の実行処理の他の例には、ユーザの健康情報を送信する処理がある。例えば、情報処理端末100は、生体情報を取得するウェアラブル機器等と連携することにより、健康情報(生体情報;脈拍や血圧など)を取得する。例えば、在宅介護等において、ユーザが寝ていて応答できない場合であっても、医師や看護師が定期的に健康状態を把握できる。これにより、緊急事態に陥ったことを迅速に発見できる。
以上説明したように、本実施形態によれば、自動応答を行う情報処理端末100であって、当該情報処理端末100のユーザの個人情報を記憶する記憶部250と、アクセス相手からのアクセスおよびメッセージを受信する受信部210と、前記アクセスを受信後、当該アクセスに応じる操作の入力が当該情報処理端末100においてなされない場合、前記メッセージの送信要求を前記アクセス相手に行い、当該送信要求に応じて受信した前記メッセージに対する応答を作成する自動応答部104d(処理部220)と、前記応答を前記アクセス相手に対して送信する送信部240と、を備える。そして、前記自動応答部104dは、前記メッセージの意図を認識する意図認識部223と、前記メッセージの意図および前記個人情報を参照して、前記メッセージに対する応答を作成する応答作成部230と、を備える。
このため、本実施形態によれば、情報処理端末100に対し、アクセスがあった時、ユーザがアクセスに反応しない、または、できない場合であっても、アクセス内容や情報処理端末100の状況を勘案して、情報処理端末100が自律的に応答内容を作成し、アクセス元に返信する。このために、情報処理端末100のユーザに煩雑な処理は要求されない。従って、本実施形態によれば、煩雑な手続き無しに、アクセス内容に応じて最適な応答を行うことができる。
また、本実施形態によれば、前記受信部210は、さらに、前記アクセス相手のIDを受信し、前記記憶部250は、さらに、前記アクセス相手のIDに対応づけて当該アクセス相手のカテゴリを記憶する連絡情報DB251と、前記カテゴリ毎に、前記情報処理端末100が前記アクセス相手のメッセージに対応して実行する実行処理の可否を権限として記憶する権限情報DB252とを記憶してもよい。また、前記応答作成部(処理部220)は、さらに、前記アクセス相手のID、連絡情報DB251および前記権限情報DB252を参照して、前記実行処理を実行して前記メッセージに対する応答を作成してもよい。
このため、本実施形態によれば、さらに、アクセス元によって、自動的に応答内容が変更される。すなわち、同じメッセージを受け取ったとしても、それぞれの、アクセス元の属性に応じた応答を行う。このため、ユーザの負担増無しに、より適切な自動応答を行うことができる。
なお、上記実施形態では、情報処理端末100が、自動応答処理を実現するプログラムを保持するものとして説明した。しかし、この形態に限定されない。例えば、このプログラムは、着脱可能な記憶媒体や通信媒体(有線、無線、光などのネットワーク、またはそのネットワーク上の搬送波やデジタル信号)を介して、必要なときに情報処理端末100の外部記憶装置に導入されても良い。