(57)【特許請求の範囲】
【請求項１】
入力された文書から、当該文書の特徴を表すための索引語と、その重みとを出力する文書特徴表現計算装置であって、
索引語と、それに対応するベクトルとを含む概念ベースを格納する概念ベース格納手段と、
前記文書から各索引語を抽出する索引語抽出手段と、
前記概念ベース格納手段から、前記索引語抽出手段で抽出された各索引語に対応するベクトルを入力ベクトルとして取得し、当該入力ベクトルの集合を入力ベクトル集合格納手段に格納する入力ベクトル集合算出手段と、
前記入力ベクトル集合格納手段に格納された入力ベクトルの集合に対し、量子化誤差が最小となるように量子化する処理を実行することにより代表ベクトルの集合を算出する代表ベクトル集合算出手段と、
前記代表ベクトル算出手段により算出された各代表ベクトルに対応する索引語と、その重みとを算出し、それらを出力する索引語重み算出手段と、を備え、
前記代表ベクトル集合算出手段は、前記量子化する処理として、競合学習方式を用いた処理を行い、当該競合学習方式における学習過程で、ランダムに選択した入力ベクトルを用いて代表ベクトルを更新する際に、更新対象の代表ベクトルを入力ベクトルに学習率gの割合で近づけた位置を中心とし、当該中心から更新対象の代表ベクトルまでの距離以内にあり、当該中心に最も近いベクトルを、前記概念ベース格納手段に格納されたベクトルの集合から選択し、当該選択されたベクトルを更新後の代表ベクトルとする
ことを特徴とする文書特徴表現計算装置。
【請求項２】
前記代表ベクトル集合算出手段は、前記競合学習方式における学習過程において、更新後の代表ベクトルの値が更新前の代表ベクトルの値と同じであった場合は、学習率gの初期値g0の分だけ当該代表ベクトルに対応する学習率を増加させ、同じでない場合には、学習率gを前記初期値g0とすることを特徴とする請求項１に記載の文書特徴表現計算装置。
【請求項３】
前記索引語重み算出手段は、前記代表ベクトルに対応する索引語の重みとして、当該代表ベクトルが代表する入力ベクトル群における各入力ベクトルに対応する重みを足し合わせた重みを算出することを特徴とする請求項１又は２に記載の文書特徴表現計算装置。
【請求項４】
入力された文書から、当該文書の特徴を表す索引語に対応する重みを算出し、出力する文書特徴表現計算装置であって、
索引語と、それに対応するベクトルとを含む概念ベースを格納する概念ベース格納手段と、
請求項１ないし３のうちいずれか１項に記載の文書特徴表現計算装置により算出された前記文書の特徴を表す索引語である特徴表現索引語を格納する特徴表現索引語格納手段と、
前記文書から各索引語とその出現頻度を抽出する索引語抽出手段と、
前記索引語抽出手段により抽出された各索引語に対応するベクトルを前記概念ベース格納手段から取得し、当該ベクトルの集合を前記出現頻度で重み付けして平均をとることにより文書ベクトルを算出する文書ベクトル算出手段と、
前記特徴表現索引語格納手段に格納された各特徴表現索引語に対応する前記概念ベースにおけるベクトルと、前記文書ベクトル算出手段により算出された文書ベクトルとを用いて前記特徴表現索引語に対応する重みを算出し、出力する重み算出手段と
を備えたことを特徴とする文書特徴表現計算装置。
【請求項５】
前記重み算出手段は、前記各特徴表現索引語に対応する前記概念ベースにおけるベクトルを列ベクトルとして横に並べた行列の擬似逆行列を前記文書ベクトルに掛けることにより前記重みを算出することを特徴とする請求項４に記載の文書特徴表現計算装置。
【請求項６】
コンピュータを、請求項１ないし５のうちいずれか１項に記載の文書特徴表現計算装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の特徴を人間にとって分かりやすく表現するための文書特徴表現計算技術に関するものである。
【背景技術】
【０００２】
文書の特徴を表すための従来技術としては、例えば、ベクトル空間モデルを用いる方法（非特許文献１）や、概念ベクトルを用いる方法（特許文献２）等がある。
【０００３】
ベクトル空間モデルを用いる方法では、文書を単語等に分解し、その出現頻度等を要素とするベクトルで文書の特徴を表現している。また、概念ベクトルを用いる方法では、予め登録した概念ベクトルを文書中の単語に対応させ、文書を概念ベクトルの集合として表し、その概念ベクトルの集合の平均ベクトルを文書の概念ベクトル（文書ベクトルと呼ぶ）とすることで文書特徴を表現している。
【０００４】
なお、本願明細書及び特許請求の範囲において、「文書」とは、あるまとまった概念を持つ文の集合としての文書、及びこのような文書を複数含む文書集合（文書群）の両方の意味を持つ用語として使用している。また、「文書」は、あるカテゴリに属する文書、文書群等の意味も含む。
【０００５】
一方、ベクトル集合を限られた数の代表ベクトルで表すベクトル量子化技術が知られている（特許文献１）。
【非特許文献１】北研二、津田和彦、獅々堀正幹、"情報検索アルゴリズム"、pp.60-63、共立出版、２００２
【特許文献１】特開平０８−３１６８４２号公報
【特許文献２】特開２００７−７２６１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
文書の特徴を表現するための上記従来技術では、文書自体が持つ特徴を人間にとって分かりやすく表現することが困難であった。すなわち、ベクトル空間モデルでは、単語数が膨大となるため、人間が文書の特徴を容易に把握することができない。また、概念ベクトルで文書特徴を表現する方法では、人間が概念ベクトルを理解することが難しい。
【０００７】
ここで、概念ベクトル集合に対してベクトル量子化技術を適用すると、限られた数の代表ベクトルを得ることができる。しかし、この場合でも、人間が代表ベクトルを理解することは困難であるため、文書の特徴を人間にとって分かりやすく表現することはできない。もし、文書の特徴を人間にとって分かりやすく表現できれば、文書特徴の妥当性を判断したり文書の傾向を把握したりすることが容易にできるようになる。
【０００８】
本発明は上記の点に鑑みてなされたものであり、文書の特徴を人間にとって分かりやすく表現することを可能とする文書特徴表現計算技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明は、入力された文書から、当該文書の特徴を表すための索引語と、その重みとを出力する文書特徴表現計算装置であって、索引語と、それに対応するベクトルとを含む概念ベースを格納する概念ベース格納手段と、前記文書から各索引語を抽出する索引語抽出手段と、前記概念ベース格納手段から、前記索引語抽出手段で抽出された各索引語に対応するベクトルを入力ベクトルとして取得し、当該入力ベクトルの集合を入力ベクトル集合格納手段に格納する入力ベクトル集合算出手段と、前記入力ベクトル集合格納手段に格納された入力ベクトルの集合に対し、量子化誤差が最小となるように量子化する処理を実行することにより代表ベクトルの集合を算出する代表ベクトル集合算出手段と、前記代表ベクトル算出手段により算出された各代表ベクトルに対応する索引語と、その重みとを算出し、それらを出力する索引語重み算出手段と、を備え、前記代表ベクトル集合算出手段は、前記量子化する処理として、競合学習方式を用いた処理を行い、当該競合学習方式における学習過程で、ランダムに選択した入力ベクトルを用いて代表ベクトルを更新する際に、更新対象の代表ベクトルを入力ベクトルに学習率gの割合で近づけた位置を中心とし、当該中心から更新対象の代表ベクトルまでの距離以内にあり、当該中心に最も近いベクトルを、前記概念ベース格納手段に格納されたベクトルの集合から選択し、当該選択されたベクトルを更新後の代表ベクトルとすることを特徴とする文書特徴表現計算装置として構成される。
【００１２】
前記代表ベクトル集合算出手段は、前記競合学習方式における学習過程において、更新後の代表ベクトルの値が更新前の代表ベクトルの値と同じであった場合は、学習率gの初期値g0の分だけ当該代表ベクトルに対応する学習率を増加させ、同じでない場合には、学習率gを前記初期値g0とすることとしてもよい。
また、前記索引語重み算出手段は、前記代表ベクトルに対応する索引語の重みとして、当該代表ベクトルが代表する入力ベクトル群における各入力ベクトルに対応する重みを足し合わせた重みを算出することとしてもよい。
【００１３】
また、本発明は、入力された文書から、当該文書の特徴を表す索引語に対応する重みを算出し、出力する文書特徴表現計算装置であって、索引語と、それに対応するベクトルとを含む概念ベースを格納する概念ベース格納手段と、前記代表ベクトル集合算出手段を備える前記文書特徴表現計算装置により算出された前記文書の特徴を表す索引語である特徴表現索引語を格納する特徴表現索引語格納手段と、前記文書から各索引語とその出現頻度を抽出する索引語抽出手段と、前記索引語抽出手段により抽出された各索引語に対応するベクトルを前記概念ベース格納手段から取得し、当該ベクトルの集合を前記出現頻度で重み付けして平均をとることにより文書ベクトルを算出する文書ベクトル算出手段と、前記特徴表現索引語格納手段に格納された各特徴表現索引語に対応する前記概念ベースにおけるベクトルと、前記文書ベクトル算出手段により算出された文書ベクトルとを用いて前記特徴表現索引語に対応する重みを算出し、出力する重み算出手段とを備えたことを特徴とする文書特徴表現計算装置として構成することもできる。
【００１４】
前記重み算出手段は、前記各特徴表現索引語に対応する前記概念ベースにおけるベクトルを列ベクトルとして横に並べた行列の擬似逆行列を前記文書ベクトルに掛けることにより前記重みを算出することとしてもよい。
【００１５】
また、本発明は、コンピュータを、上記文書特徴表現計算装置における各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【００１６】
本発明によれば、文書の特徴を人間に分かりやすい形で表現することができるため、文書特徴の妥当性を判断したり文書の傾向を把握したりすることが可能となる。これにより、文書分類問題における正解文書の収集などにおいて、文書量や質を判断するための重要な手がかりを得ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態として、第１の実施の形態、及び第２の実施の形態を説明する。なお、以下で説明する実施の形態では、文書の特徴を表すための単位として"単語"を用いる例を説明するが、文書の特徴を表すための単位は"単語"に限定されるものではなく、文書の構成要素であればどのような単位を用いてもよい。例えば、文書の特徴を表すための単位として、合成語、フレーズ等を用いてもよい。その場合、以下の説明の中での"単語"を当該語（合成語、フレーズ等）に置き換えればよい。また、本明細書及び特許請求の範囲において、当該単位となる単語、合成語、フレーズ等の語を索引語と呼ぶことにする。
【００１８】
（第１の実施の形態）
まず、本発明の第１の実施の形態について説明する。
【００１９】
＜概要＞
本実施の形態では、文書の特徴を限られた数の単語と、その単語に付与した重みによって表すこととしている。単語は人間にとって分かりやすく、また、その数を限られたものとしたために、本実施の形態によれば人間にとって文書の全体の特徴を把握することが容易になる。
【００２０】
本実施の形態では、文書の特徴を表す単語を文書から抽出する際に、その単語に対応する概念ベクトルが文書中の単語の概念ベクトルを良く代表するように抽出する。ここで、良く代表するとは、量子化誤差が小さいという意味である。そして、本実施の形態におけるベクトル量子化に係る処理方法は、特許文献１に記載された競合学習方式に基づくものであり、特許文献１に記載された技術との主な違いは、代表ベクトルのとり得る値を、単語概念ベース中のベクトルに限定した点であり、そのためのアルゴリズムの付加及び変更が施されている。
【００２１】
＜装置構成＞
図１に、本発明の第１の実施の形態における文書特徴表現計算装置１０の機能構成図を示す。図１に示すように、本実施の形態における文書特徴表現計算装置１０は、入力部１１、単語頻度算出部１２、入力ベクトル集合算出部１３、代表ベクトル集合算出部１４、単語・重み算出部１５、出力部１６、単語概念ベース格納部１７、入力ベクトル集合格納部１８、代表ベクトル集合格納部１９を有する。
【００２２】
入力部１１は、特徴を表現する対象となる文書、及び後述する処理の中で使用される各種パラメータの値を入力するための機能部である。単語頻度算出部１２は、入力された文書から、文書を構成する各単語とその出現頻度を算出するための機能部である。入力ベクトル集合算出部１３は、単語概念ベース格納部１７に格納された単語概念ベースを参照することにより、単語をベクトルに変換して、当該ベクトルと出現頻度とを対応付けて入力ベクトル集合格納部１８に格納する機能部である。
【００２３】
代表ベクトル集合算出部１４は、入力されたパラメータ情報、入力ベクトル集合、及び単語概念ベースを用いて代表ベクトルを算出し、代表ベクトル集合として代表ベクトル集合格納部１９に格納する機能部である。単語・重み算出部１５は、入力ベクトル集合、代表ベクトル集合、及び単語概念ベースを用いて、文書の概念を表す情報として、単語とその重みを算出する機能部である。出力部１６、単語・重み算出部１５により算出された単語とその重みの情報を出力するための機能部である。
【００２４】
単語概念ベース格納部１７は単語概念ベースを格納する格納部であり、入力ベクトル集合格納部１８は入力ベクトル集合を格納する格納部であり、代表ベクトル集合格納部１９は代表ベクトル集合を格納する格納部である。
【００２５】
なお、文書特徴表現計算装置１０は、CPUと、メモリやハードディスク等の記憶装置とを含む一般的なコンピュータに、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現されるものであり、上述した各機能部は、コンピュータに当該プログラムが実行されて実現される機能部である。従って、例えば、各機能部間での情報のやりとりは、実際にはメモリ等の記憶装置を介して行われるものである。なお、上記プログラムは、メモリ等の記録媒体からコンピュータにインストールすることもできるし、ネットワーク上のサーバからダウンロードするようにしてもよい。
【００２６】
＜文書特徴表現計算装置１０の動作＞
次に、文書特徴表現計算装置１０の処理動作について、図２、図３に示すフローチャートを参照して説明する。
【００２７】
文書特徴表現計算装置１０の処理を行う前に、事前処理として、単語概念ベースを作成し、それを単語概念ベース格納部１７に格納しておく。単語概念ベースの作成方法としては、例えば、文書コーパスを利用し、特許文献２で説明されている単語−意味属性間の共起情報を用い、特異値分解等の次元圧縮処理を経て、単語に対応する概念ベクトルを算出し、これを単語概念ベースとして単語概念ベース格納部１７に格納する。
【００２８】
なお、特許文献２では、上記概念ベクトルは"単語ベクトル"として記載されている。また、概念ベースを算出する際には、単語−意味属性間の共起情報を用いることのほか、単語−単語間の共起情報を用いることとしてもよい。
【００２９】
単語と概念ベクトルは１対１で紐付けられており、単語概念ベースは、例えば図４に示すように、単語と概念ベクトルとの対応を表す対応表の形で作成されている。
【００３０】
以下、図２のフローチャートに沿って、処理の流れを説明する。
【００３１】
まず、文書、ベクトル量子化数(n)、終了回数(L)、検査回数(C)、ベース学習率(g0)を、入力部１１により文書特徴表現計算装置１０に入力する（ステップ１）。ここで、"文書"は特徴を表す対象とする文書であり、ベクトル量子化数nは、最終的に文書の特徴を表すための単語の数である。他の値は、後述する代表ベクトル算出において用いる値である。入力された情報は、単語頻度算出部１２に送られる。
【００３２】
次に、単語頻度算出部１２は、入力された文書に対して形態素解析を行うことにより、当該文書を単語に分割し、各単語とその出現頻度情報を取得し（ステップ２）、取得した情報と、上記の入力情報とを入力ベクトル集合算出部１３に送る。
【００３３】
入力ベクトル集合算出部１３は、単語概念ベース格納部１７に格納されている単語概念ベースを参照することにより、ステップ２で求めた各単語に対応する概念ベクトルを単語概念ベースから取得し、当該ベクトルと単語の出現頻度とを対応付けた情報の集合である入力ベクトル集合を算出し、これを入力ベクトル集合として入力ベクトル集合格納部１８に格納する（ステップ３）。図５に、入力ベクトル集合の一例を示す。
【００３４】
続いて、代表ベクトル集合算出部１４が、ステップ３において算出された入力ベクトル集合、単語概念ベース、及び、入力ベクトル集合算出部１３から入力されるベクトル量子化数(n)、終了回数(L)、検査回数(C)、ベース学習率(g0)を用いて代表ベクトルの集合を算出し、これを代表ベクトル集合として代表ベクトル集合格納部１９に保存する処理を行う（ステップ４）。
【００３５】
以下、代表ベクトル集合算出部１４が実行する代表ベクトル集合の算出処理を、図３に示すフローチャートに沿って詳細に説明する。
【００３６】
まず、上記のように、入力ベクトル集合算出部１３から、ベクトル量子化数(n)、終了回数(L)、検査回数(C)、及びベース学習率(g0)が代表ベクトル算出部１４に入力される（ステップ１０１）。
【００３７】
ここで、上記の終了回数Lは代表ベクトル集合を算出する際の総学習回数を表し、検査回数Cは代表ベクトルを順次生成する際に、次回の代表ベクトルを生成するまでの学習回数を表す。ベース学習率g0は代表ベクトルを更新する際の変化率の最小値である。後述するように、学習率は状況に応じて変化する。
【００３８】
続いて、代表ベクトル集合算出部１４は、処理過程を管理するパラメータの初期設定を行う（ステップ１０２）。ここでは、繰り返し処理の中で順次生成される代表ベクトルの数をｑと定義し、それに１を代入する。また、既に繰り返された学習の回数を示す学習回数をｔと定義し、それに初期値０を代入する。また、検査回数Cに達するまでの学習回数をカウントする部分回数をrと定義して、それに初期値０を代入する。
【００３９】
次に、代表ベクトルの初期化を行う。ここでは、代表ベクトル集合算出部１４は、入力ベクトル集合格納部１８に格納されている入力ベクトル集合の中からランダムに１つの入力ベクトルを選択し、そのベクトル値を１個目の代表ベクトルの値と定める。代表ベクトルには、学習率gと部分ひずみの値が付帯しており、学習率gをベース学習率g0とし、部分ひずみの値を０とする。なお、部分ひずみとは、入力ベクトル集合を各代表ベクトルで量子化した際に生じる量子化誤差を代表ベクトル毎に集計した値であるが、その処理内容についてはステップ１５１からの代表ベクトル生成処理のところで説明する。
【００４０】
ここでの代表ベクトルは、メモリにおける作業領域に格納される（つまり、メモリに格納される）。図６に、代表ベクトルのデータの例を示す。以下で説明する処理に従って、この作業領域に格納された値が順次更新されていく。なお、図６に示す「番号」は、代表ベクトルとして選択される概念ベクトルの番号であり、図４に示す単語概念ベースにおける「番号」と対応付けられるものである。この番号により、図６に示す代表ベクトルと、単語概念ベースにおける単語とを紐付けることができる。
【００４１】
次に、代表ベクトル集合算出部１４は、部分回数rが検査回数Cに達しており、かつ代表ベクトル数qがベクトル量子化数nよりも小さいか否かを判断する（ステップ１０３）。判断結果がYesであればステップ１５１の処理を行い、判断結果がNoであればステップ１０４からの処理を行う。まず、判断結果がNoの場合の処理について説明する。
【００４２】
ステップ１０４において、代表ベクトル集合算出部１４は、入力ベクトル集合格納部１８に格納された入力ベクトル集合の中からランダムに１つの入力ベクトルを選択する。このとき、ベクトルの数がそれに対応する出現頻度分存在すると考え、各入力ベクトルが選択される確率を出現頻度に比例させる。つまり、出現頻度が高いほど、その出現頻度に対応する入力ベクトルが高い確率で選択される。なお、各単語に重要度等の重み付けがなされている場合は、この重みも出現頻度（つまり選択確率）に反映させることもできる。
【００４３】
そして、代表ベクトル集合算出部１４は、選択された入力ベクトルXと、既に生成され作業領域に格納されている各代表ベクトルWとの間のユークリッド２乗距離を計算し、代表ベクトルの中で最も入力ベクトルXとの距離が小さい代表ベクトルWを勝者として選出する（ステップ１０５）。なお、同じ距離の複数の代表ベクトルがあった場合は、登録が若い（現在に近い）代表ベクトルを勝者とする。また、入力ベクトルと勝者の代表ベクトルとの距離を、当該代表ベクトルに対応する部分ひずみに加算する（ステップ１０６）。
【００４４】
次に、代表ベクトル集合算出部１４は、勝者の代表ベクトルを更新する処理を行う（ステップ１０７）。ここではまず、勝者の代表ベクトルW、入力ベクトルX、及びこの代表ベクトルに付帯している学習率gを用いてW＋g(X-W)を計算し、これを仮の代表ベクトルW0とする。つまり、W0←W＋g(X-W)によりW0を求める。
【００４５】
図７に示すように、仮の代表ベクトルW0は、勝者の代表ベクトルWを学習率gに応じた率だけ入力ベクトルXに近づけたベクトルである。特許文献１では、このW0を更新された代表ベクトルとしている。一方、本実施の形態においては、代表ベクトルのとり得る値を、単語概念ベースの中のベクトルに限定することとしているので、以下に示す近似処理を行う。
【００４６】
すなわち、代表ベクトル集合算出部１４は、W0から距離‖W−W0‖以内に存在する単語概念ベースの中のベクトルのうち、最もW0に近いベクトルを、勝者の代表ベクトルの新たな値Wとする。つまり、作業領域に格納されている更新前の勝者の代表ベクトルを、当該新たな代表ベクトルに書き換え、これに対応する概念ベクトルの番号を記入する。もし、単語概念ベースの中に最もW0に近いベクトルが複数ある場合には、その中のうち、単語概念ベースへの登録が最も若いベクトルを選択し、それを勝者の代表ベクトルの新たな値Wとする。
【００４７】
更に、代表ベクトル集合算出部１４は、上記代表ベクトルに付帯する学習率gの値を更新する（ステップ１０８）。もし、当該代表ベクトルが学習により移動した場合は、g←g0のようにベース学習率の値を学習率として、当該代表ベクトルの学習率へ反映させる。また、もし代表ベクトルが移動しなかった場合は、学習率をg←g+g0により更新し、同様に当該代表ベクトルの学習率へ反映させる。
【００４８】
なお、代表ベクトルが移動しない事象は、W0から距離‖W-W0‖以内に存在する単語概念ベースの中のベクトルが、唯一更新前の代表ベクトルWであった場合に起こる。このように学習率を変更することで、代表ベクトル更新時一回あたりの学習率をベース学習率のg0にすることができる。つまり、学習率の期待値をベース学習率のg0にすることができる。
【００４９】
次に、代表ベクトル集合算出部１４は、部分回数rと学習回数tとにそれぞれ１を加えた上で（ステップ１０９）、学習回数tがLに達しているか否かを判断する（ステップ１１０）。この判断結果がYesであれば、作業領域における全ての代表ベクトルを「代表ベクトル集合」として代表ベクトル集合格納部１９に保存して（ステップ１１１）、処理を終了する。判断結果がNoであれば、ステップ１０３の判断処理に移る。  
以上のステップ１０４〜ステップ１０８の学習処理を繰り返し、部分回数rが検査回数Cに達し、代表ベクトル数qがベクトル量子化数nよりも小さい場合は、ステップ１５１からの代表ベクトル生成処理を行う。
【００５０】
すなわち、代表ベクトル算出部１４は、部分回数rを０にクリアした（ステップ１５１）後、作業領域から各代表ベクトルの部分ひずみを取得する（ステップ１５２）。前述したように、部分ひずみとは、入力ベクトル集合を各代表ベクトルで量子化した際に生じる量子化誤差を代表ベクトル毎に集計した値である。
【００５１】
代表ベクトルの支配領域内に存在する全ての入力ベクトルとその代表ベクトルとの間の距離を計算し、その総和をとることにより部分ひずみを実際に計算することも可能であるが、本実施の形態では、学習の度に入力ベクトルとの距離を加算してきた部分ひずみを各代表ベクトルに関する部分ひずみ（真値）の近似と考え、最も部分ひずみの大きな代表ベクトルを選択する（ステップ１５３）。また、ここで、全ての代表ベクトルにおける部分ひずみの値を０にする。
【００５２】
次に、代表ベクトル集合算出部１４は、ステップ１５３において選択した代表ベクトルに基づいて新たな代表ベクトルを生成する（ステップ１５４）。本実施の形態では、選択された代表ベクトルと同じベクトル値を持つ新たな代表ベクトルを１個生成し、作業領域に格納する。そして、代表ベクトル集合算出部１４は、代表ベクトル数qに１を加算して（ステップ１５５）、ステップ１０３に進む。
【００５３】
以上のようにして、最初は1個であった代表ベクトルが学習を検査回数C繰り返す毎に１個ずつ追加されていき、最終的にベクトル量子化数nに等しい個数まで代表ベクトルが生成される。また、代表ベクトルの学習が繰り返されていき、最終的に終了回数Lに達したときに、代表ベクトル集合算出部１４は、全ての代表ベクトルを代表ベクトル集合として代表ベクトル集合格納部１９に保存し（ステップ１１１）、図３に示す代表ベクトル集合算出処理を終了する。なお、代表ベクトル集合格納部１９に保存されるデータの構造は、図６に示したものと同様である。
【００５４】
ここまでの処理により、代表ベクトル集合の算出が実施された後、単語・重み算出部１５が、最終的に文書特徴を表現するための単語と重みを算出し、出力する処理を行う（図２のステップ５）。
【００５５】
この処理ではまず、単語・重み算出部１５は、入力ベクトル集合格納部１８に格納されている各入力ベクトルをそれに最も近い代表ベクトルで代表させる。つまり、ある入力ベクトルに着目すると、その入力ベクトルに最も近い代表ベクトルをその入力ベクトルを代表する代表ベクトルとする。この処理を各入力ベクトルについて行うことにより、各入力ベクトルに対応する代表ベクトルが算出される。そして、単語・重み算出部１５は、各代表ベクトルについて、その代表ベクトルが代表する各入力ベクトルの重み（重みとして、例えば、本実施の形態では、各入力ベクトルに対応付けられている出現頻度を用いることができる）の和を計算し、それを当該代表ベクトルに関する重みとする。
【００５６】
次に、単語・重み算出部１５は、単語概念ベース格納部１７を参照することにより、各代表ベクトル（それぞれ単語概念ベース中の概念ベクトルである）に対応する各単語を取得する。そして、各単語と、その重み（当該単語に対応する代表ベクトルに対応する重み）とを出力部１６を介して出力する。以上の処理により、単語とそれに関する重みとして文書特徴を表せたことになり、処理を終了する。
【００５７】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。本実施の形態は、文書中の単語の概念ベクトルを全ての単語について平均した平均ベクトルである文書ベクトル（特許文献２参照）が文書の特徴を表していることに着目し、この文書ベクトルを単語と重みによって近似するという考えに基づいている。
【００５８】
そして、本実施の形態では、文書特徴を表すための単語の集合は、事前に何らかの方法で求めてあるものとする。例えば、文書を第１の実施の形態における文書特徴表現計算装置１０を用いて処理し、その文書を良く表すことのできる単語の集合を求めておく。共通の単語集合により種々の文書の特徴を表すことができれば、それら文書同士を人間に分かりやすい形で比較することが可能である。第２の実施の形態は、このような利用場面を想定している。
【００５９】
＜装置構成＞
図８に、第２の実施の形態における文書特徴表現計算装置２０の機能構成図を示す。図８に示すように、本実施の形態における文書特徴表現計算装置２０は、入力部２１、単語頻度算出部２２、文書ベクトル算出部２３、重み算出部２４、出力部２５、単語概念ベース格納部２６、単語集合格納部２７を有する。
【００６０】
入力部２１は、特徴を表現する対象となる文書を入力するための機能部である。単語頻度算出部２２は、入力された文書から、文書を構成する各単語とその出現頻度を算出するための機能部である。文書ベクトル算出部２３は、単語概念ベースを参照することにより、各単語とその出現頻度を用いて文書ベクトルを算出するための機能部である。重み算出部２４は、上述した考えに基づき、単語の重み（係数）を算出するための機能部である。出力部２５は、文書の特徴を表す単語と、重み算出部２４により算出された重みとを出力するための機能部である。
【００６１】
単語概念ベース格納部２６は単語概念ベースを格納する格納部であり、単語格納部２７は、文書の特徴を表す単語を格納する格納部である。
【００６２】
なお、文書特徴表現計算装置２０は、CPUと、メモリやハードディスク等の記憶装置とを含む一般的なコンピュータに、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現されるものであり、上述した各機能部は、コンピュータに当該プログラムが実行されて実現される機能部である。従って、例えば、各機能部間での情報のやりとりは、実際にはメモリ等の記憶装置を介して行われるものである。なお、上記プログラムは、メモリ等の記録媒体からコンピュータにインストールすることもできるし、ネットワーク上のサーバからダウンロードするようにしてもよい。
【００６３】
＜文書特徴表現計算装置２０の動作＞
次に、文書特徴表現計算装置２０の処理動作を、図９に示すフローチャートに沿って説明する。
【００６４】
まず、事前処理として、第１の実施の形態と同様にして単語概念ベースを用意し、単語概念ベース格納部２６に格納するとともに、処理の対象とする文書の特徴を表す単語の集合を求めておき、それを単語格納部２７に格納しておく。例えば、単語概念ベースとしては第１の実施の形態で使用したものを使用し、文書の特徴を表す単語の集合としては、本実施の形態で対象とする文書に対して、第１の実施の形態での処理を施して求めた単語の集合を用いることができる。なお、以下、文書の特徴を表すための単語の数をnとし、単語概念ベースにおける概念ベクトルの次元数をMとする。
【００６５】
事前処理の後に、まず、処理の対象とする文書を、入力部２１を介して文書特徴表現計算装置２０に入力する（ステップ１１）。当該文書は単語頻度算出部２２に渡される。単語頻度算出部２２は、形態素解析により当該文書を単語に分割し、単語とその出現頻度情報を算出する（ステップ１２）。これらの情報は文書ベクトル算出部２３に送られる。
【００６６】
続いて、文書ベクトル算出部２３は文書ベクトル算出処理を行う（ステップ１３）。つまり、文書ベクトル算出部２３は、単語概念ベース格納部２６に格納された単語概念ベースを参照することにより、単語頻度算出部２２により算出された各単語から、それに対応する概念ベクトルを取得し、取得された各概念ベクトルに、当該概念ベクトルに対応する単語の出現頻度（この出現頻度に単語の重要度の重みを反映することも可能である）で重みを付け（出現頻度を掛ける）、重み付けされた概念ベクトル集合の平均（和を取って、全体の数で割る）をとり、これを文書ベクトルy（M次元列ベクトル）とする。ここで算出された情報が重み算出部２４に渡される。
【００６７】
次に、文書特徴を表すものとして単語格納部２７に格納されている各単語の重み（係数）を算出する処理を行う（ステップ１４）。その処理の詳細は以下のとおりである。
【００６８】
重み算出部２４は、単語概念ベース格納部２６に格納されている単語概念ベースから、単語格納部２７に格納されている各単語に対応する概念ベクトルを取得し、取得した各概念ベクトルを列ベクトルとし、単語数分の列ベクトルを横に並べた行列A（M×Ｎ行列）を作成する。これを単語基底と呼ぶことにする。
【００６９】
各単語に対する重み（本実施形態で求めようとしている重み）のベクトルをx（N次元列ベクトル）とすると、単語基底と係数xにより文書ベクトルyは
y≒Ax            式（１）
のように近似できる。ここで単語基底を特異値分解すると、
A=UΣVt        式（２）
と表せる。そして、Aの擬似逆行列A+を
A+＝VΣ+Ut      式（３）
により求めることができる。ここで、Σ+は、Σの零でない成分の逆数を成分とする行列の転置である。この擬似逆行列を用いることにより、式（１）においてyを２乗誤差を最小化する意味で最適近似する重み（係数）ｘは、
ｘ=A+y          式（４）
により表すことができる。つまり、重み算出部２４は、単語基底と文書ベクトルyを用いて、式（２）〜（４）で示す計算を行うことにより重みベクトルxを算出する。
【００７０】
その後、出力部２５が、重みベクトルxの値と、単語格納部２７に格納されている単語を出力する。なお、単語は予め求めてあるものなので、重みxだけを出力することとしてもよい。
【００７１】
以上の処理により、与えられた文書の特徴を表現する単語に対応した重みが算出でき、処理を終了する。なお、第１に実施の形態における文書特徴表現計算装置１０に、本実施の形態における文書ベクトル算出部２３、重み算出部２４、単語格納部２７を加え、文書特徴表現計算装置１０において本実施の形態で説明した重みxを計算し、単語とともに出力することとしてもよい。
【００７２】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。    
【図面の簡単な説明】
【００７３】
【図１】第１の実施の形態における文書特徴表現計算装置１０の機能構成図である。
【図２】文書特徴表現計算装置１０の動作を説明するためのフローチャートである。
【図３】文書特徴表現計算装置１０の動作を説明するためのフローチャートである。
【図４】単語概念ベースの例を示す図である。
【図５】入力ベクトル集合の例を示す図である。
【図６】作業領域に格納される代表ベクトルの例を示す図である。
【図７】仮の代表ベクトルW0を説明するための図である。
【図８】第２の実施の形態における文書特徴表現計算装置２０の機能構成図である。
【図９】文書特徴表現計算装置２０の動作を説明するためのフローチャートである。
【符号の説明】
【００７４】
１０  文書特徴表現計算装置  
１１  入力部
１２  単語頻度算出部
１３  入力ベクトル集合算出部
１４  代表ベクトル集合算出部
１５  単語・重み算出部
１６  出力部
１７  単語概念ベース格納部
１８  入力ベクトル集合格納部
１９  代表ベクトル集合格納部
２０  文書特徴表現計算装置
２１  入力部
２２  単語頻度算出部
２３  文書ベクトル算出部
２４  重み算出部
２５  出力部
２６  単語概念ベース格納部
２７  単語集合格納部
【図１】
0005244452.tif 000002
【図２】
0005244452.tif 000003
【図３】
0005244452.tif 000004
【図４】
0005244452.tif 000005
【図５】
0005244452.tif 000006
【図６】
0005244452.tif 000007
【図７】
0005244452.tif 000008
【図８】
0005244452.tif 000009
【図９】
0005244452.tif 000010