(57)【要約】【課題】同じ属性を有する複数のデータから、その属性を代表するデータを選択する技術を提供する。【解決手段】演算装置は、複数の属性の何れかを有する第１の複数のデータから選択された同じ属性を有する２つのデータの類似性を示すベクトル空間における点の集合を、複数のクラスタに分割する分割処理と、前記複数のクラスタの夫々から、少なくとも１つの点を選択する第１選択処理と、前記複数のクラスタの夫々から選択された複数の点の基となる第２の複数のデータの何れかと同じデータが、前記第２の複数のデータに含まれる場合、前記同じデータを選択する第２選択処理と、を実行する。【選択図】図５
2019200628.tif 000002
【特許請求の範囲】
【請求項１】
複数の属性の何れかを有する第１の複数のデータから選択された同じ属性を有する２つのデータの類似性を示すベクトル空間における点の集合を、複数のクラスタに分割する分割処理と、
前記複数のクラスタの夫々から、少なくとも１つの点を選択する第１選択処理と、
前記複数のクラスタの夫々から選択された複数の点の基となる第２の複数のデータの何れかと同じデータが、前記第２の複数のデータに含まれる場合、前記同じデータを選択する第２選択処理と、
を実行することを特徴とする演算装置。
【請求項２】
請求項１に記載の演算装置であって、
前記第１選択処理は、前記複数のクラスタの夫々から、少なくとも前記複数のクラスタの夫々の中心点に最も近い点を選択する処理であること、
を特徴とする演算装置。
【請求項３】
請求項１に記載の演算装置であって、
前記第２選択処理は、前記第２の複数のデータに前記同じデータが２以上の所定の個数含まれている場合、前記同じデータを選択する処理であること、
を特徴とする演算装置。
【請求項４】
請求項１〜３の何れか一項に記載の演算装置であって、
前記第２選択処理は、前記第１の複数のデータのうち前記同じデータの属性とは異なる属性を有する第３の複数のデータと、前記同じデータとを、第４の複数のデータとして選択する処理であること、
を特徴とする演算装置。
【請求項５】
請求項４に記載の演算装置であって、
前記演算装置は、選択された前記第４の複数のデータが、夫々の属性に対応して記憶装置に記憶されるよう、前記記憶装置の情報を更新する更新処理を実行すること、
を特徴とする演算装置。
【請求項６】
複数の属性の何れかを有する第１の複数のデータから選択された同じ属性を有する２つのデータの類似性を示すベクトル空間における点の集合を、複数のクラスタに分割し、
前記複数のクラスタの夫々から、少なくとも１つの点を選択し、
前記複数のクラスタの夫々から選択された複数の点の基となる第２の複数のデータの何れかと同じデータが、前記第２の複数のデータに含まれる場合、前記同じデータを選択する、
ことを特徴とするデータ処理方法。
【請求項７】
第１演算装置と、第２演算装置とを含むデータ処理システムであって、
前記第１演算装置は、
複数の属性の何れかを有する第１の複数のデータから選択された同じ属性を有する２つのデータの類似性を示すベクトル空間における第１の点の集合を、複数のクラスタに分割する分割処理と、
前記複数のクラスタの夫々から、少なくとも１つの点を選択する第１選択処理と、
前記複数のクラスタの夫々から選択された第１の複数の点の基となる第２の複数のデータの何れかと同じデータと、前記第１の複数のデータのうち前記同じデータの属性とは異なる属性を有する第３の複数のデータと、を第４の複数のデータとして選択する第２選択処理と、
を実行し、
前記第２演算装置は、
属性の情報を有しない入力データと、前記第４の複数のデータの夫々との類似性を示す前記ベクトル空間における第２の複数の点を計算する計算処理と、
前記第１の複数のデータから選択された異なる属性を有する２つのデータの類似性を示す前記ベクトル空間における第２の点の集合と、前記第１の点の集合と、に含まれる夫々の点とを、学習データとして得られる、前記ベクトル空間における点が、同じ属性を有する２つのデータに基づく点か、異なる属性を有する２つのデータに基づく点かを示す識別情報を出力する学習済みモデルを用いて、前記第２の複数の点の夫々に対する前記識別情報を出力する出力処理と、
前記第２の複数の点の夫々の前記識別情報に基づいて、前記入力データの属性を判定する判定処理と、を実行すること、
を特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置、データ処理方法、データ処理システムに関するものであり、具体的には、同じ属性を有する複数のデータから、その属性を代表するデータを選択する技術する技術に関する。
【背景技術】
【０００２】
近年、属性を示すラベルが付与されていないラベル無しデータを有効的に活用すべく、ラベル無しデータと、ラベルが付与されているラベル有りデータとの類似性等に基づいて、ラベル無しデータの属性を判定することが行われることがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願第２０１７／０１４００３５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、所定の属性を有する複数のラベル有りデータの中には、他の属性に含まれるデータと同一のデータ、または区別し難いデータが含まれていることがある。例えば、「名字」の属性を示すラベルが付された「青山」とのデータは、「地名」の属性を示すラベルが付されたデータ「青山」と同一である。一般に、コンピュータが取り扱うデータ量を減らしつつ、コンピュータがデータの属性を判定するためには、このようなデータを事前に除くことが好ましい。
【０００５】
そこで本発明の目的は、同じ属性を有する複数のデータから、その属性を代表するデータを選択する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決する本発明の演算装置は、複数の属性の何れかを有する第１の複数のデータから選択された同じ属性を有する２つのデータの類似性を示すベクトル空間における点の集合を、複数のクラスタに分割する分割処理と、前記複数のクラスタの夫々から、少なくとも１つの点を選択する第１選択処理と、前記複数のクラスタの夫々から選択された複数の点の基となる第２の複数のデータの何れかと同じデータが、前記第２の複数のデータに含まれる場合、前記同じデータを選択する第２選択処理と、を実行することとする。
【発明の効果】
【０００７】
本発明によれば、同じ属性を有する複数のデータから、その属性を代表するデータを選択することができる。
【図面の簡単な説明】
【０００８】
【図１】ラベル付与システム１０の構成を示す図である。
【図２】トレーニングデータＤＢ３０の一例を示す図である。
【図３】標準データＤＢ３１の一例を示す図である。
【図４】演算装置５０に実現される機能ブロックを示す図である。
【図５】標準データＤＢ３１を生成する処理を示すフローチャートである。
【図６】属性が同じ２つのデータの類似性を示す点の集合３００を示す図である。
【図７】点の集合３００が複数のクラスタに分割された状態を示す図である。
【図８】選択された点に含まれる複数のデータの一例を示す図である。
【図９】演算装置５０に実現される機能ブロックを示す図である。
【図１０】学習済みモデル３２を生成する処理を示すフローチャートである。
【図１１】ベクトル空間における計算部１１０の計算結果を示す図である。
【図１２】演算装置６０に実現される機能ブロックを示す図である。
【図１３】ラベルを付与する処理を示すフローチャートである。
【図１４】ベクトル空間の点に対応する識別情報Ｉ及び確率Ｐを示す図である。
【発明を実施するための形態】
【０００９】
−−−ラベル付与システム１０−−−
図１は、ラベル付与システム１０の構成を示す図である。ラベル付与システム１０（データ処理システム）は、属性を示すラベルが付与されていないラベル無しデータの属性を判定し、ラベル無しデータに対し、属性を示すラベルを付与するシステムである。ラベル付与システム１０は、記憶装置２０、データ処理装置２１、及びラベル付与装置２２を含んで構成される。
【００１０】
記憶装置２０は、例えばハードディスク等の不揮発性の記憶手段領域であり、プログラムやデータベース等の様々な情報が格納される。記憶装置２０には、トレーニングデータＤＢ（データベース）３０、標準データＤＢ３１、及び学習済みモデル３２が記憶される。
【００１１】
トレーニングデータＤＢ３０（第１の複数のデータ）は、データの有する属性ごとに複数のデータが分類されたデータベースである。図２は、トレーニングデータＤＢ３０の一例を示す図であり、トレーニングデータＤＢ３０は予めシステム管理者等により作成され、記憶装置２０に格納されている。トレーニングデータＤＢ３０の１列目は、「名前」の属性（attribute）を示すラベルが付されたデータ（以下、属性を有するデータとも言う
）である「Ａｌｉｃｅ」、「Ｂｏｂ」、「Ｊｏｈｎ」を含む。なお、ここでは、例えば「Ａｌｉｃｅ」との前に「ａ０」との情報が付され「ａ０：Ａｌｉｃｅ」と記載されているが、「ａ０」は、「Ａｌｉｃｅ」を簡易的に示す記号である。なお、「ａ１」〜「ｃ２」等も「ａ０」と同様である。
【００１２】
トレーニングデータＤＢ３０の２列目は、「住所」の属性を有するデータである「北海道」、「沖縄」、「東京」を含み、３列目は、「年代」の属性を有するデータである「３０代」、「２０代」、「５０代」を含む。なお、トレーニングデータＤＢ３０は、３つ以上の属性を含むが、図２では便宜上省略し３つの属性のみ記載している。また、トレーニングデータＤＢ３０の行は、１列目の人物に関する情報を示す。例えば、２行目の情報は、「Ａｌｉｃｅ」という「名前」の人物の「住所」及び「年代」である。
【００１３】
標準データＤＢ３１（第４の複数のデータ）は、トレーニングデータＤＢ３０から、属性を代表しないデータが除かれたデータ（標準データ、canonical data）が格納されたデータベースである。図３は、標準データＤＢ３１の一例を示す図である。ここでは、トレーニングデータＤＢ３０の１列目に含まれていた「Ａｌｉｃｅ」「Ｂｏｂ」、「Ｊｏｈｎ」のうち、「Ｂｏｂ」、「Ｊｏｈｎ」は、「名前」の属性を代表しないデータとして除かれている。つまり、ここでは、「Ａｌｉｃｅ」は、「名前」の属性を代表するデータとして選択されている。なお、標準データＤＢ３１の生成方法については後述する。
【００１４】
学習済みモデル３２は、２つのデータの類似性（類似度合い）に基づいて、それらのデータが同じ属性を有するか否かを示す識別情報Ｉと、同じ属性を有する確率Ｐと、を出力するモデルである。学習済みモデル３２の詳細については後述する。
【００１５】
データ処理装置２１は、所定のプログラムを実行することにより、標準データＤＢ３１や学習済みモデル３２を生成する装置である。データ処理装置２１は、演算装置５０、メモリ５１、記憶装置５２、入力装置５３、表示装置５４、及び通信装置５５を含んで構成される。
【００１６】
演算装置５０（第１演算装置）は、メモリ５１や記憶装置５２に格納されたプログラムを実行することにより、様々な機能を実現する。
【００１７】
メモリ５１は、例えばＲＡＭ（Random Access Memory）等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
【００１８】
記憶装置５２は、例えばハードディスク等の不揮発性の記憶手段領域であり、プログラムやデータベース等の様々な情報が格納される。本実施形態の記憶装置５２は、標準データＤＢ３１を生成する際に実行されるプログラム７０と、学習済みモデル３２が生成される際に実行されるプログラム７１とを記憶する。
【００１９】
入力装置５３は、例えばタッチパネルやキーボードであり、利用者の操作結果や入力を受け付ける装置である。また、表示装置５４は、例えばディスプレイであり、操作結果や処理結果等を表示する。
【００２０】
通信装置５５は、ネットワークインターフェイスなどの通信手段であって、ネットワークを介して記憶装置２０やラベル付与装置２２との間でデータの送受信を行う。
【００２１】
ラベル付与装置２２は、ラベル無しデータの属性を判定し、ラベル無しデータに対して属性を示すラベルを付与する装置である。ラベル付与装置２２は、演算装置６０（第２演算装置）、メモリ６１、記憶装置６２、入力装置６３、表示装置６４、及び通信装置６５を含んで構成される。ここで、ラベル付与装置２２に含まれる演算装置６０等の夫々の装置は、データ処理装置２１に含まれる演算装置５０等と同様である。このため、演算装置６０等の詳細な説明は省略する。なお、本実施形態の記憶装置６２は、ラベル無しデータに対してラベルを付与する際に実行されるプログラム７５を記憶する。
【００２２】
−−−標準データＤＢ３１の生成について−−−
＜＜演算装置５０の機能ブロック＞＞
図４は、演算装置５０が、標準データＤＢ３１を生成するためのプログラム７０を実行した際に、演算装置５０に実現される機能ブロックを示す図である。
【００２３】
演算装置５０には、計算部１００、分割部１０１、選択部１０２，１０３、及び更新部１０４が実現される。
【００２４】
計算部１００は、トレーニングデータＤＢ３０のうち、２つのデータ間の類似度ベクトルの集合を計算する。具体的には、計算部１００は、同じ属性のデータ“ｘ”と、データ“ｙ”との間の、Ｊａｃｃａｒｄ類似度と、ＴＦ−ＩＤＦコサイン類似度と、を計算し、結果として２次元のベクトルを出力する。ここで、データ“ｘ”と、データ“ｙ”との間のＪａｃｃａｒｄ類似度は、ｓｉｍ１（ｘ，ｙ）で表し、データ“ｘ”と、データ“ｙ”との間のＴＦ−ＩＤＦコサイン類似度は、ｓｉｍ２（ｘ，ｙ）で表す。計算部１００は、同じ属性を有する全ての２つのデータ間の類似度ベクトル（類似性を示すベクトル空間における点）を、以下の式（１）を用いて計算する。
【００２５】
ｓ（ｘ，ｙ）＝（ｓｉｍ１（ｘ，ｙ），ｓｉｍ２（ｘ，ｙ））・・・（１）
なお、ここで（ｘ，ｙ）は、（ａ０，ａ１）、（ａ１，ａ２）、（ｂ０，ｂ１）・・・
（ｃ１，ｃ２）等である。また、計算部１００は、例えば、Ｊａｃｃａｒｄ類似度と、ＴＦ−ＩＤＦコサイン類似度とを計算することとしたが、他の類似度（例えば、Ｌｅｖｅｎｓｈｔｅｉｎ距離に基づく類似度）であっても良い。それに伴い、ｓ（ｘ，ｙ）は３以上の次元をもつベクトルであっても良い。
【００２６】
分割部１０１は、式（１）の計算結果を示す類似度ベクトルの集合をｎ個のクラスタに分割する。
【００２７】
選択部１０２は、ｎ個のクラスタの夫々の中心に最も近いｍ個のベクトルを、ｎ個のクラスタごとに選択する。
【００２８】
選択部１０３は、選択部１０２で選択されたｍ×ｎ個の点（第１の複数の点）に基づいて、トレーニングデータＤＢ３０から、属性を代表しないデータが除かれた標準データＤＢ３１を選択する。なお、選択部１０３の詳細については後述するが、選択部１０３は、ｍ×ｎ個の点に基づく複数のデータ（第２の複数のデータ）において、同じデータがｋ個（所定の個数）以上含まれていたら、そのデータを選択する。さらに、選択部１０３は、トレーニングデータＤＢ３０のうち、ｋ個の同じデータの属性とは異なる属性の全てのデータ（第３の複数のデータ）を選択する。
【００２９】
更新部１０４は、記憶装置２０にアクセスし、記憶装置２０に格納された標準データＤＢ３１の情報を更新する。
【００３０】
＜＜標準データＤＢ３１を生成する処理Ｓ１００＞＞
標準データＤＢ３１を生成する処理Ｓ１００について説明する。ここで、分割部１０１は、点の集合を７個（ｎ＝７）のクラスタに分割することとし、選択部１０２は、夫々のクラスタから２個（ｍ＝２）の点を選択することとする。また、選択部１０３は、同じデータが２個（ｋ＝２）含まれていたら、そのデータを属性の代表とする。
【００３１】
まず、計算部１００は、トレーニングデータＤＢ３０から、同じ属性を有する２つのデータ（例えば、（ａ０，ａ１））を選択する（Ｓ２００）。そして、計算部１００は、選択した２つのデータの類似性を示す類似度ベクトルを、式（１）を用いて計算する（Ｓ２０１）。この結果、例えば、ｓ（ａ０，ａ１）＝（ｓｉｍ１（ａ０，ａ１），ｓｉｍ２（ａ０，ａ１））が計算されることになる。そして、計算部１００は、トレーニングデータＤＢ３０のうち、同じ属性を有する全てのペアを選択したか否かを判定する（Ｓ２０２）。全てのペアの選択がされていない場合（Ｓ２０２：Ｎｏ）、処理Ｓ２００が実行される。一方、全てのペアの選択がされた場合（Ｓ２０２：Ｙｅｓ）、全てのペアの夫々に対応する点の集合３００（第１の点の集合）が、図６に示すベクトル空間において表されることになる。なお、図６では、ｓ（ａ０，ａ１）に対応する点のみ符号“ｓ（ａ０，ａ１）”を付しているが、他の点の夫々も他のペア（例えば、（ｂ０，ｂ１）や（ｃ１０，ｃ１１））に対応している。また、前述のように、図２のトレーニングデータＤＢ３０には、各属性を有するデータとして、３つのデータが記載されているが、実際には多数含まれている。このため、図６のベクトル空間においても点が多数記載されている。
【００３２】
処理Ｓ２０２で、計算部１００が全てのペアの選択がされたと判定すると（Ｓ２０２：Ｙｅｓ）、分割部１０１は、図７に示すように、ベクトル空間の点の集合３００を７個のクラスタ３１０〜３１６に分割する（Ｓ２０３：分割処理）。
【００３３】
選択部１０２は、７個のクラスタ３１０〜３１６の夫々の中心点に最も近い２個の点を、クラスタ毎に選択する（Ｓ２０４：第１選択処理）。例えば、クラスタ３１０の中心点が点Ｐ０であり、点Ｐ０に最も近い点は、点Ｐ１，Ｐ２であるとすると、選択部１０２は
、クラスタ３１０においては、点Ｐ１，Ｐ２を選択する。なお、選択部１０２は、クラスタ３１１〜３１６の夫々に対してもクラスタ３１０と同様の処理を実施するため、処理Ｓ２０４では、結果的に、１４個（＝７×２）の点が選択される。ここで、１４個のそれぞれの点は、同じ属性を有する２つのデータ（例えば、（ａ０，ａ１））の類似性を示している。このため、例えば１４個の点が選択されると、２８個のデータが選択されたことになる。
【００３４】
選択部１０３は、１４個の点の基となる２８個のデータ（第２の複数のデータ）において、同じデータが２個含まれているか否かを判定する（Ｓ２０５）。そして、同じデータが２個含まれていると（Ｓ２０５：Ｙｅｓ）、選択部１０３は、トレーニングデータＤＢ３０から、同じデータが２個含まれているデータと、２個の同じデータの属性とは異なる属性の全てのデータ（第３の複数のデータ）を選択する（Ｓ２０６：第２選択処理）。一方、同じデータが２個含まれていないと（Ｓ２０５：Ｎｏ）、選択部１０３は、例えば、トレーニングデータＤＢ３０の全てを選択する（Ｓ２０７）。
【００３５】
ここで、選択部１０３が実行する処理の詳細を、図８を参照しつつ説明する。図８は、１４個の点の基となる２８個のデータの一例である。例えば、１４個の点に、（ａ０，ａ１）、（ａ０，ａ２）、（ｂ１，ｂ２）等が含まれている場合、図８に示すように、データ“ａ０”の個数は、２個、データ“ａ１”，“ａ２”，“ｂ１”，“ｂ２”の夫々の個数は、１個となる。なお、図８では、便宜上、２８個のデータのうち、一部のデータのみが記載され、他は省略されている。このような場合、選択部１０３は、トレーニングデータＤＢ３０のうち、データ“ａ０”と、２個の同じデータの属性「名前」とは異なる属性「住所」、「年代」の全てのデータを選択する。なお、このような処理を実行することにより、「名前」の属性を有するデータのうち、代表的なデータ“ａ０”を選択することができる。なお、図８では、データ“ａ０”が２個あることとしたが、例えば、２８個のデータのうち、同じデータ２個無い場合（Ｓ２０５：Ｎｏ）、選択部１０３は、トレーニングデータＤＢ３０を選択する（Ｓ２０７）。
【００３６】
そして、更新部１０４は、記憶装置２０に格納された情報を更新すべく、処理Ｓ２０６で選択されたデータを、標準データＤＢ３１として記憶装置２０に格納する（Ｓ２０８：更新処理）。この結果、例えば、「名前」の属性においては“ａ０”のみが選択された、図３で示す標準データＤＢ３１が得られることとなる。なお、図３では、便宜上、「住所」または「年代」の属性を有するデータは、“ｂ０”〜“ｂ２”，“ｃ０”〜“ｃ２”のみを記載しているが、例えば、“ｂ３”、“ｃ３”等の複数のデータも含まれている。そして、処理Ｓ２０６では、「住所」及び「年代」の属性を有する全てのデータ（第３の複数のデータ）が選択される。
【００３７】
なお、例えば、処理Ｓ２０５において、データ“ａ０”に加え、データ“ａ１”も２個含まれていた場合、処理Ｓ２０６では、データ“ａ０”，“ａ１”が選択されることになる。
【００３８】
−−−学習済みモデル３２の生成について−−−
＜＜演算装置５０の機能ブロック＞＞
図９は、演算装置５０が、学習済みモデル３２を生成するためのプログラム７１を実行した際に、演算装置５０に実現される機能ブロックを示す図である。
【００３９】
演算装置５０には、計算部１１０、識別情報付与部１１１、判定部１１２、及びトレーニング部１１３が実現される。
【００４０】
計算部１１０は、トレーニングデータＤＢ３０のうち、２つのデータ間の類似度ベクト
ル（類似性を示すベクトル空間における点）の集合を計算する。具体的には、計算部１１０は、トレーニングデータＤＢ３０から２つのデータ（“ｘ”，“ｙ”）を選択し、２つのデータ間の類似度ベクトルを、上述した式（１）を用いて計算する。なお、計算部１１０は、属性が同じか否かに関わらず、トレーニングデータＤＢ３０に含まれる全てのデータのペアについて、式（１）の計算を行う。
【００４１】
識別情報付与部１１１は、計算部１１０の計算結果に対し、同じ属性の２つのデータに基づく結果であるか、異なる属性の２つのデータに基づく結果であるかを示す識別情報Ｉを付与する。例えば、同じ属性のデータ“ａ０”，“ａ１”の２つのデータの類似性が計算された場合、識別情報付与部１１１は、計算結果に対し、識別情報Ｉ“Ｔｒｕｅ”（以下、識別情報Ｉ“Ｔ”とする）を付与する。一方、異なる属性のデータ“ａ０”，“ｂ１”の２つのデータの類似性が計算された場合、識別情報付与部１１１は、計算結果に対し、識別情報Ｉ“Ｆａｌｓｅ”（以下、識別情報Ｉ“Ｆ”とする）を付与する。
【００４２】
判定部１１２は、トレーニングデータＤＢ３０に含まれる全てのデータのペアが選択され、計算が実施されたか否かを判定する。
【００４３】
トレーニング部１１３は、識別情報Ｉが付された計算結果（例えば、ｓ（ａ０，ａ１）＝（１，３５）“Ｔ”，ｓ（ａ１，ａ２）＝（５，５８）“Ｔ”，ｓ（ａ０，ｂ０）＝（２，５８）“Ｆ”等）を学習データ（教師データ）とし、これらの学習データを再現する関数（学習済みモデル３２）を求める。
【００４４】
＜＜学習済みモデル３２を生成する処理Ｓ１１０＞＞
ここで、図１０を参照しつつ、学習済みモデル３２を生成する処理Ｓ１１０について説明する。まず、計算部１１０は、トレーニングデータＤＢ３０から、２つのデータを選択する（Ｓ２１０）。そして、計算部１１０は、選択した２のデータの類似度ベクトルを、式（１）を用いて計算する（Ｓ２１１）。例えば、選択された２つのデータがデータ“ａ１”，“ｂ１”である場合、処理Ｓ２１０では、ｓ（ａ１，ｂ１）＝（ｓｉｍ１（ａ１，ｂ１），ｓｉｍ２（ａ１，ｂ１））が計算されることになる。
【００４５】
そして、識別情報付与部１１１は、計算部１１０が用いた２つのデータの属性を参照し、計算結果に対し、識別情報Ｉを付与する（Ｓ２１２）。例えば、処理Ｓ２１１において、属性の異なるデータ“ａ１”，“ｂ１”の類似度ベクトルを示す“ｓ（ａ１，ｂ１）”が計算された場合、識別情報付与部１１１は、“ｓ（ａ１，ｂ１）”の計算結果に対し、識別情報Ｉ“Ｆ”を付与する。
【００４６】
図１１は、ベクトル空間における計算部１１０の計算結果を示す図である。ここで、集合３５０（第１の点の集合）に含まれる点の夫々は、識別情報Ｉ“Ｔ”が付された計算結果を示し、集合３５１（第２の点の集合）に含まれる点の夫々は、識別情報Ｉ“Ｆ”が付された計算結果を示す。
【００４７】
また、判定部１１２は、トレーニングデータＤＢ３０に含まれる全てのデータのペアの計算が実施されたか否かを判定する（Ｓ２１３）。ここで、全てのデータのペアの計算が実施されていない場合（Ｓ２１３：Ｎｏ）、処理Ｓ２１０が実行され、新なペアのデータが選択される。一方、全てのデータのペアの計算が実施された場合（Ｓ２１３：Ｙｅｓ）、
トレーニング部１１３は、識別情報Ｉが付された計算結果を学習データとしてトレーニングを実行する（Ｓ２１４）。具体的には、トレーニング部１１３は、図１１のベクトル空間に示された各点を学習データとし、学習済みモデル３２を求める。そして、トレーニング部１１３は、トレーニングデータＤＢ３０から得られる学習データの全てを用いて学習
済みモデル３２を求めると、学習済みモデル３２を記憶装置２０に格納する（Ｓ２１５）。なお、本実施形態の学習済みモデル３２は、２つのデータ間の類似性を示す計算結果に基づいて、２つのデータが同じ属性であるか否かを示す識別情報Ｉを確率Ｐとともに出力する。例えば、学習済みモデル３２が、例えば、ベクトル空間の（１０，３５）の点が、同じ属性のデータによる計算結果であり、その確率は７０％であると判定すると、学習済みモデル３２は、識別情報Ｉ“Ｔ”と、確率Ｐ“７０％”とを出力する。
【００４８】
−−−ラベル付与の処理について−−−
＜＜演算装置６０の機能ブロック＞＞
図１２は、ラベル付与装置２２の演算装置６０が、ラベルを付与するためのプログラム７５を実行した際に、演算装置６０に実現される機能ブロックを示す図である。
【００４９】
演算装置６０には、計算部１５０、出力部１５１、判定部１５２、及びラベル付与部１５３が実現される。
【００５０】
計算部１５０は、標準データＤＢ３１の夫々のデータと、ラベル無しの入力データ“ｘ”との複数の類似度ベクトル（第２の複数の点）を、式（１）に基づいて計算する。
【００５１】
出力部１５１は、計算されたベクトル空間の複数の点の夫々に対し、学習済みモデル３２を用いて、識別情報Ｉと、確率Ｐとを出力する。具体的には、出力部１５１は、学習済みモデル３２を用い、入力データ“ｘ”とペアとなったデータと同じ属性であるか否かの識別情報Ｉと、識別情報Ｉの確からしさを示す確率Ｐ（“Ｔ”または“Ｆ”である確率）と、を出力する。
【００５２】
判定部１５２は、出力部１５１で出力された確率Ｐのうち、最も高い確率Ｐに基づいて、入力データ“ｘ”の属性を判定する。
【００５３】
ラベル付与部１５３は、入力データ“ｘ”に対し、判定部１５２で判定された属性を示すラベルを付与して出力する。
【００５４】
＜＜ラベル付与処理Ｓ１２０＞＞
ここで、図１３を参照しつつ、ラベル無しの入力データ“ｘ”に対し、ラベルを付与する処理Ｓ１２０について説明する。まず、計算部１５０は、標準データＤＢ３１の夫々のデータと、入力データ“ｘ”との複数の類似度ベクトルを、式（１）を用いて計算する（Ｓ２２０）。ここで、図３に示すように標準データＤＢ３１は、データ“ａ０”，“ｂ１”等を含むため、計算部１５０は、ｓ（ｘ，ａ０）、ｓ（ｘ，ｂ０）等を計算する。この結果、図１４に示すように、ｓ（ｘ，ａ０）＝（７７．８，５）、ｓ（ｘ，ｂ０）＝（２，５９）等のベクトル空間における複数の類似度ベクトル（第２の複数の点）が得られる。
【００５５】
出力部１５１は、計算された複数の点（例えば（７７．８，５）、（２，５９））の夫々に対し、学習済みモデル３２を用いて、識別情報Ｉと、確率Ｐとを出力する。例えば、ｓ（ｘ，ａ０）の計算結果である（７７．８，５）に対し、学習済みモデル３２が用いられると、学習済みモデル３２は、識別情報Ｉ“Ｆ”と、確率Ｐ“７０％”とを出力する。つまり、学習済みモデル３２は、データ“ｘ”と、データ“ａ０”とは属性が異なり、その確率は“７０％”であるとの情報を出力する。そして、判定部１５２は、出力部１５１で出力された確率Ｐのうち、最も高い確率Ｐに基づいて、入力データ“ｘ”の属性を判定する（Ｓ２２２）。図１４に示す例では、ｓ（ｘ，ｂ２）の計算結果に基づく確率Ｐが９５％と最も高い。このような場合、判定部１５２は、入力データ“ｘ”は、データ“ｂ２”の属性である「住所」を有するデータであると判定する。ラベル付与部１５３は、入力
データ“ｘ”に対し、判定部１５２で判定された属性を示すラベルを付与して出力する（Ｓ２２３）。具体的には、ラベル付与部１５３は、入力データ“ｘ”に対して「住所」を示すラベルを付して出力する。このような処理が実行されることにより、ラベル無しのデータに対し、ラベル無しデータの属性を示す正しいラベルが、高い確率で付与されることになる。また、処理Ｓ２２０では、トレーニングデータＤＢ３０よりデータ量が少ない標準データＤＢ３１が用いられている。このため、ラベル付与処理Ｓ１２０においては、演算装置６０への負荷が軽減される。
【００５６】
−−−まとめ−−−
以上、本実施形態のラベル付与システム１０について説明した。こうした本実施形態の演算装置５０は、同じ属性を有する２つのデータの集合から、集合に含まれる何れかのデータと同じデータが選択する。このように選択されたデータは、一般にデータの有する属性の特徴量を多く含むため、本実施形態によれば、同じ属性を有する複数のデータから、その属性を代表するデータを選択できる。
【００５７】
また、本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記第１選択処理は、前記複数のクラスタの夫々から、少なくとも前記複数のクラスタの夫々の中心点に最も近い点を選択する処理としても良い。
【００５８】
本実施形態において、図７に示すクラスタ３１０〜３１６の夫々に含まれる点をランダムに選択しても良い。しかしながら、クラスタ３１０〜３１６の夫々の中心点に近い点が選択されることにより、データ間の類似性が大きく異なるデータのペアを複数選択することができる。この結果、より高い精度で同じ属性を有する複数のデータから、その属性を代表するデータを選択できる。
【００５９】
また、前記第２選択処理は、前記第２の複数のデータに前記同じデータが２以上の所定の個数含まれている場合、前記同じデータを選択する処理としても良い。
【００６０】
同じ属性を有する２つのデータの集合に、何れかのデータが２以上の所定の個数含まれている場合、そのようなデータは、一般にその属性の特徴量を多く含むデータである。このため、本実施形態によれば、同じ属性を有する複数のデータから、その属性を代表するデータをより高い精度で選択することができる。
【００６１】
また、前記第２選択処理は、前記第１の複数のデータのうち前記同じデータの属性とは異なる属性を有する第３の複数のデータと、前記同じデータとを、第４の複数のデータとして選択する処理としても良い。
【００６２】
このような処理を実行することにより、トレーニングデータＤＢ３０から、標準データＤＢ３１を生成することができる。
【００６３】
また、前記演算装置は、選択された前記第４の複数のデータが、夫々の属性に対応して記憶装置に記憶されるよう、前記記憶装置の情報を更新する更新処理を実行しても良い。
【００６４】
このような処理が実行されることにより、標準データＤＢ３１の情報が更新されるため、ラベル付与システム１０は、最新の標準データＤＢ３１を用いることができる。
【００６５】
また、本実施形態の演算装置５０，６０を含むラベル付与システム１０は、ラベル無しのデータに対し、ラベル無しデータの属性を示す正しいラベルを、高い確率で付与することができる。また、ラベル付与システム１０では、ラベルを付与する際に、トレーニングデータＤＢ３０に比べ、データ量の少ない標準データＤＢ３１が用いられている。このた
め、トレーニングデータＤＢ３０を用いてラベルを付与する場合と比較すると、演算装置６０の計算量を減らすことができる。
【００６６】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６７】
例えば、図５の標準データＤＢ３１を生成する処理Ｓ１００において、計算部１００は、同じ属性を有するペアの類似性を計算し、点の集合３００の情報を取得している（処理Ｓ２００〜Ｓ２０２）。ただし、集合３００は、図１０の学習済みモデル３２を生成する処理Ｓ１１０で得られる、点の集合３５０（図１１）と同様である。このため、点の集合３５０が、例えば記憶装置２０に格納されている場合、分割部１０１は、点の集合３５０を複数のクラスタに分割しても良い。この場合、計算部１００が実行する処理は省略できる。
【００６８】
また、本実施形態では、クラスタの中心点から最も近い点がｍ個選択されたが、例えば、クラスタの重心点から近い点を選択しても良い。
【００６９】
また、本実施形態で扱われるデータは、「Ａｌｉｃｅ」、「北海道」等、テキストデータであるがこれに限られず、例えば画像データであっても良い。
【００７０】
なお、本実施形態では、分割部１０１は、点の集合を７個（ｎ＝７）のクラスタに分割することとし、選択部１０２は、夫々のクラスタから２個（ｍ＝２）の点を選択することとしたが、これに限られない。例えば、クラスタの個数（ｎ）と、夫々のクラスタから選択する点の数（ｍ）とを多くすると、より精度良く、属性を代表するデータの選択が可能となる。
【００７１】
本実施形態のトレーニングデータＤＢ３０の１列目は、例えば「人物」に関するデータであるとしたが、これに限られるものではない。例えば、「施設」、「組織」、「モノ」等であっても良い。また、「年代」に関しても、例えば１列目の情報が「施設」であれば、「築年数」等の情報であっても良い。このように、本実施形態のトレーニングデータＤＢ３０の内容は一例であり、データベースを構成するデータであれば良い。
【００７２】
また、実行可能なプログラムが記憶された非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ  ｗｉｔｈ
ａｎ  ｅｘｅｃｕｔａｂｌｅ  ｐｒｏｇｒａｍ  ｔｈｅｒｅｏｎ）を用いて、コンピュータにプログラムを供給することも可能である。なお、非一時的なコンピュータの可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等がある。
【符号の説明】
【００７３】
１０  ラベル付与システム
２０，５２，６２  記憶装置
２１  データ処理装置
２２  ラベル付与装置
３０  トレーニングデータＤＢ
３１  標準データＤＢ
３２  学習済みモデル
５０，６０  演算装置
５１，６１  メモリ
５３，６３  入力装置
５４，６４  表示装置
５５，６５  通信装置
７０，７１，７５  プログラム
１００，１１０，１５０  計算部
１０１  分割部
１０２，１０３  選択部
１０４  更新部
１１１  識別情報付与部
１１２，１５２  判定部
１１３  トレーニング部
１５１  出力部
１５３  ラベル付与部
３１０〜３１６  クラスタ
３００，３５０，３５１  集合
【図１】
2019200628.tif 000003
【図２】
2019200628.tif 000004
【図３】
2019200628.tif 000005
【図４】
2019200628.tif 000006
【図５】
2019200628.tif 000007
【図６】
2019200628.tif 000008
【図７】
2019200628.tif 000009
【図８】
2019200628.tif 000010
【図９】
2019200628.tif 000011
【図１０】
2019200628.tif 000012
【図１１】
2019200628.tif 000013
【図１２】
2019200628.tif 000014
【図１３】
2019200628.tif 000015
【図１４】
2019200628.tif 000016