(57)【要約】      （修正有）【課題】  簡便かつ高精度な同義語データベースを生成する情報処理装置、方法及びプログラムを提供する。【解決手段】  順序のある文字列対が格納される同義語候補データベースと、第一記号と第二記号とからなる所定の記号対を含む文に対し形態素解析を施す形態素解析手段と、前記第一記号の直前の第一文字列と記号対内の第二文字列を切り出して、順序のある文字列対を抽出する文字列対抽出手段と、抽出した文字列対と前記同義語候補データベースに格納された文字列対である同義語候補文字列対が所定の条件を満たすか否かを判定する同義語対判定手段と、同義語対判定手段で前記所定の条件を満たすと判定された場合、前記第一文字列と、前記第二文字列と、前記同義語候補対とに含まれる各文字列から、互いに異なる文字列を要素とする同義語集合を生成するとともに、前記同義語候補文字列対を同義語候補データベースから削除する同義語集合生成手段とを有する。【選択図】  図２
2006164170.tif 000002
【特許請求の範囲】
【請求項１】
順序のある文字列対が格納される同義語候補データベースと、
第一記号と第二記号とからなる所定の記号対を含む文に対し形態素解析を施す形態素解析手段と、
形態素解析結果を用いて、前記第一記号の直前の所定の連続する形態素列を第一文字列とし、記号対内の所定の連続する形態素列を第二文字列として、順序のある文字列対を抽出する文字列対抽出手段と、
抽出した文字列対と前記同義語候補データベースに格納された文字列対である同義語候補文字列対が所定の条件を満たすか否かを判定する同義語対判定手段と、
同義語対判定手段で前記所定の条件を満たすと判定された場合、前記第一文字列と、前記第二文字列と、前記同義語候補対とに含まれる各文字列から、互いに異なる文字列を要素とする同義語集合を生成するとともに、前記同義語候補文字列対を同義語候補データベースから削除する同義語集合生成手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記同義語対判定手段で前記所定の条件を満たさないと判定された場合、
前記文字列対抽出手段で抽出された文字列対を新たな同義語候補として、前記同義語候補データベースに追加する同義語候補追加手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字列対抽出手段にて抽出される各文字列は、名詞、記号、助詞のいずれかの品詞をもつ連続する形態素で構成されることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記同義語対判定手段にて用いられる判定条件は、前記文字列対抽出手段で抽出された前記第一文字列と同義語候補対の第二文字列が等しく、かつ前記文字列対抽出手段で抽出された前記第二文字列と同義語候補対の第一文字列と等しい場合を真とすることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記同義語集合生成手段で生成された同義語集合と前記同義語データベースの同義語集合の積集合が空集合でない場合を真と判定する同義語集合判定手段を有し、
前記同義語集合判定手段が真と判定した場合、前記生成された同義語集合を、前記同義語データベースの同義語集合に追加する同義語集合追加手段を有することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
順序のある文字列対が格納される同義語候補データベースと同義語が格納される同義語データベースとを有する情報処理装置での、同義語データベース生成方法であって、
第一記号と第二記号とからなる所定の記号対を含む文に対し形態素解析を施す形態素解析段階と、
形態素解析結果を用いて、前記第一記号の直前の所定の連続する形態素列を第一文字列とし、記号対内の所定の連続する形態素列を第二文字列として、順序のある文字列対を抽出する文字列対抽出段階と、
抽出した文字列対と前記同義語候補データベースに格納された文字列対である同義語候補文字列対が所定の条件を満たすか否かを判定する同義語対判定段階と、
同義語対判定段階で前記所定の条件を満たすと判定された場合、前記第一文字列と、前記第二文字列と、前記同義語候補対とに含まれる各文字列から、互いに異なる文字列を要素とする同義語集合を生成するとともに、前記同義語候補文字列対を同義語候補データベースから削除する同義語集合生成段階と
を有することを特徴とする同義語データベース生成方法。
【請求項７】
前記同義語対判定段階で前記所定の条件を満たさないと判定された場合、
前記文字列対抽出段階で抽出された文字列対を新たな同義語候補として、前記同義語候補データベースに追加する同義語候補追加段階を有することを特徴とする請求項６に記載の同義語データベース生成方法。
【請求項８】
前記文字列対抽出段階にて抽出される各文字列は、名詞、記号、助詞のいずれかの品詞をもつ連続する形態素で構成されることを特徴とする請求項６または７に記載の同義語データベース生成方法。
【請求項９】
前記同義語対判定段階にて用いられる判定条件は、前記文字列対抽出段階で抽出された前記第一文字列と同義語候補対の第二文字列が等しく、かつ前記文字列対抽出段階で抽出された前記第二文字列と同義語候補対の第一文字列と等しい場合を真とすることを特徴とする請求項６から８のいずれか１項に記載の同義語データベース生成方法。
【請求項１０】
前記同義語集合生成段階で生成された同義語集合と前記同義語データベースの同義語集合の積集合が空集合でない場合を真と判定する同義語集合判定段階を有し、
前記同義語集合判定段階にて真と判定した場合、前記生成された同義語集合を、前記同義語データベースの同義語集合に追加する同義語集合追加段階を有することを特徴とする請求項６から９のいずれか１項に記載の同義語データベース生成方法。
【請求項１１】
請求項６から１０のいずれか１項に記載の同義語データベース生成方法をコンピュータで実行するための同義語データベース生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同義語データベースを生成する情報処理装置、同義語データベース生成方法、同義語データベース生成プログラムに関する。
【背景技術】
【０００２】
近年、ＷＷＷ(World Wide Web)になどのインターネット技術の発達に伴い、容易に大量の文書データにアクセスすることが可能になり、大量の文書データの中から興味のある文書データのみを探し出す技術として様々な文書検索技術が提案されてきている。
【０００３】
このような検索システムの代表的なものとして、google(http://www.google.com)があり、googleの検索性能は非常に評価高いものとなっている。しかしながら、検索システムには、如何にシステム自体の性能が高くともユーザが入力する問合わせ語が適切でないかぎり、適切な検索結果を返すことができないという本質的な問題がある。
【０００４】
このような問題に対応するための技術として、ユーザの入力する問合わせ語の関連語を抽出し、求めた関連語も問合わせ語に含めることで検索精度を高めるための関連語展開技術があり、CepceptBase search(株式会社ジャストシステム)のような商用の検索システム等に実装されている。
【０００５】
この関連語展開技術には、関連語辞書などのいわゆるシソーラス辞書が用いられる。シソーラスとは、単語を意味によって整理し、体系化したものであり、前記の関連語展開に用いられるほか、連想支援、用語統制に利用されたり、機械翻訳システムにおいて表層表現の多義解消に利用されるなど、自然言語で書かれたテキストの高度な処理に有用な辞書である。
【０００６】
既存の汎用シソーラスとしては「分類語彙表」「日本語語彙大系」が代表に挙げられるが、汎用シソーラスの構築には、専門知識と人手による単語への意味コード付与に非常な労力を要するため、新規の構築は困難である。
【０００７】
そのため、シソーラスを用いる文書処理システムにおいて、シソーラスは既存のものとして扱われ、シソーラスそのものの構築方法に関する提案は数少ない。杉村らによる「意味コード体系の自動生成」は、意味コード体系の自動生成の試みであるが、人手によって収集された用例からの自動生成であり、用例収集者の観点の偏りや、網羅性に課題が残る。
【０００８】
また、専門性の高い文書や資料を扱う場合、汎用シソーラスではその専用性が反映できず、有効な処理結果が得にくい場合が考えられる。しかしながら、専門用語シソーラスを専門分野毎に用意するのは困難である。
【０００９】
そこで、人手を介さないテキストからのシソーラス自動作成の試みとして、特許文献１の「シソーラス作成装置」、および特許文献２の「単語シソーラス構築方法及びコンピュータシステムに単語シソーラスの構築を行わせるためのコンピュータソフトウエアプログラム製品」などが提案されている。
【００１０】
前記手法は、抽出した単語データにかける文法的な制約に差異はあるものの、基本的には単語データ間の共起情報という統計的性質に基礎をおくものであり、統計的な共起性と意味的関連性に相関を仮定することには問題があるものと考えられる。
【００１１】
例えば、係り受け関係を持つ可能性の高い“文書”と“検索”という単語対と、“文書”と“処理”という単語対が共起性が高いとしても、“検索”と“処理”に意味的な関連性があると仮定することは危険である。
【００１２】
一方、特許文献３の「同義語対抽出装置および方法ならびに記憶媒体」においては、文中の丸括弧対に着目し、丸括弧対のなかの文字列（文字列２）は開き丸括弧の直前の文字列（文字列２）の同義語となることがあるとして、同義語対を抽出するものである。
【特許文献１】特開平０９−１２０４０１号公報
【特許文献２】特開２００１−３３１５１５号公報
【特許文献３】特開平１１−３２８２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、前述の関係を有する文字列１と文字列２が常に同義語関係を有するとは限らないため、文字列１と文字列２に関するヒューリスティックな規則をもとにそれらが同義語関係か否かの判定をしている。このヒューリスティックな規則は、限定した分野であれば有効性は認められるものの、汎用性にはとぼしいため、言語のように常に新たな表現が創出される分野においては、常に既存の規則の修正や新たな規則を生成が必要となる。
【００１４】
本発明は、このような問題点に鑑み、簡便かつ高精度な同義語データベースを生成する情報処理装置、同義語データベース生成方法、同義語データベース生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明は、順序のある文字列対が格納される同義語候補データベースと、第一記号と第二記号とからなる所定の記号対を含む文に対し形態素解析を施す形態素解析手段と、形態素解析結果を用いて、前記第一記号の直前の所定の連続する形態素列を第一文字列とし、記号対内の所定の連続する形態素列を第二文字列として、順序のある文字列対を抽出する文字列対抽出手段と、抽出した文字列対と前記同義語候補データベースに格納された文字列対である同義語候補文字列対が所定の条件を満たすか否かを判定する同義語対判定手段と、同義語対判定手段で前記所定の条件を満たすと判定された場合、前記第一文字列と、前記第二文字列と、前記同義語候補対とに含まれる各文字列から、互いに異なる文字列を要素とする同義語集合を生成するとともに、前記同義語候補文字列対を同義語候補データベースから削除する同義語集合生成手段とを有することを特徴とする。
【００１６】
また、上記課題を解決するために、本発明は、前記同義語対判定手段で前記所定の条件を満たさないと判定された場合、前記文字列対抽出手段で抽出された文字列対を新たな同義語候補として、前記同義語候補データベースに追加する同義語候補追加手段を有することを特徴とする。
【００１７】
また、上記課題を解決するために、本発明は、前記文字列対抽出手段にて抽出される各文字列は、名詞、記号、助詞のいずれかの品詞をもつ連続する形態素で構成されることを特徴とする。
【００１８】
また、上記課題を解決するために、本発明は、前記同義語対判定手段にて用いられる判定条件は、前記文字列対抽出手段で抽出された前記第一文字列と同義語候補対の第二文字列が等しく、かつ前記文字列対抽出手段で抽出された前記第二文字列と同義語候補対の第一文字列と等しい場合を真とすることを特徴とする。
【００１９】
また、上記課題を解決するために、本発明は、前記同義語集合生成手段で生成された同義語集合と前記同義語データベースの同義語集合の積集合が空集合でない場合を真と判定する同義語集合判定手段を有し、前記同義語集合判定手段が真と判定した場合、前記生成された同義語集合を、前記同義語データベースの同義語集合に追加する同義語集合追加手段を有することを特徴とする。
【００２０】
また、上記課題を解決するために、本発明は、順序のある文字列対が格納される同義語候補データベースと同義語が格納される同義語データベースとを有する情報処理装置での、同義語データベース生成方法であって、第一記号と第二記号とからなる所定の記号対を含む文に対し形態素解析を施す形態素解析段階と、形態素解析結果を用いて、前記第一記号の直前の所定の連続する形態素列を第一文字列とし、記号対内の所定の連続する形態素列を第二文字列として、順序のある文字列対を抽出する文字列対抽出段階と、抽出した文字列対と前記同義語候補データベースに格納された文字列対である同義語候補文字列対が所定の条件を満たすか否かを判定する同義語対判定段階と、同義語対判定段階で前記所定の条件を満たすと判定された場合、前記第一文字列と、前記第二文字列と、前記同義語候補対とに含まれる各文字列から、互いに異なる文字列を要素とする同義語集合を生成するとともに、前記同義語候補文字列対を同義語候補データベースから削除する同義語集合生成段階とを有することを特徴とする。
【００２１】
また、上記課題を解決するために、本発明は、前記同義語対判定段階で前記所定の条件を満たさないと判定された場合、前記文字列対抽出段階で抽出された文字列対を新たな同義語候補として、前記同義語候補データベースに追加する同義語候補追加段階を有することを特徴とする。
【００２２】
また、上記課題を解決するために、本発明は、前記文字列対抽出段階にて抽出される各文字列は、名詞、記号、助詞のいずれかの品詞をもつ連続する形態素で構成されることを特徴とする。
【００２３】
また、上記課題を解決するために、本発明は、前記同義語対判定段階にて用いられる判定条件は、前記文字列対抽出段階で抽出された前記第一文字列と同義語候補対の第二文字列が等しく、かつ前記文字列対抽出段階で抽出された前記第二文字列と同義語候補対の第一文字列と等しい場合を真とすることを特徴とする。
【００２４】
また、上記課題を解決するために、本発明は、前記同義語集合生成段階で生成された同義語集合と前記同義語データベースの同義語集合の積集合が空集合でない場合を真と判定する同義語集合判定段階を有し、前記同義語集合判定段階にて真と判定した場合、前記生成された同義語集合を、前記同義語データベースの同義語集合に追加する同義語集合追加段階を有することを特徴とする。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、簡便かつ高精度な同義語データベースを生成する情報処理装置、同義語データベース生成方法、同義語データベース生成プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照し、本発明の実施形態について説明する。
【００２７】
図１は本発明の一実施形態である情報処理装置を実現するコンピュータの構成例である。図１には、キーボード１２と、通信Ｉ／Ｏ１３と、ディスプレイ１４と、プリンター１５と、メモリ１６と、ＣＰＵ（Central Processing Unit）１７と、ハードディスク１８と、それらを接続するバス１０と、ネットワーク１１とが示されている。
【００２８】
キーボード１２は、文書を登録する入力手段である。通信Ｉ／Ｏ１３は、外部からの信号を受信したり、本装置から信号を送信する通信手段である。ＣＰＵ１７は、メモリ１６に記録された手順に従ってプログラムを実行する。メモリ１６は、記憶手段である。通常は、揮発性または不揮発性のものがある。ハードディスクは不揮発性の記憶手段である。
【００２９】
ディスプレイ１４とプリンター１５は、出力手段である。通信Ｉ／Ｏ１３は、モデムやターミナルアダプタなどが想定でき、通信回線を介してイントラネット、またはインターネットに接続されているサーバなどからデータを受信できる。
【００３０】
次に、図２を用いて情報処理装置に搭載されるモジュールとデータベースについて説明する。モジュールには、形態素解析処理部５１と、文字列抽出処理部５２と、同義語対判定処理部５３と、同義語対追加処理部５４と、同義語集合生成処理部５５と、同義語集合判定処理部５６と、同義語集合合成処理部５７と、同義語集合追加処理部５８と、不要同義語候補削除処理部５９とがある。
【００３１】
これらのモジュールは、上記ハードディスクに記憶されているか、あるいは図示しなかったリムーバルディスクに記憶され、情報処理装置は、それらを読み込むことにより動作するようになっている。
【００３２】
また、データベースには、同義語候補データベース７１と、同義語データベース７２がある。
【００３３】
まず、上記モジュールについて説明する。
【００３４】
形態素解析処理部５１は、特定の記号対を含む文に形態素解析を適用する。文字列抽出処理部５２は、形態素解析結果をもとに特定記号対の直前および内部の所定の文字列を抽出する。同義語対判定処理部５３は、抽出した文字列対を同義語候補データベースの文字列対が所定の条件を満たすか否かを判定する。
【００３５】
同義語対追加処理部５４は、抽出した文字列が、同義語対判定処理で判定条件を満たさない場合、その文字列対を同義語候補として追加する。同義語集合生成処理部５５は、同義語対判定手段で判定条件を満たす、抽出した文字列対と該当同義語候補をもとに同義語集合を生成する。同義語集合判定処理部５６は、生成した同義語集合と同義語データベースの同義語集合が所定の条件を満たすか否かを判定する。
【００３６】
同義語集合合成処理部５７は、同義語集合生成処理で生成された同義語集合が、同義語集合判定処理で判定条件を満たす場合、その同義語集合と同義語データベースの該当同義語集合を合成し、該当同義語集合を更新する。同義語集合追加処理部５８は、同義語集合生成処理で生成された同義語集合が、同義語集合判定処理で判定条件を満さない場合、その同義語集合を同義語データベースの新規同義語集合として追加する。
【００３７】
不要同義語候補削除処理部５９では、同義語対追加処理で追加された同義語候補について、追加されてから一定時間経過したものは、同義語を構成しないものとみなし、同義語候補データベースから削除する。
【００３８】
次に、各データベースについて説明する。
【００３９】
同義語データベース７２は、同義語集合を管理する。同義語集合とは、互いに同義表現をもつ文字列からなる集合をいう。また、同義語候補データベース７１は、順序をもつ文字列対である同義語候補を管理する。
【００４０】
なお、順序をもつ文字列対とは、２つの文字列対Ａ、Ｂにおいて、「Ａ（Ｂ）」と表現されるが、「Ｂ（Ａ）」と表現されるかどうかが判定されていない文字列対をいう。例えば、東京タワー、港区という文字列対において「東京タワー（港区）」と表現されるが、フレーズを入れ替えた「港区（東京タワー）」という表現は普通はされない。すなわち、順序をもつ文字列対は、同義語の文字列からなる文字列対である可能性がある文字列対である。
【００４１】
本実施の形態では、同義語データベース７２および同義語候補データベース７１ともに特殊な仕様を必要としないため、既存のデータベースを利用すればよい。
【００４２】
図３に同義語データベースの、図４に同義語候補データベースのデータ構造の一例を示す。
【００４３】
図３に示される同義語データベースは、各行が各同義語集合であり、各セルが同義語を構成する文字列であり、３つの同義語集合を管理しているデータベースである。また、各行を識別するために識別番号が付与されている。例えば、識別番号１の同義語集合は、“北大西洋条約機構”、“NATO”、“North Atlantic Treaty Organization”はそれぞれがそれぞれの同義語である。
【００４４】
図４に示される同義語候補データベースは、各行が各同義語候補の情報であり、第一列が第一文字列、第二列が第二文字列、および第三列が同義語候補を追加した日付であるデータベースである。また、各行を識別するために識別番号が付与されている。例えば、識別番号３の同義語候補対は“○○二郎外野手”と“29”であり、これは２００４年２月29日に追加されたものである。
【００４５】
以上がモジュールとデータベースに関する説明である。次に、全体の処理の流れを、図５のフローチャートを用いて説明する。このフローチャートの説明の後、各ステップの詳細な説明を行う。
【００４６】
ステップＳ１０１で、文の形態素解析が行われる。次のステップＳ１０２で、文字列対抽出処理が行われる。次にステップＳ１０３で、同義語対の判定処理が行われる。判定結果が偽であれば、ステップＳ１０５で同義語対追加処理が行われ、処理が終了する。
【００４７】
判定結果が真であれば、ステップＳ１０４で、同義語集合生成処理が行われる。次のステップＳ１０６で、同義語集合判定処理が行われる。ここでの判定結果が真のとき、ステップＳ１０７で、同義語集合合成処理が行われ、処理が終了する。判定結果が偽のとき、ステップＳ１０８で、同義語集合追加処理が行われ、処理が終了する。
【００４８】
では、各ステップの詳細な説明を行う。まず、ステップＳ１０１の形態素解析処理について説明する。
【００４９】
形態素解析処理では、上述したように特定の記号対を含む文に形態素解析を適用する。本実施の形態では、形態素解析系は、表記と品詞の情報を適切に出力できるものであればよいので、既存の形態素解析系を利用すればよい。
【００５０】
また、本実施の形態では、特定の記号対を含む文の検出については明示しないが、特許文献３において開示されている方法を利用してもよいし、もしくは例えば、丸括弧対であれば、正規表現”\([^\)]+\)“などを文に適用することで簡単に検出することができる。
【００５１】
なお、\はバックスラッシュ、[]はクラス、+は１つ以上の出現をそれぞれ示す。
【００５２】
形態素解析処理結果の例を、図６と図７を用いて説明する。図７は、図６の３つの例文を日本語形態素解析システム：ＪＵＭＡＮ（http://www.kc.t.u-tokyo.ac.jp/nl-resource/juman.html）を用いて解析した結果である。
【００５３】
なお、図７の各行は、抽出された形態素であり、識別第一列は文内の出現位置、第二列は表記、第三列は品詞を示す。なお、品詞については、ＪＵＭＡＮが出力する品詞を簡略化したものを用いている。
【００５４】
次に、ステップＳ１０２の文字列対抽出処理について説明する。
【００５５】
文字列対抽出処理では、上述したように形態素解析結果をもとに特定記号対の直前および内部の所定の文字列を抽出する。
【００５６】
本実施の形態では、図７に示す形態素解析結果から、特定記号対を丸括弧とし、先頭と終端の形態素が名詞か未登録語の品詞をもち、それ以外の形態素は、名詞、未登録語、記号、もしくは助詞の品詞をもつ連続する形態素を文字列として取得する処理例を図８のフローチャートを用いて説明する。なお、本実施の形態では簡単のため、記号対の入れ子は存在しないとする。
【００５７】
ステップＳ２０１で、文字列対抽出処理部は、記号（の出現位置を検出し、変数Ｐ１に代入する。次に文字列対抽出処理部は、ステップＳ２０２で、Ｐ１＋１の位置から最初に出現する記号)の位置を検出し、変数Ｐ２に代入する。次のステップＳ２０３で、文字列対抽出処理部は、Ｐ１＋１からＰ２−１の範囲の形態素列に対し、式に示す品詞の正規表現を満たす形態素列を抽出し、第二文字列とする。なお、この式において、（｜）は選択を、？は高々１つ存在を、それぞれ示す。
【００５８】
ステップＳ２０４で、文字列対抽出処理部は、Ｐ１−１から先頭への形態素列に対し、式に示す品詞の正規表現を満たす形態素列を抽出し、第一文字列とし、処理を終了する。
【００５９】
例えば、図７の文３では、まず記号（の位置として３を、記号）の位置として７を得る。次に、位置４から位置６の形態素列で式１の品詞の正規表現を満たす列を検出すると、名未登録語・記号・未登録語を得るので、第二文字列は“○○プロバイダＡＢＣ”となる。次に、位置２から先頭へ式１の正規表現を満たす列を検出すると、未登録語・名詞となるため、第一文字列は○○ソフトＡＢＣとなり、文字列対：（○○ソフトＡＢＣ, ○○プロバイダＡＢＣ）を抽出する。同様に、文１と文２から、（コンピュータソフトウェア著作権協会, ACCS）、（ACCS, コンピュータソフトウェア著作権協会）、（ASKACCS, 著作権・プライバシー相談室）の文字列対が抽出される。
【００６０】
次にステップＳ１０３の同義語対判定処理について説明する。
【００６１】
同義語対判定処理では、上述したように抽出した文字列対を同義語候補データベースの文字列対が所定の条件を満たすか否かを判定する。
【００６２】
本実施の形態では、判定条件を“抽出した第一文字列と同義語候補対の第二文字列が等しくかつ抽出した第二文字列を同義語候補対の第一文字列が等しい場合が真”とする。
【００６３】
まず、処理フローの一例を図９に示す。このフローでは、文字列対が判定条件を満たす場合は該当同義語候補の識別番号を返し、満たさない場合は非識別番号数、例えば、−１を返す。
【００６４】
ステップＳ３０１で、同義語対判定処理部は、同義語候補データベースに同義語候補があるかどうか判断する。なければステップＳ３０５で、−１を返し、処理を終了する。
【００６５】
ステップＳ３０２で、同義語対判定処理部は、同義語候補データベースから同義語候補を１つ抽出する。ステップＳ３０３で、文字列対の第一文字列と同義語候補の第二文字列が等しく、かつ文字列対の第二文字列を同義語候補対の第一文字列が等しいかどうか判断する。
【００６６】
等しい場合、ステップＳ３０４で、同義語対判定処理部は、同義語候補の識別番号を返し、処理を終了する。等しくない場合、同義語対判定処理部は、ステップＳ３０１の処理に戻る。
【００６７】
上記処理の例として、図４に示す同義語候補データベースと同義語対生成処理の例示で抽出した文字列対（○○ソフトＡＢＣ,○○プロバイダＡＢＣ）を用いた処理例を示す。
【００６８】
文字列対：（○○ソフトＡＢＣ,○○プロバイダＡＢＣ）は、まず、識別番号１の同義語候補：（××一郎,△△党）と比較され、これは判定条件を満たさないことがわかる。次に、同義語候補：（○○プロバイダＡＢＣ,○○ソフトＡＢＣ）と比較され、これは判定条件を満たすことがわかるので、同義語候補の識別番号２が返され、処理が終了する。
【００６９】
同様に、（コンピュータソフトウェア著作権協会, ACCS）は、判定条件を満たさないため、−１が返り、処理は終了する。また、後述の同義語追加処理により同義語候補データベースに追加されるため、図４に示す同義語候補データベースは図１０のように更新される。
【００７０】
また、（ASKACCS, 著作権・プライバシー相談室）は、判定条件を満たさないため、−１が返り、処理は終了し、図１０に示す同義語候補データベースは図１１のように更新される。
【００７１】
次に、ステップＳ１０５の同義語対追加処理について説明する。
【００７２】
同義語対追加処理では、上述したように、抽出した文字列が、同義語対判定処理で判定条件を満たさない場合、その文字列対を同義語候補として追加する。
【００７３】
ここでは、前述の同義語判定処理までの動作例を継承し、また実行した日付を２００４年３月３日とすると、判定条件を満たさなかった（コンピュータソフトウェア著作権協会, ACCS）は図４に示す同義語候補データベースに追加され、同義語候補データベースは図１０になる。さらに、（ASKACCS, 著作権・プライバシー相談室）も判定条件を満たさないため、図１０に示す同義語候補データベースに追加され、同義語候補データベースは図１１になる。
【００７４】
なお、図１２では、後述の同義語集合生成処理において、（○○プロバイダＡＢＣ,○○ソフトＡＢＣ）がすでに削除されているので識別番号２のエントリは削除されている。
【００７５】
次に、ステップＳ１０４の同義語集合生成処理について説明する。
【００７６】
同義語集合生成処理では、上述したように、同義語対判定処理で判定条件を満たした文字列対と該当同義語候補をもとに同義語集合を生成する。
【００７７】
この処理フローの一例を図１３に示す。ステップＳ４０１で、同義語集合生成処理部は、抽出した文字列対と該当する同義語候補の要素で、互いに表記の異なる文字列を要素とする同義語集合を生成する。ステップＳ４０２で、同義語集合生成処理部は、該当同義語候補を同義語候補データベースから削除する。
【００７８】
ここでは、前述の同義語対判定処理までの動作例を継承することにすると、抽出した文字列対と該当同義語候補は順序を入れ替えると同一のものであるから、同義語集合は抽出した文字列対が要素となる、すなわち、{○○プロバイダＡＢＣ,○○ソフトＡＢＣ}と{コンピュータソフトウェア著作権協会, ACCS}が同義語集合である。それにより、上述したように、図４の同義語候補データベースから識別番号２のエントリが削除され、図１２になる。
【００７９】
次に、ステップＳ１０６の同義語集合判定処理について説明する。
【００８０】
同義語集合判定処理では、上述したように、生成した同義語集合と同義語データベースの同義語集合が所定の条件を満たすか否かを判定する。
【００８１】
処理フローの一例を図１４に示す。このフローでは、生成した同義語集合が判定条件を満たす場合は該当同義語集合の識別番号を返し、満たさない場合は非識別番号数、例えば、−１を返す。
【００８２】
ステップＳ５０１で、同義語集合判定処理部は、同義語データベースに同義語集合があるかどうか判断する。なければステップＳ５０５で、−１を返し、処理を終了する。次のステップＳ５０２で、同義語集合判定処理部は、同義語集合データベースから同義語集合を１つ抽出する。
【００８３】
次に、同義語集合判定処理部は、ステップＳ５０３で、生成した同義語集合と該当同義語集合の積集合が空集合かどうか判断する。空集合でないならば、同義語集合判定処理部は、ステップＳ５０４で、該当同義語集合の識別番号を返し、処理を終了する。空集合の場合、同義語集合判定処理部は、ステップＳ５０１の処理に戻る。
【００８４】
この処理例として、前述の同義語集合生成処理までの動作例を継承し、判定条件を“２つの集合の積集合が空集合でない場合を真”として、図３に示す同義語集合データベースと同義語集合生成処理の例示で生成した同義語集合を用いた処理を示す。
【００８５】
例えば、{○○プロバイダＡＢＣ,○○ソフトＡＢＣ}は、まず、{北大西洋条約機構,NATO, North Atlantic Treaty Organization}との積集合が空集合である。次に、{後天性免疫不全症候群, エイズ, AIDS, Acquired Immune Deficiency Syndrome}との積集合も空集合である。
【００８６】
次に、{○○ソフトＡＢＣ株式会社,○○ソフトＡＢＣ}との積集合は空集合ではないため、識別番号３が返され、処理が終了する。また、後述の同義語集合合成処理により図３の同義語集合データベースは図１３になる。
【００８７】
同様に、{コンピュータソフトウェア著作権協会, ACCS}は、図１５の同義語データベースに対し、判定条件を満たさないため、−１が返され、処理が終了する。
【００８８】
次に、ステップＳ１０７の同義語集合合成処理について説明する。
【００８９】
同義語集合合成処理では、上述したように、同義語集合生成処理で生成された同義語集合が、同義語集合判定処理で判定条件を満たす場合、その同義語集合と同義語データベースの該当同義語集合を合成し、該当同義語集合を更新する。
【００９０】
処理フローの一例を図１６に示す。ステップＳ６０１で、同義語集合合成処理部は、生成された同義語集合の、同義語データベースにおける該当同義語集合との差集合を生成する。次のステップＳ６０２で、同義語集合合成処理部は、生成した差集合の全要素を当該同義語集合に加える。
【００９１】
次に、前述の同義語集合判定処理までの動作例を継承し、判定条件をみたす同義語集合と同義語データベースにおける該当同義語集合を合成し、該当同義語集合を更新する処理例を示す。
【００９２】
例えば、{○○プロバイダＡＢＣ,○○ソフトＡＢＣ}と{○○ソフトＡＢＣ株式会社,○○ソフトＡＢＣ}との差集合は、{○○プロバイダＡＢＣ}となる。次に、この{○○プロバイダＡＢＣ}を{○○ソフトＡＢＣ株式会社,○○ソフトＡＢＣ}に追加して、同義語集合データベースを更新する。従って、図３の同義語データベースの更新後は図１５に示される同義語データベースとなる。
【００９３】
次に、ステップＳ１０８の同義語集合追加処理について説明する。
【００９４】
同義語集合合成処理では、上述したように、同義語集合生成処理で生成された同義語集合が、同義語集合判定処理で判定条件を満さない場合、その同義語集合を同義語データベースの新規同義語集合として追加する。
【００９５】
ここでは、前述の同義語集合判定処理までの動作例を継承し、判定条件を満たさない同義語集合と同義語データベースに追加し、該当同義語データベースを更新する処理として、例えば、{コンピュータソフトウェア著作権協会, ACCS}を、図１５に示す同義語データベースに追加すると、図１７に示される同義語データベースとなる。
【００９６】
以上説明した実施の形態のように、複数文書に対して上述した処理を繰り返し、実行することにより簡便に高精度な同義語データベースを生成できる。
【００９７】
なお、上記処理例において、同義語データベース、同義語候補データベースともに識別番号が不連続になる場合が生じているが、ひとつの抽出された文字列対単位で識別番号の整合性が取れていればよいので、任意の抽出された文字列対における処理が終了した後に、識別番号を連続値に修正してもよい。
【００９８】
次に、不要同義語候補削除処理について説明する。この不要同義語候補削除処理では、同義語対追加処理で追加された同義語候補について、追加されてから一定時間経過したものは、同義語を構成しないものとみなし、同義語候補データベースから削除する。
【００９９】
なお、任意の文に対し、同義語対抽出処理から同義語候補追加処理までの処理が行われている場合は、同義語候補データベースの整合性が崩れるため、処理を実行することはできないが、それ以外であれば定期的に実行してよい。
【０１００】
処理フローの一例を図１８に示す。ステップＳ７０１で、不要同義語候補削除処理部は、最大経過日数と現在の日付を取得する。ステップＳ７０２で、不要同義語候補削除処理は、同義語候補データベースがあるかどうか判断する。なければ処理を終了する。不要同義語候補削除処理部は、ステップＳ７０３で、同義語候補データベースから同義語候補を１つ取得し、該当同義語候補の追加日付と現在の日付から経過日数を算出する。
【０１０１】
次に、不要同義語候補削除処理部は、ステップＳ７０４で、経過日数が最大経過日数を超えるかどうか判断する。超えるならば、不要同義語候補削除処理部は、ステップＳ７０５で、該当同義語候補のエントリを同義語候補データベースから削除する。超えない場合、不要同義語候補削除処理部は、ステップＳ７０１の処理に戻る。
【０１０２】
この処理例として、指定される最大経過日数を超える同義語候補は削除する処理例を、図１１を用いて示す。
【０１０３】
例えば、現在日時を２００４年３月３日、最大経過日数を３０日とすると、図１１の同義語候補データベースで、識別番号１の同義語候補は追加日付が３００４年１月８日であるから、経過日数は４９日となり、３０日を越えているため、削除される。同様にして、識別番号３、４、５の同義語候補は経過日数がすべて３０日以内のため、削除されない。
【０１０４】
次に、自動ページ収集処理と文抽出処理について説明する。
【０１０５】
自動ページ収集処理と文抽出処理では、インターネット上のテキストデータを自動的に収集し、収集した文書から特定の記号対を含む文を抽出する。そして、抽出した複数の文を、前述の文字列対抽出処理からの一連の処理に繰り返し適用する。また、定期的に不要同義語削除処理も合わせて実行することで、簡便に高精度かつ鮮度の高い同義語データベースを生成できる。
【０１０６】
なお、テキストの収集処理は、既存の検索ロボットなどの自動文書収集エージェントを用いればよいし、特定記号対を含む文の抽出に関しては前述しているので、ここでは動作例は明示しない。
【図面の簡単な説明】
【０１０７】
【図１】コンピュータの構成例を示す図である。
【図２】モジュールとデータベースを示す図である。
【図３】同義語データベースのデータ構造例を示す図である。
【図４】同義語候補データベースのデータ構造例を示す図である。
【図５】全体の処理の流れを示すフローチャートである。
【図６】例文を示す図である。
【図７】形態素解析処理結果の例を示す図である。
【図８】文字列対抽出処理を示すフローチャートである。
【図９】同義語対判定処理を示すフローチャートである。
【図１０】同義語候補データベースを示す図（その１）である。
【図１１】同義語候補データベースを示す図（その２）である。
【図１２】同義語候補データベースを示す図（その３）である。
【図１３】同義語集合生成処理を示すフローチャートである。
【図１４】同義語集合判定処理を示すフローチャートである。
【図１５】同義語データベースを示す図（その１）である。
【図１６】同義語集合合成処理部を示すフローチャートである。
【図１７】同義語データベースを示す図（その２）である。
【図１８】不要同義語候補削除処理を示すフローチャートである。
【符号の説明】
【０１０８】
１０  バス
１１  ネットワーク
１２  キーボード
１３  通信Ｉ／Ｏ
１４  ディスプレイ
１５  プリンター
１６  メモリ
１７  ＣＰＵ
１８  ハードディスク
５１  形態素解析処理部
５２  文字列抽出処理部
５３  同義語対判定処理部
５４  同義語対追加処理部
５５  同義語集合生成処理部
５６  同義語集合判定処理部
５７  同義語集合合成処理部
５８  同義語集合追加処理部
５９  不要同義語候補削除処理部
７１  同義語候補データベース
７２  同義語データベース
【図１】
2006164170.tif 000003
【図２】
2006164170.tif 000004
【図３】
2006164170.tif 000005
【図４】
2006164170.tif 000006
【図５】
2006164170.tif 000007
【図６】
2006164170.tif 000008
【図７】
2006164170.tif 000009
【図８】
2006164170.tif 000010
【図９】
2006164170.tif 000011
【図１０】
2006164170.tif 000012
【図１１】
2006164170.tif 000013
【図１２】
2006164170.tif 000014
【図１３】
2006164170.tif 000015
【図１４】
2006164170.tif 000016
【図１５】
2006164170.tif 000017
【図１６】
2006164170.tif 000018
【図１７】
2006164170.tif 000019
【図１８】
2006164170.tif 000020