(57)【要約】  必ずしも数値的な意味を持たない任意のデータを一般化する際に、情報損失を低減させる一般化階層の集合を生成する技術を提供する。一般化対象データ集合と一般化階層集合（当該一般化階層集合は、一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）に対して、所定の性質を満たす第２一般化階層集合を生成する第２生成部を含み、Mを一般化階層集合に含まれる一般化階層の長さの最大値、Dを1以上M以下の所定の整数、D’をD以上M以下の所定の整数とし、第２一般化階層集合は、一般化階層の第d層（0≦d≦D-1）のデータは同一のデータであり、一般化階層の長さはD’であり、第D’-1層のデータは一般化対象データ集合の要素であるという性質を満たすものである。
2020179606.tif 000002
【特許請求の範囲】
【請求項１】
一般化対象データを要素とする一般化対象データ集合と一般化階層を要素とする一般化階層集合（ただし、当該一般化階層集合は、前記一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）から、前記一般化階層集合の部分集合である第１一般化階層集合を生成する第１生成部と、
前記一般化対象データ集合と前記第１一般化階層集合から、第２一般化階層集合を生成する第２生成部と、
を含む一般化階層集合生成装置であって、
Mを前記一般化階層集合に含まれる一般化階層の長さの最大値を表す1以上の整数とし、
前記第１一般化階層集合は、
当該第１一般化階層集合に含まれる任意の一般化階層は、前記一般化対象データ集合に含まれる一般化対象データを少なくとも１つ含むという性質と、
Dを1以上M以下の所定の整数とし、
0≦d≦D-1を満たすdに対して当該第１一般化階層集合に含まれる一般化階層の第d層のデータは同一のデータであり、当該第１一般化階層集合に含まれる一般化階層の第D-1層から第M-1層までのデータを要素とする集合は前記一般化対象データ集合を含むという性質とを満たすものであり、
前記第２一般化階層集合は、
D’をD以上M以下の所定の整数とし、
当該第２一般化階層集合に含まれる一般化階層の長さはD’であり、当該第２一般化階層集合に含まれる一般化階層の第D’-1層のデータは前記一般化対象データ集合の要素であるという性質を満たすものである
一般化階層集合生成装置。
【請求項２】
一般化階層集合生成装置が、一般化対象データを要素とする一般化対象データ集合と一般化階層を要素とする一般化階層集合（ただし、当該一般化階層集合は、前記一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）から、前記一般化階層集合の部分集合である第１一般化階層集合を生成する第１生成ステップと、
前記一般化階層集合生成装置が、前記一般化対象データ集合と前記第１一般化階層集合から、第２一般化階層集合を生成する第２生成ステップと、
を含む一般化階層集合生成方法であって、
Mを前記一般化階層集合に含まれる一般化階層の長さの最大値を表す1以上の整数とし、
前記第１一般化階層集合は、
当該第１一般化階層集合に含まれる任意の一般化階層は、前記一般化対象データ集合に含まれる一般化対象データを少なくとも１つ含むという性質と、
Dを1以上M以下の所定の整数とし、
0≦d≦D-1を満たすdに対して当該第１一般化階層集合に含まれる一般化階層の第d層のデータは同一のデータであり、当該第１一般化階層集合に含まれる一般化階層の第D-1層から第M-1層までのデータを要素とする集合は前記一般化対象データ集合を含むという性質とを満たすものであり、
前記第２一般化階層集合は、
D’をD以上M以下の所定の整数とし、
当該第２一般化階層集合に含まれる一般化階層の長さはD’であり、当該第２一般化階層集合に含まれる一般化階層の第D’-1層のデータは前記一般化対象データ集合の要素であるという性質を満たすものである
一般化階層集合生成方法。
【請求項３】
請求項１に記載の一般化階層集合生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化技術に関する。
【背景技術】
【０００２】
個人に関する情報であるパーソナルデータを匿名化する技術の一つとして、一般化（抽象化ともいう）という技術がある。一般化技術では、一般化を実現するために一般化階層を定義する必要がある。ここで、一般化階層とは、最も抽象度の低いデータから最も抽象度の高いデータまでの間に段階的に抽象化された0個以上の中間的なデータを含むデータの階層構造のことをいう。図１は、一般化階層を要素とする一般化階層集合の一例を示す。図１の各行がそれぞれ一般化階層を表す。例えば、１行目は、“りんご→果物→食べ物→飲食品→*(ANY)”という一般化階層を示している。この一般化階層において抽象度が最も低いデータが“りんご”であり、“りんご”の次に抽象度が低いデータが“果物”である。なお、“*(ANY)”はすべてのデータに対して最上位に位置するデータ（抽象度が最も高いデータ）を表す。また、一般化の対象となるデータ（以下、単に一般化対象データという）を要素とする集合を一般化対象データ集合という。例えば、{りんご，みかん，お茶，ブーツ}は、“りんご”，“みかん”，“お茶”，“ブーツ”を要素とする一般化対象データ集合である。図１の一般化階層集合を用いて、一般化対象データ集合{りんご，みかん，お茶，ブーツ}を一般化することにより、例えば、一般化されたデータの組“食べ物，食べ物，飲み物，靴”が得られる。また、一般化階層に含まれるデータの数を一般化階層の長さという。例えば、図１の１行目の一般化階層の長さは5となる。【０００３】
従来、一般化前のデータと一般化後のデータの差である情報損失を低減させるような一般化階層の作成方法が提案されてきた。ここで、一般化階層は、例えば、非特許文献１に記載のk-匿名化のようなプライバシ保護技術で利用されるものである。また、一般化前のデータと一般化後のデータの差である情報損失を低減させるような一般化階層とは、一般化する前のデータと当該一般化階層を用いて一般化した後のデータの意味や性質が大きく異ならないようにすることができる一般化階層のことである。従来の一般化階層の作成方法は、大きく分けて、“頻度を利用した方法”（非特許文献２）と“頻度と数値情報を利用した方法”（非特許文献２、非特許文献３）に分類される。このどちらの方法も頻度が少ないものから順にグルーピングすることで抽象化して一般化階層を作成する。そのため、非特許文献１にあるようなプライバシ保護技術で利用すると、データ次第ではあるが、比較的多くのデータの一般化を避けてプライバシ保護を可能にする。したがって、過度の一般化を避けるという点において、情報損失を低減させる効果がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Latanya Sweeney, “Achieving k-anonymity privacy protection using generalization and suppression”, International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, Vol.10, Issue 5, pp.571-588, 2002.
【非特許文献２】原田邦彦，佐藤嘉則，“一般化階層木の自動生成と情報エントロピーによる歪度評価を伴うk-匿名化手法”，研究報告コンピュータセキュリティ（CSEC），2010-CSEC-50(47)，pp.1-7，2010．
【非特許文献３】K. LeFevre, D.J. DeWitt, R. Ramakrishnan, “Mondrian Multidimensional K-Anonymity”, In 22nd International Conference on Data Engineering (ICDE'06), pp.25, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の方法では、数値的な意味を持たないデータに対して、頻度以外の情報に基づいて一般化階層を作成することができないし、データ次第では多大な情報損失を引き起こすこともありうる。“頻度と数値情報を利用した方法”は、年齢や身長のような数値的な意味を持つ一般化対象データの集合に適した一般化技術である。しかし、“頻度と数値情報を利用した方法”は、図１の”りんご”や”みかん”のような数値では表すことのできない一般化対象データの集合に対しては適用することができない。また、“頻度を利用した方法”は、数値的な意味を持たない一般化対象データ集合に適用することが可能であるが、頻度のみを利用するため、概念的な意味や性質が大きく異なるデータのグルーピングによる一般化階層が作成される恐れがある。したがって、“頻度を利用した方法”で得られる一般化階層による一般化では、データ次第では概念的な意味において不自然な一般化が起こり得る。【０００６】
なお、自然言語処理の分野などで用いられているシソーラス（概念体系、分類体系(Taxonomy)、オントロジーなどを含む）に基づいて一般化階層を作成することも考えられるが、多くのシソーラスがis-a関係と呼ばれる概念（あるいは単語）の親子関係のみで規定されているため、is-a関係を単純に利用してシソーラスから一般化階層を作成しようとすると、矛盾のある一般化階層が作成されてしまう可能性がある。例えば、図２のシソーラスから図３の一般化階層集合を作成することができるが、図３において網掛けになっている行は矛盾を含む一般化階層となっている。つまり、数値的な意味を持たないデータに対する一般化階層をシソーラスから作成することも容易ではない。【０００７】
そこで本発明は、必ずしも数値的な意味を持たない任意のデータを一般化する際に、情報損失を低減させる一般化階層の集合を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、一般化対象データを要素とする一般化対象データ集合と一般化階層を要素とする一般化階層集合（ただし、当該一般化階層集合は、前記一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）から、前記一般化階層集合の部分集合である第１一般化階層集合を生成する第１生成部と、前記一般化対象データ集合と前記第１一般化階層集合から、第２一般化階層集合を生成する第２生成部とを含み、Mを前記一般化階層集合に含まれる一般化階層の長さの最大値を表す1以上の整数とし、前記第１一般化階層集合は、当該第１一般化階層集合に含まれる任意の一般化階層は、前記一般化対象データ集合に含まれる一般化対象データを少なくとも１つ含むという性質と、Dを1以上M以下の所定の整数とし、0≦d≦D-1を満たすdに対して当該第１一般化階層集合に含まれる一般化階層の第d層のデータは同一のデータであり、当該第１一般化階層集合に含まれる一般化階層の第D-1層から第M-1層までのデータを要素とする集合は前記一般化対象データ集合を含むという性質とを満たすものであり、前記第２一般化階層集合は、D’をD以上M以下の所定の整数とし、当該第２一般化階層集合に含まれる一般化階層の長さはD’であり、当該第２一般化階層集合に含まれる一般化階層の第D’-1層のデータは前記一般化対象データ集合の要素であるという性質を満たすものである。
【発明の効果】
【０００９】
本発明によれば、必ずしも数値的な意味を持たない任意のデータを一般化する際に、情報損失を低減させる一般化階層の集合を生成することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】一般化階層集合の一例を示す図である。
【図２】シソーラスの一例を示す図である。
【図３】図２のシソーラスから生成した、矛盾のある一般化階層を含む一般化階層集合の一例を示す図である。
【図４】一般化階層集合生成アルゴリズムの入力の一例を示す図である。
【図５】一般化階層集合生成アルゴリズムの出力の一例を示す図である。
【図６】抽出アルゴリズムの一例を示す図である。
【図７】関数Eの一例を示す図である。
【図８】整形アルゴリズムの一例を示す図である。
【図９】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１０】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１１】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１２】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１３】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１４】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１５】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１６】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１７】抽出アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図１８】抽出アルゴリズムの実行の様子を示す探索木の一例を示す図である。
【図１９】整形アルゴリズムの入力の一例を示す図である。
【図２０】整形アルゴリズムの実行過程で得られるデータの一例を示す図である。
【図２１】整形アルゴリズムの出力の一例を示す図である。
【図２２】実験で入力とした一般化対象データ集合を示す図である。
【図２３】実験で出力として得られた一般化階層集合を示す図である。
【図２４】一般化階層集合生成装置１００の構成の一例を示すブロック図である。
【図２５】一般化階層集合生成装置１００の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
各実施形態の説明に先立って、この明細書における表記方法について説明する。
【００１３】
^（キャレット）は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_（アンダースコア）は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
【００１４】
ある文字xに対する^xや~xのような上付き添え字の”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、^xや~xと記載しているものである。
【００１５】
＜技術的背景＞
《定義》
まず、いくつかの用語を定義する。一般化対象となるデータのことを一般化対象データという。また、データを抽象度が低い順（または高い順）に並べたものを一般化階層という。また、一般化階層に含まれるデータの数を一般化階層の長さという。一般化階層集合に含まれる一般化階層の長さの最大値を一般化階層集合の長さという。一般化階層において、最上位のデータである“*(ANY)”の位置を第0層、最上位のデータの次に抽象度が高いデータの位置を第1層、…という。したがって、長さがMの一般化階層には、第0層から第M-1層までのデータが含まれると言える。例えば、図１の一般化階層集合の長さは5であり、１行目の一般化階層“りんご→果物→食べ物→飲食品→*(ANY)”において、第2層のデータは“食べ物”であり、第4層のデータは“りんご”である。
【００１６】
《問題の定式化》
次に、問題を定式化する。一般化対象データを要素とする一般化対象データ集合と、一般化階層を要素とする一般化階層集合（ただし、当該一般化階層集合は、一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）とを入力とし、以下の条件を満たす一般化階層集合を生成し、出力することを考える。なお、一般化対象データ集合に含まれる一般化対象データ、一般化階層集合に含まれる一般化階層を構成するデータが、数値的な意味を持つか否かは問わない。
（条件）一般化対象データ集合に含まれる任意の一般化対象データに対して、一般化対象データと当該一般化対象データを一般化したデータの差である情報損失を小さく抑える。
【００１７】
《一般化階層集合生成アルゴリズム》
以下、上記問題を解く一般化階層集合生成アルゴリズムについて説明する。一般化階層集合生成アルゴリズムは、抽出アルゴリズムと整形アルゴリズムから構成される。また、抽出アルゴリズムは関数Eを用いる。抽出アルゴリズムは、深さ優先探索(Depth First Search, DFS)を用いて、一般化対象データの共通上位概念が多い一般化階層集合を生成するものであり、整形アルゴリズムは、抽出アルゴリズムにより生成した一般化階層集合を一般化対象データにとって相応しい形式に整形した一般化階層集合を生成する。
【００１８】
最初に、一般化階層集合生成アルゴリズムの記述に用いる記法について説明する。なお、一般化階層集合生成アルゴリズムで用いる配列の添え字はすべて0から開始するものとする。
【００１９】
Lを一般化対象データ集合に含まれる一般化対象データの数を表す1以上の整数とし、一般化対象データの配列をaとすると、aはL×1の配列となる。また、Mを一般化階層集合の長さを表す1以上の整数、Nを一般化階層集合に含まれる一般化階層の数を表す1以上の整数とし、一般化階層の配列をXとすると、XはN×Mの配列となる。図４は、一般化階層集合生成アルゴリズムの入力である一般化対象データ集合（一般化対象データの配列a）、一般化階層集合（一般化階層の配列X）を表す。配列Xの行として格納する一般化階層は、添字番号が小さいほど抽象度が高いデータ、大きいほど抽象度が低いデータとなるように格納するものとする。このため、配列Xの各行の0番目の要素には必ず最上位のデータである“*(ANY)”が格納される。また、一般化階層に含まれるデータは添字番号が小さい方から順に詰めて格納されるものとする。このため、一般化階層の長さがMより小さい場合は、添字番号がM-1になるまでの余った要素に何も無いことを表す“NULL”を格納するものとする。例えば、図４の配列Xの0行目は、格納する一般化階層“果物→食べ物→飲食品→*(ANY)”の長さが4であるため、X(0, 4), X(0, 5)には“NULL”が格納される。
【００２０】
抽出アルゴリズムは、配列aと配列Xと長さMを入力とし、一般化階層の配列の配列Cを出力する。また、整形アルゴリズムは、配列aと配列Cと長さMを入力とし、一般化階層（一般化階層を表す文字列）の配列の配列Sを出力する。図５は、一般化階層集合生成アルゴリズムの出力、すなわち抽出アルゴリズムの出力である配列Sを示したものである。
【００２１】
Aを２次元配列とし、配列Aの行の添字番号をi、列の添字番号をjとするとき、配列Aの(i,j)要素をA(i,j)と表記する。また、配列Aのi番目の行をA(i,:)、配列Aのj番目の列をA(:,j)と表記する。
【００２２】
Aを一般化階層を行として格納している２次元配列（一般化階層の配列）とし、関数uniq(A(:,j))は、配列Aのj番目の列A(:,j)において、重複している要素と“NULL”である要素を取り除いた要素の集合を返す関数である。また、関数list(u, A(:,j))は、配列Aの(i,j)要素A(i,j)=uであるときの添字番号iの集合を返す関数である。
【００２３】
配列Aに対して定義される関数A.add(B)は、配列Aが配列の配列である場合、配列Bを追加し、配列Aが要素の配列である場合、要素Bを追加する関数である。
【００２４】
図６〜図８は、それぞれ抽出アルゴリズム、関数E、整形アルゴリズムを示す図である。なお、図８中のO~C_pは配列C内のp番目の要素である配列~Cpの行の数を表す。
【００２５】
図６の抽出アルゴリズムは、配列aと配列Xと長さMを入力とし、配列Cを出力する。図９は配列Xを示す図であり、網掛けされている箇所は配列aの要素であることを示す。抽出アルゴリズムのステップ１において、図９で“←削除”とマーキングされている行が特定され、当該行が削除され配列Yが生成される。
【００２６】
抽出アルゴリズムのステップ２において、関数Eがj=1, ~Cp=Y, C=[ ] , M=Mとして呼び出される。なお、関数Eは、与えられた~Cpから下記の２つの条件を満たす一般化階層の集合を抽出し、配列Cとして出力する関数である。
（条件１）0列目から指定されるj列目までの概念の並びが等しい。
（条件２）配列aのすべての要素（つまり、一般化対象データ集合のすべての一般化対象データ）を含む。
【００２７】
関数Eのステップ４において、j=1のとき、U={飲食品，本，機械}となり、u=飲食品とし、第１層のデータとして“飲食品”を含む一般化階層のみを抽出することにより図１０の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含むため、これを~C飲食品とし、ステップ１７において関数Eを呼び出す。
【００２８】
先ほどと同様、関数Eのステップ４において、j=2のとき、U={食べ物}となり、u=食べ物とし、第２層のデータとして“食べ物”を含む一般化階層のみを抽出することにより図１１の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含むため、これを~C食べ物とし、ステップ１７において関数Eを呼び出す。
【００２９】
先ほどと同様、関数Eのステップ４において、j=3のとき、U={果物}となり、u=果物とし、第３層のデータとして“果物”を含む一般化階層のみを抽出することにより図１２の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含むため、これを~C果物とし、ステップ１７において関数Eを呼び出す。
【００３０】
先ほどと同様、関数Eのステップ４において、j=4のとき、U={りんご、みかん、ぶどう}となり、u=りんごとし、第４層のデータとして“りんご”を含む一般化階層のみを抽出することにより図１３の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含まないので、出力集合に対応する配列Cに~C飲食品を加える（ステップ２０に対応）。同様に、u=みかんとし、第４層のデータとして“みかん”を含む一般化階層のみを抽出することにより図１４の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含まないので、出力集合に対応する配列Cに~C飲食品を加える（ステップ２０に対応）。u=ぶどうとし、第４層のデータとして“ぶどう”を含む一般化階層のみを抽出することにより図１５の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含まないので、出力集合に対応する配列Cに~C飲食品を加える（ステップ２０に対応）。
【００３１】
以上までで、j=1のとき、u=飲食品とする処理が終了する。
【００３２】
次に、j=1, u=本とし、処理を続ける。u=本とし、第１層のデータとして“本”を含む一般化階層のみを抽出することにより図１６の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含まないので、出力集合に対応する配列Cに何も加えない。
【００３３】
引き続き、j=1, u=機械とし、処理を続ける。u=機械とし、第１層のデータとして“機械”を含む一般化階層のみを抽出することにより図１７の一般化階層集合が生成される。当該一般化階層集合は、一般化対象データ集合のすべての要素を含まないので、出力集合に対応する配列Cに何も加えない。
【００３４】
以上により、抽出アルゴリズムの処理が終了する。
【００３５】
図１８は、木を用いて一般化階層集合を表現し、抽出アルゴリズムの実行の様子を示したものである。１〜８の番号は探索の順番を表す。また、ノードである一般化階層のデータの近くに付したOK, NGはさらに深い探索が必要か否かを示している。
【００３６】
図８の整形アルゴリズムは、配列aと配列Cと長さMを入力とし、配列Sを出力する。ステップ５〜１８において文字列を用いて以降の処理を実行するようにしているが、文字列の代わりに配列を用いて以降の処理を実行するようにしてもよい。なお、カンマ区切りの文字列の代わりに、任意の文字を区切りとした文字列を用いるようにしてもよい。
【００３７】
図１９は、整形アルゴリズムの入力（つまり、抽出アルゴリズムの出力）を示す図である。図１９のデータの5列目は、整形アルゴリズムのステップ１９〜２３により、入力された一般化対象データの一般化にとって不要と判断されるため、削除される。その結果、図２０に示すデータが得られる。図２０のデータの0行目は、1行目・2行目に含まれるため、整形アルゴリズムのステップ２５により、不要と判断され、削除される。また、図２０のデータの1行目と2行目は同一の一般化階層であるため、整形アルゴリズムのステップ２５により、片方は不要と判断され、削除される。その結果、図２１に示すデータが整形アルゴリズムの出力として得られる。
【００３８】
なお、一般化階層集合生成アルゴリズムの出力である配列Sは|S|>1となる場合がある。この場合、一般化階層の配列の要素が２つ以上、つまり、一般化階層集合が２つ以上出力されることになるが、どの一般化階層集合を用いて一般化対象データを一般化するかは、ユーザに委ねればよい。
【００３９】
《実験》
Wikipedia（参考非特許文献１）を用いて、一般化階層集合生成アルゴリズムの実験を行った。ここでは、一般化階層集合生成アルゴリズムの入力の１つである一般化階層集合をWikipediaから収集し生成した。具体的には、Wikipedia内のページのタイトルに「一覧」が付くページ内の列挙項目を記録するという方法で一般化階層集合を生成した。その結果、約２５万の一般化階層を含む一般化階層集合が得られた。図２２の医薬品データを一般化対象データとする一般化対象データ集合とこの一般化階層集合を入力として、一般化階層集合生成アルゴリズムを実行することにより、図２３の一般化階層集合が出力として得られた。
（参考非特許文献１：Wikipedia，“ウィキペディアへようこそ”，[online]，［平成３１年２月２２日検索］，インターネット<URL: http://ja.wikipedia.org/wiki/ >．
【００４０】
なお、一般化階層集合生成アルゴリズムの入力の１つである一般化階層集合は、一般化対象データの階層構造を作ることができるのであればどのようなものを用いて生成してもよい。例えば、インターネット上にある電子カルテ、ECサイト、レシピサイト、動画サイトを用いることができる。また、一般概念の一般化階層データとして利用可能な語彙体系（例えば、参考非特許文献２）を用いて生成してもよい。
（参考非特許文献２：国立国語研究所コーパス開発センター，“分類語彙表−増補改訂版データベース”，[online]，［平成３１年２月２２日検索］，インターネット<URL:https://pj.ninjal.ac.jp/corpus_center/goihyo.html>．
【００４１】
＜第１実施形態＞
以下、図２４〜図２５を参照して一般化階層集合生成アルゴリズムを実行する一般化階層集合生成装置１００について説明する。図２４は、一般化階層集合生成装置１００の構成を示すブロック図である。図２５は、一般化階層集合生成装置１００の動作を示すフローチャートである。図２４に示すように一般化階層集合生成装置１００は、第１生成部１１０、第２生成部１２０、記録部１９０を含む。記録部１９０は、一般化階層集合生成装置１００の処理に必要な情報を適宜記録する構成部である。記録部１９０は、例えば、一般化対象データ集合など一般化階層集合生成装置１００が処理する過程で用いるデータを記録する。
【００４２】
図２５に従い一般化階層集合生成装置１００の動作について説明する。
【００４３】
Ｓ１１０において、第１生成部１１０は、一般化対象データを要素とする一般化対象データ集合と一般化階層を要素とする一般化階層集合（ただし、当該一般化階層集合は、一般化対象データ集合に含まれる任意の一般化対象データを含む一般化階層を少なくとも１つ要素として含む）を入力とし、一般化対象データ集合と一般化階層集合から、一般化階層集合の部分集合である第１一般化階層集合を生成し、第１一般化階層集合を出力する。第１生成部１１０は、抽出アルゴリズムを実行する構成部であり、第１一般化階層集合は、以下の２つの性質を満たす集合となる。ここで、Mを一般化階層集合に含まれる一般化階層の長さの最大値を表す1以上の整数とする。
（性質１）第１一般化階層集合に含まれる任意の一般化階層は、一般化対象データ集合に含まれる一般化対象データを少なくとも１つ含む。
（性質２）Dを1以上M以下の所定の整数とし、0≦d≦D-1を満たすdに対して第１一般化階層集合に含まれる一般化階層の第d層のデータは同一のデータであり、第１一般化階層集合に含まれる一般化階層の第D-1層から第M-1層までのデータを要素とする集合は一般化対象データ集合を含む。
【００４４】
（性質１）は、抽出アルゴリズムのステップ１から導出されるものである。また、（性質２）は、関数Eのステップ１２〜ステップ１７から導出されるものである。
【００４５】
Ｓ１２０において、第２生成部１２０は、一般化対象データ集合とＳ１１０で生成した第１一般化階層集合を入力とし、一般化対象データ集合と第１一般化階層集合から、第２一般化階層集合を生成し、第２一般化階層集合を出力する。第２一般化階層集合は、整形アルゴリズムを実行する構成部であり、以下のの性質を満たす集合となる。
（性質３）D’をD以上M以下の所定の整数とし、第２一般化階層集合に含まれる一般化階層の長さはD’であり、第２一般化階層集合に含まれる一般化階層の第D’-1層のデータは一般化対象データ集合の要素である。
【００４６】
（性質３）は、整形アルゴリズムのステップ６〜ステップ２３、ステップ２５から導出されるものである。
【００４７】
本発明の実施形態によれば、必ずしも数値的な意味を持たない任意のデータを一般化する際に、情報損失を低減させる一般化階層の集合を生成することが可能になる。一般化することにより、より上位のデータ（抽象度が高いデータ）に置換することは、情報損失に繋がるが、本発明の実施形態では、一般化対象データの共通上位概念が多い一般化階層集合を抽出することにより、情報損失が抑制された一般化階層を生成する。
【００４８】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００４９】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００５０】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成部）を実現する。
【００５１】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００５２】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００５３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００５４】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５５】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５６】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００５７】
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
【図１】
2020179606.tif 000003
【図２】
2020179606.tif 000004
【図３】
2020179606.tif 000005
【図４】
2020179606.tif 000006
【図５】
2020179606.tif 000007
【図６】
2020179606.tif 000008
【図７】
2020179606.tif 000009
【図８】
2020179606.tif 000010
【図９】
2020179606.tif 000011
【図１０】
2020179606.tif 000012
【図１１】
2020179606.tif 000013
【図１２】
2020179606.tif 000014
【図１３】
2020179606.tif 000015
【図１４】
2020179606.tif 000016
【図１５】
2020179606.tif 000017
【図１６】
2020179606.tif 000018
【図１７】
2020179606.tif 000019
【図１８】
2020179606.tif 000020
【図１９】
2020179606.tif 000021
【図２０】
2020179606.tif 000022
【図２１】
2020179606.tif 000023
【図２２】
2020179606.tif 000024
【図２３】
2020179606.tif 000025
【図２４】
2020179606.tif 000026
【図２５】
2020179606.tif 000027
【手続補正書】
【提出日】令和3年7月29日(2021.7.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
抽出アルゴリズムは、配列aと配列Xと長さMを入力とし、一般化階層の配列の配列Cを出力する。また、整形アルゴリズムは、配列aと配列Cと長さMを入力とし、一般化階層（一般化階層を表す文字列）の配列の配列Sを出力する。図５は、一般化階層集合生成アルゴリズムの出力、すなわち整形アルゴリズムの出力である配列Sを示したものである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
Ｓ１２０において、第２生成部１２０は、一般化対象データ集合とＳ１１０で生成した第１一般化階層集合を入力とし、一般化対象データ集合と第１一般化階層集合から、第２一般化階層集合を生成し、第２一般化階層集合を出力する。第２生成部１２０は、整形アルゴリズムを実行する構成部であり、第２一般化階層集合は、以下の性質を満たす集合となる。
（性質３）D’をD以上M以下の所定の整数とし、第２一般化階層集合に含まれる一般化階層の長さはD’であり、第２一般化階層集合に含まれる一般化階層の第D’-1層のデータは一般化対象データ集合の要素である。
【国際調査報告】
2020179606.tif 000028
2020179606.tif 000029
2020179606.tif 000030
2020179606.tif 000031