(57)【要約】      （修正有）【課題】データの関連性を視覚的に表す情報処理装置、情報処理方法、及び情報処理プログラムを提供する。【解決手段】情報処理装置は、描画エリア内にデータ値に応じた点を配置するデータ配置手段と、データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手段と、各点を包含するボロノイ領域を設定するボロノイ領域設定手段と、ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手段と、描画エリア内に配置された点を、各点間に働く引力と斥力、及び重心点に向けた引力に基づいて移動させる移動手段と、を備える。【選択図】図９
2018156234.tif 000002
【特許請求の範囲】
【請求項１】
描画エリア内にデータ値に応じた点を配置するデータ配置手段と、
前記データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手段と、
各点を包含するボロノイ領域を設定するボロノイ領域設定手段と、
前記ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手段と、
前記描画エリア内に配置された点を、前記各点間に働く引力と斥力、および前記重心点に向けた引力に基づいて移動させる移動手段とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
各点に対して、関連性が低いデータグループから離れる方向に向けた反発力を算出する第３の算出手段をさらに備え、
前記移動手段は、前記反発力も加味して前記描画エリア内に配置された点を移動させることを特徴とする情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置において、
前記第１の算出手段、前記ボロノイ領域設定手段、前記第２の算出手段、および前記移動手段による処理を、あらかじめ設定された終了条件を満たすまで繰り返す処理繰り返し手段をさらに備えることを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記処理繰り返し手段によって処理を繰り返すことにより、前記重心点に向けた引力によって前記描画領域内で各点が分散されて、前記描画エリア全体を利用して点を分布させることを特徴とする情報処理装置。
【請求項５】
描画エリア内にデータ値に応じた点を配置するデータ配置手順と、
前記データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手順と、
各点を包含するボロノイ領域を設定するボロノイ領域設定手順と、
前記ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手順と、
前記描画エリア内に配置された点を、前記各点間に働く引力と斥力、および前記重心点に向けた引力に基づいて移動させる移動手順とをコンピュータに実行させるための情報処理方法。
【請求項６】
請求項５に記載の情報処理方法において、
各点に対して、関連性が低いデータグループから離れる方向に向けた反発力を算出する第３の算出手順をさらに有し、
前記移動手順は、前記反発力も加味して前記描画エリア内に配置された点を移動させることを特徴とする情報処理方法。
【請求項７】
請求項５または６に記載の情報処理方法において、
前記第１の算出手順、前記ボロノイ領域設定手順、前記第２の算出手順、および前記移動手順による処理を、あらかじめ設定された終了条件を満たすまで繰り返す処理繰り返し手順をさらに有することを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法において、
前記処理繰り返し手順で処理を繰り返すことにより、前記重心点に向けた引力によって前記描画領域内で各点が分散されて、前記描画エリア全体を利用して点を分布させることを特徴とする情報処理方法。
【請求項９】
描画エリア内にデータ値に応じた点を配置するデータ配置手順と、
前記データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手順と、
各点を包含するボロノイ領域を設定するボロノイ領域設定手順と、
前記ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手順と、
前記描画エリア内に配置された点を、前記各点間に働く引力と斥力、および前記重心点に向けた引力に基づいて移動させる移動手順とをコンピュータに実行させるための情報処理プログラム。
【請求項１０】
請求項９に記載の情報処理プログラムにおいて、
各点に対して、関連性が低いデータグループから離れる方向に向けた反発力を算出する第３の算出手順をさらに有し、
前記移動手順は、前記反発力も加味して前記描画エリア内に配置された点を移動させることを特徴とする情報処理プログラム。
【請求項１１】
請求項９または１０に記載の情報処理プログラムにおいて、
前記第１の算出手順、前記ボロノイ領域設定手順、前記第２の算出手順、および前記移動手順による処理を、あらかじめ設定された終了条件を満たすまで繰り返す処理繰り返し手順をさらに有することを特徴とする情報処理プログラム。
【請求項１２】
請求項１１に記載の情報処理プログラムにおいて、
前記処理繰り返し手順で処理を繰り返すことにより、前記重心点に向けた引力によって前記描画領域内で各点が分散されて、前記描画エリア全体を利用して点を分布させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
次のような偏向グループ抽出装置が知られている。この偏向グループ抽出装置では、電子会議室やＳＮＳ等の発言の場に参加したユーザの中から考え方が偏っているユーザのグループを抽出する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２７１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の偏向グループ抽出装置のように、複数のデータの中から関連性が低いデータや関連性が高いデータを抽出する技術は存在しているが、従来は、各データがどのように分布しているかを視覚的に表した上で、各データの関連性を考慮して、データを視覚的に見やすくするための技術については、何ら検討されていなかった。
【課題を解決するための手段】
【０００５】
本発明による情報処理装置は、描画エリア内にデータ値に応じた点を配置するデータ配置手段と、データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手段と、各点を包含するボロノイ領域を設定するボロノイ領域設定手段と、ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手段と、描画エリア内に配置された点を、各点間に働く引力と斥力、および重心点に向けた引力に基づいて移動させる移動手段とを備えることを特徴とする。
本発明による情報処理方法は、描画エリア内にデータ値に応じた点を配置するデータ配置手順と、データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手順と、各点を包含するボロノイ領域を設定するボロノイ領域設定手順と、ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手順と、描画エリア内に配置された点を、各点間に働く引力と斥力、および重心点に向けた引力に基づいて移動させる移動手順とをコンピュータに実行させるための方法である。
本発明による情報処理プログラムは、描画エリア内にデータ値に応じた点を配置するデータ配置手順と、データの関連性を示す情報に基づいて、各点間に働く引力と斥力を算出する第１の算出手順と、各点を包含するボロノイ領域を設定するボロノイ領域設定手段と、ボロノイ領域の重心点を特定し、ボロノイ領域内の点に働く前記重心点に向けた引力を算出する第２の算出手順と、描画エリア内に配置された点を、各点間に働く引力と斥力、および重心点に向けた引力に基づいて移動させる移動手順とをコンピュータに実行させるためのプログラムである。
【発明の効果】
【０００６】
本発明によれば、データの関連性を考慮して描画エリア内に配置した点を移動させることができるため、移動後の点の分布状況により、データの関連性を視覚的に表すことができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置１００の一実施の形態の構成を示すブロック図である。
【図２】ボロノイ領域の設定例を示す図である。
【図３】各点が移動する場合の具体例を模式的に示した第１の図である。
【図４】各点が移動する場合の具体例を模式的に示した第２の図である。
【図５】各点が移動する場合の具体例を模式的に示した第３の図である。
【図６】各点が移動する場合の具体例を模式的に示した第４の図である。
【図７】移動前のデータの分布状況を示した図である。
【図８】移動後のデータの分布状況を示した図である。
【図９】情報処理装置１００で実行される処理の流れを示す第一のフローチャート図である。
【図１０】情報処理装置１００で実行される処理の流れを示す第二のフローチャート図である。
【発明を実施するための形態】
【０００８】
図１は、本実施の形態における情報処理装置１００の一実施の形態の構成を示すブロック図である。情報処理装置１００としては、例えば、サーバ装置やパソコン等の情報処理装置が用いられ、図１は、情報処理装置１００としてサーバ装置を用いた場合の一実施の形態の構成を示している。情報処理装置１００は、制御装置１０１と、記録装置１０２とを備えている。
【０００９】
制御装置１０１は、ＣＰＵ、メモリ、およびその他の周辺回路によって構成され、情報処理装置１００の全体を制御する。なお、制御装置１０１を構成するメモリは、例えばＳＤＲＡＭ等の揮発性のメモリである。このメモリは、ＣＰＵがプログラム実行時にプログラムを展開するためのワークメモリや、データを一時的に記録するためのバッファメモリとして使用される。
【００１０】
記録装置１０２は、情報処理装置１００が蓄える種々のデータや、制御装置１０１が実行するためのプログラムのデータ等を記録するための記録装置であり、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が用いられる。なお、記録装置１０２に記録されるプログラムのデータは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体に記録されて提供されたり、ネットワークを介して提供され、操作者が取得したプログラムのデータを記録装置１０２にインストールすることによって、制御装置１０１がプログラムを実行できるようになる。
【００１１】
本実施の形態における情報処理装置１００では、記録装置１０２には、凸空間に配置可能なデータがあらかじめ記録されている。本実施の形態では、直交座標系にプロット可能なデータがあらかじめ記録されており、例えば、Ｍ＝｛ｍ１,ｍ２,ｍ３,・・・,ｍＮ｝のように、データ集合Ｍには、ｍ１からｍＮのＮ個のデータが含まれ、各データは、ｍ１（ｘ１,ｙ１）、ｍ２（ｘ２,ｙ２）のように、それぞれｘ座標値とｙ座標値が設定されている。また、各データに関連性がある場合には、記録装置１０２に、どのデータとどのデータが関連するかを示すデータが記録されている。本実施の形態では、上記Ｍにおいて、ｍ１とｍ２とが関連し、ｍ１とｍ３とが関連する場合には、Ｅ＝｛（ｍ１,ｍ２）,（ｍ１,ｍ３）｝のように、関連性を示す情報Ｅが記録されている。なお、本実施の形態では、Ｅに含まれるそれぞれの要素をエッジと呼び、ｅｄｇｅ（ｍ１,ｍ２）、ｅｄｇｅ（ｍ１,ｍ３）と表記する。
【００１２】
制御装置１０１は、あらかじめ設定されているｘｙ座標系の描画エリア内に、データ集合Ｍ内に含まれている各データをプロットして配置する。また、制御装置１０１は、エッジを構成する各点間に直線を描画する。これによって、描画エリア内において、各データのデータ値に応じた点が描画されるとともに、関連性のある点同士は直線で結ばれる。本実施の形態では、関連性のある点同士をつないだ直線を連結線と呼ぶ。
【００１３】
制御装置１０１は、エッジを構成する２点を対象として、次式（１）により２点が引き合う方向に働く力、すなわち２点間の引力Ｆａと、次式（２）により２点が離れる方向に働く力、すなわち２点間の斥力Ｆｒを算出する。次式（１）、（２）においては、エッジを構成する２点の関連性が高いほどＦａが大きくなり、関連性が低いほどＦｒが大きくなるように、式が定義されている。なお、次式（１）、（２）では、ｕとｖはエッジを構成する２点を示し、ｗａ、ｗｒはあらかじめ設定されている重み係数を示し、ｕｄは点ｕに接続している連結線の数を示し、ｖｄは点ｖに接続している連結線の数を示している。ここで、ｗａ、ｗｒは例えば１である。また、次式（１）における｜｜ｖ−ｕ｜｜は、点ｖと点ｕを結ぶベクトルの大きさを示し、次式（２）における｜｜ｕ−ｖ｜｜は、点ｕと点ｖを結ぶベクトルの大きさを示している。また、ｋは、描画エリア内でのグラフレイアウトにおける点間の最適距離を表し、次式（３）により算出される。次式（３）では、Ａｒｅａは描画エリアの面積を表す変数であり、｜Ｖ｜は描画エリア内にプロットされた点の数を表す変数である。
【数１】
2018156234.tif 000003
【数２】
2018156234.tif 000004
【数３】
2018156234.tif 000005
【００１４】
制御装置１０１は、描画エリア内にプロットしたそれぞれの点に対して、公知のボロノイ図を描画する。ボロノイ図の描画方法は公知であるため、ここでは説明を省略する。これによって、図２に示すように、描画エリア内の各点に対して、各点を包含するボロノイ領域を設定して領域分けを行ったボロノイ図が作成される。
【００１５】
制御装置１０１は、各点を描画エリア内で分散させるために、各点をボロノイ領域の重心に向けて移動させるための重心に向けた引力Ｆｇを算出する。この重心に向けた引力Ｆｇは、各点とそれに対応するボロノイ領域の重心との間の距離に比例するものとする。また、より多くの連結線に接続されている点にはより多くの力が加わるため、これらの力の相互作用を補うために、接続されている連結線の数に比例させるものとする。このため、これらを考慮して、本実施の形態では、次式（４）により重心に向けた引力Ｆｇを算出する。
【数４】
2018156234.tif 000006
【００１６】
式（４）は、点ｖに対して設定されたボロノイ領域について、点ｖに対して働くボロノイ領域の重心点Ｃｖに向けた引力Ｆｇ（ｖ）を算出するための式を示している。式（４）において、ｗｇはあらかじめ設定されている重み係数、例えば１を示し、ｖｄは点ｖに接続している連結線の数を示している。｜｜Ｃｖ−ｖ｜｜は、ボロノイ領域の重心点Ｃｖと点ｖを結ぶベクトルの大きさを示し、ｋは式（３）により算出される。
【００１７】
制御装置１０１は、式（１）により算出した２点間の引力Ｆａと、式（２）により算出した２点間の斥力Ｆｒと、式（４）により算出した各点のボロノイ領域の重心に向けた引力Ｆｇとに基づいて、描画エリア内で各点を移動させる。これによって、ボロノイ領域の重心に向けた引力Ｆｇのみが加わっている点は、引力Ｆｇによりボロノイ領域の中心に向かって移動する。また、ボロノイ領域の重心に向けた引力Ｆｇと２点間の引力Ｆａと２点間の斥力Ｆｒの少なくとも２つ以上の力が加わっている点は、加わっている力の合成結果に基づいて移動する。
【００１８】
図３〜図６は、Ｆａ、Ｆｒ、Ｆｇにより、各点が移動する場合の具体例を模式的に示した図である。図３に示すように、描画エリア内にはｍ０〜ｍ８の各点がプロットされている。図３においては、エッジを構成する各点間には、連結線が描画されている。ここで、図３に示す各点に対しては、図４に示すように、エッジを構成する各点の間に働く引力Ｆａ及び斥力Ｆｒと、図５に示すように、ボロノイ領域の重心Ｃに向けた引力Ｆｇが働いているものとする。その結果、ｍ０〜ｍ８の各点は、引力Ｆａ、斥力Ｆｒ、引力Ｆｇにより、図６に示すように、それぞれｍ０´〜ｍ８´に移動する。なお、図５では、実線で示した外枠５ａは描画エリアを示し、描画エリア内に示した破線は、ボロノイ領域の境界線を示している。
【００１９】
このように、Ｆａ、Ｆｒ、Ｆｇに基づいて各点を移動させることにより、各点をボロノイ領域の重心方向に分散させつつ、関連度が高い点同士はＦａにより近づき、関連度が低い点同士はＦｒにより遠ざけることができる。
【００２０】
本実施の形態では、制御装置１０１は、移動後の各点に対して、Ｆａ、Ｆｒの算出、ボロノイ領域の設定、Ｆｇの算出、Ｆａ、Ｆｒ、Ｆｇに基づく各点の移動を複数回繰り返す。このように、上記処理を繰り返していくと、関連度が高いデータに対応する点は、描画エリア内で徐々にまとまっていくため、描画エリア内における点の分布により、各データの関連性を視覚的に把握できるようになる。
【００２１】
実データを用いた試験によると、図７に示すように、バラバラにプロットされたデータは、上記処理を複数回繰り返した結果、図８に示すように、関連性が高いデータを集中して配置させることができ、関連性が低いデータとは区別して配置させることができる。ここで、処理を繰り返す回数は特に限定されず、例えば、５０回、７０回、１００回のように回数で終了条件を設定してもよいし、各点の移動量が所定量以下に収束するまで繰り返すなど、所定の終了条件を設定してもよい。なお、繰り返し回数をあらかじめ設定する場合には、事前に、何回繰り返せば十分な精度が確保できるかを検証し、検証によって得た回数を繰り返し回数とすることが好ましい。
【００２２】
本発明の適用例としては、ＳＮＳに投稿されたメッセージデータやチャットで交わされてメッセージデータを対象とすることにより、メッセージ内容の関連性を可視化することが可能となる。この場合、収集したメッセージデータを所定のアルゴリズムで解析することにより、あらかじめ設定されたｘ軸とｙ軸で構成されるｘｙ座標系におけるデータに変換し、各データの関連性に基づいてエッジを設定しておけば、上述した処理によって、描画エリア内で図８に示したようなデータを得ることができる。
【００２３】
図９は、本実施の形態における情報処理装置１００で実行される処理の流れを示すフローチャートである。図９に示す処理は、情報処理装置１００の操作者によってプログラムの実行が指示されると起動するプログラムとして、制御装置１０１によって実行される。
【００２４】
ステップＳ１０において、制御装置１０１は、上述したように、あらかじめ設定されているｘｙ座標系の描画エリア内に、データ集合Ｍ内に含まれている各データをプロットする。その後、ステップＳ２０へ進む。
【００２５】
ステップＳ２０では、制御装置１０１は、式（１）、（２）により、エッジを構成する２点を対象として、２点間の引力Ｆａと２点間の斥力Ｆｒを算出する。その後、ステップＳ３０へ進む。
【００２６】
ステップＳ３０では、制御装置１０１は、描画エリア内にプロットしたそれぞれの点に対して、公知のボロノイ図を描画して、ボロノイ領域を設定する。その後、ステップＳ４０へ進む。
【００２７】
ステップＳ４０では、制御装置１０１は、式（４）により、各点のボロノイ領域の重心に向けた引力Ｆｇを算出する。その後、ステップＳ５０へ進む。
【００２８】
ステップＳ５０では、制御装置１０１は、上述したように、式（１）により算出した２点間の引力Ｆａと、式（２）により算出した２点間の斥力Ｆｒと、式（４）により算出した各点のボロノイ領域の重心に向けた引力Ｆｇとに基づいて、描画エリア内で各点を移動させる。その後、ステップＳ６０へ進む。
【００２９】
ステップＳ６０では、制御装置１０１は、上述したように、繰り返し処理の終了条件を満たしたか否かを判断する。ステップＳ６０で否定判断した場合には、ステップＳ２０へ戻る。これに対して、ステップＳ６０で肯定判断した場合には、処理を終了する。
【００３０】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）制御装置１０１は、座標軸が配置された描画エリア内にデータ値に応じた点を配置し、データの関連性を示す情報Ｅに基づいて、各点間に働く引力Ｆａと斥力Ｆｒを算出し、各点を包含するボロノイ領域を設定し、ボロノイ領域の重心点Ｃｖを特定し、ボロノイ領域内の点に働く重心点Ｃｖに向けた引力Ｆｇを算出するようにした。そして、制御装置１０１は、描画エリア内に配置された点を、各点間に働く引力Ｆａと斥力Ｆｒ、および重心点に向けた引力Ｆｇに基づいて移動させるようにした。これによって、関連性が高いデータに対応する点同士には互いに引き合う力（引力Ｆａ）が働き、関連性が低いデータに対応する点同士には互いに離れ合う力（斥力Ｆｒ）が働くため、描画エリア内では関連性が高いデータが集まり、まとまって表示されるため、データの関連性を視覚的に表すことが可能となる。また、各点に対して、ボロノイ領域の重心点Ｃｖに向けた引力Ｆｇも加えるようにしたため、データの関連性に応じた２点間の引力Ｆａと斥力Ｆｒだけでは、データの関連性に応じてデータを示す点が描画エリア内で固まりすぎてしまう可能性があるが、これを回避し、各点を描画エリア内で適度に分散させて各点の視認性向上につなげることができる。
【００３１】
（２）制御装置１０１は、制御装置１０１は、Ｆａ、Ｆｒの算出、ボロノイ領域の設定、Ｆｇの算出、Ｆａ、Ｆｒ、Ｆｇに基づく各点の移動をあらかじめ設定された終了条件を満たすまで複数回繰り返すようにした。これによって、描画エリア内で関連性が高いデータ同士がまとまってグループを構成するまで処理を繰り返せば、描画エリア内における点の分布により、各データの関連性を視覚的に把握できるようになる。また、各点をボロノイ領域の重心に向けて移動させるための重心に向けた引力Ｆｇを加味して点を移動させるようにしたため、各点の移動を複数回繰り返して行えば、引力Ｆｇによって描画領域内で各点が分散され、描画エリア全体を利用して点を分布させることができる。
【００３２】
―変形例―
なお、上述した実施の形態の情報処理装置１００は、以下のように変形することもできる。
（１）上述した実施の形態では、  制御装置１０１は、ｘｙ座標系の描画エリア内にデータをプロットし、式（１）、（２）により、エッジを構成する２点を対象として、２点間の引力Ｆａと２点間の斥力Ｆｒを算出するようにした。そして、制御装置１０１は、描画エリア内にプロットしたそれぞれの点に対して、公知のボロノイ図を描画して、ボロノイ領域を設定し、式（４）により、各点のボロノイ領域の重心に向けた引力Ｆｇを算出して、２点間の引力Ｆａと２点間の斥力Ｆｒと各点のボロノイ領域の重心に向けた引力Ｆｇとに基づいて、描画エリア内で各点を移動させる例について説明した。この方法によって描画エリア内で各点を移動させれば、多くの場合で関連度が高い点が一つのグループを構成するように一定の領域内にまとめて配置させることができるが、場合によっては、グループ間の境界が不明確となり、最終的なデータの配置を見ても、関連性が高いデータのグループを明確に区別することが困難となる可能性がある。例えば、エッジを構成しない点が多く含まれる場合、これらの点は他の点との間でＦｒやＦａの力が働かないため、Ｆｇによってボロノイ領域の重心に移動する。このようにデータの関連性に左右されずに移動する点が多く存在する場合には、移動をさせた後に、グループ間の境界が不明確となる可能性が高くなる。これを回避するために、上述したＦｒ、Ｆａ、Ｆｇに加えて、各点に対して関連性が低い他のグループから離れる方向に向けた反発力Ｆｃを与えることにより、エッジを構成しない点同士が遠ざかるようにしてもよい。以下、反発力Ｆｃの算出方法について説明する。
【００３３】
制御装置１０１は、まず、関連性を示す情報Ｅに基づいて、連結線で接続されている複数の点の集合を連結グループとして特定しておく。例えば、図３〜図６に示した例では、ｍ０〜ｍ４で構成される連結グループと、ｍ５〜ｍ８で構成される連結グループが特定される。
【００３４】
制御装置１０１は、描画エリア内の任意の点ｖに対して、次式（５）により、点ｖが属する連結グループに含まれる全ての点を包含した領域の中心位置の座標Ｇｖを算出する。なお、次式（５）において、Ｖｖは、点ｖが属する連結グループに含まれる点の集合を示し、｜Ｖｖ｜は、点ｖが属する連結グループに含まれる点の数を示す。
【数５】
2018156234.tif 000007
【００３５】
そして、制御装置１０１は、次式（６）により、各点に加える反発力Ｆｃを算出する。
【数６】
2018156234.tif 000008
【００３６】
式（６）は、描画エリア内の点ｖに対して加える力Ｆｃ（ｖ）を算出する場合の例を示している。式（６）では、Ｎｖは、点ｖに対して設定されたボロノイ領域に隣接するボロノイ領域に含まれる点の集合を示している。例えば、図５において、ｍ１を点ｖとすると、Ｎｖは、ｍ２、ｍ４、ｍ５となる。また、ｍ７を点ｖとした場合には、Ｎｖは、ｍ５、ｍ６となる。Ｇｕは、Ｎｖに含まれる各点ｕが属する連結グループに含まれる全ての点を包含した領域の中心位置の座標を示している。
【００３７】
また、式（６）において、ｗｃはあらかじめ設定されている重み係数、例えば１を示し、ｈ（ｕ,ｖ）は、Ｇｕ＝Ｇｖのとき、すなわち点ｖと点ｕが同じ連結グループに属するときは０となり、Ｇｕ≠Ｇｖのとき、すなわち点ｖと点ｕが異なる連結グループに属するときは１となる変数である。また、r（Ｇｕ）は、点ｕが属する連結グループを包含する領域の中心Ｇｕから分離する最小距離の推定値であり、これは次式（７）により算出される。なお、式（７）において、Ａ（Ｃｕ）は、点ｕに対して設定されたボロノイ領域の面積を表している。
【数７】
2018156234.tif 000009
【００３８】
各点に対して反発力Ｆｃも適用することによって、各点には、近くに存在する他の連結グループから離れる方向に力が働くため、関連性が低いグループ間での点の重なりが回避され、関連するデータの集合を視覚的に把握しやすくすることができる。
【００３９】
図１０に、この変形例における情報処理装置１００で実行される処理の流れを示すフローチャートを示す。なお、図１０では、上述した実施の形態における図９と同様の処理については同じステップ番号を付与し、ここでの説明は省略する。図１０に示す処理では、ステップＳ４０で各点のボロノイ領域の重心に向けた引力Ｆｇを算出した後には、ステップＳ４１へ進む。
【００４０】
ステップＳ４１では、制御装置１０１は、式（６）により、各点に加える反発力Ｆｃを算出する。その後、ステップＳ５１へ進む。ステップＳ５１では、制御装置１０１は、制御装置１０１は、式（１）により算出した２点間の引力Ｆａと、式（２）により算出した２点間の斥力Ｆｒと、式（４）により算出した各点のボロノイ領域の重心に向けた引力Ｆｇと、式（６）により算出した各点に加える反発力Ｆｃとに基づいて、描画エリア内で各点を移動させる。その後、ステップＳ６０へ進む。
【００４１】
（２）上述した実施の形態では、データを２次元の直交座標系で示す描画エリアにプロットして、Ｆｒ，Ｆａ、Ｆｇの各力に基づいて、データを示す点を描画エリア内で移動させる例について説明した。しかしながら、本発明は、データを３次元の座標空間上にプロットする場合にも適用可能である。また、本発明の適用範囲は、直交座標系に限定されず、極座標系や球面座標系などの他の座標系にも適用することができる。
【００４２】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【００４３】
１００  情報処理装置
１０１  制御装置
１０２  記録装置
【図１】
2018156234.tif 000010
【図２】
2018156234.tif 000011
【図３】
2018156234.tif 000012
【図４】
2018156234.tif 000013
【図５】
2018156234.tif 000014
【図６】
2018156234.tif 000015
【図７】
2018156234.tif 000016
【図８】
2018156234.tif 000017
【図９】
2018156234.tif 000018
【図１０】
2018156234.tif 000019