(57)【要約】  アルゴリズムがネットワーク状に結合されたシステムで、アルゴリズムからアルゴリズムに渡されるメッセージ（前のアルゴリズムの出力であり、次のアルゴリズムの入力）に、これまで通ってきたアルゴリズムのヒストリ（アルゴリズム名、時刻）を書き込んで渡していく。評価などの後段のステップで、ヒストリと評価値の相関を計算して、入力に対して有効または無効なアルゴリズムを特定し、当該アルゴリズムの活性度を修正することでより、適切な結果を出力するアルゴリズムが優先的に選択されるようにする（図１参照）。
2016046878.tif 000002
【特許請求の範囲】
【請求項１】
複数のアルゴリズムを用いて処理を行うデータ処理方法であって、
前記複数のアルゴリズムは、少なくとも、第１アルゴリズムと、第２アルゴリズム群と、第３アルゴリズム群と、第４アルゴリズムがネットワーク状に結合されて構成されており、
プロセッサが、前記第１アルゴリズムを実行し、入力を受付け、処理した結果を第１出力として、アルゴリズムがどの程度使われるかを示す動的な値を持つ活性度に基づいて選択された前記第２アルゴリズム群に含まれるアルゴリズムに出力する第１ステップと、
プロセッサが、前記第２アルゴリズム群に含まれるアルゴリズムを実行し、前記第１出力を処理した結果に対して当該第２アルゴリズム群のアルゴリズムの識別情報を付与し、第２出力として、前記活性度に基づいて選択された前記第３アルゴリズム群に含まれるアルゴリズムに出力する第２ステップと、
プロセッサが、前記第３アルゴリズム群に含まれるアルゴリズムを実行し、前記第２出力を処理した結果に対して前記第３アルゴリズム群のアルゴリズムの識別情報を付与し、第３出力として、前記第４アルゴリズムに出力する第３ステップと、
プロセッサが、前記第４アルゴリズムを実行し、複数の前記第３出力が前記入力に対して適切であるかを評価する第４ステップと、
プロセッサが、前記第４アルゴリズムを実行し、前記第３出力の評価結果と前記第３出力に付された複数の識別情報とに基づいて、前記活性度を修正する第５ステップと、
を有する、データ処理方法。
【請求項２】
請求項１において、
前記第４アルゴリズムを実行するプロセッサは、予め決められた制限時間であれば、前記第１から第５ステップを繰り返す、データ処理方法。
【請求項３】
請求項２において、
前記第４アルゴリズムを実行するプロセッサは、前記制限時間に達した場合には、前記第４ステップで得られた、最も評価の高い前記第３出力を最終出力として出力する、データ処理方法。
【請求項４】
請求項１において、
前記第１アルゴリズム、前記第２アルゴリズム群、前記第３アルゴリズム群、及び前記第４アルゴリズムにおけるそれぞれのアルゴリズムは非同期で実行される、データ処理方法。
【請求項５】
請求項１において、
前記第４アルゴリズムに出力される前記第３出力は、実行されたアルゴリズムの識別情報と、実行された各アルゴリズムの実行開始時間及び終了時間と、を含み、
前記第５ステップにおいて、前記第４アルゴリズムを実行するプロセッサは、前記第３出力の評価結果と、前記第３出力を生成するまでに掛かったアルゴリズムの実行時間の合計と、前記第３出力に付された複数の識別情報と、に基づいて、前記活性度を修正する、データ処理方法。
【請求項６】
請求項１において、
前記活性度に加えて、アルゴリズムがどの程度使われるかを示す固定的な値を持つ事前優先度が各アルゴリズムに対して予め設定されており、
各アルゴリズムを実行するプロセッサは、前記活性度と前記事前優先度に基づいて、次段のアルゴリズム群のどのアルゴリズムに対して出力するか決定する、データ処理方法。
【請求項７】
請求項６において、
前記事前優先度は、過去の類似の入力に対して各アルゴリズムが実行されて得られた最終的な活性度に基づいて設定される、データ処理方法。
【請求項８】
複数のアルゴリズムを用いて処理を行うデータ処理システムであって、
前記複数のアルゴリズムは、少なくとも、第１アルゴリズムと、第２アルゴリズム群と、第３アルゴリズム群と、第４アルゴリズムがネットワーク状に結合されて構成されており、
少なくとも１つのサーバを有し、
前記サーバは、前記複数のアルゴリズムを格納するメモリと、前記複数のアルゴリズムを実行するプロセッサと、を有し、
前記プロセッサは、
前記第１アルゴリズムを実行し、入力を受付け、処理した結果を第１出力として、アルゴリズムがどの程度使われるかを示す動的な値を持つ活性度に基づいて選択された前記第２アルゴリズム群に含まれるアルゴリズムに出力し、
前記第２アルゴリズム群に含まれるアルゴリズムを実行し、前記第１出力を処理した結果に対して当該第２アルゴリズム群のアルゴリズムの識別情報を付与し、第２出力として、前記活性度に基づいて選択された前記第３アルゴリズム群に含まれるアルゴリズムに出力し、
前記第３アルゴリズム群に含まれるアルゴリズムを実行し、前記第２出力を処理した結果に対して前記第３アルゴリズム群のアルゴリズムの識別情報を付与し、第３出力として、前記第４アルゴリズムに出力し、
前記第４アルゴリズムを実行し、複数の前記第３出力が前記入力に対して適切であるかを評価するとともに、前記第３出力の評価結果と前記第３出力に付された複数の識別情報とに基づいて、前記活性度を修正する、データ処理システム。
【請求項９】
請求項８において、
前記プロセッサは、予め決められた制限時間であれば、前記第１アルゴリズム、前記第２アルゴリズム群の少なくとも１つのアルゴリズム、前記第３アルゴリズム群の少なくとも１つのアルゴリズム、及び第４アルゴリズムによる処理を繰り返し実行する、データ処理システム。
【請求項１０】
請求項９において、
前記プロセッサは、前記制限時間に達した場合には、前記第４アルゴリズムを実行することにより得られた、最も評価の高い前記第３出力を最終出力として出力する、データ処理システム。
【請求項１１】
請求項８において、
前記プロセッサは、前記第１アルゴリズム、前記第２アルゴリズム群、前記第３アルゴリズム群、及び前記第４アルゴリズムにおけるそれぞれのアルゴリズムを非同期で実行する、データ処理システム。
【請求項１２】
請求項８において、
前記第４アルゴリズムに出力される前記第３出力は、実行されたアルゴリズムの識別情報と、実行された各アルゴリズムの実行開始時間及び終了時間と、を含み、
前記プロセッサは、前記第３出力の評価結果と、前記第３出力を生成するまでに掛かったアルゴリズムの実行時間の合計と、前記第３出力に付された複数の識別情報と、に基づいて、前記活性度を修正する、データ処理システム。
【請求項１３】
請求項８において、
前記活性度に加えて、アルゴリズムがどの程度使われるかを示す固定的な値を持つ事前優先度が各アルゴリズムに対して予め設定されており、
前記プロセッサは、前記活性度と前記事前優先度に基づいて、次段のアルゴリズム群のどのアルゴリズムに対して出力するか決定する、データ処理システム。
【請求項１４】
請求項１３において、
前記プロセッサは、前記事前優先度を、過去の類似の入力に対して各アルゴリズムが実行されて得られた最終的な活性度に基づいて設定する、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法、及びデータ処理システムに関し、ネットワーク状に結合されたアルゴリズムの組み合わせを最適化するための技術に関するものである。
【背景技術】
【０００２】
自然言語からなる文章が入力され、入力された文章を解釈し、自然言語のデータからなる知識源から関連する情報を収集し、収集した情報を解釈し、組み合わせるなど加工したうえで、提示するシステムの有用性が高まってきている。このようなシステムの例として、論述文生成システム、質問回答（question-answering）システム、意思決定支援システム、文書分析システム、意見収集分類システム、書類審査支援システム、手順提示システムなどがある。これらのシステムは、多数の自然言語処理のアルゴリズムや機械学習のアルゴリズムを結合して実現される。【０００３】
特に、ある議題に対する賛成か反対かの意見を述べた論述文を生成する論述文生成システムの場合、議題を解析するアルゴリズム、議題に対する論点を選択するアルゴリズム、文書を検索し文書から文を抽出するアルゴリズム、文を並び替えるアルゴリズム、文を並び替えてできた文章を評価するアルゴリズム、など多数のアルゴリズムを結合する必要がある。ここで、例えば、文書から文を抽出するアルゴリズムなどの個々のアルゴリズムは、多数の派生バージョンがあるため、アルゴリズムはネットワーク状に複雑に接続されることになる。この時、個々のアルゴリズムは独立性を高くし、１つのサーバで全体を実行するのではなく、複数にサーバに分散させてアルゴリズムを配置して、並列に実行するのが一般的である。【０００４】
例えば、非特許文献１には、人工知能システム一般で、多数の派生バージョンのアルゴリズムをネットワーク状に結合する方法がよいことが示唆されている。【０００５】
また、非特許文献２には、複数のアルゴリズムを組み合わせて質問回答システムを構築する方法が示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Minsky、 ”The Society of Mind、” New York: Simon and Schuster、 Mar. 1988
【非特許文献２】Ferrucci、 D.A.、 ”Introduction to ”This is Watson”、” IBM Journal of Research and Development 、 vol.56、 no.3.4、 pp.1:1、1:15、 May-June 2012
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１には、概念だけで、実施方法に関しては述べられていない。また、非特許文献２は、出力を出すまでの制限時間がある場合に、時間をぎりぎりまで使って、システムを動かし続け、文書の解析、最適化などを試行するものではない。特に、システムに情報が入力された後に、リアルタイムにアルゴリズムの組み合わせを自動的に最適化するものではない。さらに、これら技術は、データや装置のグループを選択するものであり、ネットワーク状に結合されたアルゴリズムの組み合わせをリアルタイムに最適化するものではない。【０００８】
例えば、ディベート人工知能のような論述文生成システムにおいて、出力を出すまでの制限時間がある場合に、時間をぎりぎりまで使って、計算機リソースを最大限に活用し、文書の解析、最適化などを試行し、出てきた多数の候補の中から、最良の論述文を出力するようにしたい。ところが、利用できる計算機リソースや制限時間は、場合によって異なり、また個々のアルゴリズムの実行にかかる時間もディベートの議題によって１０倍以上異なる。このため、システムのパラメタを事前に決定しておくことが難しい。特に、派生バージョンのアルゴリズムのうちのどのアルゴリズムが有効かは、ディベートの議題によって異なる。このため、事前にどのアルゴリズムを重点的に使うかを決定しておくことは不可能である。【０００９】
また、個々のアルゴリズムを個別に評価して、それを積み重ねることでは、最適な組み合わせを見つけることは難しい。例えば、議題に対する論点を選択するアルゴリズムと文書から文を抽出するアルゴリズムが、ある議題に対して、ある特定の組み合わせで効果を発揮することがある。【００１０】
そこで、派生バージョンを含む多数のアルゴリズムがネットワーク状に結合され、個々のアルゴリズムを並列かつ非同期に実行するシステムにおいて、利用するアルゴリズムの組み合わせを、システムへの入力がなされた後に、リアルタイムに最適化することが課題である。【００１１】
本発明はこのような状況に鑑みてなされたものであって、ネットワーク状に結合されたアルゴリズムの組み合わせを自動的に最適化する非同期データ処理技術を提供するものである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、複数のアルゴリズムを用いて処理を行うデータ処理方法に関する。ここで、複数のアルゴリズムは、少なくとも、第１アルゴリズムと、第２アルゴリズム群と、第３アルゴリズム群と、第４アルゴリズムがネットワーク状に結合されて構成されている。そして、第１アルゴリズムは、入力を受付け、処理した結果を第１出力として、アルゴリズムがどの程度使われるかを示す動的な値を持つ活性度に基づいて選択された第２アルゴリズム群に含まれるアルゴリズムに出力する。また、第２アルゴリズム群に含まれるアルゴリズムは、第１出力を処理した結果に対して当該第２アルゴリズム群のアルゴリズムの識別情報を付与し、第２出力として、活性度に基づいて選択された第３アルゴリズム群に含まれるアルゴリズムに出力する。さらに、第３アルゴリズム群に含まれるアルゴリズムは、第２出力を処理した結果に対して第３アルゴリズム群のアルゴリズムの識別情報を付与し、第３出力として、第４アルゴリズムに出力する。第４アルゴリズムは、複数の前記第３出力が前記入力に対して適切であるかを予め与えられたルールに従って評価するとともに、第３出力の評価結果と第３出力に付された複数の識別情報とに基づいて、活性度を修正する。このようにして、入力に対する最適な最終的な出力を取得するためのアルゴリズムの組み合わせを決定する。【００１３】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。【００１４】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１５】
本発明によれば、ネットワーク状に結合されたアルゴリズムの組み合わせを自動的に最適化することができるようになる。
【図面の簡単な説明】
【００１６】
【図１】アルゴリズムがネットワーク状に結合されたシステムを表す模式図である。
【図２】本発明の第１の実施形態による非同期データ処理システム（論述文生成システム）のハードウェア構成を示す図である。
【図３】非同期データ処理システムを構成するサーバの内部ハードウェア構成を示す図である。
【図４】本発明の実施形態による活性度テーブルの構成例を示す図である。
【図５】アルゴリズム間で渡されるメッセージの例を示す図である。
【図６】メッセージを送る処理を説明するためのフローチャートである。
【図７】アルゴリズム１０１の動作を説明するためのフローチャートである。
【図８】アルゴリズム１０４の動作を説明するためのフローチャートである。
【図９】アルゴリズム１０６の動作を説明するためのフローチャートである。
【図１０】アルゴリズム１０９の動作を説明するためのフローチャートである。
【図１１】アルゴリズム１１１が受け取るメッセージの例を示す図である。
【図１２】アルゴリズム１１１の動作を説明するためのフローチャートである。
【図１３】本発明の第２の実施形態による非同期データ処理システム（論述文生成システム）のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１８】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【００１９】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【００２０】
なお、以後の説明では「テーブル」形式によって本発明の情報（図２参照）について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００２１】
また、各情報の内容を説明する際に、「識別情報」、「識別情報」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００２２】
以下では「アルゴリズム（プログラム）」を主語（動作主体）として本発明の実施形態における各処理について説明を行うが、アルゴリズムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、アルゴリズムを主語として開示された処理はサーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２３】
本発明の実施形態では、以下に説明するように、ある議題を与え、これに適する論述文を生成するためのアルゴリズム系列を決定することを例にしているが、本発明は論述文生成に限られるものではない。本発明は、画像認識処理や音声認識処理等にも適用され、一般的には、各アルゴリズムを非同期で実行してデータを処理するための非同期データ処理において、最適なアルゴリズムの組み合わせを決定する全ての処理に適用可能である。
【００２４】
（１）第１実施の形態
本発明の第１の実施形態では、各アルゴリズムが自身のアルゴリズムの識別情報（ＩＤ）を、次のアルゴリズムの入力となるメッセージに付与し、アルゴリズムのＩＤのヒストリを分析することで、アルゴリズムの活性度を変更して、より適切な結果を出力するアルゴリズムが優先的に選択されるようにする。なお、ここで、アルゴリズムの活性度とは、アルゴリズムがどれ位の確率で使用されるかを示す動的な値である。
【００２５】
以下、本発明の第１の実施形態による非同期データシステムについて説明する。本発明の第１の実施形態の非同期データ処理システムは、アルゴリズムがネットワーク状に結合され、個々のアルゴリズムを並列かつ非同期に実行する論述文生成システムである。
【００２６】
＜アルゴリズムネットワークの例＞
図１は、本発明の実施形態で用いられるアルゴリズムネットワークの例を示す図である。図１では、複数のアルゴリズムがネットワーク状に結合され、個々のアルゴリズムを並列かつ非同期に実行するシステムを模式的に表したものである。当該アルゴリズムネットワークは、データ入力のための１つのアルゴリズム１００と、データ出力のための１つのアルゴリズム１１１と、それらの間に設けられる複数段のアルゴリズム群（１０１乃至１０３、１０４及び１０５、１０６乃至１０８、１０９及び１１０）と、によって構成される。
【００２７】
アルゴリズム１００は、データ入力を受け取り、出力をアルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３の少なくとも１つにメッセージとして送る。ここでアルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３は、同じ目的のために使われる異なる派生バージョンのアルゴリズムである。アルゴリズム１００は、メッセージを送って終了ではなく、次から次へと出力を生成し、メッセージとしてアルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３に送り続けてもよい。
【００２８】
アルゴリズム１０１は、アルゴリズム１００から受け取ったメッセージを入力として実行され、出力をアルゴリズム１０４、及びアルゴリズム１０５の少なくとも１つに送る。アルゴリズム１０１は、メッセージを送って終了ではなく、次から次へと出力を生成し、メッセージとしてアルゴリズム１０４、及びアルゴリズム１０５に送り続けてもよい。以下、アルゴリズム１０２、アルゴリズム１０３、アルゴリズム１０４、アルゴリズム１０５、アルゴリズム１０６、アルゴリズム１０７、アルゴリズム１０８、アルゴリズム１０９、アルゴリズム１１０、アルゴリズム１１１も同様である。メッセージを受け取ったアルゴリズムは並列に実行される。図１では、１１個のアルゴリズムがネットワーク状に結合された例を示しているが、この限りではなく、任意の数のアルゴリズムが任意の結合をしている場合でも本発明は適用可能である。
【００２９】
＜システムハードウェア構成＞
図２は、本発明の実施形態による非同期データ処理システム（論述文生成システム）のハードウェア構成を示す図である。図２には、ネットワークを構成する１つ１つのアルゴリズムが４つのサーバに分散して配置されている例が示されている。
【００３０】
非同期データ処理システム２００は、サーバ１_２０１と、サーバ２_２０２と、サーバ３_２０３と、サーバ４_２０４と、活性度テーブル４００（図４参照）と、論点辞書２０５と、英字新聞データベース２０６と、を有し、それぞれがネットワーク２０７を介して接続されている。
【００３１】
サーバ１_２０１は、例えば、アルゴリズム１００、１１０、及び１１１を実行する。サーバ２_２０２は、例えば、アルゴリズム１０１、１０４、及び１０７を実行する。サーバ３_２０３は、例えば、アルゴリズム１０２、１０５、及び１０８を実行する。サーバ４_２０４は、例えば、アルゴリズム１０３、１０６、及び１０９を実行する。アルゴリズムの分散は、図２に示されるような形態以外にも任意の形態を採用することが可能である。
【００３２】
活性度テーブル４００は、後述の図４に示すように、各アルゴリズムにおける事前優先度（固定値）と活性度（動的な値）とを構成情報として有している。
【００３３】
論点辞書２０５は、ディベート等でよく争点となる概念を示す語を格納するデータベースである。英字新聞データベース２０６は、予め英字新聞の記事をキーワード検索できるようにしたデータベースである。英字新聞に限らず、任意の種類の文献や文書をデータベースとして設置しても良い。
【００３４】
なお、図２では４つのサーバにアルゴリズムを分散配置したが、全てのアルゴリズムを１つのサーバ上で実行してもよい。あるいは並列実行をするため、複数のサーバ上にアルゴリズムを分散して配置し、アルゴリズム間で通信して任意の方法でメッセージを受け渡してもよい。
【００３５】
＜サーバの内部構成＞
図３は、本発明の実施形態によるサーバの内部構成を示す図である。サーバ３００は、図２におけるサーバ１_２０１乃至サーバ４_２０４に相当するものである。
【００３６】
サーバ３００は、一般的なコンピュータとして構成することができ、例えば、ＣＰＵ（プロセッサ）３０１と、複数のアルゴリズム（プログラム）を格納するメモリ３０２と、パラメタ等を格納する記憶装置３０３と、他のサーバやデータベースと通信するための通信デバイス３０４と、入出力デバイス３０５と、を有し、これらがバス３０６を介して接続されている。
【００３７】
ＣＰＵ３０１は、メモリ３０２に格納されているアルゴリズム（プログラム）群のうち１つを選択して展開し、実行する。
【００３８】
入出力デバイス３０５は、入力デバイスとしてのキーボードやマウス等、出力デバイスとしてのディスプレイやプリンタ等に相当する。
【００３９】
＜アルゴリズムの概要＞
以下、論述文生成システムを構成するアルゴリズム群を例として、各アルゴリズムの概要について説明する。
【００４０】
例えばディベート人工知能における論述文生成システムにおいては、アルゴリズム１００はディベートの議題をユーザや外部システムから受け取るアルゴリズムである。
【００４１】
アルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３は、議題を自然言語解析し、議題を表す語を出力するアルゴリズムである。ここで、アルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３は、いずれも議題を形態素解析および係り受け解析をし、議題を表す語を抽出して同じフォーマットで出力するが、そのアルゴリズムが異なる。例えば、アルゴリズム１０１は、形態素解析および係り受け解析モジュールとしてOpenNLP（https://opennlp.apache.org/）を使う。アルゴリズム１０２は、形態素解析および係り受け解析モジュールとしてStanford Core NLP（http://nlp.stanford.edu/software/corenlp.shtml）を使う。アルゴリズム１０３は、形態素解析および係り受け解析モジュールとしてEnju（http://www.nactem.ac.uk/enju/index.ja.html）を使う。
【００４２】
アルゴリズム１０４、及びアルゴリズム１０５は、議題に対する論点を論点辞書２０５から選択するアルゴリズムである。ここで論点とは、「health」や「crime」などディベートでよく争点となる概念である。アルゴリズム１０４、及びアルゴリズム１０５は同じフォーマットで論点を出力するが、そのアルゴリズムの内容が異なる。例えば、アルゴリズム１０４は、議題から抽出された語と相関の高い論点を優先的に選択するアルゴリズムを使う。アルゴリズム１０５は、議題から抽出された語とは関係なしに、一般に論じされる頻度が高い論点を優先的に選択するアルゴリズムを使う。
【００４３】
アルゴリズム１０６、アルゴリズム１０７、及びアルゴリズム１０８は、設置されたデータベースから文書を検索し文書から文を抽出するアルゴリズムである。アルゴリズム１０６、アルゴリズム１０７、及びアルゴリズム１０８は、同じフォーマットで検索結果を出力するが、そのアルゴリズムの内容が異なる。例えば、アルゴリズム１０６は、議題に含まれる語が多く出現する文書を優先的に選択し、その文書からポジティブ／ネガティブ語辞書に含まれる語を含む文を抜き出すアルゴリズムである。アルゴリズム１０７は、議題に含まれる語と、前段の議題に対する論点を選択するアルゴリズム１０４又は１０５で選択された論点を表す語、例えば「health」との両方が多く出現する文書を優先的に選択し、その文書から文を抜き出すアルゴリズムである。アルゴリズム１０８は、前段の議題に対する論点を選択するアルゴリズムで選択された論点を表す語の出現頻度と議題に含まれる語の出現頻度の差が大きい文書を優先的に選択し、その文書から議題に対する論点を選択するアルゴリズムで選択された論点を表す語が含まれる文を抜き出すアルゴリズムである。例えば、論点「health」と議題における「casino」の出現頻度を考えると、「health」の出現頻度−「casino」の出現頻度が大きいと「casino」の価値を論じている場合が多く、当該差が小さいとき、或いは、「casino」の出現頻度の方が多いときには、「casinoは楽しい」や「凄いcasinoがある」等、単独で「casino」を話題にしている場合が多い。
【００４４】
アルゴリズム１０９、及びアルゴリズム１１０は、抜き出された文を並び替えて文章を生成するアルゴリズムである。アルゴリズム１０９、及びアルゴリズム１１０は、同じフォーマットで生成文章を出力するが、そのアルゴリズムの内容が異なる。例えば、アルゴリズム１０９は、連なる２文間の単語のオーバーラップが大きくなる（文章の流れが良くなる）ように並べるアルゴリズムである。一方、アルゴリズム１１０は、連なる２文間で含意が成立する（論理的な文章が成立する）ように並べるアルゴリズムである。含意判定には、例えばOSSのEDITS（http://edits.fbk.eu）を用いることができる。
【００４５】
アルゴリズム１１１は、抜き出された文を並べて生成した文章を評価し、論述文として出力するアルゴリズムである。
【００４６】
ここで、論述文を出力するには、いくつかのアルゴリズムのパスが考えられる。例えば、アルゴリズム１００、アルゴリズム１０１、アルゴリズム１０４、アルゴリズム１０６、アルゴリズム１０９、アルゴリズム１１１のパスで論述文を生成できる。また、アルゴリズム１００、アルゴリズム１０１、アルゴリズム１０５、アルゴリズム１０８、アルゴリズム１０９、アルゴリズム１１１のパスでも論述文を生成できる。同様に多数のパスで論述文を生成できるが、パスによって生成される論述文は異なるものとなる。
【００４７】
＜活性度テーブル＞
図４は、アルゴリズムの活性度を格納する活性度テーブルの構成例を示す図である。活性度テーブル４００は、アルゴリズムを一意に識別するためのアルゴリズムＩＤ４０１と、対象アルゴリズムにおける事前優先度４０２と、活性度４０３と、を構成情報として有している。活性度テーブル４００は、全てのアルゴリズムからアクセスできるようになっている。ここで、事前優先度及び活性度は、そのアルゴリズムがどの程度使われるか（確率）を示すパラメタである。事前優先度は、事前に決められた固定のパラメタであり、活性度はシステムを動かしているときに動的に変動するパラメタである。事前優先度に関しては、システムの設計者が事前に任意の数字を設定する。また、ここでは、活性度に関しては、初期値として、一律に１０．０が設定されるものとする。
【００４８】
＜論述文生成システムの動作内容＞
（i）アルゴリズム１００
まず、ディベートの議題として”We should ban casino.”という議題が入力されたとする。アルゴリズム１００は、この議題を受け付け、この議題とアルゴリズムのＩＤをメッセージとしてアルゴリズム１０１、アルゴリズム１０２、及びアルゴリズム１０３の少なくとも１つに送る。
【００４９】
図５は、アルゴリズム１００が送るメッセージの例を示す図である。メッセージ５００は、JSONのフォーマットになっており、議題がmotionというキーに紐づけられている。また、メッセージ５００は、アルゴリズムＩＤとアルゴリズムが開始した時間と終了した時間がリスト形式で、historyというキーに紐づけられている。このhistoryはリストになっており、アルゴリズムを実行するごとに、ＩＤと開始時間、終了時間がリストに追加されていく（図１１参照）。
【００５０】
図６は、ネットワーク状に結合されている任意のアルゴリズムが、次のアルゴリズムにメッセージを送るときの処理を説明するためのフローチャートである。なお、図６ではアルゴリズム１００の動作として説明することとする。
【００５１】
アルゴリズム１００は、活性度テーブル４００の事前優先度と活性度を用いて、どのアルゴリズムにメッセージを送るかを決める（Ｓ６００）。例えば、事前優先度と活性度の積を計算し、その値が１以上のアルゴリズムにメッセージを送る。本発明の実施形態では積を用いているが、積に限らず、任意の計算方法を用いても良い。具体的には、アルゴリズム１００は、事前優先度と活性度の積を計算し、その値が１以上のアルゴリズムを判定する。活性度テーブル４００によれば、
アルゴリズム１０１：  ｐ１０１  ×  ａ１０１  ＝  ６．０
アルゴリズム１０２：  ｐ１０２  ×  ａ１０２  ＝  １．０
アルゴリズム１０３：  ｐ１０３  ×  ａ１０３  ＝  ３．０
となり、アルゴリズム１０１乃至１０３の全てにおいて１以上の値を取っている。
【００５２】
次に、アルゴリズム１００は、上記積の値が１以上の全てのアルゴリズムにメッセージを送る（Ｓ６０１）。Ｓ６００において、全てのアルゴリズムが１以上となっているので、アルゴリズム１００は、アルゴリズム１０１乃至１０３のそれぞれにメッセージを送る。つまり、次の段においてＮ個のアルゴリズムで１以上となった場合は、Ｎ個のアルゴリズムの全てに同じメッセージが送られる。
【００５３】
アルゴリズム１００は、メッセージを送った後、スリープ状態になる（Ｓ６０２）。
【００５４】
そして、あらかじめ決められた時間がたった後、処理はＳ６００に戻り、アルゴリズム１００は、再度、活性度テーブル４００を参照して、メッセージを送るアルゴリズムを決定し、同じ議題をメッセージとして送るという処理を繰り返す。このようにするのは、常にデータを送り続けるとシステムの負荷が過大となってしまうためであり、活性度が更新されないうちに再度データを送っても意味がないからである。繰り返し送信するときには、活性度が更新されている可能性があるため、１度目とは異なるアルゴリズムにメッセージを送ることもあり得る。
【００５５】
なお、ここではアルゴリズム１００を想定してメッセージを送る処理について説明したが、アルゴリズム１０１、アルゴリズム１０２など、ネットワーク上に結合されている任意のアルゴリズムがメッセージを送る場合にも、図６のフローチャートに基づいてメッセージが送信される。
【００５６】
（ii）アルゴリズム１０１
図７は、アルゴリズム１０１の動作を説明するためのフローチャートである。
【００５７】
アルゴリズム１０１は、例えば、ＯｐｅｎＮＬＰ（https://opennlp.apache.org/）を用いて、上記議題について形態素解析および係り受け解析をする（Ｓ７００）。
【００５８】
次に、アルゴリズム１０１は、議題における中心となる動詞とそれの目的格となる名詞句を抽出する（Ｓ７０１）。中心となる動詞とは係り受け解析をしたときROOTの下にある動詞である。例えば、議題として”We should ban casino.”が入力された場合、中心となる動詞として”ban”、目的格となる名詞句として”casino”が抽出される。
【００５９】
アルゴリズム１０１は、Ｓ７０１で抽出された動詞と名詞句をアルゴリズム１００から受け取ったメッセージに追加して後段のアルゴリズムに送るメッセージを生成する（Ｓ７０２）。
【００６０】
そして、アルゴリズム１０１は、アルゴリズムのＩＤ、開始時間、終了時間を新しく作成したメッセージに追記する（Ｓ７０３）。
【００６１】
最後に、アルゴリズム１０１は、図６のフローチャートに従って、後段のアルゴリズムにメッセージを送る（Ｓ７０４）。
【００６２】
なお、アルゴリズム１０２とアルゴリズム１０３は、アルゴリズム１０１の派生バージョンであり、当分野の技術者であれば容易に、アルゴリズム１０１の動作を参考に実施することができるものである。
【００６３】
（iii）アルゴリズム１０４
図８は、アルゴリズム１０４の動作を説明するためのフローチャートである。アルゴリズム１０４は、論点辞書２０５を参照して、議題から抽出された語と相関の高い論点を優先的に選択するアルゴリズムである。論点辞書２０５は、例えば、「health」や「crime」など、ディベートでよく争点となる概念を表す語が格納されている。
【００６４】
アルゴリズム１０４は、論点辞書２０５内の語に対してループする（Ｓ８００）。なお、ここでは、英字新聞等のデータベース２０６は、予めキーワード検索できるようになっているものとする。
【００６５】
アルゴリズム１０４は、議題から抽出された名詞句と論点をクエリとして検索して、見つかった文書の数をカウントする（Ｓ８０１）。キーワード検索は、Solr（http://lucene.apache.org/solr/）などの検索エンジンを用いて実行することができる。
【００６６】
Ｓ８０２でループを終了する。この時点で、議題から抽出された名詞句（例えばcasino）と論点（例えばhealthやcrime）が同時に出現する文書数の最大値から最小値まで得られるので、論点辞書２０５における各論点について序列が決まることとなる。
【００６７】
そして、アルゴリズム１０４は、Ｓ８０２までの処理でカウント数が最大であった論点を受け取ったメッセージに追加して後段のアルゴリズムに送るメッセージを生成する（Ｓ８０３）。
【００６８】
また、アルゴリズム１０４は、アルゴリズムのＩＤ、開始時間、終了時間を新しく作成したメッセージに追記する（Ｓ８０４）。
【００６９】
その後、アルゴリズム１０４は、図６のフローチャートに従って、後段のアルゴリズムにメッセージを送る（Ｓ８０５）。以下では「health」が論点として選択されたとして説明を続けることとする。
【００７０】
なお、アルゴリズム１０５はアルゴリズム１０４の派生バージョンであり、当分野の技術者であれば容易に、アルゴリズム１０４の動作を参考に実施することができるものである。
【００７１】
（iv）アルゴリズム１０６
図９は、アルゴリズム１０６の動作を説明するためのフローチャートである。アルゴリズム１０６は、議題に含まれる語が多く出現する文書を優先的に選択し、その文書からポジティブ／ネガティブ語辞書（図示せず）に含まれる語を含む文を抜き出すアルゴリズムである。
【００７２】
アルゴリズム１０６は、議題から抽出された名詞句「casino」と論点「health」をクエリとして英字新聞などをキーワード検索し、上位１０００件の記事を取り出す（Ｓ９００）。キーワード検索はSolr（http://lucene.apache.org/solr/）などの検索エンジンを用いて実行することができる。ここで「上位１０００件」とは、Solrが並び替えた検索結果（例えば、検索ワードの出現頻度や検索単語が２つある場合に２単語の出現箇所の距離等で検索結果が並び替えられる）のうち上位１０００件を意味する。なお、「１０００件」は一例に過ぎない。
【００７３】
アルゴリズム１０６は、Ｓ９００において抽出された１０００件の文書・記事に対して処理をループする（Ｓ９０１）。
【００７４】
アルゴリズム１０６は、抽出された１０００件の文書のそれぞれについて、議題から抽出された名詞句「casino」の文書内での出現頻度をカウントする（Ｓ９０２）。
【００７５】
抽出された全ての文書について議題から抽出された名詞句の出現頻度がカウントされれば、ループは終了する（Ｓ９０３）。
【００７６】
そして、アルゴリズム１０６は、「casino」の出現頻度が多かった上位１０件の文書に対して処理をループする（Ｓ９０４）。なお、「１０件」も一例に過ぎない。
【００７７】
アルゴリズム１０６は、上位１０件の文書について、議題から抽出された動詞「ban」と極性の一致する単語を含む文を抜き出す（Ｓ９０５）。具体的には、アルゴリズム１０６は、ポジティブ語／ネガティブ語の辞書（図示しない）を参照し、この辞書と付き合わせることにより抽出された動詞の極性を判定する。例えば、「ban」はネガティブ語として辞書に登録されているため、極性はネガティブと判定される。一方、検索された文書が「Casino causes health problems.」という文を含んでいる場合、「problem」がネガティブ語として辞書に登録されており、「ban」の極性と一致する。このため、Ｓ９０５でこの文が抜き出される。同様に、Ｓ９０４のループ内で１０件の文書から多数の文が抜き出される。そして、Ｓ９０６でループが終了する。
【００７８】
次に、アルゴリズム１０６は、Ｓ９０４乃至Ｓ９０６で抜き出された全ての文を、受け取ったメッセージに追加して、後段のアルゴリズムに送るメッセージを生成する（Ｓ９０７）。
【００７９】
また、アルゴリズム１０６は、アルゴリズムＩＤ、開始時間、終了時間を新しく作成したメッセージに追記する（Ｓ９０８）。
【００８０】
最後に、アルゴリズム１０６は、図６のフローチャートに従って、後段のアルゴリズムに生成したメッセージを送る（Ｓ９０９）。
【００８１】
なお、アルゴリズム１０７及びアルゴリズム１０８は、アルゴリズム１０６の派生バージョンであり、当分野の技術者であれば容易に、アルゴリズム１０６の動作を参考に実施することができるものである。
【００８２】
（v）アルゴリズム１０９
図１０は、アルゴリズム１０９の動作を説明するためのフローチャートである。アルゴリズム１０９は、連なる２文間の単語のオーバーラップが大きくなるように並べるアルゴリズムである。
【００８３】
まず、アルゴリズム１０９は、前段のアルゴリズムから受け取った文の集合の中から、議題から抽出された名詞句を含む文を１文選択する（Ｓ１０００）。条件を満たす文が複数あるときはランダムに１文を選ぶ。受け取った文の集合には、議題の名詞句（casino）が含まれている文と含まれていない文が混在しているので、含まれている文が選択される。
【００８４】
アルゴリズム１０９は、次の処理であるＳ１００２をＮ＝１から６まで６回ループをさせる（Ｓ１００１）。Ｎ＝６は単なる例であり、ループ回数は任意の回数適用可能である。
【００８５】
そして、アルゴリズム１０９は、直前に選択した文（Ｓ１０００で選択した文）と重複する単語の数が最も多い文を、まだ選択されていない文集合の中から選択する（Ｓ１００２）。なお、まだ選択されていない文がない場合にはループは直ちに終了する。
【００８６】
６つの文が選択されると、アルゴリズム１０９は、当該ループを終了させる（Ｓ１００３）。この時点で、最大７つの文が選択されている。つまり、Ｓ１０００で選択された１文とＳ１００１からＳ１００３までで選択された６文の、計７文である。
【００８７】
次に、アルゴリズム１０９は、選択された順に文をつないで文章を生成し、この文章を受け取ったメッセージに追加して、後段のアルゴリズムに送るメッセージを生成する（Ｓ１００４）。
【００８８】
続いて、アルゴリズム１０９は、アルゴリズムのＩＤ、開始時間、終了時間を新しく作成したメッセージに追記する（Ｓ１００５）。
【００８９】
最後に、アルゴリズム１０９は、図６のフローチャートに従って、後段のアルゴリズム（アルゴリズム１１１）にメッセージを送る（Ｓ１００６）。
【００９０】
なお、アルゴリズム１１０はアルゴリズム１０９の派生バージョンであり、当分野の技術者であれば容易に、アルゴリズム１０９の動作を参考に実施することができるものである。
【００９１】
（vi）メッセージの構成例
図１１は、アルゴリズム１１１が受け取ったメッセージの例を示す図である。メッセージ１１００には、前段のアルゴリズムが出力した論述文などのデータの他、これまでに通ってきたアルゴリズムのヒストリがhistory欄に記録されている。また、ヒストリにはアルゴリズムのＩＤとそれぞれの開始時間、終了時間を記録されている。
【００９２】
（vi）アルゴリズム１１１
図１２は、アルゴリズム１１１の動作を説明するためのフローチャートである。アルゴリズム１１１が実行される時点では、文章が生成されている。つまり、アルゴリズム１００によりディベートの議題がユーザや外部システムから受け取られ、アルゴリズム１０１またはアルゴリズム１０２またはアルゴリズム１０３により議題を表す語が抽出される。そして、アルゴリズム１０４またアルゴリズム１０５により議題に対する論点を選択され、アルゴリズム１０６またはアルゴリズム１０７またはアルゴリズム１０８により文書を検索し文書から文が抜き出される。さらに、アルゴリズム１０９またはアルゴリズム１１０によりは抜き出された文が並び替えられて、７文から構成される文章が生成されている。アルゴリズム１１１は、この並び替えられて生成された文章を、議題に対する意見を述べた論述文の候補とみなし、評価して、評価値が高いものを最終的な出力とするアルゴリズムである。
【００９３】
まず、アルゴリズム１１１は、言語モデルを使って生成された論述文の良さを評価する（Ｓ１２００）。これは統計的機械翻訳で用いられる手法と同様の方法で実施できる（Philipp Koehn、"Statistical Machine Translation"、Cambridge University Press、2009）。具体的には、人が作成した論述文のデータを集めて、これらをn-gram言語モデルやニューラルネットワーク言語モデル（ボッレーガラ ダヌシカ、自然言語処理のための深層学習、人工知能学会誌、29(2)、 195-201、 2014）などの公知の方法を用いて予めモデル化する。このモデルに対して、生成された論述文を当てはめ尤度を計算することで、論述文の評価値とすることができる。評価方法はこの限りではなく、その他の公知の方法やヒューリスティックなルールや基準を用いて、生成された論述文を評価することができる。
【００９４】
次に、アルゴリズム１１１は、生成された論述文、評価値、入力から文章生成までに掛かった実行時間を、後に参照できるように任意の方法でメモリ３０２或いは記憶装置３０３に保存する（Ｓ１２０１）。
【００９５】
また、アルゴリズム１１１は、受け取ったメッセージ（図１１参照）のヒストリを参照して、活性度テーブル４００を更新する（Ｓ１２０２）。活性度テーブル４００を更新する場合、アルゴリズム１１１は、各アルゴリズムのヒストリと評価値に基づいて、更新の仕方を決定する。更新の仕方には様々なヒューリスティックな方法を用いることが可能である。その一例として、対象となる文章の評価値がこれまでの評価値の平均（様々なアルゴリズムのパスの評価値の平均）よりも小さい場合に、ヒストリにあるアルゴリズムの活性度を一律に下げる方法が挙げられる。例えば、アルゴリズム１１１は、図１１のメッセージを受け取り、その評価値が平均より小さい場合、アルゴリズム１００、アルゴリズム１０１、アルゴリズム１０４、アルゴリズム１０６、及びアルゴリズム１０９の活性度を０．１下げる。各アルゴリズムは図６のフローチャートに従って、次のアルゴリズムにメッセージを送るため、評価値が小さい論述文を生成するアルゴリズムの活性度が下がり、メッセージが送られにくくなり、次第にそのアルゴリズムが使われなくなる。また、別の例として、逆張りで活性度を更新する方法が挙げられる。平均よりも小さい評価値が５０回連続で出た場合には、活性度が最も小さいアルゴリズムの活性度を２．０上げる方法である。これにより、低い評価値で収束しているときに、探索範囲を広げることができる。さらに別の例として、アルゴリズムの実行にかかった時間を勘案して活性度を更新する方法が挙げられる。アルゴリズム１１１が受け取ったメッセージ１１００には、アルゴリズムのＩＤと共に、各アルゴリズムの開始時間と終了時間が記録されている。この例の場合、アルゴリズムの実行時間の合計が平均より大きい場合には、ヒストリにあるアルゴリズムの活性度を一律に０．１下げる。これにより時間のかかるアルゴリズムの活性度が下がり、次第にそのアルゴリズムが使われなくなる。
【００９６】
続いて、アルゴリズム１１１は、予め設定された制限時間に達しているか否か判断する（Ｓ１２０３）。予め設定された制限時間に達していない場合（Ｓ１２０３でＮｏの場合）は、そのまま処理は終了する。この場合、各アルゴリズムは図６のフローチャートに従っているため、スリープ後に再び活性度テーブルを参照してメッセージを送り直すことになる。従って、図１のネットワーク状につながれたアルゴリズムの中を、メッセージが常に送られ続ける。再びメッセージがアルゴリズム１１１に到着した場合、再び図１２のフローチャートに従ってアルゴリズム１１１が実行される。一方、予め設定された制限時間に達している場合（Ｓ１２０３でＹｅｓの場合）、処理はＳ１２０４に移行する。
【００９７】
最後に、アルゴリズム１１１は、保存されたすべての論述文の評価値を比較して最も評価値が高いものを最終的な論述文として出力する（Ｓ１２０４）。
【００９８】
（２）第２の実施形態
第２の実施形態は、活性度テーブル４００において、類似の議題で過去にシステムを実行したときに得られた最終的な活性度の値を事前優先度の値として用いるものである。
【００９９】
例えば、“WE SHOULD BAN CASINO.”という議題に対して、過去にシステムが処理を実行していて、処理が終了したときの最終的な活性度が得られていたとする。次に、システムを経済に関連する議題に対して使うとわかっている場合、ユーザが“WE SHOULD BAN CASINO.”という議題は経済と関連があると判定して、この活性度を事前優先度として設定することができる。
【０１００】
図１３は、本発明の第２の実施形態による非同期データ処理システム（論述文生成システム）のハードウェア構成を示す図である。第１の実施形態による非同期データ処理システム（図２）と同じ構成要素については同一の参照番号が付されている。第１の実施形態と比較して第２の実施形態において追加されているものは過去の活性度データベース１３０１である。上述のように、過去の活性度データベース１３０１は、例えば、過去の議題の分野の情報と、過去の議題の情報と、そのときに設定された、各アルゴリズム（アルゴリズム１０１乃至１１０のそれぞれ）の活性度の値と、を構成情報として有している。ユーザは、図示しない利用者端末或いは管理端末を用いて、過去の活性度データベース１３０１にアクセスし、これから処理しようとする議題と類似する過去の議題を選択すると、その選択に応答して、図示しない利用者端末或いは管理端末は、選択された議題に対応する過去の活性度の値を各サーバに送信する。そして、活性度の値を受信した各サーバは、その値を事前優先度の値として設定する。なお、この場合でも、活性度の初期値は所定の値（例えば、１０．０）に設定される。
【０１０１】
その他の構成及び動作については、第１の実施形態と同様であるので、説明は省略する。
【０１０２】
（３）まとめ
（i）本発明による非同期データ処理では、入力部及び出力部のアルゴリズムは１つずつ設けられ、その間のアルゴリズム群（少なくとも２つのアルゴリズムが含まれる）は少なくとも２つ設けられる。従って、複数のアルゴリズムがネットワーク上に結合されており、入力部から出力部まで複数のパスを取ることが可能となっている。本発明は、この複数のパスのうち、入力に対して最適なパスを決定する処理を実行するものである。最適なパスは、最終的な出力の評価値によって決定され、この評価値に基づいて、中間における各アルゴリズム群の各アルゴリズムの活性度（アルゴリズムがどの程度使用されるかを示す確率的な値）が動的に変更される。つまり、制限時間内で活性度を修正・変更すること＝制限時間内に最適なアルゴリズムの組み合わせ（最適パス）を決定することである。
【０１０３】
以上のように、評価結果に基づいて、入力に対して有効／無効なアルゴリズムを識別情報（ＩＤ）により特定し、当該アルゴリズムの活性度を修正することにより、より適切な結果を出力するアルゴリズムを優先的に選択することができるようになる。そして、派生バージョンを含む多数のアルゴリズムがネットワーク状に結合され、個々のアルゴリズムを並列かつ非同期に実行するシステムにおいて、利用するアルゴリズムの組み合わせを、システムへの入力がなされた後に、リアルタイムに最適化することができる。
【０１０４】
（ii）本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１０５】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【０１０６】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【０１０７】
２００  非同期データ処理システム
２０１  サーバ１
２０２  サーバ２
２０３  サーバ３
２０４  サーバ４
２０５  論点辞書
２０６  英字新聞データベース
３００  サーバ
３０１  ＣＰＵ
３０２  メモリ
３０３  記憶装置
３０４  通信デバイス
３０５  入出力デバイス
４００  活性度テーブル
１３００  非同期データ処理システム
１３０１  過去の活性度データベース
【図１】
2016046878.tif 000003
【図２】
2016046878.tif 000004
【図３】
2016046878.tif 000005
【図４】
2016046878.tif 000006
【図５】
2016046878.tif 000007
【図６】
2016046878.tif 000008
【図７】
2016046878.tif 000009
【図８】
2016046878.tif 000010
【図９】
2016046878.tif 000011
【図１０】
2016046878.tif 000012
【図１１】
2016046878.tif 000013
【図１２】
2016046878.tif 000014
【図１３】
2016046878.tif 000015
【国際調査報告】
2016046878.tif 000016
2016046878.tif 000017