(57)【要約】【課題】分野間の比較精度を向上させること。【解決手段】本願に係る比較装置は、指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する変換部と、前記共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する比較部とを有することを特徴とする。【選択図】図１
2019079198.tif 000002
【特許請求の範囲】
【請求項１】
指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する変換部と、
前記共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する比較部と
を有することを特徴とする比較装置。
【請求項２】
前記変換部は、前記共通基底ベクトルをカーネル関数によって作成する
ことを特徴とする請求項１に記載の比較装置。
【請求項３】
前記変換部は、前記分散表現空間を再生核ヒルベルト空間に変換する
ことを特徴とする請求項２に記載の比較装置。
【請求項４】
比較装置が実行する比較方法であって、
指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する変換工程と、
前記共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する比較工程と
を含むことを特徴とする比較方法。
【請求項５】
指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する変換手順と、
前記共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する比較手順と
をコンピュータに実行させるための比較プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、比較装置、比較方法および比較プログラムに関する。
【背景技術】
【０００２】
従来、様々な情報が有する特徴をベクトル等の多次元量に変換し、多次元量同士を比較することで、情報同士の類似度を判定する技術が知られている。このような技術の一例として、画像情報を所定の空間上におけるベクトルと見做し、ベクトル同士の比較結果に基づいて、画像情報の分類を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１１６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、分野間の比較精度の向上が難しい。
【０００５】
例えば、第１分野に属する複数の情報と第２分野に属する複数の情報とを比較することで、第１分野と第２分野との類似性を判断するといった手法が考えられる。しかしながら、上述した技術では、情報同士を比較しているに過ぎないため、分野間の類似性を精度よく比較しているとは言えない場合がある。
【０００６】
本願は、上記に鑑みてなされたものであって、分野間の比較精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る比較装置は、指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する変換部と、前記共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する比較部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、分野間の比較精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る比較装置が実行する比較処理の一例を示す図である。
【図２】図２は、実施形態に係る比較装置の構成例を示す図である。
【図３】図３は、実施形態に係るベクトル空間データベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る比較装置が設定する係数の一例を説明する図である。
【図５】図５は、実施形態に係る比較処理の流れの一例を説明するフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る比較装置、比較方法および比較プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る比較装置、比較方法および比較プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
［実施形態］
〔１．比較装置の一例〕
まず、図１を用いて、比較装置が実行する比較処理の一例について説明する。図１は、実施形態に係る比較装置が実行する比較処理の一例を示す図である。図１では、比較装置１０は、以下に説明する比較処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１２】
より具体的には、比較装置１０は、インターネット等の所定のネットワークＮ（例えば、図２参照）を介して、任意の利用者が使用する情報処理装置１００、２００と通信可能である。例えば、比較装置１０は、情報処理装置１００との間で、複数の単語（以下、「単語群」と記載する場合がある。）を含む文章の送受信を行う。また、比較装置１０は、比較対象となる分野の指定や、後述する固定単語の指定等を情報処理装置２００から受付ける。
【００１３】
なお、情報処理装置１００、２００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現されるものとする。
【００１４】
〔１−１．情報処理装置が実行する比較処理について〕
ここで、比較装置１０は、情報処理装置２００から指定された分野（以下、「指定分野」と記載する場合がある。）の比較を行い、比較結果に基づいて、指定分野が類似するか否かを判定する。例えば、比較装置１０は、ｗ２ｖ（word2vec）やｓ２ｖ(sentence2vec)等、単語や文章をベクトル（多次元量）に変換し、変換後のベクトルを用いて入力された文章に対応する応答を出力する。より具体的な例を挙げると、比較装置１０は、情報処理装置１００から受付けた文章を分野ごとに選別する。そして、比較装置１０は、ある分野に属する文章から、形態素解析等の技術を用いて単語群を抽出し、抽出した単語をベクトルに変換する。すなわち、比較装置１０は、分野ごとに異なるベクトル空間を生成する。
【００１５】
ここで、単語同士の類似性を比較するための、同じベクトル空間上におけるベクトル同士の内積を用いる技術が考えられる。しかしながら、このような方法では、分野そのものが類似するか否かを判定することができない。また、各分野に属する単語を同じベクトル空間上におけるベクトルに変換し、各ベクトルの類似性に基づいて、分野同士が類似するか否かを判断する手法が考えられる。しかしながら、このような方法では、比較対象となる分野に属する単語同士を比較しているに過ぎず、分野そのものが有する概念を比較しているとは言えない。
【００１６】
そこで、比較装置１０は、以下の比較処理を実行する。まず、比較装置１０は、指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する。そして、比較装置１０は、共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する。例えば、比較装置１０は、共通基底ベクトルをカーネル関数によって作成する。すなわち、比較装置１０は、分散表現空間を再生核ヒルベルト空間に変換する。
【００１７】
例えば、比較装置１０は、再生核ヒルベルト空間を用いて、指定分野に属する情報に基づいた有限次元ベクトル空間（単語ベクトル空間）であって、カーネル関数によって、指定分野を示す有限次元ベクトル空間を無限次元ベクトル空間（関数空間）に変換する。そして、比較装置１０は、無限次元ベクトルの比較結果に基づいて、指定分野同士を比較する。
【００１８】
例えば、比較装置１０は、あらかじめ各分野に属する情報のベクトルに基づいて、各分野に属する情報を示す有限次元ベクトル空間（単語ベクトルによる分散表現空間）を生成する。そして、比較装置１０は、指定分野に属する情報を示す有限次元ベクトルを無限次元ベクトルに変換（関数）する。より具体的には、比較装置１０は、各分野に属する情報のベクトルを示す離散的な関数を生成しておき、指定分野に属する情報のベクトルを無限次元化する。例えば、比較装置１０は、指定分野に属する情報のベクトルを、所定のカーネル関数（例えば、カーネルトリック）を用いて無限次元化し、無限次元化したベクトルを基底とする合成ベクトルを指定分野の無限次元ベクトルとする。
【００１９】
〔１−２．比較処理の概念について〕
以下、数式を用いて、比較装置１０が実行する比較処理の概念について説明する。例えば、比較装置１０は、医療、物理学、料理等、様々な分野に関連する文章をその分野に属する文章として取得する。より具体的な例を挙げると、比較装置１０は、医療関連の論文や特許公報等を医療分野に関連する文章として取得し、レシピや料理の歴史を示す論文等を料理に関連する文章として取得する。そして、比較装置１０は、各文章から単語を抽出し、抽出した単語の相対的な関連性に基づいて、単語をベクトル化する。すなわち、比較装置１０は、各分野ごとに異なる単語ベクトル空間を生成する。なお、このようなベクトル化については、ｗ２ｖ等の任意のベクトル化技術が採用可能である。
【００２０】
ここで、ある１つの分野と対応する単語ベクトル空間（分散表現空間）における単語ベクトルを、離散ベクトルｘを入力とする関数自体がすでに連続であるので、離散値ｘを固定した関数を汎関数を利用して求めることで、離散ベクトルｘの無限次元化（連続化）をすることができる。
【００２１】
ここで、ベクトルｘを固定ベクトルとした場合について関数ｆ（ｘ）の汎関数Ｆは、以下の式（１）を満たすこととなる。
【００２２】
【数１】
2019079198.tif 000003
【００２３】
このような汎関数Ｆは、ベクトルｘを固定ベクトルとすることで関数ｆを入力とし、関数ｆ（ｘ）と同じ結果を示す関数であると見做すことができる。ここで、関数ｆ（・）がある分野に属する情報を示すことを考えると、このような汎関数Ｆは、関数ｆ（・）と対応する分野に属する情報をさらに抽象化した情報であると見做すことができる。このため、汎関数Ｆは、対応する分野の概念の指標となりえる。そこで、比較装置１０は、汎関数の入力となるｆ（・）を対応する分野を示す関数であると見做し、指定分野のｆ（・）を比較することで、指定分野の類似性を判断する。
【００２４】
ここで、無限次元ベクトルから値を作り出すためには、無限次元ベクトル間の内積空間を用いることとなる。そこで、比較装置１０は、ある分野に属する情報のベクトルｘを無限次元ベクトルに変換することで、固定ベクトルｘのの無限次元ベクトル化（すなわち、連続化（関数化））を図る。例えば、比較装置１０は、所定のカーネル関数を用いて、ベクトルｘを無限次元ベクトル化する。
【００２５】
例えば、比較装置１０は、ある分野に属する情報を示す関数ｆ（ｘ）を、以下の式（２）に従って変換する。すなわち、比較装置１０は、リースの表現定理を用いて、関数ｆ（ｘ）を関数ｆとカーネル関数ｋ（・、ｘ）の内積として表す。ここで、ｋ（・、ｘ）は、式（３）で定義されるカーネル関数である。
【００２６】
【数２】
2019079198.tif 000004
【００２７】
ここで、カーネル関数式（３）は、２つの入力ベクトルをカーネル関数として再帰的に用い、カーネル関数によって変換される２つの入力ベクトルの無限次元ベクトル同士の内積から値を求めるための関数である。
【００２８】
【数３】
2019079198.tif 000005
【００２９】
ここで、ある分野に属する各ベクトルｘをカーネル関数を用いて無限次元ベクトル化した場合、その分野と対応する関数ｆは、各無限次元ベクトルｋ（・、ｘ）を基底とするベクトルの合成ベクトルと見做すことができる。一方、比較対象となる複数の分野、すなわち、複数の指定分野のそれぞれに同じ単語のベクトルが含まれる場合、各指定分野をその単語の無限次元化ベクトルにより表すことで、各指定分野を同じ基底ベクトルによる合成ベクトルへと変換することができる。
【００３０】
そこで、比較装置１０は、指定された分野に属する情報のうち指定された情報のベクトルを、所定のカーネル関数を用いて無限次元化し、無限次元化したベクトルを基底とする合成ベクトルを指定された分野の無限次元ベクトルとする。ここで、分野ごとの基底ベクトルを実現するため、比較装置１０は、指定分野と単語との組ごとに異なる係数が積算されたベクトルであって、カーネル関数により無限次元化されたベクトルを基底とする合成ベクトルを指定された分野の無限次元ベクトルとする。そして、比較装置１０は、指定分野と対応する合成ベクトル同士の内積の値に基づいて、指定分野が類似するか否かを判定する。
【００３１】
例えば、比較装置１０は、第１指定分野の無限次元ベクトルと、第２指定分野の無限次元ベクトルとの内積（コサイン積）を算出する。そして、比較装置１０は、算出した内積の値を第１指定分野と第２指定分野との類似度の指標とし、第１指定分野と第２指定分野とが類似するか否かを判定する。例えば、比較装置１０は、算出した内積の値が所定の閾値を超える場合は、第１指定分野と第２指定分野とが類似すると判定する。そして、比較装置１０は、判定結果を出力する。
【００３２】
すなわち、比較装置１０は、ベクトルを無限次元化することで、離散的な対応関数ｆ（ｘ）を連続的な関数へと変換し、変換後の関数の汎関数同士を比較することで、分野そのものが有する概念同士の比較を実現する。換言すると、比較装置１０は、再生核ヒルベルト空間を用いることで、ある分野に属する情報の離散的な分散表現を連続値に変換し、変換した連続値を関数と見做してその汎関数を用いることで、その分野に属する分散表現の分散表現、すなわち、その分野の抽象表現を取得する。そして、比較装置１０は、取得した抽象表現同士を比較するので、分野間の比較精度を向上させることができる。
【００３３】
〔１−３．比較処理の一例について〕
以下、図１を用いて、比較装置１０が実行する比較処理の一例について説明する。例えば、比較装置１０は、情報処理装置１００から学習データを受付ける（ステップＳ１）。このような学習データには、各分野に属する文献等の文章が含まれる。このような場合、比較装置１０は、単語を所定の次元数でベクトル化し、各分野ごとのベクトル空間を学習する（ステップＳ２）。例えば、比較装置１０は、ｗ２ｖ等の各種ベクトル化技術を用いて、単語＃１や単語＃２等をベクトル＃１やベクトル＃２へと変換する。ここで、比較装置１０は、分野と単語の組ごとにベクトルを生成する。例えば、比較装置１０は、第１分野の文章に含まれている単語＃１と、第２分野の文章に含まれている単語＃２とをそれぞれ異なる単語として学習する。
【００３４】
続いて、比較装置１０は、情報処理装置２００から、指定分野と固定単語とを受付ける（ステップＳ３）。より具体的には、比較装置１０は、比較対象となる複数の分野と、複数の固定単語との指定を受付ける。ここで、固定単語とは、関数を汎関数へと変換する際に固定するベクトルと対応する単語である。このような場合、比較装置１０は、再生核ヒルベルト空間を用いて、指定分野のベクトルを無限次元ベクトルに変換し、無限次元ベクトルを基底とする合成ベクトルであって、指定分野と対応する合成ベクトル同士の内積に基づいて、指定分野の類似性を比較する。
【００３５】
まず、比較装置１０は、固定単語のベクトルを指定分野ごとに特定する（ステップＳ４）。例えば、比較装置１０は、単語＃１が固定単語である場合、第１指定分野における単語＃１のベクトルｘと、第２指定分野における単語＃１のベクトルｘとを特定する。そして、比較装置１０は、カーネル関数を用いて、各ベクトルｘを無限次元ベクトルに変換する（ステップＳ５）。例えば、比較装置１０は、各分野と単語との組合せごとに異なる係数を設定しておく。そして、比較装置１０は、カーネル関数と、第１指定分野と対応する係数とを用いて、第１指定分野における各固定単語のベクトルを無限次元ベクトルに変換し、変換後の無限次元ベクトルの和を、その第１指定分野の対応関数の無限次元ベクトルとする。また、例えば、比較装置１０は、カーネル関数と、第２指定分野と対応する係数とを用いて、第２指定分野における各固定単語のベクトルを無限次元ベクトルに変換し、変換後の無限次元ベクトルの和を、その第２指定分野の対応関数の無限次元ベクトルとする。
【００３６】
そして、比較装置１０は、無限次元ベクトル同士の内積に基づいて、指定分野の類似度を算出する（ステップＳ６）。例えば、比較装置１０は、第１指定分野と第２指定分野との比較を行う再、単語ｔ、ｓ、ｗが固定単語として指定された場合、単語ｔと第１指定分野との組に対応する係数α１、単語ｔと第２指定分野との組に対応する係数α２、単語ｓと第１指定分野との組に対応する係数β１、単語ｓと第２指定分野との組に対応する係数β２、単語ｗと第１指定分野との組に対応する係数γ１、および単語ｗと第２指定分野との組に対応する係数γ２を設定する。
【００３７】
また、比較装置１０は、第１指定分野における単語ｔの無限次元ベクトルと係数α１との積であるα１ｋ（・、ｔ）、第１指定分野における単語ｓの無限次元ベクトルと係数β１との積であるβ１ｋ（・、ｓ）、および第１指定分野における単語ｗの無限次元ベクトルと係数γ１との積であるγ１ｋ（・、ｗ）の和を、第１指定分野と対応する無限次元ベクトルｆ１とする。また、比較装置１０は、第２指定分野における単語ｔの無限次元ベクトルと係数α２との積であるα２ｋ（・、ｔ）、第２指定分野における単語ｓの無限次元ベクトルと係数β２との積であるβ２ｋ（・、ｓ）、および第２指定分野における単語ｗの無限次元ベクトルと係数γ２との積であるγ２ｋ（・、ｗ）の和を、第２指定分野と対応する無限次元ベクトルｆ２とする。
【００３８】
そして、比較装置１０は、無限次元ベクトルｆ１と無限次元ベクトルｆ２との内積を算出し、算出した内積の値に基づいて、指定分野の類似度を判定する。その後、比較装置１０は、比較結果を情報処理装置２００へと提供する（ステップＳ７）。
【００３９】
〔１−４．比較処理のバリエーションについて〕
ここで、比較装置１０は、無限次元ベクトル同士の内積に基づいて、指定分野の類似度を判定するのであれば、任意の処理を実行して良い。例えば、比較装置１０は、無限次元ベクトル同士のコサイン積の値そのものを、類似度として採用してもよい。また、比較装置１０は、類似度を示す数値を比較結果として提供してもよい。また、比較装置１０は、類似度が所定の閾値を超えるか否かに基づいて、指定分野が類似するか否かを判定し、判定結果を比較結果として出力してもよい。
【００４０】
また、比較装置１０は、任意の数の指定分野の指定を受付けてよく、任意の数の固定単語の指定を受付けてよい。また、比較装置１０は、固定単語の指定を受付けずともよい。例えば、比較装置１０は、各指定分野に共通して属する単語を特定し、特定した単語の中から所定の数の単語を固定単語としてランダムに選択してもよい。
【００４１】
なお、上述した比較処理は、ベクトル化することができる情報、すなわち、多次元量に変換することができる情報であれば、任意の情報の分野の比較について適用可能である。例えば、比較装置１０は、静止画像、動画像、音声が有する特徴量を情報として採用することで、静止画像、動画像、音声が属する分野同士の比較を実現してもよい。また、比較装置１０は、ニュース等の各種コンテンツが有する特徴量を情報として採用することで、各種コンテンツが属する分野同士の比較を行ってもよい。また、比較装置１０は、利用者の属性（例えば、デモグラフィック属性やサイコグラフィック属性）に基づいて各利用者を示すベクトルを生成し、生成したベクトルを用いて、上述した比較処理を実行することで、利用者が属する分野（例えば、趣味趣向に応じたクラスタ等）同士の比較を行ってもよい。
【００４２】
〔２．比較装置の構成〕
以下、上記した比較処理を実現する比較装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る比較装置の構成例を示す図である。図２に示すように、比較装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００４３】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、情報処理装置１００、２００との間で情報の送受信を行う。
【００４４】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、ベクトル空間データベース３１を記憶する。
【００４５】
ベクトル空間データベース３１には、各情報のベクトルが登録されている。例えば、図３は、実施形態に係るベクトル空間データベースに登録される情報の一例を示す図である。図３に示す例では、ベクトル空間データベース３１には、「カテゴリＩＤ（Identifier）」、「カテゴリ」、「単語」、「単語ベクトル」等といった項目を有する情報が登録される。
【００４６】
ここで、「カテゴリＩＤ」とは、単語が属する分野を識別する識別子である。また、「カテゴリ」とは、単語が属する分野を示す情報である。また、「単語」とは、対応付けられたカテゴリＩＤが示す分野に属する単語である。また、「単語ベクトル」とは、対応付けられた単語のベクトルである。
【００４７】
例えば、図３に示す例では、カテゴリＩＤ「ＩＤ＃１」、カテゴリ「カテゴリ＃１」、対応関数「対応関数＃１」、単語「単語＃１−１」、および単語ベクトル「ベクトル＃１−１」が対応付けて登録されている。このような情報は、カテゴリＩＤ「ＩＤ＃１」が示す分野が「カテゴリ＃１」である旨を示す。また、このような情報は、単語「単語＃１−１」が「カテゴリ＃１」に属しており、この単語のベクトルが「ベクトル＃１−１」である旨を示す。
【００４８】
なお、図３に示す例では、「カテゴリ＃１」、「単語＃１−１」、「ベクトル＃１−１」といった概念的な値について記載したが、実際には、カテゴリを示す文字列、対応関数、単語となる文字列、およびベクトルが登録されることとなる。また、例えば、ベクトル空間データベース３１には、各ベクトルをカーネル関数により無限次元化した無限次元ベクトルが登録されていてもよい。
【００４９】
図２に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、比較装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００５０】
図２に示すように、制御部４０は、生成部４１、変換部４２、比較部４３、および出力部４４を有する。生成部４１は、所定の分野に属する情報のベクトルに基づいて、その分野に属する情報を示す関数を生成する。また、生成部４１は、所定の分野に属する情報のベクトルを示す離散的な関数を生成する。
【００５１】
例えば、生成部４１は、情報処理装置１００から学習データとして各分野に属する文献を取得すると、形態素解析等の技術を用いて文献から単語を抽出し、抽出した単語をｗ２ｖ等の技術を用いてベクトル化する。そして、生成部４１は、その文献が属する分野と対応付けて抽出した単語とベクトルとをベクトル空間データベース３１に登録する。
【００５２】
変換部４２は、再生核ヒルベルト空間を用いて、各分野ごとに、その分野に属する各単語のベクトルを係数を乗算した共通基底ベクトルで表現する対応関数（係数ベクトル：共通基底の座標で表現されたベクトル）として生成する。例えば、変換部４２は、指定分野に属する情報のベクトル（単語ベクトル）を無限次元ベクトルに変換する。より具体的には、変換部４２は、指定分野に属する情報のベクトル（固定単語のベクトル）をベクトル空間データベース３１から読み出す。
【００５３】
そして、変換部４２は、指定分野に属する情報のベクトル、すなわち、固定単語のベクトルを、所定のカーネル関数を用いて無限次元化し、無限次元化したベクトルを基底とする合成ベクトルを指定分野の無限次元ベクトルとする。より具体的には、変換部４２は、指定された分野に属する情報のうち指定された情報のベクトルを、所定のカーネル関数を用いて無限次元化し、無限次元化したベクトルを基底とする合成ベクトルを指定された分野の無限次元ベクトルとする。ここで、変換部４２は、無限次元化したベクトルに対して、分野と単語との組ごとに異なる係数が積算されたベクトルを基底とする合成ベクトルを指定された分野の無限次元ベクトルとする。
【００５４】
ここで、図４は、実施形態に係る比較装置が設定する係数の一例を説明する図である。なお、図４に示す例では、固定単語と各分野と対応する関数を概念的に説明するため、各単語のベクトルを横軸に取り、各分野と対応する関数を概念的に投影した。また、図４に示す例では、第１分野と対応する関数ｆ１を実線で、第２分野と対応する関数ｆ２を長点線で、第３分野ｆ３と対応する関数を短点線で概念的に記載した。
【００５５】
このような図において、単語ｔを固定した場合、分野に依存しない抽象的な単語ｔの分散表現（すなわち、抽象表現）は、図４中Ｆｔで示す一点破線に対応する。また、単語ｓを固定した場合、分野に依存しない抽象的な単語２の分散表現（すなわち、抽象表現）は、図４中Ｆｓで示す一点破線に対応する。このような単語ｔおよび単語ｓの抽象表現は、各分野の関数となる無限次元ベクトルの基底ベクトルとなる。そこで、比較装置１０は、単語ｔや単語ｓの抽象表現の線形結合として、各指定分野の関数を学習する。
【００５６】
例えば、図４中Ｆｔで示す一点破線と、関数ｆ１との交点は、以下の式（４）で示すことができ、図４中Ｆｔで示す一点破線と、関数ｆ２との交点は、以下の式（５）で示すことができる。すなわち、図４中Ｆｔで示す一点破線と、任意の関数ｆｎとの交点は、以下の式（６）で示すことができる。
【００５７】
【数４】
2019079198.tif 000006
【００５８】
【数５】
2019079198.tif 000007
【００５９】
【数６】
2019079198.tif 000008
【００６０】
同様に、図４中Ｆｓで示す一点破線と、関数ｆｎとの交点は、以下の式（７）で示すことができる。
【００６１】
【数７】
2019079198.tif 000009
【００６２】
このような基底ベクトルの和で各分野の関数を示した場合、各分野の概念を示す無限次元ベクトルを得ることができる。この結果、比較装置１０は、各分野の概念を示す無限次元ベクトル同士の内積を用いて、各分野の概念同士が類似するか否かを判定することができる。
【００６３】
図２に戻り、説明を続ける。比較部４３は、無限次元ベクトルの比較結果に基づいて、指定された分野同士を比較する。例えば、比較部４３は、変換部４２から各指定分野と対応する無限次元ベクトルを受付ける。すなわち、比較部４３は、各指定分野の概念を示す関数と対応する無限次元ベクトルを受付ける。このような場合、比較部４３は、各指定分野の無限次元ベクトル同士の内積の値を算出し、算出した内積の値に基づいて、指定分野が類似するか否かを判定する。
【００６４】
出力部４４は、比較結果を出力する。例えば、出力部４４は、比較部４３による比較結果を受付けると、受付けた比較結果を情報処理装置２００へと出力する。
【００６５】
〔３．比較装置が実行する処理の流れの一例〕
次に、図５を用いて、比較装置１０が実行する比較処理の流れの一例について説明する。図５は、実施形態に係る比較処理の流れの一例を説明するフローチャートである。例えば、比較装置１０は、単語をベクトル化し（ステップＳ１０１）、各分野の対応関数を学習する（ステップＳ１０２）。続いて、比較装置１０は、指定分野と固定単語の指定を受付けたか否かを判定し（ステップＳ１０３）、受付けていない場合は（ステップＳ１０３：Ｎｏ）、受付けるまで待機する。一方、比較装置１０は、指定分野と固定単語の指定を受付けた場合は（ステップＳ１０３：Ｙｅｓ）、固定単語をベクトル化し（ステップＳ１０４）、カーネル関数を用いて、対応関数を無限次元ベクトル化する（ステップＳ１０５）。そして、比較装置１０は、無限次元ベクトルの内積に基づいて、比較対象分野を比較し（ステップＳ１０６）、比較結果を提供して（ステップＳ１０７）、処理を終了する。
【００６６】
〔４．変形例〕
上記では、比較装置１０による比較処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、比較装置１０が実行する比較処理のバリエーションについて説明する。
【００６７】
〔４−１．装置構成〕
上述した例では、比較装置１０は、比較装置１０内で比較処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、比較装置１０は、指定分野や固定単語の指定を受付けるフロントエンドサーバと比較処理を行うバックエンドサーバが協調して動作することにより、実現されてもよい。例えば、比較装置１０は、生成部４１、変換部４２、比較部４３を有するフロントエンドサーバと、出力部４４を有するバックエンドサーバにより実現されてもよい。また、比較装置１０は、ベクトル空間データベース３１を外部のストレージサーバに記憶させてもよい。
【００６８】
〔４−２．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００６９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７０】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００７１】
〔５．プログラム〕
また、上述してきた実施形態に係る比較装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００７２】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【００７３】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００７４】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００７５】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００７６】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００７７】
例えば、コンピュータ１０００が比較装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、モデル）を実行することにより、制御部４０の機能を実現する。
【００７８】
〔６．効果〕
上述したように、比較装置１０は、指定された分野毎に単語ベクトルによって作成された分散表現空間を共通の基底ベクトルで分野ごとに比較するために、分野ごとの基底ベクトルを分野共通基底ベクトルに変換する。そして、比較装置１０は、共通基底ベクトルで生成されるベクトルの比較結果に基づいて、指定された分野同士を比較する。また、比較装置１０は、共通基底ベクトルをカーネル関数によって作成する。
【００７９】
このように、比較装置１０は、分散表現空間を再生核ヒルベルト空間に変換する。例えば、再生核ヒルベルト空間を用いて、指定された分野に属する情報に基づいた関数であって、その分野を示す関数を無限次元ベクトルに変換する。そして、比較装置１０は、無限次元ベクトルの比較結果に基づいて、指定された分野同士を比較する。この結果、比較装置１０は、指定分野そのものが有する概念同士を比較することができるので、分野同士の比較精度を向上させることができる。
【００８０】
また、上述した処理の結果、比較装置１０は、指定分野に属する情報の分散表現の抽象表現、すなわち、指定分野の抽象表現を用いて、指定分野同士を比較することができるので、分野そのものの比較を実現することができる。
【００８１】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００８２】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【００８３】
１０  比較装置
２０  通信部
３０  記憶部
３１  ベクトル空間データベース
４０  制御部
４１  生成部
４２  変換部
４３  比較部
４４  出力部
１００、２００  情報処理装置
【図１】
2019079198.tif 000010
【図２】
2019079198.tif 000011
【図３】
2019079198.tif 000012
【図４】
2019079198.tif 000013
【図５】
2019079198.tif 000014
【図６】
2019079198.tif 000015