IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 学校法人幾徳学園の特許一覧

特開2022-23400情報処理装置、情報処理システムおよびプログラム
<>
  • 特開-情報処理装置、情報処理システムおよびプログラム 図1
  • 特開-情報処理装置、情報処理システムおよびプログラム 図2
  • 特開-情報処理装置、情報処理システムおよびプログラム 図3
  • 特開-情報処理装置、情報処理システムおよびプログラム 図4
  • 特開-情報処理装置、情報処理システムおよびプログラム 図5
  • 特開-情報処理装置、情報処理システムおよびプログラム 図6
  • 特開-情報処理装置、情報処理システムおよびプログラム 図7
  • 特開-情報処理装置、情報処理システムおよびプログラム 図8
  • 特開-情報処理装置、情報処理システムおよびプログラム 図9
  • 特開-情報処理装置、情報処理システムおよびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022023400
(43)【公開日】2022-02-08
(54)【発明の名称】情報処理装置、情報処理システムおよびプログラム
(51)【国際特許分類】
   G06F 17/15 20060101AFI20220201BHJP
   G06Q 30/02 20120101ALI20220201BHJP
【FI】
G06F17/15
G06Q30/02
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2020126327
(22)【出願日】2020-07-27
(71)【出願人】
【識別番号】391022614
【氏名又は名称】学校法人幾徳学園
(74)【代理人】
【識別番号】110000420
【氏名又は名称】特許業務法人エム・アイ・ピー
(72)【発明者】
【氏名】杉村 博
(72)【発明者】
【氏名】一色 正男
(72)【発明者】
【氏名】松本 一教
【テーマコード(参考)】
5B056
5L049
【Fターム(参考)】
5B056BB21
5L049BB01
(57)【要約】
【課題】 トランザクションデータベース間の距離を計算できる装置、システムおよびプログラムを提供すること。
【解決手段】 情報処理装置は、各トランザクションデータベースに収集されたそれぞれの複数のトランザクションデータから、それぞれの複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出する抽出手段と、各トランザクションデータベースに対して抽出されたアイテムの組の和集合を生成する生成手段と、各トランザクションデータベースにつき、生成された和集合に含まれるアイテムの組を含むトランザクションの割合を計算する第1の演算手段と、各トランザクションデータベースに対して計算されたトランザクションの割合を用いて、トランザクションデータベース間の距離を計算する第2の演算手段とを含む。
【選択図】 図3
【特許請求の範囲】
【請求項1】
トランザクションデータベース間の距離を計算する情報処理装置であって、
各トランザクションデータベースに収集されたそれぞれの複数のトランザクションデータから、前記各トランザクションデータベースに対して複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出する抽出手段と、
前記各トランザクションデータベースに対して抽出された前記アイテムの組の和集合を生成する生成手段と、
前記各トランザクションデータベースにつき、生成された前記和集合に含まれる前記各アイテムの組を含む各トランザクションの割合を計算する第1の演算手段と、
前記各トランザクションデータベースに対して計算された前記各トランザクションの割合を用いて、前記トランザクションデータベース間の距離を計算する第2の演算手段と
を含む、情報処理装置。
【請求項2】
前記第1の演算手段は、前記アイテムの組を、計算した前記トランザクションの割合と対応付けて記憶手段に記憶させ、
前記第2の演算手段は、前記記憶手段に記憶された同じアイテムの組が対応付けられた前記トランザクションの割合の差の絶対値を、各アイテムの組につき計算し、その合計値を前記距離として算出する、請求項1に記載の情報処理装置。
【請求項3】
前記抽出手段は、抽出した前記アイテムの組の部分集合の組み合わせから相関ルールを抽出し、
前記生成手段は、前記各トランザクションデータベースに対して抽出された前記相関ルールの和集合を生成し、
前記第1の演算手段は、前記各トランザクションデータベースにつき、前記各相関ルールの支持度を前記トランザクションの割合として計算するとともに、計算した前記支持度を用いて、前記相関ルールの確信度を計算し、
前記第2の演算手段は、前記各トランザクションデータベースに対して計算された前記支持度および前記確信度を用いて、前記トランザクションデータベース間の距離を計算する、請求項1に記載の情報処理装置。
【請求項4】
前記第1の演算手段は、前記アイテムの組を、計算した前記支持度および前記確信度と対応付けて記憶手段に記憶させ、
前記第2の演算手段は、前記記憶手段に記憶された同じアイテムの組が対応付けられた前記支持度および前記確信度の差の絶対値を、各アイテムの組につき計算し、それらの合計値を前記距離として算出する、請求項3に記載の情報処理装置。
【請求項5】
前記抽出手段は、幅優先探索または深さ優先探索を使用して、前記アイテムの組を抽出する、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
トランザクションデータベース間の距離を計算する情報処理システムであって、
各トランザクションデータベースに収集されたそれぞれの複数のトランザクションデータから、前記各トランザクションデータベースに対して複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出する抽出手段と、
前記各トランザクションデータベースに対して抽出された前記アイテムの組の和集合を生成する生成手段と、
前記各トランザクションデータベースにつき、生成された前記和集合に含まれる前記各アイテムの組を含む各トランザクションの割合を計算する第1の演算手段と、
前記各トランザクションデータベースに対して計算された前記各トランザクションの割合を用いて、前記トランザクションデータベース間の距離を計算する第2の演算手段と
を含む、情報処理システム。
【請求項7】
トランザクションデータベース間の距離を計算する処理をコンピュータに実行させるためのプログラムであって、
各トランザクションデータベースに収集されたそれぞれの複数のトランザクションデータから、前記各トランザクションデータベースに対して複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出するステップと、
前記各トランザクションデータベースに対して抽出された前記アイテムの組の和集合を生成するステップと、
前記各トランザクションデータベースにつき、生成された前記和集合に含まれる前記各アイテムの組を含む各トランザクションの割合を計算するステップと、
前記各トランザクションデータベースに対して計算された前記各トランザクションの割合を用いて、前記トランザクションデータベース間の距離を計算するステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トランザクションデータベース間の距離を計算する装置、システムおよびプログラムに関する。
【背景技術】
【0002】
トランザクションデータベースは、一連の処理をトランザクションとし、そのトランザクションにより得られる情報を収集するシステムである。例えば、顧客が店舗で複数の商品を購入する場合、顧客が1回に購入する複数の商品が1つのトランザクションとなり、顧客の購入履歴情報がトランザクションデータベースに収集されるトランザクションデータとなる。
【0003】
収集された購入履歴情報からは、個々の商品の売れ行き等のほか、商品Aを購入する人は、同時に商品Bも購入するという情報も得られる。このように同時に購入される商品をトランザクション内に共起するアイテムとし、トランザクションデータベースから所定の頻度閾値を満足する各トランザクション内に共起するアイテムの組み合わせを探索する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2006/057105号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の技術では、トランザクションデータベース内のアイテムデータ間の距離を計算するのみで、トランザクションデータベースが複数存在する場合にトランザクションデータベース間の距離を計算することはできない。
【課題を解決するための手段】
【0006】
本発明は、上記課題に鑑み、トランザクションデータベース間の距離を計算する情報処理装置であって、
各トランザクションデータベースに収集されたそれぞれの複数のトランザクションデータから、各トランザクションデータベースに対して複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出する抽出手段と、
各トランザクションデータベースに対して抽出されたアイテムの組の和集合を生成する生成手段と、
各トランザクションデータベースにつき、生成された和集合に含まれるアイテムの組を含むトランザクションの割合を計算する第1の演算手段と、
各トランザクションデータベースに対して計算されたトランザクションの割合を用いて、トランザクションデータベース間の距離を計算する第2の演算手段と
を含む、情報処理装置が提供される。
【発明の効果】
【0007】
本発明によれば、トランザクションデータベース間の距離を計算することが可能となる。
【図面の簡単な説明】
【0008】
図1】情報処理システムの構成例を示した図。
図2】情報処理装置のハードウェア構成の一例を示した図。
図3】情報処理装置の機能構成の一例を示したブロック図。
図4】トランザクションデータベースに記録されるデータの一例を示した図。
図5】トランザクションデータベース間の距離の概念を説明する図。
図6】トランザクションデータベース間の距離を計算する第1の方法について説明する図。
図7】トランザクションデータベース間の距離を計算する処理の流れを示したフローチャート。
図8】トランザクションデータベース間の距離を計算する第2の方法について説明する図。
図9】計算した距離の第1の利用例について説明する図。
図10】計算した距離の第2の利用例について説明する図。
【発明を実施するための形態】
【0009】
図1は、情報処理システムの構成例を示した図である。情報処理システムは、各々が各トランザクションデータベース(TDB)を管理する複数の管理システム10と、TDB間の距離を計算する情報処理装置11とを含んで構成される。複数の管理システム10と情報処理装置11は、ネットワーク12に接続され、ネットワーク12を介して互いに通信を行う。
【0010】
ネットワーク12は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等であり、1つのネットワークであってもよいし、ルータやゲートウェイ等の中継装置により接続された2以上から構成されるネットワークであってもよい。
【0011】
管理システム10は、記憶装置を備え、記録装置内に、一連の処理をトランザクションとし、そのトランザクションにより得られる情報(トランザクションデータ)を収集するTDBを構築して管理する。
【0012】
管理システム10としては、例えば、自動車運転システム、健康診断システム、看護システム、コミュニケーションロボットシステム、ホーム管理システム等が挙げられる。なお、これらは一例であるので、これらのシステムに限定されるものではない。
【0013】
ホーム管理システムは、電気の使用料を見える化し、家電機器を自動制御するHEMS(Home Energy Management System)やIoT(Internet of Things)デバイスを用い、家電機器等から使用時間や設定温度等の情報を収集する。家電機器は、スマートフォンやタブレット端末等の情報端末を含む。このため、ホーム管理システムは、情報端末に入力された情報やWeb情報等も収集することができる。
【0014】
自動車運転システムは、ブレーキやアクセルのタイミング等の情報を収集する。健康診断システムは、身長、体重、視力等の計測結果や診断結果を収集する。看護システムは、質問紙調査による調査結果等を収集する。コミュニケーションロボットシステムは、ヒューマンインターフェースを備え、運動や会話を促し、運動による循環器の状態、運動強度の評価、語りかけに対する応答の遅延時間等の情報を収集する。
【0015】
例えば、健康診断システムの場合、1回分の健康診断を1つのトランザクションとし、身長、体重、視力等の1回分の健康診断記録をトランザクションデータとして取得し、TDBで管理する。
【0016】
情報処理装置11は、各管理システム10に対してトランザクションデータの取得を要求する。情報処理装置11は、各管理システム10から取得したトランザクションデータに基づき、TDB間の距離を計算する。計算した距離により、各家庭の生活行動等の類似性を見出すことができる。
【0017】
図2は、情報処理装置11のハードウェア構成の一例を示した図である。情報処理装置11は、一般的なコンピュータであり、CPU(Central Processing Unit)20と、ROM(Read Only Memory)21と、RAM(Random Access Memory)22と、HDD(Hard Disk Drive)23と、入出力I/F24と、通信I/F25と、バス26と、入力装置27と、表示装置28とを備える。情報処理装置11は、DVD-RW(Digital Versatile Disk Rewritable)ドライブ、メディアI/F、マイク、スピーカ等を備えていてもよい。なお、管理システム10も、情報処理装置11と同様の構成とすることができる。
【0018】
CPU20は、情報処理装置11全体の動作を制御する。ROM21は、CPU20の駆動に用いられるプログラムを記憶する。RAM22は、CPU20の作業領域を提供する。HDD23は、各種のプログラムやデータを記憶する。
【0019】
入出力I/F24は、入力装置27や表示装置28を接続するためのインターフェースである。入力装置27は、マウスやキーボード等の各種の指示、文字や数字等を入力する装置である。表示装置28は、ディスプレイ等のカーソル、ポインタ、メニュー、文字や数字、画像等を表示する装置である。
【0020】
通信I/F25は、ネットワーク12を利用してデータを通信するためのインターフェースである。バス26は、CPU20等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0021】
図3は、情報処理装置11の機能構成の一例を示したブロック図である。情報処理装置11が備える各機能は、CPU20等の処理回路により実現することができる。なお、処理回路は、プログラムにより各機能を実行するようにプログラミングされたプロセッサ、各機能を実行するように設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等を含むものとする。
【0022】
情報処理装置11は、通信部30と、抽出部31、記憶部32と、生成部33と、第1の演算部34と、第2の演算部35とを含む。通信部30は、任意のタイミングで、各管理システム10へアクセスし、各管理システム10が管理する各TDBからトランザクションデータを取得する。通信部30は、各TDBが管理するトランザクションデータを全て取得する。
【0023】
抽出部31は、各TDBに収集されたそれぞれの複数のトランザクションデータから、各TDBに対して複数のトランザクション内に所定の頻度以上で生起するアイテムの組を抽出する。ここでは、アイテムの組を、アイテム集合として参照する。
【0024】
ここで、図4を参照して、TDBに収集されるトランザクションデータについて説明する。トランザクションは、処理の単位で、複数のアイテムを含む。具体的には、トランザクションは、1回分の商品の購入履歴、1回分の健康診断記録、1回分の出張精算記録等である。アイテムは、トランザクション内の具体的な要素であり、トランザクションが1回分の購入履歴の場合、購入した個々の商品(ビール、ガム、パン、弁当等)や支払金額等である。また、1回分の健康診断記録の場合、アイテムは、身長、体重、視力等である。1回分の出張精算記録の場合、アイテムは、出張目的、出張場所、経路、経費等である。
【0025】
トランザクションデータは、例えば1回分の商品の購入履歴のデータである。このため、トランザクションデータは、1回分の商品の購入履歴に含まれる複数のアイテムの情報を含む。アイテムの情報は、アイテムが商品である場合、商品名、商品の種類、商品価格等である。
【0026】
再び図3を参照して、抽出部31は、1つのTDBから取得した複数のトランザクションデータを用い、当該1つのTDBの頻出アイテム集合を抽出する。抽出部31は、同様にして、距離を計算する対象のもう1つのTDBからも取得した複数のトランザクションデータを用い、当該もう1つのTDBの頻出アイテム集合を抽出する。頻出アイテム集合は、複数のトランザクション内に所定の頻度以上で生起するアイテム集合で、例えば幅優先探索や深さ優先探索を使用して抽出することができる。
【0027】
幅優先探索は、出発点に近い点から順に探索する方法で、例えばAprioriアルゴリズムを使用することができる。深さ優先探索は、出発点から進めるところまで進み、進めなくなったところで、一歩戻り、探索する方法で、例えばFP-growthアルゴリズムを使用することができる。これらのアルゴリズムでは、最小頻度(最小支持度)を与えて、それ以下の低頻度アイテム集合を枝刈りする。低頻度アイテムは、計算する距離への影響度が小さいため、無視する。なお、Apriorアルゴリズム、FP-growthアルゴリズムは、良く知られたアルゴリズムであるため、ここでは詳述しない。
【0028】
ちなみに、最小頻度を変更すると、計算する距離が変動する。このため、複数のTDB間の距離を比較する際、最小頻度を同条件にする必要がある。
【0029】
抽出部31は、抽出した頻出アイテム集合を、同時に生起するアイテム集合(同時生起アイテム集合)もしくは特徴として記憶部32に記憶させる。頻出アイテム集合は、{ビール、おむつ}等の複数のアイテムの組み合わせである。
【0030】
生成部33は、各TDBに対して抽出部31により抽出された頻出アイテム集合の和集合を生成する。TDB1とTDB2の2つのTDBがあり、それぞれにつき1以上の頻出アイテム集合が抽出された場合、和集合は、TDB1とTDB2の一方、または両方から抽出された頻出アイテム集合の全体からなる集合である。したがって、和集合には、TDB1のみから抽出された頻出アイテム集合も含まれるし、TDB2のみから抽出された頻出アイテム集合も含まれるし、TDB1とTDB2の両方から抽出された頻出アイテム集合も含まれる。和集合に含まれる頻出アイテム集合は、TDBを識別する識別情報(例えば、TDB1等)を対応付けて記憶部32に記憶される。
【0031】
第1の演算部34は、記憶部32に記憶された情報を参照し、各TDBにつき、生成された和集合に含まれる頻出アイテム集合を含むトランザクションの割合を計算する。割合は、通信部30により取得されたトランザクションデータを用い、TDBに収集された全トランザクションデータが示す全トランザクションに対する、その頻出アイテム集合が生起する確率として計算される。第1の演算部34は、計算された生起確率を特徴量として、TDBの識別情報と、特徴としての頻出アイテム集合とに対応付けて記憶部32に記憶させる。
【0032】
第2の演算部35は、各TDBに対して計算された特徴量を用いて、TDB間の距離を計算する。2つのTDBがTDB1とTDB2である場合、第2の演算部35は、TDB1とTDB2との間の距離を計算する。
【0033】
図5は、TDB間の距離の概念を説明する図である。ここでは、各店舗にTDBがあり、複数の顧客の購入履歴をトランザクションデータとして格納している。ここでは、3つの店舗A~Cがあり、店舗Aと店舗B、店舗Aと店舗CのTDB間の距離について説明する。
【0034】
店舗A~Cは、同様の商品を扱っており、商品として「ビール」、「おむつ」、「新聞」、「コーヒー」、「お茶」等を販売している。店舗Aでは、1回分の購入履歴において、「ビール」と「おむつ」、「新聞」と「お茶」を両方とも購入する顧客が所定の人数(頻度)以上存在する。
【0035】
店舗Bでは、1回分の購入履歴において「ビール」と「おむつ」、「新聞」と「コーヒー」を両方とも購入する顧客が所定の頻度以上存在する。店舗Cでは、1回分の購入履歴において「ビール」と「おむつ」、「新聞」と「コーヒー」を両方とも購入する顧客が所定の頻度以上存在する。
【0036】
図5(a)に示すように、店舗Aについては、頻出アイテム集合として{ビール、おむつ}、{新聞、お茶}が抽出され、店舗Bについては{ビール、おむつ}、{新聞、コーヒー}が抽出され、店舗Cについては{ビール、おむつ}、{新聞、お茶}が抽出される。
【0037】
抽出された頻出アイテム集合は、所定の頻度以上であることから、高頻度である。一方、抽出されないアイテム集合は、所定の頻度未満であることから、低頻度である。
【0038】
店舗同士を比較するにあたって、比較対象となるアイテム集合は全体において共通していなければならない。そこで、店舗A~Cについて抽出された頻出アイテム集合全体の和集合をとる。すると、和集合、すなわち共通アイテム集合全体は{ビール、おむつ}、{新聞、コーヒー}、{新聞、お茶}となる。
【0039】
図5(b)に示すように、店舗Aに対しては、{ビール、おむつ}、{新聞、お茶}が高頻度、{新聞、コーヒー}が低頻度となる。店舗Bに対しては、{ビール、おむつ}、{新聞、コーヒー}が高頻度、{新聞、お茶}が低頻度となる。店舗Cに対しては、{ビール、おむつ}、{新聞、お茶}が高頻度、{新聞、コーヒー}が低頻度となる。
【0040】
店舗Aと店舗B、店舗Aと店舗Cのそれぞれの結果を比較すると、店舗Aと店舗Bは、3つの特徴のうち1つのみ、すなわち{ビール、おむつ}のみが高頻度で一致しており、他の2つの特徴は一致していない。これに対し、店舗Aと店舗Cは、3つの特徴のいずれも同じ結果となっている。このことから、店舗Aと店舗Bとの間より、店舗Aと店舗Cとの間のほうが、顧客購買行動が類似しており、類似性を示す距離が近いと判断することができる。
【0041】
図5(b)に示す例では、店舗Aと店舗Bとの間の距離は(店舗Aと店舗Cとの間の距離に比較して)遠く、店舗Aと店舗Cとの間の距離は(店舗Aと店舗Bとの間の距離に比較して)近いという結果になっている。
【0042】
図5に示した例では、単に特徴量を高頻度、低頻度で表し、高頻度として一致する特徴の数を比較し、距離が遠いか近いかを判断している。しかしながら、数値を使用して表したほうが、距離がどの程度離れているのか、どれだけ近いのかを定量的に表すことができる。
【0043】
そこで、以下の方法により2つのトランザクションデータベースDBα、DBβ間の距離を計算する。
(A) DBαから抽出された頻出アイテム集合全体をFα、DBβから抽出された頻出アイテム集合全体をFβとする。
(B) 共通の頻出アイテム集合全体を和集合F={FαUFβ}として作成する。ただし、Fはk(kは自然数)個の頻出アイテム集合を有し、F={f、f、…、f}である。
(C) DBα、DBβのそれぞれに対して和集合Fから各頻出アイテム集合の頻度Pを計算し、頻度集合Pα、Pβをそれぞれ作成する。頻度Pは、下記式1を使用して計算する。Pα={Pα1、Pα2、…、Pαk}、Pβ={Pβ1、Pβ2、…、Pβk
(D) 和集合Fがk個の頻出アイテム集合を有する場合、DBαとDBβ間の距離Dを、下記式2を使用して計算する。
【0044】
【数1】
【0045】
【数2】
【0046】
図6は、トランザクションデータベースTDB1、TDB2間の距離の具体的な計算方法を説明する図である。上記(A)、(B)により、和集合Fを作成する。図6に示す例では、和集合Fが有する個々の頻出アイテム集合(同時生起アイテム集合)fが{ビール、おむつ}、{新聞、コーヒー}、{新聞、お茶}である。
【0047】
上記(C)により、TDB1につき、個々の頻出アイテム集合の頻度を計算する。頻度は、頻出アイテム集合を構成するアイテムが同時に生起する確率(同時生起確率)として、上記式1により計算される。全トランザクションの数は、TDB1に収集された全トランザクションデータに対応する全トランザクションの数である。TDB1に収集された購入履歴が1000個あれば、全トランザクションデータの数は1000個であり、全トランザクション数は1000である。同様にして、TDB2についても、個々の頻出アイテム集合の頻度を計算する。
【0048】
上記(D)により、上記式2を使用して計算する。具体的には、TDB1とTDB2で同じ頻出アイテム集合同士、同時生起確率の差の絶対値を計算する。各頻出アイテム集合につき計算した絶対値を合計し、TDB1とTDB2との間の距離Dを算出する。図6に示す例では、距離が0.025と算出される。
【0049】
ここで、距離に関して、簡単にその定義を説明しておく。関数dが下記の距離の公理を満たす場合、擬距離と定義される。
(i) 非負性:d(x,y)≧0
(ii) 対称性:d(x,y)=d(y,x)
(iii) 三角不等式:d(x,y)+d(y,z)≧d(x,z)
さらに、下記の条件を満たす場合、距離と呼ばれる。ただし、擬距離も距離の公理を満たすため、一般的には包括して距離と表現される。
(iv) 非退化性:x=y→d(x,y)=0かつd(x,y)=0→x=y
【0050】
上記(D)により計算される距離Dは、絶対値の合計として正の値として算出されるため、上記(i)の要件は満たす。また、共通の頻出アイテム集合を使用し、差の絶対値として計算されることから、入れ替えても同じ値が得られ、上記(ii)の要件も満たす。さらに、x=y=zのときにd(x,y)+d(y,z)=d(x,z)であり、上記(i)の非負性を満たすことから、x、y、zが異なる値の場合、d(x,y)+d(y,z)>d(x,z)となり、上記(iii)の要件も満たす。
【0051】
また、上記式1よりx=yの場合、d(x,y)=0が成立する。すなわち、Pα1とPβ1、Pα2とPβ2、…、PαkとPβkがそれぞれ同じ値であれば、D=0となる。しかしながら、その逆のd(x,y)=0の場合、x=yが成立しないことがある。例えば、所定の頻度未満として抽出されないアイテム集合の頻度がTDB1とTDB2で異なる場合である。したがって、上記(D)により計算される距離Dは、正確には擬距離と定義されるが、距離の公理である上記(i)~(iii)の要件を満たすことから、距離と表現することができる。
【0052】
図7は、TDB間の距離を計算する処理の流れを示したフローチャートである。TDB間の距離計算は、所定の時間間隔で、または任意の時間に開始することができる。所定の時間間隔としては、1日ごと、1週間ごと、1か月ごとなどである。任意の時間は、システムの管理者が指定した時間などである。この処理は、ステップ100から開始する。
【0053】
ステップ101では、通信部30が、計算対象の2つのTDBからトランザクションデータを取得する。ここでは、計算対象を2つのTDB間の距離としているが、3つ以上のTDB間のそれぞれの距離を計算するため、3つ以上のTDBからトランザクションデータを取得してもよい。各TDBから取得するトランザクションデータは、所定の時間間隔で距離計算を行う場合は、前回の計算から今回の計算までに収集されたトランザクションデータとすることができる。管理者が時間を指定する場合も同様に、前回指定した時間から今回の時間までに収集されたトランザクションデータとすることができる。これらは一例であるので、TDBに収集された全トランザクションデータ等であってもよい。そして、各TDBから取得したそれぞれのトランザクションデータから、各TDBにつきアイテム集合を取得する。
【0054】
ステップ102では、抽出部31が、各TDBにつき取得したアイテム集合から、各TDBにつき頻出する同時生起アイテム集合を抽出する。ステップ103では、生成部33が、各TDBにつき抽出された同時生起アイテム集合全体として和集合を生成する。このとき、生成部33は、和集合の要素である同時生起アイテム集合を、記憶部32が管理する、図6に示したテーブルの同時生起アイテム集合の欄に入力し、記憶させることができる。
【0055】
ステップ104では、第1の演算部34が、比較する対象のTDBの全てにつき、和集合に関する同時生起確率を計算したかを判断する。計算していない場合、ステップ105へ進み、未計算のTDBを選択する。そして、ステップ106では、第1の演算部34が、選択したTDBにつき、和集合の各同時生起アイテム集合の同時生起確率を計算する。ステップ107では、第1の演算部34が、計算した各同時生起確率を各同時生起アイテム集合に関連付けて記憶部32に記憶させる。すなわち、図6に示したテーブルの同時生起確率の欄に入力し、記憶させる。そして、ステップ104へ戻る。
【0056】
ステップ104でTDBの全てにつき、同時生起確率を計算した場合、ステップ108へ進み、第2の演算部35が、記憶部32に記憶された情報を参照し、各TDBに対して同じ同時生起アイテム集合に関連付けられた同時生起確率を取得し、取得した同時生起確率の差の絶対値を計算する。第2の演算部35は、記憶部32に記憶された同時生起アイテム集合の全てにつき、同時生起確率の差の絶対値を計算した後、ステップ109へ進み、その合計値を計算することにより距離を計算する。
【0057】
計算結果は、表示装置28に数値として表示してもよいし、図5(b)に示すような別のTDB間の距離と比較する形で表示してもよい。なお、計算結果を出力する場合、表示に限定されるものではなく、紙に印刷して出力してもよいし、音声で出力してもよい。出力後、ステップ111へ進み、処理を終了する。
【0058】
これまでに説明してきた方法では、頻出アイテム集合の頻度(アイテムの同時生起確率)を用いて距離を計算した。距離の精度を向上させるためには、その他のパラメータも使用して距離を計算することが望ましい。そこで、相関ルールを特徴量として使用し、頻度に加え、他のパラメータとして確信度を追加する。以下に、相関ルールを特徴量として距離を計算する方法について説明する。
【0059】
相関ルールは、互いに同じ要素を含まないアイテム集合XとYの関係が「Xを含むトランザクションにはYも高頻度で含む」という同時性や関係性が強い事象の組み合わせを表したものである。「Xを含むトランザクションにはYも高頻度で含む」という相関ルールは、下記式3のように表される。
【0060】
【数3】
【0061】
相関ルールを表す上記式3中、矢印の左側部分(Xの部分)は、条件部(前提部)と呼ばれ、矢印の右側部分(Yの部分)は、帰結部(結論部)と呼ばれる。相関ルールにおいて全てのアイテムを含むトランザクションの割合は、支持度と呼ばれる。支持度は、上記の同時生起確率と同様のものである。
【0062】
また、Xを含むトランザクションに対するXとYを両方含むトランザクションの割合は、確信度Cと呼ばれ、下記式4のように表される。この例では、支持度に加えて、確信度も使用して距離を計算する。
【0063】
【数4】
【0064】
各トランザクションデータベースTDB1、TDB2につき、頻出アイテム集合を抽出した後、全ての頻出アイテム集合の全ての部分集合の組み合わせに関して、相関ルールを抽出する。
【0065】
ここで、相関ルールを用いて距離を計算する方法について説明する。DBαから{ビール、おむつ}、{新聞、お茶}が頻出アイテム集合として抽出され、DBβから{ビール、おむつ}、{新聞、コーヒー}が頻出アイテム集合として抽出されたとする。
【0066】
DBαについての頻出アイテム集合の全ての部分集合の組み合わせは、「ビール」と「おむつ」、「新聞」と「お茶」になる。これらを用いて相関ルールを抽出すると、「ビールを購入した人は高頻度でおむつを購入する」という{ビール}⇒{おむつ}、{新聞}⇒{お茶}の2つが相関ルール集合として抽出される。なお、{おむつ}⇒{ビール}は、{ビール}⇒{おむつ}と同義であり、{お茶}⇒{新聞}は、{新聞}⇒{お茶}と同義である。DBβについても同様にして、相関ルール集合が抽出される。
【0067】
(a) DBαから抽出された相関ルール集合全体をRαとし、DBβから抽出された相関ルール集合全体をRβとする。
(b) 共通の相関ルール集合全体を和集合R={RαURβ}として作成する。ただし、Rはk(kは自然数)個の相関ルール集合を有し、R={r、r、…、r}である。
(c) DBα、DBβのそれぞれに対して和集合Rから各相関ルール集合の支持度を計算し、支持度集合Sα、Sβをそれぞれ作成する。Sα={Sα1、Sα2、…、Sαk}、Sβ={Sβ1、Sβ2、…、Sβk
(d) 同様に、DBα、DBβのそれぞれに対して和集合Rから各相関ルール集合の確信度を計算し、確信度集合Cα、Cβをそれぞれ作成する。Cα={Cα1、Cα2、…、Cαk}、Cβ={Cβ1、Cβ2、…、Cβk
(e) 和集合Rがk個の頻出アイテム集合を有する場合、DBαとDBβ間の距離を、下記式5を使用して計算する。
【0068】
【数5】
【0069】
図8は、TDB1とTDB2との間の距離の具体的な計算方法を説明する図である。上記(a)、(b)により、共通の相関ルール集合全体として和集合を作成する。相関ルールは、頻出アイテム集合を抽出し、頻出アイテム集合から抽出することができる。具体的には、頻出アイテム集合として{ビール、おむつ}、{新聞、お茶}が抽出された場合、全ての頻出アイテム集合の全ての部分集合の組み合わせ、すなわち「ビール」と「おむつ」、「新聞」と「お茶」に関して相関ルールを抽出する。
【0070】
「ビール」を購入する人は高頻度で「おむつ」を購入するという関係を導き出すことができることから、相関ルールとして、{ビール}⇒{おむつ}が抽出される。同様に、{新聞}⇒{お茶}が抽出される。
【0071】
図8に示す例では、TDB1からは相関ルールとして{ビール}⇒{おむつ}、{新聞}⇒{お茶}が抽出され、TDB2からは相関ルールとして{ビール}⇒{おむつ}、{新聞}⇒{コーヒー}が抽出される。和集合Rは、{ビール}⇒{おむつ}、{新聞}⇒{コーヒー}、{新聞}⇒{お茶}の3つの相関ルールが含まれる。
【0072】
上記(c)により、TDB1につき、個々の相関ルール中の頻出アイテムの全てを含むトランザクションの割合を支持度として計算する。支持度は、同時生起確率と同様のものである。同時生起確率の計算方法については既に説明したので、ここでは説明を省略する。同様にして、TDB2についても、支持度を計算する。
【0073】
上記(d)により、TDB1につき、個々の相関ルール中の条件部の頻出アイテム集合の頻度を計算し、その相関ルール中の頻出アイテムの全てを含むトランザクションの割合(支持度)を用いて、確信度を計算する。
【0074】
上記(e)により、TDB1とTDB2で同じ相関ルール集合同士、支持度の差の絶対値、確信度の差の絶対値をそれぞれ計算する。各相関ルール集合につき計算した絶対値を合計し、TDB1とTDB2との間の距離Dを算出する。図8に示す例では、距離が0.175と算出される。
【0075】
計算される距離は、その数値のみではどの程度離れているか、もしくは近いかは分からない。2組以上のトランザクションデータベース間の距離を計算することで、一方の距離を基準とし、他方の距離がどの程度離れているか、もしくは近いかを相対的に評価することができる。
【0076】
このようにして、アイテムが同時に生起するトランザクションのデータを収集したトランザクションデータベースが複数存在する場合に、トランザクションデータベース間の距離を計算することができる。トランザクションデータベースは、データベースの1つの形式で、店舗における顧客の商品購入履歴、スマートホームにおける生活者の行動履歴、教育分野での各教室の学生の定性的な属性の管理等に使用されている。このため、商品購入履歴等のデータをグルーピングし、知識を発見するビッグデータ解析として、データサイエンスや人工知能の分野に適用することができる。
【0077】
本発明によれば、距離の計算により類似するトランザクションデータベースを検出することができる。検出されたトランザクションデータベースは、顧客の商品購入や行動の傾向が類似していることから、数か月後や数年後にどのようになるかという未来状態予測や、同じような行動をとることにより健康を維持する等の類似性発見に活用することができる。
【0078】
本システムの適用例について、図9および図10を参照して説明する。図9は、同店舗の売上傾向の類似性を推定するシステムとして利用する場合の例である。同じ系列店では、同様の商品を扱うが、営業地域で販売傾向が異なる。各店舗のTDBは、顧客の商品購入履歴をトランザクションデータとして収集する。情報処理装置11は、各店舗のTDBからトランザクションデータを取得し、各TDB間の距離を計算する。
【0079】
A店のTDBとB店のTDBとの距離が遠く、A店のTDBとC店のTDBとの距離が近いという結果が得られた場合、A店は、B店よりC店のほうが顧客の購買傾向が似ていると言える。A店は、B店よりC店のノウハウを利用し、売上を向上させることができる。
【0080】
図10は、類似生活行動者のグルーピングを行うシステムとして利用する場合の例である。この例では、生活を分析し、類似の高齢者を発見する。各家庭では、家族構成、生活時間、使用家電等がそれぞれ異なる。各家庭のTDBは、家族情報や家電の操作履歴等をトランザクションデータとして収集する。家族情報は、家族の人数、年齢、住居の場所、自家用車等の移動手段の有無、1日に歩く歩数等を含む。家電は、照明、エアコン、テレビ、空気清浄機、家庭用蓄電池、太陽光発電システム、給湯器、電力・ガス・水道メータ、パーソナルコンピュータ(PC)、スマートフォン、ウェアラブルデバイス、電気自動車等である。操作履歴は、照明の点灯や消灯時刻、エアコンの設定温度、テレビの電源ON、OFFの時刻、空気清浄機の動作記録、家庭用蓄電池や太陽光発電システムによる充放電記録、給湯器の動作時刻、電力・ガス・水道の1日毎の使用量のグラフ形状、PCやスマートフォンの利用時間、ウェアラブルデバイスのヘルスモニタデータ、電気自動車の充放電記録等を含む。トランザクションデータは、操作履歴として機器から取得するデータ以外に、メールやWeb等のアンケートで取得する生活情報を含む。
【0081】
家族情報は、各家庭のPC等を使用して入力することにより、TDBに記憶させることができる。操作履歴は、家電デバイスが備えるセンサー等から取得し、TDBに記憶させることができる。
【0082】
情報処理装置11は、各家庭のTDBからトランザクションデータを取得し、各TDB間の距離を計算する。
【0083】
A家のTDBとB家のTDBとの距離が遠く、A家のTDBとC家のTDBとの距離が近いという結果が得られた場合、A家は、B家よりC家のほうが暮らしの傾向が似ていると言える。A家は、B家よりC家から知見を得て、高齢者の見守りや未病へ活用することができる。
【0084】
これまで本発明の情報処理装置、情報処理システムおよびプログラムについて上述した実施形態をもって詳細に説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0085】
10…管理システム
11…情報処理装置
12…ネットワーク
20…CPU
21…ROM
22…RAM
23…HDD
24…入出力I/F
25…通信I/F
26…バス
27…入力装置
28…表示装置
30…通信部
31…抽出部
32…記憶部
33…生成部
34…第1の演算部
35…第2の演算部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10