以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、会話処理装置100の通信環境の一例を概略的に示す。会話処理装置100は、ユーザ10との会話を実行する。会話処理装置100は、例えば、情報端末200を介して、ユーザ10との会話を実行する。会話処理装置100は、会話処理システムの一例であってよい。
情報端末200は、例えば、携帯電話、タブレット端末、及びPC等である。情報端末200は、音声入力機能及び音声出力機能を有する装置であればどのような装置であってもよく、例えば、家電、自動車、カーナビゲーション、ロボット、及びぬいぐるみ等であってもよい。
会話処理装置100と情報端末200とは、ネットワーク20を介して通信する。ネットワーク20は、インターネット及び電話網を含んでよい。なお、会話処理装置100は、音声入力機能及び音声出力機能を備えることにより、直接ユーザ10との会話を実行してもよい。
会話処理装置100は、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムを用いてユーザ10との会話を実行してよい。また、会話処理装置100は、会話内容DB40に記憶された複数の会話内容を用いてユーザ10との会話を実行してよい。
会話アルゴリズムDB30は、ソフトウエアによって実現されるデータベースであってよい。会話アルゴリズムDB30は、例えば、会話処理装置100に格納される。また、会話アルゴリズムDB30は、ネットワーク20に接続された他の装置に格納されていてもよい。また、会話アルゴリズムDB30は、ハードウエアによって実現されるデータベースであってもよい。会話アルゴリズムDB30は、会話処理装置100に直接接続されていてよく、また、ネットワーク20を介して接続されていてもよい。
会話内容DB40は、ソフトウエアによって実現されるデータベースであってよい。会話内容DB40は、例えば、会話処理装置100に格納される。また、会話内容DB40は、ネットワーク20に接続された他の装置に格納されていてもよい。また、会話内容DB40は、ハードウエアによって実現されるデータベースであってもよい。会話内容DB40は、会話処理装置100に直接接続されていてよく、また、ネットワーク20を介して接続されていてもよい。
更新装置300は、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムを更新する。複数の会話アルゴリズムを更新するとは、例えば、会話アルゴリズムを追加すること及び会話アルゴリズムの内容を変更することである。また、更新装置300は、会話内容DB40に記憶された複数の会話内容を更新する。複数の会話内容を更新するとは、例えば、会話内容を追加すること及び会話内容自体を変更することである。
更新装置300は、オペレータ12の指示に従って、会話アルゴリズム及び会話内容を更新してよい。会話処理装置100と更新装置300とは、ネットワーク20を介して通信してよい。更新装置300は、会話アルゴリズムDB30に記憶された複数の会話アルゴリズム及び会話内容DB40に記憶された複数の会話内容のうちの、更新対象となる会話アルゴリズム及び会話内容の通知を、会話処理装置100から受け付けてよい。
図2は、会話処理装置100による会話アルゴリズムDB30を用いた会話処理の一例を概略的に示す。会話処理装置100は、会話アルゴリズムDB30に登録された複数の会話アルゴリズムのうちの一の会話アルゴリズムを選択して、選択した会話アルゴリズムに従って、ユーザ10との会話を実行してよい。
会話処理装置100は、実行条件テーブル32に登録された実行条件が満たされた場合に、当該実行条件に対応する会話アルゴリズムを実行してよい。例えば、会話処理装置100は、ユーザ10の好きなジャンルのテレビ番組が近いうちにある場合に「番組お知らせアプリ」を実行する。会話処理装置100は、例えば、ネットワーク20を介してテレビ番組データの提供サービスを受ける。また、会話処理装置100は、例えば、情報端末200から、ユーザ10のプロファイルデータを取得する。そして、受け付けたテレビ番組データと、取得したユーザ10のプロファイルデータとを用いて、ユーザ10が好きなジャンルのテレビ番組が近いうちにあることを判断してよい。
「番組お知らせアプリ」は、テレビ番組データに基づいて、ユーザ10が好きなジャンルのテレビ番組が放送されることをユーザ10に音声通知したり、番組内容に対するユーザ10の問い合わせに回答したりする会話アルゴリズムであってよい。例えば、「番組お知らせアプリ」は、今日20時から音楽番組があることを音声通知してよく、ユーザ10による誰が出るのかの問い合わせに対して「銀爆が出るよ」と応答してよい。
このように、会話アルゴリズムは、ユーザ10からの問い合わせに対応する会話内容を出力するアルゴリズムであってよい。会話アルゴリズムが用いる会話内容は、会話アルゴリズムDB30に記憶されていてよい。
「通勤補助アプリ」は、通勤関連のイベントをユーザ10に通知したり、通勤に関するユーザ10からの問い合わせに回答したりする会話アルゴリズムであってよい。会話処理装置100は、例えば、電車の運行情報を提供するサーバから受信した運行情報データが、通勤電車の遅延を示す場合に「通勤補助アプリ」を実行する。「朝の挨拶アプリ」は、ユーザ10に対して朝の挨拶を実行する会話アルゴリズムであってよい。会話処理装置100は、例えば、朝の予め設定された時刻になったときに「朝の挨拶アプリ」を実行する。「傘アラートアプリ」は、降水確率に応じて、ユーザ10に傘を持つことを促す通知をしたり、天気に関するユーザ10からの問い合わせに回答したりする会話アルゴリズムであってよい。会話処理装置100は、例えば、天気予報の情報を提供するサーバから受信した天気予報データが、降水確率30%以上を占めす場合に「傘アラートアプリ」を実行する。
「就寝音楽アプリ」は、就寝前にユーザ10をリラックスさせるための音楽を出力する会話アルゴリズムであってよい。「就寝音楽アプリ」は、例えば、ユーザ10との会話を実行して、会話内容に基づいて出力する音楽を決定する。会話処理装置100は、ユーザ10の指示に従って「就寝音楽アプリ」を実行してよい。「予定確認アプリ」は、翌日の予定をユーザ10に確認させる会話アルゴリズムであってよい。会話処理装置100は、ユーザ10の指示に従って「予定確認アプリ」を実行してよい。「睡眠計測アプリ」は、ユーザ10の睡眠の深さを計測する会話アルゴリズムであってよい。「睡眠計測アプリ」は、振動、赤外線、電波及び音等によってユーザ10の寝返りを検知することによって、ユーザ10の睡眠の深さを計測してよい。また、「睡眠計測アプリ」は、例えば、ユーザ10の呼吸音を測定したり、小さい音を出力してユーザ10の反応を測定したりすることによって、ユーザ10の睡眠の深さを計測する。「イベント通知アプリ」は、カレンダーに登録されたイベントの開催が近づいていることをユーザ10に通知したり、イベントの内容に関するユーザ10からの問い合わせに回答したりする会話アルゴリズムであってよい。会話処理装置100は、例えば、カレンダーに登録されたイベントの開催前日に「イベント通知アプリ」を実行する。「血液型占いアプリ」は、ユーザ10に指定された血液型に対する占いの内容を通知する会話アルゴリズムであってよい。会話処理装置100は、例えば、「血液型占いアプリ」の開始指示を受け付けた場合に、「血液型占いアプリ」を実行する。なお、これらの会話アルゴリズムは例示であり、会話アルゴリズムDB30は他の会話アルゴリズムを記憶していてもよい。
会話アルゴリズムDB30に登録された複数の会話アルゴリズムは、グループ分けされていてもよい。例えば、「通勤補助アプリ」、「朝の挨拶アプリ」及び「傘アラートアプリ」は、「朝の支度アプリ・グループ」という会話アルゴリズムグループにグループ分けされる。また、例えば、「就寝音楽アプリ」、「予定確認アプリ」及び「睡眠計測アプリ」は、「夜の就寝前アプリ・グル−プ」という会話アルゴリズムグループにグループ分けされる。
図3は、会話処理装置100による会話内容DB40を用いた会話処理の一例を概略的に示す。会話内容DB40は、自然会話DB41及び質問応答DB42を含んでよい。
会話処理装置100は、自然会話DB41に記憶された複数の会話内容46により、ユーザ10との会話を実行してよい。また、情報端末200は、質問応答DB42に記憶された複数の会話内容48により、ユーザ10との会話を実行してよい。
自然会話DB41は、複数のカテゴリ44のそれぞれに対応付けて複数の会話内容46を記憶する。会話処理装置100は、例えば、ユーザ10の音声に基づいて、複数のカテゴリ44から一のカテゴリ44を選択状態にする。例えば、会話処理装置100は、ユーザ10の音声が複数の会話内容46のいずれかに一致すると判断した場合、当該会話内容46を含むカテゴリ44を選択状態にする。また、例えば、会話処理装置100は、ユーザ10の音声に含まれるキーワードと、カテゴリ44の名称とが一致すると判断した場合、当該カテゴリ44を選択状態にしてよい。
図3に示す例では、ユーザ10の音声「銀爆おもしろいよね」が、「芸能:ミュージシャン:銀爆(シルバーボンバー)」に対応付けられた会話内容46に一致することから、会話処理装置100は、「芸能:ミュージシャン:銀爆(シルバーボンバー)」を選択状態にする。また、会話処理装置100は、ユーザ10の音声が「芸能:ミュージシャン:銀爆(シルバーボンバー)」に対応付けられた複数の会話内容46のいずれにも一致しない場合であっても、「銀爆」というキーワードを含んでいた場合には、「芸能:ミュージシャン:銀爆(シルバーボンバー)」を選択状態にしてよい。
会話処理装置100は、ユーザ10の問いかけに対する応答として、選択状態のカテゴリ44に対応付けられた複数の会話内容46のいずれかを音声出力してよい。例えば、会話処理装置100は「銀爆おもしろいよね」というユーザ10の問いかけに対して、「エアーバンドなんだよね」と応答してよい。これにより、ユーザ10の音声に対して関連性の高い応答をすることができる。
質問応答DB42は、複数のカテゴリ44のそれぞれに対応付けて、複数の会話内容48を記憶する。複数の会話内容48のそれぞれは、質問に対応付けられていてよい。会話処理装置100は、取得したユーザ10の音声が、選択状態のカテゴリ44に対応付けられた複数の質問のいずれかに一致すると判断した場合、当該質問に対応する会話内容48を出力してよい。図3に示す例では、仮に「芸能:ミュージシャン:銀爆(シルバーボンバー)」が選択状態であり、ユーザ10の音声が「ボーカル誰だっけ?」であった場合、会話処理装置100は「キリシューだよね」と回答する。
会話処理装置100による会話のバリエーションは、複数の会話アルゴリズム及び複数の会話内容が充実すればするほど増すことになり、ユーザ10にとって魅力的な会話を提供できる可能性を高められる。しかしその一方で、会話アルゴリズム及び会話内容の数が充実すればするほど、会話アルゴリズム及び会話内容の更新作業の負荷が高まる。
そこで、本実施形態に係る会話処理装置100は、更新の必要性が高い会話アルゴリズム及び会話内容を判断して、更新対象として登録する。そして、登録した更新対象の会話アルゴリズム及び会話内容を、更新を行う更新担当者に提示する。これにより、更新の必要性が高い会話アルゴリズム及び会話内容を、更新担当者に優先的に更新させることができる。更新担当者は、例えば、会話処理装置100を操作する操作者である。また、更新担当者は、更新装置300のオペレータ12であってもよい。会話処理装置100は、更新対象の会話アルゴリズム及び会話内容を更新装置300に通知してよい。
図4は、会話処理装置100の機能構成を概略的に示す。ここでは、会話アルゴリズムDB30、会話内容DB40、実行条件判断部112、条件データ取得部113、アルゴリズム選択部114、会話実行部116、音声出力制御部118、会話内容判定部120、音声取得部122、カテゴリ選択部124、表情取得部125、感情取得部126、更新対象登録部128、更新対象通知部130、指摘受付部132、及びユーザ認識部134を備える会話処理装置100について説明する。なお、会話処理装置100がこれらのすべての構成を備えることは必須とは限らない。
実行条件判断部112は、実行条件テーブル32に登録された複数の実行条件のいずれかが満たされたことを判断する。実行条件判断部112は、実行条件に関連する条件データを取得する条件データ取得部113が取得した条件データと、実行条件テーブル32とを参照することによって、複数の実行条件のいずれかが満たされたことを判断してよい。
例えば、条件データ取得部113は、ユーザ10のプロファイルデータから、ユーザ10が好きなテレビ番組のジャンルを取得する。また、条件データ取得部113は、ネットワーク20を介して、テレビ番組データを取得する。実行条件判断部112は、ユーザ10が好きなテレビ番組のジャンルと、テレビ番組データと、実行条件テーブル32とから、「番組お知らせアプリ」の実行条件が満たされたと判断してよい。ユーザ10のプロファイルデータは、ユーザ10によって予め登録されてよい。
アルゴリズム選択部114は、それぞれに実行条件が対応付けられた複数の会話アルゴリズムのうち、対応する実行条件が満たされた一の会話アルゴリズムを選択する。アルゴリズム選択部114は、実行条件判断部112によって満たされたことが判断された実行条件に対応付けて会話アルゴリズムDB30に記憶されている会話アルゴリズムを選択してよい。
会話実行部116は、アルゴリズム選択部114が選択した会話アルゴリズムに従って、ユーザ10との会話を実行する。また、会話実行部116は、会話内容DB40が含む自然会話DB41及び質問応答DB42に記憶された会話内容46及び会話内容48を用いて、ユーザ10との会話を実行する。
会話実行部116は、例えば、会話アルゴリズムDB30に記憶された会話アルゴリズム、自然会話DB41及び質問応答DB42に記憶された会話内容46及び会話内容48に対して、音声合成技術を適用することによって、音声出力制御部118に音声出力させる。また、会話実行部116は、会話アルゴリズムDB30、自然会話DB41、及び質問応答DB42に会話内容に対応する音声データが記憶されている場合には、当該音声データを音声出力制御部118に音声出力させてもよい。会話実行部116は、音声取得部122が取得したユーザ10の音声に音声認識技術を適用することによって、ユーザ10の音声を認識してよい。このように会話実行部116は、音声出力制御部118及び音声取得部122を制御することによって、ユーザ10との会話を実行してよい。
音声出力制御部118は、会話実行部116の制御に従って、音声の出力を制御する。音声出力制御部118は、会話実行部116により指定された音声を、情報端末200に出力させてよい。また、音声出力制御部118は、会話実行部116により指定された音声を、会話処理装置100が備える不図示のスピーカによって出力してもよい。
会話内容判定部120は、会話実行部116が会話内容を音声出力制御部118に出力させる前に、当該会話内容が適切か否かを判定する。会話内容判定部120は、予め登録された、会話処理装置100が出力することが適切でない不適切ワードが、会話内容に含まれるか否かを判定する。不適切ワードは、例えば、犯罪に関連するワード、不道徳を推奨するワード、及び政治・宗教への偏見に関するワードを含む。会話内容判定部120が適切でないと判定した場合、音声出力制御部118は、当該会話内容を出力しない。これにより、会話アルゴリズムDB30及び会話内容DB40に誤って登録された不適切ワードを、会話処理装置100が出力してしまうことを防止できる。
音声取得部122は、情報端末200がユーザ10から受け付けた音声を、情報端末200から取得してよい。また、音声取得部122は、会話処理装置100が備える不図示のマイクによって、ユーザ10の音声を取得してもよい。
カテゴリ選択部124は、それぞれに複数の会話内容が対応付けられた複数のカテゴリ44のうちの一のカテゴリ44を選択する。カテゴリ選択部124は、例えば、音声取得部122が取得した音声に基づいて、複数のカテゴリ44のうちの一のカテゴリ44を選択状態にする。
また、カテゴリ選択部124は、例えば、音声取得部122が取得した音声が、自然会話DB41に記憶された複数の会話内容46のいずれかと一致すると判断した場合、当該会話内容46を含むカテゴリ44を選択状態にする。また、カテゴリ選択部124は、例えば、音声取得部122が取得した音声の音声認識結果と、会話内容46との一致度が予め定められた閾値より高い場合に、一致すると判断する。
また、カテゴリ選択部124は、例えば、音声取得部122が取得した音声に含まれるキーワードと、カテゴリ44の名称とが一致すると判断した場合、当該カテゴリ44を選択状態にする。カテゴリ選択部124は、例えば、音声取得部122が取得した音声に含まれるキーワードと、カテゴリ44の名称との一致度が予め定められた閾値より高い場合に、一致すると判断する。
カテゴリ選択部124は、選択したカテゴリ44を、会話実行部116に通知してよい。会話実行部116は、カテゴリ選択部124が選択状態にしたカテゴリ44に対応付けて自然会話DB41及び質問応答DB42が記憶する複数の会話内容46及び会話内容48を用いて、ユーザ10との会話を実行してよい。
表情取得部125は、ユーザ10の表情を取得する。表情取得部125は、ユーザ10の顔画像に基づいて、ユーザ10の表情を取得してよい。表情取得部125は、例えば、情報端末200が備える撮像部によって撮像されたユーザ10の顔画像を、情報端末200から受信する。また、表情取得部125は、会話処理装置100が備える不図示の撮像部によって撮像されたユーザ10の顔画像を当該撮像部から受信してもよい。表情取得部125は、ユーザ10の顔画像に対して、既存の表情認識技術を適用することにより、喜び、驚き、恐怖、嫌悪、怒り、悲しみ及び無表情等の表情を推定してよい。
感情取得部126は、ユーザ10の感情の種類と感情の度合いを示す感情値とを取得する。感情取得部126は、音声取得部122が取得したユーザ10の音声に対して、既存の音声感情認識技術を適用することにより、ユーザ10の感情の種類と感情の度合いを示す感情値とを取得してよい。
例えば、感情取得部126は、ユーザ10の音声の韻律、音質、及び音韻などに基づいてユーザ10の感情の種類と感情値とを取得する。感情取得部126は、ユーザ10の音声の音声認識結果に基づいてユーザ10の感情の種類と感情値とを取得してもよい。感情取得部126は、これらを組み合わせてユーザ10の感情の種類と感情値とを取得してもよい。
感情取得部126によって、例えば、喜び、怒り、及び悲しみなどの感情の種類が取得されてよい。また、感情取得部126によって、例えば10段階の感情値が取得されてよい。感情値は、その値が大きいほど、感情の度合いが大きいことを示す。例えば、感情値5の怒りよりも、感情値10の怒りの方が、怒りの度合いが強いことを示す。感情取得部126は、ユーザ10の音声からいずれの感情も取得できなかった場合には、その旨を示す結果データを出力してよい。
また、感情取得部126は、表情取得部125から、ユーザ10の感情の種類と感情値とを取得してもよい。表情取得部125は、表情認識技術によって推定した喜び、驚き、恐怖、嫌悪、怒り、悲しみ及び無表情等の表情をユーザ10の感情の種類として感情取得部126に提供してよい。また、表情取得部125は、表情認識技術によって推定した各表情の度合いを、感情値として感情取得部126に提供してよい。
感情取得部126は、取得した感情の種類をアルゴリズム選択部114に送信してよい。アルゴリズム選択部114は、感情取得部126が取得した感情の種類に基づいて会話アルゴリズムを選択してもよい。例えば、感情取得部126が取得した感情が喜びである場合、感情取得部126は、喜びに対応付けて記憶された会話アルゴリズムを選択する。
更新対象登録部128は、予め定められた条件が満たされた場合、アルゴリズム選択部114が選択した一の会話アルゴリズムを更新対象として登録する。更新対象登録部128は、例えば、更新対象リストに、アルゴリズム選択部114が選択した一の会話アルゴリズムを識別するアルゴリズム識別情報を追加することにより、当該一の会話アルゴリズムを更新対象として登録する。また、更新対象登録部128は、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムの一覧データを保持しておき、更新対象とする会話アルゴリズムに更新対象フラグを立てることによって、当該会話アルゴリズムが更新対象であることを登録してもよい。
また、更新対象登録部128は、予め定められた条件が満たされた場合、カテゴリ選択部124によって選択されたカテゴリに対応する複数の会話内容を更新対象として登録する。更新対象登録部128は、例えば、更新対象リストに、カテゴリ選択部124が選択した一のカテゴリを識別するカテゴリ識別情報を追加することにより、当該一のカテゴリに対応する複数の会話内容を更新対象として登録する。また、更新対象登録部128は、更新対象リストに、更新対象となる複数の会話内容のそれぞれを識別する会話内容識別情報を登録してもよい。
また、更新対象登録部128は、自然会話DB41及び質問応答DB42に記憶された複数のカテゴリ及び複数の会話内容の一覧データを保持しておき、更新対象とする会話内容に更新対象フラグを立てることによって、当該会話内容が更新対象であることを登録してもよい。更新対象登録部128は、一のカテゴリに対応する複数の会話内容の全てを更新対象とする場合、当該一のカテゴリに対して更新対象フラグを立ててもよい。
更新対象登録部128は、予め定められた条件が満たされたときの日時を、会話アルゴリズム及び会話内容に併せて登録してよい。また、更新対象登録部128は、予め定められた条件が満たされたときの情報端末200の位置を示す位置情報を情報端末200から取得して、会話アルゴリズム及び会話内容に併せて登録してよい。また、更新対象登録部128は、ユーザ10の性別及び年齢を、会話アルゴリズム及び会話内容に併せて登録してもよい。ユーザ10の性別及び年齢は、予め登録されていてよい。また、更新対象登録部128が、情報端末200からユーザ10の性別及び年齢を受信してもよい。また、更新対象登録部128は、情報端末200を識別する情報端末識別情報を、会話アルゴリズム及び会話内容に合わせて登録してもよい。更新対象登録部128は、情報端末200が有する会話アプリケーションを識別する会話アプリ識別情報を、会話アルゴリズム及び会話内容に合わせて登録してもよい。
予め定められた条件とは、例えば、会話実行部116が、アルゴリズム選択部114によって選択された一の会話アルゴリズムに従ってユーザ10との会話を実行したことである。更新対象登録部128は、会話実行部116が、アルゴリズム選択部114によって選択された一の会話アルゴリズムに従ってユーザ10との会話を実行した場合に、当該一の会話アルゴリズムを更新対象として登録してよい。これにより、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムのうち、アルゴリズム選択部114によって選択された会話アルゴリズムを優先的に更新対象とすることができる。
また、予め定められた条件とは、会話実行部116が、カテゴリ選択部124によって選択された一のカテゴリに対応する複数の会話内容を用いてユーザ10との会話を実行したことであってよい。更新対象登録部128は、会話実行部116が、カテゴリ選択部124によって選択された一のカテゴリに従ってユーザ10との会話を実行した場合に、当該一のカテゴリに対応する複数の会話内容を更新対象として登録してよい。これにより、会話内容DB40に記憶された複数の会話内容のうち、カテゴリ選択部124によって選択された一のカテゴリに対応する会話内容を優先的に更新対象とすることができる。
また、予め定められた条件とは、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムのうち予め定められた割合以上の割合の会話アルゴリズムが会話実行部116によって使用されたことであってもよい。例えば、予め定められた割合が10割である場合、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムのすべてが使用された場合に当該条件が満たされる。更新対象登録部128は、当該条件が満たされた場合に、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムを更新対象として登録してよい。これにより、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムが使い切られたことを契機に、複数の会話アルゴリズムを更新対象とすることができる。
また、予め定められた条件とは、会話実行部116が、自然会話DB41に記憶された一のカテゴリに対応する複数の会話内容のうち予め定められた割合以上の割合の会話内容を出力したことであってもよい。例えば、予め定められた割合が10割である場合、自然会話DB41に記憶された一のカテゴリに対応する複数の会話内容のすべてが出力された場合に、当該条件が満たされる。更新対象登録部128は、当該条件が満たされた場合に、当該一のカテゴリに対応する複数の会話内容を更新対象として登録してよい。これにより、自然会話DB41に記憶された一のカテゴリに対応する複数の会話内容が使い切られたことを契機に、当該一のカテゴリに対応する複数の会話内容を更新対象とすることができる。
また、予め定められた条件とは、会話実行部116が、アルゴリズム選択部114が選択した一の会話アルゴリズムに従ってユーザ10との会話を実行中に、ユーザ10により入力されたユーザ入力に対応する会話内容がないと判定したことであってもよい。例えば、会話実行部116が「番組お知らせアプリ」に従ってユーザ10との会話を実行中、「次に銀爆が出るのはいつ?」というユーザ入力を受け付けて、当該ユーザ入力に対応する会話内容がない場合、当該条件が満たされる。更新対象登録部128は、当該条件が満たされた場合に、当該一の会話アルゴリズムを更新対象として登録してよい。これにより、ユーザ入力に対応できない会話アルゴリズムを優先的に更新対象とすることができる。
また、予め定められた条件とは、会話実行部116が、カテゴリ選択部124が選択した一のカテゴリに対応する複数の会話内容を用いてユーザ10との会話を実行中に、ユーザ10により入力されたユーザ入力に対応する会話内容が当該一のカテゴリに対応する複数の会話内容に含まれていないと判定したことであってもよい。例えば、会話実行部116が、「芸能:ミュージシャン:銀爆(シルバーボンバー)」に対応付けられた複数の会話内容48を用いて会話を実行中に、質問を示すユーザ入力に対する回答である会話内容48が記憶されていない場合、当該条件が満たされる。更新対象登録部128は、当該条件が満たされた場合に、当該一のカテゴリに対応する複数の会話内容を更新対象として登録してよい。これにより、ユーザ10からの質問及び回答が登録されていない一のカテゴリ44を優先的に更新対象とすることができる。
更新対象登録部128は、当該一のカテゴリに対応付けて、当該ユーザ入力を登録してもよい。これにより、どのような質問及び回答が登録されていないのかを、後に容易に確認することができる。
また、予め定められた条件とは、会話内容判定部120が、会話内容を適切でないと判定したことであってもよい。更新対象登録部128は、会話実行部116が一の会話アルゴリズムに従って会話内容を出力する前に当該会話内容が適切か否かを会話内容判定部120が判定した結果、適切でないと判定された場合に、当該一の会話アルゴリズムを更新対象として登録してよい。これにより、適切でない会話内容を出力してしまう会話アルゴリズムを優先的に更新対象とすることができる。
また、更新対象登録部128は、会話実行部116が一のカテゴリに対応する会話内容を出力する前に当該会話内容が適切か否かを会話内容判定部120が判定した結果、適切でないと判定された場合に、当該一のカテゴリに対応する複数の会話内容を更新対象として登録してよい。これにより、適切でない会話内容が対応付けられた一のカテゴリを、優先的に更新対象とすることができる。
また、予め定められた条件とは、感情取得部126が取得した感情値が予め定められた閾値を超えたことであってもよい。例えば、10段階の感情値において、予め定められた閾値が感情値7であった場合、感情取得部126が取得した感情値が7以上であれば、当該条件が満たされる。更新対象登録部128は、会話実行部116が一の会話アルゴリズムに従ってユーザ10との会話を実行中に、音声取得部122が取得した音声に基づいて感情取得部126が取得した感情値が予め定められた閾値を超えた場合に、当該一の会話アルゴリズムを更新対象として登録してよい。これにより、ユーザ10の感情が大きく変化させた会話内容を出力する会話アルゴリズムを優先的に更新対象とすることができる。
また、更新対象登録部128は、会話実行部116が出力した一のカテゴリに対応する会話内容に対するユーザ10の音声に基づいて、感情取得部126が取得した感情値が予め定められた閾値を超えた場合に、当該一のカテゴリに対応する複数の会話内容を更新対象として登録してよい。これにより、ユーザ10の感情が大きく変化させた会話内容が対応付けられたカテゴリを優先的に更新対象とすることができる。
更新対象通知部130は、更新対象登録部128が更新対象として登録した会話アルゴリズム及び会話内容を、更新装置300に通知する。更新対象通知部130は、更新対象登録部128が更新対象の会話アルゴリズム又は会話内容を登録したのに応じて、当該会話アルゴリズム又は会話内容を通知してよい。
また、更新対象通知部130は、予め定められた条件が満たされた場合に、更新対象を更新装置300に通知してもよい。例えば、更新対象通知部130は、予め定められた期間が経過する毎に、その期間の間に登録された会話アルゴリズム及び会話内容を通知する。また、更新対象通知部130は、更新対象登録部128によって登録された会話アルゴリズム及び会話内容の数が予め定められた数を超える毎に、会話アルゴリズム及び会話内容を通知してもよい。
更新対象通知部130は、例えば、更新対象登録部128が生成した更新対象リストを更新装置300に送信する。また、更新対象通知部130は、更新対象登録部128が保持する会話アルゴリズムの一覧データを更新装置300に送信してもよい。また、更新対象通知部130は、更新対象登録部128が保持する複数の会話内容の一覧データを更新装置300に送信してもよい。
更新対象通知部130は、更新対象として登録した会話アルゴリズム及び会話内容に加えて、予め定められた条件が満たされたときの日時、予め定められた条件が満たされたときの情報端末200の位置情報、ユーザ10の性別、ユーザ10の年齢、及び情報端末200の情報端末識別情報及び情報端末200が有する会話アプリケーションの会話アプリ識別情報の少なくともいずれかを更新装置300に通知してもよい。
指摘受付部132は、会話実行部116が一の会話アルゴリズムに従って出力した会話内容に対するユーザ10からの指摘を受け付ける。また、指摘受付部132は、会話実行部116が出力した一のカテゴリに対応する会話内容に対する指摘を受け付ける。
指摘受付部132は、例えば、会話内容を出力した後に、音声取得部122が取得したユーザ入力が、会話内容に対する指摘であるか否かを判定する。指摘受付部132は、予め登録された、会話内容に対する指摘を表すワードを参照することにより、ユーザ入力が、会話内容に対する指摘であるか否かを判定してよい。会話内容に対する指摘を表すワードは、例えば、「それ間違っているよ」及び「その情報古いよ」等の会話内容の中身に関する指摘を表すワードと、「イントネーションが変だよ」及び「読み方が変だよ」等の会話内容の読み上げに関する指摘を表すワードとを含んでよい。
指摘受付部132は、指摘を受け付けたことを更新対象登録部128に通知してよい。更新対象登録部128は、会話実行部116が一の会話アルゴリズムに従って出力した会話内容に対する指摘を受け付けたことを指摘受付部132から通知された場合に、当該一の会話アルゴリズムを更新対象として登録してよい。また、更新対象登録部128は、指摘を受け付けた会話内容を更新対象として登録してもよい。また、更新対象登録部128は、会話実行部116が出力した一のカテゴリに対応する会話内容に対する指摘を受け付けたことを指摘受付部132から通知された場合に、当該指摘された会話内容を更新対象として登録してよい。すなわち、予め定められた条件は、指摘受付部132がユーザ10から指摘を受け付けたことであってもよい。なお、更新対象登録部128は、指摘を受け付けたことを指摘受付部132から通知された場合に、会話実行部116による会話履歴をさらに登録してもよい。更新対象登録部128は、会話履歴を格納する会話履歴データベースにおける、当該会話履歴の識別情報を登録することによって、会話履歴を登録してもよい。更新対象登録部128によって会話履歴が登録された場合、更新対象通知部130は、更新対象として登録した会話アルゴリズム及び会話内容に加えて、会話履歴を更新装置300に通知してよい。また、更新対象通知部130は、更新対象登録部128によって、会話履歴データベースにおける会話履歴の識別情報が登録された場合は、更新対象として登録した会話アルゴリズム及び会話内容に加えて、会話履歴の識別情報を通知してよい。
ユーザ認識部134は、ユーザ10を認識する。ユーザ認識部134は、例えば、音声取得部122が取得したユーザ10の音声に対して話者認識技術を適用することによりユーザ10を認識する。また、ユーザ認識部134は、情報端末200からユーザ10の画像を受信した場合には、画像認識によって、ユーザ10を認識してもよい。
ユーザ認識部134は、ユーザ10が予め登録されたユーザであるか否かを判定してよい。予め登録されたユーザとしては、例えば、恣意的に意味不明なユーザ入力及び不適切なユーザ入力を繰り返すユーザが登録される。ユーザ認識部134は、ユーザ10が予め登録されたユーザであるかないかを更新対象登録部128に通知してよい。更新対象登録部128は、ユーザ10が予め登録されたユーザではなく、かつ、予め定められた条件が満たされた場合に、アルゴリズム選択部が選択した一の会話アルゴリズム又はカテゴリ選択部が選択した一のカテゴリ44に対応する複数の会話内容を更新対象として登録してよい。すなわち、更新対象登録部128は、予め定められた条件が満たされた場合であっても、ユーザ10が、予め登録されたユーザである場合には、更新対象の登録を実行しない。これにより、意味不明なユーザ入力及び不適切な入力によって、更新対象の登録が不適切に多発してしまうことを防止できる。
なお、情報端末200が、図4に示す機能構成と同様の機能構成を有してもよい。この場合、音声出力制御部118は、会話実行部116により指定された音声を、情報端末200が備えるスピーカにより音声出力してよい。また、音声取得部122は、情報端末200が備えるマイクによりユーザ10の音声を取得してよい。また、ユーザ認識部134は、情報端末200が備えるカメラによって取得したユーザ10の画像に基づいて、ユーザ10を認識してよい。
図5は、会話処理装置100による動作フローの一例を概略的に示す。図5では、会話アルゴリズムDB30に記憶された複数の会話アルゴリズムを用いて、ユーザ10との会話を実行する場合を例に挙げて説明する。図5に示す動作フローは、本実施形態に係る会話処理の実行指示を受け付けた場合に開始してよい。
ステップ502(ステップをSと省略して表記する場合がある。)では、実行条件判断部112が、実行条件テーブル32に登録された複数の実行条件のうちのいずれかが満たされたか否かを判断する。S502で満たされたと判断された場合、S504に進む。
S504では、アルゴリズム選択部114が、実行条件判断部112によって満たされたことが判断された実行条件に対応付けて会話アルゴリズムDB30に記憶されている会話アルゴリズムを選択する。S506では、更新対象登録部128が、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムの全てが使用済であるか否かを判定する。なお、更新対象登録部128は、S504で選択された会話アルゴリズムを含む会話アルゴリズムグループに含まれる複数の会話アルゴリズムの全てが使用済みであるか否かを判定してもよい。
更新対象登録部128は、例えば、一のユーザ10のみの使用履歴から、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムの全てが使用済みであるか否かを判定する。また、更新対象登録部128は、複数のユーザ10の使用履歴から、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムの全てが使用済みであるかを判定してもよい。また、更新対象登録部128は、複数のユーザ10のうちの、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムの全てを使用したユーザ10の割合が、予め定められた割合を超えているか否かを判定してもよい。
更新対象登録部128は、使用済みであると判定した場合、複数の会話アルゴリズムを更新対象として登録する(S508)。S510では、S504で選択された会話アルゴリズムに従って、会話実行部116が会話内容を取得する。会話実行部116は、会話アルゴリズムDB30から、選択された会話アルゴリズムに対応付けて登録された会話内容を取得してよい。
S512では、会話実行部116が取得した会話内容が適切であるか否かを、会話内容判定部120が判定する。会話内容判定部120が適切でないと判定した場合、更新対象登録部128が、S504で選択された一の会話アルゴリズムを更新対象として登録する(S514)。そして、S510に戻り、会話実行部116が、他の会話内容を取得する。
S512で、会話内容が適切であると判定された場合、会話実行部116が、S510で取得した会話内容を音声出力制御部118に音声出力させる(S516)。S518では、会話実行部116が、ユーザ10による会話終了指示を受領したか否かを判定する。終了指示を受領していなかった場合、S520に進む。S520では、S516で出力した音声に対してユーザ10が発した音声を音声取得部122が取得する。
S522では、音声取得部122が取得した音声が、S516で出力した会話内容に対する指摘であるか否かを、指摘受付部132が判定する。指摘受付部132が、会話内容に対する指摘であると判定した場合、更新対象登録部128は、S504で選択された一の会話アルゴリズムを更新対象として登録する(S524)。
なお、更新対象登録部128は、他のユーザ10が、当該会話内容に対して指摘しているか否かをさらに考慮して、当該一の会話アルゴリズムを更新対象とするか否かを判断してもよい。例えば、更新対象登録部128は、当該会話内容に対して指摘しているユーザ10の数又は割合が予め定められた閾値を超えている場合に、当該一の会話アルゴリズムを更新対象として登録し、超えていない場合には更新対象として登録しない。これにより、極少数のユーザ10のみが指摘している場合及び会話内容に対する指摘であるとの誤検出があった場合などに、当該一の会話アルゴリズムを不適切に更新対象としてしまうことを防止できる。
S526では、感情取得部126が、S520で取得した音声に基づいて、ユーザ10の感情の種類と感情値とを取得する。S528では、S526で取得した感情値が、予め定められた閾値を超えているか否かを、更新対象登録部128が判定する。更新対象登録部128が超えていると判定した場合、更新対象登録部128は、S504で選択された一の会話アルゴリズムを更新対象として登録する(S530)。
更新対象登録部128は、更新対象として登録した一の会話アルゴリズムに、S516で出力した会話内容を対応付けて登録してもよい。これにより、当該一の会話アルゴリズムによる、どの会話内容に対して、ユーザ10の感情が大きく変動したのかを、後に容易に確認できる。
なお、更新対象登録部128は、他のユーザ10の感情値が予め定められた閾値を超えているか否かをさらに考慮して、当該一の会話アルゴリズムを更新対象とするか否かを判断してもよい。例えば、更新対象登録部128は、S516で出力した会話内容に対して、感情値が閾値を超えたユーザ10の数又は割合が予め定められた閾値を超えている場合に、当該一の会話アルゴリズムを更新対象として、超えていない場合には更新対象としない。これにより、極少数のユーザのみの感情が大きく変動した場合及び感情値の誤認識があった場合などに、当該一の会話アルゴリズムを不適切に更新対象としてしまうことを防止できる。
S532では、更新対象登録部128が、S520で取得した音声に対応する会話内容があるか否かを判定する。更新対象登録部128が、取得した音声に対応する会話内容があると判定した場合、S516に戻る。そして、会話実行部116が、S520で取得した音声に対応する会話内容を音声出力制御部118に音声出力させる。
S532で、更新対象登録部128が、取得した音声に対応する会話内容がないと判定した場合、更新対象登録部128が、S504で選択された一の会話アルゴリズムを更新対象として登録する(S534)。S536では、会話実行部116が、不明応答内容を取得する。不明応答内容とは、取得した音声に対応する会話内容がない場合に出力する応答内容であり、例えば、ユーザ10が発声した内容を問い合わせ会話内容及びユーザ10が発声した内容に対する応答をはぐらかす会話内容などである。S536で、不明応答内容を取得した後、S516に戻り、会話実行部116が、不明応答内容を音声出力制御部118に音声出力させる。
S518で、会話実行部116が、ユーザ10による会話終了指示を受領したと判定した場合、会話処理を終了する。会話処理装置100が、図5に示す動作フローを実行することにより、必要性の高い会話アルゴリズムを優先的に更新対象として登録することができる。
なお、図5では、S506で複数の会話アルゴリズムの全てが使用されたと判定した場合、S512で会話内容が適切でないと判定した場合、S522で取得した音声が会話内容に対する指摘であると判定した場合、S528で、感情値が予め定められた閾値を超えていると判定した場合、S532で取得した音声に対応する会話内容がないと判定した場合に、更新対象を登録する例を挙げて説明したが、これらすべての場合に更新対象を登録することは必須ではない。すなわち、会話処理装置100は、これらのうち少なくとも一つを含む動作フローを実行してもよい。
また、図5では、S506で、更新対象登録部128が、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムの全てが使用済みであるか否かを判定する場合を例に挙げて説明したが、これに限らない。更新対象登録部128は、会話アルゴリズムDB30に記憶されている複数の会話アルゴリズムが、予め定められた割合を超えて使用済みであるか否かを判定してよい。また、更新対象登録部128は、S504で選択された会話アルゴリズムを含む会話アルゴリズムグループに含まれる複数の会話アルゴリズムが、予め定められた割合を超えて使用済みであるか否かを判定してもよい。予め定められた割合は、任意に設定されてよい。
図6は、会話処理装置100による動作フローの一例を概略的に示す。図6では、自然会話DB41に記憶された複数の会話内容46を用いてユーザ10との会話を実行する場合を例に挙げて説明する。図6に示す動作フローは、例えば、音声取得部122がユーザ10からの音声を取得した任意のタイミングで開始してよい。
S602では、カテゴリ選択部124が、ユーザ10の音声に基づいて、複数のカテゴリ44のうちの一のカテゴリ44を選択状態にする。S604では、会話実行部116が、自然会話DB41に記憶された、選択状態のカテゴリ44に対応付けられた複数の会話内容46から一の会話内容46を取得する。
S606では、S602で選択された一のカテゴリに対応する複数の会話内容46のうち、未出力の会話内容46が有るか否かを、更新対象登録部128が判定する。未出力の会話内容46がない場合、更新対象登録部128は、S602で選択した一のカテゴリに対応する複数の会話内容46を更新対象として登録する(S608)。そして、S602に戻り、カテゴリ選択部124が、他のカテゴリ44を選択する。
更新対象登録部128は、他のユーザ10の使用履歴をさらに考慮して、当該一のカテゴリに対応する複数の会話内容46を更新対象として登録するか否かを判断してもよい。例えば、更新対象登録部128は、当該一のカテゴリに対応する複数の会話内容46のすべてが出力されたユーザ10の数又は割合が予め定められた閾値を超えている場合に当該一のカテゴリに対応する複数の会話内容46を更新対象として登録し、超えていない場合には更新対象として登録しない。これにより、極少数のユーザ10のみが当該一のカテゴリに対応するすべての会話内容46の出力を受け付けた場合に、当該一のカテゴリに対応する複数の会話内容46を不適切に更新対象としてしまうことを防止できる。
また、更新対象登録部128は、当該一のカテゴリに対応する複数の会話内容46のうち予め定められた割合以上の会話内容46が出力されたユーザ10の数又は割合が予め定められた閾値を超えている場合に当該一のカテゴリに対応する複数の会話内容46を更新対象として登録し、超えていない場合には更新対象として登録しないようにしてもよい。予め定められた割合は任意に設定されてよい。
S606で未出力の会話内容46があると判定された場合、会話実行部116が取得した会話内容46が適切であるか否かを、会話内容判定部120が判定する(S610)。会話内容判定部120が適切でないと判定した場合、更新対象登録部128が、S602で選択された一のカテゴリに対応する複数の会話内容46を更新対象として登録する(S612)。そして、S604に戻り、会話実行部116が、他の会話内容46を取得する。
S614では、会話実行部116が、S604で取得した会話内容46を音声出力制御部118に音声出力させる。S616では、会話実行部116が、ユーザ10による会話終了指示を受領したか否かを判定する。終了指示を受領していなかった場合、S618に進む。
S618では、音声取得部122が、S614で出力した音声に対するユーザ10の音声を取得する。S620では、音声取得部122が取得した音声が、S614で出力した会話内容46に対する指摘であるか否かを、指摘受付部132が判定する。指摘受付部132が会話内容46に対する指摘であると判定した場合、更新対象登録部128は、S614で出力した会話内容46を更新対象として登録する(S622)。
なお、更新対象登録部128は、他のユーザ10が、当該会話内容46に対して指摘しているか否かをさらに考慮して、当該会話内容46を更新対象とするか否かを判断してもよい。例えば、更新対象登録部128は、当該会話内容46に対して指摘しているユーザ10の数又は割合が予め定められた閾値を超えている場合に、当該会話内容46を更新対象として登録し、超えていない場合には更新対象として登録しない。これにより、極少数のユーザ10のみが指摘している場合及び会話内容46に対する指摘であるとの誤検出があった場合などに、当該会話内容46を不適切に更新対象としてしまうことを防止できる。
S624では、感情取得部126が、S618で取得した音声に基づいて、ユーザ10の感情の種類と感情値とを取得する。S626では、S624で取得した感情値が、予め定められた閾値を超えているか否かを、更新対象登録部128が判定する。更新対象登録部128が超えていると判定した場合、更新対象登録部128は、S602で選択された一のカテゴリに対応する複数の会話内容46を更新対象として登録する(S628)。
なお、更新対象登録部128は、他のユーザ10の感情値が予め定められた閾値を超えているか否かをさらに考慮して、当該一のカテゴリに対応する複数の会話内容46を更新対象とするか否かを判断してもよい。例えば、更新対象登録部128は、S614で出力した会話内容に対して、感情値が閾値を超えたユーザ10の数又は割合が予め定められた閾値を超えている場合に、当該カテゴリに対応する複数の会話内容46を更新対象として、超えていない場合には更新対象としない。これにより、極少数のユーザのみの感情が大きく変動した場合及び感情値の誤認識があった場合などに、当該カテゴリに対応する複数の会話内容46を不適切に更新対象としてしまうことを防止できる。
S628で、当該一のカテゴリに対応する複数の会話内容46を更新対象として登録した後、及び、S626で感情値が閾値を超えていないと判定された後、S602に戻る。そして、カテゴリ選択部124が、S618で取得した音声に基づいて、複数のカテゴリ44のうちの一のカテゴリ44を選択状態にし、S604で、会話実行部116が、他の会話内容46を取得する。カテゴリ選択部124は、それまで選択状態であったカテゴリ44の選択状態を維持してもよく、また、他のカテゴリ44を選択状態にしてもよい。S616で、会話実行部116が、ユーザ10による会話終了指示を受領したと判定した場合、会話処理を終了する。会話処理装置100が、図6に示す動作フローを実行することにより、必要性の高い会話内容を優先的に更新対象として登録することができる。
なお、図6では、S606で未出力の会話内容46がないと判定された場合、S610で会話内容46が適切でないと判定した場合、S620で、取得した音声が会話内容46に対する指摘であると判定した場合、及びS626で、感情値が予め定められた閾値を超えていると判定した場合に、更新対象を登録する例を挙げて説明したが、これらすべての場合に更新対象を登録することは必須ではない。すなわち、会話処理装置100は、これらのうち少なくとも一つを含む動作フローを実行してもよい。
図7は、更新装置300の機能構成の一例を概略的に示す。更新装置300は、更新対象通知受付部302、更新リスト管理部304、更新要求部306、更新対象提示部308、更新指示受付部310、更新部312、及び優先順位設定部314を備える。なお、更新装置300がこれらのすべての構成を備えることは必須とは限らない。
更新対象通知受付部302は、更新対象通知部130から更新対象通知を受け付ける。更新対象通知受付部302は、更新対象登録部128が登録したアルゴリズム識別情報、カテゴリ識別情報、及び会話内容識別情報の通知を受け付けてよい。また、更新対象通知受付部302は、更新対象として更新対象登録部128が登録した会話アルゴリズム及び会話内容と、更新対象登録部128が登録した会話履歴とを受け付けてよい。この場合、更新対象通知受付部302は、会話履歴を受け付けてよく、また、会話履歴の識別情報を受け付けてもよい。
また、更新対象通知受付部302は、更新対象として更新対象登録部128が登録した会話アルゴリズム及び会話内容に加えて、予め定められた条件が満たされたときの日時、予め定められた条件が満たされたときの情報端末200の位置情報、ユーザ10の性別、ユーザ10の年齢、情報端末識別情報及び会話アプリ識別情報の少なくともいずれかを受け付けてよい。また、更新対象通知受付部302は、更新対象登録部128が生成した更新対象リスト、複数の会話アルゴリズムの一覧データ、並びに複数のカテゴリ及び複数の会話内容の一覧データを、受け付けてもよい。
更新リスト管理部304は、更新対象の会話アルゴリズム及び会話内容を登録した更新リスト342を管理する。更新リスト管理部304は、更新対象通知受付部302が受け付けた会話履歴を更新リスト342に登録して管理してもよい。更新リスト管理部304は、更新対象通知受付部302が受け付けた会話履歴の識別情報を更新リスト342に登録して管理してもよい。更新リスト管理部304は、更新対象通知受付部302が受け付けたアルゴリズム識別情報、カテゴリ識別情報、及び会話内容識別情報を、更新リスト342に登録してよい。
更新リスト管理部304は、アルゴリズム識別情報、カテゴリ識別情報、及び会話内容識別情報に対して、更新対象となっているか否かを示す更新フラグを対応付けてよい。また、更新リスト管理部304は、更新対象通知受付部302が受け付けた、予め定められた条件が満たされたときの日時、予め定められた条件が満たされたときの情報端末200の位置情報、ユーザ10の性別、ユーザ10の年齢、情報端末識別情報及び会話アプリ識別情報を、これらの識別情報に対応付けてよい。
更新要求部306は、オペレータ12に対して更新を要求する。更新要求部306は、例えば、更新を要求するダイアログを表示する。また更新要求部306は、更新を要求する内容を含む電子メールをオペレータ12のメールアドレスに送信してもよい。また更新要求部306は、任意のアプリケーションを利用してオペレータ12に対して更新を要求してよい。例えば、更新要求部306は、Skype(登録商標)及びLINE等のアプリケーションを利用して、音声、テキストメッセージ及びテキストチャット等によって、オペレータ12に対して更新を要求する。Skype(登録商標)及びLINEは例示であり、更新要求部306は他のアプリケーションを利用してオペレータ12に対して更新を要求してもよい。
更新要求部306は、例えば、更新対象通知受付部302が更新対象通知を受け付けたのに応じて、オペレータ12に更新を要求する。また、更新要求部306は、予め定められた期間が経過するまでの間に、更新対象通知受付部302が更新対象通知を受け付けていた場合に、当該期間中に受け付けた更新対象通知を用いて、オペレータ12に更新を要求してよい。また、更新要求部306は、更新対象通知受付部302が予め定められた数の更新対象の通知を受け付けたのに応じて、当該予め定められた数の更新対象通知を用いて、オペレータ12に更新を要求してもよい。
更新対象提示部308は、更新対象となっている会話アルゴリズム、カテゴリ、及び会話内容を提示する。更新対象提示部308は、更新リスト342において、更新フラグが立っているアルゴリズム識別情報及び会話内容識別情報を更新対象として表示してよい。更新対象提示部308は、更新フラグが立っている会話内容識別情報により識別される会話内容を表示してもよい。更新対象提示部308は、会話アルゴリズム及び会話内容とともに登録された会話履歴を、会話アルゴリズム及び会話内容に併せて提示してもよい。これにより、オペレータ12は、会話履歴を参考にして、更新対象となっている会話アルゴリズム及び会話内容を更新することができる。
更新対象提示部308は、オペレータ12等によって入力された条件に一致する更新対象を提示してもよい。例えば、更新対象提示部308は、予め定められた条件が満たされたときの日時の指定を受け付けた場合に、当該指定された日時が対応付けられた更新対象を提示する。また、更新対象提示部308は、予め定められた条件が満たされたときの情報端末200の位置情報の指定を受け付けた場合に、指定された位置情報が対応付けられた更新対象を提示してよい。また、更新対象提示部308は、ユーザ10の性別及び年齢の少なくともいずれかの指定を受け付けた場合に、指定された性別、年齢が対応付けられた更新対象を提示する。また、更新対象提示部308は、情報端末識別情報の指定を受け付けた場合、指定された情報端末識別情報が対応付けられた更新対象を提示する。また、更新対象提示部308は、会話アプリ識別情報の指定を受け付けた場合、指定された会話アプリ識別情報が対応付けられた更新対象を提示する。更新対象提示部308は、予め定められた条件が満たされた時の日時、予め定められた条件が満たされた時の情報端末200の位置情報、ユーザ10の性別、ユーザ10の年齢、情報端末識別情報及び会話アプリ識別情報を任意に組み合わせた条件の指定を受け付けてもよい。これにより、複数の更新対象のうち、オペレータ12の関心が高い更新対象を提示することができる。
更新指示受付部310は、会話アルゴリズム及び会話内容に対する更新指示を受け付ける。更新指示受付部310は、例えば、一の会話アルゴリズムに対する会話内容の追加指示を受け付ける。また、更新指示受付部310は、新たな会話アルゴリズムの追加指示を受け付けてもよい。また、更新指示受付部310は、会話内容の変更指示及び追加指示などの更新指示を受け付けてもよい。
更新部312は、更新指示受付部310が受け付けた更新指示に従って、会話アルゴリズムDB30に記憶された複数の会話アルゴリズム及び会話内容DB40に記憶された複数の会話内容を更新する。
優先順位設定部314は、更新対象の会話アルゴリズム及び会話内容に更新の優先順位を設定する。例えば、優先順位設定部314は、予め定められた条件が満たされたときの日時、予め定められた条件が満たされたときの情報端末200の位置情報、ユーザ10の性別、及びユーザ10の年齢を条件としたルールに従って、更新対象に優先順位を設定する。
図8は、更新装置300による更新要求処理の動作フローの一例を概略的に示す。図8に示す動作フローは、更新装置300が、更新対象の通知を待ち受ける状態になった場合に開始する。
S802で、更新対象通知を受け付けた場合、S804に進む。S804では、更新リスト管理部304が、S802で受け付けた更新対象通知に従って、更新対象の会話アルゴリズム及び会話内容を、更新リスト342に追加する。更新リスト管理部304は、更新対象通知に会話履歴が含まれている場合、更新対象の会話アルゴリズム及び会話内容に加えて、当該会話履歴を更新リスト342に追加してよい。S806では、更新リスト管理部304が、追加した更新対象の会話アルゴリズム及び追加内容に対して、更新フラグを立てる。
S808では、更新要求部306が、更新を要求するか否かを判定する。例えば、更新要求部306は、予め定められた期間が経過するまでの間に、更新対象通知受付部302が更新対象通知を受け付けていたか否かを判定する。また、更新要求部306は、更新対象通知受付部302が予め定められた数の更新対象の通知を受け付けたか否かを判定する。
S810では、更新要求部306が、オペレータ12に対して更新を要求する。更新要求部306は、更新を要求するダイアログの表示および更新を要求する内容を含む電子メールの送信等によって、更新を要求してよい。このように、更新装置300が、会話処理装置100から受け付けた更新対象通知に基づいて、オペレータ12に対して更新を要求することにより、会話アルゴリズムDB30に記憶された複数の会話アルゴリズム及び会話内容DB40に記憶された複数の会話内容のうち、優先的に更新するべきものを効率的にオペレータ12に更新させることができる。
以上の説明において、会話処理装置100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。また、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。例えば、会話処理装置100上でプログラムが実行されることにより、コンピュータが、会話処理装置100の一部として機能してもよい。プログラムは、コンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、会話処理装置100の各部の動作を規定したソフトウエア又はプログラムを起動することにより、会話処理装置100が実現されてよい。
コンピュータにインストールされ、コンピュータを本実施形態に係る会話処理装置100の一部として機能させるプログラムは、会話処理装置100の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU等に働きかけて、コンピュータを、会話処理装置100の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の会話処理装置100を構築することができる。
また、更新装置300の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。また、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。例えば、更新装置300上でプログラムが実行されることにより、コンピュータが、更新装置300の一部として機能してもよい。プログラムは、コンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、更新装置300の各部の動作を規定したソフトウエア又はプログラムを起動することにより、更新装置300が実現されてよい。
コンピュータにインストールされ、コンピュータを本実施形態に係る更新装置300の一部として機能させるプログラムは、更新装置300の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU等に働きかけて、コンピュータを、更新装置300の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の更新装置300を構築することができる。
上記実施形態では、会話処理装置100が実行する会話処理が音声会話である場合をおもに説明したが、これに限らない。会話処理装置100が実行する会話処理は、テキストベースの会話処理であってもよい。会話処理装置100は、情報端末200を介して、テキストベースでユーザ10との会話を実行してよい。また、会話処理装置100は、不図示のディスプレイ及び入力デバイスを備えることにより、直接ユーザ10とのテキストベースの会話を実行してよい。感情取得部126は、テキストベースでユーザ10との会話が実行された場合、表情取得部125から、ユーザ10の感情の種類と感情値とを取得してよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。