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

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

▶ 株式会社デジタルガレージの特許一覧

特開2022-71929クラスタリング装置、クラスタリング方法、及びプログラム
<>
  • 特開-クラスタリング装置、クラスタリング方法、及びプログラム 図1
  • 特開-クラスタリング装置、クラスタリング方法、及びプログラム 図2
  • 特開-クラスタリング装置、クラスタリング方法、及びプログラム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022071929
(43)【公開日】2022-05-17
(54)【発明の名称】クラスタリング装置、クラスタリング方法、及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220510BHJP
   G06F 16/906 20190101ALI20220510BHJP
【FI】
G06N20/00 160
G06F16/906
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020181066
(22)【出願日】2020-10-29
(71)【出願人】
【識別番号】397072639
【氏名又は名称】株式会社デジタルガレージ
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】エナジ ヤシン
(72)【発明者】
【氏名】田 智秀
(72)【発明者】
【氏名】菊地 弘晶
(72)【発明者】
【氏名】渋谷 直正
(72)【発明者】
【氏名】川本 卓馬
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA03
(57)【要約】
【課題】クラスタ数の最適化を効率的に行う。
【解決手段】第1のアルゴリズムによるクラスタリングを実施する第1のクラスタリング実行部と、第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定するクラスタ数候補決定部と、クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する第2のクラスタリング実行部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1のアルゴリズムによるクラスタリングを実施する第1のクラスタリング実行部と、
前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定するクラスタ数候補決定部と、
前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する第2のクラスタリング実行部と、を備えたクラスタリング装置。
【請求項2】
前記第2のアルゴリズムは、前記第1のアルゴリズムよりも1回のクラスタリングの実行に要する計算量が多い、請求項1に記載のクラスタリング装置。
【請求項3】
前記第2のアルゴリズムによるクラスタリングは、深層学習を利用する手法である、請求項2に記載のクラスタリング装置。
【請求項4】
前記クラスタ数候補決定部は、
生成されたクラスタの凝集度に基づいて、1以上のクラスタ数の候補を決定する、請求項1から3のいずれか1項に記載のクラスタリング装置。
【請求項5】
前記第2のアルゴリズムによるクラスタリングの結果に基づいて、クラスタ数を調整するクラスタ数調整部と、
調整後のクラスタ数を用いて第2のアルゴリズムによるクラスタリングを実施し、クラスタリングの結果を提示するクラスタリング結果提示部と、を備えた請求項1から4のいずれか1項に記載のクラスタリング装置。
【請求項6】
前記クラスタ数調整部は、
生成されたクラスタの凝集度に基づいて、クラスタ数を調整する請求項5に記載のクラスタリング装置。
【請求項7】
前記提示されたクラスタリングの結果に対する、クラスタ数の再調整の要否を受け付ける再調整要否受付部を備え、
前記クラスタリング結果提示部は、
再調整したクラスタ数を用いて第2のアルゴリズムによるクラスタリングを実施し、クラスタリングの結果を提示する、請求項1から6のいずれか1項に記載のクラスタリング装置。
【請求項8】
コンピュータが、第1のアルゴリズムによるクラスタリングを実施する工程と、
コンピュータが、前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定する工程と、
コンピュータが、前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する工程と、を有するクラスタリング方法。
【請求項9】
コンピュータを、
第1のアルゴリズムによるクラスタリングを実施する第1のクラスタリング実行部と、
前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定するクラスタ数候補決定部と、
前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する第2のクラスタリング実行部として、機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラスタリング装置、クラスタリング方法、及びプログラムに関する。
【背景技術】
【0002】
データを類似度に基づいてグループ分けするクラスタリングは、データの特性を直感的に把握できる分析手法として様々な場面で活用されている。クラスタリングによるデータ分析で良い結果を得るためには、クラスタリングのパラメータであるクラスタ数を適切な値に設定する必要がある。
【0003】
例えば、特許文献1には、原水に注入する薬剤の量を予測するモデルのパラメータの最適化にクラスタリングを利用することが記載されており、クラスタ数は、予測モデルの評価に基づいて決定することが記載されている。また、特許文献2には、クラスタリングを最適化する方法に関し、クラスタ数を変動させながらクラスタリングを行い、クラスタリング結果の評価に基づいて、最適なクラスタ数を決めることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6637206号公報
【特許文献2】特開2018-195089号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来は、最適なクラスタ数を求めるために、クラスタ数を変えながらクラスタリングを行い、結果の評価に基づいてクラスタ数を調整している。近年、深層学習などの高度なクラスタリング技術により、クラスタリングの性能は高くなっているが、高性能なクラスタリングは計算に数日を要することもある。このため、高性能なクラスタリングでの最適なクラスタ数を決定するためにクラスタリングの試行を行うのは効率が悪かった。
【0006】
本発明は、以上説明した事情を鑑みてなされたものであり、クラスタ数の最適化を効率的に行うことを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明の一実施形態に係るクラスタリング装置は、第1のアルゴリズムによるクラスタリングを実施する第1のクラスタリング実行部と、前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定するクラスタ数候補決定部と、前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する第2のクラスタリング実行部と、を備えたものである。
【0008】
本発明の一実施形態に係るクラスタリング方法は、コンピュータが、第1のアルゴリズムによるクラスタリングを実施する工程と、コンピュータが、前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定する工程と、コンピュータが、前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する工程と、を有するものである。
【0009】
本発明の一実施形態に係るプログラムは、コンピュータを、第1のアルゴリズムによるクラスタリングを実施する第1のクラスタリング実行部と、前記第1のアルゴリズムによるクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定するクラスタ数候補決定部と、前記クラスタ数の候補を用いて、第2のアルゴリズムによるクラスタリングを実施する第2のクラスタリング実行部として、機能させるものである。
【発明の効果】
【0010】
本発明によれば、クラスタ数の最適化を効率的に行うことができる。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態に係るクラスタリング装置10の概略構成を示すブロック図。
図2】本発明の実施形態に係るクラスタリング装置10の機能構成を示すブロック図。
図3】本発明の実施形態に係るクラスタリング装置10によるクラスタリング手順のフ ローチャート。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【0013】
実施の形態
図1は、本実施形態に係るクラスタリング装置10の概略構成を示す図である。図1に示すように、クラスタリング装置10は、制御装置11(第1のクラスタリング実行部、クラスタ数候補決定部、第2のクラスタリング実行部、クラスタ数調整部、クラスタリング結果提示部、再調整要否受付部)、記憶装置12、液晶ディスプレイ等の表示装置13、キーボード、マウス、タッチパネル等の入力装置14を備えている。制御装置11は、ハードウェアとして、CPUやGPU等のプロセッサ、ROMやRAM等のメモリ、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバス等を備えている。制御装置11は、プロセッサがROM等に格納されたプログラムを実行することにより、後述する第1のクラスタリング実行処理、クラスタ数候補決定処理、第2のクラスタリング実行処理、クラスタ数調整処理、クラスタリング結果提示処理及び再調整要否受付処理を実現する。
【0014】
図2は、制御装置11のプロセッサによって実現される機能モジュールを示すブロック図である。図2に示すように、プロセッサによって実現される機能モジュールには、第1のクラスタリング実行部111、クラスタ数候補決定部112、第2のクラスタリング実行部113、クラスタ数調整部114、クラスタリング結果提示部115、再調整要否受付部116が含まれる。
【0015】
第1のクラスタリング実行部111は、第1のクラスタリング実行処理を実現するモジュールである。第1のクラスタリング実行部111は、第1のアルゴリズムによるクラスタリングを実施する。第1のアルゴリズムは、計算量が比較的軽いクラスタリング手法であり、本実施形態では、一例としてk平均法を用いる。本実施形態では、第1のクラスタリング実行部111は、複数の初期値(クラスタ数)のそれぞれをパラメータとして複数回のクラスタリングを実行する。
【0016】
クラスタ数候補決定部112は、クラスタ数候補決定処理を実現するモジュールである。クラスタ数候補決定部112は、第1のクラスタリング実行部111において実行された、複数のクラスタ数をパラメータとしたクラスタリングの結果に基づいて、1以上のクラスタ数の候補を決定する。本実施形態では、クラスタリングで得られたクラスタの凝集度に基づいてクラスタ数の候補を決定する。
【0017】
第2のクラスタリング実行部113は、第2のクラスタリング実行処理を実現するモジュールである。第2のクラスタリング実行部113は、第2のアルゴリズムによるクラスタリングを実施する。第2のアルゴリズムは、第1のアルゴリズムよりも計算量が多いクラスタリング手法であり、本実施形態では、一例としてDEC(Deep Embedding Clustering)を用いる。本実施形態では、第2のクラスタリング実行部113は、クラスタ数候補決定部112で決定された1以上のクラスタ数の候補のそれぞれをパラメータとしてクラスタリングを実行する。
【0018】
クラスタ数調整部114は、クラスタ数調整処理を実現するモジュールである。クラスタ数調整部114は、第2のアルゴリズムによるクラスタリングの結果に基づいてクラスタ数を調整する。クラスタ数調整部114は、一定の条件を満たすクラスタが得られるまで、クラスタ数を調整する。本実施形態では、クラスタリングによって生成されたクラスタ数の凝集度が一定値以上になるように、クラスタ数を調整する。
【0019】
クラスタリング結果提示部115は、クラスタリング結果提示処理を実現するモジュールである。クラスタリング結果提示部115は、クラスタ数調整部114によって調整されたクラスタ数を用いて実行された第2のアルゴリズムによるクラスタリングの結果を、表示装置13に表示する。また、表示したクラスタリングの結果に対するユーザのフィードバックに応じてクラスタ数の再調整を行った場合には、再調整したクラスタ数を用いて実行されたクラスタリングの結果を表示装置13に表示する。
【0020】
再調整要否受付部116は、再調整要否受付処理を実現するモジュールである。再調整要否受付部116は、クラスタリング結果提示部115によって表示されたクラスタリングの結果に対する、ユーザのフィードバック情報を、入力装置14を介して受け付ける。具体的には、クラスタ数の再調整の要否等の情報を受け付ける。
【0021】
記憶装置12は、ハードディスクドライブ等であり、各種プログラムや、解析対象となるデータやクラスタリングの結果等が記憶されている。
【0022】
本実施形態では、クラスタリング装置10は、まずk平均法(第1のアルゴリズム)によるクラスタリングを、クラスタ数を変化させて複数回実行する。さらに、それぞれのクラスタリング結果の評価に基づいて、1つ以上のクラスタ数の候補を決定する。さらに、決定したクラスタ数の候補をハイパーパラメータとしてDEC(第2のアルゴリズム)によるクラスタリングを実行する。
【0023】
次に、図3のフローチャートを用いて、本実施形態によるクラスタリング装置10によるクラスタリングの手順について説明する。
【0024】
まず、クラスタリング装置10は、複数のクラスタ数の初期値を設定する(ステップS101)。クラスタ数の初期値は、任意の値を設定することができる。
【0025】
次に、クラスタリング装置10は、設定した複数の初期値のそれぞれをパラメータとして、第1のアルゴリズム(本実施形態ではk平均法)によるクラスタリングを複数回実施する(ステップS102)。例えば、ステップS101で、クラスタ数の初期値として2から10までの数が設定されたとき、ステップS102において、クラスタ数が2個から10個までのそれぞれについて、第1のアルゴリズムによるクラスタリングを実施する。複数の初期値のそれぞれをクラスタ数とするクラスタリングを、1つずつ順番に実行してもよいし、並行に実行してもよい。
【0026】
次に、クラスタリング装置10は、ステップS102で実行したクラスタリング結果の評価を行う(ステップS103)。具体的には、複数の初期値のそれぞれについて実施したクラスタリングによって得られたクラスタの凝集度を評価する。例えば、上述の例では、クラスタ数を2個としたときに得られたクラスタの凝集度から、クラスタ数を10個としたときに得られたクラスタの凝集度までを、それぞれ評価する。
【0027】
クラスタ内の凝集度(クラスタ内のデータサンプルの密度)は、例えばシルエット分析によって評価することができる。シルエット分析では、クラスタ内の全てのデータサンプルのシルエット係数(クラスタ内の他のデータサンプルとの平均距離)の平均によって凝集度を表す。また、シルエット分析以外にも、エルボー法などの他の手法を利用して凝集度を評価してもよい。
【0028】
次に、クラスタリング装置10は、ステップS103で行った評価の結果に基づいて、1つ以上のクラスタ数の候補を決定する(ステップS104)。具体的には、例えば、最も高い凝集度が得られたクラスタ数、または一定値以上の凝集度が得られたクラスタ数を候補として決定する。上述の例において、例えば、クラスタ数が5個の場合と6個の場合の凝集度が所定の条件を満たしていたとき、5個と6個とがクラスタ数の候補として決定される。
【0029】
次に、クラスタリング装置10は、ステップS104で決定した1つ以上のクラスタ数の候補をパラメータとして、第2のアルゴリズム(本実施形態ではDEC)によるクラスタリングを実施する(ステップS105)。例えば、ステップS104において、5個と6個がクラスタ数の候補として決定された場合には、クラスタ数が5個と6個のそれぞれについて、第2のアルゴリズムによるクラスタリングを実施する。それぞれのクラスタ数をパラメータとしたクラスタリングを、1つずつ順番に実行してもよいし、並行に実行してもよい。
【0030】
次に、クラスタリング装置10は、ステップS105で実行したクラスタリングの結果、一定の条件を満たすクラスタが得られたか否かを判断する(ステップS106)。一定の条件を満たすクラスタとは、例えば、凝集度が一定値以上のクラスタである。クラスタの凝集度は、ステップS103と同様に、例えばシルエット分析により計算することができる。例えば、上述の例では、クラスタ数を5個としたときに得られたクラスタの凝集度と、クラスタ数を6個としたときに得られたクラスタの凝集度が、それぞれ一定値以上となったか否かを判断する。
【0031】
ステップS106で一定の条件を満たすクラスタが得られなかったと判断された場合(NO)、クラスタリング装置10は、クラスタ数を変更し(ステップS107)、再度DECによるクラスタリングを実施する(ステップS105)。上述の例では、クラスタ数を5個としたときのクラスタの凝集度と、6個としたときのクラスタの凝集度のいずれも一定値未満であれば、例えば、クラスタ数を7個に変更し、再度DECによるクラスタリングを実施する。以後、ステップS106で一定の条件を満たすクラスタが得られたと判断されるまで、クラスタ数の調整とクラスタリングの実行を繰り返す(ステップS105~ステップS107)。なお、ステップS106で一定の条件を満たすクラスタが得られなかったと判断された場合に、クラスタ数を変更し、ステップS102に戻って、再度k平均法によるクラスタリングを実施し、クラスタ数を絞り込んでから、DECによるクラスタリングを実施するようにしてもよい。
【0032】
ステップS106で、一定の条件を満たすクラスタが得られたと判断された場合には(YES)、クラスタリング装置10は、一定の条件を満たすと判断された1以上のクラスタリング結果を表示装置13に表示する(ステップS108)。例えば、クラスタ数を7個としたときのクラスタの凝集度が一定値以上となった場合には、クラスタ数7個のクラスタリング結果を表示する。ユーザは、表示装置13に表示されたクラスタリング結果を確認し、入力装置14を介して、有用なクラスタが得られたか否かを入力する。
【0033】
クラスタリング装置10は、ユーザによる入力情報に基づいて有用なクラスタが得られたか否かを判断し(ステップS109)、有用なクラスタが得られた場合には(ステップS109:YES)、処理を終了する。
【0034】
一方、有用なクラスタが得られていない場合には(ステップS109:NO)、ユーザから入力装置14を介して、クラスタ数の調整についての指示情報を取得する(ステップS110)。次に、クラスタリング装置10は、指示情報に基づいて、クラスタ数を変更し(ステップS111)、変更後のクラスタ数を用いてDECによるクラスタリングを実施する(ステップS112)。具体的には、例えば、クラスタ数の増加を指示する情報が入力された場合には、クラスタ数を増やして(例えば、1つ増やして8個)DECによるクラスタリングを実施する。なお、ここでも、複数のクラスタ数を用いて複数のクラスタリングを順番に、または並行に実行してもよい。例えば、上述の例では、クラスタ数を1つ増やした8個と、2つ増やした9個のそれぞれについてクラスタリングを実施してもよい。
【0035】
クラスタリング装置10は、クラスタリングの結果を表示装置13に表示し(ステップS108)、ステップS109で有用なクラスタが得られたと判断されるまで、ステップS108~S112を繰り返す。なお、有用なクラスタが得られたと判断されるまで、DECによるクラスタリングを実施するだけでなく、再度k平均法によるクラスタリングを実施してクラスタ数の候補を絞り込み、その後、絞り込んだクラスタ数を用いてDECによるクラスタリングを実施してもよい。例えば、変更後のクラスタ数である8個と9個のそれぞれについてk平均法によるクラスタリングを実施し、その結果、クラスタ数が9個に絞り込まれたら、クラスタ数を9個にしてDECによるクラスタリングを実施するようにしてもよい。
【0036】
以上のように、本実施形態によれば、初めに比較的計算量が軽量なクラスタリング(例えば、k平均法)を行って、クラスタ数を絞り込んでから、計算量がより多いクラスタリング(例えば、DEC)を行い、最適なクラスタ数を決めるようにした。これにより、計算量の多いクラスタリングのパラメータを予め適切な値に絞り込んでおくことができるので、クラスタリングの試行に要する時間を削減し、クラスタ数の最適化を効率的に行うことができる。これにより、最適なクラスタ数に到達するまでの時間を大幅に短縮することができる。
【0037】
また、クラスタ数の絞り込みは、クラスタリングの結果得られたクラスタの凝集度に基づいて行うようにした。これにより、アルゴリズムの種類に依存せず、クラスタリング結果の評価を適切に行うことができる。
【0038】
また、計算量がより多いクラスタリングにおいて十分な凝集度が得られたら、クラスタリング結果をユーザに提示し、ユーザのフィードバックに基づいて、クラスタ数の再調整を行うようにした。これにより、最終的には、人間の判断により、データを意味的な観点から適切に分類するのに有効なクラスタ数を見出すことができる。
【0039】
なお、ユーザがクラスタリング結果の評価をする代わりに、クラスタ内のデータの内容(語句の出現回数等)に基づいて、評価を行うプログラムを用いてフィードバックを行うようにしてもよい。
【0040】
なお、本実施形態では、計算量が軽いクラスタリングと重いクラスタリングの組み合わせとして、k平均法とDECを用いているが、クラスタリング手法の組み合わせはこれに限られない。ただし、クラスタリング手法の組み合わせによっては、軽いクラスタリングによって絞り込んだクラスタ数が、重いクラスタリングのパラメータとしては適切ではない場合もある。具体的には、例えば、クラスタリングを行う際のデータのベクトル化の方法が一致しないものを組み合わせると、クラスタ数の引き継ぎがうまくいかない場合がある。
【0041】
また、本実施形態では、クラスタリング結果の評価基準として、シルエット分析によるクラスタの凝集度を用いているが、他の分析手法によってクラスタの凝集度を計算してもよい。また、凝集度以外の基準によって評価を行ってもよい。
【0042】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【符号の説明】
【0043】
10…画像処理装置
11…制御装置
12…記憶装置
13…表示装置
14…入力装置
111…第1のクラスタリング実行部
112…クラスタ数候補決定部
113…第2のクラスタリング実行部
114…クラスタ数調整部
115…クラスタリング結果提示部
116…再調整要否受付部
図1
図2
図3