(57)【特許請求の範囲】
【請求項１】
単語とその単語に対応する言語情報を含む辞書データを記憶したユーザ辞書を用いて自然言語処理を行う自然言語処理システムにおいて、
辞書データを共有する相手のユーザ辞書である第１のユーザ辞書と辞書データの登録先となるユーザ辞書である第２のユーザ辞書とに含まれる辞書データの類似度を計算する類似度計算手段と、
前記類似度が予め定められた閾値以上である前記第１および第２のユーザ辞書を選出し、前記第１のユーザ辞書に含まれ、かつ、前記第２のユーザ辞書に含まれない辞書データを前記第２のユーザ辞書に対する登録候補として抽出する登録候補抽出手段と、
前記登録候補に含まれる辞書データを前記第２のユーザ辞書に登録するユーザ辞書登録手段とを備えたことを特徴とする自然言語処理システム。
【請求項２】
前記類似度計算手段は、前記第１のユーザ辞書および前記第２のユーザ辞書に登録されている辞書データの総数と前記第１のユーザ辞書および前記第２のユーザ辞書に共通して登録されている辞書データの数との比に基づいて前記類似度を計算することを特徴とした請求項１に記載の自然言語処理システム。
【請求項３】
前記類似度計算手段は、前記第１のユーザ辞書を用いて過去に行われた自然言語処理の処理対象と前記第２のユーザ辞書を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて前記類似度を計算することを特徴とした請求項１に記載の自然言語処理システム。
【請求項４】
前記辞書データは分類情報を含み、
前記類似度計算手段は、前記第１のユーザ辞書に記憶された辞書データの中の同一の前記分類情報を持つ辞書データからなる第１の辞書データ集合と前記第２のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第２辞書データ集合の類似度である辞書データ集合類似度に基づいて前記類似度を計算し、
前記登録候補抽出手段は、前記第１の辞書データ集合に含まれ、かつ、前記第２の辞書データ集合に含まれない辞書データを前記登録候補として抽出する
ことを特徴とした請求項１に記載の自然言語処理システム。
【請求項５】
前記類似度計算手段は、前記第１の辞書データ集合および前記第２の辞書データ集合に登録されている辞書データの総数と前記第１の辞書データ集合および前記第２の辞書データ集合に共通して登録されている辞書データの数との比に基づいて前記辞書データ集合類似度を計算することを特徴とした請求項４に記載の自然言語処理システム。
【請求項６】
前記類似度計算手段は、前記第１の辞書データ集合を用いて過去に行われた自然言語処理の処理対象と前記第２の辞書データ集合を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて前記辞書データ類似度を計算することを特徴とした請求項４に記載の自然言語処理システム。
【請求項７】
単語とその単語に対する言語情報を含む辞書データを記憶したユーザ辞書を用いて自然言語処理を行う自然言語処理システムが実行する自然言語処理方法において、
辞書データを共有する相手のユーザ辞書である第１のユーザ辞書と辞書データの登録先となるユーザ辞書である第２のユーザ辞書を記憶装置から読み出して前記第１のユーザ辞書と前記第２のユーザ辞書との間の類似度を計算する類似度計算工程と、
前記類似度が予め定められた閾値以上である場合に前記第１および第２のユーザ辞書を選出し、前記第１のユーザ辞書に含まれ、かつ、前記第２のユーザ辞書に含まれない辞書データを前記第２のユーザ辞書に対する登録候補として抽出し、この登録候補を記憶装置に記録する登録候補抽出工程と、
前記登録候補を前記記憶装置から読み出して、前記登録候補に含まれる辞書データを前記第２のユーザ辞書に登録するユーザ辞書登録工程とを備え、
前記各動作工程における動作内容を前記自然言語処理システムのコンピュータが実行するようにしたことを特徴とする自然言語処理方法。
【請求項８】
単語とその単語に対する言語情報を含む辞書データを記憶したユーザ辞書を用いて自然言語処理を行う自然言語処理プログラムにおいて、
辞書データを共有する相手のユーザ辞書である第１のユーザ辞書と辞書データの登録先となるユーザ辞書である第２のユーザ辞書を記憶装置から読み出して前記第１のユーザ辞書と前記第２のユーザ辞書との間の類似度を計算する類似度計算機能と、
前記類似度が予め定められた閾値以上である場合に前記第１および第２のユーザ辞書を選出し、前記第１のユーザ辞書に含まれ、かつ、前記第２のユーザ辞書に含まれない辞書データを前記第２のユーザ辞書に対する登録候補として抽出し、この登録候補を記憶装置に記録する登録候補抽出機能と、
前記登録候補を前記記憶装置から読み出して、前記登録候補に含まれる辞書データを前記第２のユーザ辞書に登録するユーザ辞書登録機能とを、コンピュータによる実行処理により実現することを特徴とした自然言語処理プログラム。
【請求項９】
前記類似度計算機能は、前記第１のユーザ辞書および前記第２のユーザ辞書に登録されている辞書データの総数と前記第１のユーザ辞書および前記第２のユーザ辞書に共通して登録されている辞書データの数との比に基づいて前記類似度を計算するものであることを特徴とした請求項８に記載の自然言語処理プログラム。
【請求項１０】
前記類似度計算機能は、前記第１のユーザ辞書を用いて過去に行われた自然言語処理の処理対象と前記第２のユーザ辞書を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて前記類似度を計算するものであることを特徴とした請求項８に記載の自然言語処理プログラム。
【請求項１１】
前記辞書データは分類情報を含み、
前記類似度計算機能は、前記第１のユーザ辞書に記憶された辞書データの中の同一の前記分類情報を持つ辞書データからなる第１の辞書データ集合と前記第２のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第２辞書データ集合の類似度である辞書データ集合類似度に基づいて前記類似度を計算するものであり、
前記登録候補抽出機能は、前記第１の辞書データ集合に含まれ、かつ、前記第２の辞書データ集合に含まれない辞書データを前記登録候補として抽出するものである
ことを特徴とした請求項８に記載の自然言語処理プログラム。
【請求項１２】
前記類似度計算機能は、前記第１の辞書データ集合および前記第２の辞書データ集合に登録されている辞書データの総数と前記第１の辞書データ集合および前記第２の辞書データ集合に共通して登録されている辞書データの数との比に基づいて前記辞書データ集合類似度を計算するものであることを特徴とした請求項１１に記載の自然言語処理プログラム。
【請求項１３】
前記類似度計算機能は、前記第１の辞書データ集合を用いて過去に行われた自然言語処理の処理対象と前記第２の辞書データ集合を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて前記辞書データ類似度を計算するものであることを特徴とした請求項１１に記載の自然言語処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ辞書を用いて自然言語を処理する技術に関し、特に、ユーザ辞書を更新するために共有するべきデータを適切に抽出することができる自然言語処理システム等に関する。
【背景技術】
【０００２】
仮名漢字変換、機械翻訳、音声認識、音声合成といった自然言語処理システムは、基本的に辞書に格納された単語とそこに付与された言語情報に基づいて処理を行なっており、辞書に格納されていない単語、すなわち未知語を適切に処理することは困難である。一方、自然言語は日々変化しており、新語が生まれたり、また既知語であっても新たな用法が発生したりするため、予めこれら全てを辞書に格納しておくことは難しい。
そこで従来から、個々のユーザが必要になった単語を個別に登録することができるユーザ辞書機能を提供することでこの問題に対応してきた。しかし複数のユーザで共通に必要な単語についてもユーザ毎で別々に辞書登録作業を行なわなければならず、ユーザ全体にとって冗長な作業が生じていた。これに対して個々のユーザが登録した辞書データを複数のユーザで共有する方法が提案されている。
【０００３】
例えば特許文献１には、複数のユーザ辞書全体で一定回数以上出現する辞書データを共有すべき辞書データの候補として抽出し、これをユーザ全員で共有する方法が記載されている。しかしこの方法では、様々な組織や分野に関連する単語の辞書データがその区別のないまま一律に共有されてしまうため、ユーザの多い組織や分野に関連する単語の辞書データが共有され易くなり、少数派の組織や分野に属するユーザにとっては有益な辞書データを得ることができないという問題が生じる。また個々のユーザにとっては自分に関係のない組織や分野に関する不必要な単語の辞書データまでもが共有されてしまい、その影響で却って自然言語処理の精度が落ちる場合があった。
【０００４】
この問題に対する従来例としては、特許文献１と特許文献３に、個々のユーザ辞書や辞書データを予め定められた分野に対応付けて管理し、個々の分野の単位で共有すべき辞書データの候補を抽出し、分野の単位で共有する方法が記載されている。
特許文献２には、個々のユーザ辞書や辞書データを予め定められた組織に対応付けて管理し、個々の組織の単位で共有すべき辞書データの候補を抽出し、組織の単位で共有する方法が記載されている。
これらの方法は辞書データを共有する相手を組織や分野が同一である範囲に制限することで、組織や分野を超えて不適切に辞書データが共有されることを防ごうとするものである。
【０００５】
【特許文献１】特許３４６４８８１
【特許文献２】特許３５５６４２５
【特許文献３】特開２００３−１５７２５７
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記の従来技術では、組織や分野の定義はユーザの視点によって異なり、また時間とともに変化するものであるにもかかわらず、予め定められた固定的な構造で組織や分野を扱うことを前提としている。
そのため、個々のユーザの視点の違いや時間変化に対して柔軟に対応することができず、必要な辞書データと不適切な辞書データとが混在したまま共有すべき辞書データとして抽出されてしまうという問題があった。
【０００７】
そこで、本発明は、辞書データを共有すべき相手を個々のユーザの単位で適切に選択することで、共有すべき辞書データが適切に抽出できる自然言語処理システム等を提供することをその目的とする。
【課題を解決するための手段】
【０００８】
本発明の自然言語処理システムは、類似度計算手段が第１のユーザ辞書（辞書データを共有する相手のユーザ辞書）と第２のユーザ辞書（辞書データの登録対象となるユーザ辞書）の間の類似度を計算する。登録候補抽出手段は、類似度が予め定められた閾値以上である場合に第１のユーザ辞書に含まれかつ第２のユーザ辞書に含まれない辞書データを第２の辞書に対する登録候補として抽出する。ユーザ辞書登録手段は、登録候補に含まれる辞書データを第２のユーザ辞書に登録する（請求項１ないし請求項６）。
【０００９】
上記自然言語処理システムによれば、登録候補抽出手段が、ユーザ辞書の類似度を基準として登録候補を抽出するユーザ辞書、すなわち辞書データを共有すべき相手のユーザ辞書を選択する。類似度が低ければ、第１のユーザ辞書のユーザと第２のユーザ辞書のユーザが同一の組織・分野に属していたとしても第１のユーザ辞書からは登録候補が抽出されない。
そのため、辞書データを共有する相手のユーザ辞書を個々のユーザ単位で適切に選択することができる。
【００１０】
上記自然言語処理システムにおいて、類似度を第１のユーザ辞書および第２のユーザ辞書に登録されている辞書データの総数（第１のユーザ辞書の辞書データ数と第２のユーザ辞書の辞書データ数から二つの辞書に共通して登録されている辞書データの数を引いた数）と第１のユーザ辞書および第２のユーザ辞書に共通して登録されている辞書データの数との比に基づいて算出するようにしても良い（請求項２）。
このようにすれば、共通した辞書データが多く登録されているユーザ辞書を辞書データの共有相手として選択することができる。
【００１１】
上記自然言語処理システムにおいて、第１のユーザ辞書を用いて過去に行われた自然言語処理の処理対象と第２のユーザ辞書を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて類似度を計算するようにしても良い（請求項３）。
このようにすれば、取り扱う処理対象が類似するユーザのユーザ辞書を共有相手として選択することができる。
【００１２】
上記自然言語処理システムにおいて、辞書データは分類情報を含むようにし、第１のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第１の辞書データ集合と第２のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第２辞書データ集合の類似度である辞書データ集合類似度に基づいて類似度を計算するようにし、第１の辞書データ集合に含まれ、かつ、第２の辞書データ集合に含まれない辞書データを登録候補として抽出するようにしてもよい（請求項４）。
このようにすれば、辞書データの種類を考慮して登録候補の抽出対象を選択することができるため、ユーザ辞書全体を登録候補の抽出対象とする場合に比べ、より適切に辞書データの共有相手を選択することができる。
【００１３】
上記自然言語処理システムにおいて、第１の辞書データ集合および第２の辞書データ集合に登録されている辞書データの総数と第１の辞書データ集合および第２の辞書データ集合に共通して登録されている辞書データの数との比に基づいて辞書データ集合類似度を計算するようにしても良い（請求項５）。
このようにすれば、共通した辞書データが多く登録されている辞書データ集合を辞書データの共有相手として選択することができる。
【００１４】
上記自然言語処理システムにおいて、第１の辞書データ集合を用いて過去に行われた自然言語処理の処理対象と第２の辞書データ集合を用いて過去に行われた自然言語処理の処理対象の類似度に基づいて辞書データ類似度を計算するようにしても良い（請求項６）。
このようにすれば、辞書データ集合を単位として、取り扱う処理対象が類似するユーザのユーザ辞書の一部を共有相手として選択することができる。
【００１５】
本発明の自然言語処理方法は、第１のユーザ辞書と第２のユーザ辞書を記憶装置から読み出して前記第１のユーザ辞書と前記第２のユーザ辞書との間の類似度を計算し、類似度が予め定められた閾値以上である場合に、第１のユーザ辞書に含まれ、かつ、第２のユーザ辞書に含まれない辞書データを第２のユーザ辞書に対する登録候補として抽出してこの抽出候補を記憶装置に記録し、登録候補を記憶装置から読み出し登録候補に含まれる辞書データを第２のユーザ辞書に登録する（請求項７）。
【００１６】
上記自然言語処理方法によれば、ユーザ辞書の類似度を基準として登録候補を抽出するユーザ辞書、すなわち辞書データを共有すべき相手のユーザ辞書を選択する。類似度が低ければ、第１のユーザ辞書のユーザと第２のユーザ辞書のユーザが同一の組織・分野に属していたとしても第１のユーザ辞書からは登録候補が抽出されない。
そのため、辞書データを共有する相手のユーザ辞書を個々のユーザ単位で適切に選択することができる。
【００１７】
本発明の自然言語処理プログラムは、コンピュータに、第１のユーザ辞書と第２のユーザ辞書を記憶装置から読み出して第１のユーザ辞書と第２のユーザ辞書との間の類似度を計算する類似度計算機能と、類似度が予め定められた閾値以上である場合に第１のユーザ辞書に含まれ、かつ、第２のユーザ辞書に含まれない辞書データを第２のユーザ辞書に対する登録候補として抽出し、この抽出候補を記憶装置に記録する登録候補抽出機能と、登録候補を記憶装置から読み出して、登録候補に含まれる辞書データを第２のユーザ辞書に登録するユーザ辞書登録機能とを実行させる（請求項８ないし請求項１３）。
【００１８】
上記自然言語処理プログラムによれば、コンピュータに、ユーザ辞書の類似度を基準として登録候補を抽出するユーザ辞書、すなわち辞書データを共有すべき相手のユーザ辞書を選択させる。この類似度が低ければ、コンピュータは、第１のユーザ辞書のユーザと第２のユーザ辞書のユーザが同一の組織・分野に属していたとしても第１のユーザ辞書からは登録候補を抽出しない。
そのため、コンピュータを自然言語処理システムとして動作させ、辞書データを共有する相手のユーザ辞書を個々のユーザ単位で適切に選択することができる。
【００１９】
上記プログラムにおいて、第１のユーザ辞書および第２のユーザ辞書に登録されている辞書データの総数と第１のユーザ辞書および第２のユーザ辞書に共通して登録されている辞書データの数との比に基づいて類似度を計算するようにしても良い（請求項９）。
このようにすれば、共通した辞書データが多く登録されているユーザ辞書を辞書データの共有相手として選択することができる。
【００２０】
上記プログラムにおいて、第１のユーザ辞書を用いて過去に行われた自然言語処理の処理対象と第２のユーザ辞書を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて類似度を計算するようにしても良い（請求項１０）。
このようにすれば、取り扱う処理対象が類似するユーザのユーザ辞書を共有相手として選択することができる。
【００２１】
上記プログラムにおいて、辞書データは分類情報を含むようにし、第１のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第１の辞書データ集合と第２のユーザ辞書に記憶された辞書データの中の同一の分類情報を持つ辞書データからなる第２辞書データ集合の類似度である辞書データ集合類似度に基づいて類似度を計算するようにし、第１の辞書データ集合に含まれ、かつ、第２の辞書データ集合に含まれない辞書データを登録候補として抽出するようにしてもよい（請求項１１）。
このようにすれば、辞書データの種類を考慮して登録候補の抽出対象を選択することができるため、ユーザ辞書全体を登録候補の抽出対象とする場合に比べ、より適切に辞書データの共有相手を選択することができる。
【００２２】
上記プログラムにおいて、第１の辞書データ集合および第２の辞書データ集合に登録されている辞書データの総数と第１の辞書データ集合および第２の辞書データ集合に共通して登録されている辞書データの数との比に基づいて辞書データ集合類似度を計算するようにしても良い（請求項１２）。
このようにすれば、共通した辞書データが多く登録されている辞書データ集合を辞書データの共有相手として選択することができる。
【００２３】
上記プログラムにおいて、第１の辞書データ集合を用いて過去に行われた自然言語処理の処理対象と第２の辞書データ集合を用いて過去に行われた自然言語処理の処理対象の類似度である処理対象類似度に基づいて辞書データ類似度を計算するようにしても良い（請求項１３）。
このようにすれば、辞書データ集合を単位として、取り扱う処理対象が類似するユーザのユーザ辞書の一部を共有相手として選択することができる。
【発明の効果】
【００２４】
本発明によれば、ユーザ辞書の類似度を基準として登録候補を抽出するユーザ辞書、すなわち辞書データを共有すべき相手のユーザ辞書を選択する。類似度が低ければ、第１のユーザ辞書のユーザと第２のユーザ辞書のユーザが同一の組織・分野に属していたとしても第１のユーザ辞書からは登録候補が抽出されない。
そのため、辞書データを共有する相手のユーザ辞書を個々のユーザ単位で適切に選択することができる。
【発明を実施するための最良の形態】
【００２５】
次に、本発明の第１の実施形態である自然言語処理システム１０の構成と動作について図面を参照して詳細に説明する。
図１は、自然言語処理システム１０の構成を示す機能ブロック図である。
図１を参照すると、自然言語処理システム１０は例えばパーソナルコンピュータであり、キーボードやマイク等の入力装置１と、プログラム制御により動作するデータ処理装置２と、情報を記憶する記憶装置３と、ディスプレイ装置や印刷装置、スピーカ等の出力装置４とを備えている。
【００２６】
記憶装置３は、例えばハードディスク装置により構成され、ユーザ辞書記憶部３１と登録候補記憶部３２とを備えている。
ユーザ辞書記憶部３１は、個々のユーザのユーザ辞書３１Ａ、３１Ｂ、３１Ｃ等を格納している。ここで各々のユーザ辞書はユーザが登録した単語とそれに対応する言語情報を格納している。ここで言語情報は後述する自然言語処理手段２４がその処理のために参照する情報であり、例えば、仮名表記、読み、訳語、品詞、意味情報などから構成される。
登録候補記憶部３２は、ユーザ辞書３１Ａに対応する登録候補３２Ａ等、個々のユーザ辞書毎に登録候補を記憶している。登録候補には、対応するユーザ辞書に対して登録する辞書データの候補が含まれている。ここで辞書データとはユーザ辞書に登録された情報の最小単位であり、単語とそれに対応する言語情報からなる。
【００２７】
データ処理装置２は例えばＣＰＵ(Central
Processing Unit)であり、類似度計算手段２１と、登録候補抽出手段２２と、ユーザ辞書登録手段２３と、自然言語処理手段２４とを備えている。
類似度計算手段２１は、ユーザ辞書記憶部３１に格納されたユーザ辞書のうちの二つのユーザ辞書（第１のユーザ辞書と第２のユーザ辞書）の間の類似度を計算する。ここでユーザ辞書間の類似度としては、例えば各々のユーザ辞書に登録されている辞書データの総数と両方のユーザ辞書に共通して登録されている辞書データの数の比に基づいて計算することができる。
また自然言語処理手段２４の行なう自然言語処理が仮名漢字変換処理や機械翻訳処理、音声合成処理のように自然言語の文字列を処理対象とする場合には、ユーザ辞書間の類似度として、過去にそのユーザ辞書を用いて行なった自然言語処理の処理対象の間での類似度である処理対象類似度に基づいて計算した類似度を用いても良い。ここで処理対象間の類似度は、例えばSaltonらによって提案され、情報検索分野で広く利用されているベクトル空間モデル（G. Salton and M. J. McGill, “Introduction to Modern Information Retrieval”, McGraw-Hill, 1983）に基づいて計算することができる。ベクトル空間モデルによると、例えば、処理対象はそこに含まれる自立語を成分とした特徴ベクトルで表現することができ、処理対象間の類似度は各々の特徴ベクトルがなす角の余弦等で定義することができる。
【００２８】
登録候補抽出手段２２は、類似度計算手段２１で計算された類似度が閾値以上であるユーザ辞書の組（第１のユーザ辞書と第２のユーザ辞書）を取り出し、第１のユーザ辞書に含まれていて、かつ第２のユーザ辞書に含まれない辞書データを、共有すべき辞書データの候補（登録候補）として抽出する。登録候補が抽出できた場合には、その辞書データを第２のユーザ辞書に対応付けて登録候補記憶部３２に記録する。例えば、ユーザ辞書３１Ｂを第２のユーザ辞書、ユーザ辞書３１Ａを第１のユーザ辞書とすると、登録候補抽出手段２２は、ユーザ辞書３１Ｂには含まれていてかつユーザ辞書３１Ａには含まれていない辞書データがあった場合、これをユーザ辞書３１Ａに対応する登録候補として登録候補記憶部３２Ａに記録する。
【００２９】
ユーザ辞書登録手段２３は、登録候補記憶部３２に記録された登録候補を読み出し、その中に含まれる辞書データを対応するユーザ辞書に登録する。ここでは読み出した登録候補に含まれる辞書データを出力装置４に表示し、その辞書データを登録するかどうかをユーザに問い合わせてもよい。この場合はさらに、ユーザが必要ないと判断した辞書データを登録対象外であることを表す情報とともに登録候補記憶部３２に記録しておき、その後で登録候補抽出手段２２が同じ辞書データを共有すべき辞書データの候補として抽出したとしても、登録対象外として除外する形態をとってもよい。
【００３０】
自然言語処理手段２４は、ユーザからの入力を受け付け、ユーザ辞書記憶部３１に格納されているそのユーザのユーザ辞書を利用して自然言語処理を施し、処理の結果を出力する。ここで自然言語処理手段２４の行なう自然言語処理は例えば、仮名漢字変換処理や機械翻訳処理、音声認識処理、音声合成処理である。ここで仮名漢字変換処理は入力された仮名文字列を漢字仮名混じり文字列に変換する処理であり、機械翻訳処理は入力された第一の言語の文字列を第二の言語の文字列に変換する処理であり、音声認識処理は入力された音声信号を文字列に変換する処理であり、音声合成処理は入力された文字列を音声信号に変換する処理である。
【００３１】
次に、図１及び図２のフローチャートを参照して、自然言語処理システム１０が共有すべき辞書データの候補を登録候補として抽出する動作について詳細に説明する。
図２は、自然減処理システム１０が登録候補を抽出する動作を示すフローチャートである。動作の概要としては、ユーザ辞書記憶部３１に記憶されているユーザ辞書から選んだ二つの辞書の組み合わせの全てについて類似度を計算し、類似度が閾値以上である組み合わせについてはそれぞれのユーザ辞書に対応する登録候補を抽出して登録候補記憶部３２に記録する。
【００３２】
まず、類似度計算手段２１はユーザ辞書記憶部３１の中から二つのユーザ辞書の組を取り出す（ステップＳ１０１）。次に未処理のユーザ辞書の組が取り出せたかどうかを調べ（ステップＳ１０２）、取り出せなかった場合には処理を終了する。
未処理のユーザ辞書の組を取り出せた場合、類似度計算手段２１は、それらのユーザ辞書の間の類似度を計算する（ステップＳ１０３）。
次に登録候補抽出手段２２は類似度計算手段２１で得られた類似度と閾値とを比較する（ステップＳ１０４）。得られた類似度が閾値よりも小さい場合はステップＳ１０１に戻って処理を継続する。得られた類似度が閾値以上である場合、登録候補抽出手段２２は、これらのユーザ辞書に格納された辞書データを比較し、片方のユーザ辞書にだけ含まれている辞書データを登録候補として抽出する（ステップＳ１０５）。ここで登録候補を抽出できなかった場合はステップＳ１０１に戻って処理を継続する（ステップＳ１０６）。
登録候補を抽出できた場合、登録候補抽出手段２２は、その登録候補をそれを含んでいない方のユーザ辞書に対応する登録候補として登録候補記憶部３２に格納した後、ステップＳ１０１に戻って処理を継続する（ステップＳ１０７）。
【００３３】
なお、ここではユーザ辞書という単位で二つのユーザ辞書の間の類似度を計算し登録候補を抽出しているが、ユーザ辞書内の辞書データに分類情報が設定されている場合には、個々のユーザ辞書において同一の分類情報が設定された辞書データの集合を単位として類似度を計算し、その単位毎に共有すべき辞書データの候補を抽出しても良い。
例えば、ユーザ辞書３１Ａに含まれる辞書データの中で同一の分類情報イを持つものの集合（第２の辞書データ集合）とユーザ辞書３１Ｂに含まれる辞書データの中で同一の分類情報ロを持つものの集合（ここで、分類情報イと分類情報ロは同一でも良いし異なっていても良い）との間の類似度（辞書データ集合類似度）を計算し、この類似度を辞書データの類似度とする。そして、例えば、第２の辞書データ集合にのみ含まれる辞書データをユーザ辞書３１Ａの登録候補データとする。辞書データ集合の類似度は、上記に説明したユーザ辞書の類似度と同様の方法で計算することができる。
さらにこの場合、得られた辞書データの集合の、同一のユーザ辞書の範囲での組み合わせを単位として類似度を計算し、その単位毎に共有すべき辞書データの候補を抽出しても良い。
【００３４】
またこの登録候補を抽出する処理は、例えば一定期間毎に動作させる形態をとることができる。あるいは、ユーザ辞書記憶部３１内の一つのユーザ辞書が更新されたときに動作させ、更新されたユーザ辞書とそれ以外のユーザ辞書の組み合わせに対してだけこの処理を適用することで、効率的に処理を行なう形態をとることもできる。
【００３５】
次に、図１及び図３のフローチャートを参照して、自然言語処理システム１０が登録候補に含まれる辞書データをユーザ辞書に登録する動作について詳細に説明する。
図３は、自然言語処理システム１０が抽出された辞書データをユーザ辞書に登録する動作を示すフローチャートである。動作の概要としては、登録候補記憶部３２から登録すべき辞書データの候補を取り出して個々のユーザに提示し、ユーザの指示に応じてそれぞれの辞書データを対応するユーザ辞書に登録する。
【００３６】
まずユーザ辞書登録手段２３は、登録候補記憶部３２からユーザ辞書に対応する登録候補を取り出す（図３のステップＳ１１１）。次に、ユーザ辞書登録手段２３は、登録候補記憶部３２から登録候補が取り出せたか、取り出せたならその登録候補に含まれる辞書データが登録対象外でないかを検査し、ユーザ辞書に登録すべき辞書データの候補が存在するかどうかを調べる（ステップＳ１１２）。ここで登録すべき辞書データの候補が存在しない場合、すなわち、登録候補を取り出せなかった場合、または、登録候補を取り出せたがそれに含まれる辞書データの全てに登録対象外であることを示す情報が付されている場合には処理を終了する。
【００３７】
登録すべき辞書データの候補が存在する場合、ユーザ辞書登録手段２３は、出力装置４にその辞書データを表示し、個々の辞書データについてそれをユーザ辞書に登録するかどうかをユーザに問い合わせる（ステップＳ１１３）。ユーザ辞書登録手段２３は、その後、入力装置１から入力を受け付け、登録対象外と入力された辞書データが存在するかどうかを調べる（ステップＳ１１４）。登録対象外と入力された辞書データが存在する場合、ユーザ辞書登録手段２３は当該辞書データを登録対象外であることを表す情報とともに登録候補記憶部３２に記録する（ステップＳ１１５）。その後、もしくはステップＳ１１３で登録対象外と入力された辞書データが存在しない（ステップＳ１１４の判断がノーの）場合、ユーザ辞書登録手段２３は、登録すると入力された辞書データが存在するかどうかを調べる（ステップＳ１１６）。登録すると入力された辞書データが存在する場合、ユーザ辞書登録手段２３は当該辞書データをユーザ辞書に登録する（ステップＳ１１７）。その後、もしくはステップＳ１１６で登録すると入力された辞書データが存在しない場合は処理を終了する。
【００３８】
抽出された辞書データをユーザ辞書に登録する処理は、例えばユーザが陽にこの処理を呼び出したタイミングで動作させる形態や、ユーザが自然言語処理手段２４を呼び出したタイミングで動作させる形態をとることができる。
【００３９】
次に、自然言語処理システム１０の第１の具体的な動作例について説明する。
この例では、特に自然言語処理手段２４が機械翻訳処理を行なうものとし、図１のユーザ辞書３１Ａ、ユーザ辞書３１Ｂの二つのユーザ辞書から各々の登録候補を抽出し、この登録候補に含まれる辞書データをユーザ辞書Ａおよびユーザ辞書Ｂに登録する動作について説明する。
図４（ａ）にユーザ辞書３１Ａの内容を、図４（ｂ）にユーザ辞書３１Ｂのデータ内容を示す。図４（ａ）と図４（ｂ）にはユーザ辞書３１Ａとユーザ辞書３１Ｂの２つのユーザ辞書の内容が表形式で示されており、各々の表の一行が一つの辞書データを表している。例えば図４（ａ）一行目は、日本語が「キメラ」、英語が「chimera」、品詞が「名詞」である辞書データを表している。この例では、「キメラ」が単語であり、「chimera」と「名詞」が言語情報である。
【００４０】
登録候補を抽出する処理では、類似度計算手段２１が、ユーザ辞書記憶部３１からユーザ辞書３１Ａとユーザ辞書３１Ｂを取り出し、その間の類似度を計算する。
ユーザ辞書３１Ａには１０個、ユーザ辞書３１Ｂには１１個の辞書データが登録されており、この中で両者に共通して登録されている辞書データは「キメラ」の行など９個であるから、二つの辞書に登録されている辞書データの総数は１０＋１１−９＝１２個となる。
これらの数値に基づいて類似度計算手段２１は、ユーザ辞書３１Ａとユーザ辞書３１Ｂの類似度を９／１２＝０．７５と算出する。
【００４１】
次に登録候補抽出手段２２は、類似度計算手段２１が出力した類似度０．７５と閾値とを比較する。ここで閾値が０．７であったとすると、ユーザ辞書３１Ａとユーザ辞書３１Ｂの類似度はこの値以上であるため、両者から登録候補を抽出する処理に進む。ここでは、まずユーザ辞書３１Ａについては、ユーザ辞書３１Ｂに含まれ、かつユーザ辞書３１Ａに含まれない「ジーン」と「遺伝子診断」の辞書データを登録候補として抽出し、ユーザ辞書３１Ａに対応する登録候補の記憶領域である登録候補記憶部３２Ａに記録する（この場合ユーザ辞書３１Ａが第２のユーザ辞書、ユーザ辞書３１Ｂが第１のユーザ辞書に相当する）。またユーザ辞書３１Ｂについては、ユーザ辞書３１Ａに含まれ、かつユーザ辞書３１Ｂに含まれない「トランスポゾン」の辞書データを抽出し、ユーザ辞書３１Ｂに対応する登録候補の記憶領域である登録候補記憶部３２Ｂに格納する（この場合ユーザ辞書３１Ａが第１のユーザ辞書、ユーザ辞書３１Ｂが第２のユーザ辞書に相当する）。
【００４２】
これらの処理の結果として得られる登録候補記憶部３２Ａと登録候補記憶部３２Ｂの例を図５（ａ）と図５（ｂ）に示す。図５によると、登録候補記憶部３２にはユーザ辞書に格納されていた辞書データの他にその辞書データが登録対象外であるかどうかを示す情報を格納する領域が確保されている。ここで「−」は登録対象外であるかどうかの検査が完了していないことを表し、「対象外」は過去に登録対象外と指定された辞書データであることを表している。すなわち辞書データＡにおいて「ジーン」は未検査であるのに対して、「遺伝子診断」は以前にも共有すべき辞書データの候補として抽出されたことがあり、その後ユーザ辞書３１Ａの所有者であるユーザＡに登録の要不要を問い合わせた結果、登録の必要なしと入力された経緯があるということを表している。
【００４３】
自然言語処理システム１０は、上記の登録候補を抽出する処理を、ユーザ辞書記憶部３１に格納されたユーザ辞書の二つの組み合わせ全てに対して繰り返すことで、すべてのユーザ辞書について登録候補を抽出し、登録候補記憶部３２内の各々のユーザ辞書に対応する領域に抽出した登録候補を格納する。
【００４４】
登録候補に含まれる辞書データをユーザ辞書に登録する処理では、ユーザ辞書登録手段２４が、登録候補記憶部３２から登録候補を取り出し、ユーザ辞書に登録するかどうかをユーザに問い合わせる。
例えばユーザ辞書Ａの所有者であるユーザＡが陽にこの処理を呼び出した場合を考える。ユーザ辞書登録手段２３は、まず、登録候補記憶部３２Ａから登録候補を取り出し、その内容を検査する。ここで登録候補記憶部３２Ａの内容が図５（ａ）である場合を考える。ユーザ辞書登録手段２４は、ここから「ジーン」と「遺伝子診断」の２つの辞書データを取り出し、これらの辞書データが登録対象外であるかどうかを検査して、登録対象外でない「ジーン」をユーザに対する登録要否の問い合わせの対象となる最終的な登録候補として選定する。
【００４５】
さらにユーザ辞書登録手段２４は、「ジーン」に対応する登録情報を出力装置４に表示し、登録するかどうかをユーザＡに問い合わせる。図６にユーザに対する問い合わせ画面の例を示す。画面上部には登録候補をユーザ辞書に登録するか否かを問うための表示として「下記の辞書データがユーザ辞書への登録候補として検出されました。ユーザ辞書に登録しますか？」という文字列６１が表示されている。リストボックス６３には、登録候補の辞書データとユーザが質問に対する回答を入力するためのラジオボタン６２ａ、６２ｂ、６２ｃが表示されている。画面下部には、入力を確定またはキャンセルするためのボタン６４および６５が表示されている。
ここでユーザＡが「ジーン」の「登録する」のラジオボタン６２ａをチェックして「実行」ボタン６４を押した場合、ユーザ辞書登録手段２３は、ユーザ辞書３１Ａに「ジーン」の辞書データを登録し、登録候補記憶部３２Ａの中の「ジーン」の辞書データを削除する。
またユーザＡが「登録しない」のラジオボタン６１ｂをチェックして「実行」ボタン６４を押した場合、ユーザ辞書登録手段２３は、登録候補記憶部３２Ａの「ジーン」の辞書データの登録対象外の欄に「対象外」の情報を書き込む。
ユーザＡが「保留」のラジオボタン６２ｃをチェックして「実行」ボタン６４を押した場合と、ラジオボタンのチェック状態がどのようであれ「キャンセル」ボタン６５を押した場合は、ユーザ辞書登録手段２３は、何もしない。
【００４６】
図６では登録するかどうかを指定するユーザインターフェイスにラジオボタンを用いる例を示したが、図７のようにチェックボックスを用いてもよい。図７の場合、辞書データ「ジーン」のチェックボックス６６がチェックされていれば、ユーザ辞書登録手段２３は、ユーザ辞書３１Ａに「ジーン」の辞書データを登録し、登録候補記憶部３２Ａの中の「ジーン」の辞書データを削除する。
辞書データ「ジーン」のチェックボックス６６がチェックされていない場合、ユーザ辞書登録手段２３は、登録候補記憶部３２Ａの「ジーン」の辞書データの登録対象外の欄に「対象外」の情報を書き込む。
【００４７】
次に、自然言語処理システム１０の第２の具体的な動作例について説明する。
この例では、特に自然言語処理手段２４が機械翻訳処理を行なうものとし、図１のユーザ辞書３１Ａ、ユーザ辞書３１Ｂの二つのユーザ辞書から各々の登録候補を抽出し、この登録候補に含まれる辞書データをユーザ辞書３１Ａおよびユーザ辞書３１Ｂに登録する動作について説明する。
図８（ａ）にユーザ辞書３１Ａの内容を、図８（ｂ）にユーザ辞書３１Ｂのデータ内容を示す。図４（ａ）、図４（ｂ）と同様にユーザ辞書３１Ａとユーザ辞書３１Ｂの２つのユーザ辞書の内容が表形式で示されているが、さらに個々の辞書データに対して分類情報が記録されている。ユーザ辞書３１Ａには「遺伝子関連」という分類情報が設定された辞書データが登録されており、ユーザ辞書３１Ｂには「遺伝子基礎」という分類情報が設定された辞書データと「遺伝子応用」という分類情報が設定された辞書データが登録されている。
ここで分類情報としては、例えば、各々のユーザが場面に応じてユーザ辞書内の各辞書データを使い分ける目的で設定した情報を用いても良い。
【００４８】
登録候補を抽出する処理では、類似度計算手段２１が、ユーザ辞書３１Ａとユーザ辞書３１Ｂに含まれる辞書データ集合の間の類似度を計算する。類似度計算手段２１は、個々のユーザ辞書を同一の分類情報を持つ辞書データの集合に分割してその辞書データ集合の組を取り出す。ここでユーザ辞書３１Ａからは分類情報が「遺伝子関連」である１０個の辞書データからなる「遺伝子関連」辞書データ集合を取り出すことができ、またユーザ辞書３１Ｂからは分類情報が「遺伝子基礎」である９個の辞書データからなる「遺伝子基礎」辞書データ集合と、分類情報が「遺伝子応用」である２個の辞書データからなる「遺伝子応用」辞書データ集合を取り出すことができる。
【００４９】
次に類似度計算手段２１は、各々の辞書データ集合の組に対して類似度を計算する。例えば第１の具体的動作例で示した類似度計算法を用いると、「遺伝子関連」辞書データ集合と「遺伝子基礎」辞書データ集合の間の類似度は８／１１＝０．７３、「遺伝子関連」辞書データ集合と「遺伝子応用」辞書データ集合の間の類似度は１／１１＝０．０９となる。
【００５０】
次に登録候補抽出手段２２は、類似度計算手段２１が出力した類似度と閾値とを比較する。ここで閾値が０．７であったとすると、「遺伝子関連」辞書データ集合と「遺伝子基礎」辞書データ集合の類似度がこの値以上になるため、この組から共有すべき辞書データを抽出する。
ここでは、まずユーザ辞書Ａについては、「遺伝子基礎」辞書データ集合に含まれ、かつ「遺伝子関連」辞書データ集合に含まれない「ジーン」の辞書データを抽出し、ユーザ辞書３１Ａに登録すべき登録候補の記憶領域である登録候補記憶部３２Ａに格納する。またユーザ辞書３２Ｂについては、「遺伝子関連」辞書データ集合に含まれ、かつ「遺伝子基礎」辞書データ集合に含まれない「トランスポゾン」の辞書データを抽出し、ユーザ辞書３２Ｂに登録すべき登録候補の記憶領域である登録候補記憶部３２Ｂに格納する。これらの処理の結果として得られる登録候補記憶部３２Ａと登録候補記憶部３２Ｂの例を図９（ａ）と図９（ｂ）に示す。図５（ａ）、図５（ｂ）と同様に、抽出された辞書データと、その辞書データが登録対象外であるか否かを示す情報が記録されている。
【００５１】
登録候補を抽出する処理では、ユーザ辞書記憶部３１に格納されたユーザ辞書の全辞書データ集合の組み合わせ全てに対して本処理を繰り返すことで、各々のユーザ辞書に登録すべき辞書データの候補を抽出し、登録候補記憶部３２の各々に対応する領域に抽出した辞書データを格納する。
なお抽出された辞書データを登録する処理は第１の具体的動作例の場合と同じであるため、説明を省略する。
【００５２】
以上のように、自然言語処理システム１０では、類似度計算手段２１が個々のユーザ辞書の間の類似度を算出し、この類似度に基づいて登録候補抽出手段２２が辞書データを共有すべき相手を選別するように構成されているため、ユーザ辞書の単位で柔軟に適切な共有相手を見つけることができる。
また、類似度計算手段２１が、個々のユーザ辞書の間の類似度をその都度計算するため、その時点で最適な共有相手を見つけることができる。このため、共有すべき辞書データを適切に抽出することができる。
【００５３】
本発明は、自然言語処理システム１０の各機能をコンピュータに実行させるプログラムとしても実施することができる。
このような実施形態を図１０に示す。
コンピュータ８は、入力装置１、ハードディスク装置等の記憶装置３、出力装置４、ＲＡＭ(Random Access Memory)等の主記憶装置７、前記の各装置を制御する機能と演算機能とを備えたＣＰＵ５を備えている。
主記憶装置７に記憶された自然言語処理用プログラム６は、ＣＰＵ５に読み込まれＣＰＵ５により実行されてコンピュータ８の動作を制御し、記憶装置３にユーザ辞書記憶部３１と登録候補記憶部３２を生成する。また、自然言語処理用プログラム６はＣＰＵ５を図１のデータ処理装置２として動作させ、コンピュータ８を自然言語処理システム１０として動作させる。
【産業上の利用可能性】
【００５４】
本発明によれば、入力された仮名文字列を漢字仮名混じり文字列に変換する仮名漢字変換装置や、入力された第一の言語の文字列を第二の言語の文字列に変換する機械翻訳装置、入力された音声信号を文字列に変換する音声認識装置、入力された文字列を音声信号に変換する音声合成装置をコンピュータに実現するためのプログラムといった用途に適用できる。また自然言語処理で用いる辞書の作成を支援する辞書作成支援装置をコンピュータに実現するためのプログラムといった用途にも適用できる。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１実施形態である自然言語処理システムの機能ブロック図である。
【図２】自然言語処理システムの登録候補抽出動作を示すフローチャートである。
【図３】自然言語処理システムの辞書データ登録動作を示すフローチャートである。
【図４】ユーザ辞書のデータ構造例を示す図である。
【図５】登録候補記憶部のデータ構造例を示す図である。
【図６】辞書データの登録確認画面の一例を示す図である。
【図７】辞書データの登録確認画面の一例を示す図である。
【図８】ユーザ辞書のデータ構造例を示す図である。
【図９】登録候補記憶部のデータ構造例を示す図である。
【図１０】コンピュータプログラムによる実施形態を示す図である。
【符号の説明】
【００５６】
１  入力装置
２  データ処理装置
３  記憶装置
４  出力装置
５  ＣＰＵ
６  自然言語処理用プログラム
７  主記憶装置
８  コンピュータ
１０  自然言語処理システム
２１  類似度計算手段
２２  登録候補抽出手段
２３  ユーザ辞書登録手段
２４  自然言語処理手段
３１  ユーザ辞書記憶部
３２  登録候補記憶部
【図１】
0004792885.tif 000002
【図２】
0004792885.tif 000003
【図３】
0004792885.tif 000004
【図４】
0004792885.tif 000005
【図５】
0004792885.tif 000006
【図６】
0004792885.tif 000007
【図７】
0004792885.tif 000008
【図８】
0004792885.tif 000009
【図９】
0004792885.tif 000010
【図１０】
0004792885.tif 000011