(57)【要約】【課題】不具合発生時の調査対象のデータ量を削減する。【解決手段】情報処理装置１０は、管理対象処理が実行されるごとに、実行された管理対象処理の内容を示すログメッセージを、管理対象処理の実行時刻に対応付けて実行ログ１１ａに登録する。また情報処理装置１０は、利用者１の状態を観測する観測装置２から利用者１の状態を示す観測データ３ａ，３ｂ，３ｃを取得する。次に情報処理装置１０は、観測データ３ａ，３ｂ，３ｃに表される利用者１の感情の表出状態に基づいて、利用者１が怒りの感情を表出した怒り表出時刻を判定する。次に情報処理装置１０は、怒り表出時刻に基づいて管理対象処理の不具合の調査対象期間を決定する。そして情報処理装置１０は、実行ログ１１ａに含まれるログメッセージのうち、調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージ４を抽出する。【選択図】図１
2020160677.tif 000002
【特許請求の範囲】
【請求項１】
管理対象処理の実行履歴である実行ログを記憶する記憶部と、
前記管理対象処理が実行されるごとに、実行された前記管理対象処理の内容を示すログメッセージを、前記管理対象処理の実行時刻に対応付けて前記実行ログに登録し、利用者の状態を観測する観測装置から前記利用者の状態を示す観測データを取得し、前記観測データに表される前記利用者の感情の表出状態に基づいて、前記利用者が怒りの感情を表出した怒り表出時刻を判定し、前記怒り表出時刻に基づいて前記管理対象処理の不具合の調査対象期間を決定し、前記実行ログに含まれる前記ログメッセージのうち、前記調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージを抽出する処理部と、
を有する情報処理装置。
【請求項２】
前記処理部は、人間の生理反応に基づく怒りの持続時間だけ前記怒り表出時刻より前の時刻から、前記怒り表出時刻までの期間を、前記調査対象期間に含める、
請求項１記載の情報処理装置。
【請求項３】
前記処理部は、前記観測データを取得するごとに、前記観測データの取得時刻に対応付けて、前記観測データに表される前記利用者の怒りの感情の表出度合いを示す数値を時系列で前記記憶部に格納し、前記記憶部から、しきい値以上の前記数値が時系列で連続する１以上の怒り表出期間を特定し、特定した前記怒り表出期間ごとに前記調査対象期間を決定する、
請求項１または２記載の情報処理装置。
【請求項４】
前記処理部は、前記管理対象処理の不具合に関する情報の外部機器への送信指示が入力されたとき、抽出した前記調査対象ログメッセージを前記外部機器へ送信する、
請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
コンピュータに、
管理対象処理が実行されるごとに、実行された前記管理対象処理の内容を示すログメッセージを、前記管理対象処理の実行時刻に対応付けて、前記管理対象処理の実行履歴である実行ログに登録し、
利用者の状態を観測する観測装置から前記利用者の状態を示す観測データを取得し、
前記観測データに表される前記利用者の感情の表出状態に基づいて、前記利用者が怒りの感情を表出した怒り表出時刻を判定し、
前記怒り表出時刻に基づいて前記管理対象処理の不具合の調査対象期間を決定し、
前記実行ログに含まれる前記ログメッセージのうち、前記調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージを抽出する、
処理を実行させるログ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、およびログ管理プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータやスマートフォンなどの情報端末の使用中に何らかの不具合があったとき、情報端末を使用する利用者は、例えば該当情報端末または該当情報端末で使用されているソフトウェアを販売した企業のサポートセンタに問い合わせる。これにより、利用者は、サポートセンタのサポート担当者から、不具合への対応方法などの情報を得ることができる。
【０００３】
多くの企業には利用者からの問い合わせ受け付け用のサーバが導入されている。例えば利用者は、自身の有する情報端末を企業側のサーバに接続し、サーバに問い合わせ内容を送信することができる。また利用者は、不具合が発生した情報端末のハードウェアまたはソフトウェアの実行ログを、該当情報端末から企業側のサーバに送信することもできる。不具合の報告を受けた企業側のサポート担当者は、利用者からの詳細な状況の聞き取り結果と、ハードウェアまたはソフトウェアの実行に伴う継続的な実行ログとを突合せることによって、不具合の原因を調査する。サポート担当者は、不具合の原因が特定できると、その不具合の対応方法を利用者に連絡する。
【０００４】
利用者へのサポート用のシステムに関する技術としては、例えば被験者の感情状態を分析して、その後の被験者の行動を予測することができるコールセンタシステムが提案されている。なお人の感情状態の分析に関しても、さまざまな技術がある。例えば人物が表出する非言語情報から、当該人物によって表出されていない感情を推測する手がかりとなる情報を収集する非言語情報解析装置が提案されている。また、あいづちの入れ方に基づいた話者の感情状態の判定精度を向上させる発話状態判定装置も提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２９４６４７号公報
【特許文献２】特開２０１３−０９９３７３号公報
【特許文献３】特開２０１７−０４９３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
不具合の原因の調査では、利用者から得られる情報が多いほど、不具合の原因を特定できる可能性が高くなる。そのため情報端末は、詳細な実行ログを継続的に高頻度で記録する場合がある。しかし、詳細な実行ログが継続的に高頻度で記録された結果、不具合発生時に調査対象となる実行ログのデータ量が膨大となり、収集した実行ログの中から、不具合に関連する情報をサポート担当者が見つけ出すのに要する時間が長期化している。
【０００７】
１つの側面では、本件は、不具合発生時の調査対象のデータ量を削減することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、以下に示す記憶部と処理部とを有する情報処理装置が提供される。
記憶部は、管理対象処理の実行履歴である実行ログを記憶する。処理部は、管理対象処理が実行されるごとに、実行された管理対象処理の内容を示すログメッセージを、管理対象処理の実行時刻に対応付けて実行ログに登録する。また処理部は、利用者の状態を観測する観測装置から利用者の状態を示す観測データを取得する。次に処理部は、観測データに表される利用者の感情の表出状態に基づいて、利用者が怒りの感情を表出した怒り表出時刻を判定する。次に処理部は、怒り表出時刻に基づいて管理対象処理の不具合の調査対象期間を決定する。そして処理部は、実行ログに含まれるログメッセージのうち、調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージを抽出する。
【発明の効果】
【０００９】
１態様によれば、不具合発生時の調査対象のデータ量を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る情報処理装置の一例を示す図である。
【図２】システム構成の一例を示す図である。
【図３】情報端末のハードウェアの一例を示す図である。
【図４】情報端末の機能を示すブロック図である。
【図５】感情ログの一例を示す図である。
【図６】実行ログの一例を示す図である。
【図７】利用者による入力に応じた情報端末の反応の一例を示す図である。
【図８】改善要求画面の一例を示す図である。
【図９】調査用ログ送信処理の一例を示す図である。
【図１０】サーバに送信される情報の一例を示す図である。
【図１１】感情認識処理の手順の一例を示すフローチャートである。
【図１２】マイク入力感情判定処理の手順の一例を示すフローチャートである。
【図１３】カメラ入力感情判定処理の手順の一例を示すフローチャートである。
【図１４】アプリ実行処理の手順の一例を示すフローチャートである。
【図１５】調査用ログ送信処理の手順の一例を示すフローチャート（１／２）である。
【図１６】調査用ログ送信処理の手順の一例を示すフローチャート（２／２）である。
【図１７】利用者による情報端末への入力例を示す図である。
【図１８】感情ログに記録された感情認識処理の結果の一例を示す図である。
【図１９】実行ログからのログメッセージの抽出例を示す図である。
【図２０】感情認識サービスを利用したシステムの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず、第１の実施の形態について説明する。
【００１２】
図１は、第１の実施の形態に係る情報処理装置の一例を示す図である。図１には、管理対象処理の実行ログ１１ａから、ソフトウェアまたはハードウェアの不具合の調査に有用な調査対象ログメッセージ４を抽出する情報処理装置１０が示されている。情報処理装置１０は、例えば調査対象ログメッセージ４を抽出するための処理手順が記述されたログ管理プログラムを実行することにより、調査対象ログメッセージ４の抽出処理を実施することができる。
【００１３】
情報処理装置１０には、利用者の状態を観測する観測装置２が接続されている。観測装置２としては、例えばカメラ２ａやマイク２ｂがある。カメラ２ａは、利用者１の状態を示す画像を撮影する。マイク２ｂは、利用者１が発する音声を集音する。
【００１４】
情報処理装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば情報処理装置１０が有するメモリ、またはストレージ装置である。処理部１２は、例えば情報処理装置１０が有するプロセッサ、または演算回路である。
【００１５】
記憶部１１は、管理対象処理の実行履歴である実行ログ１１ａを記憶する。管理対象処理は、例えば不具合の調査対象となるソフトウェアまたはハードウェアを用いて処理部１２が実行した処理である。
【００１６】
処理部１２は、例えば利用者１からの操作に応じて、管理対象処理を実行する（ステップＳ１）。そして処理部１２は、管理対象処理を実行するごとに、実行された管理対象処理の内容を示すログメッセージを、管理対象処理の実行時刻に対応付けて実行ログ１１ａに登録する（ステップＳ２）。
【００１７】
また処理部１２は、観測装置２から利用者１の状態を示す観測データ３ａ，３ｂ，３ｃを取得する（ステップＳ３）。処理部１２は、取得した観測データ３ａ，３ｂ，３ｃに表される利用者の感情の表出状態に基づいて、利用者１が怒りの感情を表出した怒り表出時刻を判定する（ステップＳ４）。例えばカメラ２ａから取得した観測データ３ａ，３ｂ，３ｃは、利用者１が写った画像データである。処理部１２は、画像データに写る利用者１の顔の表情を解析し、画像データ取得時の利用者１の怒りの感情の有無を判断する。そして処理部１２は、利用者１の怒りの感情が表出されている画像データの取得時刻を、怒り表出時刻と判定する。
【００１８】
次に処理部１２は、怒り表出時刻に基づいて管理対象処理の不具合の調査対象期間を決定する（ステップＳ５）。なお怒りの感情は、情動と呼ばれる比較的急速に引き起こされた一時的で急激な感情の一種であり、生物学的には生体物質の生理反応である。そこで処理部１２は、人間の生理反応に基づく怒りの持続時間だけ怒り表出時刻より前の時刻から、怒り表出時刻までの期間を、調査対象期間に含める。
【００１９】
そして処理部１２は、実行ログ１１ａに含まれるログメッセージのうち、調査対象期間内の実行時刻に対応付けられたログメッセージを、調査対象ログメッセージ４として抽出する（ステップＳ６）。例えば処理部１２は、管理対象処理の不具合に関する情報の外部機器への送信指示が入力されたとき、調査対象ログメッセージ４の抽出を行い、抽出した調査対象ログメッセージ４を外部機器へ送信する。送信先の外部機器は、例えば管理対象処理のサポートを行う担当者が使用するサーバなどのコンピュータである。
【００２０】
このような情報処理装置１０によれば、管理対象処理の実行に不具合が発生し、利用者１が怒りの感情を覚え、その感情を表出した怒り表出時刻に基づいて調査対象期間が決定される。そして、調査対象期間内に取得されたログメッセージのみが、調査対象ログメッセージ４として出力される。これにより、管理対象処理の不具合を調査する際の調査対象とするデータ量を削減することができる。
【００２１】
図１の例では、時刻ｔ１，ｔ２に取得した観測データ３ａ，３ｂには、利用者１に怒りの感情は表れていない。それに対して時刻ｔ３に取得した観測データ３ｃには、利用者１に怒りの感情が表れている。そこで処理部１２は、時刻ｔ３を怒り表出時刻と判定する。この場合、処理部１２は、例えば時刻ｔ３よりも所定時間遡った時刻ｔ４から時刻ｔ３の期間を調査対象期間に決定する。時刻ｔ４は、時刻ｔ３から、人間の怒り持続時間だけ減算した時刻である。
【００２２】
実行ログ１１ａには、時刻Ｔ１と時刻Ｔ２にログメッセージが登録されている。時刻Ｔ１は調査対象期間よりも前の時刻であるが、時刻Ｔ２は調査対象期間内の時刻である。そこで処理部１２は、時刻Ｔ２に対応するログメッセージを、調査対象ログメッセージ４として出力する。
【００２３】
管理対象処理の不具合を調査する担当者は、調査対象ログメッセージ４に基づいて、不具合の原因を調査する。その際、調査対象のデータ量が、実行ログ１１ａ全体よりも少なくてすむ。しかも調査対象ログメッセージ４に不具合の原因を示す情報が含まれている可能性が高い。すなわち、管理対象処理の不具合に対して利用者１が怒りの感情を覚えた場合、利用者１の怒り表出時刻よりも前に、管理対象処理で不具合が発生しているものと考えられる。また利用者１の怒りの感情は、管理対象処理での不具合の発生から、人間の生理反応に基づく怒りの持続時間だけ持続する。そのため、利用者１の怒り表出時刻までの、怒り持続時間分の長さの期間を調査対象期間とすることで、管理対象処理で不具合が生じた時刻が、調査対象期間内に含まれることとなる。従って、調査対象期間内に取得されたログメッセージには、不具合の原因を示す情報が含まれていることが期待できる。
【００２４】
また処理部１２が、管理対象処理の不具合に関する情報の外部機器への送信指示が入力されたときに、調査対象ログメッセージ４を外部機器へ送信するようにすることで、無駄な調査対象ログメッセージ４の抽出および送信を行わずにすむ。例えば利用者１の怒りの感情の表出を検出するごとに調査対象ログメッセージ４を外部機器へ送信すると、管理対象処理の不具合以外の原因で利用者１が不機嫌となったときにまで調査対象ログメッセージ４が送信されてしまう。それに対して、例えば利用者１によるユーザサポートへの問い合わせの入力時に、処理部１２が調査対象ログメッセージ４をユーザサポート用のサーバへ送信することで、管理対象処理の不具合と無関係の調査対象ログメッセージ４が送信されることが抑止できる。
【００２５】
なお処理部１２は、観測データ３ａ，３ｂ，３ｃを取得するごとに、観測データ３ａ，３ｂ，３ｃの取得時刻に対応付けて、観測データに表される利用者１の怒りの感情の表出度合いを示す数値を時系列で記憶部１１に格納しておくこともできる。この場合、処理部１２は、所定のタイミングで、記憶部１１から、しきい値以上の数値が時系列で連続する１以上の怒り表出期間を特定する。そして処理部１２は、特定した怒り表出期間ごとに調査対象期間を決定する。これにより、例えば管理対象処理の不具合が、間欠的に繰り返し発生した場合、発生した不具合ごとの調査対象期間を決定することができる。その結果、過去に発生している管理対象処理の不具合を示すログメッセージを、漏らさずに調査対象ログメッセージ４とすることができる。
【００２６】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、パーソナルコンピュータまたはスマートフォンなどの情報端末において、アプリケーションソフトウェアの実行時に不具合が発生した場合に、サポート用のサーバに転送するログのデータ量を削減するものである。以下、アプリケーションソフトウェアを単に「アプリ」と呼ぶ。なお、第２の実施の形態における情報端末は、第１の実施の形態に示した情報処理装置１０の一例である。
【００２７】
まず、アプリのサポート用のサーバに転送するログのデータ量を削減することの重要性について説明する。近年、パーソナルコンピュータのアプリまたはスマートフォン向けアプリは、インターネット経由でダウンロードされるものが増加している。このようなアプリ使用中の不具合についての改善要求や問い合わせは、対面や電話窓口といった利用者とサポートとの双方向のやり取りではなく、メールや問い合わせフォームなど、インターネット経由の短文の一方的なやり取りで行われることが多い。
【００２８】
サポート担当者によるアプリの不具合調査は、利用者からの不具合発生状況の聞き取り結果と、アプリの実行により出力される実行ログとの突合せによって行われる。しかしアプリのサポートで多く行われているような、メールや問い合わせフォームによる利用者からの問い合わせの受け付けでは、利用者から不具合の詳細な内容の聞き取りを行うことは困難である。そのため、アプリの不具合の調査には、実行ログがより重要となる。
【００２９】
そこでアプリは、非常に詳細なイベントに関する処理についても、ログメッセージを出力するように設計されている。その結果、アプリを実行中は、実行ログが短時間で大量に出力される。情報端末からサーバへ実行ログを送信する際、例えば利用者が不具合に関係するメッセージと関係ないログメッセージとを切り分けることができれば、情報端末からサーバへ、不具合に関係するログメッセージのみを送信することができる。しかし、サポート担当者と電話などによる詳細な情報交換を行っていない利用者は、不具合に関係しているメッセージと無関係なメッセージとを切り分けることができない。そのため、利用者は、情報端末に蓄積されている実行ログのすべてを、サポート用のサーバに送信することになる。
【００３０】
大量の実行ログがサーバに送信された場合、サポート側と利用者側との双方にとって問題が生じる。サポート側の問題は、サポート側では大量の実行ログをすべて調査しなければならないため、調査に膨大な労力と時間がかかることである。利用者側の問題は、大量の実行ログをサーバに送信しなければならず、不具合の原因が容易に特定可能な事象であったとしても、サポートを受けるために長期間待たされることである。また、利用者が従量制で課金される料金形態でネットワークを使用している場合、利用者側には、実行ログの送信のために、無視できない費用が発生してしまうという問題もある。
【００３１】
そこで第２の実施の形態では、情報端末が、不具合発生時刻を含む期間を特定し、該当期間内のログメッセージのみをサーバに送信することで、アプリの不具合を調査する際の調査対象のデータ量を削減する。これにより、サポート側での調査の労力と調査に要する時間とを削減することができる。また利用者側の、不具合に関するサポートの待ち時間の短縮、およびネットワーク使用料の負担の軽減も図ることもできる。
【００３２】
図２は、システム構成の一例を示す図である。情報端末１００を販売した企業、または情報端末１００で実行しているアプリを販売した企業のサポートセンタ３０に、情報端末１００の利用者４１へのサポート用のサーバ３１が設けられている。情報端末１００は、ネットワーク２０を介してサーバ３１に接続されている。情報端末１００の利用者４１は、情報端末１００においてアプリを実行中に不具合が発生した場合、不具合の解決方法をサポートセンタ３０に問い合わせる。例えば利用者４１は、情報端末１００に問い合わせ内容を入力し、その問い合わせ内容をサーバ３１に送信する。この際、情報端末１００は、不具合が発生したアプリの実行ログもサーバ３１に送信する。サポートセンタ３０のサポート担当者３２は、情報端末１００からサーバ３１に送られた問い合わせ内容と実行ログとに基づいて、不具合の原因を特定する。
【００３３】
情報端末１００は、サーバ３１に実行ログを送信する際、情報端末１００利用時における利用者４１の感情変化に基づいて、不具合の発生時刻を推定する。例えばアプリの不具合発生時、その不具合の影響が大きければ大きいほど、利用者４１は不快になり、反射的に怒りの感情を覚える。従って情報端末１００の利用者４１が怒った状態にあるとき、怒りの原因となるアプリの不具合が発生している可能性がある。
【００３４】
そこで情報端末１００は、カメラ１０８とマイク１０９とにより、利用者４１の感情状態を継続して観察し、利用者４１が怒りの感情を覚え、その感情を表出した時刻を求める。例えば情報端末１００は、カメラ１０８で撮影した利用者４１の画像を解析して、利用者４１により怒りの感情が表出された時刻を特定することができる。また情報端末１００は、マイク１０９で集音した音を解析して、利用者４１により怒りの感情が表出された時刻を特定することもできる。
【００３５】
情報端末１００は、利用者４１により怒りの感情が表出された時刻に基づいて、不具合発生時刻を推定する。例えば人が怒りの感情を覚えたとき、一度の怒りの持続時間には限界がある。そこで情報端末１００は、利用者４１が怒りの感情を表出した時刻を含む、怒りの持続時間幅の期間内に、アプリの不具合が発生したものと推定する。
【００３６】
なお、人間の生理反応に基づく怒りの持続時間は、例えば怒りの原因の発生から９０秒間である。すなわち、人が怒りの感情を覚えると、脳から放出された化学物質が体に満ち怒りを持続させるが、怒りの誘発から９０秒でその化学物質が体内から消えることが分かっている。そこで情報端末１００は、この生物学的事実を利用して、利用者からの不具合報告のコメントからは求めることが困難な不具合発生時刻を、怒りの持続時間に応じた時間幅で推定する。不具合発生時刻が推定できることで、情報端末１００は、アプリの大量の実行ログから不具合に無関係なログメッセージを除外し、不具合に関係するログメッセージのみをサーバ３１に送信することができる。
【００３７】
図３は、情報端末のハードウェアの一例を示す図である。情報端末１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１１２を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３８】
メモリ１０２は、情報端末１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３９】
バス１１２に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７、カメラ１０８、マイク１０９、スピーカ１１０、およびネットワークインタフェース１１１がある。
【００４０】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００４１】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、有機ＥＬ（Electro Luminescence）を用いた表示装置や液晶表示装置などがある。
【００４２】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４３】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４４】
機器接続インタフェース１０７は、情報端末１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４５】
カメラ１０８は、情報端末１００の正面の映像を撮影し、画像データをプロセッサ１０１に送信する。マイク１０９は、情報端末１００の周囲の音を電気信号に変換して、プロセッサ１０１に送信する。スピーカ１１０は、プロセッサ１０１から送られた音声データに基づいて、音を出力する。
【００４６】
ネットワークインタフェース１１１は、ネットワーク２０に接続されている。ネットワークインタフェース１１１は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４７】
情報端末１００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した情報処理装置１０も、図３に示した情報端末１００と同様のハードウェアにより実現することができる。
【００４８】
情報端末１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。情報端末１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報端末１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また情報端末１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
次に、情報端末１００における、アプリに不具合が発生した場合にアプリの実行ログを送信するための機能について説明する。
図４は、情報端末の機能を示すブロック図である。情報端末１００は、記憶部１２０、感情認識部１３０、アプリ実行部１４０、および調査用ログ送信部１５０を有する。
【００５０】
記憶部１２０は、感情ログ１２１と実行ログ１２２とを記憶する。感情ログ１２１は、利用者４１の怒りの感情の有無の、定期的な測定結果を示す情報である。実行ログ１２２は、アプリの実行した処理の履歴を示す情報である。例えばメモリ１０２またはストレージ装置１０３の記憶領域の一部が、記憶部１２０として使用される。
【００５１】
感情認識部１３０は、カメラ１０８から取得した画像データ、またはマイク１０９から取得した音声データに基づいて、利用者の怒りの感情の有無を判定する。例えば感情認識部１３０は、利用者４１の顔が写った画像データに基づいて顔の表情筋の動きを認識し、表情筋の動きの、既知の怒り顔のときの表情筋の動きとの一致度に基づいて、怒りの度合いを算出する。また人が怒りの感情を有しているとき、顔の特定の筋肉が緊張し、その筋肉の緊張の影響により、人が声を発する際に特定の波長の音が混ざることが知られている。そこで感情認識部１３０は、利用者４１の声が入った音声データに基づいて、利用者４１が怒りの感情を有しているときに発せられる特有の波長の音を検出し、その音の検出度合いにより、怒りの度合いを算出する。感情認識部１３０は、定期的に怒りの有無を判定すると、その判定結果を、記憶部１２０内の感情ログ１２１に登録する。
【００５２】
アプリ実行部１４０は、アプリを実行する。例えばアプリ実行部１４０は、カメラ１０８やマイク１０９からの入力に基づいて利用者４１の指示を認識し、その指示に応じた処理を実行する。マイク１０９からの入力であれば、アプリ実行部１４０は、入力された音声データから利用者４１が発した言葉を認識し、言葉で示された処理を実行する。例えば利用者４１が「明日の天気を教えて」と言った場合、アプリ実行部１４０は、ネットワーク２０を介して天気情報を取得し、明日の天気予報を画面表示または音声出力する。
【００５３】
またアプリ実行部１４０は、アプリのサポートを行うサポートセンタ３０へのオンラインでの改善要求機能を備えている。例えばアプリ実行部１４０は、利用者４１からの音声入力またはキーボード操作による入力に応じて、改善要求内容を入力するための改善要求画面を表示する。そしてアプリ実行部１４０は、改善要求画面に入力された改善要求内容を含む改善要求メッセージを、サポートセンタ３０のサーバ３１に送信する。改善要求メッセージを送信する際、アプリ実行部１４０は、調査用ログ送信部１５０に対して調査用ログ送信指示を出力する。
【００５４】
調査用ログ送信部１５０は、アプリ実行部１４０からの調査用ログ送信指示に応じて、感情ログ１２１に基づいて、実行ログ１２２に登録されている一部のログメッセージを含む調査用ログを生成する。例えば調査用ログ送信部１５０は、感情ログ１２１に基づいて、利用者４１が所定以上の怒りの感情を有している時間帯を特定する。次に調査用ログ送信部１５０は、特定した時間帯およびその時間帯の直前の所定期間（例えば９０秒の期間）に登録されたログメッセージを、実行ログ１２２から抽出する。そして調査用ログ送信部１５０は、抽出したログメッセージを含む調査用ログを生成する。調査用ログ送信部１５０は、生成した調査用ログを、サポートセンタ３０のサーバ３１に送信する。
【００５５】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００５６】
次に、記憶部１２０に記憶される感情ログ１２１と実行ログ１２２とについて詳細に説明する。
図５は、感情ログの一例を示す図である。感情ログ１２１には、利用者４１の感情を判定した時刻に対応付けて、マイク入力怒り確率とカメラ入力怒り確率とが設定されている。
【００５７】
マイク入力怒り確率は、マイク１０９で集音した音声データに基づいて算出された、利用者４１の怒りの度合いを示す数値である。例えばマイク入力怒り確率は、０〜１の数値である。マイク入力怒り確率の値が大きいほど、利用者４１の怒りの度合いが高いことを示している。
【００５８】
カメラ入力怒り確率は、カメラ１０８で撮影した画像データに基づいて算出された、利用者４１の怒りの度合いを示す数値である。例えばカメラ入力怒り確率は、０〜１の数値である。カメラ入力怒り確率の値が大きいほど、利用者４１の怒りの度合いが高いことを示している。
【００５９】
図６は、実行ログの一例を示す図である。実行ログ１２２には、アプリ実行部１４０がログメッセージを出力した時刻に対応付けて、出力されたログメッセージが設定されている。例えばアプリ実行部１４０が音声データに基づいて利用者４１の言葉を認識した場合、認識した言葉を示す文字列を含むログメッセージが、実行ログ１２２に設定される。
【００６０】
以上のような構成の情報端末１００により、アプリに関する改善要求を行う際に、アプリの実行ログ１２２の中から改善要求の内容に関連しないログメッセージを除外した調査用ログを、サポートセンタ３０のサーバ３１に送信することができる。以下、図７〜図９を参照して、調査用ログの送信処理の概要について説明する。
【００６１】
図７は、利用者による入力に応じた情報端末の反応の一例を示す図である。図７の例では、情報端末１００で動作しているアシスタントアプリを介して利用者４１が情報端末１００を操作する場合を想定している。アシスタントアプリを実行するアプリ実行部１４０は、利用者４１による音声入力を解釈し、音声に従って情報端末１００の機能を動作させるアプリである。
【００６２】
利用者４１は、時刻Ｔ１１に「明日の天気を教えて」と音声入力している。アプリ実行部１４０は、音声入力を正しく解釈し、時刻Ｔ１２に「明日の天気は晴れです」と音声出力している。
【００６３】
その後、利用者４１は、時刻Ｔ１３に「機能Ａを起動して」と音声入力している。アプリ実行部１４０は、「機能Ａ」を「機能Ｅ」と誤って認識し、時刻Ｔ１４に機能Ｅを起動している。利用者４１は、アプリ実行部１４０が誤った音声認識をしていることから、怒りを覚え、怒った表情をしている。
【００６４】
時間経過による怒りが収まった利用者４１は、アシスタントアプリの機能の改善を要求するために、時刻Ｔ１５に「問い合わせ」と音声入力している。アプリ実行部１４０は、音声入力を正しく解釈し、時刻Ｔ１６に、サポートセンタ３０への問い合わせや改善要求に利用する改善要求画面５０を表示している。
【００６５】
図８は、改善要求画面の一例を示す図である。改善要求画面５０には、改善要求内容を入力するためのテキストボックス５１と改善要求を送信するためのボタン５２とが設けられている。利用者４１は、キーボード２２などの入力装置を用いて、テキストボックス５１に改善要求の内容を示す文字列を入力する。利用者４１は、改善要求の内容の入力が完了すると、マウス２３のポインタでボタン５２を選択し、マウス２３のボタンを押下する。するとアプリ実行部１４０は、テキストボックス５１に入力された文字列を含む改善要求メッセージを、サーバ３１に送信する。
【００６６】
またアプリ実行部１４０は、改善要求メッセージの送信に伴い、調査用ログの送信を調査用ログ送信部１５０に指示する。すると調査用ログ送信部１５０は、改善要求に関連する可能性のあるログメッセージを実行ログ１２２から抽出し、抽出したログメッセージを含む調査用ログをサーバ３１に送信する。
【００６７】
図９は、調査用ログ送信処理の一例を示す図である。調査用ログ送信部１５０は、感情ログ１２１に基づいて、調査対象期間を判断する。例えば調査用ログ送信部１５０は、感情ログ１２１におけるマイク入力怒り確率またはカメラ入力怒り確率が所定のしきい値を超えた時刻を特定する。怒り確率のしきい値は、例えば「０．５」である。
【００６８】
図９には、図７に示した時刻Ｔ１１〜Ｔ１６それぞれの直後の感情状態を判定した時刻ｔ１１〜ｔ１６におけるマイク入力怒り確率とカメラ入力怒り確率とを棒グラフで示している。なおマイク入力怒り確率は、利用者４１の音声入力がない場合には値が「０」となる。図７の例で示したように、利用者４１は時刻Ｔ１４における情報端末１００の動作に対して怒りを感じている。そのため、感情ログ１２１では、時刻Ｔ１４の直後の時刻ｔ１４に判定したカメラ入力怒り確率の値が、しきい値「０．５」を超えている。この時刻ｔ１４が、利用者４１の怒り表出時刻である。
【００６９】
調査用ログ送信部１５０は、例えばマイク入力怒り確率とカメラ入力怒り確率との少なくとも一方がしきい値を超えた時刻を基準として、その時刻以前の９０秒間の期間を調査対象期間とする。図９の例では、時刻ｔ１４までの９０秒間が調査対象期間である。そこで調査用ログ送信部１５０は、実行ログ１２２から、時刻ｔ１４までの９０秒間の期間内に記録されたログメッセージを抽出し、抽出したログメッセージを含む調査用ログ６０を生成する。
【００７０】
そして調査用ログ送信部１５０は、生成した調査用ログ６０をサーバ３１に送信する。結果として、改善要求メッセージと調査用ログ６０とがサーバ３１に送信されることとなる。
【００７１】
図１０は、サーバに送信される情報の一例を示す図である。図１０に示すように、情報端末１００からサーバ３１へは、改善要求メッセージ６１と調査用ログ６０とが送信される。サポートセンタ３０のサポート担当者３２は、改善要求メッセージ６１と調査用ログ６０とに基づいて、利用者４１が不満に感じている原因を調査する。
【００７２】
例えば改善要求メッセージ６１には「音声入力の誤認識が多い。」との文字列が含まれている。単に「音声入力の誤認識が多い。」というだけでは、音声入力のどのような語句が誤認識されているのかが分からない。そこでサポート担当者３２は、調査用ログ６０を参照する。すると利用者４１が誤認識と指摘したのが、情報端末１００のアプリ実行部１４０による「機能Ｅを起動して」との音声認識処理にあることが理解できる。
【００７３】
このように、改善要求の内容に関係がある可能性が高い期間を調査対象期間とし、アプリの実行ログ１２２内のログメッセージのうち、調査対象期間内に出力されたログメッセージのみを調査用ログ６０に含めたことで、改善要求に応じた調査が容易となる。仮に図９に示した実行ログ１２２内のすべてのログメッセージが調査対象となると、音声認識を示すログメッセージが多数あり、どの音声認識が誤認識であったのかが不明となる。それに対して、図１０に示した調査用ログ６０では、音声認識を示すログメッセージが限定され、誤認識の音声認識処理の特定が容易となる。
【００７４】
例えば図１０に示す改善要求メッセージ６１にはどのキーワードで不具合が発生したのか記述されていないが、調査用ログ６０に含まれるログメッセージのうち、音声認識に関係するのは時刻Ｔ１３のログメッセージしかない。そのため、不具合の発生時刻と、誤認識された認識結果とを特定できる。これよりサポート担当者３２は、例えば「機能Ｅ」と類似する言葉が誤って「機能Ｅ」と認識されたという不具合を把握できる。
【００７５】
次に調査用ログ６０を送信するために、情報端末１００内の感情認識部１３０、アプリ実行部１４０、および調査用ログ送信部１５０が実行する処理について、フローチャートを参照して詳細に説明する。
【００７６】
まず、感情認識部１３０が実行する感情認識処理の手順について説明する。
図１１は、感情認識処理の手順の一例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００７７】
［ステップＳ１０１］感情認識部１３０は、アプリ実行部１４０によるアプリの実行が開始されると、マイク１０９による周囲の音の録音を開始する。例えば感情認識部１３０は、マイク１０９に入力された音波を音声データに変換し、音声データをメモリ１０２またはストレージ装置１０３に格納する。
【００７８】
［ステップＳ１０２］感情認識部１３０は、一定時間待機する。例えば感情認識部１３０は、１０秒間待機する。
［ステップＳ１０３］感情認識部１３０は、マイク入力感情判定処理を行う。マイク入力感情判定処理の詳細は後述する（図１２参照）。
【００７９】
［ステップＳ１０４］感情認識部１３０は、カメラ入力感情判定処理を行う。カメラ入力感情判定処理の詳細は後述する（図１３参照）。
［ステップＳ１０５］感情認識部１３０は、アプリ実行部１４０によるアプリの実行が終了したか否かを判断する。感情認識部１３０は、アプリの実行が終了していれば、感情認識処理を終了する。また感情認識部１３０は、アプリの実行が終了していなければ、処理をステップＳ１０２に進める。
【００８０】
このようにアプリの実行が継続している間、一定時間間隔で、マイク入力感情判定処理とカメラ入力感情判定処理とが繰り返し実行される。
次に、マイク入力感情判定処理の手順について詳細に説明する。
【００８１】
図１２は、マイク入力感情判定処理の手順の一例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］感情認識部１３０は、一定時間分の音声データをメモリ１０２またはストレージ装置１０３から取得する。例えば感情認識部１３０は、図１１のステップＳ１０２における待機時間と同じ時間（１０秒）分の音声データを取得する。
【００８２】
［ステップＳ１１２］感情認識部１３０は、取得した音声データに示される音の波形に対して、高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）を実行する。ＦＦＴにより、取得した音声データに含まれる音声信号の周波数と強度とが得られる。
【００８３】
［ステップＳ１１３］感情認識部１３０は、ＦＦＴで生成した周波数ごとの音声データに基づいて、母音の周波数範囲（２００〜３，０００Ｈｚ）内で強度が予め設定されたしきい値を超えた信号があるか否かを判断する。例えば取得した音声データに利用者４１の声が含まれていれば、取得した音声データ内に該当する信号が存在する。感情認識部１３０は、該当する信号がある場合、処理をステップＳ１１５に進める。また感情認識部１３０は、該当する信号がない場合、処理をステップＳ１１４に進める。
【００８４】
［ステップＳ１１４］感情認識部１３０は、感情ログ１２１に現在の時刻を設定したレコードを追加し、追加したレコードのマイク入力怒り確率に「０．００」を記録する。その後、感情認識部１３０はマイク入力感情判定処理を終了する。
【００８５】
［ステップＳ１１５］感情認識部１３０は、音声データに基づく感情判定処理を行う。例えば感情認識部１３０は、利用者４１が怒りの感情を覚えたときに発する所定の周波数の信号の強度に基づいて、マイク入力怒り確率を算出する。
【００８６】
［ステップＳ１１６］感情認識部１３０は、感情ログ１２１に現在の時刻を設定したレコードを追加し、追加したレコードのマイク入力怒り確率に、ステップＳ１１５で算出したマイク入力怒り確率の値を記録する。
【００８７】
このように感情認識部１３０は、音声データに母音の周波数の波形が含まれるか否かにより利用者４１の声の有無を判断し、利用者４１の声が録音されている場合にのみ、感情判定処理を行う。これにより、利用者４１の声が録音されていない期間は、音声データに基づく感情判定処理の実行を抑止することができ、処理の効率化を図ることができる。
【００８８】
次に、カメラ入力感情判定処理の手順について詳細に説明する。
図１３は、カメラ入力感情判定処理の手順の一例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ１２１］感情認識部１３０は、カメラ１０８から、現時点の画像データを取得する。
［ステップＳ１２２］感情認識部１３０は、画像データを解析し、画像内の顔の検出処理を行う。例えば感情認識部１３０は、顔のパーツ（目、鼻など）の相対位置や大きさを、人の顔の特徴として定義し、特徴と一致する画像を、画像データに表される画像内から検索する。
【００９０】
［ステップＳ１２３］感情認識部１３０は、画像データ内に人の顔が存在するか否かを判断する。感情認識部１３０は、少なくとも１人の顔の画像が画像データに含まれていれば、処理をステップＳ１２５に進める。また感情認識部１３０は、画像データに顔の画像が含まれていなければ、処理をステップＳ１２４に進める。
【００９１】
［ステップＳ１２４］感情認識部１３０は、直前のマイク入力感情判定処理で感情ログ１２１内に追加したレコードのカメラ入力怒り確率に「０．００」を記録する。その後、感情認識部１３０はカメラ入力感情判定処理を終了する。
【００９２】
［ステップＳ１２５］感情認識部１３０は、顔画像に基づく感情判定処理を行う。例えば感情認識部１３０は、顔画像の特徴と、怒り顔の特徴との一致度合いに基づいて、カメラ入力怒り確率を算出する。
【００９３】
［ステップＳ１２６］感情認識部１３０は、直前のマイク入力感情判定処理で感情ログ１２１に追加したレコードのカメラ入力怒り確率に、ステップＳ１２５で算出したカメラ入力怒り確率の値を記録する。
【００９４】
このように感情認識部１３０は、画像データ内に利用者の顔が写っている場合にのみ、顔画像に基づく感情判定処理を行う。これにより、利用者４１が情報端末１００の周囲にいない期間は顔画像に基づく感情判定処理の実行を抑止することができ、処理の効率化を図ることができる。
【００９５】
次に、アプリ実行処理の手順について詳細に説明する。
図１４は、アプリ実行処理の手順の一例を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
【００９６】
［ステップＳ２０１］アプリ実行部１４０は、キーボードからの入力または音声入力による利用者４１からの入力を受け付ける。アプリ実行部１４０は、入力を受け付けると、その入力内容を含むログメッセージを、実行ログ１２２に記録する。
【００９７】
［ステップＳ２０２］アプリ実行部１４０は、入力内容が、サポートセンタ３０への問い合わせか否かを判断する。例えばアプリ実行部１４０は、「問い合わせ」との音声入力を取得した場合、問い合わせであると判断する。アプリ実行部１４０は、問い合わせであれば、処理をステップＳ２０４に進める。またアプリ実行部１４０は、問い合わせでなければ、処理をステップＳ２０３に進める。
【００９８】
［ステップＳ２０３］アプリ実行部１４０は、入力に応じた処理を実行する。この際、アプリ実行部１４０は、実行した処理を示すログメッセージを実行ログ１２２に記録する。アプリ実行部１４０は、その後、処理をステップＳ２０９に進める。
【００９９】
［ステップＳ２０４］アプリ実行部１４０は、改善要求画面５０（図８参照）をモニタ２１に表示する。この際、アプリ実行部１４０は、改善要求画面５０を表示したことを示すログメッセージを実行ログ１２２に記録する。
【０１００】
［ステップＳ２０５］アプリ実行部１４０は、改善要求画面５０のテキストボックス５１への改善要求内容の入力を受け付ける。なおアプリ実行部１４０は、入力内容が確定したとき（例えば「送信」のボタン５２が押下されたとき）に、入力内容を示すログメッセージを実行ログ１２２に記録する。
【０１０１】
［ステップＳ２０６］アプリ実行部１４０は、マウス２３の操作により、「送信」のボタン５２が押下されたか否かを判断する。アプリ実行部１４０は、「送信」のボタン５２が押下された場合、処理をステップＳ２０７に進める。またアプリ実行部１４０は、「送信」のボタン５２が押下されていなければ、処理をステップＳ２０５に進め、改善要求の入力を受け付ける。なおアプリ実行部１４０は、「送信」のボタン５２が押下されたとき、ボタン５２の押下を示すログメッセージを実行ログ１２２に記録する。
【０１０２】
［ステップＳ２０７］アプリ実行部１４０は、サポートセンタ３０のサーバ３１へ、改善要求メッセージを送信する。送信される改善要求メッセージには、テキストボックス５１に入力された改善要求内容を示す文字列が含まれる。この際、アプリ実行部１４０は、改善要求メッセージの送信を示すログメッセージを実行ログ１２２に記録する。
【０１０３】
［ステップＳ２０８］アプリ実行部１４０は、調査用ログ６０のサーバ３１への送信を、調査用ログ送信部１５０に指示する。この際、アプリ実行部１４０は、調査用ログ６０の送信指示の出力を示すログメッセージを実行ログ１２２に記録する。
【０１０４】
［ステップＳ２０９］アプリ実行部１４０は、アプリ実行終了の指示が入力されたか否かを判断する。アプリ実行部１４０は、アプリ実行終了の指示が入力された場合、アプリ実行処理を終了する。またアプリ実行部１４０は、アプリ実行終了の指示が入力されていなければ、処理をステップＳ２０１に進める。
【０１０５】
このようにしてアプリ実行部１４０は、アプリに従った何らかの処理を実行するごとに、実行した処理を示すログメッセージを実行ログ１２２に記録する。これにより、実行ログ１２２には、アプリの実行に関する詳細な情報が記録される。
【０１０６】
またアプリ実行部１４０は、サーバ３１に改善要求メッセージの送信時に、調査用ログ送信部１５０に対して調査用ログ６０の送信を指示する。これにより、調査用ログ送信部１５０による調査用ログ送信処理が開始される。
【０１０７】
次に、調査用ログ送信処理について詳細に説明する。
図１５は、調査用ログ送信処理の手順の一例を示すフローチャート（１／２）である。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１０８】
［ステップＳ３０１］調査用ログ送信部１５０は、アプリ実行部１４０からの調査用ログ６０の送信指示を受信すると、ステップＳ３０２以降の以下の処理を実行する。
［ステップＳ３０２］調査用ログ送信部１５０は、感情ログ１２１の先頭行から順に、レコードを１つずつ選択する。なお、調査用ログ送信部１５０は、感情ログ１２１内の末尾のレコードまで選択済みの場合、レコードを選択せずにステップＳ３０２の処理を終了する。感情ログ１２１の先頭行とは、感情ログ１２１に登録された時刻が最も古いレコードの行である。
【０１０９】
［ステップＳ３０３］調査用ログ送信部１５０は、ステップＳ３０２においてレコードが選択できたか否かを判断する。調査用ログ送信部１５０は、感情ログ１２１から未選択のレコードが選択できた場合、処理をステップＳ３０４に進める。また調査用ログ送信部１５０は、感情ログ１２１内の末尾のレコードまで選択済みであり、新たなレコードを選択できなかった場合、処理をステップＳ３１１（図１６参照）に進める。
【０１１０】
［ステップＳ３０４］調査用ログ送信部１５０は、選択したレコードのマイク入力怒り確率またはカメラ入力怒り確率がしきい値以上か否かを判断する。調査用ログ送信部１５０は、少なくともいずれか一方の怒り確率がしきい値以上であれば、処理をステップＳ３０５に進める。また調査用ログ送信部１５０は、いずれの怒り確率もしきい値未満であれば、処理をステップＳ３０７に進める。
【０１１１】
［ステップＳ３０５］調査用ログ送信部１５０は、感情ログ１２１における、選択したレコードの１行前に登録されたレコードのマイク入力怒り確率またはカメラ入力怒り確率がしきい値以上か否かを判断する。調査用ログ送信部１５０は、少なくともいずれか一方の怒り確率がしきい値以上であれば、処理をステップＳ３０２に進める。また調査用ログ送信部１５０は、いずれの怒り確率もしきい値未満であれば、処理をステップＳ３０６に進める。
【０１１２】
［ステップＳ３０６］調査用ログ送信部１５０は、選択したレコードに設定されている時刻を開始時刻とする調査対象期間を、調査対象期間リスト７０に登録する。この時点では、該当する調査対象期間の終了時刻は未設定である。その後、調査用ログ送信部１５０は処理をステップＳ３０２に進める。
【０１１３】
［ステップＳ３０７］調査用ログ送信部１５０は、感情ログ１２１における、選択したレコードの１行前に登録されたレコードのマイク入力怒り確率またはカメラ入力怒り確率がしきい値以上か否かを判断する。調査用ログ送信部１５０は、少なくともいずれか一方の怒り確率がしきい値以上であれば、処理をステップＳ３０８に進める。また調査用ログ送信部１５０は、いずれの怒り確率もしきい値未満であれば、処理をステップＳ３０２に進める。
【０１１４】
［ステップＳ３０８］調査用ログ送信部１５０は、選択したレコードに設定されている時刻を、終了時刻が未設定の調査対象期間の終了時刻に設定する。その後、調査用ログ送信部１５０は処理をステップＳ３０２に進める。
【０１１５】
図１５に示す例では、調査用ログ送信部１５０は、怒り確率がしきい値以上となる複数のレコードが感情ログ１２１内で時系列的に連続している場合、それらのレコードに基づく調査対象期間を１つに纏めている。すなわち怒り確率がしきい値以上となるレコードが連続している間は、ステップＳ３０４，Ｓ３０５で「ＹＥＳ」となり、調査対象期間の終了時刻が設定されない。そして、怒り確率がしきい値以上のレコードの後に、怒り確率がしきい値未満のレコードがあったとき、そのレコードの時刻が調査対象期間の終了時刻に
設定される。このようにして、怒り確率がしきい値以上となる連続するレコードの時刻を包含する期間（利用者４１の怒り表出期間）ごとの調査対象期間が、調査対象期間リスト７０に設定される。
【０１１６】
すなわち怒り表出期間が複数あれば、調査対象期間リスト７０に、複数の調査対象期間が設定されることとなる。これによりアプリの実行の不具合が、時間を空けて複数回発生している場合、複数の不具合発生時刻それぞれを包含する複数の調査対象期間が調査対象期間リスト７０に設定される。このような調査対象期間リスト７０に基づいて調査対象のログメッセージを抽出することで、過去の複数回の不具合それぞれに関連するログメッセージを漏らさずに抽出可能となる。
【０１１７】
図１６は、調査用ログ送信処理の手順の一例を示すフローチャート（２／２）である。以下、図１６に示す処理をステップ番号に沿って説明する。
［ステップＳ３１１］調査用ログ送信部１５０は、実行ログ１２２の先頭から順に、レコードを１つずつ選択する。なお、調査用ログ送信部１５０は、実行ログ１２２内の末尾のレコードまで選択済みの場合、レコードを選択せずにステップＳ３１１の処理を終了する。実行ログ１２２の先頭行とは、実行ログ１２２に登録された時刻が最も古いレコードの行である。
【０１１８】
［ステップＳ３１２］調査用ログ送信部１５０は、ステップＳ３１１においてレコードが選択できたか否かを判断する。調査用ログ送信部１５０は、実行ログ１２２から未選択のレコードが選択できた場合、処理をステップＳ３１３に進める。また調査用ログ送信部１５０は、実行ログ１２２内の末尾のレコードまで選択済みであり、新たなレコードを選択できなかった場合、処理をステップＳ３１６に進める。
【０１１９】
［ステップＳ３１３］調査用ログ送信部１５０は、調査対象期間リスト７０を参照し、選択したレコードに示されるログメッセージを記録した時刻と調査対象期間とを比較する。
【０１２０】
［ステップＳ３１４］調査用ログ送信部１５０は、選択したレコードの時刻が、いずれかの調査対象期間内か否かを判断する。調査用ログ送信部１５０は、該当時刻がいずれかの調査対象期間内であれば、処理をステップＳ３１５に進める。また調査用ログ送信部１５０は、該当時刻がいずれの調査対象期間にも含まれない場合、処理をステップＳ３１１に進める。
【０１２１】
［ステップＳ３１５］調査用ログ送信部１５０は、選択したレコードを調査用ログ６０に書き出す。その後、調査用ログ送信部１５０は処理をステップＳ３１１に進める。
［ステップＳ３１６］調査用ログ送信部１５０は、実行ログ１２２内のすべてのレコードに対して調査対象期間との比較が終了した場合、調査用ログ６０をサーバ３１にアップロードする。
【０１２２】
このようにして、実行ログ１２２内のログメッセージのうち、調査対象期間内に記録されたログメッセージのみを含む調査用ログ６０がサーバ３１に送信される。調査対象期間は、利用者４１が怒りの感情を表した時刻までの所定期間であり、調査用ログ６０には、利用者４１が怒りを覚えた原因となるアプリの処理に関するログメッセージが含まれていることが期待できる。
【０１２３】
以下、図１７〜図１９を参照し、実行ログ１２２に記録されるログメッセージからの、調査用ログ６０に書き出すログメッセージ抽出処理の具体例について説明する。
図１７は、利用者による情報端末への入力例を示す図である。図１７の例では、利用者４１は、時刻「００：００：００」にボイスアシスタントアプリの起動操作を、情報端末１００に対して行っている。情報端末１００では、起動操作に応じアプリが起動され、アプリ実行部１４０によるアプリの実行が開始される。
【０１２４】
利用者４１は時刻「００：０５：００」に、情報端末１００に向かって、ボイスアシスタントアプリの「機能１」を利用するためのキーワード「キーワード１」を声に出している。ところが情報端末１００は、「機能１」を実行しないため、利用者４１は時刻「００：０５：１１」に顔をしかめている。さらに利用者４１は時刻「００：０５：１５」に、情報端末１００に向かって、ボイスアシスタントアプリの「機能１」を利用するためのキーワード「キーワード１」を声に出している。情報端末１００は時刻「００：０５：１７」に、「機能１」を問題なく実行している。
【０１２５】
その後、利用者４１は時刻「０１：００：００」に、ボイスアシスタントアプリの「機能２」を利用するためのキーワード「キーワード２」を声に出している。ところが情報端末１００は、「機能２」を実行しないため、利用者４１は時刻「０１：００：１０」に顔をしかめている。さらに利用者４１は時刻「０１：００：２０」に、情報端末１００に向かって、ボイスアシスタントアプリの「機能２」を利用するためのキーワード「キーワード２」を声に出している。情報端末１００は時刻「０１：００：２２」に、「機能２」を問題なく実行している。
【０１２６】
利用者４１は、怒りの感情がおさまり冷静になった後の時刻「０１：３０：００」に、「問い合わせ」と声に出している。「問い合わせ」の音声入力に応答し、情報端末１００は時刻「０１：３０：０２」に、ボイスアシスタントアプリ用の改善要求画面５０（図８参照）を表示している。利用者４１は、改善要求画面の改善要求内容入力用のテキストボックス５１内に「音声が時々認識されない」とだけ記入し、時刻「０１：３５：００」に「送信」のボタン５２を押下している。
【０１２７】
このような利用者４１による一連の操作過程において、情報端末１００では、定期的に感情認識処理を行い、処理結果を感情ログ１２１に記録している。
図１８は、感情ログに記録された感情認識処理の結果の一例を示す図である。図１８に示すように、感情ログ１２１には、時刻「００：０５：１１．１２３」に、カメラ入力怒り確率（ｆａｃｅ＿ｅｍｏｔｉｏｎ＿ａｎｇｒｙ）「０．７１」が記録されている。「０．７１」はしきい値「０．５」以上であるため、調査対象期間リスト７０には、調査対象期間の開始時刻として、時刻「００：０５：１１．１２３」の９０秒前の時刻「００：０３：４１．１２３」が設定されている。また時刻「００：０５：１１．１２３」の次の行に示される怒り確率は、マイク入力怒り確率（ｖｏｉｃｅ＿ｅｍｏｔｉｏｎ＿ａｎｇｒｙ）とカメラ入力確率とのいずれも、しきい値未満である。従って、調査対象期間リスト７０には、開始時刻が時刻「００：０３：４１．１２３」である調査対象期間の終了時刻として、次の行のレコードの時刻「００：０５：２１．１５０」が設定されている。
【０１２８】
また感情ログ１２１には、時刻「０１：００：１２．２３１」に、カメラ入力怒り確率「０．５４」が記録されている。「０．５４」はしきい値「０．５」以上であるため、調査対象期間リスト７０には、調査対象期間の開始時刻として、時刻「０１：００：１２．２３１」の９０秒前の時刻「００：５８：４２．２３１」が設定されている。また時刻「０１：００：１２．２３１」の次の行に示される怒り確率は、マイク入力怒り確率とカメラ入力確率とのいずれも、しきい値未満である。従って、調査対象期間リスト７０には、開始時刻が時刻「００：５８：４２．２３１」である調査対象期間の終了時刻として、次の行のレコードの時刻「０１：００：２２．２３１」が設定されている。
【０１２９】
このようにして調査対象期間リスト７０に設定された調査対象期間に基づいて、実行ログ１２２から、調査用ログ６０に書き出すログメッセージが抽出される。
図１９は、実行ログからのログメッセージの抽出例を示す図である。図１９に示すように、実行ログ１２２には、図１７に示したアプリ起動や改善要求画面への操作を含め、アプリ実行部１４０が実行した処理が詳細に記録されている。このような実行ログ１２２のうち、調査対象期間リスト７０に示される調査対象期間内の時刻に記録されたログメッセージが、調査用ログ６０への書き出し対象として抽出され、サーバ３１に送信される。
【０１３０】
これにより、サポートセンタ３０のサポート担当者３２は、調査用ログ６０に書き出されたログメッセージを調査すればすみ、調査するログメッセージの量が少なくてすむ。調査するログメッセージの量が少ないことで、実行ログ１２２全体を調査するよりも、問題の原因の調査が容易となる。
【０１３１】
例えば調査対象期間「００：０３：４１．１２３〜００：０５：２１．１５０」内のログメッセージには、図１７に示した時刻「００：０５：００」〜「００：０５：１５」に行われた「キーワード１」の音声入力に応じた処理の実行状況が示されている。また調査対象期間「００：５８：４２．２３１〜０１：００：２２．２３１」内のログメッセージには、図１７に示した時刻「０１：００：００」〜「０１：００：２０」に行われた「キーワード２」の音声入力に応じた処理の実行状況が示されている。サポート担当者は、これらのログメッセージを解析することで、アプリ実行部１４０が音声認識に失敗する状況を詳しく調査することができる。
【０１３２】
また改善要求には「音声が時々認識されない」と示されているが、これだけでは、いつ音声認識できないことがあったのかが分からない。それに対して、調査用ログ６０に含まれるログメッセージの時刻を参照すれば、不具合の発生時刻を把握できる。
【０１３３】
なお情報端末１００は、利用者４１が入力した改善要求をサーバ３１に送信する際に、その調査用ログ６０をサーバ３１に送信する。これにより、不要な調査用ログ６０の送信を抑止できる。例えば、利用者４１の怒りの感情の表出を検出した場合に自動で調査用ログ６０をサーバ３１に送信すると、アプリの不具合以外の理由で利用者４１が怒りを感じている場合にまで調査用ログ６０が送信されてしまう。利用者４１からの改善要求の送信時に調査用ログ６０を送信することで、アプリの不具合以外の理由で利用者４１が怒りを感じている場合に調査用ログ６０が送信されることが抑止できる。
【０１３４】
また、サポート担当者３２は、利用者４１の改善要求なしに、調査用ログ６０だけ参照しても、どのような不具合があったのかが分からず、原因の特定も困難である。情報端末１００が、利用者４１の改善要求と調査用ログ６０とを同時にサーバ３１に送信することで、サポート担当者３２は、改善要求に示される不具合の内容と調査用ログ６０内のログメッセージとを照らし合わせて、不具合の原因を適確に特定可能となる。
【０１３５】
〔その他の実施の形態〕
第２の実施の形態では、情報端末１００内で感情認識処理を実行しているが、ネットワークを介して提供されている感情認識サービスを利用することもできる。
【０１３６】
図２０は、感情認識サービスを利用したシステムの一例を示す図である。ネットワーク２０には、感情認識サービスを提供するサーバ８０が接続されている。サーバ８０は、例えば情報端末１００から画像データを受信すると、その画像データの写っている人物の怒りの感情の度合いを計算し、怒りの感情の度合いを示すカメラ入力怒り確率を情報端末１００に送信する。またサーバ８０は、情報端末１００から音声データを受信すると、その音声データに含まれる人の声に基づいて、その人の怒りの感情の度合いを計算し、怒りの感情の度合いを示すマイク入力怒り確率を情報端末１００に送信する。
【０１３７】
情報端末１００は、マイク入力感情判定処理とカメラ入力感情判定処理とを、サーバ８０に実行させることができる。例えば情報端末１００は、図１２に示すマイク入力感情判定処理のフローチャートにおけるステップＳ１１５の処理を、サーバ８０に実行させる。この場合、情報端末１００の感情認識部１３０は、例えば１０秒ごとに利用者４１の声が録音された音声データ（１０秒分）をサーバ８０に送信し、サーバ８０から、利用者の怒りの度合いを示すマイク入力怒り確率を取得する。また例えば情報端末１００は、図１３に示すカメラ入力感情判定処理のフローチャートにおけるステップＳ１２５の処理を、サーバ８０に実行させる。この場合、情報端末１００の感情認識部１３０は、例えば１０秒ごとに利用者４１の顔が映り込んだ画像データをサーバ８０に送信し、サーバ８０から、利用者の怒りの度合いを示すマイク入力怒り確率を取得する。
【０１３８】
このようにサーバ８０で提供されている感情認識サービスを利用することで、情報端末１００の負荷を軽減することができる。例えば情報端末１００が、電池で動作する移動体端末の場合、情報端末１００の負荷を軽減することで電力の消費量を抑止し、電池による動作時間を長期化させることができる。
【０１３９】
サーバ８０で提供されている感情認識サービスを利用する場合、情報端末１００は、例えば最新の画像データに示される画像が、前回の画像データの画像とほとんど違いがない場合、顔画像に基づく感情判定処理の実行を抑止してもよい。この場合、情報端末１００は、例えば最新の画像データのカメラ入力怒り確率として、前回の画像データから算出されたカメラ入力怒り確率を設定する。これにより、画像データに変化がない場合には、サーバ８０への画像データの送信を不要とし、通信負荷を軽減することができる。
【０１４０】
なお第２の実施の形態では、改善要求メッセージの送信に併せて調査用ログ６０を送信しているが、情報端末１００は、他のタイミングで調査用ログ６０をサーバ３１に送信してもよい。例えば情報端末１００は、感情判定処理によってしきい値以上の怒り確率を取得するごとに、サーバ３１に未送信のログメッセージを含む調査用ログ６０を生成し、その調査用ログ６０をサーバ３１に送信してもよい。
【０１４１】
また情報端末１００は、アプリに限らず、処理に応じたログメッセージを出力可能な機器または機能であれば、アプリ以外のソフトウェアまたはハードウェアも、不具合の調査対象とすることができる。
【０１４２】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１４３】
１  利用者
２  観測装置
２ａ  カメラ
２ｂ  マイク
３ａ，３ｂ，３ｃ  観測データ
４  調査対象ログメッセージ
１０  情報処理装置
１１  記憶部
１１ａ  実行ログ
１２  処理部
【図１】
2020160677.tif 000003
【図２】
2020160677.tif 000004
【図３】
2020160677.tif 000005
【図４】
2020160677.tif 000006
【図５】
2020160677.tif 000007
【図６】
2020160677.tif 000008
【図７】
2020160677.tif 000009
【図８】
2020160677.tif 000010
【図９】
2020160677.tif 000011
【図１０】
2020160677.tif 000012
【図１１】
2020160677.tif 000013
【図１２】
2020160677.tif 000014
【図１３】
2020160677.tif 000015
【図１４】
2020160677.tif 000016
【図１５】
2020160677.tif 000017
【図１６】
2020160677.tif 000018
【図１７】
2020160677.tif 000019
【図１８】
2020160677.tif 000020
【図１９】
2020160677.tif 000021
【図２０】
2020160677.tif 000022
【手続補正書】
【提出日】令和2年4月17日(2020.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
管理対象処理の実行履歴である実行ログを記憶する記憶部と、
前記管理対象処理が実行されるごとに、実行された前記管理対象処理の内容を示すログメッセージを、前記管理対象処理の実行時刻に対応付けて前記実行ログに登録し、利用者の状態を観測する観測装置から前記利用者の状態を示す観測データを取得し、前記観測データに表される前記利用者の感情の表出状態に基づいて、前記利用者が怒りの感情を表出した怒り表出時刻を判定し、人間の生理反応に基づく怒りの持続時間だけ前記怒り表出時刻より前の時刻から、前記怒り表出時刻までの期間を含む、前記管理対象処理の不具合の調査対象期間を決定し、前記実行ログに含まれる前記ログメッセージのうち、前記調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージを抽出する処理部と、
を有する情報処理装置。
【請求項２】
前記処理部は、前記観測データを取得するごとに、前記観測データの取得時刻に対応付けて、前記観測データに表される前記利用者の怒りの感情の表出度合いを示す数値を時系列で前記記憶部に格納し、前記記憶部から、しきい値以上の前記数値が時系列で連続する１以上の怒り表出期間を特定し、特定した前記怒り表出期間ごとに前記調査対象期間を決定する、
請求項１記載の情報処理装置。
【請求項３】
前記処理部は、前記管理対象処理の不具合に関する情報の外部機器への送信指示が入力されたとき、抽出した前記調査対象ログメッセージを前記外部機器へ送信する、
請求項１または２記載の情報処理装置。
【請求項４】
コンピュータに、
管理対象処理が実行されるごとに、実行された前記管理対象処理の内容を示すログメッセージを、前記管理対象処理の実行時刻に対応付けて、前記管理対象処理の実行履歴である実行ログに登録し、
利用者の状態を観測する観測装置から前記利用者の状態を示す観測データを取得し、
前記観測データに表される前記利用者の感情の表出状態に基づいて、前記利用者が怒りの感情を表出した怒り表出時刻を判定し、
人間の生理反応に基づく怒りの持続時間だけ前記怒り表出時刻より前の時刻から、前記怒り表出時刻までの期間を含む、前記管理対象処理の不具合の調査対象期間を決定し、
前記実行ログに含まれる前記ログメッセージのうち、前記調査対象期間内の実行時刻に対応付けられた調査対象ログメッセージを抽出する、
処理を実行させるログ管理プログラム。