(57)【特許請求の範囲】
【請求項１】
自然言語処理を行うプログラムファイルを搭載している、１又は複数の第１の情報処理装置と、自然言語処理で利用される辞書を搭載している第２の情報処理装置とを有する分散型自然言語処理システムにおいて、
上記第１の情報処理装置が、
上記プログラムファイルを上記第２の情報処理装置に送信する処理実行部送信手段と、
上記自然言語処理の対象となる自然言語処理対象を上記第２の情報処理装置に送信する処理対象送信手段とを備え、
上記第２の情報処理装置が、
上記プログラムファイルが登録されて、上記第１の情報処理装置から与えられた自然言語処理対象に対し、上記辞書及び登録された上記プログラムファイルを利用した自然言語処理を行う登録自然言語処理手段と、
上記第１の情報処理装置から与えられた上記プログラムファイルを上記登録自然言語処理手段に登録させる処理実行部登録手段とを備える
ことを特徴とする分散型自然言語処理システム。
【請求項２】
自然言語処理を行うプログラムファイルを搭載している、１又は複数の第１の情報処理装置と、自然言語処理で利用される辞書を搭載している第２の情報処理装置とを有する分散型自然言語処理システムにおいて、
上記第１の情報処理装置が、
上記プログラムファイルを上記第２の情報処理装置に送信する処理実行部送信手段と、
上記自然言語処理の対象となる自然言語処理対象を上記第２の情報処理装置に送信する処理対象送信手段と、
上記第２の情報処理装置から与えられた自然言語処理結果を出力する結果出力手段とを備え、
上記第２の情報処理装置が、
上記プログラムファイルが登録されて、上記第１の情報処理装置から与えられた自然言語処理対象に対し、上記辞書及び登録された上記プログラムファイルを利用した自然言語処理を行う登録自然言語処理手段と、
上記第１の情報処理装置から与えられた上記プログラムファイルを上記登録自然言語処理手段に登録させる処理実行部登録手段と、
上記登録自然言語処理手段による自然言語処理結果を上記第１の情報処理装置に返信する処理結果返信手段とを備える
ことを特徴とする分散型自然言語処理システム。
【請求項３】
上記登録自然言語処理手段として複数を設定可能なことを特徴とした請求項１又は２に記載の分散型自然言語処理システム。
【請求項４】
上記自然言語処理が機械翻訳であることを特徴とする請求項１〜３のいずれかに記載の分散型自然言語処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は分散型自然言語処理システムに関し、例えば、ネットワーク上の複数の翻訳サーバが辞書サーバ内の辞書を共有する辞書共有型機械翻訳システムに適用し得るものである。
【０００２】
【従来の技術】
機械翻訳においては、翻訳に利用する辞書の内容が訳質に大きな影響を与えるため、自然言語の時代変化などに合わせて頻繁に更新することが好ましい。また、近年の翻訳技術の向上と、翻訳分野の拡大や専門性の向上に伴い、使用する辞書も肥大化の一途をたどっている。
【０００３】
そのため、図２に示すように、複数の機械翻訳サーバ（以下、単に翻訳サーバと呼ぶ）１がネットワーク（例えばインターネット）３上の辞書サーバ２を共有することも研究、開発されている。
【０００４】
翻訳サーバ１は、辞書サーバ２の辞書２ａの情報をダウンロードして自己サーバ１内の辞書１ｂに格納し、翻訳部１ａが辞書１ｂ内のダウンロードした辞書情報を利用して翻訳処理する。又は、翻訳サーバ１内の翻訳部１ａが、辞書サーバ２内の辞書２ａを直接アクセスして翻訳処理を実行する。
【０００５】
後者は、ごく少ない数の文章を翻訳する場合には有効であるが、例えば、インターネットを流れるＷｅｂページのような文書を翻訳対象とする場合には、前者が好ましい。
【０００６】
【発明が解決しようとしている課題】
しかしながら、上述したような肥大化した辞書２ａを、複数の翻訳サーバ１がネットワーク３上で共有する場合、辞書ダウンロード時又は辞書検索時には、莫大なトラフィックが発生するという課題がある。仮に、辞書２ａが専門分野やジャンル毎のカテゴリーに別れ、一部のカテゴリーについての辞書内容だけを翻訳サーバ１が利用するとした場合でも、トラフィックは多大である。
【０００７】
また、インターネットの発達により外国語で記述された文書が多数入手できるようになったため、辞書サーバ２を共有する翻訳サーバ１の数も今後増大の一途を辿り、この点からもトラフィックの増大化の課題は大きい。
【０００８】
そのため、複数の自然言語処理サーバが辞書サーバを共有する場合において、トラフィック（通信量）を抑制することができる分散型自然言語処理システムが望まれている。
【０００９】
【課題を解決するための手段】
かかる課題を解決するため、第１の本発明は、自然言語処理を行うプログラムファイルを搭載している、１又は複数の第１の情報処理装置と、自然言語処理で利用される辞書を搭載している第２の情報処理装置とを有する分散型自然言語処理システムにおいて、（１）上記第１の情報処理装置が、（１−１）上記プログラムファイルを上記第２の情報処理装置に送信する処理実行部送信手段と、（１−２）上記自然言語処理の対象となる自然言語処理対象を上記第２の情報処理装置に送信する処理対象送信手段とを備え、（２）上記第２の情報処理装置が、（２−１）上記プログラムファイルが登録されて、上記第１の情報処理装置から与えられた自然言語処理対象に対し、上記辞書及び登録された上記プログラムファイルを利用した自然言語処理を行う登録自然言語処理手段と、（２−２）上記第１の情報処理装置から与えられた上記プログラムファイルを上記登録自然言語処理手段に登録させる処理実行部登録手段とを備えることを特徴とする。
【００１０】
また、第２の本発明は、自然言語処理を行うプログラムファイルを搭載している、１又は複数の第１の情報処理装置と、自然言語処理で利用される辞書を搭載している第２の情報処理装置とを有する分散型自然言語処理システムにおいて、（１）上記第１の情報処理装置が、（１−１）上記プログラムファイルを上記第２の情報処理装置に送信する処理実行部送信手段と、（１−２）上記自然言語処理の対象となる自然言語処理対象を上記第２の情報処理装置に送信する処理対象送信手段と、（１−３）上記第２の情報処理装置から与えられた自然言語処理結果を出力する結果出力手段とを備え、（２）上記第２の情報処理装置が、（２−１）上記プログラムファイルが登録されて、上記第１の情報処理装置から与えられた自然言語処理対象に対し、上記辞書及び登録された上記プログラムファイルを利用した自然言語処理を行う登録自然言語処理手段と、（２−２）上記第１の情報処理装置から与えられた上記プログラムファイルを上記登録自然言語処理手段に登録させる処理実行部登録手段と、（２−３）上記登録自然言語処理手段による自然言語処理結果を上記第１の情報処理装置に返信する処理結果返信手段とを備えることを特徴とする。
【００１１】
【発明の実施の形態】
（Ａ）実施形態
以下、本発明による分散型自然言語処理システムを辞書共有型機械翻訳システムに適用した実施形態を図面を参照しながら説明する。図１は、この実施形態の辞書共有型機械翻訳システム４の概念の説明図である。
【００１２】
この実施形態の辞書共有型機械翻訳システム４も、複数の翻訳サーバ５がネットワーク（以下、インターネットとする）７上の辞書サーバ６を共有するものである。そして、この実施形態では、翻訳サーバ５内の翻訳部５ａを、辞書サーバ６にアップロードし、アップロードされた辞書サーバ６内の翻訳部６ｂが共有辞書６ａを利用して翻訳を行い、翻訳依頼者が辞書サーバ６内で得られた翻訳結果を翻訳サーバ５を介して入手するものである。
【００１３】
実際上、翻訳処理を実行する翻訳部（５ａ）は、機械翻訳用の処理プログラムやデータ（辞書データを除く）などでなるソフトウェア部分と、主メモリにロードされているその機械翻訳用処理プログラムを実行するＣＰＵなどのハードウェア部分とでなり、上述した翻訳部５ａのアップロードは、ソフトウェア部分のアップロードを意味する。この点は、後述する説明でも同様である。
【００１４】
（Ａ−１）実施形態の構成
次に、実施形態の辞書共有型機械翻訳システム４の具体的な構成を、図３を参照しながら説明する。
【００１５】
翻訳サーバ５及び辞書サーバ６はそれぞれ、例えば、１又は複数の情報処理装置で構築されているが、機能的には、図３で示すことができる。
【００１６】
図３において、翻訳サーバ５は、翻訳部送信部１１、翻訳実行指示部１２及び翻訳結果受信出力部１３を有する。一方、辞書サーバ６は、翻訳部登録部２１、翻訳部管理部２２、登録翻訳部２３（２３Ａ〜２３Ｎ）、辞書２４及び辞書管理部２５を有する。
【００１７】
翻訳サーバ５の翻訳部送信部１１は、自己の翻訳部を辞書サーバ６にアップローディングさせるための送信を行うものである。ここで、送信される翻訳部とは、上述したように、機械翻訳用の処理プログラムやデータ（辞書データを除く）などでなるソフトウェア部分であり、翻訳エンジンなどと呼ばれているものである。翻訳部は、翻訳対象文書の入力機能や翻訳結果の出力機能などは転送機能程度のものである。なお、翻訳部送信部１１による翻訳部の送信は、複写送信であり、送信後においても、翻訳サーバ５内に翻訳部は存在する。
【００１８】
翻訳部送信部１１は、文書の翻訳を依頼されたタイミングで翻訳部を送信するようにしても良く、図示しない入力部を介して、当該翻訳サーバ５が翻訳モードに立ち上げられたときに、翻訳部を送信するようにしても良い。例えば、翻訳サーバ５がインターネットの検索サーバを兼ねており、所望する文書の翻訳結果付き検索が指示されたときに、検索動作を起動するタイミングで翻訳部を辞書サーバ６にアップローディングさせるようにしても良い。
【００１９】
翻訳実行指示部１２は、翻訳対象文書のデータを含む翻訳実行の指示（辞書２４がカテゴリー毎に用意されている場合には辞書の特定データを含んでいても良い）を辞書サーバ６に与えて翻訳処理を起動させるものである。当然に、翻訳実行指示部１２は、当該翻訳サーバ５の翻訳部が辞書サーバ６にアップローディングされていることを確認して翻訳実行の指示を送出するものである。なお、翻訳部送信部１１が、翻訳部を送信する際に、翻訳対象文書のデータをも含めて送信する場合には、翻訳実行指示部１２は省略される。
【００２０】
翻訳結果受信出力部１３は、辞書サーバ６から与えられた翻訳結果文書を受信して、翻訳依頼者に対して出力するものである。出力方法は、表示出力や印刷出力であっても良く、また、翻訳依頼者の情報処理端末へ宛てた送信出力であっても良い。
【００２１】
辞書サーバ６の翻訳部登録部２１は、翻訳サーバ５から与えられた翻訳部を翻訳部管理部２２との協働により、辞書サーバ６に登録させるものである。
【００２２】
図３においては、翻訳部が登録され、翻訳処理を実行し得るようになっている部分を登録翻訳部２３（２３Ａ〜２３Ｎ）と呼んでいる。登録翻訳部２３（２３Ａ〜２３Ｎ）は、翻訳部（ソフトウェア）を記憶する記憶領域と、記憶領域に記憶された翻訳部に従ったプログラム処理を実行するＣＰＵなどのハードウェア部分とでなる。登録翻訳部２３となり得る記憶領域とハードウェア部分との組を複数用意して、複数の翻訳サーバ５からの翻訳要求に対応できるようにしておくとが好ましい。なお、翻訳部（ソフトウェア）を記憶する記憶領域だけを複数用意しておき、ハードウェア部分は、複数の登録翻訳部２３Ａ〜２３Ｎで共通化しておき、時分割などで各登録翻訳部２３Ａ〜２３Ｎとして機能するようにしても良い。
【００２３】
上述した翻訳部登録部２１は、登録翻訳部となり得る部分が全て登録翻訳部２３Ａ〜２３Ｎとして機能しているときには、翻訳サーバ５に翻訳部を登録できない旨を返信するものである。
【００２４】
翻訳部管理部２２は、登録翻訳部となり得る部分や、登録翻訳部２３Ａ〜２３Ｎとして機能している部分を管理するものである。翻訳部管理部２２は、例えば、翻訳サーバ５からの翻訳部を登録できる空き状態の記憶領域や、既に翻訳部を記憶している記憶領域をその翻訳部の送信元の翻訳サーバ５の識別情報に対応付けて管理したり、登録翻訳部２３Ａ〜２３Ｎが翻訳の実行中か否かや使用辞書を管理したりするものである。
【００２５】
また、翻訳部管理部２２は、翻訳サーバ５から翻訳対象文書が与えられたときに、その翻訳サーバ５に係る登録翻訳部２３Ｘ（ＸはＡ〜Ｎ）にその翻訳対象文書を引き渡すものである。
【００２６】
さらに、翻訳部管理部２２は、登録翻訳部２３Ｘが翻訳結果文書を得たときに、その登録翻訳部２３Ｘに係る翻訳サーバ５に翻訳結果文書を送信するものである。ここで、翻訳部管理部２２は、翻訳結果文書を翻訳サーバ５に送信したときに、登録翻訳部２３Ｘを新たな翻訳部を登録し得る状態に復帰させるようにしても良い。この復帰は、自己内の管理データを空き設定することで行っても良く、また、登録翻訳部２３Ｘの記憶領域を全消去することで行っても良い。なお、登録翻訳部２３Ｘを新たな翻訳部を登録し得る状態への復帰は、該当する翻訳サーバ５からの翻訳部消去要求を待って行うようにしても良い。
【００２７】
さらにまた、翻訳部管理部２２は、翻訳部を登録した際には、その登録翻訳部２３Ｘが共有辞書２４をアクセスし得るように、辞書管理部２５を制御するものである。なお、翻訳依頼文書に、使用辞書の特定情報が含まれていた場合にも、登録翻訳部２３Ｘがその種別の辞書だけをアクセスし得るように、辞書管理部２５を制御するものである。
【００２８】
辞書２４は、複数の登録翻訳部２３Ａ〜２３Ｎが共有する、言い換えると、複数の翻訳サーバ５が共有する辞書である。すなわち、登録翻訳部２３Ａ〜２３Ｎが翻訳処理の際に利用する辞書である。
【００２９】
辞書管理部２５は、登録翻訳部２３Ａ〜２３Ｎが辞書２４中のどの種別の辞書を使用できるかなどを管理するものであり、各登録翻訳部２３Ａ、…、２３Ｎは、この辞書管理部２５を介して辞書２４をアクセスするものである。また、辞書管理部２５は、どの登録翻訳部２３Ｘからのアクセスからかを管理し、辞書２４から読み出した単語情報などを該当する登録翻訳部２３Ｘに与えるものである。例えば、登録翻訳部２３Ａ、…、２３Ｎから辞書２４へのアクセスを時分割で割り振っている場合には、タイムスロットと登録翻訳部２３Ａ、…、２３Ｎとの関係を管理する。また、適宜辞書アクセスの競合を調停するものである。
【００３０】
なお、このような辞書管理方法は、１台の辞書サーバに対し、複数台の翻訳サーバが直接に辞書をアクセスしようとする際の従来の管理方法と同様である。
【００３１】
（Ａ−２）実施形態の動作
次に、第１の実施形態に係る辞書共有型機械翻訳システム４の動作を図４のシーケンス図を参照しながら説明する。
【００３２】
翻訳サーバ５は、自己サーバ５内の翻訳部を辞書サーバ６の翻訳部登録部２１へ送信する（ステップＳ１）。登録用の送信動作は、例えば、実行ファイルのアップロードである。
【００３３】
翻訳部登録部２１は、受け取った翻訳部を翻訳部管理部２２に与えてバッファリングした後（ステップＳ２）、翻訳部管理部２２は、登録翻訳部となり得る部分（記憶領域など）の空き状況に基づき、空き状態の記憶領域に受信した翻訳部を記憶させて登録翻訳部（ここでは符号２３Ａとする）として機能できるようにする（ステップＳ３）。また、翻訳部管理部２２は、辞書管理部２５から辞書アクセスのインタフェイス（例えば時分割アクセスでのタイムスロット、呼び出し関数や、関数群のエントリーポイント）を取得し（ステップＳ４）、登録翻訳部２３Ａへ設定する（ステップＳ５）。
【００３４】
利用者が、翻訳サーバ５に翻訳対象文書を入力すれば（ステップＳ６）、翻訳サーバ５は、直ちに辞書サーバ６に翻訳を依頼し、辞書サーバ６の翻訳部管理部２２はその翻訳サーバ５に係る登録翻訳部２３Ａに翻訳対象文書を引き渡す（ステップＳ７）。
【００３５】
登録翻訳部２３Ａは、ステップＳ５で設定されたインタフェイスを用いて辞書２４を走査しながら翻訳処理を実行し（ステップＳ８）、得られた翻訳結果を、翻訳部管理部２２を介して翻訳サーバ５に返信し、翻訳サーバ５は利用者に対して出力する（ステップＳ９）。
【００３６】
なお、複数の登録翻訳部２３Ａ〜２３Ｎが存在する場合、それぞれの登録翻訳部２３Ａ〜２３Ｎからの同時辞書走査を行うことになるが、辞書２４の更新時以外は読み出しのみであるため、同時使用による障害は起こらない。また、辞書２４の更新時は、辞書管理部２５での制御、例えばファイルロックやプロセス間の排他制御を行うことにより、コンフリクトを起こすことを防ぐことができる。
【００３７】
（Ａ−３）実施形態の効果
以上のように、上記実施形態によれば、辞書サーバ６から翻訳サーバ５への辞書情報の転送ではなく、翻訳サーバ５から辞書サーバ６へ翻訳部（いわゆる翻訳エンジン）そのものを転送させて辞書サーバ６ヘ登録させ、辞書サーバ６内で翻訳部を動作させるようにしたので、ネットワーク（インターネット）上のトラフィックを従来より抑えることができる。
【００３８】
因みに、翻訳部（いわゆる翻訳エンジン）のデータ量は、辞書のデータ量に比べて格段に少ない。
【００３９】
（Ｂ）他の実施形態
上記実施形態の変形実施形態として、以下に例示するようなものを挙げることができる。
【００４０】
上記では、辞書サーバ６内に翻訳部を登録した翻訳サーバ５は自己が登録した翻訳部を使用するものを示したが、自己が登録した以外の翻訳部を選択指定して利用することができるようにしても良い。このようにした場合には、異なる訳質の翻訳結果を得ることが可能であり、辞書貸しビジネスだけでなく、翻訳部貸しビジネスも可能となる。
【００４１】
また、上記では、辞書サーバ６に複数の翻訳部を同時に登録しておくことができるものを示したが、登録できる翻訳部の数が１個であっても良い。例えば、本発明のシステムを、小規模のＬＡＮに適用した場合には、登録数が１個であっても構わない。また、辞書サーバ６に翻訳部を登録し得る翻訳サーバは１個であっても良い。
【００４２】
さらに、上記では、辞書サーバ６に翻訳部を登録できる翻訳サーバ５に制約がないものを示したが、翻訳部を登録できる翻訳サーバ５を制約するようにしても良い。
【００４３】
さらにまた、上記では、翻訳サーバ５が辞書サーバ６に翻訳部だけを登録できるものを示したが、これに加えて、他の情報をも登録できるようにしても良い。例えば、翻訳サーバ５がユーザ辞書を管理している場合に、翻訳部及びユーザ辞書を辞書サーバ６に登録させるようにしても良い。
【００４４】
また、上記では、翻訳部管理部２２が翻訳部指示部１２より指示を受ける例を示したが、この指示を登録翻訳部２３Ａ〜２３Ｎが直接受けるようにしても構わない。
【００４５】
さらに、上記では、翻訳部管理部２２が、翻訳サーバ５内の翻訳結果受信出力部１３に対して翻訳結果を送信するものを示したが、この翻訳結果は利用者たるクライアントへ直接送信するようにしても良く、また、登録翻訳部２３Ａ〜２３Ｎが、直接、利用者のクライアントへ送信するようにしても良い。
【００４６】
さらにまた、翻訳部管理部２２あるいは登録翻訳部２３Ａ〜２３Ｎからの翻訳結果が、他の登録翻訳部２３Ａ〜２３Ｎを呼び出して、他の翻訳を起動させるようにしても良い。ここでの他の翻訳は、入力文書に対する翻訳であっても良く、また、翻訳結果文書に対するさらに異なる言語種別への翻訳であっても良い。また、翻訳部管理部２２あるいは登録翻訳部２３Ａ〜２３Ｎからの翻訳結果が、分散システムとして構築された他のサーバ内に存在する翻訳管理部２２を呼び出しても良い。
【００４７】
また、上記では、機械翻訳システムに本発明を適用したものを示したが、他の自然言語処理システムに対しても本発明を適用することができる。他の自然言語処理システム（例えば文脈認識システム）も、辞書を利用して自然言語処理を行うので、本発明を適用することができる。
【００４８】
【発明の効果】
以上のように、本発明の分散型自然言語処理システムによれば、自然言語処理を行うプログラムファイルを搭載している第１の情報処理装置から、自然言語処理で利用される辞書を搭載している第２の情報処理装置へ上記プログラムファイルを送信して、第２の情報処理装置上で自然言語処理を実行させるようにしたので、従来に比べ、両情報処理装置間での通信量を少なくすることができる。
【図面の簡単な説明】
【図１】実施形態に係る辞書共有型機械翻訳システムの概念説明図である。
【図２】従来方法の概念的説明図である。
【図３】実施形態に係る辞書共有型機械翻訳システムの機能的構成を示すブロック図である。
【図４】実施形態に係る辞書共有型機械翻訳システムの動作を示すシーケンス図である。
【符号の説明】
５…翻訳サーバ、５ａ、６ｂ…翻訳部、６…辞書サーバ、６ａ、２４…辞書、７…ネットワーク（インターネット）、１１…翻訳部送信部、１２…翻訳実行指示部、１３…翻訳結果受信出力部、２１…翻訳部登録部、２２…翻訳部管理部、２３…登録翻訳部、２５…辞書管理部。
【図１】
0003982984.tif 000002
【図２】
0003982984.tif 000003
【図３】
0003982984.tif 000004
【図４】
0003982984.tif 000005