(57)【要約】【課題】ユーザによる属性情報等の入力作業を可能な限り減らし、これにより学習データの作成に対するユーザの倦厭感の軽減を図る。【解決手段】平日／休日判定処理装置ＰＳにおいて、先ず学習フェーズにより、１日を複数に分割した時間区間ごとに上記記憶されたユーザの位置データからその特徴量ベクトルを算出し、この算出された特徴量ベクトルと、携帯端末ＭＳにおいて予め入力された休日の割合を示す情報をもとに、one-class SVMを使用して平日又は休日を判定するための識別関数ｆi（ｘ）を学習する。次に、平日／休日判定フェーズにおいて、判定対象となる日に収集された上記ユーザの位置データから特徴量ベクトルを算出して、この特徴量ベクトルに対し適当な識別関数を上記学習された識別関数の中から選択し、この選択された識別関数をもとに上記判定対象となる日が平日か又は休日かを判定する。【選択図】図２
2011155408.tif 000002
【特許請求の範囲】
【請求項１】
予め設定した学習期間におけるユーザの滞在位置データを収集し記憶する過程と、
前記学習期間における前記ユーザの平日又は休日の割合を示す情報の入力を受け付ける過程と、
１日を複数の時間区間に分割し、この分割された時間区間ごとに前記記憶されたユーザの滞在位置データからその特徴量ベクトルを算出する過程と、
前記分割された時間区間ごとに、前記算出された特徴量ベクトルと、前記入力された平日又は休日の割合を示す情報と、カーネル関数を用いて、平日又は休日を判定するための識別関数を学習する過程と、
平日又は休日の判定対象となる日に収集された前記ユーザの滞在位置データからその特徴量ベクトルを算出する過程と、
前記算出された特徴量ベクトルに対し識別処理を行う上で適当な識別関数を、前記学習により得られた識別関数の中から選択する過程と、
前記選択された識別関数をもとに、前記判定対象となる日が平日か又は休日かを判定する過程と
を具備することを特徴とする状況判定方法。
【請求項２】
前記記憶された滞在位置データを、そのデータ数が曜日間で均一になるように間引き、この間引き処理後の滞在位置データを前記特徴量ベクトルの算出処理に供する過程を、さらに具備することを特徴とする請求項１記載の状況判定方法。
【請求項３】
前記識別関数を学習する過程は、ガウシアンカーネルを用いたone-class SVMを用いて識別関数を学習するものであり、平日又は休日の割合をｖ、学習用データの数をｎ、特徴量ベクトルをｘ＝（ｘ1，ｘ2，…，ｘL）、カーネル関数をＫ（ｘ，ｘi）、カーネル関数のパラメータをｈとしたとき、
【数１】
2011155408.tif 000005
式（１）に示す識別関数ｆi（ｘ）を、カーネル関数を式（４）で表し、式（２）の制約条件の下で式（３）に示す関数を最適化することにより得ることを特徴とする請求項１又は２記載の状況判定方法。
【請求項４】
前記平日か又は休日かを判定する過程は、前記選択された識別関数ｆi（ｘ）がｆi（ｘ）≧０であるか否かを判定し、ｆi（ｘ）≧０であれば前記判定対象となる日を平日と識別し、ｆi（ｘ）＜０であれば前記判定対象となる日を休日と識別することを特徴とする請求項３記載の状況判定方法。
【請求項５】
予め設定した学習期間におけるユーザの滞在位置データを収集し記憶する手段と、
前記学習期間における前記ユーザの平日又は休日の割合を示す情報の入力を受け付ける手段と、
１日を複数の時間区間に分割してこの分割された時間区間ごとに、前記記憶されたユーザの滞在位置データからその特徴量ベクトルを算出し、この算出された特徴量ベクトルと、前記入力された平日又は休日の割合を示す情報と、カーネル関数を用いて、平日又は休日を判定するための識別関数を学習する学習手段と、
平日又は休日の判定対象となる日に収集された前記ユーザの滞在位置データからその特徴量ベクトルを算出して、この算出された特徴量ベクトルに対し識別処理を行う上で適当な識別関数を前記学習により得られた識別関数の中から選択し、この選択された識別関数をもとに前記判定対象となる日が平日か又は休日かを判定する判定手段と
を具備することを特徴とする状況判定装置。
【請求項６】
前記記憶された滞在位置データを、そのデータ数が曜日間で均一になるように間引き、この間引き処理後の滞在位置データを前記学習手段による特徴量ベクトルの算出処理に供する間引き手段を、さらに具備することを特徴とする請求項５記載の状況判定装置。
【請求項７】
前記学習手段は、ガウシアンカーネルを用いたone-class SVMを用いて識別関数を学習するものであり、平日又は休日の割合をｖ、学習用データの数をｎ、特徴量ベクトルをｘ＝（ｘ1，ｘ2，…，ｘL）、カーネル関数をＫ（ｘ，ｘi）、カーネル関数のパラメータをｈとしたとき、
【数２】
2011155408.tif 000006
式（１）に示す識別関数ｆi（ｘ）を、カーネル関数を式（４）で表し、式（２）の制約条件の下で式（３）に示す関数を最適化することにより得ることを特徴とする請求項５又は６記載の状況判定装置。
【請求項８】
前記判定手段は、前記選択された識別関数ｆi（ｘ）がｆi（ｘ）≧０であるか否かを判定し、ｆi（ｘ）≧０であれば前記判定対象となる日を平日と識別し、ｆi（ｘ）＜０であれば前記判定対象となる日を休日と識別することを特徴とする請求項７記載の状況判定装置。
【請求項９】
請求項５乃至８のいずれかに記載の状況判定装置が備える手段に相当する処理を、前記状況判定装置が備えるコンピュータに実行させる状況判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばユーザの行動パターンが平日の相当するものか或いは休日に相当するものかを判定する行動状況判定方法、判定装置及び判定プログラムに関する。
【背景技術】
【０００２】
近年、ユーザの行動状況を判定してこの判定した行動状況に適したコメント等の提供するサービスが種々提案されており、その一つに例えば次のようなものがある。すなわち、ユーザが予め登録した自身の起床時刻や出勤時刻、帰宅時刻、睡眠時間等の行動時刻情報と、ＧＰＳ（Global Positioning System）を利用して取得したユーザの滞在地情報と、当該滞在地情報に対しユーザが付与するアノテーション情報とをもとに、平日用と休日用の２種類のシチュエーション遷移モデルを学習し作成する。そしてこの状態で、取得されたユーザの位置情報及び時刻情報と、ユーザの遷移前のシチュエーションとに基づいて、ユーザの現在のシチュエーションを推定し、この推定されたシチュエーションに即したコメントをユーザに提供するものである（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８２８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上記従来の方法では、平日用及び休日用のシチュエーション遷移モデルを作成するために、ユーザが所定時間以上特定の場所に滞在した場合に、その都度この滞在場所に関する属性情報等をユーザ自身に入力してもらう必要がある。この作業は、ユーザにとってきわめて煩雑であるため、ユーザに倦厭されてしまうことが予想される。
【０００５】
この発明は上記事情に着目してなされたもので、その目的とするところは、ユーザによる属性情報等の入力作業を可能な限り減らし、これにより学習データの作成に対するユーザの倦厭感の軽減を図った行動状況判定方法、判定装置及び判定プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためにこの発明の１つの観点は、予め設定した学習期間におけるユーザの滞在位置データを収集し記憶すると共に、上記学習期間における上記ユーザの平日又は休日の割合を示す情報の入力を受け付ける。そして、先ず１日を複数の時間区間に分割して、この分割された時間区間ごとに上記記憶されたユーザの滞在位置データからその特徴量ベクトルを算出し、この算出された特徴量ベクトルと、上記入力された平日又は休日の割合を示す情報と、カーネル関数を用いて、平日又は休日を判定するための識別関数を学習する。次に、平日又は休日の判定対象となる日に収集された上記ユーザの滞在位置データからその特徴量ベクトルを算出して、この算出された特徴量ベクトルに対し識別処理を行う上で適当な識別関数を上記学習により得られた識別関数の中から選択し、この選択された識別関数をもとに上記判定対象となる日が平日か又は休日かを判定するようにしたものである。
【０００７】
すなわち、ユーザの滞在位置データの特徴ベクトルと、ユーザの平日又は休日の割合をもとに、平日又は休日を判定するための識別関数の学習を行い、この識別関数の学習結果を用いて判定対象日が平日か又は休日かを判定している。したがって、ユーザは平日又は休日の割合を表す情報のみを入力すればよいことになり、この結果毎日の滞在位置データに対しその日が平日であるか又は休日であるかを示す属性情報を逐一入力する必要があった従来に比べて、ユーザの入力作業にかかる手間を大幅に減らして倦厭感を軽減することが可能となる。
【０００８】
また、この発明の１つの観点は以下のような態様を備えることも特徴とする。  
第１の態様は、記憶された滞在位置データをそのデータ数が曜日間で均一になるように間引き、この間引き処理後の滞在位置データを特徴量ベクトルの算出処理に供するものである。  
このようにすると、ユーザの滞在位置データが曜日間で偏らないようにすることができ、これにより特徴量ベクトルの算出処理、ひいては平日又は休日を判定するための識別関数の学習処理をより的確に行うことができる。
【０００９】
第２の態様は、識別関数の学習処理を、ガウシアンカーネルを用いたone-class SVMを用いて行うものであり、平日又は休日の割合をｖ、学習用データの数をｎ、特徴量ベクトルをｘ＝（ｘ1，ｘ2，…，ｘL）、カーネル関数をＫ（ｘ，ｘi）、カーネル関数のパラメータをｈとしたとき、
【数１】
2011155408.tif 000003
式（１）に示す識別関数ｆi（ｘ）を、カーネル関数を式（４）で表し、式（２）の制約条件の下で式（３）に示す関数を最適化することにより得るものである。  
このようにすると、識別関数の学習処理をガウシアンカーネルを用いたone-class SVMを用いて、関数演算により学習することができる。
【００１０】
第３の態様は、平日か又は休日かを判定する際に、選択された識別関数ｆi（ｘ）がｆi（ｘ）≧０であるか否かを判定し、ｆi（ｘ）≧０であれば判定対象となる日を平日と識別し、ｆi（ｘ）＜０であれば判定対象となる日を休日と識別するものである。  
このようにすると、識別関数ｆi（ｘ）が０以上であるか０未満であるかを判定するだけで、きわめて簡単な判定処理により平日か又は休日かを判定することができる。
【発明の効果】
【００１１】
すなわちこの発明によれば、ユーザによる属性情報等の入力作業を可能な限り減らし、これにより学習データの作成に対するユーザの倦厭感を軽減することが可能な行動状況判定方法、判定装置及び判定プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の一実施形態に係わる行動状況判定方法を実施するシステムの全体構成を示す図である。
【図２】図１に示したシステムの機能構成を示すブロック図である。
【図３】図２に示したシステムによる学習フェーズの処理手順と処理内容を示すフローチャートである。
【図４】図２に示したシステムによる平日／休日判定処理フェーズの処理手順と処理内容を示すフローチャートである。
【図５】図３に示した学習フェーズにおける休日割合の入力受付処理の手順と処理内容を示すフローチャートである。
【図６】図３に示した学習フェーズにおけるＧＰＳデータの読み込み・選択処理の手順と処理内容を示すフローチャートである。
【図７】図３に示した学習フェーズにおける特徴ベクトル算出処理の手順と処理内容を示すフローチャートである。
【図８】図６に示した特徴ベクトル算出処理における時間区間の説明に使用する図である。
【図９】図３に示した学習フェーズにおけるOne−class SVMによる識別関数学習処理の手順と処理内容を示すフローチャートである。
【図１０】図９に示したOne−class SVMによる識別関数学習処理の要点を説明するための図である。
【図１１】図４に示した平日／休日判定処理フェーズにおける識別関数選択処理の手順と処理内容を示すフローチャートである。
【図１２】図４に示した平日／休日判定処理フェーズにおける平日／休日判定処理の手順と処理内容を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
図１は、この発明の一実施形態に係わる状況判定方法を実現するためのシステムの概略構成図である。このシステムは、状況判定対象者となるユーザが所持する携帯端末ＭＳと、データベースサーバＤＳＶと、平日／休日判定処理装置ＰＳと、平日／休日判定結果の通知先となるユーザ端末ＵＴ及び複数のアプリケーションサーバＡＰ１〜ＡＰｎとを備え、これらは通信ネットワークを介して相互に通信可能となっている。なお、通信ネットワークは、例えばインターネットに代表されるＩＰネットワークと、このＩＰネットワークにアクセスするためのアクセスネットワークとから構成される。
【００１４】
図２は、図１に示したシステムの機能構成を示すブロック図である。  
携帯端末ＭＳは、基本機能としてマン／マシンインタフェースとしての入出力機能と、音声通信機能と、ブラウザ機能を備えたもので、さらにこの発明を実施するために必要な機能としてセンサデータ計測部１１及び休日割合入力部１２を有している。これらの機能はいずれもプログラムを携帯端末ＭＳ内のＣＰＵ（Central Processing Unit）に実行させることにより実現される。
【００１５】
センサデータ計測部１１は、ＧＰＳ（Global Positioning System）受信機を有し、図示しない複数のＧＰＳ衛星から送信されたＧＰＳ信号を上記ＧＰＳ受信機により受信して、緯度と経度により表される自端末ＭＳの位置データを算出する。そして、この算出された位置データをその計測時刻を示すタイムスタンプと共に、データベースサーバＤＳＶへ送信する処理を行う。休日割合入力部１２は、上記入出力機能の表示部に休日割合の入力案内画面を表示し、この状態でユーザが上記入出力機能の入力部を操作して入力した休日割合を表す情報をデータベースサーバＤＳＶへ送信する処理を行う。
【００１６】
データベースサーバＤＳＶは、大容量の記憶媒体と、上記携帯端末ＭＳ及び平日／休日判定処理装置ＰＳとの間で通信を行う通信部を備え、さらにこの発明を実施するために必要な記憶制御機能として、センサデータ記憶部２１と、休日割合記憶部２２と、特徴量ベクトル記憶部２３と、平日／休日識別関数記憶部２４を備えている。これらの記憶制御機能は何れもプログラムをデータベースサーバＤＳＶ内のＣＰＵに実行させることにより実現される。
【００１７】
センサデータ記憶部２１は、上記携帯端末ＭＳから送信された当該携帯端末ＭＳの位置データを受信して記憶媒体内の所定の記憶エリアに記憶する処理と、この記憶された位置データを平日／休日判定処理装置ＰＳからの要求に応じて選択的に読み出して、要求元の平日／休日判定処理装置ＰＳへ送信する処理を行う。
【００１８】
休日割合記憶部２２は、上記携帯端末ＭＳから送信された休日割合を表す情報を受信して記憶媒体内の所定の記憶エリアに記憶する処理と、この記憶された休日割合を表す情報を平日／休日判定処理装置ＰＳからの要求に応じて読み出して、要求元の平日／休日判定処理装置ＰＳへ送信する処理を行う。
【００１９】
特徴量ベクトル記憶部２３は、平日／休日判定処理装置ＰＳ内の後述する特徴量ベクトル算出処理部３１により算出された特徴量ベクトルを受信して記憶媒体内の所定の記憶エリアに記憶する処理と、この記憶された特徴量ベクトルを平日／休日判定処理装置ＰＳからの要求に応じて読み出して、要求元の平日／休日判定処理装置ＰＳへ送信する処理を行う。
【００２０】
平日／休日識別関数記憶部２４は、平日／休日判定処理装置ＰＳ内の後述する平日／休日識別関数学習処理部３２により得られた識別関数の学習結果を受信して、記憶媒体内の所定の記憶エリアに記憶する処理と、この記憶された識別関数の学習結果を平日／休日判定処理装置ＰＳからの要求に応じて読み出して、要求元の平日／休日判定処理装置ＰＳへ送信する処理を行う。
【００２１】
平日／休日判定処理装置ＰＳは例えばＷｅｂサーバからなり、この発明を実施するために必要な処理機能として、特徴量ベクトル算出処理部３１と、平日／休日識別関数学習処理部３２と、平日／休日判定処理部３３を備えている。これらの処理機能は何れもプログラムをデータベースサーバＤＳＶ内のＣＰＵに実行させることにより実現される。
【００２２】
特徴量ベクトル算出処理部３１は、上記データベースサーバＤＳＶのセンサデータ記憶部２１から学習対象期間に含まれるすべての位置データを読み込んで、この読み込んだ位置データをデータ数が曜日間で均一になるように間引く処理と、１日を複数の時間区間に分割して、この分割された時間区間ごとに間引き処理後の位置データからその特徴量ベクトルを算出し、この算出された特徴量ベクトルをデータベースサーバＤＳＶへ送信して特徴量ベクトル記憶部２３に記憶させる処理を行う。
【００２３】
平日／休日識別関数学習処理部３２は、上記データベースサーバＤＳＶの特徴量ベクトル記憶部２３から時間区間ごとの特徴量ベクトルを読み込むと共に、休日割合記憶部２２から休日割合を示す情報を読み込む。そして、この読み込んだ特徴量ベクトル及び休日割合を示す情報と、カーネル関数を用いて、平日又は休日を判定するための識別関数を学習し、この学習処理により得られた平日／休日の識別関数をデータベースサーバＤＳＶへ送信して平日／休日識別関数記憶部２４に記憶させる処理を行う。上記平日／休日の識別関数の学習処理は、ガウシアンカーネルを用いたone-class SVMを使用して行われる。
【００２４】
平日／休日判定処理部３３は、上記データベースサーバＤＳＶのセンサデータ記憶部２１から平日／休日の判定対象となる日に含まれる位置データを読み込んでその特徴量ベクトルを算出する処理と、データベースサーバＤＳＶの平日／休日識別関数記憶部２４から識別関数を読み込み、この読み込んだ識別関数の中から上記算出された特徴量ベクトルに対し識別処理を行う上で適当な識別関数を選択する処理と、この選択された識別関数をもとに上記判定対象となる日が平日か又は休日かを判定する処理と、この平日／休日の判定結果を表す情報をユーザ端末ＵＴ又はアプリケーションサーバＡＰ１〜ＡＰｎへ送信する処理を行う。
【００２５】
ユーザ端末ＵＴ又はアプリケーションサーバＡＰ１〜ＡＰｎは、この発明に係わる制御機能として平日／休日通知受信部４１を備える。この平日／休日通知受信部４１はプログラムをＣＰＵに実行させることにより実現されるもので、上記平日／休日判定処理装置ＰＳの平日／休日判定処理部３３から送信された平日／休日の判定結果を表す情報を受信して、ユーザの状況判定に使用する１つのパラメータとして保存する。
【００２６】
次に、以上のように構成されたシステムによる平日／休日判定方法を、識別関数の学習フェーズと平日／休日判定フェーズとに分けて説明する。  
（１）識別関数の学習フェーズ
識別関数の学習処理は次のように行われる。図３はその処理手順と処理内容を示すフローチャートである。なお、ここでは識別関数の学習処理に必要な期間におけるユーザの位置データが、データベースサーバＤＳＶ内のセンサデータ記憶部２１に既に記憶されているものとして説明を行う。
【００２７】
（１−１）休日割合入力処理
携帯端末ＭＳでは、先ずステップＳ１においてユーザの休日割合を示す情報の入力処理が行われる。この休日割合を示す情報の入力処理は携帯端末ＭＳとユーザとの間で対話形式により行われる。図５はその処理手順と処理内容を示すフローチャートである。
【００２８】
はじめにユーザは、学習用データにおける休日の割合は学習用のデータを収集した日付によるため、データベースサーバＤＳＶのセンサデータ記憶部２１に記憶された学習対象期間の位置データを読み出して携帯端末ＭＳの表示部に表示させることにより、上記学習対象期間における休日の割合を確認する。
【００２９】
次に、携帯端末ＭＳにおいてユーザが作業メニューから休日割合の入力を選択すると、携帯端末ＭＳの休日割合入力部１２は表示部に先ず「休日は暦通りですか？」なる問い合わせメッセージを表示する。これに対しユーザが、ステップＳ１１によりYesを選択入力すると、休日割合入力部１２はステップＳ１８によりｌ＝１に設定する。一方、ユーザがNoを選択入力したとすると、休日割合入力部１２は次に「休日は１週間に１日以上ですか？」なる問い合わせメッセージを表示する。これに対しユーザがYesを選択入力すると、休日割合入力部１２はステップＳ１３により週休日数の候補を表示する。この状態で、ユーザが表示された週休日数の候補の中から所望の日数を選択するか、又は任意の日数を入力すると、休日割合入力部１２はステップＳ１４に移行して、ここでｌ＝２に設定した後、休日の割合ｖを
ｖ＝ｍweek／７                             （５）
により算出する。
【００３０】
一方、上記「休日は１週間に１日以上ですか？」という問いに対し、ユーザがNoを選択入力したとする。この場合休日割合入力部１２は、ステップＳ１５に移行して月の休日数の候補を表示する。この状態で、ユーザが表示された月の休日数の候補の中から所望の日数を選択するか、又は任意の日数を入力すると、休日割合入力部１２はステップＳ１６においてｌ＝３に設定した後、休日の割合ｖを
ｖ＝ｍmonth／３０                           （６）
により算出する。
【００３１】
そして休日割合入力部１２は、上記ステップＳ１３又はステップＳ１６により算出された休日割合ｖを示す情報を、ステップＳ１７においてデータベースサーバＤＳＶへ送信する。この結果、データベースサーバＤＳＶの休日割合記憶部２２には、上記算出された休日割合ｖを示す情報が記憶される。なお、このとき携帯端末ＭＳからデータベースサーバＤＳＶへは、上記休日割合ｖを示す情報と共にｌの値（ｌ＝１，ｌ＝２，ｌ−３のいずれか）も伝送されて保存される。
【００３２】
なお、この休日割合入力処理の手順と内容は一例であり、必ずしもこの処理手順及び内容に既定されるものではない。例えば、「休日は１週間に１日以上ですか？」という問い合わせメッセージの表示を省いてユーザに週休日数を入力してもらうようにしてもよいし、別のアプリケーション・プログラム等でユーザがプロファイル登録を行う際に、ユーザが暦通りに休日を取得可能な職業であることがわかっている場合には、休日割合をユーザに問い合わせる処理そのものを省略してもよい。
【００３３】
（１−２）位置データの選択（間引き）処理
上記休日割合を表す情報の入力処理が終了すると、平日／休日判定処理装置ＰＳはステップＳ２により特徴量ベクトル算出処理部３１を起動し、先ず位置データの間引き処理を以下のように行う。図６はその処理手順と処理内容を示すフローチャートである。
【００３４】
すなわち、先ずステップＳ２１により、上記データベースサーバＤＳＶのセンサデータ記憶部２１から全期間の位置データを一旦読み込む。そして、ステップＳ２２によりｌの値がｌ＝１か否かを判定し、ｌ＝１でステップＳ２３において、読み込んだすべての位置データに含まれる休日の日数ｍkoyomiをカレンダ関数等を用いてカウントする。続いてステップＳ２４により、この休日日数ｍkoyomiを上記読み込んだすべての位置データの数Ｍを用いて式（７）のように割り算することにより休日の割合ｖを算出し、この算出された休日の割合ｖをステップＳ２５により保存する。またこの場合、上記読み込んだすべての位置データを学習用の位置データとしてステップＳ３０により保存する。  
ｖ＝ｍkoyomi／M                            （７）
【００３５】
一方、上記ステップＳ２２の判定においてｌ＝１でなければ、ステップＳ２７によりｌ＝２か否かを判定する。この判定の結果ｌ＝２であれば、入力された休日の割合は週休に基づいたものであるから、ステップＳ２８において上記読み込んだ全位置データを間引き、これにより各曜日の学習データ数が均等になるようにする。そして、この間引き処理後の位置データを学習用の位置データとしてステップＳ３０により保存する。
【００３６】
また、上記ステップＳ２２の判定においてｌ＝２でなければｌ＝３と見なす。そして、ｌ＝３は入力された休日の割合が月休に基づくものであることを示しているので、ステップＳ２９において各月のデータ取得日数が所定数以下の月のデータを学習用データから除外する処理を行うことにより、データを間引く。そして、この間引き処理後の位置データを学習用の位置データとしてステップＳ３０により保存する。
【００３７】
なお、この間引き処理においても、学習に用いる位置データの選択方法は必ずしもこの処理フローと同じ手順である必要はなく、カレンダ型のＧＵＩ型インタフェースを用意して学習用位置データをユーザにより選択してもらう、等の方法により位置データを選択するようにしてもよい。
【００３８】
（１−３）特徴量ベクトルの算出処理
平日／休日判定処理装置ＰＳは、次にステップＳ３において、上記間引き処理により選択された位置データから特徴量ベクトルｘ＝（ｘ1，ｘ2，…，ｘL）（ただし、Ｌは特徴量空間を構成する次元数である。）を算出する。図７はその処理手順と処理内容を示すフローチャートである。
【００３９】
すなわち、先ず１日を複数の時間区間Ｔi （i=(1，2，…，N)）に分割する。図８にその分割例を示す。そして、ステップＳ３１〜Ｓ３５により、各時間区間Ｔi （i=(1，2，…，N)）ごとに、当該時間区間Ｔi （i=(1，2，…，N)）に属する学習用位置データを抽出する。
【００４０】
なお、図８に示した例では各時間区間Ｔi （i=(1，2，…，N)）の長さは１時間毎に増えるようになっているが、この長さに限定されるものではなく、３０分単位や２時間単位で増えるように区分してもよい。また、時間区間の開始点及び終点についても限定されるものではない。ただし、各時間区間の開始点は、全て同じ時点で揃っているものとする。本実施形態では、該当する時間区間の中で最も長く滞在した滞在地の緯度経度と、該当時間区間までの総移動距離と、各移動手段を使った時間の長さを、特徴量ベクトルを構成する要素とし、各特徴量を位置データから算出する。ただし、特徴量ベクトルは本実施形態における特徴量の組合せに限らず、上記特徴量のうち２つ、３つを選んだものでもよいし、上記の特徴量以外の特徴量を選んでもよい。
【００４１】
（１−４）one-class SVMを使用した識別関数学習処理
平日／休日判定処理装置ＰＳは、次にステップＳ４において平日／休日識別関数学習処理部３２を起動し、one-class SVMを使用して、上記時間区間ごとの特徴量ベクトルｘ＝（ｘ1，ｘ2，…，ｘL）に対し識別関数の学習処理を行う。
【００４２】
先ずone-class SVMによる識別処理の要点について説明する。one-class SVMによる識別処理の要点は、ガウシアンカーネルを用いたone-class SVMを用いて識別関数を学習することにある。図１０はone-class SVMによる識別処理の要点を説明するための図である。同図に示すように、ガウシアンカーネルを用いることで、元の特徴量空間における外れ点は写像先では原点付近に分布することになる。そして、one-class SVMを用いることで、学習データに含まれる外れ点の割合を指定すれば、各データに対するアノテーション無しに識別平面を学習することが可能となる。
【００４３】
このone-class SVMを用いた特徴量ベクトルに対する識別関数の学習処理は、次のように行われる。図９はその処理手順と処理内容を示すフローチャートである。すなわち、ステップＳ４２〜Ｓ４４により、各時間区間Ｔi （i=(1，2，…，N)）ごとに識別関数を用意する。学習処理においては、上記特徴量ベクトル算出部３１において算出された、学習位置データにおける休日の割合ｖ、学習用データの数ｎ、特徴量ベクトルｘ＝（ｘ1，ｘ2，…，ｘL）を用い、時間区間Ｔi （i=(1，2，…，N)）における式（８）の識別関数ｆiを、式（９）の制約条件の下で式（１０）の関数を最適化することにより得る。
【数２】
2011155408.tif 000004
なお、Ｋ（ｘ，ｘi）はカーネル関数であり、本実施形態ではガウシアンカーネルを用いる。式（１１）にその関数式を示す。
【００４４】
ガウシアンカーネルにおけるパラメータｈは、本実施形態においては定数とする。ただし、本実施形態による学習の精度はこのパラメータｈに大きく依存する。このため、パラメータｈに特定の変動幅を持たせて、ｈを変化させた複数の識別関数のパターンを学習し、テストデータに対して最高の精度が得られるｈをパラメータとして設定する、といった処理を付け加えることも可能である。
【００４５】
（２）平日／休日判定フェーズ
次に、平日／休日判定フェーズの処理は次のように行われる。図４はその処理手順と処理内容を示すフローチャートである。なお、携帯端末ＭＳでは平日／休日の判定対象となる期間において位置データの計測が周期的に行われ、この計測された位置データはデータベースサーバＤＳＶに送信されてセンサデータ記憶部２１に記憶される。
【００４６】
平日／休日判定処理装置ＰＳは平日／休日判定処理部３３を起動し、先ずステップＳ６によりデータベースサーバＤＳＶのセンサデータ記憶部２１から、平日／休日判定フェーズの処理が起動されるまでに収集された位置データを読み込む。続いてステップＳ７において、先に述べた学習フェーズにおける特徴量ベクトルの算出処理と同様に特徴量ベクトルを算出する。
【００４７】
次にステップＳ８において、データベースサーバＤＳＶの平日／休日識別関数記憶部２４から上記学習フェーズにより得られた時間区間Ｔiごとの識別関数を読み込み、この読み込んだ時間区間Ｔiごとの識別関数の中から、上記平日／休日の判定対象となる位置データについて算出された特徴量ベクトルに対し識別処理を施すのが相応しい識別関数を選択する。図１１はその処理手順と処理内容を示すフローチャートである。  
すなわち、ステップＳ８１〜Ｓ８４により、上記平日／休日の判定対象として読み込んだすべての位置データについて当該位置データがどの時間区間Ｔiに該当するかを調査する。続いて、該当する時間区間Ｔiの識別関数を検索することにより識別関数を選択する。
【００４８】
平日／休日判定処理部３３は、次にステップＳ９に移行し、ここで上記選択された識別関数を用いて平日／休日の判定処理を行う。図１２はその処理手順と処理内容を示すフローチャートである。  
すなわち、平日／休日判定処理部３３は、ステップＳ９１において識別関数ｆi（ｘ）がｆi（ｘ）≧０であるか否かを判定し、ｆi（ｘ）≧０であればステップＳ９２により判定対象となる日を平日と識別する。これに対し、ｆi（ｘ）＜０であれば、ステップＳ９３により判定対象となる日を休日と識別する。そしてステップＳ１０において、上記識別結果を表す情報をユーザ端末ＵＴ又はアプリケーションサーバＡＰ１〜ＡＰｎへ送信する。
【００４９】
ユーザ端末ＵＴ又はアプリケーションサーバＡＰ１〜ＡＰｎは、平日／休日通知受信部４１の制御の下で、上記平日／休日判定処理装置ＰＳから送信された平日／休日の判定結果を表す情報を受信し保存する。この平日／休日の判定結果を表す情報は、ユーザの状況を判定するための属性情報として使用される。例えば、平日であればユーザに対し仕事に関する情報が配信され、休日であればレジャーに関する情報が配信される。
【００５０】
以上詳述したようにこの実施形態では、学習期間においてユーザの位置データを携帯端末ＭＳから収集してデータベースサーバＤＳＶに記憶すると共に、上記学習期間における上記ユーザの休日の割合を示す情報を携帯端末ＭＳにおいてユーザに入力させる。そして、平日／休日判定処理装置ＰＳにおいて、先ず学習フェーズにより１日を複数の時間区間Ｔi （i=(1，2，…，N)）に分割して、この分割された時間区間Ｔi （i=(1，2，…，N)）ごとに上記記憶されたユーザの位置データからその特徴量ベクトルｘ＝（ｘ1，ｘ2，…，ｘL）を算出し、この算出された特徴量ベクトルｘ＝（ｘ1，ｘ2，…，ｘL）と、上記入力された休日の割合を示す情報をもとに、ガウシアンカーネルを用いたone-class SVMを使用して平日又は休日を判定するための識別関数ｆi（ｘ）を学習する。次に、平日／休日判定フェーズにおいて、平日又は休日の判定対象となる日に収集された上記ユーザの位置データからその特徴量ベクトルを算出して、この算出された特徴量ベクトルに対し識別処理を行う上で適当な識別関数を上記学習フェーズにより得られた識別関数の中から選択し、この選択された識別関数をもとに上記判定対象となる日が平日か又は休日かを判定するようにしている。
【００５１】
したがって、ユーザは休日の割合を表す情報のみを入力すればよいことになり、この結果毎日の滞在位置データに対しその日が平日であるか又は休日であるかを示す属性情報を逐一入力する必要があった従来の方法に比べて、ユーザの入力作業にかかる手間を大幅に減らして倦厭感を軽減することが可能となる。
【００５２】
また、この実施形態では、位置データの特徴量ベクトルの算出に先立ち、データベースサーバＤＳＶに記憶された位置データをそのデータ数が曜日間で均一になるように間引き、この間引き処理後の位置データを特徴量ベクトルの算出処理に供するようにしている。このため、ユーザの位置データが曜日間で偏らないようにすることができ、これにより特徴量ベクトルの算出処理、ひいては平日又は休日を判定するための識別関数の学習処理をより的確に行うことができる。
【００５３】
さらに、平日か又は休日かを判定する際に、選択された識別関数ｆi（ｘ）がｆi（ｘ）≧０であるか否かを判定し、ｆi（ｘ）≧０であれば判定対象となる日を平日と識別し、ｆi（ｘ）＜０であれば判定対象となる日を休日と識別する用にしている。このため、識別関数ｆi（ｘ）が０以上であるか０未満であるかを判定するだけで、簡単な判定処理により平日か又は休日かを判定することができる。
【００５４】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではデータベースサーバＤＳＶと平日／休日判定処理装置ＰＳとを別々に設けたが、１つのサーバ装置に設けるようにしてもよい。また、前記実施形態ではユーザの入力操作に応じて休日の割合を算出するようにしたが、平日の割合を算出するようにしてもよい。
【００５５】
その他、ユーザ端末、データベースサーバ及び平日／休日判定処理装置の種類や機能、平日／休日の割合を入力するための処理手順や処理内容、識別関数の学習フェーズ及び平日／休日判定フェーズの処理手順と処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【００５６】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００５７】
ＭＳ…携帯端末、ＤＳＶ…データベースサーバ、ＰＳ…平日／休日判定処理装置、ＵＴ…ユーザ端末、ＡＰ１〜ＡＰｎ…アプリケーションサーバ、１１…センサデータ計測部、１２…休日割合入力部、２１…センサデータ記憶部、２２…休日割合記憶部、２３…特徴量ベクトル記憶部、２４…平日／休日識別関数記憶部、３１…特徴量ベクトル算出処理部、３２…平日／休日識別関数学習処理部、３３…平日／休日判定処理部、４１…平日／休日通知受信部。
【図１】
2011155408.tif 000007
【図２】
2011155408.tif 000008
【図３】
2011155408.tif 000009
【図４】
2011155408.tif 000010
【図５】
2011155408.tif 000011
【図６】
2011155408.tif 000012
【図７】
2011155408.tif 000013
【図８】
2011155408.tif 000014
【図９】
2011155408.tif 000015
【図１０】
2011155408.tif 000016
【図１１】
2011155408.tif 000017
【図１２】
2011155408.tif 000018