以下に、本願に係る情報処理装置、情報処理方法、および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、および情報処理プログラムが限定されるものではない。
[実施形態]
〔1.情報処理装置の一例〕
まず、図1を用いて、生成処理および提供処理を実行する情報処理装置の一例について説明する。図1は、実施形態に係る情報処理装置が実行する生成処理および提供処理の一例を示す図である。図1では、情報処理装置10は、以下に説明する生成処理および提供処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
より具体的には、情報処理装置10は、インターネット等の所定のネットワークN(例えば、図2を参照)を介して、入力装置100や出力装置200(例えば、図2を参照)、端末装置300(例えば、図2を参照)といった任意の装置と通信が可能である。
ここで、入力装置100は、マイクなどの音声を取得する音声取得装置を用いて、参加者の発言を取得する。そして、入力装置100は、任意の音声認識技術を用いて、発言をテキストデータに変換し、変換後のテキストデータを情報処理装置10へと送信する。また、出力装置200は、スピーカ等の音声を出力する装置を用いて、情報処理装置10から受信したテキストデータの読み上げを行う。なお、出力装置200は、情報処理装置10から受信したテキストデータを所定の表示装置に表示することができる。また、端末装置300は、集会における各参加者が使用する端末装置であり、情報処理装置10から受信した任意の情報を出力可能な情報処理装置である。例えば、端末装置300は、情報処理装置10から受信した情報を表示したり、音声として出力したりすることができる。
なお、入力装置100、出力装置200、および端末装置300は、スマートフォンやタブレット等のスマートデバイス、デスクトップPC(Personal Computer)やノートPC、サーバ装置等の情報処理装置により実現される。なお、入力装置100、出力装置200、および端末装置300は、例えば、同一の情報処理装置によって実現されてもよく、例えば、ロボット等の装置によって実現されてもよい。
なお、以下の説明においては、情報処理装置10は、入力装置100に代えて、任意の音声認識技術を用いて、参加者の発言をテキストデータに変換可能である。すなわち、入力装置100から参加者の発言の音声データを取得した場合、参加者の発言をテキストデータに変換することができる。また、情報処理装置10は、形態素解析やw2v(word2vec)、ディープラーニング等の技術を用いて、テキストデータに変換された発言の内容を解析する言語解析を行う。なお、言語解析技術については、任意の技術が適用可能であるものとする。
〔2.情報処理装置が実行する生成処理および提供処理について〕
ここで、会議等の発言に対応する発言をロボット等から出力することで、集会を円滑に進行させるといった技術が考えられる。例えば、会議等における発言に対応する分野(以下、「カテゴリ」ともいう)に類似するカテゴリを示す発言をロボット等から出力することで、会議において新たな着想をもたらす可能性がある。しかしながら、従来のように、単に次元空間におけるグラフの同士を比較する場合、どのグラフが類似しているのかを適切に決定することが難しく、会議等における発言に対して情報提供したカテゴリが適切なカテゴリでない場合がある。このため、従来の方法では、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができないおそれがある。
〔2−1.情報処理装置が実行する生成処理について〕
そこで、情報処理装置10は、各カテゴリに対応するグラフ情報の位相構造に基づく類似性により、カテゴリ間に類似性を判定し、その情報を用いて情報提供を行う。そのために、情報処理装置10は、以下の生成処理を実行する。
まず、情報処理装置10は、各カテゴリに対応する情報を収集し、その情報に基づいて、各カテゴリに対応する多次元のグラフ情報を生成する。例えば、情報処理装置10は、w2vやs2v(sentence2vec)等により、単語や文章をベクトル(多次元量)に変換する。より具体的な例を挙げると、情報処理装置10は、外部装置等から取得した各カテゴリに属する文章から、形態素解析等の技術を用いて単語群を抽出し、抽出した単語をベクトルに変換する。このように、情報処理装置10は、カテゴリごとに異なる多次元のベクトル空間を生成する。すなわち、情報処理装置10は、カテゴリごとに多次元のグラフ情報を生成する。以下、ベクトル化される要素は単語である場合を一例として説明する。なお、ベクトル化される各要素は、単語に限らず、文章や論文等の文書自体であってもよい。
例えば、情報処理装置10は、医療、物理学、料理等、様々なカテゴリに関連する文章をそのカテゴリに属する文章として取得する。例えば、情報処理装置10は、医療関連の論文や特許公報等を医療分野に関連する文章として取得し、レシピや料理の歴史を示す論文等を料理に関連する文章として取得する。そして、情報処理装置10は、各文章から単語を抽出し、抽出した単語の相対的な関連性に基づいて、単語をベクトル化する。すなわち、情報処理装置10は、カテゴリごとに異なる単語ベクトル空間を生成する。なお、このようなベクトル化については、w2vに限らず、種々のベクトル化技術が採用可能である。
なお、ベクトル化する情報は、ベクトル化することができる情報、すなわち、多次元量に変換することができる情報であれば、任意の情報であってもよい。例えば、情報処理装置10は、画像情報、動画情報、音声情報をベクトル化した情報を対象としてもよい。この場合、情報処理装置10は、各カテゴリの画像情報、動画情報、音声情報が有する特徴量を情報として、各カテゴリのグラフ情報を生成してもよい。
また、情報処理装置10は、各カテゴリのグラフ情報に基づいて、グラフ情報の位相構造を示すトポロジ情報を生成する。情報処理装置10は、位相的データ分析に基づいて、各カテゴリのグラフ情報の位相構造を示すトポロジ情報を生成する。すなわち、情報処理装置10は、各カテゴリに対応するトポロジ情報を生成する。
例えば、情報処理装置10は、パーシステントホモロジーの技術を用いて、各カテゴリのグラフ情報のトポロジ情報を生成する。例えば、情報処理装置10は、非特許文献1に開示されるようなパーシステントホモロジーの技術等の種々の従来技術を適宜用いて、各カテゴリのグラフ情報のトポロジ情報を生成する。なお、情報処理装置10は、各カテゴリのグラフ情報の位相構造を示すトポロジ情報を生成可能であれば、どのような手法を用いてもよい。
図1の(A)に示す例では、カテゴリ#1の各単語に対応するベクトルを点とする多次元のグラフGR1−1〜GR1−3を示す。図1に示すグラフGR11−1〜GR11−3は、各点の膨張の過程を模式的に示す図であり、グラフGR11−1〜GR11−3は、同一のカテゴリ#1のグラフである。以下、グラフGR11−1〜GR11−3について、特に区別なく説明する場合には、グラフGR11と記載する。なお、説明を簡単にするために、グラフGR11中に4つの単語(ベクトル)に対応する4つの点のみを図示するが、グラフGR11には、カテゴリ#1の要素数(単語数)に対応する点が含まれる。
例えば、情報処理装置10は、パーシステントホモロジーに基づいて、各点を膨張させ、膨張する各点による穴の発生や消滅を示す情報を生成する。情報処理装置10は、パーシステントホモロジーに基づいて、各点を膨張させ、膨張する各点による穴の発生や消滅を示す情報を生成する。この場合、情報処理装置10は、各点の円周が0の状態から開始し、各点を膨張させ、ある複数の点により穴の発生(Birth)やその穴の消滅(Death)を示す情報を生成してもよい。情報処理装置10は、各点の円周が0の状態から開始し、各点を膨張させ、ある複数の点により穴が発生したタイミング(時点)やその穴が消滅したタイミング(時点)を計測してもよい。
上記の例では、情報処理装置10は、グラフ中の離散点データを膨張させる(解像度を変更する)。すなわち、情報処理装置10は、データの解像度を変えてマルチスケールで形を捉える。そして、情報処理装置10は、穴の発生と消滅によりグラフの特徴を示す情報を生成する。図1の例では、情報処理装置10は、パーシステントホモロジーに基づいて、所定の次元(以下「k次元」とする(例えばkは任意の1以上の自然数))における穴の発生や消滅を示す情報を生成する。
情報処理装置10は、上記処理による穴の発生と消滅に基づいて、パーシステント図を生成する。図1の(A)に示す例では、情報処理装置10は、カテゴリ#1に対応するパーシステント図PL1を生成する。例えば、情報処理装置10は、k次元の穴のサイズや形状に基づくパーシステント図PL1を生成する。パーシステント図中の点(以下「生死ベクトル」ともいう)は、データ内の穴を示す。パーシステント図PL1の各点は、グラフGR11の各点を膨張させることにより生成され、消滅した穴を示す。パーシステント図PL1は、グラフGR11の各点を膨張させることにより生成され、消滅した穴を点として、穴の発生と消滅の関係を示す空間(以下「生死空間」ともいう)にプロットした図を示す。パーシステント図中の発生軸(例えばパーシステント図PL1の横軸)は、穴の発生パラメータを示す。例えば、パーシステント図中の発生軸は、穴の発生時点に関するパラメータを示す。パーシステント図中の消滅軸(例えばパーシステント図PL1の縦軸)は、穴の消滅パラメータを示す。例えば、パーシステント図中の消滅軸は、穴の消滅時点に関するパラメータを示す。例えば、パーシステント図中の対角線(図示せず)付近の点は発生から消滅までの時間(生存時間)が短く、対角線から離れた点は生存時間が長いことを示す。これにより、情報処理装置10は、データの穴情報をマルチスケールで捉えたパーシステント図を生成することができる。
また、情報処理装置10は、パーシステント図における穴の発生と消滅との関係(以下「生死関係」ともいう)を示す関数(以下「第1関数」とする)を生成する。例えば、情報処理装置10は、パーシステント図における穴の生死関係に基づくグラフの位相構造を示す第1関数を生成する。なお、情報処理装置10は、種々の従来技術を適宜用いて穴の生死関係を示す第1関数を導出してもよい。
ここで、情報処理装置10が生成する第1関数は、穴の生死関係を示し、元となるグラフの位相構造的な特徴を示している。そして、情報処理装置10が生成する第1関数は、線形になるとは限らない。例えば、k次元に対応する第1関数が非線形な関数である場合、各関数が類似するかを比較することが難しい。そのため、情報処理装置10は、第1関数が非線形な関数である場合、第1関数に基づいて線形な関数(以下「第2関数」とする)を生成する。
情報処理装置10は、各グラフに対応する第2関数をグラフ情報の位相構造を示す複数のトポロジ情報として生成する。これにより、情報処理装置10は、線形な第2関数を比較することにより、各グラフに対応する第2関数をグラフ情報の位相構造を示す複数のトポロジ情報として生成する。なお、情報処理装置10は、導出した第1関数が線形である場合、その第1関数をトポロジ情報として用いてもよい。すなわち、第1関数と第2関数とは同じであってもよい。
情報処理装置10は、無限次元ベクトル空間に関する技術を用いて、穴の発生と消滅に関する線形化した情報(第2関数)を生成する。情報処理装置10は、再生核ヒルベルト空間に関する技術を用いて、第2関数を生成してもよい。例えば、情報処理装置10は、非特許文献2に開示されるような再生核ヒルベルト空間に関する技術等の種々の従来技術を適宜用いて、第2関数を生成する。なお、情報処理装置10は、穴の発生と消滅に関する線形化した情報を生成可能であれば、どのような手法を用いてもよい。
ここで、ベクトルxを固定ベクトル(k次元)とした場合について関数f(x)の汎関数Fは、以下の式(1)を満たすこととなる。
このような汎関数Fは、ベクトルxを固定ベクトル(k次元)とすることで関数fを入力とし、関数f(x)と同じ結果を示す関数であると見做すことができる。例えば、関数f(x)は、x次元における穴の生死関係を示す関数に対応する。
情報処理装置10は、上記の式(1)を用いて関数f(x)が線形となる次元を決定してもよい。例えば、情報処理装置10は、x=m(例えばmは任意の1以上の自然数)のときに関数f(x)が線形となる場合、m次元の第2関数をトポロジ情報に決定してもよい。
なお、情報処理装置10は、k次元に限らず、複数の次元の各々に対応するパーシステント図を生成し、穴の生死情報から導出された関数が線形になる次元の関数をトポロジ情報として用いてもよい。例えば、情報処理装置10は、1〜z次元(例えばzは500等、任意の1より大きい自然数)の各々に対応するパーシステント図を生成し、穴の生死情報から導出された関数が線形になる次元(例えば13次元等)の関数をトポロジ情報として用いてもよい。そして、情報処理装置10は、各カテゴリに対応するトポロジ情報の傾きを比較することにより、類似カテゴリを決定してもよい。なお、情報処理装置10は、トポロジ情報の類似性を判定可能であれば、トポロジ情報の傾きに限らず、種々の情報を用いて、類似カテゴリを決定してもよい。例えば、情報処理装置10は、パーシステント図PL1に示すような穴の生死関係を示す点がトポロジ情報に含まれる場合、その点の分布の情報を用いて、類似カテゴリを決定してもよい。
例えば、情報処理装置10は、図4中のグラフGRXの1次元のパーシステント図PDXに示すように、穴の生死関係を示す関数が線形になる次元が1次元である場合、その関数をトポロジ情報として用いてもよい。図4は、実施形態に係るパーシステントホモロジーの一例を示す図である。そして、情報処理装置10は、各カテゴリに対応する1次元のトポロジ情報の傾きを比較することにより、類似カテゴリを決定してもよい。
〔3.情報処理装置が実行する処理の一例〕
次に、図1を用いて、情報処理装置10が実行する生成処理および提供処理の一例について説明する。まず、情報処理装置10が実行する生成処理の一例について説明する。
まず、情報処理装置10は、各カテゴリのグラフ情報の位相構造を示すトポロジ情報を生成する(ステップS1)。情報処理装置10は、各カテゴリ#1〜#N(例えばNは1000等、任意の1より大きい自然数)のグラフ情報の位相構造を示すトポロジ情報を生成する。情報処理装置10は、各カテゴリ#1〜#Nの各々に対応するトポロジ情報を生成する。
例えば、情報処理装置10は、図1の(A)に示すように、カテゴリ#1の各単語に対応するベクトルを点とする多次元のグラフGR1を用いて、カテゴリ#1に対応するトポロジ情報PD1を生成する。図1の(A)に示す例では、情報処理装置10は、カテゴリ#1に対応するパーシステント図PL1を生成する。図1の例では、情報処理装置10は、パーシステントホモロジーに基づいてk次元における穴の発生や消滅を示すパーシステント図PL1を生成する。そして、情報処理装置10は、パーシステント図PL11における穴の生死関係を示す第1関数を生成する。
そして、情報処理装置10は、パーシステント図PL11における穴の生死関係を示す第1関数に基づいて、カテゴリ#1に対応するトポロジ情報PD1を生成する。情報処理装置10は、上記の式(1)を用いて関数f(x)が線形となる次元を決定する。例えば、情報処理装置10は、m次元(例えば11次元等)のときに関数f(x)が線形となる場合、m次元の第2関数をトポロジ情報に決定する。そして、情報処理装置10は、m次元の場合の第2関数をカテゴリ#1に対応するトポロジ情報PD1として用いる。図1では、情報処理装置10は、線LN1で示すような第2関数をカテゴリ#1に対応するトポロジ情報PD1として用いる。なお、情報処理装置10は、パーシステント図PL11における穴の生死関係を示す第1関数が線形である場合、その第1関数をカテゴリ#1に対応するトポロジ情報PD1としてもよい。また、情報処理装置10は、他のカテゴリ#2〜#Nについても、同様にm次元の場合の第2関数をカテゴリ#2〜#Nに対応するトポロジ情報PD2〜PDNとして用いる。
情報処理装置10は、参加者の発言を受け付ける(ステップS2)。そして、情報処理装置10は、発言に対応する対象カテゴリのトポロジ情報と他のトポロジ情報との比較に基づいて、対象カテゴリにグラフ情報が位相構造的に類似する類似カテゴリを決定する(ステップS3)。まず、情報処理装置10は、取得した参加者の発言から形態素解析等の技術を用いて単語(キーワード)を抽出し、抽出したキーワード(抽出キーワード)に基づいて発言に対応する対象カテゴリを決定する。情報処理装置10は、発言から抽出された抽出キーワード中に、一のカテゴリに関連するキーワードが所定の閾値以上含まれる場合、その一のカテゴリを対象カテゴリに決定してもよい。この場合、情報処理装置10は、各カテゴリに対応付けられた単語の一覧(関連キーワード一覧)と、抽出キーワードとを比較することにより、どのカテゴリに関連するキーワードが発言に含まれるかを判定してもよい。なお、カテゴリの決定に用いる所定の閾値は、用途や目的に応じて適宜設定(変更)されてもよい。
例えば、情報処理装置10は、任意の音声認識技術を用いて発言が変換されたテキストデータから形態素解析等の技術を用いて単語(キーワード)を抽出し、抽出したキーワードに基づいて発言に対応する対象カテゴリを決定する。図1では、情報処理装置10は、図1の(B)に示すように、参加者の発言に対応する対象カテゴリをカテゴリ#5に決定する。例えば、情報処理装置10は、カテゴリ#5が医学である場合、参加者の発言の抽出キーワードに医学の関連キーワードが所定の閾値以上含まれる場合、カテゴリ#5(医学)を対象カテゴリに決定してもよい。
情報処理装置10は、カテゴリ#5のトポロジ情報PD5と、他のトポロジ情報PD1〜PD4、PD6〜PDNとの比較に基づいて、対象カテゴリにグラフ情報が位相構造的に類似する類似カテゴリを決定する。情報処理装置10は、カテゴリ#5のトポロジ情報PD5の傾きと、他のトポロジ情報PD1〜PD4、PD6〜PDNの傾きとを比較することにより、カテゴリ#5の類似カテゴリを決定する。
例えば、情報処理装置10は、図1の(B)に示すように、カテゴリ#1のトポロジ情報PD1やカテゴリ#2のトポロジ情報PD2やカテゴリ#21のトポロジ情報PD21と、カテゴリ#5のトポロジ情報PD5とを比較する。図1では、情報処理装置10は、カテゴリ#1の第2関数に対応する線LN1やカテゴリ#2の第2関数に対応する線LN2やカテゴリ#21の第2関数に対応する線LN21と、カテゴリ#5の第2関数に対応する線LN5とを比較する。例えば、情報処理装置10は、カテゴリ#5の第2関数の傾きと最も近い傾きの第2関数に対応するカテゴリをカテゴリ#5の類似カテゴリに決定する。図1では、情報処理装置10は、カテゴリ#5の第2関数の傾きと最も近い傾きの第2関数に対応するカテゴリ#21をカテゴリ#5の類似カテゴリに決定する。
そして、情報処理装置10は、決定した類似カテゴリを示す情報を提供する(ステップS4)。例えば、情報処理装置10は、ロボットなどの出力装置200に対し、決定した類似カテゴリを示す情報を出力させる。例えば、情報処理装置10は、カテゴリ#21がカテゴリ#5に類似するカテゴリであることを示す情報を出力させる。この結果、情報処理装置10は、参加者の発言に対応するカテゴリ#5の類似カテゴリを参加者が把握することができるため、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
〔4.情報処理装置の構成〕
以下、上記した生成処理および提供処理を実現する情報処理装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報処理装置の構成例を示す図である。図2に示すように、情報処理装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、入力装置100、出力装置200、および端末装置300との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、ベクトル空間データベース31を記憶する。
ベクトル空間データベース31には、各情報のベクトルが登録されている。例えば、図3は、実施形態に係るベクトル空間データベースに登録される情報の一例を示す図である。図3に示す例では、ベクトル空間データベース31には、「カテゴリID(Identifier)」、「カテゴリ」、「単語」、「単語ベクトル」等といった項目を有する情報が登録される。
ここで、「カテゴリID」とは、単語が属する分野を識別する識別子である。また、「カテゴリ」とは、単語が属する分野を示す情報である。また、「単語」とは、対応付けられたカテゴリIDが示す分野に属する単語である。また、「単語ベクトル」とは、対応付けられた単語のベクトルである。
例えば、図3に示す例では、カテゴリID「ID#1」、カテゴリ「カテゴリ#1」、対応関数「対応関数#1」、単語「単語#1−1」、および単語ベクトル「ベクトル#1−1」が対応付けて登録されている。このような情報は、カテゴリID「ID#1」が示す分野が「カテゴリ#1」である旨を示す。また、このような情報は、単語「単語#1−1」が「カテゴリ#1」に属しており、この単語のベクトルが「ベクトル#1−1」である旨を示す。
なお、図3に示す例では、「カテゴリ#1」、「単語#1−1」、「ベクトル#1−1」といった概念的な値について記載したが、実際には、カテゴリを示す文字列、対応関数、単語となる文字列、およびベクトルが登録されることとなる。また、例えば、ベクトル空間データベース31には、各ベクトルをカーネル関数により無限次元化した無限次元ベクトルが登録されていてもよい。
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図2に示すように、制御部40は、取得部41、生成部42、決定部43、および提供部44を有し、上述した生成処理および提供処理を実行する。例えば、生成部42は、上述した生成処理を実行し、提供部44は、上述した提供処理を実行する。
取得部41は、各種情報を取得する。取得部41は、生成処理や提供処理を実行するために必要な各種の情報を取得する。例えば、取得部41は、記憶部30から各種情報を取得する。例えば、取得部41は、ベクトル空間データベース31等から各種情報を取得する。また、取得部41は、各種情報を外部の情報処理装置から取得する。取得部41は、入力装置100や出力装置200や端末装置300等の外部装置から各種情報を取得する。
例えば、取得部41は、医療、物理学、料理等、様々なカテゴリに関連する文章をそのカテゴリに属する文章として取得する。例えば、取得部41は、医療関連の論文や特許公報等を医療分野に関連する文章として取得し、レシピや料理の歴史を示す論文等を料理に関連する文章として取得する。また、取得部41は、入力装置100から集会の参加者の発言を示す情報(例えば、音声データまたはテキストデータ)を取得する。
取得部41は、多次元空間における複数のグラフ情報の各々の位相構造を示す複数のトポロジ情報を取得する。取得部41は、複数の分野の各々に対応する複数のグラフ情報の複数のトポロジ情報を取得する。取得部41は、利用者の発話に基づいて決定された入力分野を示す情報を取得する。
生成部42は、各種情報を生成する。生成部42は、取得部41により取得された各種情報に基づいて、種々の情報を生成する。例えば、生成部42は、記憶部30に記憶された各種情報に基づいて、種々の情報を生成する。例えば、生成部42は、ベクトル空間データベース31等に記憶された情報に基づいて、各種情報を生成する。生成部42は、決定部43により決定された各種情報に基づいて、種々の情報を生成する。
生成部42は、各文章から単語を抽出し、抽出した単語の相対的な関連性に基づいて、単語をベクトル化する。生成部42は、カテゴリごとに異なる単語ベクトル空間を生成する。生成部42は、取得部41により取得された参加者の発言から形態素解析等の技術を用いて単語(キーワード)を抽出する。
また、生成部42は、各カテゴリのグラフ情報に基づいて、グラフ情報の位相構造を示すトポロジ情報を生成する。生成部42は、位相的データ分析に基づいて、各カテゴリのグラフ情報の位相構造を示すトポロジ情報を生成する。すなわち、生成部42は、各カテゴリに対応するトポロジ情報を生成する。例えば、生成部42は、パーシステントホモロジーの技術を用いて、各カテゴリのグラフ情報のトポロジ情報を生成する。例えば、生成部42は、非特許文献1に開示されるようなパーシステントホモロジーの技術等の種々の従来技術を適宜用いて、各カテゴリのグラフ情報のトポロジ情報を生成する。
生成部42は、上記処理による穴の発生と消滅に基づいて、パーシステント図を生成する。図1の(A)に示す例では、生成部42は、カテゴリ#1に対応するパーシステント図PL1を生成する。例えば、生成部42は、パーシステント図における穴の生死関係に基づくグラフの位相構造を示す第1関数を生成する。
生成部42は、各グラフに対応する第2関数をグラフ情報の位相構造を示す複数のトポロジ情報として生成する。生成部42は、無限次元ベクトル空間に関する技術を用いて、穴の発生と消滅に関する線形化した情報(第2関数)を生成する。生成部42は、再生核ヒルベルト空間に関する技術を用いて、第2関数を生成してもよい。例えば、生成部42は、非特許文献2に開示されるような再生核ヒルベルト空間に関する技術等の種々の従来技術を適宜用いて、第2関数を生成する。
生成部42は、再生核ヒルベルト空間への変換に基づいて、複数のトポロジ情報を生成する。例えば、生成部42は、共通基底ベクトルをカーネル関数によって生成する。例えば、生成部42は、再生核ヒルベルト空間を用いて、所定のカーネル関数により、有限次元ベクトル空間を無限次元ベクトル空間(関数空間)に変換する。例えば、生成部42は、所定のカテゴリに属する情報のベクトルを、所定のカーネル関数(例えば、カーネルトリック)を用いて無限次元化し、無限次元化したベクトルを基底とする合成ベクトルを所定のカテゴリの無限次元ベクトルとする。
決定部43は、各種情報を決定する。決定部43は、取得部41により取得された各種情報に基づいて、種々の情報を決定する。例えば、決定部43は、記憶部30に記憶された各種情報に基づいて、種々の情報を決定する。例えば、決定部43は、ベクトル空間データベース31等に記憶された情報に基づいて、各種情報を決定する。決定部43は、生成部42により生成された各種情報に基づいて、種々の情報を決定する。
決定部43は、上記の式(1)を用いて関数f(x)が線形となる次元を決定する。例えば、決定部43は、m次元(例えば11次元等)のときに関数f(x)が線形となる場合、m次元の第2関数をトポロジ情報に決定する。決定部43は、発言に対応する対象カテゴリのトポロジ情報と他のトポロジ情報との比較に基づいて、対象カテゴリにグラフ情報が位相構造的に類似する類似カテゴリを決定する。決定部43は、取得した参加者の発言から形態素解析等の技術を用いて単語(キーワード)を抽出し、抽出したキーワード(抽出キーワード)に基づいて発言に対応する対象カテゴリを決定する。決定部43は、発言から抽出された抽出キーワード中に、一のカテゴリに関連するキーワードが所定の閾値以上含まれる場合、その一のカテゴリを対象カテゴリに決定してもよい。
決定部43は、参加者の発言が変換されたテキストデータから抽出された単語(キーワード)に基づいて、発言に対応する対象カテゴリを決定する。図1では、決定部43は、図1の(B)に示すように、参加者の発言に対応する対象カテゴリをカテゴリ#5に決定する。決定部43は、カテゴリ#5のトポロジ情報PD5と、他のトポロジ情報PD1〜PD4、PD6〜PDNとの比較に基づいて、対象カテゴリにグラフ情報が位相構造的に類似する類似カテゴリを決定する。決定部43は、カテゴリ#5のトポロジ情報PD5の傾きと、他のトポロジ情報PD1〜PD4、PD6〜PDNの傾きとを比較することにより、カテゴリ#5の類似カテゴリを決定する。
決定部43は、図1の(B)に示すように、カテゴリ#1のトポロジ情報PD1やカテゴリ#2のトポロジ情報PD2やカテゴリ#21のトポロジ情報PD21と、カテゴリ#5のトポロジ情報PD5とを比較する。図1では、決定部43は、カテゴリ#1の第2関数に対応する線LN1やカテゴリ#2の第2関数に対応する線LN2やカテゴリ#21の第2関数に対応する線LN21と、カテゴリ#5の第2関数に対応する線LN5とを比較する。例えば、決定部43は、カテゴリ#5の第2関数の傾きと最も近い傾きの第2関数に対応するカテゴリをカテゴリ#5の類似カテゴリに決定する。図1では、決定部43は、カテゴリ#5の第2関数の傾きと最も近い傾きの第2関数に対応するカテゴリ#21をカテゴリ#5の類似カテゴリに決定する。
提供部44は、各種情報を提供する。提供部44は、提供処理を行う。提供部44は、各種情報を外部の情報処理装置に提供する。提供部44は、入力装置100や出力装置200や端末装置300等の外部装置に各種情報を提供する。提供部44は、外部装置に各種情報を送信する。提供部44は、外部装置に各種情報を配信する。提供部44は、取得部41により取得された各種情報に基づいて、種々の情報を提供する。提供部44は、生成部42により生成された各種情報に基づいて、種々の情報を提供する。提供部44は、決定部43により決定された各種情報に基づいて、種々の情報を提供する。
提供部44は、複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、一のトポロジ情報に対応する一のグラフ情報に位相構造的に類似する類似グラフ情報を示す情報を提供する。提供部44は、生成部42により生成された複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、類似グラフ情報を示す情報を提供する。提供部44は、一のグラフ情報に対応する分野(カテゴリ)に類似する類似分野(類似カテゴリ)を示す情報を提供する。
提供部44は、入力分野に対応する一のグラフ情報に基づいて、入力分野に対応する類似分野を示す情報を提供する。例えば、提供部44は、ユーザの発言に対応する入力分野(入力カテゴリ)に基づいて、入力カテゴリに対応する類似分野(類似カテゴリ)を示す情報を提供する。提供部44は、ユーザの発言に対応する入力カテゴリがカテゴリ#33である場合、カテゴリ#33に対応する一のグラフ情報に基づいて、カテゴリ#33に対応する類似分野を示す情報を提供する。
提供部44は、決定部43により決定された類似カテゴリを示す情報を提供する。例えば、提供部44は、ロボットなどの出力装置200に対し、決定した類似カテゴリを示す情報を出力させる。例えば、提供部44は、カテゴリ#21がカテゴリ#5に類似するカテゴリであることを示す情報を出力させる。
例えば、提供部44は、対象カテゴリであるカテゴリ#5の類似カテゴリがカテゴリ#21に決定された場合、「現在議論中のカテゴリの類似カテゴリがカテゴリ#21です」等といった情報を出力装置200に発声させる。この結果、情報処理装置10は、参加者が議論しているカテゴリについて、参加者が類似カテゴリからのアナロジ(類推)を行って新たな知見や発見を得ることができる可能性を高めることができる。
〔5.情報処理装置が実行する処理の流れの一例〕
次に、図5を用いて、情報処理装置10が実行する生成処理および提供処理の流れの一例について説明する。図5は、実施形態に係る生成処理および提供処理の流れの一例を説明するフローチャートである。
まず、情報処理装置10は、各カテゴリのグラフ情報を取得する(ステップS101)。情報処理装置10は、各カテゴリのグラフ情報の位相構造を示すトポロジ情報を生成する(ステップS102)。情報処理装置10は、カテゴリを特定する発言を受付けたか否かを判定する(ステップS103)。
情報処理装置10は、カテゴリを特定する発言を受付けていない場合は(ステップS103:No)、発言に対応するカテゴリを特定(決定)するまでステップS103の判定を繰り返す。一方、情報処理装置10は、特定した対象カテゴリのトポロジ情報と他のトポロジ情報との比較する(ステップS104)。
そして、情報処理装置10は、比較結果に基づいて、対象カテゴリにグラフ情報が位相構造的に類似する類似カテゴリを決定(ステップS105)。情報処理装置10は、決定した類似カテゴリを示す情報を提供する(ステップS106)。
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔7.プログラム〕
また、上述してきた実施形態に係る情報処理装置10は、例えば図6に示すような構成のコンピュータ1000によって実現される。図6は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報処理装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔8.効果〕
上述してきたように、実施形態に係る情報処理装置10は、取得部41と、提供部44とを有する。取得部41は、多次元空間における複数のグラフ情報の各々の位相構造を示す複数のトポロジ情報を取得する。提供部44は、複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、一のトポロジ情報に対応する一のグラフ情報に位相構造的に類似する類似グラフ情報を示す情報を提供する。
このように、実施形態に係る情報処理装置10は、多次元空間における複数のグラフ情報の各々の位相構造を示す複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、一のトポロジ情報に対応する一のグラフ情報に位相構造的に類似する類似グラフ情報を示す情報を提供することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
また、実施形態に係る情報処理装置10は、生成部42を有する。生成部42は、位相的データ分析に基づいて、複数のグラフ情報の各々に対応する複数のトポロジ情報を生成する。提供部44は、生成部42により生成された複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、類似グラフ情報を示す情報を提供する。
このように、実施形態に係る情報処理装置10は、位相的データ分析に基づいて、複数のグラフ情報の各々に対応する複数のトポロジ情報を生成し、生成した複数のトポロジ情報のうち、一のトポロジ情報と、他のトポロジ情報との比較に基づいて、類似グラフ情報を示す情報を提供することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
また、実施形態に係る情報処理装置10において、生成部42は、パーシステントホモロジーに基づいて、複数のグラフ情報の各々に対応する複数のトポロジ情報を生成する。
このように、実施形態に係る情報処理装置10は、パーシステントホモロジーに基づいて、複数のグラフ情報の各々に対応する複数のトポロジ情報を生成することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
また、実施形態に係る情報処理装置10において、生成部42は、再生核ヒルベルト空間への変換に基づいて、複数のトポロジ情報を生成する。
このように、実施形態に係る情報処理装置10は、再生核ヒルベルト空間への変換に基づいて、複数のトポロジ情報を生成することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
また、実施形態に係る情報処理装置10において、取得部41は、複数の分野の各々に対応する複数のグラフ情報の複数のトポロジ情報を取得する。提供部44は、一のグラフ情報に対応する分野に類似する類似分野を示す情報を提供する。
このように、実施形態に係る情報処理装置10は、複数の分野の各々に対応する複数のグラフ情報の複数のトポロジ情報を取得し、一のグラフ情報に対応する分野に類似する類似分野を示す情報を提供することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
また、実施形態に係る情報処理装置10において、取得部41は、利用者の発話に基づいて決定された入力分野を示す情報を取得する。提供部44は、入力分野に対応する一のグラフ情報に基づいて、入力分野に対応する類似分野を示す情報を提供する。
このように、実施形態に係る情報処理装置10は、利用者の発話に基づいて決定された入力分野を示す情報を取得し、入力分野に対応する一のグラフ情報に基づいて、入力分野に対応する類似分野を示す情報を提供することにより、多次元のグラフ情報間の類似関係を示す情報を適切に提供することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。