説明

知識獲得装置、知識取得方法、及びプログラム

【課題】より迅速に結果を出力可能な知識獲得装置を提供すること。
【解決手段】特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段と、前記第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する出現数情報取得手段と、前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する評価手段と、を備える知識獲得装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータを用いてデータ群から単語対等の知識を取得する技術に関し、特に、特定の事象と単語対との関係に関する知識を取得する知識獲得装置、知識取得方法、及びプログラムに関する。
【背景技術】
【0002】
従来、インターネット等を利用して、アクセス可能なデータ群からキーワード(検索キー)を含むデータを検索することが広く行われている。検索の結果として取得されるデータは、主に電子文書である。
【0003】
このようなデータ検索を通じて獲得された知識は、辞書・辞典等の作成、及び電子的情報サービスの提供等に応用することができる。例えば、「*は**に効く」、「*は**に効果がある」等を検索キーとしてデータ群を検索すると、「病気」と「それに効果のある食品」のような単語の対が複数組取得されることが期待される。ここで、上記「*」や「**」は、内容を特定せずにデータ検索を行う部分を示す。
【0004】
以下、このようにして得られる特定の関係を有する単語の対を、単語対と称する。上記の場合、「風邪」と「大根」、「風邪」と「生姜」、「頭痛」と「梅干し」などが単語対として取得され得る。また、上記「*は**に効く」の他にも、「場所」と「そこに適した掃除道具」、「季節」と「料理」、「食材」と「調味料」等、様々なものが単語対として考えられる。このような単語対を網羅的に収集することによって、有用な情報サービスを提供することが可能になると考えられる。
【0005】
一方、「*」や「**」以外の部分、すなわち「は」・「に効く」の部分、及び「は」・「に効果がある」の部分は、単語対を取得するための抽出規則といえる。以下、こうした抽出規則を、「文脈パターン」と称する。
【0006】
単語対と文脈パターンは、大規模データからコンピュータが自動アルゴリズムで取得することができる(例えば、特許文献1、並びに非特許文献1参照)。
【0007】
具体的には、まず、シードと称される既知の単語対をコンピュータに与える。コンピュータは、シードを含む文脈パターンを、大規模データから検索する。文脈パターンが得られると、得られた文脈パターンを含む文書を検索し、得られた文書から未知の単語対を取得する。これらを繰り返し行うことによって、単語対及び文脈パターンの数が増加していく。最終的には、複数の単語対と複数の文脈パターンが知識として獲得され、辞書・辞典等の用途に用いることが可能なデータベースが作成される。
【0008】
なお、「出現数が所定数以上である」等の条件を付与して、一般的でないと思われる知識(ノイズ、ゴミ)を除外する処理等が行われ得る。この際に、コンピュータの作業にユーザの各種設定入力等を挟むことにより、文脈パターンに重み付けを行うことも想定される。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第7146308号明細書
【非特許文献】
【0010】
【非特許文献1】Stijn De Saeger他、「単語の意味クラスを用いたパターン学習による大規模な意味的関係獲得」、言語処理学会第16回年次大会、pp932−935、2010
【発明の概要】
【発明が解決しようとする課題】
【0011】
ところで、上記のように知識を獲得する際には、データ(電子文書)に関する特定の事象に限定してデータを収集したいというニーズが存在する。特定の事象の代表的なものは、地域・業界・分野等のカテゴリーである。以下、簡便のため、カテゴリーと表記する。
【0012】
具体的には、前述の「病気」と「それに効果のある食品」のような単語対を取得する場合、(1)医療関連の権威ある文書から獲得された単語対のみを用いたい、(2)その反対に、草の根的な単語対を網羅的に集めたい等の要求が考えられる。また、ユーザの居住地等に起因し、(3)西日本だけで通説となっている単語対を集めたい、等の要求も考えられる。
【0013】
ところが、大規模データからコンピュータが自動アルゴリズムで単語対及び文脈パターンを取得する処理は、多くの繰り返し処理を含むため、カテゴリーが指定されてから処理を行うのでは、処理時間が長くなってしまう。この結果、ユーザに所望の結果を迅速に提供できない可能性が高くなる。
【0014】
一方、予め、カテゴリー毎に単語対や文脈パターンを取得してデータベースに格納しておくことも考えられるが、この場合、データ量が膨大となり、リソースに対する要求が高くなってしまう。また、ユーザにより指定され得る全てのカテゴリーを予測するのは現実的でない。
【0015】
本発明はこのような課題を解決するためのものであり、より迅速に結果を出力可能な知識獲得装置、知識取得方法、及びプログラムを提供することを、主たる目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するための一態様は、
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段と、
前記第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する出現数情報取得手段と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する評価手段と、
を備える知識獲得装置である。
【発明の効果】
【0017】
本発明によれば、より迅速に結果を出力可能な知識獲得装置等を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施例に係る知識獲得装置1を含む情報システムの全体像である。
【図2】本実施例の知識獲得装置1のハードウエア構成例である。
【図3】本実施例の知識獲得装置1の機能構成例である。
【図4】本実施例の知識獲得装置1により実行される処理の全体像を模式的に示す図である。
【図5】オペレータ110がクライアントコンピュータ100に対してシードを入力し、知識獲得装置1が単語対テーブル40を生成する様子を模式的に示す図である。
【図6】単語対獲得部30により生成される単語対テーブル40の一例である。
【図7】ユーザ120がクライアントコンピュータ100に対してクエリを入力し、知識獲得装置1が出現数テーブル42を生成する様子を模式的に示す図である。
【図8】検索部32により生成される出現数テーブル42の一例である。
【図9】知識獲得装置1がスコア付単語対44を生成する様子を模式的に示す図である。
【図10】スコア算出部34の出力により出力されるスコア付単語対44の一例である。
【図11】従来の装置によって実行され得る処理と、本実施例の知識獲得装置1により実行される処理とを対比するための模式図である。
【図12】単語対獲得部30により実行される特徴的な処理の流れを示すフローチャートである。
【図13】単語対獲得部30により実行される文脈パターン抽出処理の流れを示すフローチャートである。
【図14】S410の解析において用いられる形態素の構造を模式的に示す図である。
【図15】検索部32により実行される特徴的な処理の流れを示すフローチャートである。
【図16】スコア算出部34により実行される特徴的な処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0020】
以下、図面を参照し、本発明の一実施例に係る知識獲得装置1について説明する。
【0021】
[ハードウエア構成]
図1は、本発明の一実施例に係る知識獲得装置1を含む情報システムの全体像である。図示するように、知識獲得装置1は、例えば、一又は複数のクライアントコンピュータ100がネットワーク50を介して接続されたサーバ装置である。また、知識獲得装置1は、ネットワーク50を介して大規模文書200にアクセス可能となっている。なお、ネットワーク50は、インターネット、携帯電話やPHS(Personal Handy-phone System)の電波網、LAN(Local Area Network)等を含む。
【0022】
図2は、本実施例の知識獲得装置1のハードウエア構成例である。知識獲得装置1は、例えば、CPU(Central Processing Unit)10と、ドライブ装置12と、補助記憶装置16と、メモリ装置18と、インタフェース装置20と、入力装置22と、出力装置24と、を備える情報処理装置である。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【0023】
CPU10は、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSU(Load Store Unit)、汎用レジスタ等を有するプロセッサである。
【0024】
ドライブ装置12は、記憶媒体14からプログラムやデータを読み込み可能な装置である。プログラムを記録した記録媒体14がドライブ装置12に装着されると、プログラムが記録媒体14からドライブ装置12を介して補助記憶装置16にインストールされる。記録媒体14は、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型の記録媒体である。また、補助記憶装置16は、例えば、HDD(Hard Disk Drive)やフラッシュメモリである。
【0025】
プログラムのインストールは、上記のように記憶媒体14を用いる他、インタフェース装置20がネットワーク50を介して他のコンピュータよりダウンロードし、補助記憶装置16にインストールすることによって行うこともできる。また、情報処理装置の出荷時に、予め補助記憶装置16やROM(Read Only Memory)等に格納されていてもよい。
【0026】
このようにしてインストール又は予め格納されたプログラムをCPU10が実行することにより、図1に示す態様の情報処理装置が、本実施例の知識獲得装置1として機能することができる。
【0027】
メモリ装置18は、例えば、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)である。インタフェース装置20は、上記ネットワークとの接続等を制御する。
【0028】
入力装置22は、例えば、キーボードやマウス、タッチパッド、タッチパネル、マイク等である。また、出力装置24は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置、プリンタ、スピーカ等を含む。
【0029】
インタフェース装置20は、ネットワーク50を介してクライアントコンピュータ100や大規模文書200にアクセスすることができる。
【0030】
クライアントコンピュータ100は、サーバ側の知識獲得装置1と同様、CPU、ドライブ装置、補助記憶装置、メモリ装置、インタフェース装置、入力装置、出力装置等を有する。これらについての詳細な説明は省略する。
【0031】
大規模文書200は、ネットワーク50を介してアクセス可能なあらゆる記憶装置に格納された電子文書である。
【0032】
[機能構成]
図3は、本実施例の知識獲得装置1の機能構成例である。知識獲得装置1は、単語対獲得部30と、検索部32と、スコア算出部34と、を備える。これらの機能ブロックは、補助記憶装置16等に格納されたプログラム・ソフトウエアをCPU10が実行することにより機能する。
【0033】
また、知識獲得装置1は、メモリ装置18や補助記憶装置16の所定領域に、単語対テーブル40と、出現数テーブル42と、スコア付単語対44と、を生成する。
【0034】
図4は、本実施例の知識獲得装置1により実行される処理の全体像を模式的に示す図である。図示するように、知識獲得装置1は、大規模文書200とシード250に基づき単語対テーブル40を生成する。
【0035】
また、知識獲得装置1は、単語対テーブル40とクエリ260に基づきカテゴリー検索を行って出現数テーブル42を生成し、出現数テーブル42に基づいてスコア算出を行ってスコア付単語対44を出力する。ここで、「カテゴリー」とは、特許請求の範囲における「検索対象を限定する特定の事象」の一例である。
【0036】
これらの処理のうち、単語対テーブル40の生成は、サービス提供の前処理(事前のバッチ処理)として行われ、出現数テーブル42の生成及びスコア算出は、ユーザによりサービス要求が行われた際に(適用先が決まった後に)実行されると好適である。以下、これらの処理について説明する。
【0037】
{単語対獲得}
単語対獲得部30は、所与のシードを元に、シードを含む文脈パターンを大規模文書200から検索する。
【0038】
ここで、シードとは、特定の関係を有する単語の対(単語対)、又は単語対を含む文の中に現れる文脈パターンである。これらの双方がシードとして与えられてもよい。単語対の例として、「生姜は風邪に効く。」という文における「風邪」、「生姜」が挙げられ、この場合の文脈パターンは、「は」・「に効く」である。文脈パターンは、データ検索の対象とされる大規模文書200内の文に含まれる単語対以外の特徴的な文字列であり、大規模文書200から単語対を獲得するための抽出規則として理解することができる。また、後述するように、本実施例における文脈パターンは、特許請求の範囲における「単語の対を含む文に関する形態素の構造」の一例である。なお、本実施例では句点「。」を区切りとする「文」をデータ検索の対象とするが、複数の文が集まった「文章」をデータ検索の対象としてもよい。
【0039】
シードは、例えば、オペレータがクライアントコンピュータ100に対して任意の単語対、又は文脈パターン(或いはこれらの双方)を入力することにより、ネットワーク50を介してCPU10に提供される。図5は、オペレータ110がクライアントコンピュータ100に対してシードを入力し、知識獲得装置1が単語対テーブル40を生成する様子を模式的に示す図である。
【0040】
単語対獲得部30は、シードが単語対である場合、まず、シードを含む文脈パターンを大規模文書200から検索する。文脈パターンが得られると、得られた文脈パターンを含む文書を大規模文書200から検索し、得られた文書から未知の単語対を取得する。これらを繰り返し行うことによって、単語対及び文脈パターンの数が増加していく。単語対獲得部30は、取得された単語対及び文脈パターンを、例えばこれらをラベルとする空のデータテーブルの形式で保持する。
【0041】
図6は、単語対獲得部30により生成される単語対テーブル40の一例である。図示するように、単語対テーブル40は、単語対と文脈パターンを行方向と列方向のラベルとし、単語対と文脈パターンの組み合わせに該当するデータ内容部分はブランクとなっている。このブランク部分に、後述する検索部32の検索結果として出力される出現数(ヒット件数)が格納されることにより、出現数テーブル42が生成される。
ここで、大規模文書200からのデータ検索は、大規模文書を所有している場合には既知の検索技術により行ない、大規模文書を所有していない場合にはGoogle(登録商標)に代表される既存の検索サービス業者により実施されている技術を利用して行う。このようなデータ検索の具体的内容に関しては、周知・慣用技術であるため詳細な説明は省略するが、一般的な文書検索で用いられるAND、OR、NOT等の検索条件を適切に設定することにより、単語対又は文脈パターンを含む文書を抽出することができる。
【0042】
{検索}
検索部32は、単語対獲得部30により生成された単語対テーブル40を元に、オペレータやユーザにより入力されたクエリを反映したデータ検索を、大規模文書200に対して実行する。そして、その結果を出現数テーブル42として格納する。
【0043】
図7は、オペレータ110又はユーザ120がクライアントコンピュータ100に対してクエリを入力し、知識獲得装置1が出現数テーブル42を生成する様子を模式的に示す図である。なお、本図におけるクライアントコンピュータ100は、図5とは異なるものであってよい。
【0044】
オペレータ110又はユーザ120は、例えば、「『国立病院』OR『市立病院』」等のカテゴリー(特許請求の範囲における「特定の事象」の一例である)をクエリとして入力する。すると、検索部32は、「『国立病院』OR『市立病院』」というクエリを満たすデータ検索を、単語対テーブル40に格納された単語対と文脈パターンの全ての組み合わせについて行う。すなわち、単語対テーブル40に格納された複数の単語対と複数の文脈パターンから抽出された一の単語対及び一の文脈パターンに、クエリを加えたものを検索キーとして、大規模文書200から検索する処理を、全ての単語対と文脈パターンについて行う。
【0045】
そして、検索部32は、各単語対と文脈パターンの組み合わせについて、「『国立病院』OR『市立病院』」というクエリを満たす検索結果における出現数を取得し、単語対テーブル40のブランク部分に格納して出現数テーブル42とする。例えば、(「風邪」には「大根」が効く)AND(「国立病院」OR「市立病院」)について検索を行った際の出現数が21であれば、これを単語対テーブル40の「風邪」−「大根」と「AにはBが効く」に対応する場所(アドレス)に格納する。当該出現数テーブル42は、クエリ(「国立病院」OR「市立病院」)に対応する専用テーブルとして生成される。すなわち、検索部32は、入力されたクエリに対応する専用テーブルを生成する。図8は、検索部32により生成される出現数テーブル42の一例である。
【0046】
このようにして、検索部32は、入力されたクエリを満たし、且つ単語対獲得部30に予め格納されている単語対と文脈パターンの全ての組み合わせに該当する文書の出現数を取得し、出現数テーブル42を生成する。
【0047】
{スコア算出}
スコア算出部34は、検索部32により生成された出現数テーブル42を参照し、各単語対とクエリの関連性を評価し、評価結果に基づく出力を行う。
【0048】
スコア算出部34の出力は、例えば、出現数テーブル42にスコアを付加したスコア付単語対44の形式でなされる。本実施例におけるスコアとは、(1)クエリとして入力されたカテゴリーとの関連性、及び(2)その単語対自身の出現数の多さ、すなわちその単語対が一般に浸透しているかどうか、を示す評価値である。
【0049】
図9は、知識獲得装置1がスコア付単語対44を生成する様子を模式的に示す図である。また、図10は、スコア算出部34により出力されるスコア付単語対44の一例である。図示するように、スコア算出部34は、出現数テーブル42に格納された各単語対について、スコアを付加して出力する。
【0050】
スコアの算出は、例えば次式(1)により行うことができる。式中、Scoreiはi番目の単語対のスコアを表し、f(w,p)は単語対wと文脈パターンpの同時出現数を示し、Nは全ての単語対と文脈パターンの組み合わせの出現数を示す。また、添字jは文脈パターンの識別パラメータであり、添え字kは単語対の識別パラメータである。
【0051】
【数1】

【0052】
上式(1)は、単語対全体に関しての文脈パターン毎の出現数(図10における「合計」行の各数値)を算出し、これを総出現数で除した値を荷重係数として、単語対の文脈パターン毎の出現数に乗じて合計したものである。従って、本実施例におけるスコアは、各単語対に関する文脈パターン毎の出現数傾向と、全単語対に関する文脈パターン毎の出現数傾向との合致程度に基づいて、各単語対とクエリとの関連性を適切に評価した評価値となる。図10に即して説明すると、例えば、単語対(「風邪」−「大根」)のスコアは、Nが1047であるため、次式(2)のようになる。
【0053】
Score(「風邪」−「大根」)=21×(201/1047)+8×(155/1047)+36×(83/1047)+…=0.21 …(2)。
【0054】
これによって、単に出現数の多い単語対が好スコアを獲得するのではなく、当該クエリを満たす全ての単語対に対応する文脈パターンの出現傾向に近い傾向を示す単語対が、高スコアを獲得することとなる。例えば、「病院関係」というカテゴリーでは、文脈パターン1はよく用いられるが、文脈パターン3は余り用いられないといった傾向が存在する場合、このような傾向に近い傾向を示す単語対に対して、高スコアを付与する。これによって、カテゴリーによく適合した単語対に高スコアを付与することができ、「カテゴリーに合致した単語対の知識を得たい」というユーザの要求に応えることができる。なお、スコアの算出は、例えば単語対の総数を乗じる等して何らかの正規化処理を行ってもよい。
【0055】
以上のようにスコア付単語対44を生成すると、これをそのままユーザに出力してもよいし、スコア順にランキング(並べ替え)したものを出力してもよい。また、ランキング上位のものに限定してユーザに提供してもよい。このように、スコア算出の結果に基づく出力は、種々のものが考えられる。
【0056】
また、上記のように、単語対テーブル40の生成は、サービス提供の前処理として行われ、出現数テーブル42の生成及びスコア算出は、ユーザによりサービス要求が行われた際に実行されると好適である。図11は、従来の装置によって実行され得る処理と、本実施例の知識獲得装置1により実行される処理とを対比するための模式図である。
【0057】
図中、上段は、従来の装置によって実行される処理を模式的に示している。図示するように、従来の装置においてカテゴリー毎に単語対を獲得しようとすると、カテゴリー毎に単語対獲得部30と同等の処理を行う必要があった。ところが、単語対獲得部30の処理は、シードから単語対や文脈パターンを繰り返し取得するものであり、所要時間が比較的長いものである。この結果、ユーザやオペレータがカテゴリーを入力してから単語対を取得するまでの処理時間が長くなってしまう。
【0058】
これに対し、図11の後段で処理の概要が表される本実施例の知識獲得装置1では、事前のバッチ処理として単語対テーブル40が生成され、適用先が決まった後には出現数テーブル42の生成及びスコア算出のみが行われる。出現数テーブル42の生成は、クエリを反映した検索キーを設定して大規模文書200を検索する処理であり、比較的短時間で終了する。また、スコア算出についても、単純な演算処理であるため、処理時間は短いものとなる。この結果、ユーザがクエリを入力してから単語対を取得するまでの処理時間を短くすることができる。すなわち、より迅速に結果を出力することができる。
【0059】
[処理フロー]
以下、知識獲得装置1が有する各機能ブロックの処理について、フローチャートに即して具体的に説明する。なお、全体フローについては、図4を参照することとし、図示を省略する。
【0060】
図12は、単語対獲得部30により実行される特徴的な処理の流れを示すフローチャートである。
【0061】
まず、単語対獲得部30は、入力されたシード250を単語対リストに追加する(S300)。単語対リスト40A、及び後述する文脈パターンリスト40Bは、単語対テーブル40の行方向及び列方向のラベルとなるものであり、メモリ装置18や補助記憶装置16の所定領域に設定される。
【0062】
次に、単語対獲得部30は、単語対リスト40Aに格納された単語対で大規模文書200を検索し、文脈パターンを抽出して文脈パターンリスト40Bに追加する(S302;詳細は図12に記載)。
【0063】
次に、単語対獲得部30は、新たな文脈パターンが一つでも抽出できたかどうかを判定する(S304)。新たな文脈パターンが全く抽出できなかった場合は、本フローを終了する。
【0064】
一方、新たな文脈パターンが一つでも抽出できた場合には、文脈パターンリストに格納された文脈パターンで大規模文書200を検索し、単語対を抽出して単語対リスト40Aに追加する(S306)。
【0065】
次に、単語対獲得部30は、新たな単語対が一つでも抽出できたかどうかを判定する(S308)。新たな単語対が全く抽出できなかった場合は、本フローを終了する。
【0066】
一方、新たな単語対が一つでも抽出できた場合には、S302に戻る。こうして、単語対と文脈パターンが繰り返し抽出され、単語対リスト40Aや文脈パターンリスト40Bに追加される。
【0067】
単語対獲得部30は、本フローが終了すると、単語対リスト40Aや文脈パターンリスト40Bの内容に基づき単語対テーブル40を生成し、メモリ装置18や補助記憶装置16の所定領域に格納する。
【0068】
図13は、単語対獲得部30により実行される文脈パターン抽出処理の流れを示すフローチャートである。本フローは、図12のS302に相当する。
【0069】
まず、単語対獲得部30は、単語対リスト40Aの最上段から順に単語対を一つ取り出す(S400)。
【0070】
次に、単語対獲得部30は、単語対リスト40Aの最後まで検索を終了したか否か、すなわち、S400において新たな単語対を取り出すことができたかどうかを判定する(S402)。単語対リスト40Aの最後まで検索を終了した場合は、本フローを終了する。
【0071】
一方、単語対リスト40Aの最後まで検索を終了していない場合は、取り出した単語対を検索キーとして大規模文書を検索する(S404)。検索結果は、メモリ装置18や補助記憶装置16に一時的に格納される。
【0072】
次に、単語対獲得部30は、S404の検索結果を一つ取り出す(S406)。そして、最後まで検索結果を取り出したか否か、すなわち、S406において、新たな検索結果を取り出すことができたかどうかを判定する(S408)。新たな検索結果を取り出すことができなかった場合は、S400に戻る。
【0073】
一方、新たな検索結果を取り出すことができた場合は、検索結果に含まれる単語対が所定の構文パターンを形成しているか否かを解析し、これを判定する(S410)。
【0074】
図14は、S410の解析において用いられる形態素の構造を模式的に示す図である。ある単語対(「風邪」−「大根」)を検索キーとした文書検索の結果は、例えば「風邪にはやっぱり大根が一番効くよ」のような、単語対や文脈パターン以外の語を含む文であることが想定される。
【0075】
単語対獲得部30は、まず、日本語の文を形態素と呼ばれる最小の単位に分割する形態素解析という処理を行なう。形態素の単位では、例えば「お茶」という語は、「お(接頭語)」と「茶(名詞)」の二つにカウントされる。そして、「風邪にはやっぱり大根が一番効くよ」という文を形態素解析すると、「風邪/に/は/やっぱり/大根/が/一番/効く/よ」のように分割される。
【0076】
次に、単語対獲得部30は、係り受け解析を行なう。係り受け解析では、まず形態素列を文節という単位にまとめ上げる。上記の文は、「(風邪/に/は),(やっぱり),(大根/が),(一番),(効く/よ)」のように文節にまとめ上げられる。そして、文節の間の係り関係を定義する。日本語における係り関係は、(1)係り先は一つ、(2)前から後ろに向かって係るという原則に基づいて解析される。上記の形態素解析と係り受け解析は、既存の技術が周知となっており、それぞれ、99%、91%程度の精度で自動的に処理される。
【0077】
上記の文の係り関係は、以下のようになる。
(風邪/に/は)→(効く/よ)
(やっぱり) →(効く/よ)
(大根/が) →(効く/よ)
(一番) →(効く/よ)
(効く/よ) →<文末>
【0078】
このような係り関係を木構造で表わし、且つ「文節内の形態素はそれぞれ直後の形態素に係る」という経験則を用いると,図14で例示する構造が取得される。
【0079】
更に、形態素解の木構造から「へ」の字の部分を抽出する方法について図14の例に即して説明する。まず、「風邪」と「大根」が単語対として与えられていることを前提とする。そして、この二つの単語対(形態素)の双方を含む最小限の部分構造を抽出する。図14の例では、網掛けされた「へ」の字の部分が、この最小限の部分構造に相当する。
【0080】
このように最小限の部分構造が得られると、単語対獲得部30は、単語対が、ある所定の距離内に在る場合に、所定の構文パターンを形成していると判定する。所定の構文パターンを形成していると判定した場合、得られた最小限の部分構造から単語対を除いた部分が、文脈パターンとして認識される。
【0081】
ここで、「所定の距離」とは、例えば、図14で示す形態素の木構造における、形態素を接続するリンクの数をいう。下記の矢印の数(5)が、これに相当する。
(風邪)→(に)→(は)→(効く)
(大根)→(が)→(効く)
【0082】
このように距離を限定することによって、比較的長い文に含まれる単語対から有意でない文脈パターンが抽出されるのを抑制することができる。この距離を限定しなかった場合、或いは距離を30程度まで許容した場合、「風邪になった妻に頼まれて買い物に来たがリストに入っていた納豆が無い。」のような文から、「風邪」と「納豆」を抽出し、この文から有意でない文脈パターンを抽出してしまう可能性があるからである。距離の閾値を決定するのに特段の規則は無く、得られた知識における誤りの多少に応じて経験的に定めて良い。
【0083】
なお、形態素解の木構造は、図14で示すような「へ」の字であるとは限らず、多様な形態を取り得る。例えば、「風邪に効く大根を買った。」という文についての形態素解析の結果は「風邪/に/効く/大根/を/買っ/た」のようになる。
【0084】
また、係り受け解析の結果は以下のようになる。
(風邪/に)→(効く)
(効く)→(大根/を)
(大根/を)→(買っ/た)
【0085】
この場合、形態素の木構造は以下のように「ヘ」の字ではなく一直線になり、抽出されるパターンも一直線になる。
(風邪/に)→(効く)→(大根/を)→(買っ/た)
(風邪→に)→(効く)→(大根→を)→(買っ→た)
【0086】
フローの説明に戻る。単語対が所定の構文パターンを形成している場合は、抽出された文脈パターンを文脈パターンリスト40Bに追加する(S412)。単語対が所定の構文パターンを形成していない場合は、S406に戻る。
【0087】
図15は、検索部32により実行される特徴的な処理の流れを示すフローチャートである。
【0088】
まず、検索部32は、単語対テーブル40の最上段から順にから単語対を一つ取り出す(S500)。
【0089】
次に、検索部32は、単語対に関して単語対テーブル40の最後まで処理を行ったか否か、すなわち、S500において新たな単語対を取り出すことができたかどうかを判定する(S502)。単語対テーブル40の最後まで処理を行った場合は、本フローを終了する。
【0090】
一方、単語対テーブル40の最後まで処理を行っていない場合は、単語対テーブル40最左列から順に文脈パターンを一つ取り出す(S504)。
【0091】
次に、検索部32は、文脈パターンに関して単語対テーブル40の最後まで処理を行ったか否か、すなわち、S504において新たな文脈パターンを取り出すことができたかどうかを判定する(S506)。単語対テーブル40の最後まで処理を行った場合は、S500に戻る。
【0092】
一方、単語対テーブル40の最後まで処理を行っていない場合は、S500及びS504において取り出された単語対及び文脈パターンと、入力されたクエリとを結合して検索キーを作成し(S508)、大規模文書200を検索する(S510)。検索キーは、例えば、文脈パターン(例えば「AはBに効く」)のA及びBの箇所に単語対を埋め込んだ文と、入力されたクエリをAND条件で結合して作成される。
【0093】
そして、出現数(ヒット件数)を取得し、出現数テーブル42における、S500及びS504で取り出された単語対及び文脈パターンに該当する箇所に格納し(S512)、S504に戻る。
【0094】
なお、図15のフローは、全てが自動的に進行するのではなく、検索実行毎にユーザに検索結果を出力し、確認操作を行わせるものであってもよい。
【0095】
ここで、図15のフローでは、形態素の木構造を扱わずに文字列を用いた検索を行うため、検索キーの設定方法や検索の仕様次第では、「風邪にはやっぱり大根が効く」のように「やっぱり」等が入っていると出現数がカウントされない可能性がある。しかしながら、(1)係る検索は大規模な文書から行なわれるため、「やっぱり」などが入っていない表現も多く存在することが期待される、(2)検索の処理では正確な出現数が必要になるのではなく、特定のカテゴリーにおける傾向が分かればよい、(3)「やっぱり」などの文字列が間に含まれる割合がパターン毎に一定だと仮定すると、傾向を知るときには、「やっぱり」などの表現による検索数の低下は無視できる等の理由から、大きな問題とはならない。むしろ、詳細な検索を行わないため、処理を単純化することができ、高速な処理を実現することができる。
【0096】
図16は、スコア算出部34により実行される特徴的な処理の流れを示すフローチャートである。
【0097】
まず、スコア算出部34は、出現数テーブル40を参照し、各文脈パターンの出現数、及び総出現数Nを算出する(S600)。
【0098】
次に、スコア算出部34は、単語対テーブル40の最上段から順に単語対を一つ取り出す(S602)。
【0099】
次に、スコア算出部34は、単語対に関して単語対テーブル40の最後まで処理を行ったか否か、すなわち、S602において新たな単語対を取り出すことができたかどうかを判定する(S604)。単語対テーブル40の最後まで処理を行った場合は、本フローを終了する。
【0100】
一方、単語対テーブル40の最後まで処理を行っていない場合は、単語対テーブル40の最左列から順に文脈パターンを一つ取り出す(S606)。
【0101】
次に、スコア算出部34は、文脈パターンに関して単語対テーブル40の最後まで処理を行ったか否か、すなわち、S606において新たな文脈パターンを取り出すことができたかどうかを判定する(S608)。単語対テーブル40の最後まで処理を行った場合は、S602に戻る。
【0102】
一方、単語対テーブル40の最後まで処理を行っていない場合は、該当する単語対及び文脈パターンの組み合わせの出現数(例えば図中(2))に、該当する文脈パターンの総出現数(図中(3))を総出現数N(図中(4))で除した値を乗じた値を算出する。そして、この値を、該当する単語対のスコア(図中(1))に累積加算する(S610)。
【0103】
係る処理によって、上式(1)で表したスコアが、各単語対について算出されることになる。
【0104】
「まとめ」
以上説明した本実施例の知識獲得装置1によれば、適用先が決まった後に出現数テーブル42の生成及びスコア算出のみを行うことができるため、クエリが入力されてから単語対を取得するまでの処理時間を短くすることができる。従って、各単語対とクエリとの関連性を適切に評価した評価値を、より迅速に出力することができる。
【0105】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0106】
例えば、単語対テーブル40に相当するデータは、外部から入力され、或いは予め補助記憶装置16等に格納されているものとしてもよい。この場合、単語対獲得部30を省略することができる。
【0107】
また、スコア算出部34は、上記のように、単語対とクエリの関連性を評価した結果に基づく出力を行うものとしたが、反対に、文脈パターンとクエリの関連性を評価した結果に基づく出力を行うものとしてもよい。この場合、スコア算出部34は、一の文脈パターンについての単語対毎の出現数比率と、全文脈パターンについての単語対毎の出現数比率と、の合致程度に基づいて、文脈パターンとカテゴリーの関連性を評価する。こうした出力は、利用者がエンドユーザ以外の場合に、好適に利用され得る。この場合、スコアの算出は、上式(1)における単語対と文脈パターンをそっくり入れ替えることにより行われる。こうすれば、文脈パターンとクエリとの関連性を適切に評価した評価値を、より迅速に出力することができる。
【0108】
また、ユーザが入力するクエリの内容の代表例として「カテゴリー」を挙げたが、クエリは検索対象を限定するものであればよく、一般的に「カテゴリー」という概念に含まれないクエリの入力を受け付けても構わない。例えば、「何年何月何日以降の文書」のような時期的な制限等が考えられる。
【0109】
以上の説明に関し、さらに以下の項を開示する。
(付記1)
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段と、
前記第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する出現数情報取得手段と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する評価手段と、
を備える知識獲得装置。
(付記2)
付記1に記載の知識獲得装置であって、
前記評価手段は、各単語の対に関する形態素の構造毎の出現数に、全単語対に関する形態素の構造毎の出現数をそれぞれ乗じて合計し、総出現数で除した値を評価値として出力する手段である、
知識獲得装置。
(付記3)
付記1又は2に記載の知識獲得装置であって、
所与の単語の対又は形態素の構造を検索キーとして第2の記憶手段を検索し、得られた検索結果を検索キーに追加して更にデータ検索を行うことを繰り返すことにより、得られた複数の単語の対及び複数の形態素の構造を前記記憶手段に格納するデータ収集手段を更に備える、
知識獲得装置。
(付記4)
付記1ないし3のいずれか1項に記載の知識獲得装置であって、
前記単語の対を含む文に関する形態素の構造は、前記データ検索の対象文を係り受け解析をして得た最小限の部分構造となる形態素の構造から、前記単語対の形態素を除いた形態素の構造である、
知識獲得装置。
(付記5)
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段と、
前記第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する出現数情報取得手段と、
前記単語対テーブルを参照し、各形態素の構造に関する単語の対毎の出現数傾向と、全形態素の構造に関する単語の対毎の出現数傾向との合致程度に基づいて、前記各形態素の構造と前記特定の事象との関連性を評価した評価値を出力する評価手段と、
を備える知識獲得装置。
(付記6)
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する処理と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する処理と、
をコンピュータが実行する知識獲得方法。
(付記7)
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する処理と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する処理と、
をコンピュータに実行させるプログラム。
【符号の説明】
【0110】
1 知識獲得装置
10 CPU
12 ドライブ装置
14 記憶媒体
16 補助記憶装置
18 メモリ装置
20 インタフェース装置
22 入力装置
24 出力装置
30 単語対獲得部
32 検索部
34 スコア算出部
40 単語対テーブル
40A 単語対リスト
40B 文脈パターンリスト
42 出現数テーブル
44 スコア付単語対
50 ネットワーク
100 クライアントコンピュータ
110 オペレータ
120 ユーザ
200 大規模文書
250 シード
260 クエリ

【特許請求の範囲】
【請求項1】
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段と、
前記第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する出現数情報取得手段と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する評価手段と、
を備える知識獲得装置。
【請求項2】
請求項1に記載の知識獲得装置であって、
前記評価手段は、各単語の対に関する形態素の構造毎の出現数に、全単語対に関する形態素の構造毎の出現数をそれぞれ乗じて合計し、総出現数で除した値を評価値として出力する手段である、
知識獲得装置。
【請求項3】
請求項1又は2に記載の知識獲得装置であって、
所与の単語の対又は形態素の構造を検索キーとして第2の記憶手段を検索し、得られた検索結果を検索キーに追加して更にデータ検索を行うことを繰り返すことにより、得られた複数の単語の対及び複数の形態素の構造を前記記憶手段に格納するデータ収集手段を更に備える、
知識獲得装置。
【請求項4】
請求項1ないし3のいずれか1項に記載の知識獲得装置であって、
前記単語の対を含む文に関する形態素の構造は、前記データ検索の対象文を係り受け解析をして得た最小限の部分構造となる形態素の構造から、前記単語対の形態素を除いた形態素の構造である、
知識獲得装置。
【請求項5】
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する処理と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する処理と、
をコンピュータが実行する知識獲得方法。
【請求項6】
特定の関係を有する単語の対と、該単語の対を含む文に関する形態素の構造とを関連付けて持つ単語対テーブルを格納した第1の記憶手段から抽出した単語の対と形態素の構造に、検索対象を限定する特定の事象を加えた検索キーを作成し、該検索キーで検索対象の文書群を格納した第2の記憶手段を検索して該検索キーの出現数を求め、求めた出現数を前記単語の対と前記形態素の構造に関連付けて前記単語対テーブルに格納する処理と、
前記単語対テーブルを参照し、各単語の対に関する形態素の構造毎の出現数傾向と、全単語の対に関する形態素の構造毎の出現数傾向との合致程度に基づいて、前記各単語の対と前記特定の事象との関連性を評価した評価値を出力する処理と、
をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−242966(P2012−242966A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110739(P2011−110739)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】