(57)【要約】      （修正有）【課題】フィードバック制御付き機能モジュール組み合わせ方法及び装置並びにデータ処理方法及び設備を提供する。【解決手段】所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、所定領域に関する領域オントロジーを構築するステップＳ１１０、領域オントロジーに基づいて、機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせるステップＳ１２０、領域オントロジーに基づいて、機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュール中から、互いに組み合わせることができる複数の機能モジュールを選択し、所定処理を実行するよう組み合わせるステップＳ１３０を含み、複数の機能モジュールのうちの少なくとも２つの機能モジュールの間にはフィードバック制御が存在する。【選択図】図１
2014219988.tif 000002
【特許請求の範囲】
【請求項１】
フィードバック制御付き機能モジュール組み合わせ方法であって、
所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、前記所定領域に関する領域オントロジーを構築する、領域オントロジー構築ステップ；
構築した前記領域オントロジーに基づいて、前記機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、機能モジュールカプセル化ステップ；及び
構築した前記領域オントロジーに基づいて、前記機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュール中から、互いに組み合わせることができる複数の機能モジュールを選択し、選択した前記複数の機能モジュールを、所定処理を実行するよう組み合わせる、機能モジュール組み合わせステップを含み、
前記複数の機能モジュールのうちの少なくとも２つの機能モジュールの間には、フィードバック制御が存在する、機能モジュール組み合わせ方法。
【請求項２】
請求項1に記載の機能モジュール組み合わせ方法であって、
前記機能モジュールカプセル化ステップは、さらに、
前記領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成する、記述ファイル生成サブステップ；
所定フォーマットを採用して、各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュールの間の交互性を実現する、フォーマット統一サブステップ；及び
機能モジュール組み合わせエンジンの要求に応じて、フォーマット統一後の機能モジュールを調整し、調整後の機能モジュールを前記機能モジュール組み合わせエンジンにより組み合わせることができるようにさせる、機能モジュール調整サブステップを含む、機能モジュール組み合わせ方法。
【請求項３】
請求項1又は2に記載の機能モジュール組み合わせ方法であって、
前記特定領域は、自然言語処理領域であり、前記所定処理は、入力された自然言語に含まれる語素単位及びその属性を得るための、前記入力された自然言語に対して行う処理である、機能モジュール組み合わせ方法。
【請求項４】
フィードバック制御付き機能モジュール組み合わせ装置であって、
所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、前記特定領域に関する領域オントロジーを構築する、領域オントロジー構築ユニット；
構築した前記領域オントロジーに基づいて、前記機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、機能モジュールカプセル化ユニット；及び
構築した前記領域オントロジーに基づいて、前記機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュール中から、互いに組み合わせることができる複数の機能モジュールを選択し、選択した前記複数の機能モジュールを、所定処理を実行するよう組み合わせる、機能モジュール組み合わせユニットを含み、
前記複数の機能モジュールのうちの少なくとも２つの機能モジュールの間には、フィードバック制御が存在する、機能モジュール組み合わせ装置。
【請求項５】
請求項4に記載の機能モジュール組み合わせ装置であって、
前記機能モジュールカプセル化ユニットは、さらに、
前記領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成する、記述ファイル生成部；
所定フォーマットを採用して、各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュールの間の交互性を実現する、フォーマット統一部；及び
能モジュール組み合わせエンジンの要求に応じて、フォーマット統一後の機能モジュールを調整し、調整後の機能モジュールを前記機能モジュール組み合わせエンジンにより組み合わせることができるようにさせる、機能モジュール調整部を含む、機能モジュール組み合わせ装置。
【請求項６】
請求項4又は5に記載の機能モジュール組み合わせ装置であって、
前記特定領域は、自然言語処理領域であり、前記所定処理は、入力された自然言語に含まれる語素単位及びその属性を得るための、前記入力された自然言語に対して行う処理である、機能モジュール組み合わせ装置。
【請求項７】
請求項1〜3の任意の１項に記載の機能モジュール組み合わせ方法により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う方法であって、
前記フィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、前記線形組み合わせを有する機能モジュールを実行し、前記データに対して処理を行う、機能モジュール線形サブ組み合わせ実行ステップ；及び
前記フィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、前記データに対して処理を行うプロセスにおいて、前記第二機能モジュールの出力が所定条件を満足するかどうかを判断し、満足すれば、前記フィードバック制御を終了して前記データの処理を続けて行い、満足しなければ、前記第二機能モジュールの出力が前記所定条件を満足するまでに前記フィードバック制御を行う、フィードバック制御付き機能モジュールサブ組み合わせ実行ステップを含み、
前記第二機能モジュールの出力が前記第一機能モジュールのフィードバック制御の入力とされる、方法。
【請求項８】
請求項7に記載の方法であって、さらに、
前記フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、前記複数の出力がそれぞれ前記フィードバック制御付き機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ前記１つの機能モジュールと、前記他の複数の機能モジュールのうちの少なくとも２つの機能モジュールとの間にフィードバック制御が同時に存在すれば、前記１つの機能モジュールと、前記少なくとも２つの機能モジュールとの間のフィードバック制御を並列に実行する、フィードバック制御並列実行ステップを含む、方法。
【請求項９】
請求項4〜6の任意の１項に記載の機能モジュール組み合わせ装置により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う設備であって、
前記機能モジュール組み合わせ装置により得られたフィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、前記線形組み合わせを有する機能モジュールを実行し、前記データに対して処理を行う、機能モジュール線形サブ組み合わせ実行ユニット；及び
前記フィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、前記データに対して処理を行うプロセスにおいて、前記第二機能モジュールの出力が所定条件を満足するかどうかを判断し、満足すれば、フィードバック制御を終了して前記データの処理を続けて行い、満足しなければ、前記第二機能モジュールの出力が前記所定条件を満足するまでに前記フィードバック制御を行う、フィードバック制御付き機能モジュールサブ組み合わせ実行ユニットを含み、
前記第二機能モジュールの出力が前記第一機能モジュールのフィードバック制御の入力とされる、設備。
【請求項１０】
請求項9に記載の設備であって、さらに、
前記フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、前記複数の出力がそれぞれ前記フィードバック制御付き機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ前記１つの機能モジュールと、前記他の複数の機能モジュールのうちの少なくとも２つの機能モジュールとの間にフィードバック制御が同時に存在すれば、前記１つの機能モジュールと、前記少なくとも２つの機能モジュールとの間のフィードバック制御を並列に実行する、フィードバック制御並列実行ユニットを含む、設備。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能モジュール組み合わせ技術に関し、特に、フィードバック制御付き機能モジュール組み合わせ方法及び装置、並びに、該機能モジュール組み合わせ方法及び装置により得られたフィードバック制御付き機能モジュール組み合わせを用いて、データに対して処理を行うデータ処理方法及び設備に関する。
【背景技術】
【０００２】
各領域（分野）では、複数のタスクを実行して所定処理を実現する時に、１つのタスクは、通常、他のタスクに基づいて実行する必要がある。例えば、NLP（自然言語処理）分野では、テキストの広汎性及びテキストの数量が絶えずに増加することにつれて、テキストを自動処理し得るシステムが開発されている。このようなシステムは、通常、複数の独立した機能モジュールの組み合わせにより構成され、且つ、パイプライン又はワークフローの方式でワーキングする。例えば、固有名認識ツールについて言えば、その処理対象としてのオリジナルテキストは、既に文切り処理及び単語分けがなされており、且つ、文切り及び単語分け機能モジュールは、２つの独立した機能モジュールである。
【０００３】
今のところ、１つの特定のオリジナルタスクについては、それに対応する機能モジュールを見つけることができるが、キー問題は、如何に異なる出所（source）の機能モジュールを有効に組み合わせて所定処理を行い、重複開発を防ぎ処理効率を向上させるかにある。従来のパイプライン又はワークフローの方式で設計されたシステムでは、各機能モジュールは、通常、線形的に組み合わせられ、且つ、処理プロセスは、組み合わせの順序に従って、順に各機能モジュールを通過するのである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以上のことに鑑み、本発明の目的は、フィードバック制御付き機能モジュール組み合わせ方法及び装置、並びに、該機能モジュール組み合わせ方法及び装置により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータ処理を行う方法及び設備を提供することにある。これにより、各機能モジュール間の交互性（interactivity）を考慮し、組み合わせ後のシステムの全体パフォーマンスを向上させることができる。
【課題を解決するための手段】
【０００５】
本発明の一側面によれば、フィードバック制御付き機能モジュール組み合わせ方法が提供され、該方法は、
所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、該特定領域の領域オントロジーを構築する領域オントロジー構築ステップ；
構築した領域オントロジーに基づいて、機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる機能モジュールカプセル化ステップ；及び
構築した領域オントロジーに基づいて、機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択し、選択した複数の機能モジュールを所定処理を実行するよう組み合わせる機能モジュール組み合わせステップを含み、そのうち、複数の機能モジュールのうちの少なくとも２つの機能モジュールの間には、フィードバック制御が存在する。
【０００６】
また、本発明の他の側面によれば、上述の機能モジュール組み合わせ方法により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う方法が提供され、該方法は、
フィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、線形組み合わせを有する機能モジュールを実行し、データに対して処理を行う機能モジュール線形サブ組み合わせ実行ステップ；及び
フィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、データに対して処理を行うプロセスにおいて、第二機能モジュールの出力が所定条件を満足するかどうかを判断し、満足すれば、フィードバック制御を終了してデータ処理を続けて行い、満足しなければ、第二機能モジュールの出力が所定条件を満足するまでに、フィードバック制御を繰り返して実行する、フィードバック制御付き機能モジュールサブ組み合わせ実行ステップを含み、そのうち、第二機能モジュールの出力が第一機能モジュールのフィードバック制御入力とされる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施例によるフィードバック制御付き機能モジュール組み合わせ方法のフローチャートである。
【図２】図1に示す機能モジュール組み合わせ方法における機能モジュールカプセル化ステップのフローチャートである。
【図３】本発明の一実施例によるフィードバック制御付き機能モジュール組み合わせ装置の機能ブロック図である。
【図４】図3に示す機能モジュール組み合わせ装置における機能モジュールカプセル化ユニットの機能ブロック図である。
【図５】本発明の一実施例による、機能モジュール組み合わせ方法により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う方法のフローチャートである。
【図６】本発明の一実施例による機能モジュール組み合わせを採用してデータ処理を実行するプロセスの一例のフローチャートである。
【図７】本発明の一実施例による、機能モジュール組み合わせ装置により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う設備の機能ブロック図である。
【図８】本発明の実施例に採用される情報処理設備としてのパーソナルコンピュータの一例の構造ブロック図である。
【発明を実施するための形態】
【０００８】
以下、図1乃至図8を参照しながら本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ方法及び装置、並びに、得られたフィードバック制御付き機能モジュール組み合わせを用いてデータ処理を行うデータ処理方法及び設備を詳しく説明する。
【０００９】
先ず、図1を参照しながら本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ方法の処理プロセスを説明する。
【００１０】
図1に示すように、該フィードバック制御付き機能モジュール組み合わせ方法は、領域オントロジー（領域オントロジー（domain  ontology）は、１種類のデータベースである）構築ステップS110、機能モジュールカプセル化ステップS120、及び機能モジュール組み合わせステップS130を含んでもよい。以下、具体的な例を基に、各ステップにおける処理を詳しく説明する。
【００１１】
領域オントロジー構築ステップS110では、特定領域（所定領域）に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、該特定領域の領域オントロジーを構築する。
【００１２】
当業者が周知のように、領域オントロジーは、特定領域における概念及び概念間の関係を正確に記述（description）するものである。好ましくは、RDF（Resource  Description  Framework）を採用してオントロジーを記述し、RDFは、XML（Extensible  Markup  Language）文法及びRDFS（RDFスキーマ）を採用してメタデータをデータモデルとして記述する。RDFは、通常、トリプル（即ち、主語（subject）、述語（predicate）、及び目的語（object）の3つの要素でリソースに関する関係情報を表現するとのこと）を採用してリソースを記述し、そのうち、唯一のURI（Uniform  Resource  Identifier）を採用してリソースを識別し、且つ、属性及び属性値を採用してリソースを記述する。一例として、RDFを採用して構築した領域オントロジーにおける概念“Word（単語）”及び“Date（期日）”のオントロジー定義が表１に示される。
【表１】
2014219988.tif 000003
【００１３】
以上のオントロジー定義の例から分かるように、RDFを採用してオントロジーを記述することは、さらに、オントロジー間の階層関係を保つことができ、例えば、“date”は、“word”のサブクラスである。また、URIを採用してオントロジーを唯一に識別するので、オントロジーを高速にサーチ（search）及びアドレッシング(addressing)することに有利である。
【００１４】
また、領域オントロジーを構築する時に、該領域おける定義済みのオントロジーの再使用を考慮し、存在しないオントロジーについては、ユーザは、RDF文法規則に基づいて、それに対して定義を行うことができる。例えば、新しい機能モジュールを追加して特定タスクを実行する時に、既に構築されたオントロジー（データベース）に、該機能モジュールの入力及び出力に対応するオントロジーがあるかどうかをチェックし、なければ、ユーザは、該機能モジュールに対応するオントロジーを定義し、そして、定義したものをオントロジー（データベース）に追加することができる。
【００１５】
なお、ここでRDFを採用してオントロジーを記述しているが、当業者は、この分野における他の周知方法を採用してオントロジーに対して定義を行ってもよい。
【００１６】
次に、機能モジュールカプセル化ステップS120では、構築した領域オントロジーに基づいて機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができる形式（フォーマット）を有するようにさせる。
【００１７】
なお、機能モジュールに対してカプセル化を行う目的は、後続の処理において、機能モジュールの組み合わせをより簡単に行うことができるとのことにある。以下、図2を参照しながら機能モジュールカプセル化ステップにおける処理プロセスの一例を詳しく説明する。
【００１８】
図2に示すように、機能モジュールカプセル化ステップS120は、記述ファイル生成サブステップS210、フォーマット統一サブステップS220、及び機能モジュール調整サブステップS230を含んでもよい。以下、各ステップにおける詳細な処理についてそれぞれ述べる。
【００１９】
記述ファイル生成サブステップS210では、構築した領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成する。なお、入力及び出力に関する情報以外、記述ファイルには、さらに、機能モジュールの開発者（developer）、開発言語（language）、名前（name）等に関する情報を含んでもよい。複数の入力及び複数の出力を含む機能モジュールについては、記述ファイルにおいて、これらの複数の入力及び複数の出力についてすべて記述する。依然としてRDF技術を例とし、以下、単語分けツール（Word  Segment）に関する一部の記述情報の例が表２に示される。
【表２】
2014219988.tif 000004
【００２０】
上述の記述情報から分かるように、単語分けツールは、２種類の入力（即ち、String及びWord）及び１種類の出力（即ち、Word）を含み、且つ、単語分けツールは、その入力及び出力を識別するURIに基づいて、領域オントロジーにおいてその入力及び出力のオントロジー定義をサーチすることができる。
【００２１】
次に、フォーマット統一サブステップS220では、特定フォーマットを採用して各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュール間の交互性を実現する。
【００２２】
好ましくは、例として、NLP領域において、NIF（NLP交換フォーマット）を採用して入力及び出力をNIF形式に変換し、機能モジュール間の交互性を実現する。NIFは、１種類のRDF/OWL（ネットワークオントロジー言語）ベースのフォーマットであるので、フォーマット統一後の入力及び出力は、実際には、RDFフォーマットの文字列である。なお、ここで採用するNIFは、自然言語処理分野における一例のみであり、他の分野においては、当業者は、他の周知の適切なフォーマットを採用して機能モジュールの入力及び出力のフォーマットを統一してもよい。
【００２３】
その後、機能モジュール調整サブステップS230では、機能モジュール組み合わせエンジンの要求に基づいて、フォーマット統一後の機能モジュールに対して調整を行い、調整後の機能モジュールを該機能モジュール組み合わせエンジンにより組み合わせることができるようにさせる。
【００２４】
機能モジュール組み合わせエンジンは、後述の機能モジュール組み合わせステップに使用する、カプセル化後の機能モジュールに対して組み合わせを行うエンジンであり、それは、ワークフローを提供し機能モジュールに対して組織する（組みわせる）ことができる。よって、機能モジュール組み合わせエンジンの要求を満たす機能モジュールのみは、該エンジンによりコール（call）されて、ワークフローに組織（構成）されることが可能である。
【００２５】
依然としてNLP領域を例とし、Apache  UIMAＴＭを機能モジュール組み合わせエンジンとして採用してもよく、そのうち、UIMAは、非構造化内容を分析するためのコンポーネントアーキテクチャ及びソフトウェアフレームワークの実現である。Apache  UIMAＴＭを採用する場合、該調整操作は、例えば、各機能モジュールをUIMA中のAE（分析エンジン）としてカプセル化し、且つ、上述のNIF文字列を保存するために各AEに１つの共通の注釈を追加し、これによって、機能モジュールの間においてコールを便利に行うことができる。
【００２６】
なお、以上に図2を基に述べた機能モジュールカプセル化の処理プロセス及び採用した技術は、例示的なものだけであり、限定するためのものでなく、且つ、当業者は、NLP領域とは異なる領域の場合、該領域に応じて、他の適切な技術を採用してもよい。
【００２７】
次に、図1を再び参照するに、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ方法をさらに説明する。
【００２８】
機能モジュール組み合わせステップS130では、構築した領域オントロジーに基づいて、機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択し、そして、選択した複数の機能モジュールを組み合わせて、所定処理の実行に供する。この複数の機能モジュールにおける少なくとも２つの機能モジュールの間には、フィードバック制御が存在する。
【００２９】
好ましくは、ユーザは、簡単にドラッグ（drag）により、組み合わせる必要がある機能モジュールを選択してもよい。組み合わせを行う前に、記述ファイル生成ステップで生成した各機能モジュールの記述ファイルに基づいて、選択した機能モジュールを組み合わせることができるかどうかをチェックする必要がある。
【００３０】
具体的には、選択した機能モジュールにおける任意の第一機能モジュール及び第二機能モジュールについては、第一機能モジュールの出力が第二機能モジュールの入力とは同じであり、又は、第二機能モジュールの入力のサブセット（subset）であれば、第一機能モジュールと第二機能モジュールとを組み合わせることができると確定してもよい。例えば、単語分けツール及び時間期日識別ツールを例とし、この２つのツールの記述ファイルによれば、単語分けツールの出力が“Word”であり、時間期日識別ツールの入力とは同じであるので、単語分けツールの後に時間期日識別ツールを繋げることができると確定しても良い。
【００３１】
また、第二機能モジュールの出力が、第一機能モジュールの入力とは同じであり、又は、第一機能モジュールの入力のサブセットであれば、第一機能モジュールと第二機能モジュールとの間にフィードバック制御が存在し且つ両者を互いに組み合わせることができると確定してもよい。例えば、依然として単語分けツール及び時間期日識別ツールを例とし、先ず単語分けツールの後に時間期日識別ツールを接続することができると確定した後に、記述ファイルによれば、単語分けツールが２種類の入力（即ち、String及びWord）を含み、時間期日識別ツールの２種類の出力（即ち、Time（時間）及びDate（期日））が全て“Word”のサブクラスであるので、時間期日識別ツールが単語分けツールにフィードバック情報を提供することができると確定してもよい。
【００３２】
逆に、上述の条件を満たさない場合、選択した機能モジュールを組み合わせることができないと判断し、ユーザは再び選択を行う必要がある。
【００３３】
互いに組み合わせることができる機能モジュールを選択した後に、例えば、上述の機能モジュール組み合わせエンジンApache  UIMAＴＭが提供した所定処理の実行用のワークフローにより、選択した機能モジュールを組織する（即ち、組み合わせる）ことができる。
【００３４】
NLP領域では、該所定処理は、例えば、入力された自然言語を処理し、入力された自然言語に含まれる語素単位及びその属性を得る処理であってもよい。例えば、固有名認識ツールについて言えば、該所定処理は、入力文字列に含まれる実体名称及びその類別を識別する処理であっても良い。
【００３５】
なお、以上は、NLP領域を例とし、図1乃至図2を基に、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ方法を説明したが、本発明は、これに限定されず、他の領域に応用し得ることも明らかである。また、当業者が理解できるのは、図面に示すフローチャートは、例示的なものだけであり、且つ、実際の応用及び具体的なニーズが異なることに応じて、上述の方法のプロセスに対してそれ相応の変更を行ってもよい。また、以上に示した例は、本発明を限定するものではなく、当業者は、教示されている原理に基づいて、上述のプロセスを適切に変更し他の領域に応用してもよい。
【００３６】
上述の本発明の実施例によれば、実際には各オリジナルタスクを実行する各機能モジュール間に交互性が存在し、即ち、第一機能モジュールの出力が第二機能モジュールの入力であり、第二機能モジュールの出力が第一機能モジュールの入力であるようなことが存在し、言い換えれば、第一機能モジュールと第二機能モジュールとの間にフィードバック制御を存在し、このようなフィードバック制御により、出力結果をユーザの所望の結果により良く一致させることができる。しかし、従来の機能モジュール線形組み合わせ方法では、各独立した機能モジュール間の交互性を考慮せず、最終処理結果に誤差をもたらしてしまう。
【００３７】
また、本発明は、上述のフィードバック制御付き機能モジュール組み合わせ方法に対応するように、フィードバック制御付き機能モジュール組み合わせ装置をも提供する。以下、図3乃至図4を基に、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ装置の機能構成例を説明する。
【００３８】
図3に示すように、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ装置300は、領域オントロジー構築ユニット310、機能モジュールカプセル化ユニット320、及び機能モジュール組み合わせユニット330を含んでもよい。以下、各ユニットの機能構成例を詳しく説明する。
【００３９】
領域オントロジー構築ユニット310は、特定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて該特定領域に関する領域オントロジーを構築するように構成されてもよい。
【００４０】
好ましくは、RDFを用いてオントロジーを記述してもよい。領域オントロジーを構築する時に、本領域内の既に定義されたオントロジーを再び使用してもよいが、存在しないオントロジーについては、ユーザは、自分で定義を行い、そして、定義したものを該領域オントロジーに追加してもよい。
【００４１】
機能モジュールカプセル化ユニット320は、構築した領域オントロジーに基づいて、機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができる形式を有するようにさせるように構成されてもよい。機能モジュールに対してカプセル化を行うことにより、機能モジュールに対して、より簡単に組み合わせを行うことができる。
【００４２】
図4は、機能モジュールカプセル化ユニット320の詳細な機能構成例を示す。例えば、図4に示すように、機能モジュールカプセル化ユニット320は、さらに、記述ファイル生成部410、フォーマット統一部420、及び機能モジュール調整部430を含んでも良い。以下、図4を基に、各部の機能構成例を詳しく説明する。
【００４３】
記述ファイル生成部410は、構築した領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成するように構成されてもよい。
【００４４】
なお、入力及び出力に関する情報以外、該記述ファイルは、さらに、機能モジュールの開発者、開発言語、名前等に関する情報を含んでもよい。複数の入力及び複数の出力を含む機能モジュールについては、記述ファイルにおいて、これらの複数の入力及び複数の出力についてすべて記述する。好ましくは、上述のファイル生成サブステップS210に記載のように、RDF技術を採用して記述ファイルを生成する。RDF技術を採用して生成した記述ファイルでは、URIを採用して機能モジュールの入力及び出力を識別し、これによって、該URIに基づいて、構築した領域オントロジーにおいて、正確且つ迅速に該入力及び出力のオントロジーの定義を見つけることができる。
【００４５】
フォーマット統一部420は、特定フォーマットを採用して各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュール間の交互性を実現するように構成されてもよい。
【００４６】
好ましくは、NLP領域では、NIFを採用して機能モジュールの入力及び出力のフォーマットを統一してもよい。即ち、機能モジュールの入力及び出力をNIFの文字列形式に変換し、異なる機能モジュール間の交互性を実現することができる。しかし、NIFは、例示的なものだけであり、限定するためのものではなく、且つ、当業者は、応用対象としての具体的な領域に応じて、他の適切なフォーマットを採用してもよい。
【００４７】
機能モジュール調整部430は、機能モジュール組み合わせエンジンの要求に基づいて、フォーマット統一後の機能モジュールに対して調整を行い、調整後の機能モジュールを該機能モジュール組み合わせエンジンにより組み合わせることができるようにさせるように構成されてもよい。
【００４８】
上述したように、機能モジュール組み合わせエンジンは、後述の機能モジュール組み合わせユニット330がカプセル化後の機能モジュールに対して組み合わせを行うためのエンジンである。よって、該機能モジュール組み合わせエンジンの要求を満たす機能モジュールのみは、該エンジンによってコールされて、特定タスクを実行するワークフローに組織（構成）され得る。
【００４９】
例えば、NLP領域では、好ましくは、Apache  UIMAＴＭを機能モジュール組み合わせエンジンとして採用する。この場合、機能モジュール調整部430が実行する調整操作は、例えば、各機能モジュールをUIMA中のAE（分析エンジン）としてカプセル化し、且つ、上述のNIF文字列を保存するために各AEに１つの共通の注釈を追加し、これによって、各機能モジュール間において便利にコールを行うことができる。
【００５０】
次に、図3を再び参照するに、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ装置をさらに説明する。
【００５１】
機能モジュール組み合わせユニット330は、構築した領域オントロジーに基づいて、機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択し、そして、選択した複数の機能モジュールを組み合わせて、所定処理の実行用に供する。この複数の機能モジュールにおける少なくとも２つの機能モジュールの間には、フィードバック制御が存在する。
【００５２】
好ましくは、ユーザは、ドラッグ（Drag）操作によって、組み合わせようとする機能モジュールを選択してもよい。機能モジュール組み合わせユニット330は、生成した、各機能モジュールに関する記述ファイルに基づいて、選択した機能モジュールを組み合わせることができるかどうかを判断してもよい。
【００５３】
具体的には、機能モジュール組み合わせユニット330は、選択した任意の第一機能モジュール及び第二機能モジュールについて、第一機能モジュールの出力が、第二機能モジュールの入力とは同じであり、又は、第二機能モジュールの入力のサブセットであれば、第一機能モジュールと、第二機能モジュールとを組み合わせることができると確定し、且つ、第二機能モジュールの出力が、第一機能モジュールの入力とは同じであり、又は、第一機能モジュールの入力のサブセットであれば、第一機能モジュールと第二機能モジュールとの間にフィードバック制御が存在し且つ両者を互いに組み合わせることができると確定してもよい。逆に、上述の条件を満たさない場合、機能モジュール組み合わせユニット330は、選択した機能モジュールを組み合わせることができないと確定してもよく、この場合、ユーザは、再選択することが必要である。
【００５４】
互いに組み合わせることができる機能モジュールを選択した後に、機能モジュール組み合わせユニット330は、上述の組み合わせエンジンApache  UIMAＴＭを採用して所定処理を実行するためのワークフローを提供してもよく、これによって、選択した機能モジュールを組織する（組み合わせる）ことができる。NLP領域では、該所定処理は、例えば、入力された自然言語に対して処理を行い、入力された自然言語に含まれる語素単位及びその属性を得る処理である。
【００５５】
以上は、NLP領域を例とし、図3乃至図4を基に、本発明の実施例によるフィードバック制御付き機能モジュール組み合わせ装置の機能構成例を説明したが、当業者は、ニーズに応じて、上述の構造に対して変更を行い、例えば、ある機能ユニットを増やし又は減らしてもよく、又は、機能ユニットに対して組み合わせを行ってもよく、且つ、これらの変形は、全て、本発明の技術的範囲に属する。
【００５６】
なお、本発明の実施例に記載の機能モジュール組み合わせ装置は、前述の方法の実施例に対応するものであるので、装置の実施例に未記入の部分については、方法の実施例中の対応する部分の紹介を参照することができるため、ここでは、詳しい説明を省略する。
【００５７】
次に、図5を参照して、本発明の実施例による、上述の機能モジュール組み合わせ方法により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う方法について説明する。
【００５８】
図5に示すように、本発明の実施例によるデータ処理方法は、機能モジュール線形サブ組み合わせ実行ステップS510及びフィードバック制御付き機能モジュールサブ組み合わせ実行ステップS520を含んでも良い。
【００５９】
機能モジュール線形サブ組み合わせ実行ステップS510では、得られたフィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間組み合わせの順序に従って、これらの機能モジュールを実行し、データに対して処理を行う。
【００６０】
フィードバック制御付き機能モジュールサブ組み合わせ実行ステップS520では、得られたフィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、データに対して処理を行うプロセスにおいて、第二機能モジュールの出力が所定条件を満たすかどうかを判断し、満足すれば、フィードバック制御を終了（中止）してデータ処理を続けて行い、満足しなければ、第二機能モジュールの出力が所定条件を満たすまでにフィードバック制御を繰り返して実行し、そのうち、第二機能モジュールの出力が、第一機能モジュールのフィードバック制御の入力とされる。
【００６１】
好ましくは、該所定条件は、次の条件のうちの少なくとも１つを含んでもよく、即ち、所定のフィードバック制御回数に達しているかどうか；及び、第二機能モジュールの現在の出力と、その前回のフィードバック制御後の出力との間の差が所定閾値よりも小さいかどうかとのような条件である。
【００６２】
なお、実際には、１つの機能モジュールと、複数の機能モジュールとの間に、フィードバック制御が同時に存在する場合がある。このような場合に、該データ処理方法は、さらに、フィードバック制御並列実行ステップS530を含んでもよく、ステップS530では、フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、これらの複数の出力がそれぞれ該機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ、該機能モジュールが同時にこれらの複数の機能モジュールのうちの少なくとも２つの機能モジュールとの間にフィードバック制御が存在すれば、該機能モジュールと少なくとも２つの機能モジュールとの間のフィードバック制御を並列に実行する。なお、該ステップはオプションであり、よって、図5には点線にて示されている。
【００６３】
次に、図6を基に、機能モジュール組み合わせを採用してデータ処理を実行するプロセスの一例を詳しく説明する。
【００６４】
図6に示すように、得られたフィードバック付き機能モジュール組み合わせが３つの機能モジュール、即ち、機能モジュール1、機能モジュール2、及び機能モジュール3をこの順に線形に組み合わせるように含み、且つ機能モジュール2が機能モジュール1にフィードバックを提供すると仮定する。
【００６５】
該機能モジュール組み合わせにおける各機能モジュールの入力及び出力のフォーマットが例えばNIFに統一され、よって、該機能モジュール組み合わせを利用して入力文字列に対して処理を行う前に、まず入力文字列をNIF文字列に変換する必要があり、これによって、機能モジュールは、入力文字列を識別することができる。
【００６６】
次に、機能モジュール1は、変換後のNIF文字列を受け、機能モジュール1の記述ファイルに基づいて、NIF文字列全体からその真の入力を見つけてそれに対して処理を行う。その後、機能モジュール1は、その出力を有するNIF文字列を機能モジュール2に伝送する。
【００６７】
同様に、機能モジュール2は、その記述ファイルに基づいて、機能モジュール1から出力されたNIF文字列からその真の入力を見つけてそれに対して処理を行う。機能モジュール2がデータを処理した後に、この時に所定のフィードバック終了条件を満たすかどうかを判断する必要があり、満足しなければ、機能モジュール2は、その出力を機能モジュール1にフィードバックし、そして、上述の処理プロセスを繰り返して実行する。そうでなければ、機能モジュール2は、その出力を有するNIF文字列を機能モジュール3に伝送し、機能モジュール3は、同様に、入力されたNIF文字列からその入力を見つけてそれに対して処理を行い、最終のNIF文字列を出力する。
【００６８】
なお、ここでの所定のフィードバック修了条件は、ユーザが予め設定したフィードバック回数であってもよい。或いは、ユーザがフィードバック回数を設定していない場合に、機能モジュール2の現在の出力と、前回の出力とを比較し、両者の差が所定閾値よりも小さいと判断すれば、フィードバックを終了してもよい。
【００６９】
さらに、機能モジュール1が例えば上述の単語分けツールであり、機能モジュール2が例えば上述の時間期日識別ツールであり、且つ入力文字列が“2013年始”であると仮定する。以下、該仮定を基に、データ処理プロセスの一例をより詳しく説明する。
【００７０】
まず、システムは、自動で、入力文字列である“2013年始”をNIF形式に変換し、例えば、次の表３に示すようである。
【表３】
2014219988.tif 000005
【００７１】
単語分けツールは、変換後のNIF文字列を受信し、その記述ファイルに基づいて、その入力“String”が表す内容（即ち、“2013年始”）を見つけてそれに対して処理を行う。単語分けツールの出力のNIF文字列の形式は、例えば、次の表４に示すようである。
【表４】
2014219988.tif 000006
【００７２】
その後、単語分けツールは、その出力のNIF文字列をオリジナル入力のNIF文字列に追加した後に、それを時間期日識別ツールに送る。
【００７３】
時間期日識別ツールは、その記述ファイルに基づいて、その入力“Word”が表す内容（即ち、“2013”及び“年始”）を見つけてそれらに対して処理を行う。時間期日識別ツールの出力のNIF文字列の形式は、例えば、次の表５に示すようである。
【表５】
2014219988.tif 000007
【００７４】
時間期日識別ツールは、単語分けツールにフィードバックを提供することができ、よって、時間期日識別ツールは、その出力のNIF文字列をその受けたNIF文字列に追加した後に、単語分けツールに伝送し、その同時に、この時の出力結果を保存する。
【００７５】
上述のように、単語分けツールは２種類の入力、即ち“String”及び“Word”を含み、“Date”は、“Word”のサブクラスであり、よって、この時に、単語分けツールは、フィードバックされたNIF文字列から、その入力“Word”が表す内容（即ち、“2013年”）を見つけてそれに対して処理を行い、且つ、処理後のNIF文字列を再び時間期日識別ツールに伝送し、その後、これに基づいて類推する。
【００７６】
例えば、時間期日識別ツールの現在の処理結果と、保存された前回の処理結果とが同じであると判断した時に、フィードバックを終了し、現在のNIF文字列を次の機能モジュール3に伝送して処理してもらう。
【００７７】
上述から分かるように、フィードバック制御により、データ処理結果がより正確になり、処理精度を大幅に向上させることができる。
【００７８】
以上は、図5及び図6を基にフィードバック制御付き機能モジュール組み合わせを用いてデータ処理を行う一例を説明したが、上述は、例示的なものだけであり、限定するためのものではなく、且つ、当業者は、本発明の原理に基づいて上述の処理プロセスの変形例を得ることができ、且つ、これらの変形例も本発明の技術的範囲に属すべきである。
【００７９】
また、本発明は、上述のデータ処理方法に対応するように、本発明の実施例による機能モジュール組み合わせ装置により得られたフィードバック付き機能モジュール組み合わせを用いてデータに対して処理を行う設備をも提供する。図7に示すように、該データ処理設備700は、機能モジュール線形サブ組み合わせ実行ユニット710、フィードバック制御付き機能モジュールサブ組み合わせ実行ユニット720、及びフィードバック制御並列実行ユニット730を含んでもよい。以下、図7を基に、各ユニットの機能構成例をそれぞれ説明する。なお、フィードバック制御並列実行ユニット730はオプションであり、よって、図7には点線にて示されれている。
【００８０】
機能モジュール線形サブ組み合わせ実行ユニット710は、得られたフィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、データ処理を行うように、これらの機能モジュールを実行するように構成されてもよい。
【００８１】
フィードバック制御付き機能モジュールサブ組み合わせ実行ユニット720は、得られたフィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、データに対して処理を行うプロセスにおいて、第二機能モジュールの出力が所定条件を満たすかどうかを判断し、満足すれば、フィードバック制御を終了しデータ処理を続けて行い、そうでなければ、第二機能モジュールの出力が所定条件を満たすまでに、フィードバック制御を繰り返して実行し、そのうち、第二機能モジュールの出力が、第一機能モジュールのフィードバック制御入力とされる。
【００８２】
好ましくは、所定条件は、以下の条件のうちの少なくとも１つを含んでもよく、即ち、所定のフィードバック制御回数に達しているかどうか；及び、第二機能モジュールの現在の出力と、前回のフィードバック制御後の出力との間の差が所定閾値よりも小さいかどうかとの条件である。
【００８３】
好ましくは、該データ処理設備は、さらに、フィードバック制御並列実行ユニット730を含んでもよく、フィードバック制御並列実行ユニット730は、１つの機能モジュールと、複数の機能モジュールとの間に同時にフィードバック制御が存在する場合に用いられる。フィードバック制御並列実行ユニット730は、フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、これらの出力がそれぞれ該機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ該機能モジュールと、これらの複数の機能モジュールうちの少なくとも２つの機能モジュールとの間にフィードバック制御が存在すれは、並列に該機能モジュールと少なくとも２つの機能モジュールとの間のフィードバック制御を実行する。
【００８４】
以上は、図6を基に、フィードバック制御付き機能モジュール組み合わせを採用してデータ処理を行う詳細なプロセスを詳しく説明したので、ここでは、詳しい説明を省略する。また、該データ処理設備は、前述の方法の実施例に対応するので、設備の実施例に未記入の部分については、方法の実施例に対応する部分の紹介を参照することができるので、ここでは、詳しい説明を省略する。
【００８５】
なお、以上は、NLP領域を例とし、フィードバック制御付き機能モジュール組み合わせを採用してデータ処理を行う方法及び設備を説明したが、これは、本発明を限定するのではなく、且つ、当業者は、本発明の原理に基づいて、それを他のデータ処理領域に応用してもよい。
【００８６】
また、以上は、具体的な実施例に基づいて本発明の原理について説明したが、理解すべきは、本発明の実施例による装置及び設備の全部又は一部又は任意のステップは、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組む合せの方式で実現されてもよい。ソフトウェア又はファームウェアにより実現する場合、まず、記憶媒体又はネットワークから、専用ハードウェア構造を有するマシン（例えば、図8に示す汎用マシン800）に該ソフトウェア又はファームウェアのプログラムをインストールし、それから、該マシンは、各種プログラムがインストールされている時に、上述のユニットやサブユニットの各種機能を実行することができる。
【００８７】
図8に示すように、中央処理ユニット（ＣＰＵ）801が、リードオンリーメモリ（ＲＯＭ）802に記憶されているプログラム、又は、記憶部808からランダムアクセスメモリ（ＲＡＭ）803にロードされているプログラムに基づいて各種の処理を行う。ＲＡＭ803は、ニーズに応じて、ＣＰＵ801が各種の処理などを実行するときに必要なデータを記憶してもよい。
【００８８】
ＣＰＵ801、ＲＯＭ802及びＲＡＭ803は、バス804を経由して互いに接続される。また、入力／出力インターフェース805もバス804に接続される。
【００８９】
入力／出力インターフェース805には、入力部806（キーボードやマウスなどを含む）、出力部807（表示器例えばＣＲＴ、ＬＣＤ、スピーカーなどを含む）、記憶部808（ハードディスクなどを含む）、及び通信部809（ネットワーク接続カード例えばＬＡＮカード、モデムなどを含む）が接続される。通信部809は、ネットワーク例えばインターネットを経由して通信処理を行う。ドライブ810がニーズに応じて入力／出力インターフェース805に接続されてもよい。
【００９０】
また、ニーズに応じて、取り外し可能な媒体811例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどをドライブ810にセットすることにより、その中から読み出したコンピュータプログラムを記憶部808にインストールしてもよい。
【００９１】
ソフトウェアにより上述の一連の処理を実現する場合は、ネットワーク例えばインターネット、又は記憶媒体例えば取り外し可能な媒体811から、このソフトウェアを構成するプログラムをインストールしてもよい。
【００９２】
なお、当業者が理解すべきは、このような記憶媒体は、中にプログラムが記憶されており、ユーザにプログラムを提供するよう装置と独立して配られる図8に示すような取り外し可能な媒体811に限定されない。取り外し可能な媒体811の例としては、磁気ディスク（フロッピー（登録商標）ディスクを含む）、光ディスク（ＣＤ−ＲＯＭ及びＤＶＤを含む）、光磁気ディスク（ＭＤ（登録商標）を含む）、及び半導体メモリを含む。或いは、記憶媒体はＲＯＭ802、記憶部808に含まれるハードディスクなどであってもよく、それらにはプログラムが記憶されており、且つそれらを含む装置とともにユーザに配られてもよい。
【００９３】
また、本発明は、マシン（例えば、コンピュータ）読取可能な命令コードからなるプログラムプロダクトにも関する。この命令コードは、マシンに読み取られて実行される時に、上述の実施例による方法を実行することができる。
【００９４】
さらに、上述のマシン読取可能な命令コードからなるプログラムプロダクトを記憶している記憶媒体も本開示に含まれている。このような記憶媒体は、磁気ディスク（フロッピーディスク）、光ディスク、光磁気ディスク、メモリカード、メモリメモリスティックなどを含むが、これらに限定されない。
【００９５】
本発明の上述の実施例による方法は、明細書に記載の又は図面に図示の時間順序に従って実行することに限定されず、他の時間順序に従って、並列に又は独立して実行してもよい。よって、本明細書又は図面に記載の方法の実行順序は、本発明の技術的範囲を限定しない。
【００９６】
また、もちろん、本発明の上述の方法の各処理プロセスは、各種のマシン可読記憶媒体に保存のコンピュータ実行可能なプログラムの方式により実現されてもよい。
【００９７】
また、本発明の目的は、上述の実行可能なプログラムコードを記憶している記憶媒体を直接又は間接にシステム又は設備に提供し、且つ、該システム又は設備中のコンピュータ又は中央処理ユニット（CPU）が上述のプログラムコードを読み出して実行させる方式で実現されてもよい。
【００９８】
また、該システム又は設備はプログラムを実行する機能を有すれば、本発明の実施方式はプログラムに限定されず、また、該プログラムは他の任意の形式、例えば、オブジェクトプログラム、インタープリター実行用プログラム、又は、オペレーティングシステム操作系統に提供するスクリプトプログラムなどであってもよい。
【００９９】
上述のマシン可読記憶媒体は、各種の記憶器及び記憶ユニット、半導体装置、ディスユニット例えば光、磁気及び光磁気ディス、及び他の任意の使用可能な情報記憶媒体などであってもよい。
【０１００】
また、クライントコンピュータが、インターネットに接続されている所定のウェブサイトを経由して、本発明の上述の実施例によるコンピュータプログラムコードをダウンロードし、コンピュータにインストールした後に、該プログラムを実行することにより、本発明を実現することもできる。
【０１０１】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１０２】
（付記1）
フィードバック制御付き機能モジュール組み合わせ方法であって、
所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、前記所定領域に関する領域オントロジーを構築する、領域オントロジー構築ステップ；
構築した領域オントロジーに基づいて、前記機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、機能モジュールカプセル化ステップ；及び
構築した領域オントロジーに基づいて、前記機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択し、選択した複数の機能モジュールを、所定処理を実行するよう組みわせる、機能モジュール組み合わせステップを含み、
そのうち、前記複数の機能モジュールのうちの少なくとも２つの機能モジュールの間には、フィードバック制御が存在する、方法。
【０１０３】
（付記2）
付記1に記載の機能モジュール組み合わせ方法であって、
前記機能モジュールカプセル化ステップは、さらに、
前記領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成する、記述ファイル生成サブステップ；
所定フォーマットを採用して、各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュールの間の交互性を実現する、フォーマット統一サブステップ；及び
機能モジュール組み合わせエンジンの要求に応じて、フォーマット統一後の機能モジュールを調整し、調整後の機能モジュールを前記機能モジュール組み合わせエンジンにより組み合わせることができるようにさせる、機能モジュール調整サブステップを含む、方法。
【０１０４】
（付記3）
付記1又は2に記載の機能モジュール組み合わせ方法であって、
前記機能モジュール組み合わせステップにおいて、前記機能モジュールの入力及び出力の間の関係に基づいてカプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択することは、さらに、
前記複数の機能モジュールのうちの任意の第一機能モジュール及び第二機能モジュールについて、
前記第一機能モジュールの出力が、前記第二機能モジュールの入力とは同じであり、又は、前記第二機能モジュールの入力のサブセットであれば、前記第一機能モジュールと、前記第二機能モジュールとを組み合わせることができると確定し；及び
前記第二機能モジュールの出力が、前記第一機能モジュールの入力とは同じであり、又は、前記第一機能モジュールの入力のサブセットであれば、前記第一機能モジュールと、前記第二機能モジュールとの間にフィードバック制御が存在し、且つ、両者を互いに組み合わせることができると確定することを含む、方法。
【０１０５】
（付記4）
付記1〜3の任意の１項に記載の機能モジュール組み合わせ方法であって、
前記所定領域は、自然言語処理領域であり、前記所定処理は、入力された自然言語に含まれる語素単位及びその属性を得るための、入力された自然言語に対して行う処理である、方法。
【０１０６】
（付記5）
付記4に記載の機能モジュール組み合わせ方法であって、
前記機能モジュールカプセル化ステップにおいて、自然言語処理交換フォーマットNIFを採用し、これにより、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、方法。
【０１０７】
（付記6）
付記5に記載の機能モジュール組み合わせ方法であって、
前記機能モジュール組み合わせステップにおいて、Apache  UIMATMを採用して、前記機能モジュールに対して組み合わせを行う、方法。
【０１０８】
（付記7）
フィードバック制御付き機能モジュール組み合わせ装置であって、
所定領域に存在する全ての機能モジュールについて、各機能モジュールの入力及び出力に基づいて、前記特定領域に関する領域オントロジーを構築する、領域オントロジー構築ユニット；
構築した領域オントロジーに基づいて、前記機能モジュールに対してカプセル化を行い、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、機能モジュールカプセル化ユニット；及び
構築した領域オントロジーに基づいて、前記機能モジュールの入力及び出力の間の関係に従って、カプセル化後の機能モジュールから、互いに組み合わせることができる複数の機能モジュールを選択し、選択した複数の機能モジュールを、所定処理を実行するよう組み合わせる、機能モジュール組み合わせユニットを含み、
そのうち、前記複数の機能モジュールのうちの少なくとも２つの機能モジュールの間には、フィードバック制御が存在する、装置。
【０１０９】
（付記8）
付記7に記載の機能モジュール組み合わせ装置であって、
前記機能モジュールカプセル化ユニットは、さらに、
前記領域オントロジーに基づいて、各機能モジュールの入力及び出力に関する記述ファイルを生成する、記述ファイル生成部；
所定フォーマットを採用して各機能モジュールの入力及び出力のフォーマットを統一し、機能モジュールの間の交互性を実現する、フォーマット統一部；及び
機能モジュール組み合わせエンジンの要求に応じて、フォーマット統一後の機能モジュールを調整し、調整後の機能モジュールを前記機能モジュール組み合わせエンジンにより組み合わせることができるようにさせる、機能モジュール調整部を含む、装置。
【０１１０】
（付記9）
付記7又は8に記載の機能モジュール組み合わせ装置であって、
前記機能モジュール組み合わせユニットは、さらに、
前記複数の機能モジュールのうちの任意の第一機能モジュール及び第二機能モジュールについて、
第一機能モジュールの出力が、第二機能モジュールの入力とは同じであり、又は、第二機能モジュールの入力のサブセットであれば、前記第一機能モジュールと、前記第二機能モジュールとを組み合わせることができると確定し；及び
前記第二機能モジュールの出力が、前記第一機能モジュールの入力とは同じであり、又は、前記第一機能モジュールの入力のサブセットであれば、前記第一機能モジュールと、前記第二機能モジュールとの間にフィードバック制御が存在し、且つ両者を互いに組み合わせることできると確定する、装置。
【０１１１】
（付記10）
付記7〜9の任意の１項に記載の機能モジュール組み合わせ装置であって、
前記所定領域は、自然言語処理領域であり、前記所定処理は、入力された自然言語に対して処理を行い、入力された自然言語に含まれる語素単位及びその属性を得る処理である、装置。
【０１１２】
（付記11）
付記10に記載の機能モジュール組み合わせ装置であって、
前記機能モジュールカプセル化ユニットは、自然言語処理交換フォーマットNIFを採用し、カプセル化後の機能モジュールが、互いに組み合わせることができるフォーマットを有するようにさせる、装置。
【０１１３】
（付記12）
付記11に記載の機能モジュール組み合わせ装置であって、
前記機能モジュール組み合わせユニットは、Apache  UIMATMを採用して、前記機能モジュールに対して組み合わせを行う、装置。
【０１１４】
（付記13）
付記1〜6の任意の１項に記載の機能モジュール組み合わせ方法により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う方法であって、
前記フィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、前記線形組み合わせを有する機能モジュールを実行し、前記データに対して処理を行う、機能モジュール線形サブ組み合わせ実行ステップ；及び
前記フィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、データに対して処理を行うプロセスにおいて、前記第二機能モジュールの出力が所定条件を満足するかどうかを判断し、満足すれば、フィードバック制御を終了してデータ処理を続けて行い、満足しなければ、前記第二機能モジュールの出力が前記所定条件を満足するまでにフィードバック制御を繰り返して行う、フィードバック制御付き機能モジュールサブ組み合わせ実行ステップを含み、
そのうち、前記第二機能モジュールの出力が前記第一機能モジュールのフィードバック制御の入力とされる、方法。
【０１１５】
（付記14）
付記13に記載の方法であって、
前記所定条件は、以下の条件のうちの少なくとも１つを含み、即ち、所定のフィードバック制御回数に達しているかどうか；及び、前記第二機能モジュールの現在の出力と、前回のフィードバック制御後の出力との間の差が所定閾値よりも小さいかとの条件である、方法。
【０１１６】
（付記15）
付記13又は14に記載の方法であって、さらに、
前記フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、前記複数の出力がそれぞれ前記フィードバック制御付き機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ、前記１つの機能モジュールと、前記他の複数の機能モジュールのうちの少なくとも２つの機能モジュールとの間にフィードバック制御が同時に存在すれば、前記１つの機能モジュールと、前記少なくとも２つの機能モジュールとの間のフィードバック制御を並列に実行するステップを含む、方法。
【０１１７】
（付記16）
付記7〜12の任意の１項に記載の機能モジュール組み合わせ装置により得られたフィードバック制御付き機能モジュール組み合わせを用いてデータに対して処理を行う設備であって、
前記機能モジュール組み合わせ装置により得られたフィードバック制御付き機能モジュール組み合わせのうち、線形組み合わせを有する機能モジュールについて、これらの機能モジュールの間の組み合わせの順序に従って、前記線形組み合わせを有する機能モジュールを実行し、前記データに対して処理を行う機能モジュール線形サブ組み合わせ実行ユニット；及び
前記フィードバック制御付き機能モジュール組み合わせのうち、フィードバック制御が存在する任意の第一機能モジュール及び第二機能モジュールについて、データに対して処理を行うプロセスにおいて、前記第二機能モジュールの出力が所定条件を満足するかどうかを判断し、満足すれば、フィードバック制御を終了してデータ処理を続けて行い、満足しなければ、前記第二機能モジュールの出力が前記所定条件を満足するまでにフィードバック制御を行う、フィードバック制御付き機能モジュールサブ組み合わせ実行ユニットを含み、
そのうち、前記第二機能モジュールの出力が前記第一機能モジュールのフィードバック制御の入力とされる、設備。
【０１１８】
（付記17）
付記16に記載の設備であって、
前記所定条件は、以下の条件のうちの少なくとも１つを含み、即ち、所定のフィードバック制御回数に達しているかどうか；及び、前記第二機能モジュールの現在の出力と、前回のフィードバック制御後の出力との間の差が所定閾値よりも小さいかとの条件である、設備。
【０１１９】
（付記18）
付記16又は17に記載の設備であって、さらに、
前記フィードバック制御付き機能モジュール組み合わせのうちの１つの機能モジュールが複数の出力を有し、前記複数の出力がそれぞれ前記フィードバック制御付き機能モジュール組み合わせのうちの他の複数の機能モジュールの入力に接続され、且つ前記１つの機能モジュールと、前記他の複数の機能モジュールのうちの少なくとも２つの機能モジュールとの間にフィードバック制御が同時に存在すれば、前記１つの機能モジュールと、前記少なくとも２つの機能モジュールとの間のフィードバック制御を並列に実行する、フィードバック制御並列実行ユニットを含む、設備。
【０１２０】
（付記19）
記憶媒体であって、
前記記憶媒体は、マシン可読プログラムコードを含み、情報処理設備において前記プログラムコードを実行する時、前記プログラムコードは、前記情報処理設備に、付記1〜6の任意の１項に記載の機能モジュール組み合わせ方法を実行させる、記憶媒体。
【０１２１】
（付記20）
プログラムプロダクトであって、
前記プログラムプロダクトは、マシン可実行指令を含み、情報処理設備において前記指令を実行する時に、前記指令は、前記情報処理設備に、付記1〜6の任意の１項に記載の機能モジュール組み合わせ方法を実行させる、プログラムプロダクト。
【０１２２】
（付記21）
記憶媒体であって、
前記記憶媒体は、マシン可読プログラムコードを含み、情報処理設備において前記プログラムコードを実行する時に、前記プログラムコードは、前記情報処理設備に、付記13〜15の任意の１項に記載のデータ処理方法を実行させる、記憶媒体。
【０１２３】
（付記22）
プログラムプロダクトであって、
前記プログラムプロダクトは、マシン可実行指令を含み、情報処理設備において前記指令を実行する時に、前記指令は、前記情報処理設備に、付記13〜15の任意の１項に記載のデータ処理方法を実行させる、プログラムプロダクト。
【０１２４】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。
【図１】
2014219988.tif 000008
【図２】
2014219988.tif 000009
【図３】
2014219988.tif 000010
【図４】
2014219988.tif 000011
【図５】
2014219988.tif 000012
【図６】
2014219988.tif 000013
【図７】
2014219988.tif 000014
【図８】
2014219988.tif 000015