企業内で誰がどの技術、製品、顧客に詳しいといった社員の専門領域をデータベース化して検索できるような情報共有システムが求められている。このようなデータベースを人手で作成するのはコストが非常に高く、社内に大量に存在する報告文書や電子メール文書、Web文書といった文書集合から自動でデータベースを構築できることが望ましい。そのためには、技術名、製品名、顧客名といった専門用語を文書から自動で抽出する技術が必要である。
そこで、カテゴリ付文書集合から専門用語を抽出する問題を考える。カテゴリ付文書とは、1つの文書に対して1つ以上のカテゴリが付与された文書を表し、例えば、その文書を記述した部門名や人物名が付与された報告書や、電子メールアドレスが付与された電子メール文書が該当する。また、例えば複数のカテゴリが付与される文書とは、複数の人物又は部門が共同して執筆した報告書や、宛先に複数のアドレスが指定された電子メール文書が該当する。
カテゴリ付文書から専門用語を抽出するには、少数のカテゴリと関連が深い用語を抽出すればよい。例えば、製品名、技術名、顧客名といった専門用語は、その専門用語が指す製品、技術、顧客を管理、担当する人や部門がある程度限られると考えられ、すなわち、専門用語を頻繁に用いるカテゴリの存在は少数であって、他のカテゴリではあまり用いられないと考えられる。従って、文書集合をとおして付与された全カテゴリに対して、少数のカテゴリにのみ関連が深い用語は専門用語である可能性が高いと考えられる。
少数のカテゴリと関連が深い用語を抽出する従来の方法として、カテゴリ数を用いる方法がある(例えば、非特許文献1参照。)。非特許文献1では、2つの分野のコーパスに対して、用語iが出現するカテゴリ数FFiと総カテゴリ数Nを用いて用語iの重要度IFFiを計算し、その重要度IFFiに基づいて専門用語を抽出している。正確には、重要度IFFiを以下の式によって定義し、用語iが出現するカテゴリ数が少ないほど重要度が高くなるよう計算し、重要度IFFiが所定のしきい値以上の場合に専門用語と判定している。
重要度IFFi=log(N/FFi)
すなわち、カテゴリ数を用いる方法は、専門用語らしさを示すスコアをカテゴリ数によって定義し、そのスコアに基づいて、出現カテゴリ数が少ない用語を専門用語と判定している。
また、特許文献1には、カテゴリ数を用いて用語を評価する方法を利用したカテゴリ別新出特徴語ランキング方法が記載されている。特許文献1に記載のカテゴリ別新出特徴語ランキング方法は、語句の出現カテゴリ数とカテゴリ別時間傾斜出現量に基づいてカテゴリ関連度を算出することにより、各カテゴリ内で特徴的な語であって、かつ最近登場するようになったタイムリーな用語を抽出する方法である。
また、少数のカテゴリと関連が深い用語を抽出する別の方法として、エントロピーを用いる方法がある。非特許文献2では、ある用語がどれくらい多くの文書に分散しているかを測定するためにエントロピーを用いる方法が記載されている。非特許文献1に記載の方法は、文書をカテゴリに置き換えて式を作成することにより今回の問題に適用可能である。つまり、用語のカテゴリに対する偏りをエントロピー関数を用いて計算し、計算した結果、偏りが大きい用語を専門用語として抽出することができる。すなわち、エントロピーを用いる方法では、専門用語らしさを示すスコアをエントロピーの値によって定義し、そのスコアに基づいて、偏りが大きい用語を専門用語と判定することができる。
また、少数のカテゴリと関連が深い用語を抽出するさらに別の方法として、カイ二乗値を用いる方法がある(例えば、非特許文献3参照。)。非特許文献3では、特定の分野を特色づける単語の見つけ方として、分野ごとに現れる全ての単語の出現頻度を求め、特定の分野にのみよく現れる単語を、x2分布による検定法の考え方を用いて調べる方法が記載されている。この方法によると、単語(用語)の分野(カテゴリ)に対する偏りをカイ二乗値を用いて計算し、偏りが大きい単語(用語)を特徴語(専門用語)として抽出することができる。すなわち、カイ二乗値を用いる方法では、専門用語らしさを示すスコアをカイ二乗値によって定義し、そのスコアに基づいて、偏りが大きい用語を専門用語と判定することができる。
図20は、ある用語NPの文書集合における分布を示した説明図である。図20において、分布上の各点は用語NPの出現を示し、各円は用語NPが出現した文書に付与されたカテゴリを示している。また図20では、用語NPの各分布例において、カテゴリ数を用いた専門用語らしさを示すスコア(Score1)と、エントロピーを用いた専門用語らしさを示すスコア(Score2)と、カイ二乗値を用いた専門用語らしさを示すスコア(Score3)とを示している。ここでは、カテゴリ数を用いたScore1は、説明を単純にするためカテゴリ数をそのまま用いることとする。つまり、Score1は、値が大きいほど偏りが小さく、値が小さいほど偏りが大きいことを表す。
図20(a)は、カテゴリC1〜C8のいずれか1つのカテゴリが付与された文書集合における用語NPの分布を例示している。図20(a)に示す分布は、ある文書集合から用語NPが総計16回出現し、また、用語NPがカテゴリC1〜C8の8つのカテゴリにおいて各2回出現したことを示している。つまり、用語NPは、文書集合のうちカテゴリC1が付与された文書(1つ以上の文書)内から計2回、カテゴリC2〜C8が付与された文書内からそれぞれ計2回出現したことになる。この場合の専門用語らしさを示すスコアは、カテゴリ数を用いる方法ではScore1=8、エントロピーを用いる方法ではScore2=3、カイ二乗値を用いる方法ではScore3=0となる。
また、図20(b)は、カテゴリC1〜C9のいずれか1つのカテゴリが付与された文書集合における用語NPの分布を例示している。図20(b)に示す分布は、ある文書集合から用語NPが総計32回出現し、また用語NPは、全てカテゴリC1が付与された文書内から出現したことを示している。この場合の専門用語らしさを示すスコアは、カテゴリ数を用いる方法ではScore1=1、エントロピーを用いる方法ではScore2=0、カイ二乗値を用いる方法ではScore3=255.68となる。
次に、エントロピーの計算方法について簡単に説明する。ここで、エントロピーとは、ある用語がどれくらい多くのカテゴリに分散しているかを示す値である。エントロピーは、下記式で定義され、値が大きいほどカテゴリに対する用語NPの偏りが小さく、逆に、値が小さいほど、少ないカテゴリに用語NPが偏って出現したことを表す。ここで、p(Cj|NP)は、用語NPのカテゴリCjにおける出現確率であり、f(Cj|NP)は、用語NPのカテゴリCjにおける出現頻度である。
図20(a)に示す分布から割り出される用語NPのエントロピーは、カテゴリC1〜C8の各カテゴリにおいて用語NPがそれぞれ2回出現していることから、図20(a)に示すScore2(NP)の計算式となる。また、図20(b)に示す分布から割り出される用語NPのエントロピーは、用語NPがカテゴリC1で32回、カテゴリC2〜C9で各0回出現していることから、図20(b)に示すScore2(NP)の計算式となる。
次に、カイ二乗値の計算方法について簡単に説明する。ここで、カイ二乗値とは、カテゴリ毎の出現頻度が期待値からどの程度離れているかを示す値であって、期待値とは、「用語NPの出現確率が全てのカテゴリを通じて等しい」と仮定したときの用語NPの出現頻度である。カイ二乗値は、下記式で定義され、値が小さいほどカテゴリに対する用語NPの偏りが小さく、逆に、値が大きいほど用語NPが少ないカテゴリに偏って出現したことを表す。ここで、f(Cj|NP)は、カテゴリCjにおける用語NPの出現頻度であり、E{f(Cj|NP)}は、f(Cj|NP)の期待値である。
図20(a)に示す分布から割り出される用語NPのカイ二乗値は、カテゴリC1〜C8の各カテゴリにおいて用語NPがそれぞれ2回出現していること、期待値がC1〜C8における用語NPの出現確率がどれも等しいとしてE{f(Cj|NP)}=(2×8)/8=2となることから、図20(a)に示すScore3(NP)の計算式となる。また、図20(b)に示す分布から割り出される用語NPのカイ二乗値は、用語NPがカテゴリC1で32回、カテゴリC2〜C9で各0回出現していること、期待値がC1〜C9における用語NPの出現確率がとれも等しいとしてE{f(Cj|NP)}=32/9=3.56となることから、図20(b)に示すScore3(NP)の計算式となる。
特開2005−135311号公報(段落0044−0046)
内元清貴,関根聡,村田真樹,小作浩美,井佐原均,「異分野コーパスを用いた用語抽出」,Proceedings of the First NTCIR Workshop on Research in Japanese Text Retrieval and Term Recognition ,p.444−450
岸田和明,「情報検索の理論と技術」,勁草書房,p.84−85
長尾真,水谷幹男,池田浩之,「日本語文献における重要語の自動抽出」,情報処理,1976年,Vol.17,No.2,p.110−117
実施の形態1.
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明による専門用語抽出装置の構成例を示すブロック図である。図1に示す専門用語抽出装置は、プログラムに従って動作するデータ処理装置1(例えば、CPU)と、情報を記憶する記憶装置2とを含む。専門用語抽出処理装置は、例えばパーソナルコンピュータである。データ処理装置1は、索引作成手段10と、専門用語候補作成手段11と、カテゴリ別頻度計算手段12と、エントロピー計算手段13とを備える。記憶装置2は、カテゴリ付文書記憶部20と、索引記憶部21と、専門用語候補記憶部22と、カテゴリ別頻度記憶部23と、専門用語記憶部24とを備える。
カテゴリ付文書記憶部20は、カテゴリが付与された文書群(文書集合)を保存する。以下、カテゴリが付与された文書をカテゴリ付文書という。ここで、カテゴリ付文書とは、1つの文書に1つ以上のカテゴリが付与された文書である。例えば、それを記述した部門名や人物名が付与された報告書や、電子メールアドレスが付与された電子メール文書が該当するが、特にこれらに限定したものではない。また、複数のカテゴリが付与される文書とは、例えば、複数の人物又は部門が共同して執筆した報告書や、宛先に複数のアドレスが指定された電子メール文書が該当する。図2は、カテゴリ付文書記憶部20が記憶するカテゴリ付文書群を例示した説明図である。本実施の形態における専門用語抽出装置は、例えば、図2に示すカテゴリ付文書から「製品名」「技術名」「開発物」「機能名」「顧客名」といった用語を専門用語として抽出するために用いられる。なお、抽出する専門用語は、上記の用語に限定されず、あるカテゴリ(技術領域など)の専門家によって使用される用語であって、あくまで与えられた文書集合とカテゴリから決定されるものである。なお、日本語の文書を例にして説明するが、日本語に限定されず、専門用語抽出装置は、英語等の他の言語にも適用可能である。
カテゴリ付文書記憶部20は、カテゴリ付文書群を、例えば図2(a)に示すように、文書IDと文書内容とカテゴリとに対応づけて記憶してもよい。文書IDとは、文書を識別するためのIDであって、1つの文書に対して1つのIDが与えられる。図2(a)は、カテゴリ付文書群として文書D1〜D9の9文書を記憶し、例えば文書D1にはカテゴリC1,C2,C3,C4が付与されていること等を示している。
索引作成手段10は、カテゴリ付文書記憶部20に記憶されたカテゴリ付文書を解析して単語列を抽出し、抽出した各単語列に対する文書毎の出現頻度と、各文書に付与されたカテゴリの種類を索引テーブルとして作成する。また、索引作成手段10は、作成した索引テーブルを索引記憶部21に保存する。ここで、単語列とは、文書を形態素解析して切り出した特定の品詞を持つ単語又は単語列を意味する。形態素解析とは、文を単語の単位に分割し、それぞれの単語に品詞情報を付与する手段である。例えば「情報検索を開始」という文を形態素解析するの入力とした場合、”単語”=品詞、”情報”=名詞、”検索”=形容動詞語幹、”を”=助詞、”開始”=名詞といった結果が出力される。また、特定の品詞とは、名詞、形容動詞、サ変名詞、未知語が該当する。例えば上記文では、「情報+検索」及び「開始」が単語列となる(+は形態素の区切りの印を示す)。また、例えば図2(a)に示す文書では、「Express+サーバ」「NEC(登録商標)」「水冷+システム」「Web+発売」「電子+カルテシステム」「特別+保守+サービス」「ValueStar(登録商標)」「BIGLOBE(登録商標)」の8つの単語列が含まれていることを示している。以下、この8つの単語列を順にNP1〜NP8に置き換えて説明する。図2(b)は、単語列をNP1〜8の表記(表現ID)に置き換えた説明図であり、図2(c)は、置き換えた関係を示す説明図である。
索引記憶部21は、索引作成手段10が作成した索引テーブルを記憶する。図3は、索引記憶部21が記憶する索引テーブルを例示した説明図である。図3(a)が、単語列NP1〜NP8の文書毎の出現頻度を記憶する出現頻度索引テーブルの例であり、図3(b)が、各文書毎のカテゴリの種類を記憶するカテゴリ索引テーブルの例である。また図3に示す索引テーブルは、図2に示すカテゴリ付文書群に対して索引テーブルを作成し、索引記憶部21に記憶した結果例である。出現頻度索引テーブルは、例えば図3(a)に示すように、単語列と抽出元文書IDと出現回数(頻度)とに対応づけて記憶してもよい。なお、図3(a)には、単語列を表現IDに置き換えて記憶した例が示されている。カテゴリ索引テーブルは、例えば図3(b)に示すように、文書IDとカテゴリとを対応づけて記憶してもよい。
専門用語候補作成手段11は、索引作成手段10が抽出して出現頻度索引テーブルに登録した単語列のうち専門用語候補として適切な単語列を候補単語列として選定する。また、専門用語候補作成手段11は、選定した候補単語列を専門用語候補記憶部22に保存する。ここで、専門用語候補として適切な単語列とは、例えば2単語以上から構成される単語列が該当するが、この限りではなく、すべての単語列を適切な単語列として選定してもよい。専門用語候補記憶部22は、専門用語候補作成手段11が選定した候補単語列を記憶する。図4は、候補単語列の記憶例を示す説明図である。なお、図4は、図3(a)に示す出現頻度索引テーブルに登録されている単語列から全ての単語列(NP1〜NP8)を候補単語列として選定した例を示している。
カテゴリ別頻度計算手段12は、専門用語候補作成手段11が選定した候補単語列それぞれについて、1文書に複数のカテゴリが付与されている場合でもその中の一つのカテゴリのみを出現頻度の計算に用いるという条件の下で、カテゴリ別出現頻度を算出する。カテゴリ別頻度記憶部23は、カテゴリ別頻度計算手段12が算出した候補単語列それぞれのカテゴリ別出現頻度を記憶する。図5は、カテゴリ別出現頻度の記憶例を示す説明図である。図5に示すカテゴリ別出現頻度は、例えば候補単語列NP1が、カテゴリC1で3回、カテゴリC4で1回、その他のカテゴリで0回の計4回出現したこと等を示している。また、図5は、図4に示す候補単語列から図3に示す索引テーブルを参照して、カテゴリ別出現頻度を算出し、カテゴリ別頻度記憶部23に記憶した結果例である。
エントロピー計算手段13は、カテゴリ別頻度計算手段12が算出した各候補単語列のカテゴリ別出現頻度に基づいて各候補単語列のエントロピーを計算し、計算したエントロピーに基づいて各候補単語列が専門用語であるか否かを判定する。また、エントロピー計算手段13は、専門用語と判定した候補単語列を、抽出結果である専門用語として専門用語記憶部24に記憶する。図6は、エントロピーの計算結果及び専門用語の判定結果の一例を示す説明図である。図6は、候補単語列NP4を除く他の候補単語列NP1〜NP3,NP5〜NP8が専門用語として抽出されたことを示している。
次に、図7を参照してカテゴリ別頻度計算手段12が行う候補単語列のカテゴリ別出現頻度の算出方法について説明する。図7は、カテゴリ別出現頻度の算出方法を説明する説明図である。カテゴリ別出現頻度は、「1つの文書に複数のカテゴリが付与される場合でもその中の1つのカテゴリのみを出現頻度の起算に用いる」という条件に基づいて求める。ここでは、カテゴリ付文書群として、図2に示す文書群を例にし、候補単語列NP1についてのカテゴリ別出現頻度の計算方法について説明する。
カテゴリ別出現頻度の計算は、まず、与えられた文書群に付与された全てのカテゴリ及び候補単語列NP1が出現した全ての文書を認識することから行う。カテゴリの認識は、例えば、図3(b)に示すようなカテゴリ索引テーブルを参照し、各文書に付与されたカテゴリを読み出し、重複しないよう記憶することで認識できる。以下、文書群に対して付与されたカテゴリの全種類を記憶した記憶領域をカテゴリバッファという。また、文書の認識は、例えば、図3(a)に示すような出現頻度索引テーブルを参照し、候補単語列NP1に対応づけられた文書IDを読み出し、記憶することで認識できる。以下、所定の候補単語列について、その候補単語列が出現した全文書IDを記憶した記憶領域を文書バッファという。なお、本実施の形態において、カテゴリバッファおよび文書バッファという表現を用いる場合には、その記憶領域に記憶された記憶内容を含めて指す場合もある。図7(a)に示す例では、文書集合に付与されたカテゴリとしてカテゴリC1〜C9、候補単語列NP1が出現した文書として文書D1,D2,D3を認識したことを示している。
次に、候補単語列のカテゴリ毎の出現頻度を求める。カテゴリ毎の出現頻度とは、1つ文書に出現した候補単語列がその文書に付加されたカテゴリ全てにおいて出現したとする出現頻度である。例えば、候補単語列NP1が出現した文書それぞれについて、その文書に付与されたカテゴリを読み出し、それぞれのカテゴリにおける出現回数に、その文書における候補単語列の出現回数を加算していくことで求めることができる。つまり、図3(a),(b)に示す例のように、候補単語列NP1が2回出現する文書D1には4つのカテゴリ(C1,C2,C3,C4)が付与されていることから、カテゴリC1,C2,C3,C4における出現頻度にそれぞれ2回を加算する。文書D1についてカテゴリ毎の出現頻度を求めた段階では、カテゴリC1=C2=C3=C4=2となる。同様の動作を候補単語列NP1が出現した全ての文書(D1,D2,D3)について行うことによって、最終的には図7(b)のALLで示すように、カテゴリ毎の出現頻度は、カテゴリC1=3,C2=2,C3=3,C4=3,C5=1,C6=C7=C8=0と求まる。これは、例えばカテゴリC1が付与された文書内から候補単語NP1が3回出現したことを示している。
次に、カテゴリ別出現頻度の起算に用いるカテゴリを1つに選択する。カテゴリの選択は、上記で求めたカテゴリ毎の出現頻度に基づいて最大の出現頻度を持つカテゴリを選択してもよい。または、専門性の高いカテゴリをあらかじめ重み付けしておき、重みに応じて定まる優先度に応じて選択することも可能である。ここでは、最大の出現頻度を持つカテゴリを選択する場合を例にとって説明する。ここで、同じ出現頻度を持つカテゴリが複数存在する場合は、どのカテゴリを選択してもよい。どのカテゴリを選択したとしても、専門用語の抽出精度に大きく影響しないからである。選択したカテゴリ及びその出現頻度は、カテゴリ別出現頻度として確定する。図7(b)の例において出現頻度が最大であるC1,C3,C4からC1を選択した場合には、候補単語列NP1についてのカテゴリ別出現頻度として、カテゴリC1=3が確定する。
次に、確定したカテゴリの出現頻度に用いた候補単語列を、他のカテゴリの出現頻度に用いないよう、出現頻度の算出対象から削除する。出現頻度の算出対象から削除するには、確定したカテゴリに基づいてカテゴリバッファおよび文書バッファを編集することによって実現できる。具体的は、カテゴリバッファから確定したカテゴリを削除し、削除したカテゴリが付与された文書を文書バッファから削除することで実現できる。例えば、カテゴリバッファから確定したカテゴリC1を削除すると、カテゴリバッファには、図7(c)に示すように、カテゴリC2〜C9が残る。続いて、カテゴリC1が付与された文書D1,D2を文書バッファから削除すると、文書バッファには、文書D3が残る。その上で、カテゴリ別出現頻度に用いたカテゴリ及び文書を削除した残りのカテゴリ及び文書を対象に、出現頻度の算出対象となるカテゴリまたは文書がなくなるまで同様のカテゴリ別出現頻度の選択(確定)動作を繰り返す。つまり、カテゴリバッファのカテゴリ毎に文書バッファの文書内での候補単語列のカテゴリ毎の出現頻度を、カテゴリバッファまたは文書バッファが空になるまで求め、求めたカテゴリ毎の出現頻度に基づいてカテゴリ別出現頻度を確定する動作を繰り返す。なお、出現頻度の算出対象となる文書がなくなった場合は、選択されず残ったカテゴリのカテゴリ別出現頻度を0とする。
図7(d)に示す例では、カテゴリバッファ及び文書バッファを編集した結果、文書バッファにはD3しか残っていないため、文書D3について求めたカテゴリ毎の出現頻度、カテゴリC4=C5=1,C2=C3=C6=C7=C8=C9=0が2回目のカテゴリ毎の出現頻度となる。ここでも新たに求めたカテゴリ毎の出現頻度を参照し、最大の出現頻度を持つカテゴリを選択し、選択したカテゴリ及びその出現頻度をカテゴリ別出現頻度として確定する。図7(d)の例において出現頻度が最大であるC4,C5からC4を選択した場合を例にとると、この段階では、候補単語列NP1についてのカテゴリ別出現頻度として、カテゴリC1=3,C4=1が確定したことになる。つづいて、図7(e)に示すように、カテゴリC4をカテゴリバッファから削除し、カテゴリC4が付加された文書D3を文書バッファから削除する。この時点で、文書バッファが空になるので、残ったカテゴリC2,C3,C5〜C9のカテゴリ別出現頻度を0に確定する。以上の方法によって、「1つの文書に複数のカテゴリが付与される場合でもその中の1つのカテゴリのみを出現頻度の起算に用いる」という条件に合致した候補単語列NP1についてのカテゴリ別出現頻度を求める。カテゴリ別頻度計算手段12は、同様の動作を全ての候補単語列に対して行う。
次に、エントロピー計算手段13が行うエントロピーの計算方法、専門用語の判定方法について説明する。エントロピー計算手段13は、エントロピーを以下の式で定義する。ここで、p(Cj|NPi)は、用語NPiのカテゴリCjにおける出現確率であり、f(Cj|NPi)は、用語NPjのカテゴリCiにおける出現頻度である(jはカテゴリの種類を示す自然数、iは候補単語列の種類を示す自然数である。)。エントロピーが大きいほどカテゴリに対する候補単語列の分散(ばらつき)が大きく、逆にエントロピーが小さいほど、少ないカテゴリに候補単語列が偏って出現していることを表す。以下式によって求めるEntorpy(NPi)の値を、Score2(NPi)と表現する場合がある。
図6(a)は、図5に示すカテゴリ別出現頻度に対してエントロピーを計算した結果を示している。専門用語の判定方法は、計算したエントロピーが所定のしきい値以下である場合に、専門用語であると判定してもよい。ここで、しきい値を0.95と仮定すると、エントロピー計算手段13は、エントロピーが0.95以下である候補単語列を専門用語と判定することができる。図6(a)に示す例では、候補単語列NP1〜NP3,NP5〜NP8が専門用語であると判定される。図6(b)は、抽出結果である専門用語を記憶した専門用語記憶部24の記憶例を示す説明図である。
次に、本実施の形態における専門用語抽出装置の動作について説明する。図8は、専門用語抽出装置の動作例を示すフローチャートである。ここでは、動作をわかりやすく説明するために、カテゴリ付文書群として図2に示す文書群がカテゴリ付文書記憶部20に記憶されている場合を例にする。
まず、索引作成手段10は、カテゴリ付文書記憶部20に記憶されたカテゴリ付文書を解析して、文書内に出現する各単語列に対する文書毎の出現頻度と、各文書に付与されたカテゴリの種類とを導出し、導出した結果に基づいて、索引を作成する(ステップS1)。ここで、索引とは、出現頻度索引テーブル及びカテゴリ索引テーブルを指し、具体的には、文書群を解析した結果抽出された単語列全てについて、各文書の出現回数を単語列に対応させて示す索引、及び各文書にどのカテゴリが付与されているかを文書に対応させて示す索引である。また例えば、文書の解析は形態素解析を用いて行い、単語列の抽出は特定の品詞に基づく抽出を用いて行う。索引作成手段10は、作成した索引を索引テーブルとして索引記憶部21に記憶する。
次に、専門用語候補作成手段11は、索引作成手段10が抽出した単語列の中から専門用語として適切な単語列を候補単語列として選定する(ステップS2)。専門用語候補作成手段11は、選定した候補単語列を専門用語候補記憶部22に記憶する。専門用語として適切な単語列として、例えば2単語以上から構成される単語列を選定してもよい。また、全ての単語列を選定してもよい。
次に、カテゴリ別頻度計算手段12は、専門用語候補作成手段11が選定した候補単語列それぞれについて、カテゴリ別出現頻度を算出する(ステップS3)。カテゴリ別頻度計算手段12は、算出したカテゴリ別出現頻度をカテゴリ別頻度記憶部23に記憶する。カテゴリ別出現頻度の算出方法は、前述のように、「1文書に複数のカテゴリが付与されている場合でもその中の1つのカテゴリのみを出現頻度の計算に用いる」という条件に基づいて算出する。カテゴリ別頻度計算手段12が行うカテゴリ別出現頻度の算出動作の詳細については、図9を用いて後述する。
次に、エントロピー計算手段13は、カテゴリ別頻度計算手段12が算出したカテゴリ別出現頻度に基づいて、各候補単語列のエントロピーを算出する(ステップS4)。エントロピー計算手段13は、算出した各候補単語列のエントロピーに基づいて、各候補単語列が専門用語か否かを判定し(ステップS5)、専門用語と判定した候補単語列を専門用語記憶部24に記憶する。候補単語列が専門用語か否かの判定は、エントロピーが所定のしきい値以下である場合に専門用語と判定し、それ以外の場合は一般用語と判定することによって行う。以上の動作を全ての候補単語列に対して行った結果、専門用語記憶部24に記憶された単語列が、カテゴリ付文書群から抽出された専門用語である。
次に、図9のフローチャートを参照して、カテゴリ別頻度計算手段12が行うカテゴリ別出現頻度の算出動作について説明する。図9は、カテゴリ別出現頻度の算出動作例を示すフローチャートである。まず、カテゴリ別頻度計算手段12は、専門用語候補作成手段11が選定した候補単語列の集合から、1つ候補単語列を選択する(ステップS31)。カテゴリ別頻度計算手段12は、例えば、図4に示すような専門用語候補記憶部22に記憶された候補単語列からNP1を選択する。なお、この選び方の順序は任意である。
次に、カテゴリ別頻度計算手段12は、ステップS31で選択した候補単語列に関するカテゴリバッファ及び文書バッファを作成する(ステップS32)。例えば、カテゴリ別頻度計算手段12は、記憶部上に所定の記憶領域をカテゴリバッファおよび文書バッファとして確保し、確保した各記憶領域にカテゴリバッファとして記憶すべきカテゴリの情報および文書バッファとして記憶すべき文書の情報を記憶する。以下、候補単語列として、NP1を選択した場合を例にする。カテゴリ別頻度計算手段12は、例えば、図3(b)に示すようなカテゴリ索引テーブルを参照し、各文書に付与されたカテゴリを読み出し、重複しないようカテゴリを記憶することでカテゴリバッファを作成してもよい。また例えば、図3(a)に示すような出現頻度索引テーブルを参照し、候補単語列NP1が出現した文書IDを読み出し、重複しないよう文書IDを記憶することで文書バッファを作成してもよい。例えば、図2に示す文書集合からは、候補単語列NP1について、カテゴリC1〜C9を記憶するカテゴリバッファおよび文書D1,D2,D3を記憶する文書バッファが作成される。なお、この時点で作成されるカテゴリバッファの記憶内容は各候補単語列に共通である。
次に、カテゴリ別頻度計算手段12は、索引記憶部21に記憶された索引(出現頻度索引テーブル及びカテゴリ索引テーブ)を参照して、カテゴリバッファにあるカテゴリ毎に文書バッファにある文書内での候補単語列の出現頻度を求める(ステップS33)。カテゴリ別頻度計算手段12は、例えば、文書バッファに記憶された各文書(候補単語列NP1が出現した各文書)について、その文書に付与されたカテゴリを読み出し、それぞれのカテゴリにそれぞれのカテゴリにおける出現回数に、その文書における候補単語列の出現回数を加算していくことで求めてもよい。例えば、図7(a)に示すカテゴリバッファ及び文書バッファからは、図7(b)に示すカテゴリ毎の候補単語列NP1の出現頻度(All)が求まる。図7(b)は、例えばカテゴリC1が付与されている文書バッファにある文書内で候補単語列NP1が3回出現したことを示している。
次に、カテゴリ別頻度計算手段12は、ステップS33で求めたカテゴリ毎の出現頻度を参照して、最大の出現頻度を持つカテゴリを選択し、そのカテゴリの出現頻度をカテゴリ別出現頻度として出力する(ステップS34)。カテゴリ別頻度計算手段12は、出力したカテゴリ別出現頻度をカテゴリ別頻度記憶部23に記憶する。ここで、カテゴリ毎の出現頻度が同じカテゴリが複数存在する場合は、どのカテゴリを選択してもよい。例えば、図7(b)で示すカテゴリ毎の出現頻度の場合には、出現頻度が最大であるカテゴリC1,C3,C4のうち、どれを選択してもよい。ここで、例えばカテゴリC1を選択した場合には、カテゴリC1のカテゴリ別出現頻度=3が確定したものとしてカテゴリ別頻度記憶部23に記憶される。
次に、カテゴリ別頻度計算手段12は、ステップS34の選択動作に基づいて、カテゴリバッファと文書バッファを編集する(ステップS35)。具体的には、選択したカテゴリをカテゴリバッファから削除し、文書バッファから選択したカテゴリが付与された文書IDを削除する。この動作は、一度カテゴリ別出現頻度に登録された単語列を他のカテゴリのカテゴリ別出現頻度に用いないようにするためのである。例えば、図7(b)に示すカテゴリ毎の出現頻度からカテゴリC1を選択した場合には、カテゴリバッファからカテゴリC1を削除し、カテゴリC1が付与された文書D1,D2を文書バッファから削除する。結果、図7(c)に示すように、カテゴリバッファにはC2〜C9,文書バッファにはD3が残る。
ここで、カテゴリバッファと文書バッファのいずれかが空の場合(ステップS36のYes)は、ステップS37に進む。そうでない場合(ステップS36のNo)は、編集したカテゴリバッファ及び文書バッファの記憶内容に基づいて、再度カテゴリバッファにあるカテゴリ毎に文書バッファにある文書内での候補単語列の出現頻度を求める(ステップS33に戻る)。図7(c)の例では、カテゴリバッファ、文書バッファとも空ではないため、カテゴリ毎の出現頻度を図7(d)のように求める(ステップS33)。次に、最大の出現頻度を持つカテゴリC4を選択し、カテゴリC4のカテゴリ別出現頻度=1をカテゴリ別出現頻度として出力する(ステップS34)。なお、最大の出現頻度を持つカテゴリとしてカテゴリC5を選択してもよい。次に、ステップS34の選択動作に基づいて、カテゴリバッファと文書バッファを編集する(ステップS35)。ここで、図7(e)に示すように、文書バッファが空になったため、次のステップS37へ進む。
カテゴリバッファと文書バッファのいずれかが空の場合(ステップS36のYes)は、未確定のカテゴリ(カテゴリバッファに残ったカテゴリ)のカテゴリ別出現頻度を0として出力する(ステップS37)。図7(e)の例では、カテゴリ別頻度計算手段12は、カテゴリC2〜C9=0をカテゴリ別頻度記憶部23に記憶する。以上の動作によって、候補単語列NP1についてのカテゴリ別出現頻度の算出は完了する。次に、カテゴリ別頻度計算手段12は、専門用語の候補としてあげられている候補単語列のうち、未選択の候補単語列が存在する場合(ステップS38のYes)には、その中から新たな候補単語列を1つ選択し(ステップS31に戻る)、選択した候補単語列について、候補単語列NP1と同様にカテゴリ別出現頻度の算出動作を行う(ステップS32〜S37)。ここで、全ての候補単語列についてカテゴリ別出現頻度の算出を終えた場合、つまり、ステップS31において全ての候補単語列を選択し終え、未選択の候補単語列が存在しない場合(ステップS38のNo)は、カテゴリ別頻度計算手段12が行うカテゴリ別出現頻度の算出動作は完了する。この後は、前述したように、エントロピー計算手段13が各候補単語列のエントロピーの算出動作を行う(ステップS4)。
以上のように、本実施の形態によれば、各文書に付与された1つ以上のカテゴリのうち、1つのカテゴリのみを用いてカテゴリ別出現頻度を算出することによって、1つの文書に複数のカテゴリが付与されうる文書集合に対しても、高い精度でエントロピーに基づく専門用語抽出を可能にする。例えば、図20(c)に示す分布において、カテゴリ別頻度記憶部23が算出するカテゴリ別算出頻度は、図20(b)と同一の結果(C1=32,C2〜C9=0)となる。従って、カテゴリ別出現頻度に基づいて計算されるエントロピーは、(b)と(c)とで同一のScore2(NP)=0となり、専門用語の抽出結果に差異が生じない。また、専門用語か否かの判定に用いるしきい値が1つですむ点は、後述の第3,4の実施の形態に比べて優位性がある。
なお、本実施の形態において、カテゴリ別出現頻度計算手段は、カテゴリ別頻度計算手段12によって実現される。専門用語抽出手段、カテゴリ関連指数計算手段、専門用語判定手段およびエントロピー計算手段は、エントロピー計算手段13によって実現される。カテゴリ別出現頻度記憶部は、カテゴリ別頻度記憶部23によって実現される。索引作成手段は、索引作成手段10によって実現される。候補単語列選定手段は、専門用語候補作成手段11によって実現される。
実施の形態2.
以下、本発明の第2の実施の形態を図面を参照して説明する。図10は、第2の実施の形態における専門用語抽出装置の構成例を示すブロック図である。図10に示す専門用語抽出装置は、第1の実施の形態と同様、プログラムに従って動作するデータ処理装置1(例えば、CPU)と、情報を記憶する記憶装置2とを含む。データ処理装置1は、索引作成手段10と、専門用語候補作成手段11と、カテゴリ別頻度計算手段12と、カイ二乗値計算手段14とを備える。記憶装置2は、カテゴリ付文書記憶部20と、索引記憶部21と、専門用語候補記憶部22と、カテゴリ別頻度記憶部23と、専門用語記憶部24とを備える。図1に示した第1の実施の形態と比べて、エントロピー計算手段13がカイ二乗値計算手段14に変わっている点が異なる。なお、カイ二乗値計算手段14以外は、第1の実施の形態と同様である。
カイ二乗値計算手段14は、カテゴリ別頻度計算手段12が算出した各候補単語列のカテゴリ別出現頻度に基づいて各候補単語列のカイ二乗値を計算し、計算したカイ二乗値に基づいて各候補単語列が専門用語であるか否かを判定する。また、カイ二乗値計算手段14は、専門用語と判定した候補単語列を、抽出結果である専門用語として専門用語記憶部24に記憶する。
次に、カイ二乗値計算手段14が行うカイ二乗値の計算方法、専門用語の判定方法について説明する。カイ二乗値計算手段14は、カイ二乗値を以下の式で定義する。ここで、f(Cj|NPi)は、カテゴリCjにおける候補単語列NPiの出現頻度を、E{f(Cj|NPi)}は、カテゴリCjにおける候補単語列NPiの出現頻度f(Cj|NPi)の期待値(以下、単に期待値という。)を示している。カイ二乗値は、カテゴリ別の出現頻度が期待値からどの程度離れているかを示す値であって、カイ二乗値が小さいほどカテゴリに対する候補単語列の偏りが小さく(ばらつきが大きく)、逆にカイ二乗値が大きいほど候補単語列が少ないカテゴリに偏って出現していることを表す。以下式によって求めるkai2(NPi)の値を、Score3(NPi)と表現する場合もある。
図11は、図5に示すカテゴリ別出現頻度に基づいて期待値E{f(Cj|NPi)}を求めた結果を示す説明図である。図11(a)において、C_allは上記式中のア)Σkf(Ck|NPi)の結果を示し、N_allは上記式中のイ)Σlf(Cj|NPl)の結果を示している。また、図11(b)が期待値E{f(Cj|NPi)}の値を示している。例えば、カテゴリC1における候補単語列NP1の出現頻度の期待値(j=1,i=1の場合)は、E{f(C1|NP1)}=4*7/23=1.217となる。また例えば、カテゴリC4における候補単語列NP2の出現頻度の期待値(j=4,i=2の場合)は、E{f(C4|NP2)}=2*4/23=0.348となる。
図12は、図11に示す期待値からカイ二乗値を求めた結果を示す説明図である。ここで、例えば候補単語列NP1のカイ二乗値は、以下の計算式となる。なお、期待値が0の項は0として計算する。
図12(a)は、図5に示すカテゴリ別出現頻度に対してカイ二乗値を計算した結果を示している。専門用語の判定方法は、計算したカイ二乗値が所定のしきい値以上である場合に、専門用語であると判定してもよい。ここで、しきい値を4と仮定すると、カイ二乗値計算手段14は、カイ二乗値が4以上である候補単語列を専門用語と判定することができる。図12(a)に示す例では、候補単語列NP1〜NP2,NP4〜NP9が専門用度であると判定される。図12(b)は、抽出結果である専門用語を記憶した専門用語記憶部24の記憶例を示す説明図である。
次に、図13を参照して第2の実施の形態における専門用語抽出装置の動作について説明する。図13は、第2の実施の形態における専門用語抽出装置の動作例を示すフローチャートである。このうち、ステップS1〜S3の動作については、第1の実施の形態と同様であるため、説明を省略する。
カイ二乗値計算手段14は、カテゴリ別頻度計算手段12が算出したカテゴリ別出現頻度に基づいて各候補単語列のカイ二乗値を算出する(ステップS42)。カイ二乗値計算手段14は、算出した各候補単語列のカイ二乗値に基づいて、各候補単語列が専門用語か否かを判定し(ステップS52)、専門用語と判定した候補単語列を専門用語記憶部24に記憶する。候補単語列が専門用語か否かの判定は、カイ二乗値が所定のしきい値以上である場合に専門用語と判定し、それ以外の場合は一般用語と判定することによって行う。以上の動作を全ての候補単語列に対して行った結果、専門用語記憶部24に記憶された単語列が、カテゴリ付文書群から抽出された専門用語である。
以上のように、本実施の形態によれば、各文書に付与された1つ以上のカテゴリのうち、1つのカテゴリのみを用いてカテゴリ別出現頻度を算出することによって、1つの文書に複数のカテゴリが付与されうる文書集合に対しても、高い精度でカイ二乗値に基づく専門用語抽出を可能とする。例えば、図20(c)に示す分布において、カテゴリ別頻度記憶部23が算出するカテゴリ別算出頻度は、図20(b)と同一の結果(C1=32,C2〜C9=0)となる。従って、カテゴリ別出現頻度に基づいて算出されるカイ二乗値は、(b)と(c)とで同一のScore3(NP)=255.68となり、専門用語の抽出結果に差異が生じない。また、専門用語か否かの判定に用いるしきい値が1つですむ点は、後述の第3,4の実施の形態に比べて優位性がある。
なお、本実施の形態において、専門用語抽出手段、カテゴリ関連指数計算手段、専門用語判定手段およびカイ二乗値計算手段は、カイ二乗値計算手段14によって実現される。
実施の形態3.
以下、本発明の第3の実施の形態を図面を参照して説明する。図14は、第3の実施の形態における専門用語抽出装置の構成例を示すブロック図である。図14に示す専門用語抽出装置は、第1の実施の形態と同様、プログラムに従って動作するデータ処理装置1(例えば、CPU)と、情報を記憶する記憶装置2とを含む。データ処理装置1は、索引作成手段10と、専門用語候補作成手段11と、カテゴリ別頻度計算手段12と、カテゴリ数計算手段15とを備える。記憶装置2は、カテゴリ付文書記憶部20と、索引記憶部21と、専門用語候補記憶部22と、カテゴリ別頻度記憶部23と、専門用語記憶部24とを備える。図1に示した第1の実施の形態と比べて、エントロピー計算手段13がカテゴリ数計算手段15に変わっている点が異なる。なお、カテゴリ数計算手段15以外は、第1の実施の形態と同様である。
カテゴリ数計算手段15は、カテゴリ別頻度計算手段12が算出した各候補単語列のカテゴリ別出現頻度に基づいて、各候補単語列について、総出現頻度に対する出現割合がしきい値m以上になるために必要な最小のカテゴリ数(以下、単にカテゴリ数の最小値という。)を計算し、計算したカテゴリ数の最小値に基づいて各候補単語列が専門用語であるか否かを判定する。また、カテゴリ数計算手段15は、専門用語判定した候補単語列を、抽出結果である専門用語として専門用語記憶部24に記憶する。
次に、カテゴリ数計算手段15が行うカテゴリ数の最小値の計算方法、専門用語の判定方法について説明する。カテゴリ数の最小値を計算する方法は、候補単語列のカテゴリ別出現頻度の中から、カテゴリ別出現頻度が大きいカテゴリから順に選択していき、総出現頻度に対する出現割合が所定のしきい値m以上になるまでカテゴリ数を加算することで求めることができる。カテゴリ数の最小値は、候補単語列の総出現頻度に対する出現割合が所定の出現割合を満たすのに必要なカテゴリ数を示す値であって、カテゴリ数の最小値が大きいほどカテゴリに対する候補単語列の偏りが小さく(ばらつきが大きく)、逆にカテゴリ数の最小値が大きいほど候補単語列が少ないカテゴリに偏って出現していることを表す。なお、総出現頻度は、図11(a)におけるC_allと同値である。上記方法によって求める候補単語列NPについてのカテゴリ数の最小値を、Score1(NP)と表現する場合もある。
図15は、図5に示すカテゴリ別出現頻度に基づいてカテゴリ数の最小値を求めた結果を示す説明図である。なお、図15では、出現割合のしきい値mを0.6として計算している。専門用語の判定方法は、計算したカテゴリ数の最小値が所定のしきい値n以下である場合に、専門用語であると判定してもよい。ここで、しきい値nを1と仮定すると、カテゴリ数計算手段15は、カテゴリ数の最小値が1以下である候補単語列を専門用語として判定することができる。図15(a)に示す例では、候補単語列NP1〜NP3,NP5〜NP9が専門用語であると判定される。図15(b)は、抽出結果である専門用語を記憶した専門用語記憶部24の記憶例を示す説明図である。
次に、図16を参照して第3の実施の形態における専門用語抽出装置の動作について説明する。図16は、第3の実施の形態における専門用語抽出装置の動作例を示すフローチャートである。このうち、ステップS1〜S3の動作については、第1の実施の形態と同様であるため、説明を省略する。
カテゴリ数計算手段15は、カテゴリ別頻度計算手段12が算出したカテゴリ別出現頻度に基づいて、各候補単語列のカテゴリ数の最小値を算出する(ステップS43)。カテゴリ数計算手段15は、算出したカテゴリ数の最小値に基づいて、各候補単語列が専門用語か否かを判定し(ステップS53)、専門用語と判定した候補単語列を専門用語記憶部24に記憶する。
カテゴリ数の最小値の計算は、図15(a)における候補単語列NP1を例にとると、候補単語列NP1の総出現頻度4に対する出現割合を、まず最もカテゴリ別出現頻度が大きいカテゴリC1を選択して確認する。カテゴリC1のカテゴリ別出現頻度が3であるため、出現割合は3/4=0.75となり、出現割合のしきい値m(ここでは、0.6と仮定)以上となるため、カテゴリ数の最小値は、カテゴリC1を加算した1(カテゴリ数=1)となる。また例えば、候補単語列NP4を例にとると、候補単語列NP4の総出現頻度4に対する出現割合を、まず最もカテゴリ別出現頻度が大きいカテゴリC4を選択して確認する。なお、ここではカテゴリC4と同値のカテゴリC6を選択してもよい。カテゴリC4のカテゴリ別出現頻度が2であるため、出現割合は2/4=0.5となり、出現割合のしきい値mより小さいことが確認できる。続いて、次にカテゴリ別出現頻度が大きいカテゴリC6を加えた出現割合を確認する。カテゴリC6のカテゴリ別出現頻度が2であるため、出現割合は、(2+2)/4=1.0となり、出現割合のしきい値m以上となるため、カテゴリ数の最小値は、カテゴリC4とC6を加算した2(カテゴリ数=2)となる。
候補単語列が専門用語か否かの判定は、カテゴリ数の最小値が所定のしきい値n以下である場合に専門用語と判定し、それ以外の場合は一般用語と判定することによって行う。以上の動作を全ての候補単語列に対して行った結果、専門用語記憶部24に記憶された単語列が、カテゴリ付文書群から抽出された専門用語である。
以上のように、本実施の形態によれば、各文書に付与された1つ以上のカテゴリのうち、1つのカテゴリのみを用いてカテゴリ別出現頻度を算出することによって、1つの文書に複数のカテゴリが付与されうる文書集合に対しても、高い精度でカテゴリ数に基づく専門用語抽出を可能とする。例えば、図20(c)に示す分布において、カテゴリ別頻度記憶部23が算出するカテゴリ別算出頻度は、図20(b)と同一の結果(C1=32,C2〜C9=0)となる。従って、カテゴリ別出現頻度に基づいて算出されるカテゴリ数の最小値は、(b)と(c)とで同一のScore1(NP)=1となり、専門用語の抽出結果に差異が生じない。
なお、本実施の形態において、専門用語抽出手段、カテゴリ関連指数計算手段、専門用語判定手段およびカテゴリ数計算手段は、カテゴリ数計算手段15によって実現される。
実施の形態4.
以下、本発明の第3の実施の形態を図面を参照して説明する。図17は、第4の実施の形態における専門用語抽出装置の構成例を示すブロック図である。図17に示す専門用語抽出装置は、第1の実施の形態と同様、プログラムに従って動作するデータ処理装置1(例えば、CPU)と、情報を記憶する記憶装置2とを含む。データ処理装置1は、索引作成手段10と、専門用語候補作成手段11と、カテゴリ別頻度計算手段12と、出現割合計算手段16とを備える。記憶装置2は、カテゴリ付文書記憶部20と、索引記憶部21と、専門用語候補記憶部22と、カテゴリ別頻度記憶部23と、専門用語記憶部24とを備える。図1に示した第1の実施の形態と比べて、エントロピー計算手段13が出現割合計算手段16に変わっている点が異なる。なお、出現割合計算手段16以外は、第1の実施の形態と同様である。
出現割合計算手段16は、カテゴリ別頻度計算手段12が算出した各候補単語列のカテゴリ別出現頻度に基づいて、各候補単語列について、候補単語列のカテゴリ数がしきい値m以下となる総出現頻度に対する最大の出現割合(以下、単に出現割合の最大値という。)を計算し、計算した出現割合の最大値に基づいて各候補単語列が専門用語であるか否かを判定する。また、出現割合計算手段16は、専門用語判定した候補単語列を、抽出結果である専門用語として専門用語記憶部24に記憶する。
次に、出現割合計算手段16が行う出現割合の最大値の計算方法、専門用語の判定方法について説明する。出現割合の最大値を計算する方法は、候補単語列のカテゴリ別出現頻度の中から、カテゴリ別出現頻度が大きいカテゴリから順に選択していき、カテゴリ数が所定のしきい値mとなるまで、選択したカテゴリのカテゴリ別出現頻度を加算して総出現頻度に対する出現割合を求めることで求まる。出現割合の最大値は、所定のカテゴリ数における候補単語列の総出現頻度に対する最大の出現割合であって、出現割合の最大値が小さいほどカテゴリに対する候補単語列の偏りが小さく(ばらつきが大きく)、逆に出現割合の最大値が大きいほど候補単語列が少ないカテゴリに偏って出現していることを表す。なお、総出現頻度は、図11(a)におけるC_allと同値である。上記方法によって求める候補単語列NPについての出現頻度の最大値を、Score4(NP)と表現する場合もある。
図18は、図5に示すカテゴリ別出現頻度に基づいて出現割合の最大値を求めた結果を示す説明図である。図15では、カテゴリ数のしきい値mを1として計算している。専門用語の判定方法は、計算した出現割合の最大値が所定のしきい値n以上である場合に、専門用語であると判定してもよい。ここで、しきい値nを0.6と仮定すると、出現割合計算手段16は、出現割合の最大値が1以下である候補単語列を専門用語として判定することができる。図18(a)に示す例では、候補単語列NP1〜NP3,NP5〜NP9が専門用語であると判定される。図18(b)は、抽出結果である専門用語を記憶した専門用語記憶部24の記憶例を示す説明図である。
次に、図19を参照して第4の実施の形態における専門用語抽出装置の動作について説明する。図19は、第4の実施の形態における専門用語抽出装置の動作例を示すフローチャートである。このうち、ステップS1〜S3の動作については、第1の実施の形態と同様であるため、説明を省略する。
出現割合計算手段16は、カテゴリ別頻度計算手段12が算出したカテゴリ別出現頻度に基づいて、各候補単語列の出現割合の最大値を算出する(ステップS44)。出現割合計算手段16は、算出した出現割合の最大値に基づいて、各候補単語列が専門用語か否かを判定し(ステップS54)、専門用語と判定した候補単語列を専門用語記憶部24に記憶する。
出現割合の最大値の計算は、図18(a)における候補単語列NP1を例にとると、まず最もカテゴリ別出現頻度が大きいカテゴリC1を選択して候補単語列NP1の総出現頻度4に対する出現割合を確認する。カテゴリC1のカテゴリ別出現頻度が3であるため、出現割合は3/4=0.75となる。ここで、出現割合の求めるのに用いたカテゴリ数は、カテゴリ数のしきい値m(ここでは、1と仮定する。)となるため、出現頻度の最大値は、カテゴリC1のカテゴリ別出現頻度から求めた0.75となる。また例えば、カテゴリ数のしきい値mが2であった場合には、続いて、次にカテゴリ別出現頻度が大きいC4を加えた出現割合を求める。カテゴリC4のカテゴリ別出現頻度が1であるため、出現割合は、(3+1)/4=1.0となる。
候補単語列が専門用語か否かの判定は、出現割合の最大値が所定のしきい値n以上である場合に専門用語と判定し、それ以外の場合は一般用語と判定することによって行う。以上の動作を全ての候補単語列に対して行った結果、専門用語記憶部24に記憶された単語列が、カテゴリ付文書群から抽出された専門用語である。
以上のように、本実施の形態によれば、各文書に付与された1つ以上のカテゴリのうち、1つのカテゴリのみを用いてカテゴリ別出現頻度を算出することによって、1つの文書に複数のカテゴリが付与されうる文書集合に対しても、高い精度でカテゴリ別出現頻度に基づく専門用語抽出を可能とする。例えば、図20(c)に示す分布において、カテゴリ別頻度記憶部23が算出するカテゴリ別算出頻度は、図20(b)と同一の結果(C1=32,C2〜C9=0)となる。従って、カテゴリ別出現頻度に基づいて算出される出現割合の最大値は、(b)と(c)とで同一のScore4(NP)=1.0(この値は、カテゴリ数のしきい値m=1とした場合)となり、専門用語の抽出結果に差異が生じない。
なお、本実施の形態において、専門用語抽出手段、カテゴリ関連指数計算手段、専門用語判定手段および出現割合計算手段は、出現割合計算手段16によって実現される。