以下、簡易質問票取得装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、N個の設問のうちのM個(M<N)の設問に対する回答を用いて得られる推定値と実測値とが予め決められた近似条件を満たす場合に、当該推定値を取得する際に採用されたM個の設問の集合である設問集合を取得し、当該設問集合に関する情報である簡易質問票を出力する簡易質問票取得装置について説明する。
また、本実施の形態において、質問票に対する回答を用いて実測値を取得する簡易質問票取得装置について説明する。
また、本実施の形態において、異なる設問数の2以上の設問集合の候補を取得し、当該候補ごとに、近似条件を満たすか否かを判断し、近似条件を満たす候補の中で、設問数が最小の候補を、簡易質問票を作成する際に使用する設問集合に決定する簡易質問票取得装置について説明する。
また、本実施の形態において、各設問に対する回答の寄与度を取得し、当該寄与度が大きいM個の設問の集合である設問集合を採用する簡易質問票取得装置について説明する。
また、本実施の形態において、寄与度の高い順から設問数を増やして設問集合の候補を作成し、各候補の設問集合に対する回答を用いて取得した推定値が近似条件を満たすと判断した場合に、当該推定値を取得する際に採用されたM個の設問の集合である設問集合を取得し、当該設問集合に関する情報である簡易質問票を出力する簡易質問票取得装置について説明する。
また、本実施の形態において、不適切な回答者の回答を検知し、当該回答を採用しないで、簡易質問票を作成する簡易質問票取得装置について説明する。
また、本実施の形態において、人の1日の水分摂取量を推定するための簡易質問票を出力する簡易質問票取得装置について説明する。
さらに、本実施の形態において、X個の設問を有する設問集合である第二質問票に対する回答を用いて実測値を取得する簡易質問票取得装置について説明する。なお、Xは、1以上の自然数である。
図1は、本実施の形態における簡易質問票取得装置Aのブロック図である。簡易質問票取得装置Aは、格納部1、受付部2、処理部3、および出力部4を備える。
格納部1は、質問票格納部11、回答格納部12、および実測値格納部13を備える。受付部2は、回答受付部21を備える。処理部3は、実測値取得部31、不適切判断部32、推定値取得部33、および設問決定部34を備える。推定値取得部33は、寄与度取得手段331、候補取得手段332、および推定値取得手段333を備える。出力部4は、簡易質問票出力部41を備える。
格納部1には、各種の情報が格納される。各種の情報は、例えば、後述する質問票、後述する、後述する回答、後述する実測値、後述する不適切条件、後述する近似条件、実測値元管理表である。
実測値元管理表は、2以上の実測値元レコードを有する。実測値元レコードは、設問識別子と回答とに対応付けられた実測値元を有する。実測値元は、実測値の元になる情報である。実測値元は、例えば、設問の回答に対応する水分摂取量である。
質問票格納部11には、第一質問票が格納される。質問票格納部11には、例えば、第二質問票が格納されていても良い。
第一質問票は、N(Nは自然数)個の設問の集合である。第一質問票は、後述する推定値を取得する際に使用されるM(Mは自然数,M<N)個の設問を含む設問の集合である。設問は、質問、問等と言っても良い。第一質問票は、いわゆるアンケートである、と言っても良い。
第一質問票は、例えば、ユーザの1日の水分摂取量を推定するための設問の集合である。ただし、第一質問票の内容や設問数等は問わない。
第一質問票は、例えば、300問である。第一質問票は、例えば、生活習慣および食事に関わる質問票である。かかる質問票は、生活習慣に関する質問と食事に関する質問の集合である。さらに具体的には、かかる第一質問票は、前日の酒類に対する摂取量を問う1または2以上の設問を有する。第一質問票は、例えば、前日の食事に対する摂取量を問う1または2以上の設問を有する。第一質問票は、例えば、国民生活基礎調査に含まれる生年月日を問う設問、性別を問う設問、職業を問う設問、世帯状況を問う設問、教育歴を問う設問、健康状態を問う設問が含まれる。第一質問票は、例えば、国民健康・栄養調査に含まれる身長を問う設問、体重を問う設問、居住地を問う設問、地域のつながりに関して問う設問、身体活動に関して問う設問、喫煙の有無を問う設問、歯の状態を問う設問が含まれる。第一質問票は、例えば、食事に対する習慣性に関して問う設問が含まれる。第一質問票は、例えば、食事に関する設問(例えば、食物摂取頻度調査(FFQを使用した栄養調査)に含まれる設問)が含まれる。第一質問票は、例えば、食欲に関する設問(Simplified Nutritional Appetiteの日本語版(SNAQ-J)に含まれる設問)が含まれる。第一質問票は、例えば、中医体質に関する設問(日本語版中医体質調査票(CCMQ-J)に含まれる設問)が含まれる。第一質問票は、例えば、睡眠に関する設問(ピッツバーグ睡眠質問票日本語版に含まれる設問)が含まれる。
第一質問票が有するN個の設問は、例えば、飲料由来の設問、酒類由来の設問、食事由来の設問、全由来の設問のうち2種類以上の設問を有することは好適である。
第一質問票は、例えば、ダミーの設問が含まれる。ダミーの設問とは、回答者であるユーザが不適切で否かを判断するための設問である。ダミーの設問は、ユーザが適当に回答すると、矛盾が分かる質問である。ダミーの設問は、例えば、他と同じ設問である。ダミーの設問は、例えば、2つの同じ設問である。
第二質問票は、実測値を得るための1または2以上の設問の集合である。第二質問票は、例えば、ユーザの1日の水分摂取量の実測値を得るための設問の集合である。なお、実測値は、正確な値であることは好適であるが、多少の誤差や違いがあっても良い。実測値は、正確な値に近ければ良い、と考えても良い。
第二質問票は、例えば、記述式食事記録法(DR)に対応する設問の集合である。記述式食事記録法は、一定期間に飲食したものを、対象者に記録用紙を渡して記録してもらう方法である。食事記録法の最も大きな長所は、実際に食べた内容そのものの情報が得られる点である。食事記録法に基づく回答を用いて、ユーザの1日の水分摂取量の実測値を得ることができる。
第二質問票は、例えば、摂取した飲食物の種類と量を選択式で選ぶ質問の集合でも良い。
回答格納部12には、回答が格納される。回答格納部12には、識別子に対応付いた回答が格納される。回答は、第一質問票が有する各設問に対するユーザの回答である。なお、ユーザは、回答者である。回答は、第一質問票が有する各設問の設問識別子に対応付いている。設問識別子は、設問を識別する情報であり、例えば、設問番号、設問のIDである。
識別子は、ユーザ識別子、または日識別子、またはユーザ識別子と日識別子である。ユーザ識別子は、ユーザを識別する情報であり、例えば、ID、メールアドレス、電話番号、ユーザが使用する端末のID(例えば、IPアドレス、MACアドレス、端末識別子等)である。
回答は、ユーザ属性値に対応付いていても良い。ユーザ属性値は、ユーザの属性値であり、例えば、性別、年齢、職業である。
回答格納部12に格納されている回答は、第二質問票の各設問に対する回答でも良い。かかる回答も、通常、識別子に対応付いている。
回答は、設問の種類を識別する種類識別子に対応付いていても良い。種類は、例えば、由来である。種類は、例えば、飲料由来、酒類由来、食事由来、全由来のいずれかである。回答が水分摂取量を取得するための回答である場合、飲料由来の水分摂取量は、飲料から摂取される水分量である。酒類由来の水分摂取量は、酒類から摂取される水分量である。食事由来の水分摂取量は、食事から摂取される水分量である。全由来の水分摂取量は、飲料、酒類、および食事から摂取される水分量である。
回答は、回答を利用する用途に対応付いていても良い。回答格納部12に格納されている回答は、学習のための回答と、テストのための回答とが、区別されて格納されていても良い。また、回答格納部12に格納されている回答は、学習のための回答と、検証のための回答と、テストのための回答とが、区別されて格納されていても良い。
用途は、例えば、「学習用」「検証用」「テスト用」のいずれかである。用途「学習用」の回答は、学習器の構築のために使用される。「検証用」の回答は、学習器の各種パラメータを調整するために利用される。「テスト用」の回答は、推定値を取得し、実測値との相関情報を得て、最終の設問を決定するために使用される。
実測値格納部13は、2以上の実測値が格納される。実測値は、通常、識別子に対応付いている。
実測値は、回答に対応付いていることは好適である。実測値は、実測値を利用する用途に対応付いていても良い。つまり、実測値格納部13には、学習のための実測値と、テストのための実測値とが、区別されて格納されていても良い。実測値格納部13には、学習のための実測値と、検証のための実測値と、テストのための実測値とが、区別されて格納されていても良い。
実測値は、例えば、ユーザの1日の水分摂取量である。実測値は、例えば、一のユーザの1日の水分摂取量であり、ユーザ識別子に対応付けられている。実測値は、例えば、一のユーザの一の日の水分摂取量であり、ユーザ識別子と日識別子とに対応付けられている。
実測値は、例えば、種類識別子に対応付いている。実測値格納部13には、由来ごとの実測値が格納されることは好適である。実測値がユーザの1日の水分摂取量である場合、由来は、例えば、飲料由来、酒類由来、食事由来、全由来のうちの2以上の由来である。
実測値格納部13の実測値は、例えば、実測値取得部31が取得した実測値である。ただし、実測値格納部13の実測値は、人手で入力された値等でも良く、その取得方法、格納方法は問わない。
受付部2は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、回答、簡易設問票出力指示である。簡易設問票出力指示は、簡易設問票の出力の指示である。
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
回答受付部21は、回答を受け付ける。回答は、第一質問票の各設問に対する回答である。回答は、例えば、第二質問票の各設問に対する回答である。回答は、通常、ユーザ識別子に対応付く。
回答受付部21は、例えば、第一質問票の各設問に対する回答の集合を受け付け、当該回答の集合をユーザ識別子に対応付けて、回答格納部12に蓄積する。
処理部3は、各種の処理を行う。各種の処理は、例えば、実測値取得部31、不適切判断部32、推定値取得部33、設問決定部34、候補取得手段332、推定値取得手段333、寄与度取得手段331が行う処理である。
実測値取得部31は、第二質問票を構成するX個の各第二設問に対する第二回答を用いて、実測値を取得する。実測値取得部31は、例えば、ユーザ識別子ごとに、X個の各第二回答または各第二回答と対になる値を取得し、当該X個の各第二回答または各値をパラメータとする増加関数(例えば、加算関数)を用いて、実測値を算出する。実測値取得部31は、受け付けられた実測値を取得しても良い。つまり、実測値取得部31は、第二回答を用いずに、実測値を取得しても良い。
不適切判断部32は、N個の設問に対する回答が予め決められた不適切条件を満たすか否かを判断する。不適切条件は、例えば、同じ2以上の設問に対する回答が異なることである。不適切条件は、例えば、閾値以上の割合(例えば、95%以上)または閾値以上の数の回答が同じ回答であること(例えば、すべての回答が同じ回答であること)である。実測値取得部31や推定値取得部33や設問決定部34は、不適切判断部32が不適切条件を満たすと判断した回答の集合を使用しないことは好適である。
推定値取得部33は、2以上の各実測値に対応する推定値を取得する。推定値取得部33は、例えば、ユーザ識別子に対応する推定値を取得する。推定値取得部33は、例えば、ユーザ識別子と日識別子とに対応する推定値を取得する。
推定値取得部33は、第一質問票を構成するN個の各設問に対する回答のうち、N個より少ないM個の各設問に対する回答を用いて得られる推定値を取得する。
推定値取得部33は、不適切判断部32が不適切条件を満たすと判断したN個の設問に対する回答を除いて、推定値を取得することは好適である。
推定値取得部33は、上述した由来ごとに、推定値を取得することは好適である。
推定値取得部33は、例えば、寄与度取得手段331、候補取得手段332、および推定値取得手段333により、推定値を取得する。
寄与度取得手段331は、実測値に対するN個の各設問に対する回答の寄与度を取得する。なお、各設問に対する回答の寄与度は、各設問の寄与度とも言える。寄与度取得手段331は、例えば、以下の(1)または(2)の方法により、各設問の寄与度を取得する。ただし、各設問の寄与度を取得する方法は問わない。
(1)ランダムフォレストの学習器から寄与度を取得する場合
寄与度取得手段331は、例えば、ランダムフォレストのモジュールを用いて、回答の寄与度を取得する。
寄与度取得手段331は、例えば、識別子ごとに、第一質問票が有する各設問に対する当該識別子と対になる回答を取得する。また、寄与度取得手段331は、例えば、識別子ごとに、当該識別子と対になる実測値を実測値格納部13から取得する。次に、寄与度取得手段331は、例えば、識別子ごとに、各回答と実測値とを、各々要素とするベクトルを構成する。次に、寄与度取得手段331は、例えば、ランダムフォレストの学習モジュールに、2以上の識別子に対応するベクトルを与え、当該ランダムフォレストの学習モジュールを実行し、学習器を取得する。そして、寄与度取得手段331は、当該学習器を用いて、各回答に対応する各設問の寄与度を取得する。なお、各設問の寄与度は、実測値を得るための各設問の寄与に関する情報であり、寄与率と言っても良いし、重要度等と言っても良い。なお、ランダムフォレストの学習モジュールの実行により取得された学習器を用いて、各回答に対応する各設問の寄与度を取得する処理は公知技術である。
寄与度取得手段331は、種類識別子ごとに、学習器を取得することは好適である。寄与度取得手段331は、例えば、飲料由来、酒類由来、食事由来、および全由来の4つの由来ごとに、学習器を取得することは好適である。
(2)機械学習の学習器の精度の評価結果を用いて寄与度を取得する場合
(1)で述べた処理と同様、寄与度取得手段331は、例えば、識別子ごとに、全設問の各回答と実測値とを各々要素とするベクトルを構成する。ここで、寄与度取得手段331は、2以上のベクトルを取得できた。次に、寄与度取得手段331は、例えば、k分割交差検証により、全設問の各回答と実測値とを用いて構成した学習器の精度(正解率、適合率、または再現率等の精度等のうち、いずれの精度でも良い)である基本精度を取得する。
次に、寄与度取得手段331は、例えば、識別子ごとに、全設問のうち、1つの設問に対する回答を除いた回答と実測値とを、各々要素とするベクトルを構成する。次に、寄与度取得手段331は、例えば、k分割交差検証により、1つの設問に対する回答を除いた各回答と実測値とを用いて構成した学習器の精度である欠落精度を取得する。次に、寄与度取得手段331は、基本精度と欠落精度との差を算出する。次に、寄与度取得手段331は、例えば、この差をパラメータとする増加関数により、除いた回答に対する設問の寄与度を算出する。なお、除いた回答に対する設問の寄与度は、演算式「f(基本精度-欠落精度)」により算出可能である。また、基本精度と欠落精度との差が大きいほど、除いた回答、つまり除いた設問の寄与度が大きいこととなる。また、回答を除くことは、当該回答に対応する設問を除くことでもある。
そして、寄与度取得手段331は、例えば、除く設問の1つめからN個目まで変更し、k分割交差検証により、除いた設問ごとの、N個の欠落精度を取得する。
なお、寄与度取得手段331は、k分割交差検証を、機械学習のモジュールを用いて行う。機械学習のモジュールは、ランダムフォレストでも良いし、決定木、深層学習、SVR等でも良く、そのアルゴリズムは問わない。また、機械学習には、例えば、TensorFlowのライブラリ、fastText、tinySVM、R言語のrandom forestのモジュール等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。なお、k分割交差検証は、公知技術であるので、詳細な説明を省略する。
また、(2)の方法において、寄与度取得手段331は、例えば、基本精度を使用せずに、N個の欠落精度のみを用いて、各設問の寄与度を取得しても良い。つまり、寄与度取得手段331は、欠落した設問に対応する欠落精度が示す精度が低いほど、当該設問の寄与度を大きくするように、寄与度を取得しても良い。寄与度取得手段331は、例えば、各設問の欠落精度をパラメータとする減少関数により、各設問の寄与度を取得しても良い。
候補取得手段332は、2以上の設問集合候補を取得する。設問集合候補は、設問集合の候補である。設問集合は、第一質問票が有するN個の設問の中の、2以上の異なる数の2以上の設問の集合である。候補取得手段332が2以上の設問集合候補を取得する方法は問わない。候補取得手段332は、例えば、以下の(1)から(3)のいずれかの方法により、2以上の設問集合候補を取得する。
(1)寄与度を用いる場合
候補取得手段332は、例えば、寄与度取得手段331が取得した寄与度が予め決められた寄与度条件を満たす設問の集合である2以上の設問集合候補を取得する。なお、寄与度条件とは、寄与度が大きいことである。寄与度条件は、例えば、寄与度が閾値以上、閾値より大きいこと、上位N位以上などである。
候補取得手段332は、例えば、寄与度が大きい順に含む設問の数が多くなる2以上の設問集合候補を取得する。寄与度が大きい順に含む設問の数が多くなる2以上の設問集合候補とは、例えば、「寄与度が1位の設問」「寄与度が1位と2位の2個の設問の集合」「1位から3位までの3個の設問の集合」・・・「1位からX位までのX個の設問の集合」である。なお、Xの数は問わない。
(2)全組み合わせを取得する場合
候補取得手段332は、例えば、N個の設問の集合である第一質問票から、N通りの1個の設問の設問集合候補、NC2通りの数の設問集合候補、NC3通りの数の設問集合候補、NC4通りの数の設問集合候補、・・・、NCN-1通りの数の設問の設問集合候補、1通りのN個の設問の設問集合候補を取得する。つまり、候補取得手段332は、N個の設問の集合である第一質問票から、(NC1+NC2+NC3+・・・+NCN-2+NCN-1+NCN)通りの設問集合候補を取得する。なお、かかる場合、寄与度取得手段331は不要である。なお、ここで、候補取得手段332は、例えば、N個の設問の集合を取得しない等、集合が含む設問数の上限を決めていても良い。
(3)ランダムに取得する場合
候補取得手段332は、例えば、2個の設問からなる第一の設問集合候補をランダムに選択して、X(Xは、例えば、予め決められている)通り取得する。また、候補取得手段332は、例えば、3個の設問からなる第二の設問集合候補をランダムに選択して、X通り取得する。また、候補取得手段332は、例えば、4個の設問からなる第三の設問集合候補をランダムに選択して、X通り取得する。・・・候補取得手段332は、例えば、Y個(Y<Nであり、予め決められている)個の設問からなる設問集合候補をランダムに選択して、X通り取得する。なお、かかる場合も、寄与度取得手段331は不要である。
推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、各設問集合候補が有する2以上の設問に対する回答を用いて得られる値である推定値を取得する。推定値取得手段333は、例えば、以下の(1)または(2)の方法により推定値を取得する。
(1)学習のための回答および実測値を用いて学習器を構成し、当該学習器とテスト用の回答を用いて推定値を取得する方法
推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、かつ識別子ごとに、各設問集合候補が有する2以上の設問に対する回答であり、学習のための回答を、回答格納部12から取得する。また、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、かつユーザ識別子ごとに、学習のための回答に対応する実測値を実測値格納部13から取得する。
次に、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、2以上の各識別子と対になる回答と実測値とを、機械学習の学習モジュールに与え、学習処理を行い、学習器を取得する。なお、機械学習は、ランダムフォレストが好適であるが、深層学習、決定木、SVR等の他のアルゴリズムでも良い。
次に、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、かつ識別子ごとに、各設問集合候補が有する2以上の設問に対する回答であり、テスト用の回答を、回答格納部12から取得する。そして、推定値取得手段333は、2以上の各設問集合候補ごとに、かつ識別子ごとに、取得した学習器とテスト用の回答とを、機械学習の予測モジュールに与え、当該予測モジュールを実行し、推定値を取得する。なお、推定値は、予測値等と言っても良い。
次に、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、推定値の代表値(例えば、平均値、中央値)を取得し、当該代表値を、当該設問集合候補の推定値として取得する。
(2)k分割交差検証による方法
推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、かつ識別子ごとに、各設問集合候補が有する2以上の設問に対する回答を、回答格納部12から取得する。また、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、かつ識別子と対になる実測値を実測値格納部13から取得する。
次に、推定値取得手段333は、2以上の各設問集合候補ごとに、かつ識別子ごとに、k分割交差検証により、推定値を取得する。つまり、2以上の各設問集合候補ごとに、例えば、全ユーザの回答の集合と実測値とを、k個(例えば、10個)に分割し、(k-1)/kのデータを、機械学習の学習モジュールに与え、当該学習モジュールを実行し、学習器を取得する。次に、推定値取得手段333は、残りの1/kのデータと学習器とを、機械学習の予測モジュールに与え、当該予測モジュールを実行し、残りの1/kのデータに対応する回答の集合の推定値を取得する。そして、推定値取得手段333は、学習モジュールに与えるデータおよび予測モジュールに与えるデータを変えていき、k回、上記の処理を実行し、2以上の各設問集合候補ごとに、識別子ごとの推定値を取得する。
次に、推定値取得手段333は、候補取得手段332が取得した2以上の各設問集合候補ごとに、推定値の代表値(例えば、平均値、中央値)を取得し、当該代表値を、当該設問集合候補の推定値として取得する。
設問決定部34は、対応する推定値と実測値とが予め決められた近似条件を満たす場合に、推定値に対応するM個の設問である設問を決定する。近似条件とは、近似することである。近似条件は、例えば、推定値と実測値との差異が最も小さいことである。近似条件は、例えば、推定値と実測値との差異が閾値以下であり、設問の数(M)が最小であることである。
設問決定部34は、推定値取得手段333が取得した2以上の各設問集合候補に対する推定値と実測値とが、予め決められた近似条件を満たすかを判断し、近似条件を満たす推定値に対応する設問集合候補が有するM個の設問を決定する。
設問決定部34は、推定値取得手段333が取得した設問集合候補に対する推定値と実測値とが、近似条件を満たす設問集合候補の中で、最も設問数が少ない設問集合候補が有する設問を決定する。
設問決定部34は、由来ごとに、実測値と推定値との相関に関する相関情報(例えば、相関係数)を取得し、相関情報が近似条件を満たす場合に、推定値に対応するM個の設問を決定する。
出力部4は、各種の情報を出力する。各種の情報とは、例えば、後述する簡易質問票である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
簡易質問票出力部41は、設問決定部34が決定したM個の設問の集合である設問集合に関する情報である簡易質問票を出力する。簡易質問票は、M個の設問の集合でも良いし、M個の設問のIDの集合でも良い。簡易質問票は、M個の設問の集合を取得可能な情報であれば良い。また、出力される簡易質問票は、設問決定部34が決定したM個の設問のうち、少なくとも1つの設問が加工された設問でも良い。
格納部1、質問票格納部11、回答格納部12、および実測値格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部1等で記憶されるようになってもよい。
受付部2、および回答受付部21は、タッチパネやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。なお、受付部2等は、無線または有線の通信手段で実現されても良い。
処理部3、実測値取得部31、不適切判断部32、推定値取得部33、設問決定部34、候補取得手段332、推定値取得手段333、および寄与度取得手段331は、通常、プロセッサやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、例えば、CPU、MPU、GPU等であり、その種類は問わない。
出力部4、および簡易質問票出力部41は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部4等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。なお、出力部4等は、無線または有線の通信手段で実現されても良い。
次に、簡易質問票取得装置Aの動作例について、図2のフローチャートを用いて説明する。
(ステップS201)回答受付部21は、識別子と対にして、第一質問票を構成するN個の各設問に対する回答を受け付けたか否かを判断する。回答を受け付けた場合はステップS202に行き、回答を受け付けなかった場合はステップS203に行く。なお、識別子は、例えば、ユーザ識別子である。また、識別子は、例えば、ユーザ識別子と日識別子である。
(ステップS202)処理部3は、ステップS201で受け付けられた回答の集合を、識別子と対にして、回答格納部12に蓄積する。ステップS201に戻る。
(ステップS203)処理部3は、実測値を取得するタイミングであるか否かを判断する。実測値を取得するタイミングであればステップS204に行き、実測値を取得するタイミングでなければステップS205に行く。なお、例えば、受付部2が実測値の取得指示を受け付けた場合に、処理部3は実測値を取得するタイミングであると判断する。また、例えば、予め決められた時刻になった場合に、処理部3は実測値を取得するタイミングであると判断する。また、例えば、すべてのユーザのユーザ識別子と対になる回答が回答格納部12に格納された場合に、処理部3は実測値を取得するタイミングであると判断する。また、回答受付部21が回答を受け付けるごとに、実測値取得部31は、実測値を取得しても良い。なお、処理部3が実測値を取得するタイミングであると判断する条件は問わない。
(ステップS204)実測値取得部31は、実測値取得処理を行う。ステップS201に戻る。実測値取得処理の例について、図3のフローチャートを用いて説明する。
(ステップS205)受付部2は、簡易質問票出力指示を受け付けたか否かを判断する。簡易質問票出力指示を受け付けた場合はステップS206に行き、簡易質問票出力指示を受け付けなかった場合はステップS201に戻る。
(ステップS206)処理部3は、設問決定処理を行う。設問決定処理の例について、図4および図7のフローチャートを用いて説明する。なお、設問決定処理は、簡易質問票を構成するための設問を決定する処理である。
(ステップS207)処理部3は、ステップS206で決定された1または2以上の各設問を用いて、出力する簡易質問票を取得する。
(ステップS208)簡易質問票出力部41は、ステップS207で取得された簡易質問票を出力する。ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS204の実測値取得処理の例について、図3のフローチャートを用いて説明する。
(ステップS301)実測値取得部31は、カウンタiに1を代入する。
(ステップS302)実測値取得部31は、i番目の識別子が存在するか否かを判断する。i番目の識別子が存在する場合はステップS303に行き、i番目の識別子が存在しない場合は上位処理にリターンする。なお、i番目の識別子は、実測値を取得するための対象の回答の集合である。i番目の識別子は、例えば、i番目のユーザ識別子であり、第一質問票を構成するN個の各設問に対する回答の集合に対応付いている。
(ステップS303)実測値取得部31は、カウンタjに1を代入する。
(ステップS304)実測値取得部31は、j番目の設問の種類が存在するか否かを判断する。j番目の設問の種類が存在する場合はステップS305に行き、j番目の設問の種類が存在しない場合はステップS313に行く。なお、設問の種類は、例えば、飲料由来、酒類由来、および食事由来である。また、設問の種類は、1種類でも良い。
(ステップS305)実測値取得部31は、カウンタkに1を代入する。
(ステップS306)実測値取得部31は、i番目の識別子およびj番目の設問の種類に対応するk番目の設問が存在するか否かを判断する。k番目の設問が存在する場合はステップS307に行き、k番目の設問が存在しない場合はステップS310に行く。なお、k番目の設問が存在することと、k番目の回答が存在することとは、同じ意義がある。
(ステップS307)実測値取得部31は、i番目の識別子およびj番目の設問の種類に対応するk番目の設問に対する回答を、回答格納部12から取得する。
(ステップS308)実測値取得部31は、ステップS307で取得した回答と対になる実測値元を格納部1の実測値元管理表から取得し、図示しないバッファに一時蓄積する。
(ステップS309)実測値取得部31は、カウンタkを1、インクリメントする。ステップS306に戻る。
(ステップS310)実測値取得部31は、ステップS308で一時蓄積されたすべての実測値元を用いて、実測値を取得する。実測値取得部31は、例えば、ステップS308で一時蓄積されたすべての実測値元を加算し、実測値を取得する。
(ステップS311)実測値取得部31は、ステップS310で取得した実測値を、i番目の識別子およびj番目の設問の種類に対応付けて、実測値格納部13に蓄積する。かかる処理により、例えば、ユーザ識別子に対応付けて、飲料由来の水分摂取量、酒類由来の水分摂取量、および食事由来の水分摂取量が、実測値格納部13に蓄積される。
(ステップS312)実測値取得部31は、カウンタjを1、インクリメントする。ステップS304に戻る。
(ステップS313)実測値取得部31は、カウンタiを1、インクリメントする。ステップS302に戻る。
なお、図3のフローチャートにおいて、ステップS311で取得した2種類以上の設問の種類に対応付く実測値を加算し、全体の実測値を取得しても良い。図3のフローチャートにおいて、実測値取得部31は、例えば、飲料由来の水分摂取量、酒類由来の水分摂取量、および食事由来の水分摂取量を加算し、全由来の水分摂取量を取得し、当該水分摂取量を識別子に対応付けて実測値格納部13に蓄積しても良い。
次に、ステップS206の設問決定処理の第一の例について、図4のフローチャートを用いて説明する。
(ステップS401)推定値取得部33は、カウンタiに1を代入する。
(ステップS402)推定値取得部33は、i番目の種類が存在するか否かを判断する。i番目の種類が存在する場合はステップS403に行き、i番目の種類が存在しない場合は上位処理にリターンする。なお、種類とは、設問の種類であり、例えば、飲料由来の設問、酒類由来の設問、食事由来の設問、全由来の設問である。
(ステップS403)寄与度取得手段331は、i番目の種類に対応する各設問の寄与度を取得する。かかる寄与度取得処理の例について、図5および図6のフローチャートを用いて説明する。
(ステップS404)推定値取得部33は、カウンタjに1を代入する。
(ステップS405)候補取得手段332は、ステップS403で取得した各設問の寄与度を用いて、j番目の設問集合候補を取得する。候補取得手段332は、例えば、寄与度が1番大きい設問から寄与度がj番目に大きい設問までの、j個の設問を質問票格納部11の第一質問票から取得する。
(ステップS406)推定値取得手段333は、回答格納部12から学習用データを取得する。
つまり、例えば、推定値取得手段333は、用途「学習用」と対になる回答の集合であり、j番目の設問集合候補が有する各設問の各回答の集合を回答格納部12から取得する。また、推定値取得手段333は、用途「学習用」と対になる識別子ごとに、当該各識別子と対になる実測値を実測値格納部13から取得する。次に、推定値取得手段333は、識別子ごとに、各設問の各回答と実測値とを要素として有するベクトルを取得する。なお、かかる学習用データは、2以上の各識別子に対応するベクトルの集合である。
(ステップS407)推定値取得手段333は、ステップS406で取得した学習用データを機械学習の学習処理のモジュールに与え、当該モジュールを実行し、学習器を取得する。なお、機械学習のモジュールは、例えば、ランダムフォレストのモジュールである。
(ステップS408)推定値取得部33は、カウンタkに1を代入する。
(ステップS409)推定値取得手段333は、k番目のテスト用データが回答格納部12に格納されているか否かを判断する。k番目のテスト用データが存在する場合はステップS408に行き、k番目のテスト用データが存在しない場合はステップS411に行く。なお、テスト用データは、識別子に対応付いている、回答の集合である。
(ステップS410)推定値取得手段333は、回答格納部12に格納されているテスト用データの中から、k番目のテスト用データであり、j番目の設問集合候補が有する各設問の各回答を要素として有する回答の集合を回答格納部12から取得する。次に、推定値取得手段333は、かかる回答の集合とステップS405で取得した学習器とを、機械学習の予測モジュールに与え、当該予測モジュールを実行し、推定値を取得する。
(ステップS411)設問決定部34は、k番目のテスト用データと対になる識別子を回答格納部12から取得する。次に、設問決定部34は、当該識別子と対になる実測値を実測値格納部13から取得し、当該実測値とステップS410で取得された推定値とを対応付ける。
(ステップS412)推定値取得部33は、カウンタkを1、インクリメントする。ステップS407に戻る。
(ステップS413)設問決定部34は、ステップS410で取得した推定値とステップS411で取得した実測値の組を、テスト用データの数だけ取得する。次に、設問決定部34は、推定値と実測値の組の情報をすべて用いて、推定値の実測値に対する精度に関する精度情報を取得する。
設問決定部34は、例えば、推定値と実測値の組の情報をすべて用いて、推定値と実測値との相関係数を取得する。設問決定部34は、例えば、推定値と実測値との差の合計を取得する。つまり、精度情報は、例えば、相関係数、または推定値と実測値との差の合計であり、その種類は問わない。
(ステップS414)設問決定部34は、ステップS413で取得した精度情報が、格納部1に格納されている近似条件を満たすか否かを判断する。近似条件を満たす場合はステップS415に行き、近似条件を満たさない場合はステップS417に行く。
(ステップS415)設問決定部34は、j番目の設問集合候補に関する情報を取得する。設問決定部34は、i番目の種類識別子に対応付けて、当該情報を図示しないバッファに蓄積する。なお、j番目の設問集合候補に関する情報は、例えば、j番目の設問集合候補そのもの、またはj番目の設問集合候補が有する各設問の設問識別子である。
(ステップS416)推定値取得部33は、カウンタiを1、インクリメントする。ステップS402に戻る。
(ステップS417)推定値取得部33は、カウンタjを1、インクリメントする。ステップS405に戻る。
次に、ステップS403の寄与度取得処理の第一の例について、図5のフローチャートを用いて説明する。
(ステップS501)寄与度取得手段331は、カウンタiに1を代入する。
(ステップS502)寄与度取得手段331は、i番目の識別子が存在するか否かを判断する。i番目の識別子が存在する場合はステップS503に行き、i番目の識別子が存在しない場合はステップS507に行く。
(ステップS503)寄与度取得手段331は、i番目の識別子および着目する種類の種類識別子に対応するすべての設問の回答を取得する。なお、着目する種類は、例えば、飲料由来、酒類由来、食事由来、全由来のいずれかである。ただし、種類は一つでも良い。
(ステップS504)寄与度取得手段331は、寄与度取得手段331は、i番目の識別子および着目する種類の種類識別子に対応する実測値を実測値格納部13から取得する。
(ステップS505)寄与度取得手段331は、ステップS503で取得したすべての回答およびステップS504で取得した実測値を要素とするベクトルを構成する。
(ステップS506)寄与度取得手段331は、カウンタiを1、インクリメントする。ステップS502に戻る。
(ステップS507)寄与度取得手段331は、ステップS505で構成したすべてベクトルをランダムフォレストの学習モジュールに与え、当該学習モジュールを実行し、学習器を取得する。なお、学習器は、ランダムフォレストの予測処理のために用いることができる学習器であり、着目する種類の種類識別子に対応するすべての設問の回答を入力とし、推定値を出力するために使用される学習器である。
(ステップS508)寄与度取得手段331は、カウンタjに1を代入する。
(ステップS509)寄与度取得手段331は、着目する種類の種類識別子に対応するj番目の設問が存在するか否かを判断する。j番目の設問が存在する場合はステップS510に行き、j番目の設問が存在しない場合は上位処理にリターンする。
(ステップS510)寄与度取得手段331は、ステップS507で取得した学習器を用いて、j番目の設問(j番目の特徴量)の寄与度を取得する。なお、ランダムフォレストの学習器を用いて、j番目の特徴量の寄与度を取得する処理は公知技術である。
(ステップS511)寄与度取得手段331は、j番目の設問に対応付けて、ステップS510で取得した寄与度を蓄積する。
(ステップS512)寄与度取得手段331は、カウンタjを1、インクリメントする。ステップS509に戻る。
次に、ステップS401の寄与度取得処理の第二の例について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図5のフローチャートと同一のステップの説明は省略する。
(ステップS601)寄与度取得手段331は、ステップS505で取得したベクトルの集合を用いて、機械学習のアルゴリズムにより、k分割交差検証を行い、対象となるすべての設問の回答を使用した場合の精度である基本精度を取得する。
(ステップS602)寄与度取得手段331は、ステップS601で取得した基本精度を一時蓄積する。
(ステップS603)寄与度取得手段331は、カウンタjに1を代入する。
(ステップS604)寄与度取得手段331は、対象となるすべての設問の中で、j番目の設問が存在するか否かを判断する。、j番目の設問が存在する場合はステップS605に行き、j番目の設問が存在しない場合は上位処理にリターンする。
(ステップS605)寄与度取得手段331は、カウンタkに1を代入する。
(ステップS606)寄与度取得手段331は、k番目の識別子が存在するか否かを判断する。k番目の識別子が存在する場合はステップS607に行き、k番目の識別子が存在しない場合はステップS609に行く。
(ステップS607)寄与度取得手段331は、ステップS505で取得したベクトルであり、k番目の識別子と対になるベクトルを取得し、当該ベクトルからj番目の設問の回答を除くベクトルを構成する。つまり、寄与度取得手段331は、ステップS505で取得したベクトルから1次元少ない次元のベクトルを構成する。
(ステップS608)寄与度取得手段331は、カウンタkを1、インクリメントする。ステップS606に戻る。
(ステップS609)寄与度取得手段331は、ステップS607で取得したベクトルの集合を用いて、機械学習のアルゴリズムにより、k分割交差検証を行い、j番目の設問に対する回答を除いた回答を使用した場合の精度である欠落精度を取得する。
(ステップS610)寄与度取得手段331は、ステップS609で取得した欠落精度を、j番目の設問に対応付けて、一時蓄積する。
(ステップS611)寄与度取得手段331は、ステップS602で一時蓄積した欠落精度とステップS610で一時蓄積した基本精度との差を取得する。かかる差が大きいほど、j番目の設問に対する回答の寄与の度合いが大きいので、ここでは、かかる差を寄与度とする。
(ステップS612)寄与度取得手段331は、j番目の設問に対応付けて、ステップS611で取得した寄与度を蓄積する。
(ステップS613)寄与度取得手段331は、カウンタjを1、インクリメントする。ステップS604に戻る。
次に、ステップS206の設問決定処理の第二の例について、図7のフローチャートを用いて説明する。設問決定処理の第二の例は、寄与度を用いない場合である。なお、図7のフローチャートにおいて、図4のフローチャートと同一のステップの説明は省略する。
(ステップS701)設問決定部34は、カウンタjに1を代入する。
(ステップS702)設問決定部34は、カウンタkに1を代入する。
(ステップS703)設問決定部34は、i番目の種類に対応する設問であり、j個の設問のk番目の組み合わせが存在するか否かを判断する。k番目の組み合わせが存在する場合はステップS704に行き、存在しない場合はステップS714に行く。
(ステップS704)設問決定部34は、j個の設問のk番目の組み合わせである設問集合候補を取得する。
(ステップS705)設問決定部34は、カウンタlに1を代入する。
(ステップS706)設問決定部34は、l番目の識別子が存在するか否かを判断する。l番目の識別子が存在する場合はステップS707に行き、l番目の識別子が存在しない場合はステップS711に行く。
(ステップS707)設問決定部34は、ステップS704で取得した設問集合候補が有する各設問の回答であり、l番目の識別子と対になる回答を回答格納部12から取得する。
(ステップS708)設問決定部34は、i番目の種類に対応し、l番目の識別子と対になる実績値を実測値格納部13から取得する。
(ステップS709)設問決定部34は、ステップS707で取得した各設問の回答とステップS708で取得した実績値とを要素とするベクトルを構成する。
(ステップS710)カウンタlを1、インクリメントする。ステップS706に戻る。
(ステップS711)設問決定部34は、ステップS709で取得したベクトルの集合を用いて、k分割交差検証を行い、ステップS709で取得したベクトルの集合を用いて構成する学習器の精度を特定する精度情報を取得する。
(ステップS712)設問決定部34は、k番目の設問集合候補に対応付けて、ステップS711で取得した精度情報を図示しないバッファに蓄積する。
(ステップS713)設問決定部34は、カウンタkを1、インクリメントする。ステップS703に戻る。
(ステップS714)設問決定部34は、ステップS712で蓄積された精度情報の中で、j個の設問を用いた場合の最良の精度情報を取得する。
(ステップS715)設問決定部34は、ステップS714で取得した精度情報が、格納部1の近似条件を満たすか否かを判断する。近似条件を満たす場合はステップS716に行き、近似条件を満たさない場合はステップS717に行く。
(ステップS716)設問決定部34は、j個の設問のk番目の設問集合候補に関する情報を取得する。ステップS416に行く。なお、かかるj個の設問のk番目の設問集合候補が、設問決定部34が決定した設問の集合であり、簡易質問票を構成するために使用される設問の集合である。
(ステップS717)設問決定部34は、カウンタjを1、インクリメントする。ステップS702に戻る。
(実験)
以下、本実施の形態における簡易質問票取得装置Aの実験例について説明する。ここでは、簡易質問票取得装置Aは、ユーザの1日の水分摂取量を推定するための簡易質問票を取得するものとする。また、ここでの第一質問票は、水分摂取量に関するアンケートである生活習慣および食事に関わる質問票である、とする。生活習慣および食事に関わる質問票は、約300問の設問からなる。かかる質問票は、飲水・食事等の生活習慣情報や身体情報等の多種類の設問からなる。かかる質問査票には、設問の種類を識別する種類識別子が対応付いている。設問の種類は、ここでは、飲料由来、酒類由来、食事由来、全由来のいずれかである。また、質問票には、ダミーの設問が含まれている。上述した通り、ダミーの質問を入れることにより、解析対象者として不適当でないかを、不適切判断部32が判断する。
質問票格納部11には、例えば、図8に示す第一質問票が格納されている。図8は、「質問」と「回答」とを有する。「質問」は設問例であり、「回答」は回答の候補である。また、ユーザが、第一質問票に対する回答を入力する画面例を図9に示す。
434名のユーザが、1日間、第一質問票に対する回答を、各ユーザの端末装置(図示しない)に入力し、簡易質問票取得装置Aに送信した。簡易質問票取得装置Aの回答受付部21は、上記の回答の集合(約300問に対する回答)を端末装置から受信し、処理部3は、当該回答の集合を回答格納部12に蓄積する。
以上の処理により、回答格納部12には、例えば、ユーザ識別子と日識別子に対応付いた約300次元の回答のベクトルが格納された。なお、ユーザ識別子と日識別子とは、後述する「ID」に対応する。また、回答のベクトルは、ユーザ属性値「性別」にも対応付いている、とする。
回答格納部12の回答は、「用途」に対応付いている。ここでは、用途は、「学習用」「検証用」「テスト用」のいずれかである。「学習用」のレコードは、ランダムフォレストの学習器の構築のために使用される。「検証用」のレコードは、ランダムフォレストの学習器の各種パラメータを調整するために利用される。「テスト用」のレコードは、推定値を取得し、実測値との相関情報を得て、最終の設問を決定するために使用される。かかる回答を管理する回答管理表の例は、図10である。回答管理表は、「ID」「設問識別子」「用途」を有する434名分のレコードを有する。なお、「用途」は自動的に付加されても良いし、手入力により付加されても良い。
そして、簡易質問票取得装置Aの実測値取得部31は、第一質問票に対する回答の集合ごと、および由来ごとに、各回答に対応する実測値元を格納部1の実測値元管理表から取得する。そして、実測値取得部31は、回答の集合ごと、および由来ごとに、実測値元を加算し、実測値を算出する。次に、実測値取得部31は、回答の集合のIDと、種類識別子に対応付けられた実測値を実測値格納部13に蓄積する。
かかる実測値を格納している実測値管理表の例は、図11である。図11は、434名の各ユーザの4日間の各日における、由来ごとの水分摂取量の実測値のレコードを有する。図11のa0001,a0002,・・・,a1736,・・・・,d1736は、水分摂取量の実測値である。水分摂取量の実測値は、実測値取得部31が上述した処理により取得した値である。また、図11において、各レコードは、「用途」を有する。ここでは、用途は、「学習用」「検証用」「テスト用」のいずれかである。
次に、推定値取得部33は、4つの各由来ごとに、各由来を識別する種類識別子と対になる1以上の各設問に対する回答と、当該回答と対になる当該由来の実測値とを、各々、要素とするベクトルを構成する。
次に、推定値取得部33は、4つの各由来ごと、および性別ごとに、対応するベクトルの集合を、ランダムフォレストの学習モジュールに与え、当該学習モジュールを実行し、学習器を取得する。つまり、推定値取得部33は、飲料由来、酒類由来、食事由来、および全由来ごと、および性別ごとの8つの学習器を取得する。
次に、処理部3は、「検証用」のレコードを用いて、4つの各学習器のパラメータを調整する。ランダムフォレストの学習器の調整対象のパラメータは、例えば、ハイパーパラメータといわれる。ハイパーパラメータは、例えば、木の数、木の最大の深さ、与えるベクトルの最大次元数である。処理部3は、1または2以上の各ハイパーパラメータの候補値の組み合わせを取得し、組み合わせごと、4つの各由来ごとに、学習器を構成し、学習器を評価する。なお、学習器の評価は、k分割交差検証のアルゴリズムにより行っても良い。かかるハイパーパラメータの調整により、より精度の高い8つの学習器が得られた。
次に、寄与度取得手段331は、8つの各学習器から、設問ごとの寄与度(ここでは、寄与率)を取得する。そして、寄与度取得手段331は、種類識別子と性別(男性,女性)と各設問の設問識別子とに対応付けて、寄与度を図示しないバッファに一時蓄積する。
次に、候補取得手段332は、8つの学習器ごとに、寄与度の上位から設問数を増やした設問集合候補を取得する。つまり、候補取得手段332は、8つの学習器ごとに、「寄与度が1位の設問」「寄与度が1位と2位の2個の設問の集合」「1位から3位までの3個の設問の集合」・・・「1位からX位までのX個の設問の集合」を取得する。なお、Xは、予め決められた数値(例えば、10、15等)でも良いし、「最大数-1」である「300-1=299」でも良い。
次に、推定値取得手段333は、設問集合候補ごと、および8つの学習器ごとに、用途「テスト用」に対応する各回答を要素とするベクトルを構成する。なお、かかる回答は、設問集合候補が有する設問に対する回答である。そして、推定値取得手段333は、8つの学習器ごとに、ベクトルと学習器とを、ランダムフォレストの予測モジュールに与え、当該予測モジュールを実行し、推定値を取得する。
次に、推定値取得手段333は、8つの学習器ごとに、推定値の代表値を取得し、各由来を示す種類識別子と対にして、推定値の代表値を図示しないバッファに蓄積する。
また、設問決定部34は、8つの学習器ごとに、当該ベクトルに対応するIDと同じIDと対になる実測値を図11の表から取得する。そして、設問決定部34は、8つの学習器ごとに、同じIDに対応する推定値と実測値とを対応付ける。
次に、設問決定部34は、8つの学習器ごとに、推定値と実測値との組の集合を用いて、推定値と実測値との相関係数を算出する。なお、かかる相関係数の算出結果は、図12である。なお、図12に示すように、処理部3は、ユーザ属性値「性別」ごとに、上記の処理を行い、4つの由来ごと、性別ごとに、推定値と実測値との相関係数を取得した、とする。図12において、設問の種類である4つの由来(飲料由来、酒類由来、食事由来、全由来)、性別(男性,女性)ごとに、各設問集合候補の相関係数が示されている。設問集合候補は、「寄与度の上位1問」、「寄与度の上位2問」、「寄与度の上位3問」、・・・、「寄与度の上位15問」の15種類である。
次に、設問決定部34は、4つの由来ごと、性別ごとに、相関係数が予め決められた閾値以上または閾値を超える設問集合候補であり、最小の設問数の設問集合候補を、簡易質問票を取得するための設問の集合に決定する。
次に、処理部3は、簡易質問票を取得するための設問の集合を用いて、出力する簡易質問票を取得する。
次に、簡易質問票出力部41は、当該簡易質問票を格納部1に蓄積する。
以上の処理により、4つの由来ごとの、水分摂取量を推定するための簡易質問票が得られた。かかる簡易質問票の例は、図13、および図14である。図13は、種類「全由来」、性別「男性」に対する簡易質問票を示す。図13において、「相関係数」は、累積の相関係数である。つまり、2問目に対応する相関係数は、1問目と2問目とを有する簡易質問票に対する回答から得られる推定値と実測値との相関係数である。また、10問目に対応する相関係数は、1問目から10問目までの10問を有する簡易質問票に対する回答から得られる推定値と実測値との相関係数である。また、図14は、種類「全由来」、性別「女性」に対する簡易質問票を示す。
以上、本実施の形態によれば、正確な推定値を取得するための適切な簡易質問票を取得できる。なお、適切な簡易質問票は、少ない設問数の質問票である。
また、本実施の形態において、第二質問票に対する第二回答を用いて実測値を自動的に取得できる。
さらに、本実施の形態において、正確な水分摂取量の推定値を取得するための適切な簡易質問票を取得できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における簡易質問票取得装置Aを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、2以上の実測値が格納される実測値格納部にアクセス可能なコンピュータを、前記2以上の各実測値に対応し、第一質問票を構成するN個の各設問に対する回答のうち、前記N個より少ないM個の各設問に対する回答を用いて得られる推定値を取得する推定値取得部と、対応する前記推定値と前記実測値とが予め決められた近似条件を満たす場合に、当該推定値に対応するM個の設問である設問を決定する設問決定部と、前記設問決定部が決定したM個の設問の集合である設問集合に関する情報である簡易質問票を出力する簡易質問票出力部として機能させるためのプログラムである。
また、図14は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の簡易質問票取得装置Aを実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図14は、このコンピュータシステム300の概観図であり、図15は、システム300のブロック図である。
図14において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図15において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の簡易質問票取得装置A等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の簡易質問票取得装置A等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。つまり、簡易質問票取得装置Aは、スタンドアロンの装置であっても良く、2以上の装置から構成されても良い。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。