(第1の実施形態)
図1は、第1の実施形態における情報処理システム1のシステム構成を表すシステム構成図である。情報処理システム1は、発信端末100と着信端末200との通話の内容に基づいて、発信端末100の使用者の予定を管理する。予定の管理は、例えばメールを送信することであってもよいし、外部の予定管理ツールを更新することであってもよい。情報処理システム1は、発信端末100、着信端末200、情報処理装置300及び予定管理装置400を備える。発信端末100、着信端末200、情報処理装置300及び予定管理装置400は、第1ネットワーク500又は第2ネットワーク600を介して互いに通信可能に接続される。第1ネットワーク500と第2ネットワーク600とは異なるネットワークで構成される。第1ネットワーク500は、例えば電話回線網である。第2ネットワーク600は、例えばインターネットである。なお、第1ネットワーク500及び第2ネットワーク600は、通信事業者同士のゲートウェイ装置等を介して、互いに通信可能に接続されてもよい。第1の実施形態では、発信端末100の所有者の予定が管理される場合について説明する。なお、着信端末200の所有者の予定が管理されるように構成されてもよい。この場合、着信端末200は、発信端末100と同じ構成を持つ。発信端末100の使用者とは、発信端末に割り当てられた電話番号に対応付けられた人である。
発信端末100は、スマートスピーカ、スマートフォン又はタブレットコンピュータ等の音声を入力と音声を出力とが可能な音声入出力装置である。発信端末100は、着信端末200と音声通信を行う。音声通信は、例えば電話である。発信端末100は、着信端末200との通話中に、マイクから集音された音声を音声信号として着信端末200に送信する。発信端末100は、着信端末200との通話中に、着信端末200から受け付けた音声信号をスピーカから出力する。発信端末100は、例えば、発信端末100を所有する者の宅内又は事務所に設けられてもよいし、不特定多数の人が訪れる公共の空間に設けられてもよいし、発信端末100の所有者によって携帯されてもよい。発信端末100は、第1ネットワーク500又は第2ネットワーク600に接続可能であればどのような場所に設けられてもよい。
着信端末200は、スマートスピーカ、スマートフォン又はタブレットコンピュータ等の音声を入力と音声を出力とが可能な音声入出力装置である。着信端末200は、発信端末100と音声通信を行う。着信端末200は、発信端末100との通話中に、マイクから集音された音声を音声信号として発信端末100に送信する。着信端末200は、発信端末100との通話中に、発信端末100から受け付けた音声信号をスピーカから出力する。着信端末200は、例えば、着信端末200を所有する者の宅内又は事務所に設けられてもよいし、不特定多数の人が訪れる公共の空間に設けられてもよいし、着信端末200の所有者によって携帯されてもよい。着信端末200は、第1ネットワーク500又は第2ネットワーク600に接続可能であればどのような場所に設けられてもよい。
情報処理装置300は、サーバ、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ又はウェアラブルデバイス等の情報処理装置である。情報処理装置300は、発信端末100と着信端末200との通話中に取得された音声信号から文字列を生成する。情報処理装置300は、生成された文字列に基づいて、発信端末100又は着信端末200の所有者の予定を管理する。情報処理装置300は、発信端末100と着信端末200との通話を中継する中継装置として機能してもよい。
予定管理装置400は、サーバ又はパーソナルコンピュータ等の情報処理装置である。予定管理装置400は、発信端末100又は着信端末200の所有者の予定を管理する。予定管理装置400は、例えばカレンダー又はスケジューラ等のプログラムがインストールされた装置であってもよい。発信端末100の所有者は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ等の情報処理装置を用いて予定管理装置400にアクセスすることで、自身の予定を確認及び管理することができる。
図2は、発信端末100の機能構成を表す機能ブロック図である。発信端末100は、音声入出力プログラムを実行することによって第1通信部101、第2通信部102、マイク103、スピーカ104、入力部105及び制御部106を備える装置として機能する。
第1通信部101は、ネットワークインタフェースである。第1通信部101は第1ネットワーク500を介して、着信端末200と通信する。第1通信部101は、例えばPSTN(Public Switched Telephone Network)、3G(Generation)又はLTE(Long Term Evolution)(登録商標)等の通信方式で通信してもよい。
第2通信部102は、ネットワークインタフェースである。第2通信部102は第2ネットワーク600を介して、情報処理装置300と通信する。第2通信部102は、例えば無線LAN(Local Area Network)、有線LAN、Bluetooth(登録商標)又はLTE(Long Term Evolution)(登録商標)等の通信方式で通信してもよい。
マイク103は、マイク103近傍の音声を集音する。マイク103は、例えば人間によって発話された音声を集音する。マイク103は、外付けマイク等の集音装置を発信端末100に接続するためのインタフェースであってもよい。この場合、マイク103は、集音装置において入力された音声信号から音声データ(例えば、マイクに対して話しかけられた音声)を生成し、発信端末100に入力する。
スピーカ104は、音声を出力する。スピーカ104は、外付けスピーカ又はイヤホン等の音声出力装置を発信端末100に接続するためのインタフェースであってもよい。この場合、スピーカ104は、音声信号(例えば、情報処理装置300から取得された音声信号)を音声出力装置に出力する。
入力部105は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部105は、入力装置を発信端末100に接続するためのインタフェースであってもよい。この場合、入力部105は、入力装置において入力された入力信号から入力データ(例えば、発信端末100に対する指示を示す指示情報)を生成し、発信端末100に入力する。
制御部106は、発信端末100の各部の動作を制御する。制御部106は、例えばCPU(Central Processing Unit)等のプロセッサ及びRAM(Random Access Memory)を備えた装置により実行される。制御部106は、音声入出力プログラムを実行することによって、通信制御部107、音声取得部108、音声出力部109、ユーザ情報生成部110及び通話機能部111として機能する。
通信制御部107は、第1通信部101及び第2通信部102の動作を制御する。通信制御部107は、例えば、第1通信部101を介して着信端末200等の外部の装置と通信する。通信制御部107は、例えば、第2通信部102を介して情報処理装置300等の外部の装置と通信する。
音声取得部108は、マイク103によって集音された音声に基づいて音声信号を生成する。音声取得部108は、例えば、着信端末200と通話中の場合、生成された音声信号を着信端末200に送信する。
音声出力部109は、音声信号に基づいて、スピーカ104に音声を発音させる。音声出力部109は、例えば、着信端末200と通話中の場合、発音させる音声信号を着信端末200から受信する。
ユーザ情報生成部110は、ユーザ情報を生成する。ユーザ情報は、発信端末100と着信端末200との通話の内容をユーザに通知するための手段を表す。ユーザは、例えば発信端末100の所有者であってもよい。ユーザ情報の詳細については後述する。ユーザ情報生成部110は、入力部105を介して入力される情報に基づいてユーザ情報を生成する。ユーザ情報生成部110は、生成されたユーザ情報を情報処理装置300に送信する。
通話機能部111は、発信端末100と着信端末200とが通話を行うための制御を行う。例えば、通話機能部111は、ユーザから中継用電話番号への発呼指示を受け付ける。このとき、ユーザは、着信端末200へ発呼することを意識して発呼指示を行うが、実際には、中継用電話番号が指示されるため、中継装置に対する発呼指示が実行される。中継装置は、発信端末100と着信端末200との通話を中継する装置である。中継装置は、例えば電話交換機であってもよいし、サーバ等の情報処理装置であってもよい。本実施形態では、中継装置として情報処理装置300が用いられる場合について説明する。通話機能部111は、指定された中継用電話番号に対して発呼信号を送信する。この発呼信号には、例えば着信端末200の電話番号を示す情報が含まれてもよい。発呼信号の具体例として、INVITE信号がある。発呼信号の中継装置である情報処理装置300にて、発信端末100と着信端末200との呼を確立させる処理が行われる。呼を確立させる処理が終了した場合、発信端末100と着信端末200とは、通話可能に接続される。
図3は、情報処理装置300の機能構成を表す機能ブロック図である。情報処理装置300は、情報処理プログラムを実行することによって第1通信部301、第2通信部302、ユーザ情報記憶部303、予定情報記憶部304及び制御部305を備える装置として機能する。
第1通信部301は、ネットワークインタフェースである。第1通信部301は第1ネットワーク500を介して、発信端末100又は着信端末200と通信する。第1通信部301は、例えばPSTN、3G又はLTE等の通信方式で通信してもよい。
第2通信部302は、ネットワークインタフェースである。第2通信部302は第2ネットワーク600を介して、情報処理装置300と通信する。第2通信部302は、例えば無線LAN、有線LAN、Bluetooth又はLTE等の通信方式で通信してもよい。
ユーザ情報記憶部303は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ユーザ情報記憶部303は、ユーザ情報テーブルを記憶する。ユーザ情報テーブルは、ユーザ情報を記憶する。ユーザ情報記憶部303は、発信端末100からユーザ情報を受信した場合、ユーザ情報テーブルにユーザ情報を記録する。
図4は、ユーザ情報テーブルの具体例を示す図である。ユーザ情報テーブルは、1つ以上のユーザ情報レコードを有する。ユーザ情報レコードは、発信端末100から受信したユーザ情報を保持する。ユーザ情報レコードは、電話番号、管理手段、管理先及び認証情報の各値を有する。電話番号は、発信端末100に割り当てられた電話番号である。電話番号は、通信事業者によって、電話回線契約時に割り当てられる。管理手段は、発信端末100と着信端末200との通話の内容に基づいて、発信端末100の所有者の予定を管理するための手段を表す。管理手段は、発信端末100の所有者に対して電文を送信することであってもよいし、外部の装置に記録された情報を更新することであってもよい。管理手段は、例えば、カレンダー、電子メール、SMS(Short Message Service)又はメッセンジャー等の手段が用いられてもよい。管理手段は、SMTP(Simple Mail Transfer Protocol)又はHTTP(Hypertext Transfer Protocol)等の通信プロトコルで表されてもよい。管理先は、管理手段によって、発信端末100の予定を送信又は更新する先の情報を表す。管理先は、例えば、インターネットのURL(Uniform Resource Locator)であってもよいし、メールアドレスであってもよいし、SMSの送信先となる電話番号であってもよいし、その他の管理手段に応じた情報であってもよい。認証情報は、例えば、管理先がWebサービス等のようにログインが必要である場合に、ログインを行うための情報である。認証情報は、例えば、ログインを行うためのID及びパスワードであってもよい。
図4に示される例では、ユーザ情報テーブルの最上段のユーザ情報レコードは、電話番号の値が“03−abcd−efgh”、管理手段の値が“カレンダー”、管理先の値が“www.plala.calendar.com”、認証情報の値が“Login001”である。従って、ユーザ情報テーブルの最上段のレコードによると、発信端末100に割り当てられた電話番号は“03−abcd−efgh”であり、発信端末100と着信端末200との通話の内容は、“カレンダー”を用いて管理され、“カレンダー”は、“www.plala.calendar.com”で表されるURLでアクセスでき、認証情報“Login001”でログインできる。なお、図4に示されるユーザ情報テーブルは一具体例に過ぎない。そのため、図4とは異なる態様でユーザ情報テーブルが構成されてもよい。例えば、ユーザ情報テーブルは、複数の管理手段、管理先及び認証情報を有してもよい。
予定情報記憶部304は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。予定情報記憶部304は、予定情報テーブルを記憶する。予定情報テーブルは、予定情報レコードを記憶する。予定情報記憶部304は、予定記憶部の一態様である。
図5は、予定情報テーブルの具体例を示す図である。予定情報テーブルは、予定情報レコードを有する。予定情報レコードは、後述の予定情報生成部310によって生成された予定情報を保持する。予定情報は、発信端末100の所有者の予定を表す。第1の実施形態における予定情報レコードは、飲食店への訪問の予約を表すレコードであるとして説明する。予定情報レコードは、電話番号、日付、時刻、人数、人名及びメニューの各値を有する。電話番号は、発信端末100に割り当てられた電話番号である。日付は、発信端末100の所有者によって予約された、飲食店への訪問の日付である。時刻は、発信端末100の所有者によって予約された、飲食店への訪問の時刻である。人数は、発信端末100の所有者によって予約された、飲食店への訪問の人数である。人名は、発信端末100の所有者によって予約された、飲食店への訪問する者の名前を表す。なお、人名は苗字で保持されてもよいし、氏名で保持されてもよい。メニューは、発信端末100の所有者によって予約された、注文されるメニューである。
図5に示される例では、予定情報テーブルの最上段の予定情報レコードは、電話番号の値が“03−abcd−efgh”、日付の値が“2018/07/31”、時刻の値が“14:00”、人数の値が“3”、人名の値が“スズキ”、メニューの値が“松”である。従って、予約情報テーブルの最上段のレコードによると、発信端末100に割り当てられた電話番号は“03−abcd−efgh”であり、発信端末100の所有者は“2018/07/31”の“14:00”に飲食店に訪問し、訪問者数は“3”名であり、訪問者は“スズキ”であり、メニューとして“松”が注文されていることがわかる。なお、図5に示される予定情報テーブルは一具体例に過ぎない。そのため、図5とは異なる態様で予定情報テーブルが構成されてもよい。例えば、予定情報テーブルは、予定情報レコードが生成された日時を有してもよい。
図3に戻って情報処理装置300の説明を続ける。制御部305は、情報処理装置300の各部の動作を制御する。制御部305は、例えばCPU等のプロセッサ及びRAMを備えた装置により実行される。制御部305は、情報処理プログラムを実行することによって、通信制御部306、通話中継部307、文字列生成部308、管理対象決定部309、予定情報生成部310及び管理処理部311として機能する。
通信制御部306は、第1通信部301及び第2通信部302の動作を制御する。通信制御部306は、例えば、第1通信部301を介して発信端末100と着信端末200との通信を制御する。通信制御部107は、例えば、第2通信部302を介して情報処理装置300と予定管理装置400との通信を制御する。
通話中継部307は、発信端末100と着信端末200との通話を中継する。例えば、通話中継部307は、発信端末100から発呼信号を受信すると、受信された発呼信号に応じて呼処理を行う。通話中継部307において実行される呼処理は、発呼信号の送信元である発信端末100と自装置との間で呼を確立するための処理である。呼処理の具体例として、受信されたINVITE信号に応じて100Trying信号、180Ringing信号及び200OK信号を送信する処理がある。呼処理が終了すると、発信端末100及び情報処理装置300の間で呼が確立される。
通話中継部307は、発信端末100との間で呼が確立されると、発信端末100に対して呼び出し中ガイダンス信号を送信する。呼び出し中ガイダンス信号は、予め情報処理装置300において記憶装置に記録されている信号である。呼び出し中ガイダンス信号は、発信端末100において再生されることによって音声が出力される。この音声は、例えば発信端末100の使用者が相手方(着信端末200の使用者)の応答を待っている状態であることを認識できるような音声である。例えば、呼び出し中ガイダンス信号は、“ただいま呼び出しております。しばらくお待ち下さい。”という音声を出力するための信号であってもよい。呼び出し中ガイダンス信号は、所定のタイミングまで(例えば発信端末100と着信端末200との間で呼が確立されるまで)継続して送信されてもよい。着信端末200の使用者とは、例えば、着信端末200に割り当てられた電話番号に対応付けられた人である。
通話中継部307は、着信端末200の電話番号を取得する。通話中継部307は、取得された着信端末200に対して送信される通知メッセージを生成する。通話中継部307は、生成された通知メッセージを、取得された着信端末200の電話番号に送信する。
着信端末200は、通話中継部307から通知メッセージを受信すると、受信された通知メッセージの内容を自装置の画面に表示する。着信端末200の使用者は、表示された通知メッセージの内容(特に発信端末100の電話番号)に応じて、発信端末100による発呼に応じるか否か判断する。着信端末200の使用者は、発信端末100による発呼に応じると判断した場合、通話中継部307に対して発呼することを着信端末200に指示する。着信端末200は、使用者の指示に応じて、中継用電話番号に対して発呼信号を送信する。この発呼信号には、例えば発信端末100の電話番号を示す情報が含まれてもよい。この発呼信号には、例えば発信端末100の識別情報(例えば電話番号)と、発信端末100との呼を接続することを示す制御情報が含まれてもよい。
通話中継部307は、着信端末200から発呼信号を受信すると、着信端末200と発信端末100との間の呼を確立するための処理(呼処理)を実行する。通話中継部307は、呼を確立する対象となる発信端末100及び着信端末200をどのような処理によって判定してもよい。例えば、着信端末200から受信された発呼信号に含まれる制御情報に基づいて判定されてもよい。通話中継部307が呼処理を実行することによって、発信端末100と着信端末200との間で呼が確立される。この後、発信端末100の使用者と着信端末200の使用者とは通話を行うことが可能となる。
文字列生成部308は、通話中継部307を中継した音声信号に基づいて文字列を生成する。文字列は、発信端末100と着信端末200との通話の内容を表す。具体的には、文字列生成部308は、音声信号によって表される波形の形状又は周波数成分に応じて文字列を生成する。文字列生成部308は、公知の手法を用いて文字列を生成してもよい。通話中継部307を中継する音声信号は、発信端末100と着信端末200との通話中の音声である。
管理対象決定部309は、管理対象となる予定情報と、管理処理部311によって行われる管理処理と、を決定する。まず管理対象決定部309は、管理対象となる予定情報を決定する。具体的には、管理対象決定部309は、生成された文字列から一つの文(以下「一文」という。)を取得する。管理対象決定部309は、文字列の先頭から順に一文を取得する。管理対象決定部309は、取得された一文を解析する。解析には、例えば形態素解析等の公知の手法が用いられてもよいし、一文を品詞に分解できる他の手法が用いられてもよいし、予め定められた単語を抽出する手法が用いられてもよい。予め定められた単語は、例えば、“〇人”、“〇名”、“〇時〇分”又は“〇時半”、“〇月〇日”等の人数又は日時を表す単語であってもよい。管理対象決定部309は、解析された一文に項目と項目値とが含まれる場合、項目情報レコードを生成する。項目情報レコードは、項目情報テーブルに保持される。管理対象決定部309は、一文に複数の項目と各項目の項目値とが含まれる場合、複数の項目情報レコードを生成する。なお、管理対象決定部309は、項目情報レコードを生成するにあたり、二文以上の解析結果に基づいて、項目情報レコードを生成してもよい。
図6は、項目情報テーブルの具体例を示す図である。項目情報テーブルは、項目情報レコードを有する。項目情報レコードは、管理対象決定部309又は予定情報生成部310によって生成される。項目情報レコードは、項目、項目値及び経過時間の各値を有する。
項目は、予定情報の生成に用いられる情報の種類を表す。項目は、予定情報レコードのカラム名と同じ名称が用いられる。項目値は、項目の具体的な値を表す。項目値は、取得された文字列に含まれる。経過時間は、発信端末100と着信端末200との通話を開始した時刻から経過した時間を表す。経過時間は、発信端末100と着信端末200との通話に項目値が発話された時間である。なお、管理対象決定部309によって生成される項目情報テーブルと予定情報生成部310によって生成される項目情報テーブルとは、異なるテーブルとして管理されてもよい。
図6に示される例では、項目情報テーブルの最上段の項目情報レコードは、項目の値が“人数”、項目値の値が“2”、経過時間の値が“00:14”である。従って、項目情報テーブルの最上段のレコードによると、発信端末100と着信端末200との通話中には、項目は“人数”に関する項目値“2”が、通話を開始した時刻から14秒経過した時間に発話されたことがわかる。なお、図6に示される項目情報テーブルは一具体例に過ぎない。そのため、図6とは異なる態様で項目情報テーブルが構成されてもよい。
図3に戻って管理対象決定部309の説明を続ける。管理対象決定部309は、生成された項目情報レコードが保持された項目情報テーブルに基づいて、予定情報記憶部304から予定情報を検索する。具体的には、管理対象決定部309は、発信端末100の電話番号と同じ電話番号の値を保持する予定情報レコードを特定する。管理対象決定部309は、特定された予定情報レコードのうち、所定の条件を満たす予定情報レコードに保持される予定情報を、管理対象として決定する。所定の条件とは、例えば、予定情報の電話番号以外のカラムのうち、いずれか1つ以上が項目情報テーブルの項目情報レコードと一致することであってもよいし、複数のカラムが項目情報テーブルの項目情報レコードと一致することであってもよい。また、所定の条件を満たさない場合、管理対象決定部309は、生成された文字列から次の一文を取得し、同様の処理を行う。このように、項目情報テーブルには、一文が解析されることに応じて項目情報レコードが蓄積されていくため、予定情報レコードが所定の条件を満たす可能性は高まる。管理対象決定部309は、全ての文字列を解析したか否か判定する。管理対象決定部309は、予定情報レコードを決定できないまま、全ての文字列を解析した場合、予定情報を決定できなかったと判定する。
次に、管理対象決定部309は、管理処理を決定する。管理対象決定部309は、予定情報を決定できなかった場合、第一の管理処理を行うと判定する。第一の管理処理は、通話の内容を新しい予定として記録する処理である。管理対象決定部309は、予定情報を決定できた場合、第二の管理処理を行うと判定する。第二の管理処理は、既存の予定を通話の内容に基づいて更新する処理である。既存の予定を更新する処理には、例えば、既存の予定を変更する「変更」と、既存の予定を削除する「削除」と、の2つの処理がある。既存の予定とは、予定情報として予定情報記憶部304に記憶されている予定である。新しい予定とは、予定情報として予定情報記憶部304に記憶されていない予定である。
管理対象決定部309は、予定情報を決定できた場合、予定情報が決定されるまでに解析された文に、所定の文言が含まれるか否かを解析する。管理対象決定部309は、所定の文言が含まれるか否かを判定する。所定の文言とは、例えば、「変更」又は「削除」等の既存の予定に対して、予定の変更が行われると考えられる文言である。所定の文言は「変更」又は「削除」に限定されず、予め定められた文言であればどのような文言であってもよい。
管理対象決定部309は、所定の文言が含まれていなかった場合、全ての文字列を解析したか否か判定する。管理対象決定部309は、全ての文字列を解析した場合、所定の文言は含まれていなかったと判定する。管理対象決定部309は、まだ全ての文字列を解析していない場合、文字列から次の一文を取得する。管理対象決定部309は、取得された一文を解析する。管理対象決定部309は、解析された一文に所定の文言が含まれるか否かを判定する。
管理対象決定部309は、所定の文言が含まれていた場合、所定の文言が「変更」であるか否かを判定する。管理対象決定部309は、所定の文言が「変更」である場合、第二の管理処理のうち、既存の予定を変更する処理を行うと判定する。管理対象決定部309は、所定の文言が「変更」でない場合、第二の管理処理のうち、既存の予定を削除する処理を行うと判定する。
予定情報生成部310は、予定情報を決定できなかった場合、又は所定の文言が「変更」である場合、予定情報を生成する。具体的には、まず予定情報生成部310は、所定の文言が「変更」であるか否かを判定する。所定の文言が「変更」ではない場合、予定情報生成部310は、全ての文字列を解析することで予定情報を生成する。所定の文言が「変更」である場合、予定情報生成部310は、所定の区間の文字列を解析することで予定情報を生成する。所定の区間の文字列とは、例えば、管理対象決定部309によって管理対象となる予定情報が決定され、かつ所定の文言が含まれている区間以降の文字列である。以下、所定の区間を、内容評価区間という。以下、内容評価区間より前の区間を対象確定区間という。
図7は、対象確定区間及び内容評価区間の一具体例を表す図である。図7によれば、対象確定区間は、通話開始から始まる。対象確定区間は、管理対象決定部309によって、管理対象となる予定情報が決定され、かつ所定の文言が含まれている区間までの文字列が含まれる時間を表す。図7によれば、内容評価区間は、対象確定区間の直後から始まる。内容評価区間は、対象確定区間の直後から通話終了までの時間を表す。
予定情報生成部310は、文字列の解析結果に基づいて、項目情報テーブルを生成する。項目情報テーブルの生成手法は、管理対象決定部309と同様である。予定情報生成部310は、項目情報テーブルの項目毎に重みづけを行う。予定情報生成部310は、重みづけされた項目の各項目値のうち、重みが最大となる項目値を項目毎に取得する。予定情報生成部310は、取得された項目値に基づいて予定情報を生成する。
重みづけの具体的な手段について説明する。予定情報生成部310は、項目情報レコードの経過時間が大きくなるほど、項目情報レコードの項目値に大きな重みを付与する。例えば、経過時間が“00:10”である項目情報レコードの項目値よりも、経過時間が“00:12”である項目情報レコードの項目値に、大きな重みが付与される。また、予定情報生成部310は、所定の文言が検出された経過時間以降に生成された項目情報レコードの項目値に対して、より大きな重みを付与する。所定の文言は、例えば、「確認致します」又は「繰り返します」等のように相手側に内容の確認を取る文言である。所定の文言は、予め指定される。所定の文言は、予め指定された文言であればどのような文言であってもよい。
管理処理部311は、予定情報テーブルに対して管理処理を行う。具体的には、管理処理部311は、予定情報を決定できなかった場合、生成された予定情報を予定情報レコードとして予定情報テーブルに記録する。管理処理部311は、所定の文言が「変更」である場合、決定された予定情報レコードに保持される各値を、生成された予定情報の各値に変更する。管理処理部311は、所定の文言が「変更」でなかった場合、決定された予定情報レコードを予定情報テーブルから削除する。
管理処理部311は、取得された発信端末100の電話番号を保持するユーザ情報レコードをユーザ情報テーブルから特定する。管理処理部311は、特定されたユーザ情報レコードの管理手段の値を取得する。管理処理部311は、管理手段がカレンダー等の予定管理装置400に対するアクセスを行う手段を表す場合、予定管理装置400に対して管理処理を行う。具体的には、管理処理部311は、予定情報を決定できなかった場合、生成された予定情報の各値を予定管理装置400に記録する。管理処理部311は、所定の文言が「変更」である場合、決定された予定情報の各値を有する予定管理装置400の予定を、生成された予定情報の各値に変更する。管理処理部311は、所定の文言が「変更」でなかった場合、決定された予定情報を有する既存の予定を予定管理装置400から削除する。
管理処理部311は、管理処理部311は、管理手段が電子メール又はメッセンジャー等の場合、管理先に対して、管理手段に沿った電文を送信する。電文には、生成された予定情報が含まれる。
図8は、情報処理装置の管理処理の流れの一具体例を示すフローチャートである。通話中継部307は、発信端末100の電話番号を取得する(ステップS101)。文字列生成部308は、通話中継部307を中継した音声信号に基づいて文字列を生成する(ステップS308)。管理対象決定部309は、管理対象となる予定情報を決定する(ステップS103)。予定情報の決定の詳細は後述する。管理対象決定部309は、予定情報を決定できたか否かを判定する(ステップS104)。
管理対象決定部309が予定情報を決定できた場合(ステップS104:YES)、管理対象決定部309は、生成された文字列に所定の文言が含まれるか否かを検出する(ステップS105)。所定の文言の検出の詳細は後述する。管理対象決定部309は、所定の文言が含まれるか否かを判定する(ステップS106)。
所定の文言が含まれる場合(ステップS106:YES)、管理対象決定部309は、含まれる文言は「変更」であるか否かを判定する(ステップS107)。含まれる文言が「変更」である場合(ステップS107:YES)、予定情報生成部310は、予定情報を生成する(ステップS108)。予定情報の生成の詳細については後述する。管理処理部311は、ステップS103で決定された予定情報レコードの各値を、生成された予定情報に変更する(ステップS109)。管理処理部311は、予定情報レコードに行われた処理に応じて、予定管理装置400を更新する(ステップS110)。例えば、予定情報レコードの各値が、生成された予定情報に変更された場合、管理処理部311は、予定管理装置400に保持される予定の値を、生成された予定情報に置き換える等の処理である。
管理対象決定部309が予定情報を決定できなかった場合(ステップS104:NO)又は、所定の文言が含まれない場合(ステップS106:NO)、予定情報生成部310は、予定情報を生成する(ステップS111)。管理処理部311は、生成された予定情報を予定情報レコードとして予定情報テーブルに記録する(ステップS112)。
含まれる文言が「変更」ではない場合(ステップS107:NO)、管理処理部311は、決定された予定情報を含む予定情報レコードを予定情報テーブルから削除する(ステップS113)。
図9は、予定情報の取得の流れの一具体例を示すフローチャートである。図9に示すフローチャートはステップS103の詳細な処理を表す。管理対象決定部309は、生成された文字列から一文を取得する(ステップS201)。管理対象決定部309は、取得された一文を解析する(ステップS202)。管理対象決定部309は、解析された一文に項目と項目値とが含まれる場合、項目情報レコードを生成する(ステップS203)。管理対象決定部309は、発信端末100の電話番号と同じ電話番号の値を保持する予定情報レコードを特定する。管理対象決定部309は、特定された予定情報レコードのうち、所定の条件を満たす予定情報レコードに保持される予定情報を、管理対象として決定する(ステップS204)。
管理対象決定部309は、予定情報を決定できたか否かを判定する(ステップS205)。予定情報を決定できた場合(ステップS205:YES)、処理は、ステップS104に遷移する。予定情報を決定できなかった場合(ステップS205:NO)、管理対象決定部309は、全ての文字列を解析したか否か判定する(ステップS206)。すべての文字列を解析した場合(ステップS206:YES)、管理対象決定部309は、予定情報を決定できなかったと判定し、ステップS104に遷移する。すべての文字列を解析していない場合(ステップS206:NO)、処理は、ステップS201へ遷移する。
図10は、所定の文言の検出の流れの一具体例を示すフローチャートである。図10に示すフローチャートはステップS105の詳細な処理を表す。管理対象決定部309は、予定情報が決定されるまでに解析された文に、所定の文言が含まれるか否か解析する(ステップS301)。管理対象決定部309は、所定の文言が含まれるか否かを判定する(ステップS302)。所定の文言が含まれていた場合(ステップS302:YES)、処理は、ステップS106へ遷移する。所定の文言が含まれていなかった場合(ステップS302:NO)、管理対象決定部309は、全ての文字列を解析したか否か判定する(ステップS303)。
全ての文字列を解析した場合(ステップS303:YES)、管理対象決定部309は所定の文言は含まれていなかったと判定する。全ての文字列を解析していない場合(ステップS303:NO)、文字列から次の一文を取得する(ステップS304)。管理対象決定部309は、取得された一文を解析する(ステップS305)。
図11は、予定情報の生成の流れの一具体例を示すフローチャートである。図11に示すフローチャートはステップS111の詳細な処理を表す。予定情報生成部310は、含まれる文言は「変更」であるか否かを判定する(ステップS401)。含まれる文言が「変更」である場合(ステップS401:YES)、予定情報生成部310は、内容評価区間を特定する(ステップS402)。予定情報生成部310は、内容評価区間の文字列を解析する(ステップS403)。含まれる文言が「変更」でない場合(ステップS401:NO)、予定情報生成部310は、全ての文字列を解析する(ステップS404)。
予定情報生成部310は、文字列の解析結果に基づいて、項目情報テーブルを生成する(ステップS405)。予定情報生成部310は、項目情報テーブルの項目毎に重みづけを行う(ステップS406)。予定情報生成部310は、重みづけされた項目の各項目値のうち、重みが最大となる項目値に基づいて予定情報を生成する(ステップS407)。
このように構成された情報処理システム1では、文字列生成部308が発信端末100と着信端末200との通話中の音声に基づいて文字列を生成する。管理対象決定部309は、生成された文字列に基づいて予定に対する管理処理を行う。管理対象決定部309は、通話の内容を新しい予定として管理する第一の管理処理と、通話の内容に基づいて既存の予定を管理する第二の管理処理と、のいずれかの管理処理を行う。管理処理は、例えば、スケジュール管理ツールへの予定の登録であったり、予定を電子メールとして送信する等の処理である。このように、情報処理システム1は、発信端末100と着信端末200との通話中の音声に基づいて予定を管理することで、話者はより簡単に予定を管理することが可能となる。
上述の実施形態では、中継装置として情報処理装置300が用いられる場合について説明したが、情報処理システム1には、中継装置として電話交換機が用いられてもよい。この場合、情報処理装置300は、着信端末200に送信された音声信号と発信端末100に送信された音声信号とを発信端末100から取得する。具体的には、発信端末100の音声取得部108は、着信端末200に送信された音声信号をストリーミング等の手段を用いて情報処理装置300に送信する。発信端末100の音声出力部109は、着信端末200から受信した音声信号をストリーミング等の手段を用いて情報処理装置300に送信する。このように構成されることで、情報処理装置300は、音声信号を取得することが可能になる。したがって、情報処理装置300は、発信端末100と着信端末200との通話を中継しなくても音声信号を取得することができ、ユーザの予定を管理することが可能になる。
(第2の実施形態)
次に、第2の実施形態における情報処理システム2について説明する。図12は、第2の実施形態における情報処理システム1のシステム構成を表すシステム構成図である。第2の実施形態における情報処理システム2は、発信端末100の代わりに発信端末100a、情報処理装置300の代わりに情報処理装置300aを備え、表示装置700をさらに備える点で第1の実施形態とは異なるが、それ以外の構成は同じである。以下、第1の実施形態と異なる点について説明する。
発信端末100aは、スマートスピーカ、スマートフォン又はタブレットコンピュータ等の音声を入力と音声を出力とが可能な音声入出力装置である。発信端末100aは、表示装置700と対応付けて設けられる。発信端末100aは、着信端末200と音声通信を行う。発信端末100aは、情報処理装置300aから管理処理を行うことに対する許可を求める音声を含む確認情報を取得する。発信端末100aは、確認情報を取得した場合、スピーカ104から確認情報を発話する。発信端末100aの所有者は、確認した内容を許可する旨の文言を発話する。文言は予め定められる。発信端末100aは、発話された文言を受け付ける。
情報処理装置300aは、サーバ、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ又はウェアラブルデバイス等の情報処理装置である。情報処理装置300aは、発信端末100aと表示装置700との対応付けを行う。情報処理装置300aは、発信端末100aのユーザから管理処理を行うことに対する許可を求める音声を発信端末100aに出力させる。情報処理装置300aは、許可に基づいて管理処理を行う。
表示装置700は、テレビ、デジタルサイネージ、VR(Virtual Reality)ゴーグル又はディスプレイ等の表示装置である。表示装置700は、情報処理装置300aによって送信された確認情報を表示する。表示装置700に表示される確認情報とは、例えば、生成された予定情報を表す画像であってもよいし、削除される予定情報を表す画像であってもよい。表示装置700は、例えば、発信端末100aの使用者によって視認することができる場所に設けられる。
図13は、情報処理装置300aの機能構成を表す機能ブロック図である。情報処理装置300aは、制御部305の代わりに制御部305aを備える点で第1の実施形態と異なるが、それ以外の点については、第1の実施形態における情報処理装置300と同じである。以下、第1の実施形態と異なる点について説明する。
制御部305aは、情報処理装置300aの各部の動作を制御する。制御部305aは、例えばCPU等のプロセッサ及びRAMを備えた装置により実行される。制御部305aは、情報処理プログラムを実行することによって、通信制御部306、通話中継部307、文字列生成部308、管理対象決定部309、予定情報生成部310、管理処理部311及び確認処理部312として機能する。
確認処理部312は確認情報を生成する。確認情報は、発信端末100aの使用者に予定の確認を促す内容を含む情報である。確認処理部312は、確認情報を発信端末100aと発信端末100aに対応付けられた表示装置700とに送信する。発信端末100aに送信される確認情報は、第一の確認情報という。第一の確認情報は音声信号を含む。表示装置700に送信される確認情報は第二の確認情報という。第二の確認情報は画像を含む。
確認処理部312は、第一の管理処理を行うと判定された場合、生成された予定情報に基づいて確認情報を生成する。具体的には、確認処理部312は、生成された予定情報に含まれる項目と項目値と行われる管理処理とを発話する音声を含む第一の確認情報を生成する。例えば、以下の場合における第一の通知手段について説明する。管理手段が「カレンダー」である。生成された予定情報の項目は、日付、時刻、人数、人名、メニューである。生成された予定情報の項目値は、2018/08/04、18:00、2、スズキ、松である。この場合、発信端末100aは、「8月2日、18時、2名、スズキ、松、をカレンダーに登録します。よろしいですか?」という音声を発話する。また、確認処理部312は、生成された予定情報に含まれる項目と項目値と行われる管理処理の内容とを表す画像を含む第二の確認情報を生成する。
確認処理部312は、管理対象決定部309によって既存の予定を変更する第二の管理処理を行うと判定された場合、生成された予定情報に基づいて確認情報を生成する。具体的には、確認処理部312は、生成された予定情報に含まれる項目と項目値と行われる管理処理とを発話する音声を含む第一の確認情報を生成する。例えば、以下の場合における第一の通知手段について説明する。管理手段が「カレンダー」である。予定情報の項目は、日付、時刻、人数、人名、メニューである。生成された予定情報の項目値は、2018/08/04、18:00、2、スズキ、松である。管理対象決定部309によって決定された予定情報の項目値は、2018/08/02、18:00、2、スズキ、松である。この場合、発信端末100aは、「8月2日、18時、2名、スズキ、松の予定を、8月4日、18時、2名、スズキ、松に変更してカレンダーに登録します。よろしいですか?」という音声を発話する。また、確認処理部312は、予定情報に含まれる項目と生成された予定情報に含まれる項目値と決定された予定情報に含まれる項目値と行われる管理処理の内容とを表す画像を含む第二の確認情報を生成する。
確認処理部312は、既存の予定を変更する第二の管理処理を行うと判定されなかった場合、管理対象決定部309によって決定された予定情報に基づいて確認情報を生成する。具体的には、確認処理部312は、決定された予定情報に含まれる項目と項目値と行われる管理処理とを発話する音声を含む第一の確認情報を生成する。例えば、以下の場合における第一の通知手段について説明する。管理手段が「カレンダー」である。予定情報の項目は、日付、時刻、人数、人名、メニューである。管理対象決定部309によって決定された予定情報の項目値は、2018/08/02、18:00、2、スズキ、松である。この場合、発信端末100aは、「8月2日、18時、2名、スズキ、松の予定をカレンダーから削除します。よろしいですか?」という音声を発話する。また、確認処理部312は、管理対象決定部309によって決定された予定情報に含まれる項目と予定情報に含まれる項目値と行われる管理処理と表す画像を含む第二の確認情報を生成する。
確認処理部312は、生成された第一の確認情報を発信端末100aに送信する。確認処理部312は、生成された第二の確認情報を発信端末100aに対応付けられた表示装置700に送信する。確認処理部312は、第一の確認情報と第二の確認情報とを送信した後に、発信端末100aから「はい」又は「OK」等の許可を表す音声を受け付けた場合、管理処理部311は、管理処理を行う。
以下、発信端末100aと表示装置700との対応付けの具体例について説明する。第1の具体例として、確認処理部312は、発信端末100aの個人識別子と表示装置700のIPアドレスとを対応付けた対応情報を保持していてもよい。この場合、確認処理部312は、取得された個人識別子を保持する対応情報を特定する。確認処理部312は、特定された対応情報から、表示装置700のIPアドレスを取得する。確認処理部312は、取得されたIPアドレスに対して、第二の確認情報を送信する。なお、個人識別子は、発信端末100aに予め記録されていてもよい。個人識別子は、発信端末100aによって公知の手法で識別されてもよい。公知の手法とは、例えば、音声認識であってもよい。
第2の具体例として、確認処理部312は、発信端末100aのIPアドレスと表示装置700のIPアドレスとを対応付けた対応情報を保持していてもよい。この場合、通信制御部306は、発信端末100aから、発信端末100aのIPアドレスを取得する。確認処理部312は、取得されたIPアドレスを発信端末100aのIPアドレスとして保持する対応情報を特定する。確認処理部312は、特定された対応情報から、表示装置700のIPアドレスを取得する。確認処理部312は、取得されたIPアドレスに対して、第二の確認情報を送信する。なお、発信端末100aと表示装置700との対応付けはこれらに限定されない。発信端末100aから得られる情報に基づいて、表示装置700が特定できるならばどのような手法が用いられてもよい。なお、発信端末100aと表示装置700との対応付けは、予め確認処理部312に記録される。
第3の具体例として、発信端末100aと表示装置700とが、同一のネットワークアドレスを持つIPネットワークで接続されていたり、アドホック通信等によって直接通信可能に構成されていてもよい。この場合、確認処理部312は、第二の確認情報を表示装置700に送信せずに、発信端末100aに送信するように構成されてもよい。この場合、第二の確認情報は、発信端末100aによって表示装置700に表示される。
図14は、表示装置700に表示される第二の確認情報の具体例を示す図である。図14は、第一の管理処理を行うと判定された場合に、表示装置700に表示される第二の確認情報である。図14によると、表示装置700に表示される画像情報は、領域701、領域702及び領域703を含む。
領域701は、生成された予定情報の項目と項目値とが表示される領域である。生成された予定情報の項目は、日付、時刻、人数、人名、メニューであり、生成された予定情報の項目値は、2018/08/04、18:00、2、スズキ、松であることがわかる。
領域702は、管理処理の内容が表示される領域である。領域702によると、管理処理として、新しい予定が登録されることがわかる。領域703は、発信端末100aの所有者が、次に発話する音声を示す領域である。「はい」が発話されると、管理処理部311は、管理処理を実行する。「いいえ」が発話されると、管理処理部311は、管理処理を実行しない。発信端末100aの所有者は、領域703を確認することで、次にどのような言葉を発話すればよいのか容易に知ることができる。
図15は、情報処理装置の管理処理の流れの一具体例を示すフローチャートである。なお、ステップS101〜ステップS113までは、図8と同じであるため説明を省略する。含まれる文言が「変更」である場合(ステップS107:YES)、確認処理部312は、生成された予定情報に基づいて確認情報を生成する。確認処理部312は、生成された確認情報を発信端末100a及び表示装置700に送信する(ステップS501)。確認処理部312は、発信端末100aから「はい」又は「OK」等の許可を表す音声を受け付ける(ステップS502)。
含まれる文言が「変更」ではない場合(ステップS107:NO)、確認処理部312は、決定された予定情報に基づいて確認情報を生成する。確認処理部312は、生成された確認情報を発信端末100a及び表示装置700に送信する(ステップS503)。確認処理部312は、発信端末100aから「はい」又は「OK」等の許可を表す音声を受け付ける(ステップS504)。
管理対象決定部309が予定情報を決定できなかった場合(ステップS104:NO)又は、所定の文言が含まれない場合(ステップS106:NO)、確認処理部312は、生成された予定情報に基づいて確認情報を生成する。確認処理部312は、生成された確認情報を発信端末100a及び表示装置700に送信する(ステップS505)。確認処理部312は、発信端末100aから「はい」又は「OK」等の許可を表す音声を受け付ける(ステップS506)。
このように構成された情報処理システム2では、予定情報生成部310が発信端末100aと着信端末200との通話中の内容を表す文字列に基づいて、発信端末100aの使用者の予定を表す予定情報を生成する。確認処理部312は、生成された予定情報に基づいて、発信端末100aの使用者に予定の確認を促す確認情報を生成する。確認処理部312は、確認情報を発信端末100a又は表示装置700に送信する。発信端末100aの使用者は、確認情報を確認する。発信端末100aの使用者は、確認した内容を許可する(例えば、発信端末100aに対して定められた文言を発話する)。管理処理部311は、許可を受け付けた場合に、予定を管理する。したがって、管理処理部311は、誤った予定をスケジュール管理ツールへ登録したり、誤った予定を電子メールで送信したりする可能性を抑制することが可能となる。
なお、第2の実施形態の情報処理システム2では、表示装置700を備えるものとして説明をした。しかし、表示装置700を備えないように構成されてもよい。この場合、確認処理部312は、確認情報として第一の確認情報のみを生成する。確認処理部312は、第一の確認情報を発信端末100aに送信する。
本実施形態では、発信端末100、着信端末200、情報処理装置300及び予定管理装置400は各1台の装置であるとして説明したが、複数の装置で構成されてもよい。発信端末100、着信端末200、情報処理装置300及び予定管理装置400は、クラウドコンピューティングシステムによって構成されてもよい。また、情報処理装置300及び予定管理装置400は、それぞれの機能をすべて有する1台の装置として構成されてもよい。
上述した実施形態における音声取得部108、音声出力部109、ユーザ情報生成部110、通話機能部111、通話中継部307、文字列生成部308、管理対象決定部309、予定情報生成部310、管理処理部311、確認処理部312をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。