(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-08-26
(45)【発行日】2025-09-03
(54)【発明の名称】アンケート結果分析プログラム、アンケート結果分析方法、および情報処理装置
(51)【国際特許分類】
G06Q 10/04 20230101AFI20250827BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2021174678
(22)【出願日】2021-10-26
【審査請求日】2024-07-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】松本 和宏
(72)【発明者】
【氏名】小川 雅俊
(72)【発明者】
【氏名】屋並 仁史
(72)【発明者】
【氏名】安曽 徳康
(72)【発明者】
【氏名】曾根田 弘光
(72)【発明者】
【氏名】本間 克己
(72)【発明者】
【氏名】石川 菜月
(72)【発明者】
【氏名】檀 隼人
【審査官】山崎 雄司
(56)【参考文献】
【文献】米国特許出願公開第2020/0126126(US,A1)
【文献】特開2011-039760(JP,A)
【文献】特開2006-302107(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されたアンケート結果データに基づいて、前記1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、前記1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む因果関係の候補を複数生成し、
前記アンケート結果データに基づいて、
前記因果関係の候補ごとに、前記複数の回答者それぞれについて、前記因果関係の候補における前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているかどうかを判定し、
前記複数の回答者のうちの所定割合以上の回答者が、組み合わせる前記因果関係の候補のいずれかの前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているという第1の制約条件
を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補の数が最小となる前記因果関係の候補の組合せを探索する、
処理をコンピュータに実行させるアンケート結果分析プログラム。
【請求項2】
前記アンケート結果データに基づいて、前記因果関係の候補に示される前記第1の回答候補と同じ回答をした第1の回答者の数から、前記第1の回答者のうちの前記因果関係の候補に示される前記第2の回答候補と同じ回答をした第2の回答者の数を減算した減算値を計算する処理を、前記コンピュータにさらに実行させ、
前記因果関係の候補の組合せを探索する処理では、
前記第1の制約条件を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補の数が最小となる前記因果関係の候補の組合せを求める第1の組合せ最適化問題の解を探索し、
組み合わせる前記因果関係の候補の数が、前記第1の組合せ最適化問題の解として得られた組合せに含まれる前記因果関係の候補の数と等しいという第2の制約条件
と前記第1の制約条件とを満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補それぞれの前記減算値を合計した値が最小となる前記因果関係の候補の組合せを求める第2の組合せ最適化問題の解を探索する、
請求項1記載のアンケート結果分析プログラム。
【請求項3】
前記アンケート結果データに基づいて、前記因果関係の候補に示される前記第1の回答候補と同じ回答をした第1の回答者の数から、前記第1の回答者のうちの前記因果関係の候補に示される前記第2の回答候補と同じ回答をした第2の回答者の数を減算した減算値を計算する処理を、前記コンピュータにさらに実行させ、
前記因果関係の候補の組合せを探索する処理では、
前記第1の制約条件を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補それぞれの前記減算値を合計した値が最小となる前記因果関係の候補の組合せを求める第2の組合せ最適化問題の解を探索し、
組み合わせる前記因果関係の候補それぞれによって示される
前記減算値を合計した値が、前記第2の組合せ最適化問題の解として得られた組合せに含まれる前記因果関係の候補それぞれによって示される
前記減算値を合計した値と等しいという第3の制約条件
と前記第1の制約条件とを満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補の数が最小となる前記因果関係の候補の組合せを求める第1の組合せ最適化問題の解を探索する、
請求項1記載のアンケート結果分析プログラム。
【請求項4】
回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されたアンケート結果データに基づいて、前記1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、前記1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む因果関係の候補を複数生成し、
前記アンケート結果データに基づいて、
前記因果関係の候補ごとに、前記複数の回答者それぞれについて、前記因果関係の候補における前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているかどうかを判定し、
前記アンケート結果データに基づいて、前記因果関係の候補に示される前記第1の回答候補と同じ回答をした第1の回答者の数から、前記第1の回答者のうちの前記因果関係の候補に示される前記第2の回答候補と同じ回答をした第2の回答者の数を減算した減算値を計算し、
前記複数の回答者のうちの所定割合以上の回答者が、組み合わせる前記因果関係の候補のいずれかの前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているという第1の制約条件
を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補それぞれの前記減算値を合計した値が最小となる前記因果関係の候補の組合せを探索する、
処理をコンピュータに実行させるアンケート結果分析プログラム。
【請求項5】
前記因果関係の候補を複数生成する処理では、
前記1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する前記第1の回答候補を選択し、前記1または複数の第2の質問
のうちの1つを選択し、選択した前記第1の回答候補と同じ回答をした回答者による選択した前記第2の質問に対する回答に基づいて、選択した前記第2の質問に対する前記第2の回答候補を選択し、選択した前記第1の回答候補と選択した前記第2の回答候補とを含む前記因果関係の候補を生成する、
請求項1から
4までのいずれかに記載のアンケート結果分析プログラム。
【請求項6】
回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されたアンケート結果データに基づいて、前記1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、前記1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む因果関係の候補を複数生成し、
前記アンケート結果データに基づいて、
前記因果関係の候補ごとに、前記複数の回答者それぞれについて、前記因果関係の候補における前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているかどうかを判定し、
前記複数の回答者のうちの所定割合以上の回答者が、組み合わせる前記因果関係の候補のいずれかの前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているという第1の制約条件
を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補の数が最小となる前記因果関係の候補の組合せを探索する、
処理をコンピュータが実行するアンケート結果分析方法。
【請求項7】
回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されたアンケート結果データに基づいて、前記1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、前記1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む因果関係の候補を複数生成し、前記アンケート結果データに基づいて、
前記因果関係の候補ごとに、前記複数の回答者それぞれについて、前記因果関係の候補における前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているかどうかを判定し、前記複数の回答者のうちの所定割合以上の回答者が、組み合わせる前記因果関係の候補のいずれかの前記第1の回答候補と前記第2の回答候補との組と同じ回答をしているという第1の制約条件
を満たす前記因果関係の候補の組合せのうち、組み合わせる前記因果関係の候補の数が最小となる前記因果関係の候補の組合せを探索する処理部、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アンケート結果分析プログラム、アンケート結果分析方法、および情報処理装置に関する。
【背景技術】
【0002】
様々な属性を有する人々の行動の全体的な傾向を把握するため、アンケートによる調査と、アンケート回答者の質問への回答を用いたデータ分析が広く行われている。例えば多数の人にその人の属性と食品廃棄行動の傾向についてのアンケートに回答してもらい、コンピュータを用いてその回答結果のデータ分析を行う。これにより、どのような属性を持つ回答者層がどのような食品廃棄行動をするかについての因果関係を見つけ出すことができる。
【0003】
データ分析に関する技術としては、チケットの満足度の分析に決定木分析を用いる技術が提案されている。また顧客が商品やサービスを利用し始める時期を顧客毎に予測する普及予測システムにおいて、分類器の生成に決定木分析を利用することが提案されている。またプロジェクトにおけるリスクの予兆検知を行うためのコンピュータ・システムにおいて、各プロジェクトに関する複数の質問に対する回答データを利用する技術が提案されている。さらにディープラーニングによる予測値をよく説明する変数を抽出する情報処理装置において、顧客アンケート情報を含む顧客の属性データを利用することが提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許出願公開第2017/308903号明細書
【文献】特開2009-238193号公報
【文献】特開2010-108404号公報
【文献】国際公開第2018/142753号
【発明の概要】
【発明が解決しようとする課題】
【0005】
アンケートの調査結果を用いて、アンケートの回答者の集団の全体的な傾向についての属性と行動との因果関係を分析するとき、例えば似た属性を有する回答者をグループ化してグループごとに分析することが考えられる。各回答者がいずれかのグループに属し、各グループについて、属する回答者の属性と行動との因果関係を見つけ出すことができれば、回答者全体についての回答者の属性と行動との因果関係が把握できる。
【0006】
しかし従来は、回答者の属性と行動との因果関係を回答者の集団(全体または大多数)について適切に説明できるようなグループ分けができていない。そのため、従来技術では不適切なグループ分けの下で分析が行われ、アンケート回答者の属性と行動との因果関係を正しく分析することが困難となっている。
【0007】
1つの側面では、本件は、アンケート回答者の属性と行動との因果関係を正しく分析できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、以下の処理をコンピュータに実行させるアンケート結果分析プログラムが提供される。
コンピュータは、回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されたアンケート結果データに基づいて、1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む因果関係の候補を複数生成する。そしてコンピュータは、アンケート結果データに基づいて、複数の回答者のうちの所定割合以上の回答者が、組み合わせる因果関係の候補のいずれかの第1の回答候補と第2の回答候補との組と同じ回答をしているという第1の制約条件で、組み合わせる因果関係の候補に応じて値が変わる目的関数の値を最小化または最大化する組合せ最適化問題の解を探索する。
【発明の効果】
【0009】
1態様によれば、アンケート回答者の属性と行動との因果関係を正しく分析することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態に係るアンケート結果分析方法の一例を示す図である。
【
図2】コンピュータのハードウェアの一例を示す図である。
【
図3】データ分析のためのコンピュータの機能を示すブロック図である。
【
図4】アンケート結果データの一例を示す図である。
【
図5】データ分析部における処理の一例を示す図である。
【
図7】データ分析処理の手順の一例を示すフローチャートである。
【
図8】因果関係候補生成処理の第1の例を示すフローチャートである。
【
図9】生成される因果関係の候補の一例を示す図である。
【
図10】因果関係候補生成処理の第2の例を示すフローチャートである。
【
図11】決定木分析を用いた因果関係の候補の生成例を示す図である。
【
図12】因果関係の数の少なさを優先した組合せ最適化処理の手順の一例を示すフローチャートである。
【
図13】因果関係の数の少なさを優先した組合せ最適化処理による分析結果に残す因果関係の候補の決定手順の模式図である。
【
図14】因果関係の正確さを優先した組合せ最適化処理の手順の一例を示すフローチャートである。
【
図15】因果関係の正確さを優先した組合せ最適化処理による分析結果に残す因果関係の候補の決定手順の模式図である。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、アンケートへの回答者の属性と行動との因果関係の候補を多数生成し、回答者の全体を網羅しながら、分析の目的に応じた目的関数を用いて、最適な因果関係の組合せを探索するアンケート結果分析方法である。分析の目的は、例えば、組み合わせた因果関係の候補により、回答者の属性と行動との因果関係がなるべく正確に表されていること、または可能な限り少数の因果関係の候補の組み合わせとなることなどである。
【0012】
図1は、第1の実施の形態に係るアンケート結果分析方法の一例を示す図である。
図1には、アンケート結果分析方法を実施する情報処理装置10が示されている。情報処理装置10は、例えばアンケート結果分析プログラムを実行することにより、アンケート結果分析方法を実施することができる。
【0013】
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
【0014】
記憶部11は、アンケート結果データ11aを記憶する。アンケート結果データ11aには、回答者の属性に関する1または複数の第1の質問と回答者の行動に関する1または複数の第2の質問とを含むアンケートに対する複数の回答者それぞれの回答が示されている。例えばアンケート結果データ11aには、回答者番号「1」の回答者が、「世帯人数は何人?」との質問に「1人」と回答したこと、「自炊する?」との質問に「しない」と回答したこと、「食べ残しが多い?」との質問に「少ない」と回答したことが示されている。
【0015】
処理部12は、アンケート結果データ11aを対象にしたデータ分析を行い、回答者の集団における属性と行動との因果関係を分析する。ここで回答者全体を網羅した因果関係を求めることの困難性について説明する。
【0016】
データ分析では、例えばクラスタ分析により、回答が似ている複数の回答者が同じグループにまとめられる。そして決定木分析により、クラスタ分析で生成したグループについての説明(どのような属性を有する回答者群なのか)が解析される。決定木分析では、質問に対する回答(回答者の属性)に応じて枝分かれする決定木が生成され、決定木のノードには、そのノードに至るまでの回答が同じ回答者が含められる。同じノードに属する回答者群は、共通の属性を有しているため、決定木を参照することで、各ノードに属する回答者のグループを説明対象として、そのグループがどのような属性を有し、どのような行動を行う傾向があるのかを説明できる。
【0017】
例えばあるグループに属する複数の回答者の食品廃棄の行動が同じであれば、そのグループの説明(独り暮らしか、自炊するかなどの属性)が、食品廃棄の行動の原因となっている可能性がある。すなわち回答者の属性と食品廃棄の行動との因果関係を知ることができる。
【0018】
しかし、クラスタ分析と決定木分析とを組み合わせてデータ分析を行ったとき、クラスタ分析を用いて解析したグループ分けと、決定木分析によって説明されるグループ(説明対象)が一致しない場合がある。例えば決定木のノードに属する説明対象の回答者群が、クラスタ分析では異なるグループに属する場合がある。クラスタ分析によるグループと決定木分析による説明対象とが一致しないと、決定木分析の結果をクラスタ分析で生成されたグループの説明として用いることができない。
【0019】
なお、決定木分析において詳細なグループに分ければグループ分けを一致させることも可能であるが、決定木分析が詳細になり過ぎ、クラスタ分析で生成したグループ内に異なる因果関係を有する複数のグループが含まれてしまう。すると、クラスタ分析で生成したグループについての因果関係としての信頼性が低下する。
【0020】
またクラスタ分析だけを用いても、アンケートの質問に対する回答に関する共起の傾向をグループごとに分析することはできる。しかし、共起の傾向が必ずしも因果の関係にはならない。
【0021】
このように従来は、グループ分けの一貫性が欠如し、有用な解析結果が得られない可能性がある。逆にグループ分けの一貫性を保ったまま分析を行うことができれば、グループ分けの一貫性の欠如により因果関係の分析に失敗することを抑止できる。そこで処理部12は、因果関係の候補(その因果関係で説明される回答者のグループ)を多数生成し、その中から、回答者全体を説明できる因果関係の候補の組合せを求める。これにより、因果関係の分析とグループ分けとを一体の処理として実行でき、グループ分けの一貫性が欠如することが抑止できる。
【0022】
例えば処理部12は、アンケート結果データ11aに基づいて、複数の因果関係の候補1a,1b,・・・を生成する。因果関係の候補1a,1b,・・・それぞれは、1または複数の第1の質問のうちの少なくとも一部の第1の質問それぞれに対する第1の回答候補と、1または複数の第2の質問のうちの1つに対する第2の回答候補との組を含む。例えば因果関係の候補1aの第1の回答候補は「世帯人数は何人?=1人」であり、第2の回答候補は「食べ残しが多い?=少ない」である。
【0023】
因果関係の候補1a,1b,・・・それぞれは、1以上の回答者を含むグループの候補を表している。すなわち因果関係の候補1a,1b,・・・それぞれの第1の回答候補と第2の回答候補の組と同じ回答をした回答者の集合が、その因果関係に対応するグループとなる。例えば因果関係の候補1aに対応するグループの候補には、質問「世帯人数は何人?」に対して「1人」と回答し、質問「食べ残しが多い?」に対して「少ない」と回答した回答者が属する。因果関係の候補1a,1b,・・・のいずれかに対応するグループに属する回答者は、その因果関係の候補によって正しく説明できる回答者と呼ぶことができる。
【0024】
次に処理部12は、アンケート結果データ11aに基づいて、組み合わせる因果関係の候補に応じて値が変わる目的関数の値を最小化または最大化する組合せ最適化問題の解を探索する。このときの組合せ最適化問題の制約条件として、複数の回答者のうちの所定割合以上の回答者が、組み合わせる因果関係の候補のいずれかの第1の回答候補と第2の回答候補との組と同じ回答をしているという第1の制約条件が用いられる。第1の制約条件は、複数の回答者のうちの所定割合以上の回答者について、組み合わせる因果関係の候補のいずれかにより正しく説明できることを意味する。所定割合以上の回答者との条件をすべての回答者とすれば、すべての回答者について、組み合わせる因果関係の候補により説明できることとなる。
【0025】
このようにして得られた組合せ最適化問題の解には、組み合わせる因果関係の候補が示される。第1の制約条件があることにより、解に示される因果関係の候補の組合せにより、複数の回答者のうちの所定割合以上の回答者について正しく説明できることが保証される。また複数の因果関係の候補1a,1b,・・・それぞれは、その因果関係の候補で正しく説明できる回答者のグループに対応する。すなわち因果関係とグループとが予め対応付けられ、その一貫性が保たれている。従って、アンケート回答者の属性と行動との因果関係を正しく分析することが可能である。
【0026】
処理部12は、組合せ最適化問題の目的関数として、分析の目的に応じた適切な目的関数を用いる。例えば処理部12は、回答者全体を説明可能な、できる限り少数の因果関係を特定することが目的の場合、組み合わせる因果関係の候補の数を最小化する第1の組合せ最適化問題の解を探索する。これにより、複数の回答者全体(あるいは所定の割合以上)について説明可能な、可能な限り少数の因果関係を得ることができる。
【0027】
また、回答者全体を説明可能な、できる限り正確な因果関係を特定することが目的の場合もある。この場合、処理部12は、例えば組み合わせる因果関係の候補それぞれについての第1の回答候補が示す属性と第2の回答候補が示す行動とに因果関係があることの正確さを最大化する第2の組合せ最適化問題の解を探索する。これにより、複数の回答者全体(あるいは所定の割合以上)を説明可能な、最も正確な因果関係を得ることができる。
【0028】
なお処理部12は、第1の組合せ最適化問題と第2の組合せ最適化問題との両方の探索を行ってもよい。その場合、処理部12は、重要度の高い目的に対応する組合せ最適化問題を先に解き、その解を利用してもう一方の組合せ最適化問題を解く。
【0029】
例えば解として得る因果関係の数を少なくすることの方が重要な場合、処理部12は、第1の組合せ最適化問題の解探索を先に行い、その後、第1の組合せ最適化問題の解を利用して第2の組合せ最適化問題の解探索を行う。例えば処理部12は、第2の組合せ最適化問題の解探索の制約条件として、第1の制約条件に加え、組み合わせる因果関係の候補の数が、第1の組合せ最適化問題の解として得られた組合せに含まれる因果関係の候補の数と等しいという第2の制約条件を用いる。第2の制約条件を追加することにより、回答者全体(あるいは所定の割合以上)について説明可能な最小数の因果関係の候補の組合せパターンが複数あるとき、そのうちの最も正確な組合せパターンを解として得ることができる。
【0030】
また解として得る因果関係の正確性を最大化することの方が重要な場合、処理部12は、第2の組合せ最適化問題の解探索を先に行い、その後、第2の組合せ最適化問題の解を利用して第1の組合せ最適化問題の解探索を行う。例えば処理部12は、第1の組合せ最適化問題の解探索の制約条件として、第1の制約条件と第3の制約条件とを用いる。第3の制約条件は、組み合わせる因果関係の候補それぞれの正確さが、第2の組合せ最適化問題の解として得られた組合せに含まれる因果関係の候補それぞれの正確さと等しいという条件である。因果関係の候補の正確さとは、その因果関係の候補によって示される属性と行動とに因果関係があることの正確さである。第3の制約条件を追加することにより、回答者全体(あるいは所定の割合以上)について説明可能な最も正確な因果関係の候補の組合せパターンが複数あるとき、そのうちの最も少数の因果関係の候補を組み合わせた組合せパターンを解として得ることができる。
【0031】
なお第2の組合せ最適化問題の解の探索は、組み合わせる因果関係の候補それぞれに示される属性と行動とに因果関係があることの正確さを最大化するような、因果関係の候補の組合せを求める処理である。因果関係があることの正確さは、以下のような計算により数値で表すことができる。
【0032】
例えば処理部12は、組み合わせる因果関係の候補それぞれについて、因果関係の候補によって説明できない回答者の数を計数する。因果関係の候補によって説明できない回答者の数は、因果関係の候補に示される第1の回答候補と同じ回答をした第1の回答者の数から、第1の回答者のうちの因果関係の候補に示される第2の回答候補と同じ回答をした第2の回答者の数を減算した減算値である。そして処理部12は、組み合わせる因果関係の候補それぞれの減算値(因果関係の候補によって説明できない回答者の数)の合計を、因果関係があることの正確さの指標とする。この場合、合計した値を最小化することが、因果関係があることの正確さを最大化することとなる。
【0033】
このように因果関係の候補によって説明できない回答者の数の総数によって因果関係の候補の組合せの正確さを表すことで、解に含まれる因果関係の候補の数が少ないほど、合計値に加算する値が多くなり、正確さを低下させる。逆に、解に含まれる因果関係の候補の数が多いほど、正確さが増す。従って、このような正確さの計算方法を用いれば、第2の最適化問題の解探索において、解に含まれる因果関係の候補の数が少なくなりすぎることが抑止される。
【0034】
なお生成される因果関係の候補1a,1b,・・・の中に、正確さが低いものがあったとしても、その因果関係の候補で説明できる回答者の数が少なく、第1の最適化問題の解には含まれづらい。そのため処理部12は、正確性の低いものも含め、可能な限りの多くの因果関係の候補1a,1b,・・・を生成することも可能である。しかし、因果関係の候補1a,1b,・・・の数が多すぎると、組合せ最適化問題を解く際の計算量が膨大となる。そこで処理部12は、できるだけ正確性が高い因果関係の候補を生成する。
【0035】
例えば処理部12は、1または複数の第1の質問の少なくとも一部と、1または複数の第2の質問うちの1つとを選択し、選択した第1の質問それぞれに対する第1の回答候補を1つずつ選択する。また処理部12は、選択した第1の回答候補と同じ回答をした回答者による選択した第2の質問に対する回答に基づいて、選択した第2の質問に対する第2の回答候補(例えば最も多くの回答者が回答したもの)を選択する。そして処理部12は、選択した第1の回答候補と選択した第2の回答候補とを含む因果関係の候補を生成する。
【0036】
これにより、組合せ最適化問題の解に含まれる因果関係の候補の組合せの正確さを低下させずに、因果関係の候補1a,1b,・・・の数を減らすことができる。因果関係の候補1a,1b,・・・の数が少なくなることで、組合せ最適化問題の解探索の時間も短くなる。
【0037】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、アンケート調査結果を利用して、コンピュータにより、アンケートへの回答者の属性と食品廃棄の行動との因果関係を分析するものである。
【0038】
図2は、コンピュータのハードウェアの一例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0039】
メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0040】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0041】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータ100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0042】
GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0043】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0044】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0045】
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0046】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0047】
コンピュータ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、
図2に示したコンピュータ100と同様のハードウェアにより実現することができる。
【0048】
コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0049】
このようなコンピュータ100により、アンケート結果を用いたデータ分析を行うことができる。
図3は、データ分析のためのコンピュータの機能を示すブロック図である。コンピュータ100は、記憶部110とデータ分析部120とを有する。記憶部110は、アンケート結果データ111を記憶する。アンケート結果データ111は、アンケート調査に回答した回答者ごとの、アンケートに含まれる複数の質問に対する回答を示すデータである。記憶部110は、例えばメモリ102またはストレージ装置103の記憶領域の一部を用いて実現される。
【0050】
データ分析部120は、アンケート結果データ111に基づいて、回答者の属性と食品廃棄の行動との因果関係を分析する。例えばデータ分析部120は、アンケートへの回答者の属性と食品廃棄行動についての因果関係の候補を複数用意する。そしてデータ分析部120は、回答者の全体を網羅するように、なるべく正確に、なるべく少数の因果関係の候補の組み合わせを計算して出力する。データ分析部120は、計算で求める因果関係の候補の組合せを、組合せ最適化問題として解くことができる。
【0051】
図4は、アンケート結果データの一例を示す図である。アンケート結果データ111には、回答者を識別するための回答者番号に対応付けて、アンケートに含まれる質問への回答者の回答が設定されている。質問は、因果関係の候補における条件部用の質問と、因果関係における結論部用の質問とに分けられる。
【0052】
条件部用の質問は、回答者の属性に関する質問である。例えば「世帯人数は?」、「自炊する?」などが条件部用の質問に該当する。「世帯人数は?」との質問に対して、回答者は、回答者自身が属する世帯の人数を回答する。また「自炊する?」との質問に対して、回答者は、自炊する習慣があれば「する」と回答し、自炊する習慣がなければ「しない」と回答する。
【0053】
結論部用の質問は、回答者の食品廃棄の行動に関する質問である。例えば「食べ残しが多い?」、「消費期限を超えることが多い?」などが結論部用の質問である。「食べ残しが多い?」との質問に対して、回答者は、食事の食べ残しが多い場合には「多い」と回答し、食事の食べ残しが少ない場合には「少ない」と回答する。「消費期限を超えることが多い?」との質問に対し、回答者は、購入した食品が消費されずに消費期限を超えてしまうことが多ければ「多い」と回答し、購入した食品が消費されずに消費期限を超えてしまうことが少なければ「少ない」と回答する。
【0054】
なお
図4の例では、質問への回答として「1人」、「しない」、「少ない」など、回答の内容において変化する部分のみを示しているが、各回答は対応する質問の情報も含んでいる。例えば「世帯人数は何人?=1人」、自炊する?=しない」、「食べ残しが多い?=少ない」というように、各回答には対応する質問に関する情報が含まれる。
【0055】
なお、第2の実施の形態における条件部用の質問は、第1の実施の形態に示した第1の質問の一例である。また第2の実施の形態における結論部用の質問は、第1の実施の形態に示した第2の質問の一例である。
【0056】
多数の回答者がアンケートに回答した結果を示すアンケート結果データ111として記憶部110に格納される。そしてデータ分析部120により、アンケート結果データ111に基づくデータ分析が行われる。
【0057】
図5は、データ分析部における処理の一例を示す図である。例えばデータ分析部120は、アンケート結果データ111に基づいて複数の因果関係の候補を生成する。因果関係の候補には、条件部用の1または複数の質問と結論部の1つの質問とが含まれる。データ分析部120は、組合せ最適化を用いた解探索手法により、複数の因果関係の候補の中から、アンケート結果データ111への回答者全体を正しく説明可能な因果関係の組合せを決定する。このときデータ分析部120は、組み合わせる因果関係の数が少なくなるように、組合せ最適化における制約条件を設定する。そしてデータ分析部120は、分析結果データ30を出力する。
【0058】
分析結果データ30には、回答者を正しく説明する因果関係を示す複数の因果関係データ31,32,・・・が含まれる。因果関係データ31,32,・・・それぞれには、因果関係、因果関係の条件部に該当する回答者数、因果関係の結論部に該当する回答者数、因果関係の正確さ、および因果関係に該当する回答者の番号が含まれる。
【0059】
また分析結果データ30には、因果関係の組合せの正確さが含まれる。因果関係の組合せの正確さは、例えば因果関係で正しく説明することができない回答者の総数で表される。この場合、値が小さいほど因果関係の組合せが正確であることを示す。
【0060】
例えばデータ分析部120は、分析結果に残された因果関係の候補の組み合わせについて、条件部に該当する回答者数の総数を計算する。またデータ分析部120は、分析結果に残された因果関係の候補の組み合わせについて、結論部に該当する回答者数の総数を計算する。そしてデータ分析部120は、因果関係の候補の組み合わせについての正確さを、条件部に該当する回答者数の総数から結論部に該当する回答者数の総数を引き算することにより計算する。引き算の計算値が小さいほど、因果関係の候補の組み合わせが正確であることを示す。
【0061】
図6は、分析結果データの一例を示す図である。例えば因果関係データ31に示される因果関係の条件部は、質問「世帯人数は何人?」に対して「1人」と回答し、かつ質問「自炊する?」に対して「しない」と回答することである。また因果関係データ31に示される因果関係の結論部は、質問「消費期限を超えることが多い?」に対して「少ない」と回答することである。
【0062】
因果関係データ31の条件部に該当する回答者数は「10人」である。因果関係データ31の条件部に該当する回答者のうち、結論部に該当する回答者数は「6人」である。
個々の因果関係の正確さは、例えば条件部に該当する回答者のうちの、結論部に該当する回答者の割合で示される。因果関係データ31の場合、因果関係の正確さは「0.6」となる。この場合、因果関係の正確さの数値が高いほど、因果関係が正確であることを示す。
【0063】
また因果関係データ31において、因果関係に該当する回答者の回答者番号は「1,3,4,・・・」である。
因果関係データ32についても、因果関係データ31と同種の情報が示されている。分析結果データ30には、さらに因果関係の組合せの正確さが示されている。
図6の例では、因果関係1の条件部に該当する回答者数が10人、結論部に該当する回答者数が6人、因果関係2の条件部に該当する回答者数が20人、結論部に該当する回答者数が16人である。従って「因果関係の候補の組合せの正確さ=10+20-(6+16)=8」となる。これは因果関係データ31に示される因果関係によって説明できない回答者の数と因果関係データ32に示される因果関係によって説明できない回答者の数との合計値である。
【0064】
次にアンケートの回答者の属性と食品廃棄行動との因果関係を分析するためのデータ分析処理について詳細に説明する。
図7は、データ分析処理の手順の一例を示すフローチャートである。以下、
図7に示す処理をステップ番号に沿って説明する。
【0065】
[ステップS101]データ分析部120は、記憶部110からアンケート結果データ111を読み込む。
[ステップS102]データ分析部120は、アンケート結果データ111に基づいて、因果関係候補生成処理を行う。因果関係候補生成処理の詳細は後述する(
図8、
図10参照)。因果関係候補生成処理により、アンケートの条件部用の1以上の質問それぞれへの回答を条件部とし、アンケートの結論部用の1つの質問への回答を結論部とする因果関係の候補が複数生成される。
【0066】
[ステップS103]データ分析部120は、複数の因果関係の候補それぞれについて分析の分析結果に残すか否かを決定する組合せ最適化処理を実行する。組合せ最適化処理の詳細は後述する(
図12、
図14参照)。
【0067】
[ステップS104]データ分析部120は、組合せ最適化処理によって分析の分析結果に残すと判定された因果関係の候補を、回答者の属性と食品廃棄行動との因果関係とする分析結果データ30を生成する。回答者の属性は、因果関係の条件部に示される。また食品廃棄行動は、因果関係の結論部に示される。データ分析部120は、生成した分析結果データ30の内容を例えばモニタ21に表示する。またデータ分析部120は、生成した分析結果データ30をストレージ装置103に格納する。
【0068】
このようにして、回答者の属性と食品廃棄行動との因果関係が分析される。
次に、因果関係候補生成処理について詳細に説明する。
図8は、因果関係候補生成処理の第1の例を示すフローチャートである。以下、
図8に示す処理をステップ番号に沿って説明する。
【0069】
[ステップS111]データ分析部120は、条件部に含める質問の組合せ数iを「1」に初期化する(i=1)。
[ステップS112]データ分析部120は、条件部用のi個の質問の組合せに基づく条件部の候補を生成する。
【0070】
例えばi=1の場合、データ分析部120は、「世帯人数は何人?」、「自炊する?」などの条件部の質問それぞれについての回答ごとに、条件部の候補を生成する。例えば「世帯人数は何人?」という質問について、「世帯人数は何人?=1人」、「世帯人数は何人?=2人」というように、世帯人数ごとの条件部の候補が生成される。また「自炊する?」という質問について、「自炊する?=する」、「自炊する?=しない」という2つの条件部の候補が生成される。
【0071】
i=2の場合、データ分析部120は、条件部の2個の質問の組合せについて、それらの質問への回答の組合せごとの条件部の候補を生成する。例えばデータ分析部120は、「世帯人数は何人?」と「自炊する?」との質問の組合せについて、それらの質問に対する回答の組合せごとの条件部の候補を生成する。例えば「世帯人数は何人?=1人 AND 自炊する?=する」、「世帯人数は何人?=1人 AND 自炊する?=しない」、「世帯人数は何人?=2人 AND 自炊する?=する」、「世帯人数は何人?=2人 AND 自炊する?=しない」などの条件部の候補が生成される。
【0072】
iの値が3以上の場合についても同様に、データ分析部120は、条件部のi個の質問の組合せについて、それらの質問への回答の組合せごとの条件部の候補を生成する。
[ステップS113]データ分析部120は、生成した条件部の候補のうちの未選択の条件部の候補を1つ選択する。
【0073】
[ステップS114]データ分析部120は、アンケート結果データ111に基づいて、結論部用の質問の回答ごとに、選択した条件部の候補に該当する回答者のうち、該当質問についての該当する回答の回答者の人数を計数する。選択した条件部の候補に該当する回答者とは、選択した条件部の候補の質問に対して、条件部の候補と同じ回答をした回答者である。
【0074】
[ステップS115]データ分析部120は、結論部用の質問に対する回答のうち、該当する回答者(選択した条件部の候補に該当する回答者)が最も多い回答を結論部に決定する。そしてデータ分析部120は、選択した条件部の候補を因果関係の条件部として、決定した結論部を因果関係の結論部とする因果関係の候補を生成する。
【0075】
[ステップS116]データ分析部120は、未選択の条件部の候補があるか否かを判断する。データ分析部120は、未選択の条件部の候補がある場合、処理をステップS113に進める。またデータ分析部120は、未選択の条件部の候補がなければ、処理をステップS117に進める。
【0076】
[ステップS117]データ分析部120は、生成された因果関係の候補の数が所定の上限に達したか否かを判断する。データ分析部120は、因果関係の候補の数が上限に達した場合、因果関係候補生成処理を終了する。またデータ分析部120は、因果関係の候補数が上限に達していなければ、処理をステップS118に進める。
【0077】
[ステップS118]データ分析部120は、条件部の質問の組合せ数iを「1」だけ増加させ(i=i+1)、処理をステップS112に進める。
このようにデータ分析部120は、条件部の質問の組合せ数を増やしながら、因果関係の候補数が所定の上限に達するまで、因果関係の候補の生成を繰り返す。
【0078】
図9は、生成される因果関係の候補の一例を示す図である。
図9の例では、「世帯人数は何人?」との質問に対する「1人」との回答が、処理対象の条件部の候補として選択された場合の因果関係の候補の生成例が示されている。
図9の例では、条件部の候補に該当する回答者(「世帯人数は何人?=1人」と回答した回答者)の数は100人である。
【0079】
データ分析部120は、結論部用の質問「食べ残しが多い?」について、その質問への回答ごとの結論部の候補(「食べ残しが多い?=多い」と「食べ残しが多い?=少ない」)を生成する。そしてデータ分析部120は、条件部の候補に該当する回答者のうち、各結論部の候補に該当する回答者の数を計数する。データ分析部120は、結論部の候補のうち、該当する回答者が最も多いものを、因果関係の候補の結論部に決定する。
図9の例では、「食べ残しが多い?=多い」と回答したのは100人中の40人であり、「食べ残しが多い?=少ない」と回答したのは100人中の60人である。従ってデータ分析部120は、条件部「世帯人数は何人?=1人」であり、結論部「食べ残しが多い?=少ない」である因果関係の候補41を生成する。
【0080】
またデータ分析部120は、結論部用の質問「消費期限を超えることが多い?」について、その質問への回答ごとの結論部の候補(「消費期限を超えることが多い?=多い」と「消費期限を超えることが多い?=少ない」)を生成する。
図9の例では、「消費期限を超えることが多い?=多い」と回答したのは100人中の70人であり、「消費期限を超えることが多い?=少ない」と回答したのは100人中の30人である。従ってデータ分析部120は、条件部「世帯人数は何人?=1人」であり、結論部「消費期限を超えることが多い?=多い」である因果関係の候補42を生成する。
【0081】
このような因果関係の候補の生成が、条件部の候補ごとに行われる。条件部の質問の組合せ数が2の場合、条件部用の2つの質問の組合せが条件部の候補となる。例えば条件部の候補「世帯人数は何人?=4人 AND 自炊する?=する」に該当する回答者数が40人であるものとする。このとき、例えば結論部の候補「消費期限を超えることが多い?=多い」に該当する回答者が30人、結論部の候補「消費期限を超えることが多い?=少ない」に該当する回答者が10人であるものとする。その場合、条件部が「世帯人数は何人?=4人 AND 自炊する?=する」である因果関係の候補の結論部は「消費期限を超えることが多い?=多い」となる。
【0082】
なお第2の実施の形態における因果関係の候補の条件部に設定される情報は、第1の実施の形態における第1の回答候補の一例である。また第2の実施の形態における因果関係の候補の結論部に設定される情報は、第1の実施の形態における第2の回答候補の一例である。
【0083】
図8、
図9に示した例では、因果関係の候補に含める質問の数を増やしながら、質問の組合せそれぞれについて網羅的に条件部の候補が生成される。それに対して、決定木分析を用いて効率的に因果関係の候補を生成することも可能である。
【0084】
図10は、因果関係候補生成処理の第2の例を示すフローチャートである。以下、
図10に示す処理をステップ番号に沿って説明する。
[ステップS131]データ分析部120は、未選択の結論部用の質問の中から、結論部用の質問を1つ選択する。
【0085】
[ステップS132]データ分析部120は、選択した結論部用の質問に対応する決定木を生成する。決定木の葉以外の各ノードには、条件部用の質問が対応付けられている。上位ノードからその下位のノードへは、上位のノードの質問への回答に対応する枝によって接続されている。そしてデータ分析部120は、回答者ごとに、ルートノードから条件部用の質問への回答に応じた枝を辿る。そしてデータ分析部120は、決定木のノードそれぞれについて、選択した結論部用の質問への回答ごとに、該当ノードに到達する回答者のうちのその回答をした回答者の数を設定する。
【0086】
[ステップS133]データ分析部120は、未選択の結論部用の質問があるか否かを判断する。データ分析部120は、未選択の結論部用の質問があれば処理をステップS131に進める。またデータ分析部120は、未選択の結論部用の質問がなければ処理をステップS134に進める。
【0087】
[ステップS134]データ分析部120は、各決定木のルートノード以外のノードに対応する因果関係の候補を生成する。生成される因果関係の候補の条件部は、決定木のルートノードから該当ノードに至るまでの条件部用の1以上の質問それぞれへの回答の論理積である。また生成される因果関係の候補の結論部は、その決定木に対応する結論部用の質問に対して、該当ノードへ到達する回答者による回答者数が最も多い回答が設定される。
【0088】
図11は、決定木分析を用いた因果関係の候補の生成例を示す図である。
図11には、結論部用の質問「食べ残しが多い?」に対応する決定木50が示されている。なお決定木50は、条件部用の質問が「世帯人数は何人?」と「自炊する?」の2つである場合の例である。決定木50のルートノードであるノード51には、条件部用の質問「世帯人数は何人?」が対応付けられている。そのノード52の下位のノード52,53には、条件部用の質問「自炊する?」が対応付けられている。ノード51からノード52への枝には、「世帯人数は何人?」に対する回答「1人」が対応付けられている。ノード51からノード53への枝には、「世帯人数は何人?」に対する回答「2人以上」(2人、3人、・・・の回答を含む)が対応付けられている。
【0089】
ルートノード以外の各ノード52~57には、そのノードに到達する回答者の、結論部用の質問「食べ残しが多い?」に対する回答それぞれについての回答者数が設定されている。例えばノード52に到達する回答者は、条件部用の質問「世帯人数は何人?」に対して「1人」と回答した回答者である。
図11の例では、ノード52に到達する回答者は100人存在する。そのうち結論部用の質問「食べ残しが多い?」に対して、「多い」と回答した回答者が40人であり、「少ない」と回答した回答者が60人である。
【0090】
データ分析部120は、ルートノード以外の各ノード52~57に対応する因果関係の候補を生成する。生成される因果関係の候補の条件部には、対応するノードに到達する回答者による条件部用の質問に対する共通の回答が設定される。また生成される因果関係の候補の結論部には、決定木50に対応する結論部用の質問「食べ残しが多い?」に対する、各ノード52~57に到達する回答者による最も多い回答が設定される。
【0091】
例えばノード52に対応する因果関係の候補61の条件部には、「世帯人数は何人?=1人」と設定される。ノード52に到達する回答者100人のうち60人が、結論部用の質問「食べ残しが多い?」に対して「少ない」と回答している。そのため、因果関係の候補61の結論部には、「食べ残しが多い?=少ない」と設定される。
【0092】
またノード53に対応する因果関係の候補62の条件部には、「世帯人数は何人?=2人以上」と設定される。ノード53に到達する回答者140人のうち80人が、結論部用の質問「食べ残しが多い?」に対して「多い」と回答している。その因果関係の候補62の結論部には、「食べ残しが多い?=多い」と設定される。
【0093】
同様にして、決定木50の他のノード54~57に対応する因果関係の候補も生成される。例えばノード54に対応する因果関係の候補は、条件部「世帯人数は何人?=1人 AND 自炊する?=する」(該当回答者数:50人)、結論部「食べ残しが多い?=少ない」(該当回答者数:40人)である。ノード55に対応する因果関係の候補は、条件部「世帯人数は何人?=1人 AND 自炊する?=しない」(該当回答者数:50人)、結論部「食べ残しが多い?=多い」(該当回答者数:30人)である。ノード56に対応する因果関係の候補は、条件部「世帯人数は何人?=2人以上 AND 自炊する?=する」(該当回答者数:70人)、結論部「食べ残しが多い?=多い」(該当回答者数:50人)である。ノード57に対応する因果関係の候補は、条件部「世帯人数は何人?=2人以上 AND 自炊する?=しない」(該当回答者数:70人)、結論部「食べ残しが多い?=少ない」(該当回答者数:40人)である。
【0094】
さらに決論部用の他の質問(例えば「消費期限を超えることが多い?」)に対応して生成された決定木のノードについても対応する因果関係の候補が生成される。
因果関係の候補が生成されると、データ分析部120は、組合せ最適化の手法を用いて、できるだけ少ない因果関係で回答者の全体を正確に説明できる因果関係の候補の組合せを計算する。因果関係の候補の組合せの最適化は、因果関係の数の少なさを優先するのか、因果関係の正確さを優先するのかによって処理が異なる。
【0095】
図12は、因果関係の数の少なさを優先した組合せ最適化処理の手順の一例を示すフローチャートである。以下、
図12に示す処理をステップ番号に沿って説明する。
[ステップS141]データ分析部120は、組合せ最適化の計算に用いる配列「A(i,k),B(k),C(k),D(i)」を設定する。iは回答者番号である。kは因果関係の候補の番号である。
【0096】
A(i,k)は、因果関係の候補によって正しく説明できる回答者を示す配列である。データ分析部120は、k番目の因果関係の候補によってi番目の回答者を正しく説明できる場合、A(i,k)の値に「1」を設定する。またデータ分析部120は、k番目の因果関係の候補によってi番目の回答者を正しく説明できない場合、A(i,k)の値に「0」を設定する。
【0097】
B(k)は,因果関係の候補によって正しく説明できない回答者の数を示す配列である。データ分析部120は、例えばk番目の因果関係の候補における条件部に該当しながらも結論部に該当しない回答者の数を、因果関係の候補によって正しく説明できない回答者の数としてB(k)に設定する。
【0098】
C(k)は、分析結果に残す因果関係の候補を示す配列である。データ分析部120は、k番目の因果関係の候補を分析結果に残す場合にはC(k)に「1」を設定し、k番目の因果関係の候補を分析結果に残さない場合にはC(k)に「0」を設定する。
【0099】
D(i)は、分析結果に残すいずれかの因果関係の候補によって回答者が正しく説明されるかどうかを示す配列である。データ分析部120は、i番目の回答者が、分析結果に残す因果関係の候補の少なくとも1つにおいて正しく説明できる場合、D(i)≧1とする。例えばD(i)は以下の式で表される。
【0100】
【0101】
[ステップS142]データ分析部120は、組合せ最適化の計算に用いる変数「Ns,Nr,Nf,Nt」を設定する。Nsは、回答者の総数を示す変数である。データ分析部120は、アンケート結果データ111に示される回答者の総数をNsに設定する。Nrは因果関係の候補の総数である。データ分析部120は、因果関係候補生成処理で生成した因果関係の候補の総数をNrに設定する。Nfは、分析結果に残す因果関係の候補の総数である。Nfの値は以下の式で表される。
【0102】
【0103】
Ntは、分析結果に残す因果関係の候補によって説明できない回答者の総数を示す変数である。Ntの値は以下の式で表される。
【0104】
【0105】
[ステップS143]データ分析部120は、回答者全体を説明可能な因果関係の候補の最小数(Nf,minimized)を組合せ最適化で計算する。このときの組合せ最適化問題において最小化する目的関数は、式(2)に示されるNfである。また制約条件は「D(i)≧1」(i=1,2,・・・,Ns)である。
【0106】
[ステップS144]データ分析部120は、因果関係の数が最小の場合に、回答者全体を最も正確に説明できる因果関係の候補の組合せを組合せ最適化で計算する。このときの組合せ最適化問題において最小化する目的関数は、式(3)に示されるNtである。また制約条件は「D(i)≧1」(i=1,2,・・・,Ns)、および「Nf=Nf,minimized」である。この組合せ最適化の計算の結果、「C(k)=1」となる因果関係の候補が、分析結果として出力する因果関係となる。
【0107】
このようにして、回答者の全体を正しく説明することが可能な最小数の因果関係の候補の組合せのうち、因果関係を最も正確に表すことができる組合せを、分析結果とすることができる。
【0108】
図13は、因果関係の数の少なさを優先した組合せ最適化処理による分析結果に残す因果関係の候補の決定手順の模式図である。
図13に示すように1段階目の組合せ最適化問題71では、すべての回答者(i=1,2,・・・,N
s)について「D(i)≧1」になるという制約条件の元で、分析結果に残す因果関係の候補の総数N
fを最小化するような因果関係の候補の組合せが計算される。制約条件「D(i)≧1」があることで、回答者全体を正しく説明することが保証される。この組合せ最適化問題71を解くことで回答者全体を説明可能な因果関係の候補の最小数(N
f,minimized)が得られる。
【0109】
2段階目の組合せ最適化問題72では、因果関係の候補の最小数(Nf,minimized)を分析結果に残す因果関係の候補の総数Nfとするという制約条件で、Ntを最小化するような因果関係の候補の組合せが求められる。この場合も回答者(i=1,2,・・・,Ns)について「D(i)≧1」になるという制約条件が設定されており、分析結果に残す因果関係の候補によって回答者の全体を正しく説明されることが保証される。
【0110】
このように「Nf=Nf,minimized」という制約条件で組合せ最適化問題72を解くことで、回答者の全体を正しく説明可能な最小数の因果関係の候補を組み合わせた組合せパターンのみが、組合せ最適化問題72の解となり得る。その組合せパターンが複数ある場合、それらの組合せパターンのうちの因果関係を最も正確に表す因果関係の候補を組み合わせた組合せパターンが、解として得られる。
【0111】
図14は、因果関係の正確さを優先した組合せ最適化処理の手順の一例を示すフローチャートである。
図14に示すステップS151,S152の処理は、それぞれ
図12に示すステップS141,S142の処理と同様である。以下、
図12の処理と異なるステップS153,S154の処理をステップ番号に沿って説明する。
【0112】
[ステップS153]データ分析部120は、回答者全体を最も正確に説明できる因果関係の候補の組み合わせ(Nt,minimized)を組合せ最適化で計算する。このときの組合せ最適化問題において最小化する目的関数は、式(3)に示されるNtである。また制約条件は「D(i)≧1」(i=1,2,・・・,Ns)である。
【0113】
[ステップS154]データ分析部120は、正確さが最良の場合に回答者の全体を最も少ない数の因果関係で説明する因果関係の候補の組合せを組合せ最適化で計算する。このときの組合せ最適化問題において最小化する目的関数は、式(2)に示されるNfである。また制約条件は「D(i)≧1」(i=1,2,・・・,Ns)、および「Nt=Nt,minimized」である。この組合せ最適化の計算の結果、「C(k)=1」となる因果関係の候補が、分析結果として出力する因果関係となる。
【0114】
このようにして、因果関係を最も正確に表すことができる因果関係の候補の組合せのうち、回答者の全体を正しく説明することが可能な最小数の因果関係の候補の組合せを、分析結果とすることができる。
【0115】
図15は、因果関係の正確さを優先した組合せ最適化処理による分析結果に残す因果関係の候補の決定手順の模式図である。
図15に示すように1段階目の組合せ最適化問題73では、すべての回答者(i=1,2,・・・N
s)について「D(i)≧1」になるという制約条件が課される。この制約条件の元で、分析結果に残す因果関係の候補によって正確に説明できない回答者の総数N
tを最小化するような因果関係の候補の組合せが計算される。制約条件「D(i)≧1」があることで、回答者の全体を正しく説明することが保証される。この組合せ最適化問題73を解くことで、回答者全体を説明可能な因果関係の候補の組合せにおける、正確に説明できない回答者の総数の最小値(N
t,minimized)が得られる。
【0116】
2段階目の組合せ最適化問題74では、正確に説明できない回答者の総数の最小値(Nt,minimized)を分析結果に残す因果関係の候補の総数Ntとするという制約条件で、Nfを最小化するような因果関係の候補の組合せが求められる。この場合も回答者(i=1,2,・・・,Ns)について「D(i)≧1」になるという制約条件が設定されており、分析結果に残す因果関係の候補によって回答者の全体を正しく説明されることが保証される。
【0117】
このように「Nt=Nt,minimized」という制約条件で組合せ最適化問題74を解くことで、最も正確となる因果関係の候補の組合せの組合せパターンのみが、組合せ最適化問題74の解となり得る。その組合せパターンが複数あるときに、それらの組合せパターンのうちの因果関係の総数が最も少なくなる組合せの組合せパターンが、解として得られる。
【0118】
解として得られた1または複数の因果関係それぞれは、その因果関係で説明可能な回答者のグループを表していると考えることができる。そのため、因果関係の候補の生成処理によってグループ分けが行われていることとなる。データ分析部120は、グループを示す複数の因果関係の候補の中から分析結果とする因果関係を決定しており、グループ分けの一貫性は維持されている。
【0119】
また組合せ最適化問題では、制約条件「D(i)≧1」により、各回答者がいずれかのグループ(分析結果に含まれる因果関係で説明可能な回答者群)に含まれることが保証される。なお1人の回答者を説明可能な因果関係の候補は複数存在する。そのため、1人の回答者が複数のグループに属することが許容されている。
【0120】
さらに分析結果データ30には、因果関係ごとの正確さに加えて、因果関係の組合せの正確さが示されている。因果関係の組合せの正確さは、例えば分析結果に残す因果関係の候補それぞれによって説明できない回答者の総数で表される。この場合、分析結果に残す因果関係の候補の数が多くなるほど、因果関係の組合せの正確さの値も大きくなる。すなわち、因果関係の組合せの正確さには、個々の因果関係の正確さと、分析結果に残す因果関係の候補の数の少なさが反映されている。これにより因果関係の正確さと、生成されるグループ数(分析結果に残す因果関係の候補の数と同じ)の少なさとについて総合的に評価できる。
【0121】
〔その他の実施の形態〕
第2の実施の形態では、アンケートへの回答者の属性と食品廃棄行動との因果関係を分析しているが、第2の実施の形態に示したデータ分析処理は食品廃棄行動以外の様々な分析に適用可能である。
【0122】
また第2の実施の形態では回答者がいずれかのグループに含まれるようにしているが、一定の割合の回答者がいずれのグループにも含まれないことを許容してもよい。その場合、すべてのiについて「D(i)≧1」を満たすという制約条件に替えて、所定割合以上(例えば90%以上)のiについて「D(i)≧1」を満たすという制約条件が用いられる。
【0123】
なお組合せ最適化問題をイジングモデルに変換することで、イジングマシンにより組合せ最適化問題を解くこともできる。イジングマシンとは、物理学の磁性体モデルの1つであるイジングモデルの最適化問題に特化した計算機である。イジングマシンを利用することで、組合せ最適化問題の解の探索を効率的に行うことができる。イジングマシンには、超伝導量子ビットを用いた量子アニーリングマシン、光の特性を人工スピンとして用いたコヒーレントイジングマシン、量子現象に着想を得たデジタル回路で組合せ最適化問題を解くマシンが含まれる。
【0124】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0125】
1a,1b,・・・ 因果関係の候補
10 情報処理装置
11 記憶部
11a アンケート結果データ
12 処理部