(57)【特許請求の範囲】
【請求項１】
予め定められた単語集合に含まれる単語の間の共起性を表す値を要素とする連想記憶行列のデータを記憶するデータベースと、
入力文書について上記単語集合の単語の出現の有無を表す値を要素とする単語ベクトルを抽出する構文解析部と、
連想想起情報抽出部とを有し、
上記連想想起情報抽出部は、
連想想起特徴ベクトルを記憶する記憶部と、
上記記憶部に記憶されている上記連想想起特徴ベクトルを更新する更新部とを有し、
上記連想想起情報抽出部は、
上記単語ベクトルで上記記憶部に記憶されている上記連想想起ベクトルを初期化し、
上記更新部を用いて、ランダムに決定された単語ｗｋについて、
【数１】
0004360122.tif 000010
ただし、ｓｇｎ｛  ｝は引数の値に応じて１または０を返す関数、Ｇｋｉは上記連想記憶行列の要素、θｋは予め定められた閾値、Ｆ（  ）は単調増加関数である。
を算出して上記連想記憶想起ベクトルの要素Ｎｋを更新し、
予め定められた収束条件が満たされるまで、単語ｗｋをランダムに選定し、対応する要素Ｎｋの更新を行い、
上記収束条件が満たされたときに、上記連想記憶ベクトルに基づいて１または複数の単語をキーワードとして抽出することを特徴とするキーワード抽出装置。
【請求項２】
単語ｗｋについて、
【数２】
0004360122.tif 000011
で表される活性値を求め、活性値の大きさに基づいてキーワードのランク付けを行う請求項１記載のキーワード抽出装置。
【請求項３】
上記単調増加関数は比例関数である請求項１または２記載のキーワード抽出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ニューラルネットワークを用いた連想記憶技術に関し、とくにニューラルネットワークにおける活性化ノードの決定手法の改良に関する。
【０００２】
【従来の技術】
連想記憶に基づく認識理解技術は、自然言語処理分野に応用可能である。例えば、特許文献１は、関連性はあるが異質な情報を提供できるような情報検索装置を提供することを目的として連想記憶技術を文書の検索に適用した発明を開示している。与えられた複数の文書を辞書中の単語が存在するか否かで１，０を付与した「キーワードベクトル」を作成し、自己相関連想記憶として、「アソシアトロン」に記銘させる。ユーザが入力した文章、あるいは単語列から、「キーワードベクトル」を作成し、それを初期条件としてアソシアトロンに想起を行わせる。この操作により、ａｎｄ条件、ｏｒ条件とは全く異なるパターン認識的な検索処理を実現している。
【０００３】
しかしながら、この手法では従来型の連想記憶モデルである「アソシアトロン」をそのまま用いているので、文書パターンを想起する場合における様々な問題点を解決するには至っていない。従来型の連想記憶モデルではランダムパターン（パターンをＮ個の０と１との列として表現した場合ｉ番目の値とｊ番目の値とが互いに独立に決まるようなパターンをランダムパターンという）の学習・想起することは容易であるが、文書パターンのような偏ったパターンを学習・想起することは困難である。
【０００４】
辞書中の単語が文書中に存在するか否かで、１，０を付与したベクトルによって、一つの文書パターンを表現する場合、文書パターンには次のような特徴がある。
【０００５】
（１）ノイズを含まないパターンは存在しない
実際の文書を学習データとして使用した場合、大抵は話題と関係ない単語を含んでいる。そのようなデータは学習データのノイズと見ることができる。
【０００６】
（２）一つのパターンは全単語に対して非常に少ない単語しか含まない
日本語には数十万の単語があるが、例えば電子メール等の比較的短い文書に含まれるのはせいぜい数百語程度である。このようなパターンはスパース（疎）なパターンといわれる。
【０００７】
（３）単語の出現頻度差が大きい
例えば、「これ」「この」といった指示語は使用頻度が高いが、様々な専門用語等は特殊な場合にしか現れない。
【０００８】
（４）類似パターンの出現頻度に偏りがある
例えば、お客様からの問い合わせの電子メール等を対象にした場合、良くある問い合わせパターンと、あまり現れないパターンの出現頻度の差異は非常に顕著である。
【０００９】
ランダムスパースなパターンを記憶するために、共分散行列を用いた連想記憶が提案されている（非特許文献１、非特許文献２）。この連想記憶モデルでは、Ｎ個のノードからランダムにノードを順次選び、（２）式に従ってその活性値を更新する。活性値の変化するノードがなくなるまでこの操作を繰り返す。
【数１】
0004360122.tif 000002
この連想記憶モデルでは、上記（１）の問題に関しては、ノードの活性値の活性確率を導入することにより、ランダムに現れる共起性と、真に相関があり共起するパターンを区別することで解決されている。また、この連想記憶モデルは、ランダムスパースなパターンを記憶するために考案されたので、上記（２）については問題ない。また、上記（３）についても、ノードの活性値の活性確率を導入することにより解決されている。
【００１０】
しかし、この連想記憶モデルは、類似パターンの出現頻度が偏った場合（上記４）には適していない。なぜならば、この連想記憶モデルではよく現れるパターンのみを想起する傾向にあるからである。
【００１１】
また、特許文献２では、連想記憶モデルを仮名漢字変換に適用する研究が行われている。この連想記憶モデルでは、上記（１）〜（４）の問題を解決するために、共分散行列を用いた連想記憶モデルにおいて、次のような工夫を施している。新規の文章パターンを記銘する際に、そのパターンのエネルギー値を計算し、このエネルギー値と所定のエネルギー値との差に基づいてリンクの重みを更新させる度合いを定める。
【数２】
0004360122.tif 000003
このような工夫により、文書パターンがどのようなものであってもエネルギー値をほぼ一定にするようにリンクの値を学習する。これにより偏ったパターンについても適切に想起できるようになる（上記（４）の解決）。
【００１２】
しかしながら、文書パターンを学習する際に、その都度エネルギーを計算する必要があるので学習に時間を要する。また、この手法では、類似パターンの出現頻度などの情報がネットワークの重みには反映されていないので、重み行列は、学習データの構造を正しく反映しているものであるとはいえない。
【特許文献１】
特許第２８３２６７８号
【特許文献２】
特許第３３６４２４２号
【非特許文献１】
Ｓ．Ａｍａｒｉ，Ｎｅｕｒａｌ  ｔｈｅｏｒｙ  ｏｆ  ａｓｓｏｃｉａｔｉｏｎ  ａｎｄ  ｃｏｎｃｅｐｔ−ｆｏｒｍａｔｉｏｎ，Ｂｉｏ．Ｃｙｂｅｒｎ，Ｖｏｌ．２６，ｐｐ．１８５−１７５，１９７７
【非特許文献２】
Ｓ．Ａｍａｒｉ．Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｏｆ  ｓｐａｒｓｅｌｙｅｎｃｏｄｅｄ  ａｓｓｏｃｉａｔｉｖｅ  ｍｅｍｏｒｙ．Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．２，ｐｐ．４５１−４５７，１９８９）
【００１３】
【発明が解決する課題】
この発明は、以上の事情を考慮してなされたものであり、少ない計算コストでも偏ったパターンを適切に想起できる連想記憶手法を提供することを目的としている。
【００１４】
【課題を解決するための手段】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【００１５】
この発明の原理的な構成では、共分散行列を用いた連想記憶手法において、全体の発火率に比例した抑制入力をネット−ワークに加えることによって、文書パターンのような非常に偏ったデータに対しても、初期状態に依存した形での連想想起を行えるようにする。
【００１６】
この結果、つぎのような効果がある。
・非常に「偏った」重み行列を用いても、状況依存的な出力が可能である。
・リンクの更新に際し、逐一エネルギー値を求める必要がないので、時間を要しない。
・抑制入力の大きさを制御することによって、エネルギー値が低いパターンから、エネルギー値が高いパターンまで、様々なレベルのパターンを出力することが可能である。
【００１７】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００１８】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【００１９】
【発明の実施の形態】
以下、この発明をキーワード抽出装置に適用した実施例について説明する。このキーワード抽出装置は、文書に自動的にキーワードを付与して文書の内容を把握しやすくする、あるいは検索を容易にすることのできる文書処理装置の構築を目指すものである。オフィス等における、文書の管理・処理に関するシステムなどに応用される。とくに、文書中に含まれている単語のみならず、文書に含まれていないが、文書に含まれている単語群との関連に基づいて、文書の意味内容に深く関わる単語もキーワードとして出力できるようにするものである。
【００２０】
図１はこの実施例のキーワード抽出装置を全体として示しており、この図において、キーワード抽出装置１０はユーザインターフェース部１１、構文解析部１２、単語間相関学習部１３、想起情報抽出部１４、データベース１５等を含んで構成されている。
【００２１】
ユーザインターフェース部１１は、キーボードやモニタ等からなり、文書の入力やキーワードの提示をユーザが実行可能にするものである。
【００２２】
構文解析部１２は、学習用文書、及び、入力文書を単語に分解して構文解析する（以下学習用文書群、入力文書に対して全く同様の処理を行う場合、これらを総称し「文書」と記述する）。この時、同じ意味の単語は一つの代表単語に変換される。例えば、「プリンター」、「プリンタ」、「Ｐｒｉｎｔｅｒ」、「ｐｒｉｎｔｅｒ」は同じ意味の単語として一つの代表語「プリンター」に置き換えられる。そして文書は一つの特徴ベクトルに変換される。文書Ｄμの特徴ベクトルＦμは次のようになる。
【数３】
0004360122.tif 000004
特徴ベクトルＦμの要素ｗｉμは単語Ｗｉが文書Ｄμに現れたら１、現れなければ０となる。すなわち、特徴ベクトルは、ある単語がその文書に現れたか否かのみで判断されており、出現頻度、重要度などは考慮されていない。特徴ベクトルの長さｎは、あらかじめ設定する。また、特徴ベクトル生成時に使用されるｎ個の単語｛Ｗ１，Ｗ２，…，Ｗｎ｝は、学習用文書群に出現する単語をＴＦ＊ＩＤＦの値によりスコア付けして、その上位ｎ個を採用する。ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）は、ある文書ｄにおける索引語ｔの生起頻度であり、ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）ＴＦは語がどのくらい特定性を持つかを表す。
【００２３】
単語間相関学習部１３は、学習用文書から、共起性に基づいて単語間の関連性を学習し連想記憶行列を構築する。すなわち連想行列ｇｉｊは、次のような式で求められる。
【数４】
0004360122.tif 000005
更に、例えば、突出して出現度の高い単語の影響を抑えるため、連想記憶行列ｇｉｊを行ごとにノーマライズすることによって、システムからの入力を一定値以内に抑える。
【数５】
0004360122.tif 000006
このようにして、連想記憶行列Ｇｉｊ（１≦ｉ，ｊ≦ｎ）を得る。得られた連想記憶行列Ｇｉｊはデータベース１５に格納される。
【００２４】
想起情報抽出部１４は、入力文書から、連想想起によりキーワードを抽出する。想起情報抽出部１４は、模式的には図２に示すような構成を有し、図３に示すような動作を実行する。
【００２５】
図２に示すように、構文解析部１２からの単語列に基づいて入力特徴ベクトルを生成し、これを入力特徴ベクトル記憶部１４１で受取り、この入力特徴ベクトルで連想想起特徴ベクトル記憶部１４２の連想想起特徴ベクトルの値を初期化する。この後、連想想起特徴ベクトル更新部１４３が、データベース１５の重み行列およびその時点での連想想起特徴ベクトルに基づいて新たな連想想起特徴ベクトルを生成してその値を更新する。収束判定部１４４は、連想想起特徴ベクトルが収束したかどうかを判別し、収束したと判別した場合には連想想起特徴ベクトル出力部１４５がその時点の連想想起特徴ベクトルを出力し、これに基づいてキーワードをユーザインターフェース部１１に出力する。
【００２６】
以下、図３を参照して詳細に説明する。なお、連想想起を行わせるｎ次元ベクトルをＮ＝［Ｎ１，Ｎ２，…，Ｎｎ］と定義する。
【００２７】
［ステップＳ１０］：特徴ベクトルの初期化
入力文書から得た特徴ベクトルをＱ＝［Ｑ１，Ｑ２，…，Ｑｎ］とする時、入力特徴ベクトルＱで連想想起特徴ベクトルＮを初期化する。すなわち、
【数６】
0004360122.tif 000007
【００２８】
［ステップＳ１１］：ランダムにノードｋを選択
ノードの状態変化は非同期的に行われる。すなわち一回に任意の一つのノードのみが状態変化する。
【００２９】
［ステップＳ１２］：Ｎｋの更新
基本的には、閾値が一定値以上であれば発火（Ｎｋ＝１）し、一定値以下であれば、発火を取りやめる（Ｎｋ＝０）単純なバイナリ型のモデルニューロンによって、ダイナミクスは実現される。もちろん、これに限定されない。
【００３０】
選択されたノードＮｋは、次式に従って状態が更新される。
【数７】
0004360122.tif 000008
このような抑制入力を加えることによって、最終的に抽出される単語数を一定数以内に制御することができる。なお、比例定数αにかえて単調増加する関数を用いてもよい。
また
【数８】
0004360122.tif 000009
の値をノードｋの活性度と定義する。これは他のノードからどれくらい大きな入力を受けているかを表している。すなわち、その単語が入力文書に対してどれくらいの活性を有するかの尺度として用いることができる。
【００３１】
［ステップＳ１３］：収束判定
収束判定は様々な方法が考えられる。ある一定試行回数状態が変化しなくなったところで収束と判定しても良い。あるいは、試行回数に上限を与えるなどの方法などを採用しても良いだろう。
【００３２】
［ステップＳ１４］：連想想起特徴ベクトルの出力
収束が判定された後、連想想起特徴ベクトルＮを出力する。この連想想起特徴ベクトルＮに基づいて１または複数のキーワードを決定する。
【００３３】
この実施例によれば、文書知識のような非常に偏ったデータに対しても、全体の発火数に比例する抑制入力を導入することで、リンクの学習に特別な処理を施すことなく初期状態に依存した形での連想想起を行える。
【００３４】
また、抑制入力の比例定数αを変化させることにより、最終的にキーワードとして抽出される語数をある一定数に制御することも可能である。
【００３５】
更に、キーワードとして抽出された単語それぞれの活性度の値を入力文書に対するそのキーワードの位置付けの重要度とみなすことにより、抽出された単語のランク付けを行うことも可能である。
【００３６】
以上のような連想想起によって、入力文書に存在していた単語であっても、発火している他のノードからの入力が小さければ、すなわち、発火している他の単語との関連が小さければ発火しなくなり、逆に入力文書に存在していない単語であっても、他のノードから大きな入力を受ければ、すなわち、発火している他の単語と関連が大きければ発火する。これにより、過去の知識を活用しながらも、それぞれの文書に固有の関連キーワードを、その文書に含まれていない単語も含め抽出するキーワード抽出装置を実現した。
【００３７】
また単語間の関連性は、学習文書群を与えることによって自動的に獲得されるので、分野ごとに固有の知識を先見的に与える必要はない。更に、従来までの概念辞書、意味ネットワーク等を用いるアプローチでは、辞書のメンテナンス作業を日々行う必要があるが、本特許では、新規の学習文書群を追加するだけで、新たな単語間の関連性を自動的に獲得することができるので、メンテナンスに対する労力も大幅に低減される。
［実験例］
【００３８】
以下、実際に行った実験を題材に具体的に説明する。
【００３９】
富士ゼロックス株式会社のお客様相談センターに寄せられた問い合わせメールを用いた検証を行った。学習文書数は、１１，３６５であり、特徴ベクトル生成時に使用する単語数は１，０００とした。
【００４０】
まずは、学習文書とは異なる問い合わせメール６２通を初期状態として与えた場合の連想結果（制御入力がある場合と無い場合）を図４示す。このように、抑制入力を適用しない場合は、６２通のメールがほとんど同一のパターンに収束しているのに対して、抑制入力を適用した場合には、ほとんどのメールが異なるパターンに収束していることが分かる。
【００４１】
次に、ある典型的なクレームメールに対する適用例を示す。
【００４２】
メール本文を要約すると、
「富士ゼロックスからコピー機を購入して使用している。先日インクがよく出ないのでカートリッジを交換したところ、エラーが出てしまう。古いものに交換したところ正常である。相談センターへ連絡すると本体を送ってほしいといわれた。指示通り送付し、確認の電話を入れたら届いていないといわれる。なぜインクが出ないのかを聞いても要領を得ない回答をされる。コールセンターの事務的取り扱いは顧客の立場を少しも考えてくれていない。責任の所在を明確にして欲しい。」
といったものであった。
この入力メールの特徴ベクトル中、値が１となった単語は図５のようになった。
連想想起後、最終的に抽出されたキーワードは図６のようになった。ただし、（  ）内の数字は、最終的な活性値、アスタリスクは、本文中にはないキーワードを表す。
【００４３】
更に、上記抽出キーワードの中から、活性度に従って上位１０単語を切り出した。この結果は図７に示すとおりである。この中で、「クレーム」、「責任」等のキーワードは、本文中に出現する単語よりも文章の内容を的確に表していると考えることができ、「文章の内容を把握しやすくする」という目的に対して、より適切なキーワードが得られたといえる。
【００４４】
つぎに上述実施例を用いてキーワードを抽出し、このキーワードを文書とともに登録する文書処理装置の例を説明する。
【００４５】
図８は、文書のキーワードを抽出しながら文書を登録し、登録文書のキーワード検索を可能にする文書処理装置２０を示している。この文書処理装置２０は、基本的には図１のキーワード抽出装置１０を主たる構成要素とし、これに文書データベース２１、文書登録部２２、文書検索部２３を付加したものである。なお、図８において図１に対応する箇所には対応する符号を付した。この例では想起情報抽出部１４で抽出された連想想起特徴ベクトルに基づいて出力されるキーワードを文書と関連づけて文書データベース２１に登録し、文書検索部２３を用いて文書をキーワード検索する。
【００４６】
以上で、この発明の実施例の説明を終了する。
【００４７】
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、ニューラルネットワーク全体の発火率に比例する、あるいはその発火率に応じて単調増加する抑制入力を用いるようにしたが、予め所定範囲のノードに限定してその範囲内の発火率を基準にしてもよい。またバイナリ型でない場合には、発火率に代えて活性値の総和を用いるようにしてもよい。考慮するノードの範囲は、ノードに該当する単語の頻度等に基づいて決定してもよい。また、状況に応じて、抑制入力を与えることなく、連想想起特徴ベクトルの収束結果を出力して連想想起を行うようにしてもよい。
【００４８】
【発明の効果】
以上説明したように、この発明によれば、文書パターンのように偏ったデータに対しても、連想想起を適切に行うことができ、しかも計算コストを抑えることができる。
【図面の簡単な説明】
【図１】  この発明の実施例のキーワード抽出装置の構成を示すブロック図である。
【図２】  図１の実施例の想起情報抽出部１４の構成を模式的に示すブロック図である。
【図３】  図１の実施例の想起情報抽出部１４の動作を説明するフローチャートである。
【図４】  実験例を説明する図である。
【図５】  実験例を説明する図である。
【図６】  実験例を説明する図である。
【図７】  実験例を説明する図である。
【図８】  図１の実施例を用いたキーワード付きで文書を登録する文書処理装置の構成例を示すブロック図である。
【符号の説明】
１０      キーワード抽出装置
１１      ユーザインターフェース部
１２      構文解析部
１３      単語間相関学習部
１４      想起情報抽出部
１５      データベース
２０      文書処理装置
２１      文書データベース
２２      文書登録部
２３      文書検索部
１４１      入力特徴ベクトル記憶部
１４２      連想想起特徴ベクトル記憶部
１４３      連想想起特徴ベクトル更新部
１４４      収束判定部
１４５      連想想起特徴ベクトル出力部
【図１】
0004360122.tif 000012
【図２】
0004360122.tif 000013
【図３】
0004360122.tif 000014
【図４】
0004360122.tif 000015
【図５】
0004360122.tif 000016
【図６】
0004360122.tif 000017
【図７】
0004360122.tif 000018
【図８】
0004360122.tif 000019