JP2019144684A - 情報処理システム及びプログラム - Google Patents
情報処理システム及びプログラム Download PDFInfo
- Publication number
- JP2019144684A JP2019144684A JP2018026224A JP2018026224A JP2019144684A JP 2019144684 A JP2019144684 A JP 2019144684A JP 2018026224 A JP2018026224 A JP 2018026224A JP 2018026224 A JP2018026224 A JP 2018026224A JP 2019144684 A JP2019144684 A JP 2019144684A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- information
- module
- request
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/005—Language recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0316—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
- G10L21/0324—Details of processing therefor
- G10L21/0332—Details of processing therefor involving modification of waveforms
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】自律分散的に処理を進める形態において、複数の管理主体間の調整処理を付加しなくても、無駄な処理の発生を抑制することができる情報処理システム及びプログラムを提供する。【解決手段】情報処理システム1は、処理対象に対して処理を行う複数のサービス提供モジュール22と、複数の処理管理手段21と、データベース3とを備え、処理管理手段21は、処理対象、データベース3の記憶内容、及び処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段212と、処理対象、履歴情報、及び次に行われる処理を行うサービス提供モジュール22の識別情報を含む処理オブジェクトを、次に行われる処理を行うサービス提供モジュール22を管理している処理管理手段21に送信して処理を依頼する送信手段213とを備える。【選択図】図1
Description
本発明は、情報処理システム及びプログラムに関する。
近年、複数のエージェントが通信により協調動作してタスクを処理する自律分散型システムが提案されている(例えば、特許文献1参照。)。
特許文献1に記載された自律分散型システムは、コンピュータシステム内において自律的に動作し、各種の判断や作業を人間に代って行うサブシステムである複数のエージェントが通信により所定のシステム特性に従って協調動作してタスクを処理する自律分散型システムであって、各エージェントは自分と他のエージェントのタスク処理能力に関する知識を持ち、エージェント同士はそれぞれが持つ知識に応じて自律的にネゴシェーションを行うことによりタスク処理の分担を決定し、各エージェントは上記決定された分担に従ってタスク処理を実行し、処理結果を観測する自律分散型システムにおいて、各エージェントは他のエージェントとの情報交換及び上記観測結果からシステム特性の変化を推定し、各エージェントは上記推定されたシステム特性の変化に基づいて自分の持つ知識を逐次更新するものである。
本発明の課題は、自律分散的に処理を進める形態において、複数の管理主体間の調整処理を付加しなくても、無駄な処理の発生を抑制することができる情報処理システム及びプログラムを提供することにある。
[1]処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、それぞれ前記処理モジュールを管理する複数の管理手段と、前記管理手段の識別情報及び前記処理モジュールの識別情報に関連付けて前記処理モジュールが有する機能の情報を記憶する記憶手段と、を備えた情報処理システムであって、
前記管理手段は、
前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段と、を備えた情報処理システム。
[2]前記管理手段は、
前記処理対象を含む処理依頼を受け付ける受付手段、をさらに備え、
前記決定手段は、前記処理依頼に応え得る処理結果が得られるまでの前記処理計画を決定する、前記[1]に記載の情報処理システム。
[3]前記決定手段は、前記複数の管理手段により管理された機能が同一の前記処理モジュールが並列的に処理を行う並列処理とそれに続く1つの処理とを含む前記処理計画を決定した場合、前記1つの処理に係る管理手段は、送信された複数の処理オブジェクトを1つの処理オブジェクトにする処理を行い、他の処理オブジェクトに対するその後の処理を中止する、前記[2]に記載の情報処理システム。
[4]前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトのうち前記処理依頼に対応した前記1つの処理オブジェクトを選択する処理である、前記[3]に記載の情報処理システム。
[5]前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトを1つの処理オブジェクトに結合する処理である、前記[3]に記載の情報処理システム。
[6]前記依頼手段は、送信された前記処理モジュールに記録されている処理結果が最終の処理結果である場合は、その後の処理モジュールによる処理を行わずに最終の処理結果を外部に送信する、前記[1]又は[2]に記載の情報処理システム。
[7]前記決定手段は、最終の処理結果を得るまでに必要な処理の順序を決定できた場合に、それを前記処理計画として決定する、前記[2]に記載の情報処理システム。
[8]前記決定手段は、前方探索により前記最終の処理結果に到達できた場合に、それを前記処理計画として決定する、前記[7]に記載の情報処理システム。
[9]前記決定手段は、後方探索により当初の前記処理対象に到達できた場合に、それを前記処理計画として決定する、前記[7]に記載の情報処理システム。
[10]処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、管理手段の識別情報及び前記処理モジュールの識別情報に関連付けて前記処理モジュールが有する機能の情報を記憶する記憶手段と、を備えたコンピュータを、それぞれ前記処理モジュールを管理する複数の前記管理手段として機能させるためのプログラムであって、
前記管理手段を、前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段、として機能させるためのプログラム。
前記管理手段は、
前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段と、を備えた情報処理システム。
[2]前記管理手段は、
前記処理対象を含む処理依頼を受け付ける受付手段、をさらに備え、
前記決定手段は、前記処理依頼に応え得る処理結果が得られるまでの前記処理計画を決定する、前記[1]に記載の情報処理システム。
[3]前記決定手段は、前記複数の管理手段により管理された機能が同一の前記処理モジュールが並列的に処理を行う並列処理とそれに続く1つの処理とを含む前記処理計画を決定した場合、前記1つの処理に係る管理手段は、送信された複数の処理オブジェクトを1つの処理オブジェクトにする処理を行い、他の処理オブジェクトに対するその後の処理を中止する、前記[2]に記載の情報処理システム。
[4]前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトのうち前記処理依頼に対応した前記1つの処理オブジェクトを選択する処理である、前記[3]に記載の情報処理システム。
[5]前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトを1つの処理オブジェクトに結合する処理である、前記[3]に記載の情報処理システム。
[6]前記依頼手段は、送信された前記処理モジュールに記録されている処理結果が最終の処理結果である場合は、その後の処理モジュールによる処理を行わずに最終の処理結果を外部に送信する、前記[1]又は[2]に記載の情報処理システム。
[7]前記決定手段は、最終の処理結果を得るまでに必要な処理の順序を決定できた場合に、それを前記処理計画として決定する、前記[2]に記載の情報処理システム。
[8]前記決定手段は、前方探索により前記最終の処理結果に到達できた場合に、それを前記処理計画として決定する、前記[7]に記載の情報処理システム。
[9]前記決定手段は、後方探索により当初の前記処理対象に到達できた場合に、それを前記処理計画として決定する、前記[7]に記載の情報処理システム。
[10]処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、管理手段の識別情報及び前記処理モジュールの識別情報に関連付けて前記処理モジュールが有する機能の情報を記憶する記憶手段と、を備えたコンピュータを、それぞれ前記処理モジュールを管理する複数の前記管理手段として機能させるためのプログラムであって、
前記管理手段を、前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段、として機能させるためのプログラム。
請求項1、10に係る発明によれば、自律分散的に処理を進める形態において、複数の管理主体間の調整処理を付加しなくても、無駄な処理の発生を抑制することができる。
請求項2に係る発明によれば、処理対象を受け付けていない他の管理手段は処理計画を決定する処理を省くことができる。
請求項3〜5に係る発明によれば、並列処理後の無駄な処理を省くことができる。
請求項6に係る発明によれば、最終の処理結果と判定した後の無駄な処理を省くことができる。
請求項7に係る発明によれば、処理計画を決定していない他の管理手段は処理計画を決定する処理を省くことができる。
請求項8、9に係る発明によれば、探索により処理計画を検証することができる。
請求項2に係る発明によれば、処理対象を受け付けていない他の管理手段は処理計画を決定する処理を省くことができる。
請求項3〜5に係る発明によれば、並列処理後の無駄な処理を省くことができる。
請求項6に係る発明によれば、最終の処理結果と判定した後の無駄な処理を省くことができる。
請求項7に係る発明によれば、処理計画を決定していない他の管理手段は処理計画を決定する処理を省くことができる。
請求項8、9に係る発明によれば、探索により処理計画を検証することができる。
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
[実施の形態の要約]
本発明の実施の形態に係る情報処理システムは、処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、それぞれ処理モジュールを管理する複数の管理手段と、管理手段の識別情報及び処理モジュールの識別情報に関連付けて処理モジュールが有する機能の情報を記憶する記憶手段と、を備えた情報処理システムであって、管理手段は、処理対象、記憶手段の記憶内容、及び処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、処理対象、履歴情報、及び次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、次に行われる処理を行う処理モジュールを管理している管理手段に送信して処理を依頼する依頼手段とを備える。
本発明の実施の形態に係る情報処理システムは、処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、それぞれ処理モジュールを管理する複数の管理手段と、管理手段の識別情報及び処理モジュールの識別情報に関連付けて処理モジュールが有する機能の情報を記憶する記憶手段と、を備えた情報処理システムであって、管理手段は、処理対象、記憶手段の記憶内容、及び処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、処理対象、履歴情報、及び次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、次に行われる処理を行う処理モジュールを管理している管理手段に送信して処理を依頼する依頼手段とを備える。
「情報処理システム」は、複数の装置から構成されていてもよく、単一の装置から構成されていてもよい。「処理対象」は、処理モジュールが処理を行う対象であり、例えば、音声、ジェスチャー、画像、テキスト等を含む。「処理モジュール」とは、自己が有する機能に応じた処理を行うハードウェアやソフトウェアを構成する個々の部品をいう。「処理」は、処理対象に対してデータ形式の変換(例えば、音声からテキスト)等の何らかの処理を施す場合と、処理対象が意味する内容を理解し、理解した内容に応じた動作等を行う場合とを含む。「処理オブジェクト」は、管理手段間で送受信するものであり、例えば、管理手段がプロセスで、その間のプロセス間通信の内容という形、WebAPIへのリクエスト、レスポンスという形式のものや、一時保存する場合もDBエントリとして格納されるものであるが、他の形式でもよい。
[実施の形態]
図1は、本発明の実施の形態に係る情報処理システムの概略の構成例を示す図である。
図1は、本発明の実施の形態に係る情報処理システムの概略の構成例を示す図である。
この情報処理システム1は、それぞれコンピュータA、コンピュータB、コンピュータC、・・・によって構成された複数の情報処理装置2A、2B、2C、・・・(以下これらを総称するときは「情報処理装置2」ともいう。)と、ハードディスク等の記憶装置から構成され、各種の情報が記憶されるデータベース3と、ユーザが使用するユーザ端末装置4とを備える。また、情報処理システム1は、各情報処理装置2が自律分散的に処理を進める形態を有している。なお、データベース3を各情報処理装置2内に有していてもよい。データベース3は、記憶手段の一例である。
情報処理装置2、データベース3及びユーザ端末装置4は、ネットワーク5を介して互いに接続されている。ネットワーク5は、例えば、有線通信及び無線通信等によりデータの送受信を行うLAN(ローカルエリアネットワーク)、インターネット等の通信網である。
(情報処理装置の構成)
各情報処理装置2A、2B、2C、・・・は、それぞれ処理管理手段21A、21B、21C、・・・(以下これらを総称するときは「処理管理手段21」ともいう。)を有し、処理管理手段21に複数のサービス提供モジュール22が接続されている。なお、処理管理手段21に1つのサービス提供モジュール22が接続されていてもよい。処理管理手段21は、管理手段の一例である。サービス提供モジュール22は、処理モジュールの一例である。
各情報処理装置2A、2B、2C、・・・は、それぞれ処理管理手段21A、21B、21C、・・・(以下これらを総称するときは「処理管理手段21」ともいう。)を有し、処理管理手段21に複数のサービス提供モジュール22が接続されている。なお、処理管理手段21に1つのサービス提供モジュール22が接続されていてもよい。処理管理手段21は、管理手段の一例である。サービス提供モジュール22は、処理モジュールの一例である。
また、情報処理装置2は、コンピュータとしての構成、すなわちCPUと、インターフェースと、ROM、RAM、ハードディスク等で実現される記憶部とを備える。CPUが記憶部に記憶されたプログラムを実行することにより処理管理手段21、及び処理管理手段21を構成する、受信手段210、生成手段211、決定手段212、送信手段213等として機能する。なお、図1では、情報処理装置2B、2Cの処理管理手段21B、21Cの細部の構成は図示を省略している。受信手段210は、受付手段の一例である。送信手段213は、依頼手段の一例である。
サービス提供モジュール22は、各情報処理装置2に分散して配置されている。サービス提供モジュール22は、後述するモジュール機能テーブル31(図2参照)に示す機能のうちいずれかの機能を有している。サービス提供モジュール22は、自己が有する機能に応じた処理を行ってサービスを提供する。サービス提供モジュール22が提供するサービスは、他のサービス提供モジュール22と連携せずとも単独で成立し得るものである。なお、サービス提供モジュール22は、図2に示すもの以外の機能を有していてもよい。各処理管理手段21が管理するサービス提供モジュール22間で同一の機能を有している場合もある。
サービス提供モジュール22は、処理管理手段21の後述する送信手段213の指示により処理対象データを処理し、処理結果を送信手段213に送信する。なお、サービス提供モジュール22が処理対象データを処理できなかった場合、又は正しく処理ができなかった場合は、エラーを含む処理結果を送信手段213に送信する。
(データベースの構成)
データベース3には、サービス提供モジュール22が有する機能を示すモジュール機能テーブル31(図2参照)、サービス提供モジュール22の管理元を示すモジュール管理テーブル32(図3参照)等が記憶されている。各テーブル31、32の詳細については後述する。なお、モジュール機能テーブル31及びモジュール管理テーブル32を1つのテーブルで構成してもよい。
データベース3には、サービス提供モジュール22が有する機能を示すモジュール機能テーブル31(図2参照)、サービス提供モジュール22の管理元を示すモジュール管理テーブル32(図3参照)等が記憶されている。各テーブル31、32の詳細については後述する。なお、モジュール機能テーブル31及びモジュール管理テーブル32を1つのテーブルで構成してもよい。
(ユーザ端末装置の構成)
ユーザ端末装置4は、いずれかの情報処理装置2に処理対象データ及び依頼内容を含む情報(以下「入力情報」ともいう。)を入力して処理を依頼し、処理結果をいずれかの情報処理装置2、又は指定した場所から受け取る。入力情報には、処理納期、優先項目、希望/許容コスト、及び処理ゴール(出力結果の形態、提示方法を含む。)を含む処理要望と、初期データとが含まれる。この入力情報は、後述する処理オブジェクト33に記録される。なお、処理要望の全て又は一部が無くてもよい。また、処理要望のうち記録が無い項目については、ディフォルトで設定されていてもよい。入力情報は、処理対象及び依頼内容を含む処理依頼の一例である。初期データは、処理対象の一例である。処理要望は、依頼内容の一例である。
ユーザ端末装置4は、いずれかの情報処理装置2に処理対象データ及び依頼内容を含む情報(以下「入力情報」ともいう。)を入力して処理を依頼し、処理結果をいずれかの情報処理装置2、又は指定した場所から受け取る。入力情報には、処理納期、優先項目、希望/許容コスト、及び処理ゴール(出力結果の形態、提示方法を含む。)を含む処理要望と、初期データとが含まれる。この入力情報は、後述する処理オブジェクト33に記録される。なお、処理要望の全て又は一部が無くてもよい。また、処理要望のうち記録が無い項目については、ディフォルトで設定されていてもよい。入力情報は、処理対象及び依頼内容を含む処理依頼の一例である。初期データは、処理対象の一例である。処理要望は、依頼内容の一例である。
ユーザ端末装置4は、入力情報を情報処理装置2に入力することができるデバイスを有している。このようなデバイスとして、ユーザ端末装置4は、例えば、テキストを入力するキーボード、音声を入力するマイク、ジェスチャーを入力するカメラ等を備えている。
また、ユーザ端末装置4は、処理結果を受け取ることができるデバイスを有している。このようなデバイスとして、ユーザ端末装置4は、例えば、処理結果を表示する液晶ディスプレイ等のディスプレイ、処理結果を印刷するプリンタ、処理結果を記憶する半導体メモリ、ハードディスク等の記憶媒体等を備えている。
(モジュール機能テーブルの構成)
図2は、モジュール機能テーブル31の一例を示す図である。モジュール機能テーブル31は、モジュールID、処理内容、入力状態、出力状態等の項目を有している。モジュールIDは、サービス提供モジュール22を一義的に識別する識別情報である。処理内容は、サービス提供モジュール22が有する機能によって処理できる内容のことである。入力状態は、サービス提供モジュール22に入力される情報の状態のことである。出力状態は、サービス提供モジュール22が入力された情報に対して処理を行い出力する情報の状態のことである。
図2は、モジュール機能テーブル31の一例を示す図である。モジュール機能テーブル31は、モジュールID、処理内容、入力状態、出力状態等の項目を有している。モジュールIDは、サービス提供モジュール22を一義的に識別する識別情報である。処理内容は、サービス提供モジュール22が有する機能によって処理できる内容のことである。入力状態は、サービス提供モジュール22に入力される情報の状態のことである。出力状態は、サービス提供モジュール22が入力された情報に対して処理を行い出力する情報の状態のことである。
(モジュール管理テーブルの構成)
図3は、モジュール管理テーブル32の一例を示す図である。モジュール管理テーブル32は、コンピュータ名(又は処理管理手段名)が記録されるコンピュータ名(処理管理手段名)と、サービス提供モジュール22を識別するモジュールIDが記録されるモジュールID等の項目を有する。モジュール管理テーブル32には、処理管理手段21が管理する処理モジュール22を識別するモジュールIDが記録されている。
図3は、モジュール管理テーブル32の一例を示す図である。モジュール管理テーブル32は、コンピュータ名(又は処理管理手段名)が記録されるコンピュータ名(処理管理手段名)と、サービス提供モジュール22を識別するモジュールIDが記録されるモジュールID等の項目を有する。モジュール管理テーブル32には、処理管理手段21が管理する処理モジュール22を識別するモジュールIDが記録されている。
(処理オブジェクトの構成)
図4は、処理オブジェクトの一例を示す図である。処理オブジェクト33は、生成手段211によって生成されるものである。
図4は、処理オブジェクトの一例を示す図である。処理オブジェクト33は、生成手段211によって生成されるものである。
処理オブジェクト33は、処理要望、処理対象データ、処理履歴等の項目を有する。
処理要望の項目は、処理納期(例えば、1分以内、今日中等)、優先項目(例えば、処理時間優先、精度優先、必要電力最小等)、希望/許容コスト(例えば、CPU使用時間、通信データ量等)、処理ゴール等の項目を有する。処理納期とは、処理を依頼してから最終の処理結果が出力されるまでの時間をいう。処理時間優先とは、複数の選択肢があった場合に、処理時間の短い方を他よりも優先して採用することである。精度優先とは、複数の選択肢があった場合に、精度の高い方を他よりも優先して採用することである。必要電力最小とは、複数の選択肢があった場合に、処理を行うのに必要な電力が最小の方を採用することである。希望/許容コストとは、納期以外の希望する内容のこと、又は処理を実行する際に費用に関して許容される内容のことである。処理ゴールとは、最終の処理結果のことである。処理ゴールの項目は、出力結果の形態(例えば、英語テキストへの翻訳等)、提示方法/格納場所(例えば、メインスクリーンに表示等)等の項目を有する。出力結果の形態とは、出力を希望する処理結果の形態のことである。
処理対象データの項目は、初期データ(例えば、ユーザ端末装置4から入力さえた日本語音声波形データ等)、中間の処理結果(例えば、図2に示すS101の認識結果である日本語テキスト等)、最終の処理結果(例えば、図2に示すS401で翻訳された英文結果の音声波形等)等の項目を有する。ここで、「処理結果」とは、中間の処理結果をいい、それが最終の処理結果の場合もある。「処理履歴」とは、処理された処理対象データに関する情報であり、例えば、誰がどのような処理(処理内容)をいつ行ったかという情報を含む。
処理履歴の項目は、スケジューリング状況、中間処理依頼状況等の項目を有する。スケジューリング状況には、決定手段212によって決定された、少なくとも次に行われる処理を行うサービス提供モジュール22のモジュールID、又は処理スケジュールとして処理ゴールに到達するまでの一連の処理を行う複数のサービス提供モジュール22のモジュールIDの列が記録される。なお、スケジューリング状況には、処理ゴールに到達する前の一連の処理を行う複数のサービス提供モジュール22のモジュールIDの列が記録されてもよい。中間処理依頼状況には、どの処理管理手段21がどのサービス提供モジュール22(自己が管理しているサービス提供モジュール22を含む。)にいつ依頼したか、処理管理手段21が正常な処理結果をいつ受信したか等の状況が記録される。中間処理依頼状況に記録した情報は、履歴情報の一例である。
次に、処理管理手段21を構成する各手段210〜213の詳細について説明する。処理管理手段21は、予め定められた処理条件に従った処理を行う。
受信手段210は、ユーザ端末装置4から送信された入力情報を受け付ける。また、受信手段210は、他の処理管理手段21から送信された処理オブジェクト33を受信する。
生成手段211は、受信手段210が受け付けた入力情報に基づいて、図4に示す処理オブジェクト33に入力情報に関係する項目に記録して処理オブジェクト33を生成する。すなわち、処理オブジェクト33は、入力情報を受け付けた情報処理装置2が生成する。
決定手段212は、入力情報、モジュール機能テーブル31、モジュール管理テーブル32及び処理オブジェクト33に基づいて、少なくとも次に行われる処理を決定するが、処理ゴールまで含む処理スケジュールを決定できる場合には処理スケジュールを決定する。決定手段212は、決定した次に行われる処理、又は処理スケジュールを処理オブジェクト33のスケジューリング状況に記録する。「処理スケジュール」は、処理対象データに対してサービス提供モジュール22が行う処理の順序を示す処理計画の一例である。処理オブジェクト33には、処理スケジュールに従って行われた処理の履歴情報が送信手段213により記録される。なお、決定手段212は、処理ゴールに到達していない場合でも処理スケジュールを決定してもよい。
送信手段213は、処理オブジェクト33に基づいて、次に行われる処理を行うサービス提供モジュール22が他の処理管理手段21で管理されている場合は、他の処理管理手段21に処理オブジェクト33を送信して処理を依頼する。また、送信手段213は、処理オブジェクト33に基づいて、次に行われる処理を行うサービス提供モジュール22が自己が管理されている場合は、処理オブジェクト33から処理対象データを取り出し、処理対象データをサービス提供モジュール22に送信して処理を行うよう指示をする。また、送信手段213は、受信手段210が他の処理管理手段21から送信された処理オブジェクト33を受信した場合は、受信した処理オブジェクト33から処理対象データを取り出し、処理対象データを自己が管理しているサービス提供モジュール22に送信して処理を行うよう指示をする。なお、次に行われる処理を行うサービス提供モジュール22が自己が管理されている場合、処理オブジェクト33から処理対象データを取り出さずにそのまま処理オブジェクト33をサービス提供モジュール22に送信してもよい。
送信手段213は、自己が管理しているサービス提供モジュール22から処理結果を受信すると、処理結果がエラーを含まない場合には、処理結果及び履歴情報を処理オブジェクト33に記録する。また、送信手段213は、自己が管理するサービス提供モジュール22から処理結果を受信すると、その処理結果が処理ゴールに対応する最終の処理結果であるか否かを判断し、最終の処理結果と判断した場合は、当該処理結果をユーザの要望に応じて、ユーザ端末装置4に送信するか、指定の格納場所、例えばデータベース3内の指定のファイルに記憶する。
次に、処理管理手段21の処理条件に従った処理について説明する。処理管理手段21は、例えば、次の(a)〜(g)の処理条件に従って処理を行う。なお、(a)〜(g)の処理条件は一例であり、他の条件を含めてもよく、異なる条件としてもよい。
(a)次に実行すべき処理がある場合
例えば、処理オブジェクト33の処理履歴のスケジューリング状況に次に行われる処理(並列処理を含む。)が記録されている場合が該当する。この場合は、処理管理手段21の送信手段213は、次に行われる処理を行えるサービス提供モジュール22を管理している処理管理手段21が自己であれば、自己が管理しているサービス提供モジュール22に処理対象データ(初期データ又は中間の処理結果)を送信して処理を行わせる。当該サービス提供モジュール22を管理している処理管理手段21が他の処理管理手段21であれば、他の処理管理手段21に処理オブジェクト33を送信して処理を依頼する。
例えば、処理オブジェクト33の処理履歴のスケジューリング状況に次に行われる処理(並列処理を含む。)が記録されている場合が該当する。この場合は、処理管理手段21の送信手段213は、次に行われる処理を行えるサービス提供モジュール22を管理している処理管理手段21が自己であれば、自己が管理しているサービス提供モジュール22に処理対象データ(初期データ又は中間の処理結果)を送信して処理を行わせる。当該サービス提供モジュール22を管理している処理管理手段21が他の処理管理手段21であれば、他の処理管理手段21に処理オブジェクト33を送信して処理を依頼する。
(b)依頼内容に含まれる出力条件を満たしている場合
例えば、処理オブジェクト33の処理対象データの中間の処理結果が処理要望の処理ゴールを満たしている場合が該当する。この場合は、サービス提供モジュール22は、処理した結果が最終の処理結果か否かは分からないため、処理管理手段21の送信手段213が最終か否かを判断する。送信手段213は、中間の処理結果として処理オブジェクト33に記録されていても、最終と判断した場合には、中間の処理結果を最終の処理結果としてユーザ端末装置4に送信するか、又は指定された格納場所に格納する。
例えば、処理オブジェクト33の処理対象データの中間の処理結果が処理要望の処理ゴールを満たしている場合が該当する。この場合は、サービス提供モジュール22は、処理した結果が最終の処理結果か否かは分からないため、処理管理手段21の送信手段213が最終か否かを判断する。送信手段213は、中間の処理結果として処理オブジェクト33に記録されていても、最終と判断した場合には、中間の処理結果を最終の処理結果としてユーザ端末装置4に送信するか、又は指定された格納場所に格納する。
(c)処理要望が処理結果の格納場所を含む場合、又は処理の必要から処理結果を格納する必要がある場合
例えば、処理オブジェクト33の処理要望の提示方法に、処理結果又はその複写の格納場所が指定されている場合が該当する。この場合は、処理管理手段21の送信手段213は、処理結果又はその複写を指定された格納場所、例えば、データベース3の指定されたファイルに格納する。
例えば、処理オブジェクト33の処理要望の提示方法に、処理結果又はその複写の格納場所が指定されている場合が該当する。この場合は、処理管理手段21の送信手段213は、処理結果又はその複写を指定された格納場所、例えば、データベース3の指定されたファイルに格納する。
(d)処理要望が外部装置の情報を必要とする場合
例えば、問いに対する答えを出力する際に、問いとして不足の情報がある場合に、その不足の情報をサーバ等の外部装置から取得する場合が該当する。この場合は、処理管理手段21の受信手段210は、外部装置から不足の情報を取得し、処理オブジェクト33の処理対象データに追記する。なお、外部装置は、データベース3でもよい。
例えば、問いに対する答えを出力する際に、問いとして不足の情報がある場合に、その不足の情報をサーバ等の外部装置から取得する場合が該当する。この場合は、処理管理手段21の受信手段210は、外部装置から不足の情報を取得し、処理オブジェクト33の処理対象データに追記する。なお、外部装置は、データベース3でもよい。
(e)依頼に応える処理スケジュールが決定されていない場合
例えば、処理依頼を受け付けた処理管理手段21で依頼に応える処理スケジュールが決定されていない場合が該当する。この場合は、処理の過程で処理ゴールに到達可能な処理スケジュールを決定する。処理が複雑で定形の処理フローがある場合に有効になる。この場合は、処理管理手段21の決定手段212は、処理ゴールに到達し得る処理スケジュールを決定し、決定した処理スケジュールを処理オブジェクト33のスケジューリング状況に記録する。なお、1回の処理で処理ゴールに到達するというように、最初から処理ゴールが見えている場合は、処理スケジュールを生成しなくてもよい。また、処理依頼を受け付けた処理管理手段21で依頼に応える処理スケジュールを決定できる場合には、処理スケジュールを決定してもよい。
例えば、処理依頼を受け付けた処理管理手段21で依頼に応える処理スケジュールが決定されていない場合が該当する。この場合は、処理の過程で処理ゴールに到達可能な処理スケジュールを決定する。処理が複雑で定形の処理フローがある場合に有効になる。この場合は、処理管理手段21の決定手段212は、処理ゴールに到達し得る処理スケジュールを決定し、決定した処理スケジュールを処理オブジェクト33のスケジューリング状況に記録する。なお、1回の処理で処理ゴールに到達するというように、最初から処理ゴールが見えている場合は、処理スケジュールを生成しなくてもよい。また、処理依頼を受け付けた処理管理手段21で依頼に応える処理スケジュールを決定できる場合には、処理スケジュールを決定してもよい。
(f)処理条件が整っていない場合
処理オブジェクト33の処理対象データの中間の処理結果に必要な情報が揃っていない場合や、処理時期に達していない場合が該当する。この場合は、処理管理手段21の送信手段213は、処理オブジェクト33をデータベース3に格納しておくか、必要に応じて処理オブジェクト33を処理してデータベース3に格納するか、又は別の処理管理手段21又は格納処理を行うサービス提供モジュール22に送信する。
処理オブジェクト33の処理対象データの中間の処理結果に必要な情報が揃っていない場合や、処理時期に達していない場合が該当する。この場合は、処理管理手段21の送信手段213は、処理オブジェクト33をデータベース3に格納しておくか、必要に応じて処理オブジェクト33を処理してデータベース3に格納するか、又は別の処理管理手段21又は格納処理を行うサービス提供モジュール22に送信する。
(g)重複した処理を検出した場合
この重複した処理を検出した場合の処理(重複検出処理ともいう。)について説明する。
この重複した処理を検出した場合の処理(重複検出処理ともいう。)について説明する。
処理オブジェクト33の処理を行う際に、複数のサービス提供モジュール32による処理結果を比較したり、処理結果や、処理終了時刻などの判断材料に応じていずらかの処理結果を採用するという場合が考えられる。この場合、処理管理手段21自身が管理しているサービス提供モジュール22だけに依頼するのではなく、別の処理管理手段22を経由して、直接接続していないサービス提供モジュール22に処理を依頼する場合には、別の管理下に処理依頼を行うことになる。それぞれ別の管理下にある、処理オブジェクト33の処理が進み次に行われる処理に渡った場合に、同一の処理依頼に基づく処理オブジェクト33が、別のルートから次工程の同一の機能のサービス提供モジュール22に依頼として届くことが考えられる。各処理オブジェクト33のそれまでの処理履歴がないと、その後の処理を重複して実施する必要があるのか、処理をまとめて行えばよいのか決定できない。
並列処理を行うと決定した場合には、処理管理手段21は、処理履歴として、例えば、処理管理手段Bが管理するモジュールIDが「S403」のサービス提供手段aと処理管理手段Cが管理するモジュールIDが「S403b」のサービス提供手段bに、処理依頼を分けたという記録を処理オブジェクト33に残す。
処理管理手段B及び処理管理手段Cは、処理の依頼を受けた場合には、処理内容と共に、処理履歴も参照して、過去に処理を複数に処理を分岐して依頼した履歴があった場合には、別の処理にも同様の分岐があったか調べて、同一の依頼が分岐されたものが見つかった場合には、内容に応じて重複しての処理を停止し、1つの処理結果を複数の依頼への処理結果として追記する。ないしは、可能な場合には、複数の分岐処理を1つの処理依頼と、結合することで、重複処理を避けることが可能となる。
前述の例では、モジュールIDが「S403」のサービス提供手段aによる処理結果を含む処理オブジェクト33が、処理管理手段Bから処理管理手段Aに送られ、平衡して、モジュールIDが「S403b」のサービス提供手段bによる処理結果を含む処理オブジェクト33が、処理管理手段Cから処理管理手段Aに同時に送られた場合、いずれの処理オブジェクト33にも、中間処理依頼状況に処理結果を複写したものである旨が記載されているため、同一の処理の結果であるとして、結果を並列してユーザ端末装置4に出力して表示させる。処理精度優先ならば、両社の結果を比較し、内容に応じて統合(補間)してユーザ端末装置4に出力して表示させる。処理時間優先ならば、先の結果をユーザ端末装置4に出力して表示させ、後の結果は破棄するといったように、次処理の判断材料とすることが可能となる。
(実施の形態の動作)
次に、情報処理システム1の動作の一例について説明する。
次に、情報処理システム1の動作の一例について説明する。
(1)全体の概略のフロー
図5は、情報処理システム1の概略の動作の一例を示すタイミングチャートである。ここでは、コンピュータAによって構成された情報処理装置2の処理管理手段Aが処理依頼を受け付けるものとする。
図5は、情報処理システム1の概略の動作の一例を示すタイミングチャートである。ここでは、コンピュータAによって構成された情報処理装置2の処理管理手段Aが処理依頼を受け付けるものとする。
情報処理装置2の処理管理手段Aの受信手段210は、ユーザ端末装置4から処理対象データ及び依頼内容を含む入力情報を受け付ける(S1)。
入力情報を受け付けた処理管理手段Aの生成手段211は、入力情報、モジュール機能テーブル31及びモジュール管理テーブル32に基づいて処理オブジェクト33を生成し、決定手段212は、処理オブジェクト33に基づいて処理スケジュールを決定する(S2)。ここでは、処理スケジュールが、処理管理手段Aが管理するサービス提供モジュール22aが処理を行い、次に処理管理手段Bが管理するサービス提供モジュール22bが処理を行うように決定されているものとする。
次に、処理管理手段Aは、処理条件に従った処理を行う(S3)。すなわち、処理オブジェクト33の処理スケジュールに従って処理を行う。処理スケジュールは、次に行われる処理を行うサービス提供モジュール22が自己が管理するサービス提供モジュール22aであるので、処理管理手段Aの送信手段213は、自己が管理している各サービス提供モジュール22に初期データを送信して処理を行うよう指示をする(S4)。各サービス提供モジュール22は、処理を実行し(S5)、処理結果を処理管理手段Aに送信する(S6)。送信手段213は、各サービス提供モジュール22から処理結果を受信する。送信手段213が受信した処理結果のうち、サービス提供モジュール22aからの処理結果のみがエラーを含まない正常な処理結果であるので、送信手段213は、正常な処理結果及び処理履歴を処理オブジェクト33に記録する(S7)。
処理管理手段Aの送信手段213は、次に行われる処理を行うサービス提供モジュール22bを管理している処理管理手段Bに処理オブジェクト33を送信して処理を依頼する(S8)。
処理管理手段Bは、処理条件に従って処理を行う(S9)。すなわち、処理管理手段Aから送信された処理オブジェクト33から中間の処理結果を取り出し、中間の処理結果を各サービス提供モジュール22に送信して処理を行うよう指示をする(S10)。各サービス提供モジュール22は、処理を実行し(S11)、処理結果を処理管理手段21に送信する(S12)。処理管理手段Bの送信手段213は、各サービス提供モジュール22から処理結果を受信する。送信手段213が受信した処理結果のうち、サービス提供モジュール22bからの処理結果のみがエラーを含まない正常な処理結果であるので、送信手段213は、正常な処理結果及び処理履歴を処理オブジェクト33に記録する(S13)。
処理管理手段Bの送信手段213は、サービス提供モジュール22bからの処理結果が処理ゴールに対応しているため、中間の処理結果を最終の処理結果としてユーザ端末装置4に送信する(S14)。
(2)処理スケジュール決定フロー
次に、処理スケジュール決定フローを図10のフローチャートに従って説明する。図10は、処理管理手段21の処理スケジュール決定フローの一例を示すフローチャートである。
次に、処理スケジュール決定フローを図10のフローチャートに従って説明する。図10は、処理管理手段21の処理スケジュール決定フローの一例を示すフローチャートである。
処理管理手段21が他の情報処理装置2から送信された処理オブジェクト33を受信すると(S21)、処理オブジェクト33の処理履歴の項目から情報を読み取る(S22)。予定された次に行われる処理(次処理)が記録されているか否かを判断する(S23)。
次に行われる処理が記録されている場合は(S23:Yes)、サービス提供モジュール22により次に行われる処理を行うよう指示する(S24)。
次に行われる処理が記録されていない場合は(S23:No)、現在の中間処理の状態を前方探索群、最終の処理結果の形態を後方探索群とし、前方探索群、後方探索群及び処理パス候補群を空に設定する(S24)。
次処理探索フロー(S25)を実行する。なお、次処理探索フロー(S25)については、後述する。
処理パス候補群が見つかったか否かを判断する(S26)。見つからなかった場合は(S26:No)、実行可能な処理スケジュールを決定できないことを処理オブジェクト33に記録し(S27)、処理を終了する。
処理パス候補群が見つかった場合は(S26:Yes)、処理パス候補群が複数か否かを判断する(S28)。
見つかった処理パス候補群の数が1つの場合は(S28:No)、処理パス候補を予定処理パスとして、処理オブジェクト33のスケジューリング状況に記録し、最初の処理を次処理として決定し(S29)、サービス提供モジュール22により次処理を行う(S24)。
見つかった処理パス候補群の数が複数の場合は(S28:Yes)、処理パス候補群を、使用する処理時間、コストからスコアリングする(S30)。スコアの最も高い処理パスを選出する(S31)。その後は、前述したステップS29、S24に進む。
(3)次処理探索フロー
次に、図10に示す次処理探索フロー(S25)を図11を参照して説明する。
次に、図10に示す次処理探索フロー(S25)を図11を参照して説明する。
データベース3のモジュール機能テーブル31を参照して、前方探索群か、後方探索群のいずれかへ接続する処理(接続処理ともいう。)を探す(S251)。
接続処理が見つからなかった場合は(S252:No)、処理を終了する。接続処理が見つかった場合は(S252:Yes)、見つかった処理を全て接続したか否かを判断する(S253)。見つかった処理は前方探索群と後方探索群とを結ぶ処理か否かを判断する(S254)。見つかった処理が前方探索群と後方探索群とを結ぶ処理の場合は(S254:Yes)、見つかった処理を処理パス候補群に追加する(S255)。見つかった処理が前方探索群と後方探索群とを結ぶ処理でない場合は(S254:No)、見つかった処理を、接続可能な探索パスに追加してパスを伸ばし、前方探索群と後方探索群の接続した方を更新する(S256)。
ここで、前方探索群を示す図6、図7、及び後方探索群を示す図8、図9を参照して具体例を説明する。
図7に示すように、前方探索の場合は、次のように探索される。すなわち、処理済みの状態(初期データ)の音声波形(日本語)をモジュールIDが「S101」のサービス提供モジュール22が処理した現在の処理状態が日本語テキストだとする。モジュール機能テーブル31を参照して前方探索を行うと、日本語テキストを中文テキストに翻訳するモジュールID「S401」による処理と、日本語テキストを英語テキストに翻訳するモジュールID「S403」による処理とに分岐することが分かる。
この場合は、図6に示すように、探索状態が中文テキストの場合は、処理列は「S101−S401」と記録することができる。探索状態が英文テキストの場合は、処理列は「S101−S403」と記録することができる。このときの処理履歴には、処理済みのモジュールIDによる処理時間と処理結果が記録される。
図9に示すように、後方探索の場合は、次にように探索される。すなわち、意図理解により医療に関する問いが依頼内容だとすると、答えとして要求される最終形態は日本語テキスト(医療回答)であることが分かる。そこを起点とし、モジュール機能テーブル31を参照して後方探索すると、英語テキスト(医療回答)を日本語テキストに変換するモジュールID「S402」による処理と、音声波形(日本語、医療回答)を日本語テキストに変換するモジュールID「S101」による処理と、画像(日本語、医療回答)を日本語テキストに変換するモジュールID「S301」による処理との3つの処理を探索することができる。
この場合は、図8に示すように、探索状態が音声波形(日本語)の場合は、処理列は「S101」、探索状態が音声波形(英語)の場合は、処理列は「S301」、探索状態が音声波形(all)の場合は、処理列は「S402」とそれぞれ記録することができる。
(4)重複処理検出フロー
次に、重複処理検出フローの一例を、図12を参照して説明する。図12は、処理管理手段21の重複処理検出フローの一例を示すフローチャートである。
次に、重複処理検出フローの一例を、図12を参照して説明する。図12は、処理管理手段21の重複処理検出フローの一例を示すフローチャートである。
処理管理手段21が他の情報処理装置2から送信された処理オブジェクト33を受信すると(S41)、処理オブジェクト33の処理履歴の項目から情報を読み取る(S22)。分岐した処理履歴が記録されているか否かを判断する(S43)。
分岐した処理履歴が記録されていない場合は(S43:No)、サービス提供モジュールにより次に行われる処理を行うよう指示をする(S44)。
分岐した処理履歴が記録されている場合は(S43:Yes)、別の処理オブジェクト33を参照し(S45)、当該処理から分岐された処理があるか否かを判断する(S46)。当該処理から分岐された処理がない場合は(S46:No)、処理オブジェクト33を結合し(S47)、ステップS44に進む。複数の管理主体としての処理管理手段21間の調整処理を付加しなくても、処理オブジェクト33が決等された後は、結合前の処理オブジェクト33がそれぞれ処理されるという無駄な処理の発生が抑制される。なお、ステップS47では、処理オブジェクト33を結合せずに依頼内容に応じていずれかの処理オブジェクト33を選択してもよい。
当該処理から分岐された処理がある場合は(S46:Yes)、次に行われる処理(次の処理)を検出し(S48)、複数の内容が同一か否かを判断する(S49)。複数の内容が同一の場合は(S49:Yes)、前述したステップS47、S44に進む。複数の内容が同一でない場合は(S49:No)、処理オブジェクト33を結合せずに、それぞれをサービス提供モジュールに処理をさせる(S44)。
(5)具体例
次に、情報処理システム1の具体例について、図13A、図13B、図13Cを参照して説明する。図13Aは、処理管理手段A及びBによって記録された処理オブジェクト33aの一例を示す図である。図13Bは、複写された処理オブジェクト33bの一例を示す図である。図13Cは、図13Aに示す処理オブジェクト33aと図13Bに示す処理オブジェクト33bとを1つの処理オブジェクト33cにして処理管理手段Aによって記録された処理オブジェクト33cの一例を示す図である。
次に、情報処理システム1の具体例について、図13A、図13B、図13Cを参照して説明する。図13Aは、処理管理手段A及びBによって記録された処理オブジェクト33aの一例を示す図である。図13Bは、複写された処理オブジェクト33bの一例を示す図である。図13Cは、図13Aに示す処理オブジェクト33aと図13Bに示す処理オブジェクト33bとを1つの処理オブジェクト33cにして処理管理手段Aによって記録された処理オブジェクト33cの一例を示す図である。
なお、処理管理手段Aは、モジュールID「S101」、「S102」、「S402」、「S901」のサービス提供モジュール22を管理し、処理管理手段Bは、モジュールID「S403」のサービス提供モジュール22を管理し、処理管理手段Cは、モジュールID「S403b」のサービス提供モジュール22を管理しているものとする。
また、ユーザがユーザ端末装置4のマイクを使って「熱が出ている。咳が出ている。喉が痛い。何が原因でしょうか?」の日本語の音声で質問し、その質問を入力情報としてコンピュータAにより構成された情報処理装置2Aが受け付けたとする。
処理管理装置2Aの受信手段210は、ユーザ端末装置4から処理対象データ及び依頼内容を含む入力情報を受け付ける。生成手段211は、入力情報に基づいて処理オブジェクト33を生成する。
処理管理手段2Aの決定手段212は、処理対象データの形式からデータの種類(ここでは音声波形データ)を判断し、次に行われる処理を決定する。なお、決定手段212は、音声波形データの言語が日本語であるか、英語であるかまでは判断できないため、音声波形データを入力状態としているモジュールIDを図2に示すモジュール機能テーブル31から抽出する。
また、決定手段212は、音声波形データの長さが予め定められた長さ以上であることから、状況認識の処理は不要と判断して、入力状態が音声波形のうち、状況処理を行うモジュールIDが「S201」のサービス提供モジュール22は除外する。この場合は、モジュールID「S101」、「S102」を抽出する。初期データが音声波形データの段階では、決定手段211は、まだ処理ゴールに至る処理スケジュールを決定できない。
次に、決定手段212は、抽出したモジュールID「S101」、「S102」のサービス提供モジュール22を管理しているコンピュータ名(処理管理手段名)を図3に示すモジュール管理テーブル32を参照して取得し、次に行われる処理を行う処理モジュール22及び処理管理手段21を決定し、それらの情報を処理オブジェクト33に記録する。
処理管理手段Aの送信手段213は、モジュールID「S101」、「S102」は処理管理手段Aが管理しているサービス提供モジュール22であるので、音声波形データを自己が管理している各サービス提供モジュール22に送信して処理を行わせる。各サービス提供モジュール22は、処理を行い、処理結果を送信手段213に送信する。送信手段213は、各サービス提供モジュール22から送信された処理結果のうち、「S101」のサービス提供モジュール22から送信された処理結果のみがエラーを含まない正常な処理結果であると認識する。
次に、処理管理手段Aの決定手段212は、「S101」のサービス提供モジュール22により音声波形データが変換されて日本語のテキストの処理結果が得られたならば、日本語のテキストを自己が管理する意図理解を行う「S901」のサービス提供モジュール22を次に行われる処理として決定する。
処理管理手段Aの送信手段213は、「S901」のサービス提供モジュール22に処理を行わせる。「S901」のサービス提供モジュール22は、ユーザの質問が医療に関する質問であると理解し、その処理結果を送信手段213に送信する。なお、入力情報が日本語のテキストの場合は、最初にこの意図理解を行うサービス提供モジュール22に処理を行わせてもよい。
処理管理手段Aの生成手段211は、送信手段213が受信した処理結果により、依頼内容が意図理解により医療に関する質問であることが分かると、モジュール機能テーブル31から、日本語テキスト/英語テキスト→英語テキスト(質問)/英語テキスト(医療回答)→英語テキスト/日本語テキストで処理ゴールに到達できることを認識する。
生成手段211は、現在からゴールに至る処理の流れを、日本語テキスト/英語テキスト→英語テキスト(質問)/英語テキスト(医療回答)→英語テキスト/日本語テキストとする処理スケジュールを決定し、この処理スケジュールを、図13Aに示すように、処理オブジェクト33aのスケジューリング状況に記録する。
処理オブジェクト33のスケジューリング状況には、図13Aに示すように、モジュールID「S101」及び「S102」が並列処理を行い、次にモジュールID「S403」及び「S403b」が並列処理を行い、次にモジュールID「S901」が処理し、次にモジュールID「S711」が処理し、次にモジュールID「S402」が処理するという処理スケジュールが記録される。
図13Aに示す処理オブジェクト33aの中間処理依頼状況のS1〜S7は、それぞれ次のことを示している。
S1は、処理管理手段Aは、モジュールID「S101」、「S102」のサービス提供モジュール22に8月15日7:50:13に処理を依頼したことを示している。
S2は、処理管理手段Aは、モジュールID「S101」のサービス提供モジュール22から8月15日7:50:19に正常な処理結果を受信したことを示している。すなわち、モジュールID「S102」からの処理結果にはエラーが含まれていることから、「S102」の処理結果は記録されず、「S101」の正常な処理結果のみが記録される。
S3は、処理管理手段Aは、モジュールID「S901」に8月15日7:50:20に処理を依頼したことを示している。
S4は、処理管理手段Aは、モジュールID「S901」のサービス提供モジュール22から8月15日7:50:21に正常な処理結果を受信したことを示している。
S5は、処理管理手段Aは、モジュールID「S403」を管理している処理管理手段B、及びモジュールID「S403b」を管理している処理管理手段Cに8月15日7:50:22にそれぞれ処理を依頼したことを示している。
S6は、処理管理手段Bは、モジュールID「S403」のサービス提供モジュール22から8月15日7:50:23に正常な処理結果を受信したことを示している。
S7は、処理管理手段Bは、モジュールID「S402」のサービス提供モジュール22を管理している処理管理手段Aに8月15日7:50:26に処理を依頼したことを示している。
一方、処理管理手段Cは、処理管理手段Aから図13Bに示す処理オブジェクト33bを受信している。
S1〜S5までは処理管理手段Aが有している処理オブジェクト33aと同一である。
図13Bに示す処理オブジェクト33bのS6以降は次にように記録される。
S6は、処理管理手段Cは、モジュールID「S403b」のサービス提供モジュール22から8月15日7:50:24に正常な処理結果を受信したことを示している。
S7は、処理管理手段Cは、モジュールID「S402」のサービス提供モジュール22を管理している処理管理手段Aに8月15日7:50:28に処理を依頼したことを示している。
処理管理手段Aは、図13Aに示す処理オブジェクト33aと図13Bに示す処理オブジェクト33bを受信する。
図13Bに示す処理オブジェクト33bを受信した処理管理手段Aの送信手段213は、図13Cに示すように、処理オブジェクト33cのS8、S9に記録する。
S8は、処理管理手段Aが処理時間優先に従い、処理管理手段Bから送信された処理オブジェクト33aを採用し、処理管理手段Cから送信された処理オブジェクト33bを不採用としたことを示している。
S9は、処理管理手段Aが8月15日7:50:33に処理結果を外部に送信したことを示している。
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。例えば、上記実施の形態では、それぞれコンピュータにより構成された複数の情報処理装置により構成された情報処理システムについて説明したが、本発明は、複数のコンピュータにより構成された単一の情報処理装置にも同様に適用することができる。このような情報処理装置の場合、複数のコンピュータはバス等により接続されている。
コンピュータの各手段は、それぞれ一部又は全部を再構成可能回路(FPGA:Field Programmable Gate Array)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)等のハードウエア回路によって構成してもよい。
また、本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことや変更することが可能である。また、本発明の要旨を変更しない範囲内で、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをCD−ROM等のコンピュータ読み取り可能な記録媒体に記録して提供することができる。また、上記実施の形態で用いたプログラムをクラウドサーバ等の外部サーバに格納しておき、ネットワークを介して利用することができる。
1…情報処理システム、2(2A、2B、2C)…情報処理装置、3…データベース、4…ユーザ端末装置、5…ネットワーク、21(21A、21B、21C)…処理管理手段、22…サービス提供モジュール、31…モジュール機能テーブル、32…モジュール管理テーブル、33、33a〜33c…処理オブジェクト、210…受信手段、211…生成手段、212…決定手段、213…送信手段
Claims (10)
- 処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、それぞれ前記処理モジュールを管理する複数の管理手段と、前記管理手段の識別情報及び前記処理モジュールの識別情報に関連付けて前記処理モジュールが有する機能の情報を記憶する記憶手段と、を備えた情報処理システムであって、
前記管理手段は、
前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段と、
を備えた情報処理システム。 - 前記管理手段は、
前記処理対象を含む処理依頼を受け付ける受付手段、をさらに備え、
前記決定手段は、前記処理依頼に応え得る処理結果が得られるまでの前記処理計画を決定する、
請求項1に記載の情報処理システム。 - 前記決定手段は、前記複数の管理手段により管理された機能が同一の前記処理モジュールが並列的に処理を行う並列処理とそれに続く1つの処理とを含む前記処理計画を決定した場合、前記1つの処理に係る管理手段は、送信された複数の処理オブジェクトを1つの処理オブジェクトにする処理を行い、他の処理オブジェクトに対するその後の処理を中止する、
請求項2に記載の情報処理システム。 - 前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトのうち前記処理依頼に対応した前記1つの処理オブジェクトを選択する処理である、
請求項3に記載の情報処理システム。 - 前記1つの処理オブジェクトにする処理は、前記複数の処理オブジェクトを1つの処理オブジェクトに結合する処理である、
請求項3に記載の情報処理システム。 - 前記依頼手段は、送信された前記処理モジュールに記録されている処理結果が最終の処理結果である場合は、その後の処理モジュールによる処理を行わずに最終の処理結果を外部に送信する、
請求項1又は2に記載の情報処理システム。 - 前記決定手段は、最終の処理結果を得るまでに必要な処理の順序を決定できた場合に、それを前記処理計画として決定する、
請求項2に記載の情報処理システム。 - 前記決定手段は、前方探索により前記最終の処理結果に到達できた場合に、それを前記処理計画として決定する、
請求項7に記載の情報処理システム。 - 前記決定手段は、後方探索により当初の前記処理対象に到達できた場合に、それを前記処理計画として決定する、
請求項7に記載の情報処理システム。 - 処理対象に対して自己が有する機能に応じた処理を行う複数の処理モジュールと、管理手段の識別情報及び前記処理モジュールの識別情報に関連付けて前記処理モジュールが有する機能の情報を記憶する記憶手段と、を備えたコンピュータを、
それぞれ前記処理モジュールを管理する複数の前記管理手段として機能させるためのプログラムであって、
前記管理手段を、前記処理対象、前記記憶手段の記憶内容、及び前記処理対象に対して行われた処理の履歴情報に基づいて、少なくとも次に行われる処理を含む処理計画を決定する決定手段と、
前記処理対象、前記履歴情報、及び前記次に行われる処理を行う処理モジュールの識別情報を含む処理オブジェクトを、前記次に行われる処理を行う処理モジュールを管理している前記管理手段に送信して処理を依頼する依頼手段、
として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018026224A JP2019144684A (ja) | 2018-02-16 | 2018-02-16 | 情報処理システム及びプログラム |
US16/162,406 US10923108B2 (en) | 2018-02-16 | 2018-10-17 | Information processing system and non-transitory computer readable medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018026224A JP2019144684A (ja) | 2018-02-16 | 2018-02-16 | 情報処理システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019144684A true JP2019144684A (ja) | 2019-08-29 |
Family
ID=67618006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018026224A Pending JP2019144684A (ja) | 2018-02-16 | 2018-02-16 | 情報処理システム及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10923108B2 (ja) |
JP (1) | JP2019144684A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526780B2 (en) * | 2019-08-05 | 2022-12-13 | Microsoft Technology Licensing, Llc | Converting nonnative skills for conversational computing interfaces |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029847A (ja) * | 1998-07-10 | 2000-01-28 | Toshiba Corp | エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体 |
JP2001236333A (ja) * | 2000-02-21 | 2001-08-31 | Hitachi Ltd | 電子署名付移動エージェント |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH076142A (ja) | 1993-04-20 | 1995-01-10 | Mitsubishi Electric Corp | マルチエージェント協調システム及びその方法 |
JPH08137697A (ja) | 1994-11-15 | 1996-05-31 | Kobe Steel Ltd | 自律分散型システム |
JPH11212831A (ja) | 1998-01-27 | 1999-08-06 | Ntt Data Corp | オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 |
US6604101B1 (en) * | 2000-06-28 | 2003-08-05 | Qnaturally Systems, Inc. | Method and system for translingual translation of query and search and retrieval of multilingual information on a computer network |
US9672209B2 (en) * | 2012-06-21 | 2017-06-06 | International Business Machines Corporation | Dynamic translation substitution |
US10042603B2 (en) * | 2012-09-20 | 2018-08-07 | Samsung Electronics Co., Ltd. | Context aware service provision method and apparatus of user device |
US9172747B2 (en) * | 2013-02-25 | 2015-10-27 | Artificial Solutions Iberia SL | System and methods for virtual assistant networks |
US9201865B2 (en) * | 2013-03-15 | 2015-12-01 | Bao Tran | Automated assistance for user request that determines semantics by domain, task, and parameter |
US20170293610A1 (en) * | 2013-03-15 | 2017-10-12 | Bao Tran | Voice assistant |
US9966065B2 (en) * | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9633004B2 (en) * | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9996533B2 (en) * | 2015-09-30 | 2018-06-12 | International Business Machines Corporation | Question answering system using multilingual information sources |
CN106649282A (zh) * | 2015-10-30 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 基于统计的机器翻译方法、装置及电子设备 |
EP3312722A1 (en) * | 2016-10-21 | 2018-04-25 | Fujitsu Limited | Data processing apparatus, method, and program |
US10176171B1 (en) * | 2017-12-29 | 2019-01-08 | Aiqudo, Inc. | Language agnostic command-understanding digital assistant |
-
2018
- 2018-02-16 JP JP2018026224A patent/JP2019144684A/ja active Pending
- 2018-10-17 US US16/162,406 patent/US10923108B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029847A (ja) * | 1998-07-10 | 2000-01-28 | Toshiba Corp | エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体 |
JP2001236333A (ja) * | 2000-02-21 | 2001-08-31 | Hitachi Ltd | 電子署名付移動エージェント |
Also Published As
Publication number | Publication date |
---|---|
US20190259373A1 (en) | 2019-08-22 |
US10923108B2 (en) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10078489B2 (en) | Voice interface to a social networking service | |
US8751558B2 (en) | Mashup infrastructure with learning mechanism | |
US8682640B2 (en) | Self-configuring language translation device | |
CN108229704B (zh) | 用于推送信息的方法和装置 | |
US20150254237A1 (en) | Data Security System for Natural Language Translation | |
US11494376B2 (en) | Data query method supporting natural language, open platform, and user terminal | |
KR20190128116A (ko) | 공통 스토리와 관련된 미디어-컨텐츠 아이템을 식별, 선택 및 제시하기 위한 방법 및 시스템 | |
US9881011B2 (en) | System and method for generating user profiles for human resources | |
WO2015141700A1 (en) | Dialogue system construction support apparatus and method | |
JPWO2019004363A1 (ja) | 情報入力方法、情報入力装置、及び情報入力システム | |
US11580416B2 (en) | Improving the accuracy of a compendium of natural language responses | |
JP7184386B2 (ja) | 対話装置、制御装置、対話システム、対話方法、制御方法、およびプログラム | |
JP6382475B1 (ja) | 多言語コミュニケーションシステムおよび多言語コミュニケーション提供方法 | |
JP2019144684A (ja) | 情報処理システム及びプログラム | |
CN110807535A (zh) | 统一预约平台的构建方法、构建装置和统一预约平台系统 | |
JP5327737B2 (ja) | 対話装置、重み情報学習装置、対話方法、重み情報学習方法、およびプログラム | |
US20110093192A1 (en) | Application apparatus, server, system and method of travel service | |
JP2019003666A (ja) | 多言語コミュニケーションシステムおよび多言語コミュニケーション提供方法 | |
JP2009271853A (ja) | 行動支援サーバ、行動支援システム及び行動支援方法 | |
US20210081600A1 (en) | Coaching system and coaching method | |
JP2009199127A (ja) | 事務サービスを提供する情報システム | |
JP2018163611A (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
JP2008217158A (ja) | サービスコンポーネント選択方法、サービスコンポーネント選択装置及びサービス選択プログラム | |
EP4220512A1 (en) | Integrated secondary virtual agents | |
JP6881518B2 (ja) | 多言語変換装置、多言語変換方法、および多言語変換プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220510 |