[本技術を適用した情報処理システムの一実施の形態]
図1は、本技術を適用した情報処理システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)の一実施の形態の構成例を示す図である。
図1において、情報処理システムは、携帯端末11及び12を有する。
携帯端末11及び12は、例えば、携帯電話機や、スマートフォン、タブレット端末等である。
なお、本実施の形態では、携帯端末11及び12は、例えば、メール(電子メール)をやりとりするメール機能を、少なくとも有することとする。
図2は、図1の情報処理システムの処理の概要を説明する図である。
携帯端末11のユーザAが、携帯端末11を操作することにより、例えば、携帯端末12のユーザB宛に送信するメールを作成した場合に、メールに、曖昧語(曖昧表現)が含まれているときには、携帯端末11において、メールに含まれる曖昧語が、その曖昧語が表す程度の具体的数値としての、ユーザAが想定しているであろう具体的数値に変換される。
そして、携帯端末11では、メールに含まれる曖昧語から得られた(曖昧語から変換された)具体的数値が、メールに追加され(あるいは、曖昧語と置換され)、メールが送信される。
図2では、ユーザAが、ユーザB宛に、曖昧語「少し」を含むメール(メッセージ)「少し遅れるかも」を送信しているが、その際、携帯端末11において、曖昧語「少し」が、ユーザAが想定している具体的数値である「15分」に変換され、メールに追加されている。
したがって、メールを受け取ったユーザBは、メールに含まれる曖昧語「少し(遅れる)」の程度が、「15分」であることを認識することができ、ユーザBが、曖昧語「少し」を、例えば、「5分」等の、ユーザAが想定する15分と大きく異なる時間に想定してしまうことによるミスコミュニケーションを防止することができる。
[携帯端末11の構成例]
図3は、図1の携帯端末11の構成例を示すブロック図である。
図3において、携帯端末11は、辞書記憶部21、曖昧語DB22、タスクDB23、相手クラスDB24、目的DB25、重要度DB26、位置情報DB27、制御部31、ユーザI/F32、メール記憶部33、自然言語解析部34、曖昧語検出部35、タスク判定部36、相手クラス判定部37、目的推定部38、重要度判定部39、数値変換部40、識別器記憶部41、送受信部42、位置検出部43、タスク達成判定部44、学習データ生成部45、学習データ記憶部46、及び、学習部47を有する。
そして、制御部31ないし学習部47は、バスを介して相互に接続されており、必要なデータ(情報)をやりとりすることができるようになっている。
辞書記憶部21は、自然言語解析部34が行う自然言語解析で参照される、例えば、単語辞書や、文法等の辞書を記憶している。
曖昧語DB22は、曖昧語検出部35が行う曖昧語の検出で参照される曖昧語情報を記憶している。
タスクDB23は、タスク判定部36が行うタスクの判定で参照されるタスク情報を記憶している。
相手クラスDB24は、相手クラス判定部37が行う相手クラスの判定で参照される相手クラス情報を記憶している。
目的DB25は、目的推定部38が行う目的の推定で参照される目的情報を記憶している。
重要度DB26は、重要度判定部39が行う重要度の判定で参照される重要度情報を記憶している。
位置情報DB27は、タスク達成判定部44が行うタスクが達成されたかどうかの判定で参照される位置情報を記憶している。
制御部31は、バスに接続されている各ブロックとしてのユーザI/F32ないし学習部47を制御する。
ユーザI/F32は、ユーザが操作可能な操作部(図示せず)や、ユーザに提示する情報を表示する表示部(図示せず)等を有する。
ユーザは、ユーザI/F32(の操作部)を操作することにより、例えば、メールの作成やコマンドの入力等を行うことができる。また、例えば、ユーザI/F32を操作することにより作成されたメールや、携帯端末11で受信されたメール、その他の必要な情報は、ユーザI/F32(の表示部)で表示される。
メール記憶部33は、ユーザがユーザI/F32を操作することにより作成(して送信)したメールや、送受信部42で受信されたメールを記憶する。また、メール記憶部33は、その他、メール機能で必要な情報(例えば、アドレス帳)を記憶する。
自然言語解析部34は、辞書記憶部21に記憶された辞書を参照し、メール記憶部33に記憶されたメールについて、形態素解析や構文解析等の自然言語解析を行う。
曖昧語検出部35は、曖昧語DB22に記憶された曖昧語情報や、自然言語解析部34によるメールの自然言語解析の結果を参照し、メール記憶部33に記憶された、ユーザがユーザI/F32を操作することにより作成したメールから、曖昧語を検出する。
タスク判定部36は、タスクDB23に記憶されたタスク情報や、自然言語解析部34によるメールの自然言語解析の結果から、ユーザがユーザI/F32を操作することにより作成したメールに含まれる、曖昧語検出部35で検出された曖昧語が係る係り先に関係するタスクを判定する。
相手クラス判定部37は、相手クラスDB24に記憶された相手クラス情報や、自然言語解析部34によるメールの自然言語解析の結果から、タスク判定部36で得られたタスクの相手(対象)のカテゴリである相手クラスを判定する。
目的推定部38は、目的DB25に記憶された目的情報や、自然言語解析部34によるメールの自然言語解析の結果から、タスク判定部36で得られたタスクの目的を推定する。
重要度判定部39は、重要度DB26に記憶された重要度情報や、自然言語解析部34によるメールの自然言語解析の結果を参照し、相手クラス判定部37で得られたタスクの相手クラスや、目的推定部38で得られたタスクの目的に基づいて、タスクの重要度を判定する。
数値変換部40は、識別器記憶部41に記憶された識別器に対して、曖昧語検出部35で検出された曖昧語を、重要度判定部39で得られたタスクの重要度とともに入力として与えることにより、その曖昧語を、具体的数値に変換する。
識別器記憶部41は、タスクの重要度と曖昧語とを入力として、曖昧語が表す程度に対応する具体的数値を出力する識別器を記憶する。
識別器としては、例えば、マルチクラスSVM(Support Vector Machine)や、ニューラルネットワーク、線形回帰モデル、その他の任意の関数を採用することができる。
送受信部42は、ユーザがユーザI/F32を操作することにより作成したメールを送信する。また、送受信部42は、携帯端末12(図1)等から送信されてくる、携帯端末11のユーザA宛のメールを受信する。
位置検出部43は、例えば、GPS(Global Positioning System)センサで構成され、携帯端末11の現在位置としての緯度及び経度を検出する。
タスク達成判定部44は、位置情報DB27に記憶された位置情報や、位置検出部43で検出された現在位置から、タスク判定部36で得られたタスクが達成された(完了した)かどうかを判定する。
学習データ生成部45は、タスク達成判定部44においてタスクが達成されたと判定されたことに対応して、識別器の学習(更新)に用いる学習データを生成する。
学習データ記憶部46は、学習データ生成部45で生成された学習データを記憶する。
学習部47は、学習データ記憶部46に記憶された学習データを用いて、識別器記憶部41に記憶された識別器の学習(更新)を行う。
図4は、図3の携帯端末11の処理の概要を説明する図である。
携帯端末11では、曖昧語検出部35において、ユーザの入力情報としての、例えば携帯端末11のユーザAが作成したメールから、程度が曖昧な曖昧語が検出される。
さらに、携帯端末11では、タスク判定部36において、ユーザの入力情報としての、例えば、メール記憶部33に記憶されたメールから、曖昧語が係る係り先に関係するタスクが判定され、重要度判定部39において、そのタスクの重要度が判定される。
そして、携帯端末11では、数値変換部40において、識別器記憶部41に記憶された識別器に対して、曖昧語を、重要度とともに入力として与えることにより、曖昧語が、具体的数値に変換される。
例えば、いま、携帯端末11のユーザAと、携帯端末12のユーザBとの間で、図4に示すようなメールM#1及びM#2のやりとりが行われたとする。
メールM#1は、2011年1月11日に、ユーザA(の携帯端末11)から送信され、ユーザB(の携帯端末12)が受信したメールであり、翌日の1月12日の(午後)2時に、新宿のアルタ前での待ち合わせを提案するメッセージ「んじゃ明日は2時にアルタ前で待ち合わせということで!」が記述されている。
メールM#2は、2011年1月11日に、ユーザBから送信され、ユーザAが受信した、メールM#1に対する返信のメールであり、メールM#1による待ち合わせの提案を了承するメッセージ「りょーかい」が記述されている。
メールM#3は、待ち合わせ当日である2011年1月12日の13時45分に、ユーザAから送信され、ユーザBが受信したメールであり、待ち合わせの時刻(2時)に遅れることを連絡するメッセージ「ちょっと遅れるかもー(約9分±3分)」が記述されている。
すなわち、例えば、ユーザAが、待ち合わせ当日である2011年1月12日の13時45分頃に、渋谷にいて、新宿のアルタでの待ち合わせの時刻である14時(午後2時)に間に合いそうにないため、ユーザAが、携帯端末11のユーザI/F32を操作して、ユーザB宛に、メッセージ「ちょっと遅れるかもー」を本文とするメールM#3を作成したとする。
この場合、携帯端末11では、曖昧語検出部35において、ユーザAが作成したメールM#3(の本文「ちょっと遅れるかもー」)から、曖昧語「ちょっと」が検出される。
さらに、携帯端末11では、タスク判定部36において、メールM#3、さらには、必要に応じて、そのメールM#3に関連するメールである関連メール、すなわち、例えば、メールM#3の宛先であるユーザBとの間でやりとりしたメールM#1及びM#2から、曖昧語「ちょっと」が係る係り先「遅れるかもー」に関係するタスクが、待ち合わせ(集合)のタスク(待ち合わせタスク)であることが判定される。
また、重要度判定部39において、メールM#3等から判定された待ち合わせタスクの重要度が判定される。
そして、携帯端末11では、数値変換部40において、識別器記憶部41に記憶された識別器に対して、曖昧語「ちょっと」を、重要度判定部39で求められた待ち合わせタスクの重要度とともに入力として与えることにより、待ち合わせの時刻に遅れる時間の程度を表す曖昧語「ちょっと」が、具体的数値である「9分」に変換される。
さらに、制御部31において、ユーザAが作成したメールM#3に、曖昧語「ちょっと」を変換した具体的数値「9分」が追加され、その具体的数値「9分」が追加されたメールM#3が、送受信部42から送信される。
ここで、図4では、メールM#3に、曖昧語「ちょっと」を変換した具体的数値「9分」、すなわち、待ち合わせの時刻に遅れる具体的な時間「9分」とともに、その時間のマージンとしてのマージン時間「±3分」も記述されている。
以上のように、携帯端末11では、ユーザAが作成したメールM#3に、曖昧語「ちょっと」を変換した具体的数値「9分」が追加されるので、メールM#3を見たユーザBは、待ち合わせの時刻に遅れる時間の程度を表す曖昧語「ちょっと」が、具体的に、9分程度であることを認識することができ、ユーザAとBとの間で、ミスコミュニケーションが生じることを防止することができる。
なお、ユーザAからのメールM#3を受信するユーザBの携帯端末12は、一般的なメール機能を有していればよく、携帯端末11と同様に構成されている必要はない(但し、携帯端末11と同様に構成されていてもよい)。
図5は、図3の曖昧語DB22に記憶されている曖昧語情報の例を示す図である。
曖昧語情報では、曖昧語としての単語(単語表記)と、その曖昧語の意味クラス、及び、係り先キーワードとが対応付けられている。
曖昧語情報において、曖昧語の意味クラスは、曖昧語の意味を分類するクラスであり、曖昧語の係り先キーワードは、その曖昧語が係る係り先となり得る単語である。
曖昧語検出部35では、例えば、自然言語解析部34によるメールの自然言語解析の結果を用いて、メールを構成する単語の中から、表記と意味とが、曖昧語情報が有する単語表記と意味クラスにマッチする単語を、曖昧語の候補として検出する。
曖昧語検出部35は、メールから、曖昧語の候補を検出することができた場合、その曖昧語の候補がマッチする単語表記と意味クラスを有する曖昧語情報(以下、マッチ曖昧語情報ともいう)が有する係り先キーワードが、メールにおいて、曖昧語の候補の係り先として存在するかどうかを判定する。
マッチ曖昧語情報が有する係り先キーワードが、メールにおいて、曖昧語の候補の係り先として存在しない場合、曖昧語検出部35は、メールには、曖昧語がないと認識する。
また、マッチ曖昧語情報が有する係り先キーワードが、メールにおいて、曖昧語の候補の係り先として存在する場合、曖昧語検出部35は、曖昧語の候補を、メールに含まれる曖昧語として検出(認識)する。
例えば、メールに、メッセージ「ちょっと遅れるかもー」が記述されている場合、曖昧語検出部35では、メールから、「ちょっと」が、曖昧語の候補として検出される。
メッセージ「ちょっと遅れるかもー」が記述されているメールにおいて、曖昧語の候補「ちょっと」の係り先は、単語「遅れる」であり、単語「遅れる」は、図5において、「ちょっと」の係り先キーワードに存在する。
この場合、曖昧語検出部35では、メールから、「ちょっと」が、曖昧語として検出される。
図6は、図3のタスクDB23に記憶されているタスク情報の例を示す図である。
タスク情報では、キーワードと、条件カテゴリとが対応付けられている。
タスク情報において、キーワードは、曖昧語検出部35で検出された曖昧語が係る係り先に関係するタスクを判定するのに用いられる単語であり、条件カテゴリは、キーワードの属性を表す。
タスク判定部36では、曖昧語検出部35で曖昧語が検出されたメール(以下、検出メールともいう)、さらには、必要に応じて、検出メールに関連する関連メールから、タスク情報が有するキーワードを抽出し、そのキーワードの条件カテゴリに基づいて、曖昧語が係る係り先に関係するタスクを判定する。
すなわち、タスク判定部36は、各タスクについて、条件カテゴリのテンプレートを有している。
例えば、待ち合わせタスクについては、テンプレート「日時:場所:目的:」が用意されており、タスク判定部36は、検出メール、及び、関連メールから、(待ち合わせの)日時を表す条件カテゴリのキーワード、(待ち合わせの)場所を表す条件カテゴリのキーワード、及び、目的を表す条件カテゴリのキーワードの抽出を試みる。
例えば、いま、検出メールが、図4のメールM#3である場合、タスク判定部36では、そのメールM#3、及び、関連メールであるメールM#1及びM#2から、日時を表す条件カテゴリのキーワードとして、待ち合わせの日時である「(2011年)1月12日の14時(午後2時)」が抽出され、場所を表す条件カテゴリのキーワードとして、待ち合わせの場所である「(新宿の)アルタ」が抽出される。
タスク判定部36は、キーワードを抽出すると、そのキーワードを、テンプレートに埋め込む。いまの場合、キーワードが、テンプレート「日時:場所:目的:」に埋め込まれることにより、テンプレート「日時:1月12日の14時,場所:「新宿アルタ」,目的:特になし」が得られる。
待ち合わせタスクのテンプレート「日時:場所:目的:」について、少なくとも、「日時」と「場所」に、キーワードが埋め込まれると、タスク判定部36では、検出メールから検出された曖昧語が係る係り先に関係するタスクが、待ち合わせタスクであると判定される。
図7は、相手クラスDB24に記憶されている相手クラス情報の例を示す図である。
相手クラス情報では、人物IDと相手クラスとが対応付けられている。
相手クラス情報において、人物IDは、人物(ここでは、メールの宛先となる相手)を特定する情報であり、例えば、その人物の名前等を採用することができる。相手クラスは、人物IDによって特定される人物のカテゴリ(クラス)を表す。
相手クラス情報は、例えば、ユーザに、手動で入力してもらうことができる。
具体的には、例えば、メール機能のアドレス帳に登録されている名前を、人物IDとして採用し、各人物IDによって特定される人物の相手クラスを、ユーザに、手動で入力してもらうことができる。
ここで、人物IDによって特定される人物は、その人物宛のメールの文体の情報としての、例えば、敬語の使用率等や、メールのやりとりの頻度(親しさ)等を尺度にクラスタリングすることが可能であり、そのクラスタリングによるクラスタリング結果を、相手クラスとして採用することが可能である。
また、ユーザが手動で入力した相手クラスは、上述のようなクラスタリングによるクラスタリング結果に応じて補正することが可能である。
相手クラス判定部37では、相手クラス情報において、例えば、検出メールの宛先になっている相手の人物IDに対応付けられている相手クラス(例えば、「(親しい)友人」等)が、タスク判定部36で得られたタスクの相手(対象)の相手クラスであると判定される。
なお、携帯端末11において、相手クラスを判定するのは、検出メールの宛先になっている相手によって、言葉の重みが変わるであろうという仮説に基づく。
すなわち、例えば、同一のメッセージ「少し長引きます」のメールであっても、会社の上司へのメールと、親しい友人へのメールとでは、そのメールに含まれる曖昧語「少し」が表す程度の具体的数値が異なると予想される。そこで、携帯端末11では、同一のフレーズであっても、相手クラスによって、そのフレーズに含まれる曖昧語が表す程度の具体的数値として、異なる数値を得ることができるように、相手クラスが判定される。
図8は、目的DB25に記憶されている目的情報の例を示す図である。
目的情報では、キーワードと、そのキーワードが表す目的のカテゴリ(目的カテゴリ)とが対応付けられている。
目的推定部38では、例えば、検出メール、及び、関連メールから、目的情報が有するキーワードが抽出され、キーワードが抽出されるごとに、そのキーワードに対応付けられている目的カテゴリの出現頻度がカウントアップされる。
そして、目的推定部38では、目的カテゴリの出現頻度に基づき、例えば、出現頻度が最も高い目的カテゴリが、タスク判定部36で得られたタスクの目的として推定される。
なお、すべての目的カテゴリの出現頻度が0回である場合、タスクの目的はない(「目的:特に無し」)と推定される。
また、タスクの目的の推定の方法としては、上述したようなキーワードに対応付けられている目的カテゴリの出現頻度をカウントする方法の他、大量のメールをマイニングし、SVMなどの機械学習の手法を用いて識別器を生成し、クラスタリングをするなどする方法を採用することができる。
ここで、携帯端末11において、タスクの目的を推定するのは、タスクの目的によって、曖昧語が表す程度(尺度)が変わるであろうという仮説に基づく。
すなわち、例えば、同一の友人を宛先とする、同一のメッセージ「ちょっと遅れる」のメールであっても、買い物を目的とするときのメールと、時間が決まっている映画やコンサートを目的とするメールとでは、そのメールに含まれる曖昧語「ちょっと」が表す程度の具体的数値が異なると予想される。そこで、携帯端末11では、同一のフレーズであっても、タスクの目的によって、そのフレーズに含まれる曖昧語が表す程度の具体的数値として、異なる数値を得ることができるように、タスクの目的が推定される。
図9は、重要度DB26に記憶されている重要度情報の例を示す図である。
重要度情報では、カテゴリと、そのカテゴリの重要度とが対応付けられている。
ここで、重要度情報が有するカテゴリには、少なくとも、タスクの目的と、タスクの相手クラスとが含まれる。
また、図9の重要度情報では、カテゴリには、キーワードが含まれている。
重要度判定部39では、重要度情報において、相手クラス判定部37で得られた相手クラスに一致するカテゴリに対応付けられている重要度(以下、相手クラスの重要度ともいう)、及び、目的推定部38で得られた目的に一致するカテゴリに対応付けられている重要度(以下、目的の重要度ともいう)を検出する。
そして、重要度判定部39では、相手クラスの重要度と、目的の重要度とを加算し、その結果得られる加算値を、タスク判定部36で得られたタスクの重要度に判定する。
なお、重要度判定部39では、その他、例えば、相手クラスの重要度と、目的の重要度とのそれぞれに係数(重み)を乗算して、線形結合し、その線形結合の結果を、タスクの重要度に判定することができる。
また、重要度判定部39では、重要度情報が有するカテゴリとしてのキーワードを、検出メール、及び、関連メールから抽出し、重要度情報において、検出メール、及び、関連メールから抽出することができたカテゴリとしてのキーワードに対応付けられている重要度を、相手クラスの重要度や、目的の重要度と同様に用いて、タスクの重要度の判定を行うことができる。
タスクの重要度は、例えば、待ち合わせタスクであれば、ユーザが、待ち合わせの時刻に遅れてはいけないと意識する(であろう)レベルに相当する。
図10は、位置情報DB27に記憶されている位置情報の例を示す図である。
位置情報では、場所を表すキーワードと、そのキーワードが表す場所の緯度及び経度とが対応付けられている。
タスク達成判定部44は、例えば、待ち合わせタスクについて、待ち合わせの場所の緯度及び経度を、位置情報を参照することで認識する。
そして、タスク達成判定部44は、位置検出部43で検出される現在位置としての緯度及び経度と、待ち合わせの場所の緯度及び経度とに基づいて、現在位置と待ち合わせ場所との距離を求め、その距離が、所定の閾値THメートル以内であれば、待ち合わせタスクが達成された(完了した)と判定する。
[携帯端末11の処理]
図11は、図3の携帯端末11の処理を説明するフローチャートである。
ステップS11において、制御部31は、ユーザAから、メールの入力があったかどうか、すなわち、ユーザAが、ユーザI/F32を操作することにより、メールを作成し、さらに、そのメールを送信するように、ユーザI/F32を操作したかどうかを判定する。
ステップS11において、ユーザAから、メールの入力がなかったと判定された場合、処理は、ステップS11に戻る。
また、ステップS11において、ユーザAから、メールの入力があったと判定された場合、制御部31は、そのユーザAからのメールを、メール記憶部33に記憶させて、処理は、ステップS12に進む。
ここで、メール記憶部33には、ユーザAから入力されたメールの他、送受信部42で受信された、ユーザA宛のメールも記憶される。
ステップS12では、自然言語解析部34は、直前に、メール記憶部33に記憶された、ユーザAから入力されたメールを、注目する注目メールとして、その注目メールの自然言語解析を行い、処理は、ステップS13に進む。
ステップS13では、曖昧語検出部35は、曖昧語DB22に記憶された曖昧語情報(図5)や、自然言語解析部34による注目メールの自然言語解析の結果を参照することにより、注目メールから、曖昧語を検出して、処理は、ステップS14に進む。
ステップS14では、制御部31は、曖昧語検出部35において、注目メールから、曖昧語が検出されたかどうかを判定する。
ステップS14において、注目メールから、曖昧語が検出されなかったと判定された場合、すなわち、注目メールに、曖昧語が含まれていないか、又は、曖昧語が含まれていても、その曖昧語の係り先がない場合、処理は、ステップS15に進み、送受信部42は、注目メールを(無線で)送信して、処理は、ステップS11に戻る。
したがって、注目メールから、曖昧語が検出されなかった場合、ユーザAが入力したメール(注目メール)は、そのまま送信される。
一方、ステップS14において、注目メールから、曖昧語が検出されたと判定された場合、処理は、ステップS16に進み、自然言語解析部34は、メール記憶部33に記憶されているメールのうちの、注目メールに関連する関連メールの自然言語解析を行う。
すなわち、自然言語解析部34は、メール記憶部33に記憶されたメールから、宛先や差出人が、注目メールの宛先に一致するメールや、件名が、注目メールの件名を含むメール等を、注目メールに関連する関連メールとして選択する。
そして、自然言語解析部34は、関連メールの自然言語解析を行って、処理は、ステップS16からステップS17に進む。
ステップS17では、タスク判定部36は、タスクDB23に記憶されたタスク情報(図6)や、自然言語解析部34による注目メール、及び、関連メールの自然言語解析の結果を参照することにより、注目メールの曖昧語(例えば、図4のメールM#3の「ちょっと」)の係り先(例えば、図4のメールM#3の「遅れる」)に関係するタスクを判定し、処理は、ステップS18に進む。
ステップS18では、制御部31は、タスク判定部36において、注目メールの曖昧語の係り先に関係するタスク(以下、関係タスクともいう)を判定することができたかどうかを判定する。
ステップS18において、関係タスクを判定することができなかったと判定された場合、処理は、ステップS15に進み、送受信部42は、注目メールを送信して、処理は、ステップS11に戻る。
したがって、関係タスクを判定することができなかった場合、ユーザAが入力したメール(注目メール)は、そのまま送信される。
一方、ステップS18において、関係タスクを判定することができたと判定された場合、処理は、ステップS19に進み、相手クラス判定部37は、相手クラスDB24に記憶された相手クラス情報(図7)等を参照することにより、関係タスクの相手クラスを判定し、処理は、ステップS20に進む。
ここで、以下では、説明を簡単にするため、関係タスクが、待ち合わせタスクであることとする。
ステップS20では、目的推定部38は、目的DB25に記憶された目的情報(図8)や、自然言語解析部34による注目メール、及び、関連メールの自然言語解析の結果を参照することにより、関係タスクである待ち合わせタスクの目的を推定し、処理は、ステップS21に進む。
ステップS21では、重要度判定部39は、重要度DB26に記憶された重要度情報(図)や、自然言語解析部34によるメールの自然言語解析の結果を参照することにより、関係タスクである待ち合わせタスクの相手クラスや目的等に基づいて、その待ち合わせタスクの重要度を判定して、処理は、ステップS22に進む。
ステップS22では、制御部31は、識別器記憶部41に記憶された識別器が、既に、学習済みであるかどうかを判定する。
ステップS22において、識別器記憶部41に記憶された識別器が、既に、学習済みであると判定された場合、処理は、ステップS23に進み、数値変換部40は、識別器記憶部41に記憶された識別器、曖昧語検出部35で検出された曖昧語、及び、重要度判定部39で得られた待ち合わせタスクの重要度を用いて、曖昧語検出部35で検出された曖昧語を、具体的数値に変換する。
すなわち、ステップS23では、数値変換部40は、識別器記憶部41に記憶された識別器に対して、曖昧語検出部35で検出された曖昧語を、重要度判定部39で得られた待ち合わせタスクの重要度とともに入力として与えることにより、その曖昧語を変換した具体的数値を、識別器の出力として得る。
そして、制御部31は、数値変換部40で得られた具体的数値を、メール記憶部33に記憶された注目メールに追加することにより反映し、処理は、ステップS23からステップS24に進む。
ステップS24では、送受信部42は、注目メールを送信して、処理は、ステップS25に進む。
この場合、ユーザAが入力したメール(注目メール)は、そのメールに含まれる曖昧語を変換した具体的数値が追加された状態で送信される。
一方、ステップS22において、識別器記憶部41に記憶された識別器が、学習済みでないと判定された場合、処理は、ステップS23をスキップして、ステップS24に進み、送受信部42は、注目メールを送信して、処理は、ステップS25に進む。
この場合、ユーザAが入力したメール(注目メール)は、そのまま送信される。
ステップS25では、タスク達成判定部44は、位置情報DB27に記憶された位置情報(図10)や、位置検出部43で検出されている現在位置を参照することにより、タスク判定部36で得られた待ち合わせタスクが達成されたかどうかを判定する。
ステップS25において、待ち合わせタスクが達成されていないと判定された場合、例えば、数秒待機して、処理は、ステップS25に戻る。
また、ステップS25において、待ち合わせタスクが達成されたと判定された場合、すなわち、例えば、待ち合わせタスクにおける待ち合わせの場所と、現在位置との距離が、所定の閾値THメートル以内であり、ユーザAが待ち合わせの場所に到着したとみなせる場合、処理は、ステップS26に進み、学習データ生成部45は、識別器記憶部41に記憶された識別器の学習(更新)に用いる学習データを生成する。
すなわち、学習データ生成部45は、待ち合わせタスクが達成された時刻から、待ち合わせタスクにおける待ち合わせの時刻を減算することにより、ユーザAが、待ち合わせの場所に到着するのに、実際に遅れた遅れ時間(以下、実遅延時間ともいう)を求める。
具体的には、例えば、待ち合わせの時刻(待ち合わせ時刻)が、14時(00分00秒)であり、ユーザAが待ち合わせの場所(待ち合わせ場所)に到着した時刻が、14時11分15秒であるとすると、実遅延時間としては、11分15秒(=14時11分15秒−14時)が求められる。
そして、学習データ生成部45は、注目メールから検出された曖昧語、待ち合わせタスクの重要度、及び、実遅延時間を、学習データとして、学習データ記憶部46に記憶させ、処理は、ステップS26からステップS27に進む。
ステップS27では、学習部47が、学習データ記憶部46に記憶された学習データを用いて、識別器記憶部41に記憶された識別器の学習(更新)を行い、処理は、ステップS11に戻る。
すなわち、学習部47は、学習データとしての曖昧語、待ち合わせタスクの重要度、及び、実遅延時間のうちの、曖昧語と、待ち合わせタスクの重要度とを、識別器の入力として与えるとともに、実遅延時間を、識別器の出力として与えて、識別器の学習を行う。
識別器としては、上述したように、例えば、マルチクラスSVMや、ニューラルネットワーク、線形回帰モデルを採用することができる。
識別器として、線形回帰モデルを採用する場合、例えば、曖昧語ごとに、線形回帰モデルを用意し、待ち合わせタスクの重要度の入力に対して、実遅延時間(に近い値)を、出力として得られるような線形回帰モデルの係数(待ち合わせタスクの重要度と係数との積和演算を行う線形一次式の係数)が求められる。
この場合、数値変換部40では、ステップS23において、注目メールから検出された曖昧語に対する線形回帰モデルが選択され、その線形回帰モデルに、待ち合わせタスクの重要度を入力として与えることによって、線形回帰モデル(としての線形一次式)の演算結果が、注目メールから検出された曖昧語に対する具体的数値として求められる。
また、識別器として、マルチクラスSVMや、ニューラルネットワークを採用する場合、マルチクラスSVMやニューラルネットワークの入力として、曖昧語、及び、待ち合わせタスクの重要度を用いるとともに、マルチクラスSVMやニューラルネットワークの出力として、実遅延時間を用いて、機械学習が行われる。
この場合、数値変換部40では、ステップS23において、注目メールから検出された曖昧語と、待ち合わせタスクの重要度とが、マルチクラスSVMやニューラルネットワークの入力として与えられ、その入力に対するマルチクラスSVMやニューラルネットワークの出力が、注目メールから検出された曖昧語に対する具体的数値として求められる。
なお、識別器に対する入力としては、曖昧語と、待ち合わせタスクの重要度の他、例えば、曖昧語DB22に記憶された曖昧語情報(図5)において、曖昧語と対応付けられている意味クラス等を用いることができる。
図12は、学習データ生成部45によって生成され、学習データ記憶部46に記憶される学習データの例を示す図である。
学習データ生成部45では、待ち合わせタスクが達成されるごとに、注目メールから検出された曖昧語、待ち合わせタスクの重要度、及び、実遅延時間からなる学習データが生成され、学習データ記憶部46に記憶される。
そして、そのような学習データを用いた識別器の学習(更新)が繰り返されることにより、ユーザAが使用する曖昧語について、頑健(ロバスト)で、正確な具体的数値を出力する識別器が構成されていく。
なお、識別器として、例えば、線形回帰モデルを採用する場合には、線形回帰モデルの出力と、学習データとして与えられる実遅延時間との差(誤差)の最大値や最小値を求めておき、その最大値や最小値を、図4で説明したマージン時間として用いることができる。
また、識別器として、例えば、マルチクラスSVMを採用する場合には、そのマルチクラスSVMのクラスの上限値と下限値を、図4で説明したマージン時間として用いることができる。
以上のように、携帯端末11では、ユーザから入力される入力情報としての注目メールから、曖昧語(例えば、「ちょっと」)が検出され、さらに、ユーザから入力される入力情報としての注目メールや関連メールから、曖昧語が係る係り先に関係する関係タスク(例えば、待ち合わせタスク)が判定される。
また、携帯端末11では、待ち合わせタスクの重要度が、待ち合わせタスクの相手クラスや目的等に基づいて判定され、待ち合わせタスクの完了(達成)に応じて、曖昧語「ちょっと」が表す程度に対応する具体的数値としての実遅延時間が求められる(生成される)。
そして、携帯端末11では、待ち合わせタスクの重要度、曖昧語、及び、具体的数値としての実遅延時間を用いて、識別器の学習が行われる。
したがって、識別器においては、曖昧語について、待ち合わせタスクの重要度、つまり、待ち合わせの相手や目的等の場合に応じて、ユーザが実際に遅れた時間(実遅延時間)が獲得される。
さらに、携帯端末11では、そのような識別器に対して、曖昧語を、待ち合わせタスクの重要度とともに入力として与えることにより、曖昧語を具体的数値に変換した値が求められる。
したがって、ユーザAの同一のフレーズに含まれる曖昧語であっても、場合によって、すなわち、例えば、待ち合わせの相手(例えば、仕事先の相手であるのか、友達であるのか)や、待ち合わせの目的(待ち合わせ時刻に遅れても問題ないような待ち合わせであるのかどうか)によって、曖昧語を、異なる値の具体的数値に、柔軟に変換することができ、ミスコミュニケーションを防止することができる。
また、特許文献1に記載の従来の対話支援装置では、曖昧語と、その曖昧語が表す程度の具体的数値の範囲とを対応付けた変換テーブルを、手作業で作成する必要があるが、携帯端末11では、待ち合わせタスクの重要度、曖昧語、及び、具体的数値としての実遅延時間を用いて、識別器の学習が行われるので、従来の対話支援装置のように、手作業で、変換テーブルを作成する必要がない。したがって、ユーザは、ミスコミュニケーションを容易に防止することができる。
さらに、識別器の学習が進行することにより(多数の学習データを用いた識別器の学習が行われることにより)、識別器において、様々な関係タスクについて、関係タスクの相手クラスや目的に対して、ユーザが使用する曖昧語が表す程度の具体的数値が獲得されるので、識別器による、曖昧語の具体的数値への変換の精度を向上させることができる。すなわち、ユーザが使用する曖昧語を、そのユーザが想定している具体的数値に、正確に変換することができる。
また、識別器は、タスクの重要度、曖昧語、及び、具体的数値が得られるたびに学習(更新)されるので、ユーザが、ある曖昧語について想定している具体的数値が、時間の経過(年齢の変化)に従って変化しても、その変化に追従した、曖昧語の具体的数値への変換を行うことができる。
さらに、識別器を用いることにより、例えば、「ちょっと待って」や、「あと少しで終わる」等の、行動(例えば、「待って」や「終わる」)に関する曖昧語を含むようなメッセージについて、手作業では、曖昧語が表す程度の具体的数値を、正確に入力することが困難な曖昧語を、比較的正確な具体的数値に変換することができる。
なお、上述の場合には、待ち合わせタスクの重要度を、その待ち合わせタスクの相手クラスと目的との両方に基づいて求めることとしたが、待ち合わせタスクの重要度は、その待ち合わせタスクの相手クラスだけや目的だけに基づいて求めることが可能である。
さらに、携帯端末12を、携帯端末11と同様に構成するとともに、携帯端末11での学習によって得られる、ユーザAが使用する曖昧語を具体的数値に変換する識別器(ユーザAの識別器)を、ユーザBの携帯端末12に提供(送信)し、携帯端末12において、ユーザAの識別器を用いて、ユーザAからのメールに含まれる曖昧語を、具体的数値に変換することが可能である。
また、携帯端末11において、識別器は、一つの関係タスクごとに用意することもできるし、複数の関係タスクごとに用意することもできる。
また、識別器は、標準的な識別器である標準識別器を、識別器記憶部41に記憶させておき、その標準識別器を、学習データを用いて更新していくことができる。
標準識別器は、例えば、インターネット等のネットワーク上のサーバにおいて、複数のユーザから、学習データを収集し、その学習データを用いて、識別器の学習を行うことで生成することができる。
ユーザAが、携帯端末11を購入した直後においては、識別器の学習が行われていないため、上述のように、ネットワーク上のサーバにおいて、標準識別器を生成し、携帯端末11において、その標準識別器をダウンロードすることで、携帯端末11の購入直後から、曖昧語の変換が可能となるホットスタートを実現することができる。
なお、ネットワーク上のサーバでは、ユーザを、ユーザのプロファイルによって、幾つかのカテゴリに分類し、カテゴリごとに、そのカテゴリに属するユーザからの学習データを用いて標準識別器を生成することができる。
この場合、ネットワーク上のサーバでは、携帯端末11に対して、その携帯端末11のユーザAのプロファイルから得られるユーザAのカテゴリの標準識別器を提供することができる。
[携帯端末11の他の構成例]
図13は、図1の携帯端末11の他の構成例を示すブロック図である。
なお、図13において、図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図13の携帯端末11は、辞書記憶部21ないし位置情報DB27、及び、制御部31ないし学習部47を有する点で、図3の場合と共通し、加速度センタ61、行動解析部62、行動ログ記憶部63、及び、数値補正部64を有する点で、図3の場合と相違する。
加速度センサ61は、携帯端末11(を所持するユーザA)の加速度を検出する。
行動解析部62は、位置検出部43で検出されるユーザAの現在地や、加速度センサ61で検出されるユーザAの加速度に基づいて、ユーザAの行動解析を行い、その行動解析の結果として、ユーザが、どのような行動をとっているかを表す行動情報を求める。
ここで、行動情報とは、例えば、ユーザAが、歩いている、走っている、電車に乗っている、自動車に乗っている等の情報である。
行動ログ記憶部63は、行動解析部62で得られる行動情報のログ(行動ログ)を記憶する。
数値補正部64は、数値変換部40において、曖昧語を変換することにより得られる具体的数値を用いて、数値補正を行う。
図14は、図13の携帯端末11の処理の概要を説明する図である。
いま、携帯端末11のユーザAが、新宿のアルタで、14時に、携帯端末12のユーザBと待ち合わせをしており、ユーザAが、電車で、待ち合わせ場所である新宿(のアルタ)に向かっているとする。
また、ユーザAが、渋谷駅を出発した電車内で、待ち合わせ時刻に遅れる旨のメッセージ「少し遅れる」を、13時55分にメールで、ユーザB宛に送信したとする。
この場合、図13の携帯端末11では、ユーザAがユーザB宛に送信したメールを、注目メールとして処理が行われる。
すなわち、携帯端末11では、行動解析部62において、加速度センサ61で検出されるユーザの加速度等から、ユーザAが電車に乗っていること、つまり、ユーザAの(現在の)移動手段が、電車であることが認識される。
さらに、携帯端末11では、行動解析部62が、位置検出部43で検出される現在位置と、ユーザAの移動手段が電車であること、及び、注目メールとその関連メールから認識される待ち合わせ場所である新宿(のアルタ)に基づき、待ち合わせ場所に到着するのに要する予測される予測所要時間を求める。
ここで、ユーザAが電車で移動している場合の予測所要時間は、例えば、インターネット上のサーバで提供されている、乗り換えの案内等を行う乗り換え案内API(Application Program Interface)に問い合わせること等によって求めることができる。
図14では、13分が、予測所要時間として求められている。
行動解析部62は、現在時刻に、予測所要時間を加算することで、待ち合わせ場所に到着すると予測される予測到着時刻を求める。
図14では、現在時刻である13時55分に、予測所要時間である13分を加算することで、14時08分が、予測到着時刻として求められる。
行動解析部62は、予測到着時刻から、待ち合わせ時刻を減算することで、待ち合わせ時刻に遅れる遅延時間の予測値である予測遅延時間を求める。
図14では、予測到着時刻である14時08分から、待ち合わせ時刻である14時を減算することで、8分が、予測遅延時間として求められる。
その後、ユーザAが、待ち合わせ場所に、14時05に、実際に到着したこととする。
ユーザAが、待ち合わせ場所に到着したかどうかは、図11で説明したように、タスク達成判定部44において、待ち合わせ場所と、現在位置との距離が、所定の閾値THメートル以内であるかどうかによって判定される。
ここで、ユーザAが、待ち合わせ場所に、実際に到着した時刻を、実到着時刻ともいう。
行動解析部62は、実到着時刻から、待ち合わせ時刻を減算することで、待ち合わせ時刻に、実際に遅れた時間である実遅延時間を求める。
図14では、実到着時刻である14時05分から、待ち合わせ時刻である14時を減算することで、5分が、実遅延時間として求められる。
行動解析部62は、実遅延時間から、予測遅延時間を減算することで、予測遅延時間を補正する補正値(の具体的数値)を求める。
図14では、実遅延時間である5分から、予測遅延時間である8分を減算することで、-3分が、予測遅延時間を補正する補正値として求められる。
また、図13の携帯端末11では、図3の場合と同様にして、ユーザAがユーザBに送信した13時55分のメール「少し遅れる」から、曖昧語「少し」が検出されるとともに、関係タスクが待ち合わせタスクであること、及び、待ち合わせタスクの重要度が求められる。
図13の携帯端末11では、以上のようにして、ユーザAの移動手段、予測遅延時間を補正する補正値、曖昧語「少し」、及び、待ち合わせタスクの重要度が求められると、学習部47において、識別器の学習(更新)が行われる。
なお、図3の携帯端末11では、曖昧語、及び、待ち合わせタスクの重要度を、識別器の入力とするとともに、具体的数値としての実遅延時間を、識別器の出力として、識別器の学習が行われるが、図13の携帯端末では、曖昧語、待ち合わせタスクの重要度、及び、ユーザAの移動手段を、識別器の入力とするとともに、具体的数値としての補正値を、識別器の出力として、識別器記憶部41に記憶された識別器の学習(更新)が行われる。
そして、図13の携帯端末11において、識別器の学習が行われた後、再び、図14で説明したような待ち合わせが、ユーザAとBとの間で行われた場合、上述した場合と同様にして、ユーザAの移動手段、予測遅延時間、曖昧語「少し」、及び、待ち合わせタスクの重要度が求められる。
そして、数値変換部40は、識別器記憶部41に記憶された識別器に対して、曖昧語、待ち合わせタスクの重要度、及び、ユーザAの移動手段を、入力として与えることにより、識別器が出力する、予測遅延時間を補正する補正値を求める。
そして、数値補正部64は、予測遅延時間に、数値変換部40で求められた補正値を加算することで、予測遅延時間を補正し、制御部31は、補正後の予測遅延時間(以下、補正遅延時間)を、曖昧語を変換した具体的数値として、メールに追加する。
[携帯端末11の処理]
図15は、図13の携帯端末11の処理を説明するフローチャートである。
図15では、ステップS51ないしS61において、図11のステップS11ないしS21とそれぞれ同様の処理が行われ、これにより、注目メールに含まれる曖昧語、関係タスクが待ち合わせタスクであること、及び、待ち合わせタスクの重要度が求められ、処理は、ステップS62に進む。
ステップS62では、行動解析部62が、ユーザAの行動解析を行うことにより、ユーザAの移動手段が求められる。さらに、行動解析部62は、図14で説明したようにして、予測遅延時間を求め、処理は、ステップS62からステップS63に進む。
ステップS63では、制御部31は、識別器記憶部41に記憶された識別器が、既に、学習済みであるかどうかを判定する。
ステップS63において、識別器記憶部41に記憶された識別器が、既に、学習済みであると判定された場合、処理は、ステップS64に進み、数値変換部40は、識別器記憶部41に記憶された識別器、注目メールに含まれる曖昧語、待ち合わせタスクの重要度、及び、ユーザAの移動手段を用いて、曖昧語を、予測遅延時間を補正する補正値の具体的数値に変換する。
すなわち、ステップS64では、数値変換部40は、識別器記憶部41に記憶された識別器に対して、注目メールに含まれる曖昧語を、待ち合わせタスクの重要度、及び、ユーザAの移動手段とともに入力として与えることにより、注目メールに含まれる曖昧語を補正値に変換した具体的数値を、識別器の出力として得る。
その後、処理は、ステップS64からステップS65に進み、数値補正部64は、行動解析部62によって求められた予測遅延時間を、数値変換部40で得られた補正値によって補正する。そして、制御部31は、数値補正部64が、予測遅延時間を補正値によって補正することにより得られる補正遅延時間(の具体的数値)を、メール記憶部33に記憶された注目メールに追加することにより反映し、処理は、ステップS65からステップS66に進む。
ステップS66では、送受信部42は、注目メールを送信して、処理は、ステップS67に進む。
この場合、ユーザAが入力したメール(注目メール)は、そのメールに含まれる曖昧語が補正遅延時間に変換された具体的数値が追加された状態で送信される。
一方、ステップS63において、識別器記憶部41に記憶された識別器が、学習済みでないと判定された場合、処理は、ステップS64及びS65をスキップして、ステップS66に進み、送受信部42は、注目メールを送信して、処理は、ステップS67に進む。
この場合、ユーザAが入力したメール(注目メール)は、そのまま送信される。
ステップS67では、タスク達成判定部44は、図11のステップS25と同様に、位置情報DB27に記憶された位置情報(図10)や、位置検出部43で検出されている現在位置を参照することにより、タスク判定部36で得られた待ち合わせタスクが達成されたかどうかを判定する。
ステップS67において、待ち合わせタスクが達成されていないと判定された場合、例えば、数秒待機して、処理は、ステップS67に戻る。
また、ステップS67において、待ち合わせタスクが達成されたと判定された場合、すなわち、例えば、待ち合わせタスクにおける待ち合わせの場所と、現在位置との距離が、所定の閾値THメートル以内であり、ユーザAが待ち合わせの場所に到着したとみなせる場合、処理は、ステップS68に進み、学習データ生成部45は、識別器記憶部41に記憶された識別器の学習(更新)に用いる学習データを生成する。
すなわち、学習データ生成部45は、待ち合わせタスクが達成された時刻から、待ち合わせタスクにおける待ち合わせの時刻を減算することにより、ユーザAが、待ち合わせの場所に到着するのに、実際に遅れた遅れ時間(実遅延時間)を求める。
さらに、学習データ生成部45は、実遅延時間から、行動解析部62が求めた予測遅延時間を減算することで、予測遅延時間を補正する補正値を求める。
そして、学習データ生成部45は、注目メールに含まれる曖昧語、待ち合わせタスクの重要度、ユーザAの移動手段、及び、補正値を、学習データとして、学習データ記憶部46に記憶させ、処理は、ステップS68からステップS69に進む。
ステップS69では、学習部47が、学習データ記憶部46に記憶された学習データを用いて、識別器記憶部41に記憶された識別器の学習(更新)を行い、処理は、ステップS51に戻る。
すなわち、学習部47は、学習データとしての曖昧語、待ち合わせタスクの重要度、ユーザAの移動手段、及び、補正値のうちの、曖昧語、待ち合わせタスクの重要度、及び、ユーザAの移動手段を、識別器の入力として与えるとともに、補正値を、識別器の出力として与えて、識別器の学習を行う。
図16は、図13の学習データ生成部45によって生成され、学習データ記憶部46に記憶される学習データの例を示す図である。
学習データ生成部45では、待ち合わせタスクが達成されるごとに、注目メールに含まれる曖昧語、待ち合わせタスクの重要度、(ユーザAの)移動手段、及び、予測遅延時間を補正する補正値からなる学習データが生成され、学習データ記憶部46に記憶される。
そして、そのような学習データを用いた識別器の学習(更新)が繰り返されることにより、ユーザAが使用する曖昧語について、頑健(ロバスト)で、正確な具体的数値を出力する識別器が構成されていく。
以上のように、図13の携帯端末11では、識別器の入力として、ユーザAの移動手段を与え、その移動手段を使用した場合の予測遅延時間を補正値を求めるので、ユーザAが使用する移動手段にかかわらず、曖昧語を、ユーザが想定している具体的数値に、正確に変換することができる。
なお、以上においては、ユーザからの入力情報として、メールを用いたが、ユーザからの入力情報としては、メールの他、例えば、ユーザの対話を音声認識した音声認識結果や、ユーザが使用している電子的なスケジュール帳、ユーザのブログ等を採用することができる。
また、関係タスクは、待ち合わせ(集合)タスクに限定されるものではない。
ここで、図3において(図13でも同様)、辞書記憶部21は、比較的アクセス頻度が高いデータベースであり、識別器記憶部41及び学習データ記憶部46は、比較的高頻度で更新される、いわば動的なデータベースである。また、相手クラスDB24は、ユーザごとに個別のデータベースである。
一方、曖昧語DB22、タスクDB23、目的DB25、重要度DB26、及び、位置情報DB27は、ユーザに共通で、比較的更新頻度が低い、いわば静的なデータベースである。
静的なデータベースである曖昧語DB22、タスクDB23、目的DB25、重要度DB26、及び、位置情報DB27は、携帯端末11ではなく、例えば、インターネット等のネットワーク上のサーバに設けることができる。
この場合、携帯端末11は、ネットワーク上のサーバにアクセスして、曖昧語DB22、タスクDB23、目的DB25、重要度DB26、及び、位置情報DB27を参照する。
サーバにおいて、曖昧語DB22、タスクDB23、目的DB25、重要度DB26、及び、位置情報DB27を、適宜更新することにより、携帯端末11では、最新のデータを参照することができる。
[曖昧語の具体的数値への変換の他の例]
図17は、携帯端末11のユーザAが送信(作成)したメールの例を示す図である。
メールM#11は、2011年3月9日に、ユーザA(の携帯端末11)から、ユーザAの会社の、ユーザAと同じ課のXさんに送信されたメールであり、メッセージ「内部向けリリースの案件ですが、もうしばらくかかる見込みです。」が記述されている。
メールM#12は、2011年3月20日に、ユーザAから、Xさんに送信されたメールであり、メッセージ「現在作業中の案件について、完了しましたので報告します。」が記述されている。
携帯端末11では、メールM#11及びM#12の自然言語解析が行われ、その結果、メールM#12により、メールM#11での「内部向けリリースの案件」の作業(タスク)が完了したことが認識される。さらに、携帯端末11では、メールM#11での曖昧語「もうしばらく」に対する具体的数値が、メールM#11の日付の2011年3月9日から、メールM#12の日付の2011年3月20日までの期間である11日であることが認識される。
また、携帯端末11では、メールM#11及びM#12の宛先(相手クラス)が、同じ課(課内)の人間であり、メッセージの話題(タスクの目的)が会社の内部向けの話題になっていることから、タスクの重要度として、例えば、比較的低い値が求められる。
そして、携帯端末11では、メールM#11での曖昧語「もうしばらく」、タスクの重要度、及び、曖昧語「もうしばらく」に対する具体的数値である11日を、学習データとして、識別器の学習が行われる。
一方、メールM#21は、2010年3月8日に、ユーザAから、取引先のYさんに送信されたメールであり、メッセージ「3/9納品予定の案件ですが、もうしばらくお待ちいただけますでしょうか。」が記述されている。
メールM#22は、2010年3月14日に、ユーザAから、Yさんに送信されたメールであり、メッセージ「予定より遅れまして申し訳ありません。本日納品させていただきます。」が記述されている。
携帯端末11では、メールM#21及びM#22の自然言語解析が行われ、その結果、メールM#22により、メールM#21での「3/9納品予定の案件」の作業(タスク)が完了したことが認識される。さらに、携帯端末11では、メールM#21での曖昧語「もうしばらく」に対する具体的数値が、メールM#21の日付の2010年3月8日から、メールM#22の日付の2010年3月14日までの期間である6日であることが認識される。
また、携帯端末11では、メールM#21及びM#22の宛先(相手クラス)が、取引先(社外)の人間であり、メッセージの話題(タスクの目的)が会社の外部向けの話題になっていることから、タスクの重要度として、例えば、比較的高い値が求められる。
そして、携帯端末11では、メールM#21での曖昧語「もうしばらく」、タスクの重要度、及び、曖昧語「もうしばらく」に対する具体的数値である6日を、学習データとして、識別器の学習が行われる。
以上のような学習が行われた識別器によれば、同一の曖昧語「もうしばらく」に対して、メールの宛先(相手クラス)が、課内か、社外かによって、また、メールのメッセージの話題(タスクの目的)が、会社の内部向けか、外部向けかによって、異なる具体的数値が出力される。
なお、携帯端末11において、識別器の学習は、メールM#11及びM#12の宛先のXさんと、メールM#21及びM#22の宛先のYさんとのそれぞれごとに、識別器を用意し、別個に行うことができる。
図18は、携帯端末11のユーザAが作成したブログのコメント(ブログコメント)と、ユーザAが送信したメールの例を示す図である。
ブログコメントC#1は、ユーザAが、居酒屋である店AAに、同僚との飲み会で訪れたことについて記述したコメントであり、コメント「評価:4.0 、目的:同僚と飲み会、レビュー文:店AAはすごくおいしい」が記述されている。
ブログコメントC#2は、ユーザAが、フレンチのレストランである店BBに、デートで訪れたことついて記述したコメントであり、コメント「評価:4.1 、目的:デート、レビュー文:店BBはまぁまぁ」が記述されている。
携帯端末11では、ブログコメントC#1及びC#2の自然言語解析が行われる。
そして、携帯端末11では、ブログコメントC#1については、レビュー文の「すごく」に対する具体的数値が、評価4.0であると認識される。
さらに、携帯端末11では、ブログコメントC#1が、居酒屋を対象(相手クラス)とするコメントであり、その居酒屋が、同僚との飲み会を目的(タスクの目的)として訪れた店であることから、タスクの重要度として、例えば、中程度の値が求められる。
そして、携帯端末11では、ブログコメントC#1での曖昧語「すごく」、タスクの重要度、及び、曖昧語「すごく」に対する具体的数値である評価4.0を、学習データとして、識別器の学習が行われる。
また、携帯端末11では、ブログコメントC#2については、レビュー文の「まぁまぁ」に対する具体的数値が、評価4.1であると認識される。
さらに、携帯端末11では、ブログコメントC#2が、フレンチのレストランを対象(相手クラス)とするコメントであり、そのフレンチのレストランが、デートを目的(タスクの目的)として訪れた店であることから、タスクの重要度として、例えば、比較的高い値が求められる。
そして、携帯端末11では、ブログコメントC#2での曖昧語「まぁまぁ」、タスクの重要度、及び、曖昧語「まぁまぁ」に対する具体的数値である評価4.1を、学習データとして、識別器の学習が行われる。
メールM#31は、ユーザB(の携帯端末12)から、ユーザA(の携帯端末11)に送信されたメールであり、メッセージ「今度、課の人と飲み会するんだけどいい店ない?」が記述されている。
メールM#32は、メールM#31に対する返信として、ユーザA(の携帯端末11)が、ユーザB(の携帯端末12)に送信しようとしているメールであり、メッセージ「○○は、すごくおいしかったよ」が記述されている。
携帯端末11では、メールM#31及びM#32に基づいて、タスクの重要度として、例えば、中程度の値が求められる。
さらに、携帯端末11では、ブログコメントC#1及びC#2から得られた学習データを用いて学習が行われた識別器に対して、メールM#32に含まれる曖昧語「すごく」と、タスクの重要度が入力として与えられ、その識別器が出力する、例えば、評価4.0が、曖昧語「すごく」に対する具体的数値として求められる。
そして、携帯端末11では、図18に示すように、メールM#32に、曖昧語「すごく」に対する具体的数値である評価4.0が追加されて送信される。
なお、ユーザAの携帯端末11では、ユーザBとの間でやりとりしたメールを用いて、ユーザBが使用する曖昧語を、具体的数値に変換する識別器の学習を行うことができる(スケーラビリティ)。この場合、ユーザBが使用する曖昧語の程度を、ユーザAが勘違いすることによるミスコミュニケーションを防止することができる。
また、携帯端末11において、曖昧語を具体的数値に変換する機能は、例えば、言葉に対する概念の近さをキーにして行う相性診断のアプリケーションに利用することができる。
すなわち、例えば、携帯端末11において、ユーザAが使用する曖昧語を、具体的数値に変換する識別器FAの学習と、ユーザBが使用する曖昧語を、具体的数値に変換する識別器FBの学習とを行っておく。
その後、携帯端末11において、曖昧語を含む表現である、例えば、「ちょっと待って」に含まれる曖昧語「ちょっと」を、識別器FA及びFBのそれぞれによって、具体的数値に変換する。
そして、識別器FAが出力する、曖昧語「ちょっと」に対する具体的数値と、識別器FBが出力する、曖昧語「ちょっと」に対する具体的数値とが、それぞれ、例えば、20秒と30分のように、大きく離れていれば、携帯端末11では、ユーザAとBとの相性が悪いと判断される。
一方、識別器FAが出力する、曖昧語「ちょっと」に対する具体的数値と、識別器FBが出力する、曖昧語「ちょっと」に対する具体的数値とが近ければ、携帯端末11では、ユーザAとBとの相性が良いと判断される。
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図19は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
また、本技術は、以下のような構成をとることができる。