説明

類義語辞書構築装置及び方法、コンピュータプログラム

【課題】高精度の類義語辞書を構築する。
【解決手段】文書データ中において所定規則で出現する文字列ペアを類義語候補抽出部12で相互の類義語候補として抽出した後、関連度管理部13で、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、他方の文字列に対する一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、第1関連値及び第2関連値を当該文字列ペアと関連付けて保持する。類義語辞書登録部14は、一方の文字列に対して第1関連値が第1閾値以下で、且つ、第2関連値が第2閾値以下となる他方の文字列を一方の文字列の類義語として、類義語辞書26に辞書登録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、類義語辞書の構築技術に関する。類義語とは、語形は異なっていても意味の似かよった2つ以上の語をいう。
【背景技術】
【0002】
言葉の言い換え表現をしたいときに、類義語辞書がしばしば使用される。この類義語辞書を構築する方法として、従来、以下の3つの方法がある。
(1)第1の方法
専門知識を有する者が、人手によって類義語を体系化して構築する。
(2)第2の方法
ベクトル統計量に基づいて類義語を自動抽出して辞書登録する。例えば、文書データの内容を形態素解析して名詞や動詞等の品詞、あるいはそれらの係り受け関係を抽出し、対象となる名詞に対する動詞格との共起ベクトルを求め、ベクトル同士の距離が近いもの同士は類義語関係になるとして、当該共起ベクトルの対象名詞の集合を類義語群として抽出し、これらを辞書登録する。この方法については、特許文献1の記載を参考にすることができる。
(3)第3の方法
特殊記号の前後単語が類義語関係となることに着目して、文書中の特殊記号、例えば丸括弧で囲まれた文字列は、開き丸括弧直前の文字列の類義語となる場合が多いとして、両者を相互に類義語として抽出する。この方法については、特許文献2,3の記載を参考にすることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−331515号公報
【特許文献2】特開平11−328205号公報
【特許文献3】特開2006−164170号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の3つの方法には、それぞれ、以下のような問題がある。
(1)第1の方法の課題
新規の分野に対する大規模な類義語辞書を構築しようとする場合、多大な時間と労力が必要となる上に、その分野特有の専門用語を抽出できるかどうかは、類義語収集者の知識やスキルに依存するため、一般化できない。
【0005】
(2)第2の方法の課題
基本的に単語データ間の共起ベクトル間の類似性を判別する統計的手法であるため、高頻度に表れる用語に対する類義語の信頼性は比較的高いものの、低頻度に表れる用語に対する類義語に対する信頼性が低い。
また、市販の汎用的な類義語辞書に記載されるような類義語を自動抽出してもメリットは小さいが、対象テキスト中の頻度が高い用語は、市販の類義語辞書にあることが容易に想像される。加えて、係り受け関係を持つ可能性が高い「文書」と「検索」という単語対と、「文書」と「処理」という単語対が共起性が高いとしても、「検索」と「処理」との間に類義語関係があるとは、いえない場合が多いため、得られる類義語に対する信頼性が低い。
【0006】
(3)第3の方法の課題
特許文献2では丸括弧に着目し、丸括弧で囲まれた文字列は、開き丸括弧の直前の文字列となることを利用して類義語を抽出しているが、常に類義語関係を有するとは限らないため、開き括弧前後の文字列に関して、類義語とならない排除パターン、例えば括弧内が数式相当である物等に合致するか否かに基づいて類義語かどうかを判定している。この排除パターンルールは、限定した分野では効果が期待できるものの、一般化は難しく、汎用性に乏しいため、新しい分野が創設された場合、既存ルールの修正や新規ルールの作成並びにルール追加による影響の有無を検証する必要がある。そのため、ルールが膨大になるほど多大な労力を必要とする。
【0007】
また、特許文献3に開示された技術では、開き丸括弧前後の文字列の対における、表記上の順序関係に着目し、一方の順序でしか現れない文字列の対は、類義語ではないとして、除外するルールを適用している。しかし、文章中に、低頻度で現れる新しい語、例えば「ヘッドレスト(頭支持部)」という類義語候補を発見したとしても、頭支持部(ヘッドレスト)が対象文章中になければ、類義語とならない。このことは、開き括弧前後の文字列の対の頻度統計をとると、低頻度の文字列の対が大多数を占めることを考えると、重要な問題となる。
【0008】
本発明は、高精度の類義語辞書を迅速に構築する技術を提供することを課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、類義語辞書構築装置、方法、及びコンピュータプログラムを提供する。
本発明の類義語辞書構築装置は、文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出する類義語候補抽出手段と、抽出された文字列ペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて保持する関連度管理手段と、
前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第2閾値以下となる前記他方の文字列を前記一方の文字列の類義語として辞書登録する辞書登録手段と、を備えて成る。
【0010】
本発明の類義語辞書構築装置では、文字列ペア毎に第1関連値と第2関連値とを導出し、一方の文字列について、第1関連値が第1閾値以下で、且つ、第2関連値が第2閾値以下となる他方の文字列を当該一方の文字列の類義語として辞書登録するようにしたので、一方の文字列だけからは判らない他方の文字列からの関連度を辞書登録すべき類義語決定のパラメータとして利用することができるので、一方の文字列だけを用いた場合よりも、格段に高精度となる類義語辞書を構築することができる。
【0011】
本発明の類義語構築装置において、前記関連度管理手段は、例えば、前記文書データを含む複数の文書データにおける前記文字列ペアの出現頻度を累積し、その累積値を後順にソートして得たランキング順位により前記第1関連値及び前記第2関連値を導出するように構成する。これにより、文書データ中にさほど高くない頻度で出現する文字列ペアであっても、その関連度を正しく定量化することができる。
【0012】
ある実施の態様では、前記関連度管理手段は、前記第1関連値及び前記第2関連値を前記文字列ペアと関連付けて更新自在に保持しており、最新の前記第1関連値及び前記第2関連値に基づいて前記辞書登録すべき類義語を決定する。各関連値を適宜修正することにより、文字列ペアの関連度の精度をさらに高めることができる。
【0013】
本発明の方法は、メモリにアクセス可能なコンピュータが実行する方法であって、文書データを取り込み、取り込んだ文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出し、抽出した文字列ペアを前記メモリに保持する段階と、前記メモリに保持されている前記文字列のペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて前記メモリに保持する段階と、前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第2閾値以下となる前記他方の文字列を前記一方の文字列の類義語として辞書登録する段階とを含む、類義語辞書構築方法である。
【0014】
本発明のコンピュータプログラムは、コンピュータを、文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出する類義語候補抽出手段;抽出された文字列ペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて保持する関連度管理手段;及び、前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第2閾値以下となる前記他方の文字列を前記一方の文字列の類義語として辞書登録する辞書登録手段;として機能させる、類義語辞書構築のためのコンピュータプログラムである。
【発明の効果】
【0015】
本発明によれば、文書データ中から抽出される文字列ペアのうち、双方の文字列からみた重み付けにより関連度を定量化するようにしたので、一方の文字列からの重み付けによる定量化結果に基づく場合に比べて、関連度の判定結果の精度が高まるという優れた効果が得られる。
【図面の簡単な説明】
【0016】
【図1】本実施形態における類義語辞書構築装置の構成図。
【図2】形態素解析の結果例を示す説明図。
【図3】(a),(b)は度数テーブルの内容例を示した図であり、(a)は登録前、(b)は登録後の状態を示す。
【図4】類義語候補のフィルタリング処理の手順説明図。
【図5】「アイスクリーム」に対する類義語候補群と各度数の例を示した図。
【図6】「食品」に対する類義語群と各度数の例を示した図。
【図7】類義語候補テーブルに登録された文字列ペアと関連度の例を示した説明図。
【図8】類義語を決定するためのフィルタリング処理の手順説明図。
【図9】スタックに格納した類義語候補テーブルの例を示した説明図。
【図10】類義語辞書に登録される文字列ペアの例を示した説明図。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施の形態例を説明する。
図1は、本実施形態における類義語辞書構築装置の構成図である。この類義度辞書構築装置1は、コンピュータ本体10と、ハードディスク等の外部記憶装置20と、キーボード等から成る入力装置30と、OCRやUSBメモリ等の読み取り機構を備えた文書データ取込装置40と、液晶ディスプレイ等の表示装置40とを備えて構成される。
【0018】
コンピュータ本体10は、外部記憶装置20にインストールされた本発明のコンピュータプログラムを実行することにより、コンピュータ本体を、入出力(I/O)制御部11、類義語候補抽出部12、関連度管理部13、及び、類義語辞書登録部14として機能させる。
【0019】
外部記憶装置20には、上記のコンピュータプログラム及び必要なデータのほか、品詞の内容を定めた品詞テーブル21と、類義語辞書構築のルール及び閾値を設定したルールテーブル22と、文字列ペアの関連度を定量化する際に用いられる度数テーブル23及び類義語候補テーブル24と、文書データ取込装置で取り込んだ文書データを保持するための文書データベース(以下、データベースを「DB」と称する。)25と、類義語辞書26とが格納される。ルールテーブル22に設定されるルールは、文字列ペア抽出ルール、関連度の定量化に用いる重み付けルールである。
【0020】
入出力制御部11は、入力装置30からの処理の指示や検索語等の入力の受付、文書データ取込装置40からの文書データの取込、表示装置50への処理内容又は処理結果の出力、外部記憶装置20へのデータ登録及びその読み出しを制御する。
【0021】
類義語候補抽出部12は、文書データ取込装置40より取り込んだ文書データを、後段の処理のために文書IDを付して文書DB25に保持する。取り込んだ文書データを「元文書データ」と呼ぶ。
類義語候補抽出部12は、また、文書DB25に保持されている元文書データに対して品詞テーブル21に基づく形態素解析を行い、文字及び文字列を抽出する。なお、本発明は、文書データから抽出した文字を扱うことに主眼があるので、ここにいう文字には、記号、数値も含まれるものとする。
文字列の抽出は、ルールテーブル22に設定されている文字列ペア抽出ルールに従って行う。例えば、元文書データに存在する文字列のうち、言い換え表現のために用いる特定情報の有無を調べ、存在するときは、その特定情報の前後の文字列を類義語候補を表す文字列として特定する。特定情報は、本実施形態では、開き括弧「(」のような記号を用いる。
【0022】
例えば、『画像には、エッジ(輪郭線)という特徴がある。』という元文書データが取り込まれたとすると、品詞テーブル21に基づく元文書データの形態素解析の結果は図2のようになり、『画像/に/は/、/エッジ/(/輪郭線/)/という/特徴/が/ある/。』の文字列が抽出される。類義語候補抽出部12は、この元文書データから、開き括弧の前後に存在する「エッジ」と「輪郭線」の文字列ペアを、それぞれ相互の類義語候補として抽出する。
【0023】
類義語候補となる文字列ペアを抽出すると、類義語候補抽出部12は、文字列の一方を検索語、他方を類義語候補として、検索語及び類義語候補のペアを2パターン、度数テーブル23に登録する。すなわち「エッジ」を検索語、「輪郭線」を類義語候補として登録するとともに、”輪郭線”を検索語、”エッジ”を類義語候補としても登録する。登録前の度数テーブル23aの例を図3(a)、登録後の度数テーブル23bの例を図3(b)に示す。ここで「度数」は、抽出された文字列ペアの出現頻度の累積値、つまり「のべ数」であり、図3(a)、(b)のように随時更新される。
【0024】
図1に戻り、関連度管理部13は、文字列ペアの関連度を重み付けすることによりフィルタリング処理を行う。
関連度を重み付けする処理は、ルールテーブル22に設定された重み付けルールに従い、文字列ペア毎に、一方の文字列から見た他方の文字列の関連度と、他方の文字列から見た一方の文字列の関連度とを定量化することにより行う。
【0025】
このフィルタリング処理の手順を図4を参照して、詳しく説明する。
関連度管理部13は、入力装置30を通じて、処理の開始を指定されると、いずれかの文字列と、その文字列とペアになるすべての文字列とを取得し、メモリの一種であるスタックに格納する(ステップS101)。
【0026】
スタックが1未満の場合は、処理を終える(ステップS102:Yes)。
スタックが1以上の場合は、スタックから検索語とペアになる類義語候補を1つずつ取得し(ステップS102:No,S103)、取得した文字列ペアについて、当該検索語に対する類義語候補の関連度を定量化し、その結果を第1関連値として、類義語候補テーブル24に登録する(ステップS104)。
関連度の定量化に際しては、まず、文字列ペア(検索語に対する類義語候補)の度数を降順にソートする。そして、度数の多い順にランキングされた結果(1位、2位・・・)により、関連度を定量化する。これにより、ランキングの順位が高いほど、つまり、順位を表す数値が小さくなるほど、関連度が高くなるように重み付けられる。この重み付けの結果を第1関連値とする。
【0027】
関連度管理部13は、また、上記の類義語候補を検索語としたときに文字列ペアとなる他の類義語候補をスタックから取得する(ステップS105)。例えば図5の例でいえば「アイスクリーム」の類義語候補とされた「食品」を検索語としたときの他の類義語候補(図6に例示される「商品」、「内容物」、「食材」・・・)を取得する。
そして、当該検索語(「食品」)と各類義語候補との関連度を定量化し、その結果を第2関連値として、文字列ペアと関連付けて類義語候補テーブル24に、登録する(ステップS106)。関連度の定量化については、第1関連値と同様に行う。
以上の処理を、スタックサイズが1未満になるまで(ステップS102:No)繰り返す。
【0028】
このようにして、類義語候補テーブル24に登録された文字列ペア、第1関連値及び第2関連値の内容例を図7に示す。図7を参照すると、「アイスクリーム」から「食品」を見たときの関連度を表す第1関連値は“1”であるが、「食品」から「アイスクリーム」を見たときの関連度を表す第2関連値は“49”となり、両者の順位は、必ずしも一致しないことがわかる。
【0029】
類義語候補テーブル24への各関連値の登録を終えると、類義語辞書登録部14において、類義語辞書26に登録すべき類義語の決定及び辞書登録のための処理を行う。この処理の手順を図8に示す。
図8を参照し、類義語辞書登録部14は、入力装置30から検索語を1つ取得する(ステップS201)。そして、当該検索語に対するすべての類義語候補と、当該文字列ペアについての第1関連値及び第2関連値を類義語候補テーブル24から読み出してスタックに格納する(ステップS202)。ここでは、図9に例示する内容のうち、検索語「アイスクリーム」に対する7つの類義語候補と、各類義語候補とのペアによる第1関連値及び第2関連値とをスタックに格納するものとする。
【0030】
スタックが1未満のときには処理を終了する(ステップS203:No)。
スタックが1以上のときは、スタックから、検索語「アイスクリーム」と類義語候補、ペア毎の第1関連値及び第2関連値を1件取得する(ステップS204)。
そして、取得した類義語候補の第1関連値に対して第1閾値以下であるかを判定し、第1閾値を越える場合はスタックサイズの判定に戻る(ステップS205:No)。
【0031】
第1関連値が第1閾値以下である場合は、第2閾値以下であるかを判定し、第2閾値を越える場合はスタックサイズの判定に戻る(ステップS206:No)。第1閾値以下で、且つ、第2閾値以下でもある場合は、ペアとなる類義語候補を検索語「アイスクリーム」に対する類義語と決定し、類義語辞書26に登録する(ステップS205:Yes、S206:Yes、S207)。
【0032】
例えば、第1閾値及び第2閾値がともに“5”に設定されているものとすると、図9の例(図7の拡張)では、検索語「アイスクリーム」と類義語候補「商品」とのペアについては第1関連値は“1”であるが第2関連値が“49”であり、検索語「アイスクリーム」と類義語候補「食品」とのペアについては第1関連値は“4”であるが第2関連値が“58”なので、いずれも「アイスクリーム」の類義語からは除外される。
この例では、第1関連値が“2”で第2関連値が“3”の「冷菓」、第1関連値が“3”で第2関連値が“5”の「冷凍食品」、第1関連値が“5”で第2関連値が“1”の「氷菓子」の3つが「アイスクリーム」の類義語として決定され、図10に示すように真の類義語ペアとして、類義語辞書26に登録される。
以上の処理を、スタックサイズが1未満になるまで(ステップS203:No)繰り返す。
【0033】
このように、本実施形態では、類義語候補として抽出された文字列ペアについて、一方の文字列から見た他方の文字列の関連度のみならず、他方の文字列から見た一方の文字列の関連度についても重み付けを行うようにしたので、元文書データにさほど高くない頻度で出現する文字列ペアであっても、その関連度を正しく定量化することができる。
これにより、類義語辞書26の構築精度が、一方の文字列から見た他方の文字列の関連度のみに基づいて構築する場合に比べて格段に向上した。
【0034】
また、関連度を定量化する際に、文字列ペアの出現頻度を度数として蓄積し、最新の度数に基づいて第1関連値及び第2関連値を導出するようにしたので、関連度の高い文字列ペアの抽出がより容易となった。
【0035】
[変形例]
本実施形態では、文字列ペアを抽出する場合、言い換え表現を表す特定情報として開き括弧を用いた場合の例を示したが、同じ又は類似の意味合いの文字列に導く他の文字列、例えば「;」、「:」、「=」のような記号を用いても良い。また、言い換え表現を表す特定情報であれば、特定の文字列、例えば「つまり」、「すなわち」、「例えば」、「具体的には」等であっても良い。また、特定の形態素、例えば、名詞と未知語とが連続する文字列ペアを類義語候補として抽出するように定めても良い。
【0036】
本実施形態では、また、度数テーブル23と類義語候補テーブル24とを別々に設けた場合の例を示したが、度数と第1関連値及び第2関連値とを同じテーブルに格納するようにしても良い。さらに、本実施形態では、これらのテーブル23,24を外部記憶装置20に格納することを前提として説明したが、外部記憶装置20ではなく、コンピュータ本体10の内部メモリ(図示省略)に格納するようにしても良い。
【0037】
さらに、第1関連値及び第2関連値は、度数をランキングした順位により導出したが、A、B、C・・・のような順列に従って導出するようにしても良い。
【符号の説明】
【0038】
1・・・類義度辞書構築装置、10・・・コンピュータ本体、11・・・入力受付部、12・・・類義語候補抽出部、121・・・文書データ入力部、122・・・類義語候補抽出部、123・・・類義語候補登録部、13・・・関連度管理部、14・・・類義語管理部、20・・・外部記憶装置、21・・・品詞テーブル、22・・・ルールテーブル、23(23a〜24d)・・・度数テーブル、24・・・類義語候補テーブル、30・・・入力装置、40・・・文書データ取込装置、50・・・表示装置。

【特許請求の範囲】
【請求項1】
文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出する類義語候補抽出手段と、
抽出された文字列ペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて保持する関連度管理手段と、
前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第2閾値以下となる前記他方の文字列を前記一方の文字列の類義語として辞書登録する辞書登録手段と、を備えて成る、
類義語辞書構築装置。
【請求項2】
前記関連度管理手段は、前記文書データを含む複数の文書データにおける前記文字列ペアの出現頻度を累積し、その累積値を後順にソートして得たランキング順位により、前記第1関連値及び前記第2関連値を導出する、
請求項1記載の類義語辞書構築装置。
【請求項3】
前記関連度管理手段は、前記第1関連値及び前記第2関連値を前記文字列ペアと関連付けて更新自在に保持しており、最新の前記第1関連値及び前記第2関連値に基づいて、辞書登録すべき類義語を決定する、
請求項2記載の類義語辞書構築装置。
【請求項4】
メモリにアクセス可能なコンピュータが実行する方法であって、
文書データを取り込み、取り込んだ文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出し、抽出した文字列ペアを前記メモリに保持する段階と、
前記メモリに保持されている前記文字列のペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて前記メモリに保持する段階と、
前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第2閾値以下となる前記他方の文字列を前記一方の文字列の類義語として辞書登録する段階とを含む、
類義語辞書構築方法。
【請求項5】
コンピュータを、文書データ中において所定規則で出現する文字列ペアを相互の類義語候補として抽出する類義語候補抽出手段;
抽出された文字列ペアについて、一方の文字列に対する他方の文字列の関連性が高くなるほど小さくなるように重み付けされた第1関連値を導出するとともに、前記他方の文字列に対する前記一方の文字列の関連性が高くなるほど小さくなるように重み付けされた第2関連値を導出し、前記第1関連値及び前記第2関連値を当該文字列ペアと関連付けて保持する関連度管理手段;及び、
前記一方の文字列に対して前記第1関連値が第1閾値以下で、且つ、前記第2関連値が第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


【公開番号】特開2010−267047(P2010−267047A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−117245(P2009−117245)
【出願日】平成21年5月14日(2009.5.14)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】