JP6483757B2 - ジョブ実行制御装置、ジョブ実行制御方法およびプログラム - Google Patents

ジョブ実行制御装置、ジョブ実行制御方法およびプログラム Download PDF

Info

Publication number
JP6483757B2
JP6483757B2 JP2017114557A JP2017114557A JP6483757B2 JP 6483757 B2 JP6483757 B2 JP 6483757B2 JP 2017114557 A JP2017114557 A JP 2017114557A JP 2017114557 A JP2017114557 A JP 2017114557A JP 6483757 B2 JP6483757 B2 JP 6483757B2
Authority
JP
Japan
Prior art keywords
job
definition
executed
input
execution
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.)
Active
Application number
JP2017114557A
Other languages
English (en)
Other versions
JP2018206315A (ja
Inventor
長 健太
健太 長
恵 相川
恵 相川
康二 安田
康二 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2017114557A priority Critical patent/JP6483757B2/ja
Priority to US16/001,389 priority patent/US10884685B2/en
Priority to CN201810579737.1A priority patent/CN109032715B/zh
Publication of JP2018206315A publication Critical patent/JP2018206315A/ja
Application granted granted Critical
Publication of JP6483757B2 publication Critical patent/JP6483757B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1227Printer definition files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明の実施形態は、ジョブ実行制御装置、ジョブ実行制御方法およびプログラムに関する。
従来、アプリケーションに応じて実行される複数の処理とその実行順を示すジョブフローを登録し、登録したジョブフローが選択されると、そのジョブフローに従って複数の処理を順次実行することにより、操作性の向上を実現する技術が知られている。しかし、従来のジョブフローは、先に実行される処理の結果を次に実行される処理の入力として用いることを固定的に定めたものであるため、複数の処理の結果のいずれかを選択して次の処理の入力とすることができず、改善が求められる。なお、本明細書においては、ある入力を受け付けて所定の処理を行い、その処理の結果を出力する処理単位を「ジョブ」と呼ぶ。
特許第4861876号公報
本発明が解決しようとする課題は、様々な出力を持つジョブ群から選択されたジョブとそのジョブの出力を入力とするジョブとを簡便な操作で接続して実行可能とするジョブ実行制御装置、ジョブ実行制御方法およびプログラムを提供することである。
実施形態のジョブ実行制御装置は、ジョブ定義により定義されたジョブの実行を制御するジョブ実行制御装置であって、ユーザ操作を受け付けるUI画面の表示を制御する表示制御部と、前記UI画面を利用したユーザ操作に応じてジョブを実行するとともに、ジョブ実行履歴を記録するジョブ実行部と、を備える。前記表示制御部は、前記UI画面にジョブ定義一覧を表示させ、該ジョブ定義一覧からいずれかのジョブ定義が選択されると、選択されたジョブ定義に従って実行するジョブの入力として利用可能な1つ以上の実行済みジョブを入力候補として前記UI画面に表示させる。前記ジョブ実行部は、前記入力候補から実行済みジョブが選択されると、選択された実行済みジョブの出力を入力として、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブを実行する。
図1は、ジョブ実行制御装置の機能的な構成例を示すブロック図である。 図2は、関連文書登録ジョブのジョブ定義を示す図である。 図3は、ユーザ単語作成ジョブのジョブ定義を示す図である。 図4は、辞書精度評価ジョブのジョブ定義を示す図である。 図5は、辞書作成ジョブのジョブ定義を示す図である。 図6は、ジョブ実行履歴の一例を示す図である。 図7は、関連文書登録ジョブにおける入力例を示す図である。 図8は、辞書精度評価ジョブにおける入力例を示す図である。 図9は、辞書精度評価ジョブにおける出力例を示す図である。 図10は、ジョブ実行時の処理手順の一例を示すフローチャートである。 図11は、ジョブ定義一覧UIの一例を示す図である。 図12は、ジョブ実行UIの一例を示す図である。 図13は、ジョブ実行UIの一例を示す図である。 図14は、ジョブ実行UIの一例を示す図である。 図15は、ジョブ履歴UIの一例を示す図である。 図16は、ジョブを実行する際のユーザの操作手順の一例を示すフローチャートである。 図17は、ジョブ詳細UIの一例を示す図である。 図18は、後続ジョブ実行UIの一例を示す図である。 図19は、ジョブ履歴グラフの一部の範囲が選択された状態のジョブ履歴UIを示す図である。 図20は、ジョブ定義グラフのデータ構造の一例を示す図である。 図21は、ジョブ定義グラフを含むジョブ定義一覧を表示するジョブ定義一覧UIの一例を示す図である。 図22は、ジョブ定義グラフが選択された場合に表示されるジョブ実行UIの一例を示す図である。 図23は、入力ジョブ定義履歴の一例を示す図である。 図24は、ジョブ実行成否履歴の一例を示す図である。 図25は、スコアを算出可能なジョブ定義の一例を示す図である。 図26は、スコアを含むジョブ実行履歴の一例を示す図である。 図27は、ジョブ実行UIの一例を示す図である。 図28は、警告UIの一例を示す図である。 図29は、ジョブ実行履歴から把握される実行済みジョブ群の入出力関係をグラフ化して示す図である。 図30は、ジョブフロー系列の一例を示す図である。 図31は、ジョブ実行制御装置のハードウェア構成例を示すブロック図である。
以下、実施形態のジョブ実行制御装置、ジョブ実行制御方法およびプログラムについて、図面を参照して詳細に説明する。
<実施形態の概要>
実施形態のジョブ実行制御装置は、一例として、ネットワークを利用したサーバ・クライアントシステムのサーバとして実現することができる。この場合、ジョブ実行制御装置は、ユーザが利用するクライアント端末に搭載されたブラウザを介して、ユーザ操作を受け付けるUI(User Interface)画面をクライアント端末の表示部に表示させ、このUI画面を利用したユーザ操作に応じてジョブを実行する。
実施形態のジョブ実行制御装置が実行するジョブの処理内容は、ジョブ定義に記述されている。ジョブ定義は、ジョブに付加される識別子であるジョブタイプ、外部から入力を受け取る入力引数、処理内容を示すスクリプトなどから構成される。ジョブの処理結果は、実行されたジョブごとに個別に用意されるディレクトリ(ワークディレクトリ)にファイルとして出力される。入力引数は、UI画面を利用したユーザ操作に応じて与えられる。入力引数の種別としては、他の実行済みジョブの出力、もしくは、文字列やファイルパスなどの具体的な値がある。入力引数が他のジョブの出力である場合、スクリプトにはそのジョブのワークディレクトリが渡される。
実施形態のジョブ実行制御装置は、UI画面を利用したユーザ操作に応じて与えられる入力引数および指定されたジョブ定義のスクリプトを用いてジョブを実行して、出力をワークディレクトリに格納するとともに、ジョブ実行履歴を記録する。ジョブ実行履歴は、実行済みジョブ(実行待ちや実行中のジョブを含む)のジョブ定義、入力として与えられた引数、出力結果、完了時間、そのジョブの状態(実行不可、実行待ち、実行中、中止、完了、失敗など)などを含む。ジョブ実行履歴は、上述のワークディレクトリおよびそれに含まれるファイル群とは別に、データベース上に記録されて蓄積される。
以下では、音声認識用の辞書の作成や評価などを行う一連のジョブを題材として、実施形態のジョブ実行制御装置の構成および動作の具体例について説明する。音声認識用の辞書は、音響に関する特徴量を解析する音響モデルや、発話されたテキスト内に含まれる固有の名詞などを表すユーザ単語などから作成され、音声認識エンジンが音声をテキスト化するために用いられる。ユーザ単語は必須ではなく、作成済みの辞書に対してユーザ単語を後から追加してもよい。
音響モデルは、音声とそれを人手でテキストに変換した書き起こしの組を元に作成される。ユーザ単語は、音声に関連する文書から自然言語解析によって抽出された固有表現を元に作成される。音声と書き起こしの組は、辞書の性能評価用データとしても用いられ、音声認識結果と書き起こしの文字正解率が評価結果として使われる。なお、実施形態のジョブ実行制御装置が扱うことができるジョブは、以下の説明で例示するものに限らない。
<第1の実施形態>
図1は、本実施形態のジョブ実行制御装置10の機能的な構成例を示すブロック図である。ジョブ実行制御装置10は、図1に示すように、表示制御部11と、ジョブ実行部12と、ジョブ実行履歴検索部13と、ジョブ定義グラフ作成部14と、ジョブ定義蓄積部15と、ジョブ実行履歴蓄積部16と、ジョブ結果蓄積部17とを備える。
表示制御部11は、ユーザ操作を受け付けるUI画面の表示を制御する。UI画面の具体例については、詳細を後述する。また、表示制御部11は、UI画面を利用したユーザ操作に応じた操作情報をジョブ実行部12やジョブ定義グラフ作成部14に受け渡す機能を持つ。
ジョブ実行部12は、UI画面を利用したユーザ操作に応じてジョブを実行するとともに、ジョブ実行履歴を記録してジョブ実行履歴蓄積部16に格納する。
ジョブ実行履歴検索部13は、UI画面で後述のジョブ履歴グラフを表示したり、入力候補となる実行済みジョブを表示したりするために、ジョブ実行履歴蓄積部16に蓄積されたジョブ実行履歴を検索する。
ジョブ定義グラフ作成部14は、UI画面で表示されるジョブ履歴グラフからユーザが一部の範囲を指定した場合に、その範囲に含まれる実行済みジョブに対応するジョブ定義群と各ジョブ定義の入出力関係を表すジョブ定義グラフを作成する。
ジョブ定義蓄積部15は、事前に作成されたジョブ定義を蓄積する。また、ジョブ定義グラフ作成部14によってジョブ定義グラフが作成されると、そのジョブ定義グラフもジョブ定義蓄積部15に格納される。
ジョブ定義の一例を図2に示す。この図2に示すジョブ定義は、関連文書登録ジョブのジョブ定義である。ジョブ定義は、主に、‘type’、‘input’、‘script’の3つの情報を含む。‘type’以下に、ジョブに付加される識別子の情報として識別子そのものを表す‘name’と、UI画面上での表示名である‘description’が記述されている。‘input’以下に、入力として与える引数として、引数名である‘documents_dir’と、その引数の情報として引数のタイプを表す‘type’およびUI画面上での表示名である’description‘が記述されている。引数の‘type’には、ファイルのパスを入力とする‘path’、他のジョブの出力(処理結果)を入力とする‘job’、文字列を入力とする‘string’などが存在する。‘script’以下に、そのジョブで実行する処理が記述されている。図2のジョブ定義では、bashで記述されたコマンドで‘script’が記述されている。‘$documents_dir’や‘$workdir’などは変数であり、対応する入力引数、そのジョブのワークディレクトリのパスで置換されてから実行が行われる。
図3にユーザ単語作成ジョブのジョブ定義を示す。ユーザ単語作成ジョブの‘documents_data_job’引数の‘type’は‘job’であり、他のジョブの出力を入力として受け取ることが示されている。また、その際に受け取ることが可能なジョブタイプを指定するための‘job_type’の記述がある。
図4に辞書精度評価ジョブのジョブ定義を示す。このジョブ定義では、複数の入力引数が‘input’として記述してある。また、‘type’が‘job’の引数が複数のジョブタイプを受け取ることが可能な場合、それらの配列が記述される。また、‘output’以下に、そのジョブの処理結果を出力するためのbashスクリプトが記述されている。‘output’の記述を持つジョブ定義に従ってジョブを実行した場合、‘output’内のスクリプトを実行した標準出力結果がそのジョブの出力として記録される。この図4のジョブ定義では、‘script’内のevalコマンドが出力するファイル‘precision.json’を標準出力に出力することを示している。
図5に辞書作成ジョブのジョブ定義を示す。辞書作成ジョブは、辞書精度評価ジョブと同様に複数の入力を受け付けるジョブである。図5に示すジョブ定義では、‘user_words_data_job’引数には‘optional:true’という指定がされており、これによりこの引数は任意の引数であり、入力を与えなくてもジョブの実行が可能であることを示している。
ジョブ実行部12は、以上のようなジョブ定義に‘input’として記述された入力引数が入力として与えられると、そのジョブ定義に従ってジョブを実行することができる。
ジョブ実行履歴蓄積部16は、上述のジョブ実行履歴を蓄積する。ジョブ実行履歴蓄積部16に蓄積されるジョブ実行履歴の一例を図6に示す。ジョブ実行履歴は、例えば図6に示すように、実行済みジョブ(実行待ちや実行中のジョブを含む)を一意に特定するID(ジョブID)、その実行済みジョブのジョブ定義、入力、出力、完了時間、状態などを含む。
ジョブ定義は、そのジョブ定義に記述された‘type’の‘name’で識別される。完了時間はジョブの完了日時が記録されるが、図6では日付部分だけを示している。状態は、ジョブの状態を表し、ジョブの入力が揃わないために実行できないことを示す実行不可、ジョブの実行を待機していることを示す実行待ち、ジョブの実行が開始されたが完了していないことを示す実行中、ジョブの実行を中止したことを示す中止、ジョブの実行が完了したことを示す完了、ジョブの実行に失敗したことを示す失敗などがある。
入力は、各入力引数の値をJSONで示したものである。図7に関連文書登録ジョブにおける入力例を示す。この図7の例では、‘documents_dir’引数に対して‘/work/marketing/meetings/’というpathが指定されている。図8に辞書精度評価ジョブにおける入力例を示す。この図8の例では、‘type’が‘job’の各引数に対して、ジョブIDで入力が指定されている。
出力は、ジョブ定義に‘output’が記述されている場合にその‘output’から出力される標準出力結果であり、入力と同様にJSONで表される。図9に辞書精度評価ジョブにおける出力例を示す。この図9の例では、文字正解率が‘precision’というプロパティ名で示されている。
ジョブ結果蓄積部17は、ジョブ実行部12により実行されたジョブの処理結果(出力)を蓄積する。ジョブの処理結果は、ジョブ結果蓄積部17に作成されたワークディレクトリにファイルとして出力され、ジョブ結果蓄積部17に蓄積される。
次に、本実施形態のジョブ実行制御装置10の動作を説明する。本実施形態のジョブ実行制御装置10は、上述のように、UI画面を利用したユーザ操作に応じてジョブを実行する。ジョブの実行は、入力が揃った実行待ち状態のジョブから順次実行される。ジョブの入力として他のジョブの出力を利用する場合、他のジョブの実行が完了するまではそのジョブは実行不可状態となる。以下では、実行待ち状態のジョブが他のジョブの出力を入力として利用する場合を想定し、ジョブ実行時におけるジョブ実行制御装置10の動作を説明する。
図10は、本実施形態のジョブ実行制御装置10によるジョブ実行時の処理手順の一例を示すフローチャートである。この図10のフローチャートで示す一連の処理は、ジョブ実行制御装置10のジョブ実行部12により一定時間ごとに繰り返し実行される。
図10のフローチャートで示す処理が開始されると、ジョブ実行部12は、まずジョブ実行履歴蓄積部16に蓄積されたジョブ実行履歴を参照し、実行待ち状態のジョブ(実行待ちジョブ)があるかどうかを確認する(ステップS101)。そして、実行待ちジョブがなければ(ステップS101:No)、ジョブ実行履歴内で実行不可状態となっているジョブを実行待ち状態に変更し(ステップS102)、処理を終了する。
一方、実行待ちジョブがある場合は(ステップS101:Yes)、ジョブ実行部12は、その実行待ちジョブの入力に使われる他のジョブ(入力ジョブ)が完了状態かどうかを確認する(ステップS103)。そして、入力ジョブが完了していなければ(ステップS103:No)、実行待ちジョブの状態を実行不可に変更し(ステップS104)、ステップS101に戻って以降の処理を繰り返す。
一方、入力ジョブが完了している場合は(ステップS103:Yes)、ジョブ実行部12は、実行待ちジョブの状態を実行中に変更し(ステップS105)、ジョブ結果蓄積部17内にワークディレクトリを作成する(ステップS106)。そして、ジョブ実行部12は、ジョブの実行に必要な入力を取得し(ステップS107)、ジョブ定義に記述されたスクリプト中の入力変数をステップS107で取得した値に置き換える(ステップS108)。その後、ジョブ実行部12は、スクリプトを実行し(ステップS109)、出力を取得する必要がある場合は取得動作を行う(ステップS110)。
その後、ジョブ実行部12は、ジョブの状態を完了に変更し(ステップS111)、ステップS101に戻って以降の処理を繰り返す。なお、スクリプトの実行に失敗した場合は、ジョブの状態を失敗に変更する。ジョブの入力や出力は、必要に応じてジョブ実行履歴に反映される。スクリプトの実行に関しては、この図10のフローチャートで示す処理と並行に実行することで、同時に複数のスクリプトを実行してもよい。
次に、ジョブの実行に関わるユーザ操作を受け付けるUI画面と、UI画面を利用したユーザ操作の具体例について説明する。UI画面の表示は、上述のように、表示制御部11によって制御される。本実施形態では、表示制御部11により表示制御されるUI画面として、ジョブ定義一覧UI、ジョブ実行UI、ジョブ履歴UI、ジョブ詳細UI、後続ジョブ実行UIなどを想定する。
図11は、ジョブ定義一覧UI20の一例を示す図である。ジョブ定義一覧UI20では、図11に示すように、ジョブ定義一覧、具体的には、ジョブ定義蓄積部15に蓄積されたジョブ定義の‘type’の‘description’の一覧が表示される。
図11に示すジョブ定義一覧UI20で表示されているジョブ定義のうち、関連文書登録は、認識を行う対象の音声に関連する発表資料などの文書を登録するジョブ(関連文書登録ジョブ)のジョブ定義である。関連文書は、音声認識精度の向上に必要な固有表現の抽出のために用いられる。音声登録は、音響モデル作成や評価データに必要となる音声を登録するジョブ(音声登録ジョブ)のジョブ定義である。書き起こし登録は、登録された音声とそれに対応する書き起こしテキストの組みを登録するジョブ(書き起こし登録ジョブ)のジョブ定義である。ユーザ単語登録は、辞書の作成時や評価時に使うユーザ単語を登録するジョブ(ユーザ単語登録ジョブ)のジョブ定義である。ユーザ単語は、標準単語辞書に含まれない固有表現からなる。
書き起こし作成は、音声を入力として音声認識を用いて対応するテキストを作成しそれと音声の組みを書き起こしとするジョブ(書き起こし作成ジョブ)のジョブ定義である。ユーザ単語作成は、関連文書からの固有表現抽出を用いてユーザ単語を作成するジョブ(ユーザ単語作成ジョブ)のジョブ定義である。音響モデル作成は、書き起こしを入力として音響モデルを作成するジョブ(音響モデル作成ジョブ)のジョブ定義である。辞書作成は、音響モデルおよびユーザ単語を入力として音声認識用の辞書を作成するジョブ(辞書作成ジョブ)のジョブ定義である。
辞書精度評価は、辞書および書き起こしを入力として精度評価を行うジョブ(辞書精度評価ジョブ)のジョブ定義である。精度は、書き起こし中の音声を辞書を用いて音声認識した結果と書き起こしテキストを比較することで算出される。辞書配備は、入力された辞書を特定のサーバへ配備するジョブ(辞書配備ジョブ)のジョブ定義である。配備状況テストは、配備された辞書を用いた音声認識動作が行えるかをテストするジョブ(配備状況テストジョブ)のジョブ定義である。評価レポート作成は、辞書精度評価ジョブの結果を入力としユーザが見やすい形のレポートを作成するジョブ(評価レポート作成ジョブ)のジョブ定義である。評価レポート送付は、レポートを特定のユーザへメールなどを用いて送付するジョブ(評価レポート送付ジョブ)のジョブ定義である。
ジョブ定義一覧UI20では、例えば図11に示すように、各ジョブ定義に対応するノードが表示され、ユーザがいずれかのノードをクリックするとそのノードに対応するジョブ定義が選択される。そして、選択されたジョブ定義に従ってジョブを実行するためのジョブ実行UIへと画面遷移する。
図12は、ジョブ実行UI30の一例を示す図であり、図11のジョブ定義一覧UI20からユーザ単語作成ジョブのジョブ定義が選択された場合の例を示している。ジョブ実行UI30では、図12に示すように、ジョブ定義一覧UI20から選択されたジョブ定義のノードとともに、このジョブ定義に従って実行するジョブの入力として利用可能な実行済みジョブ群が入力候補31として表示される。図12に示すジョブ実行UI30では、ユーザ単語作成ジョブの入力引数として必要な文書データジョブを選択するために、実行済みの関連文書登録ジョブが入力候補31として表示されている。入力候補31に含まれる各実行済みジョブは、ジョブ定義一覧UI20から選択されたジョブ定義と同様に、ノードによって示される。
入力候補31として表示される実行済みジョブは、ジョブ実行履歴検索部13がジョブ実行履歴蓄積部16を検索することで得られる。検索により、入力ジョブの‘job_type’をフィルタとして完了日時が新しい順に規定数分だけのジョブ実行履歴が取得され、そのジョブ実行履歴によって示される実行済みジョブが入力候補31としてジョブ実行UI30上に表示される。規定数分よりも古い実行済みジョブを表示するためのボタンなどを備えていてもよい。なお、‘type’が‘job’以外の入力が必要な場合は、‘path’に対してはファイル選択フォーム、‘string’に対してはテキストボックスなど、それら入力を行うためのUIが別途表示される。
また、ジョブ実行UI30では、ジョブ定義一覧UI20から選択されたジョブ定義に従って実行したジョブの出力を入力として利用可能なジョブ定義群が、後続ジョブ候補32(第1の後続ジョブ候補)として表示される。図12に示すジョブ実行UI30では、ユーザ単語作成ジョブの出力を入力として利用可能なジョブ定義である辞書精度評価と辞書作成とが後続ジョブ候補32として表示されている。後続ジョブ候補32に含まれるジョブ定義は、ジョブ定義一覧UI20から選択されたジョブ定義や、入力候補31に含まれる各実行済みジョブと同様に、ノードによって示される。
ユーザはこのジョブ実行UI30上で、例えばマウスを用いたドラッグ&ドロップ操作などにより、入力候補31に含まれるいずれかの実行済みジョブのノードと、ジョブ定義一覧UI20から選択されたジョブ定義のノードとを接続することにより、ジョブ定義一覧UI20から選択されたジョブ定義の入力を設定することができる。また、後続ジョブを実行したい場合には、同様の操作により、ジョブ定義一覧UI20から選択されたジョブ定義のノードと後続ジョブ候補32に含まれるいずれかのジョブ定義のノードとを接続することにより、実行する後続ジョブを選択してその入力を設定することができる。
図13は、入力候補31に含まれる2017-1-10に完了した関連文書登録ジョブのノードと、ジョブ定義一覧UI20から選択されたジョブ定義(ユーザ単語作成)のノードと、後続ジョブ候補32に含まれる辞書精度評価のノードとを接続した状態のジョブ実行UI30を示している。後続ジョブとして選択した辞書精度評価は、ユーザ単語作成ジョブの出力のほかに辞書データジョブと評価データジョブの2つの引数が必要とされるため、後続ジョブの入力候補33a,33bとして、実行済みの辞書作成ジョブ群と実行済みの書き起こし登録ジョブ群とが新たに表示されている。
図14は、入力候補33aに含まれる2017-1-11に完了した辞書作成ジョブのノードおよび入力候補33bに含まれる2016-12-26に完了した書き起こし登録のノードを、後続ジョブとして選択した辞書精度評価のノードに接続した状態のジョブ実行UI30を示している。この状態では、ユーザ単語作成ジョブの入力の設定と後続ジョブである辞書精度評価ジョブの入力の設定とがすべて完了したため、ジョブ実行UI30上で表示される「実行」ボタン35をクリックすると、設定された入力を用いてユーザ単語作成ジョブおよび辞書精度評価ジョブが順次実行されることになる。
ジョブ履歴UIは、ジョブ履歴グラフを表示するUIである。ジョブ履歴グラフとは、入出力関係を持つ複数の実行済みジョブ(実行中もしくは実行待ちのジョブを含む)をノードとし、各ノードをエッジで接続したグラフである。各ノード間のエッジは、それらのノードに対応する実行済みジョブ間の入出力関係を表す。
図15は、ジョブ履歴UI40の一例を示す図である。ジョブ履歴UI40では、図15に示すように、ジョブ履歴グラフ41が表示される。ジョブ履歴グラフ41の各ノードには、対応する実行済みジョブの‘type’の‘description’および完了時間が表示される。ノードに対応するジョブが実行中もしくは実行待ちの場合は、完了時間に代えてそのジョブの状態が表示される。
ジョブ履歴UI40は、例えば、ユーザがログインした後に最初に表示されるUI画面として利用できる。この場合、ジョブ履歴グラフ41に含まれる各ノードは、例えば、ジョブ実行履歴の完了時間が最新の実行済みジョブを一つ取得し、その実行済みジョブの入力として利用した他の実行済みジョブを取得し、さらにその実行済みジョブの入力として利用した他の実行済みジョブを取得するという動作を、画面内にノードを配置するスペースがなくなるまで行うことで決定される。また、画面のドラッグなどで表示範囲を変更し、完了時間がさらに古い過去のノードを表示させることもできる。また、ユーザによる日時の指定を受け付けて、完了時間が指定された日時に最も近い実行済みジョブのノードを中央に表示するよう調整できる構成としてもよい。また、ジョブ履歴UI40では、ジョブ履歴グラフ41のほかに「ジョブ実行」ボタン42が表示され、「ジョブ実行」ボタン42をクリックすることでジョブ定義一覧UI20を呼び出すことができる。
図16は、ジョブ履歴UI40、ジョブ定義一覧UI20およびジョブ実行UI30を利用してジョブを実行する際のユーザの操作手順の一例を示すフローチャートである。本実施形態のジョブ実行制御装置10は、ユーザがアカウント情報を用いてログインすることで使用が開始される。
ユーザがログインすると(ステップS201)、まず、ジョブ履歴UI40が表示される(ステップS202)。このジョブ履歴UI40上でユーザが「ジョブ実行」ボタン42をクリックすると、ジョブ定義一覧UI20が呼び出される(ステップS203)。
次に、ジョブ定義一覧UI20に表示されたジョブ定義一覧からユーザが任意のジョブ定義を選択すると(ステップS204)、ジョブ実行UI30が表示される(ステップS205)。そして、ユーザがこのジョブ実行UI30上で必要な入力を選択して「実行」ボタン35をクリックすると(ステップS206)、ジョブが実行される(ステップS207)。このように、ジョブ実行UI30上でのユーザ操作に応じてジョブが実行される場合、ジョブの実行開始とともにジョブ履歴UI40の表示に戻り、このジョブ履歴UI40で、実行中もしくは実行待ちのジョブを起点としたジョブ履歴グラフ41が表示される。
本実施形態のジョブ実行制御装置10は、上述のように、クライアント端末に搭載されたブラウザ上で動作することを想定している。したがって、ユーザが任意のタイミングでブラウザを閉じる操作を行うことで、本実施形態のジョブ実行制御装置10の使用を中止することができる。
ジョブ履歴UI40上のジョブ履歴グラフ41に含まれるいずれかのノードがクリックされた場合は、そのノードに対応する実行済みジョブの入力やワークディレクトリなどを確認できるジョブ詳細UIへと画面遷移する。ジョブ詳細UIの一例を図17に示す。図17に示すジョブ詳細UI50は、図15に示したジョブ履歴UI40上のジョブ履歴グラフ41から2017-1-6に完了した書き起こし登録ジョブのノードが選択された場合に表示されるジョブ詳細UIの例である。
ジョブ詳細UI50では、図17に示すように、ジョブ履歴グラフ41から選択された実行済みジョブの入力やワークディレクトリに加え、「後続ジョブ実行」ボタン51が表示される。この「後続ジョブ実行」ボタン51がクリックされると、ジョブ詳細UI50で表示した実行済みジョブの出力を入力として利用して他のジョブを実行するための後続ジョブ実行UIに画面遷移する。
図18は、後続ジョブ実行UI60の一例を示す図である。後続ジョブ実行UI60では、図18に示すように、ジョブ履歴グラフ41から選択された実行済みジョブのノードとともに、その実行済みジョブの出力を入力として利用可能なジョブ定義群が、後続ジョブ候補61(第2の後続ジョブ候補)として表示される。図18に示す後続ジョブ実行UI60では、書き起こし登録ジョブの出力を入力として利用可能なジョブ定義である音響モデル作成と辞書精度評価とが後続ジョブ候補61として表示されている。
後続ジョブ候補61に含まれるジョブ定義は、ジョブ履歴グラフ41から選択された実行済みジョブと同様に、ノードによって示される。ユーザはこの後続ジョブ実行UI60上で、例えばマウスを用いたドラッグ&ドロップ操作などにより、ジョブ履歴グラフ41から選択された実行済みジョブのノードと、後続ジョブ候補61に含まれるいずれかのジョブ定義のノードとを接続することで、実行する後続ジョブを選択してその入力を設定することができる。そして、後続ジョブの入力が設定されると「実行」ボタン62の操作が可能となり、「実行」ボタン62をクリックすると後続ジョブが実行される。
また、ジョブ履歴UI40上でジョブ履歴グラフ41の一部の範囲を選択する操作が行われた場合、ジョブ定義グラフ作成部14により、選択された範囲に対応するジョブ定義グラフが作成される。ジョブ定義グラフは、一連のジョブ群を一回のジョブ実行操作で実行するためのものであり、ジョブ履歴グラフ41の選択された範囲に含まれる各ノードに対応するジョブ定義群と、各ジョブ定義の入出力関係とを表している。
図19は、ジョブ履歴グラフ41の一部の範囲が選択された状態のジョブ履歴UI40を示している。ユーザは、例えばマウスを用いたドラッグ操作によりジョブ履歴グラフ41の所望の範囲(例えば図19の破線で囲まれた領域)を選択することができる。ジョブ履歴グラフ41の一部の範囲を選択する操作は、例えばキーボードのシフトキーを押しながら複数のノードをクリックするなど、他の方法を用いてもよい。ジョブ履歴グラフ41の一部の範囲が選択されると、ジョブ履歴UI40上に「ジョブ定義グラフ作成」ボタン43が表示される。そして、この「ジョブ定義グラフ作成」ボタン43がクリックされると、選択された範囲に含まれる各ノードに対応するジョブ定義群とそれらの入出力関係とを表すジョブ定義グラフが作成される。
ジョブ定義グラフのデータ構造の一例を図20に示す。ジョブ定義グラフは、ジョブ履歴グラフ41から選択された範囲に含まれる各ノードに対応するジョブ定義群のリストとして定義される。ジョブ定義グラフのデータは、例えば図20に示すように、各ノードに対応するジョブ定義と、そのノードへの入力に利用されるノードのIDの配列と、そのノードからの出力を利用するノードのIDの配列とを含む。
ジョブ定義グラフが作成されると、そのジョブ定義グラフのデータがジョブ定義蓄積部15に格納される。その後、上述のジョブ定義一覧UI20を表示する際は、ジョブ定義蓄積部15からジョブ定義グラフのデータが読み出され、ジョブ定義一覧UI20上で、ジョブ定義グラフを含むジョブ定義一覧が表示される。ジョブ定義グラフを含むジョブ定義一覧を表示するジョブ定義一覧UI20の一例を図21に示す。この図21に示すジョブ定義一覧UI20では、ジョブ定義のほかに、ジョブ定義グラフ作成部14により作成されたジョブ定義グラフが選択できるようになっている。
ジョブ定義一覧UI20からジョブ定義グラフが選択された場合に表示されるジョブ実行UI30の一例を図22に示す。この図22に示すジョブ実行UI30は、ジョブ定義一覧UI20からジョブ定義が選択された場合に表示されるジョブ実行UI30(図12参照)と同様であるが、ジョブ定義グラフの各ノードに対して入力として利用可能な実行済みジョブ群のノードが、それぞれ入力候補31a,31b,31c,31dとして表示される。入力候補31aは音響モデル作成ジョブの入力として利用可能な実行済みジョブ群、入力候補31bは辞書作成ジョブの入力として利用可能な実行済みジョブ群、入力候補31cおよび入力候補31dは辞書精度評価ジョブの入力として利用可能な実行済みジョブ群をそれぞれ示している。
また、ジョブ定義グラフの末尾のノードの出力を入力として利用可能なジョブ定義グラフがある場合、そのジョブ定義グラフが後続ジョブ候補32として表示される。図22に示すジョブ実行UI30では、辞書精度評価ジョブの出力を入力として利用可能な2つのジョブ定義グラフが、後続ジョブ候補32として表示されている。このジョブ実行UI30上で上述した方法によりノード間を接続することにより、一連のジョブを順次実行することが可能となる。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のジョブ実行制御装置10は、ジョブ定義一覧UI20によりジョブ定義一覧を表示し、ジョブ定義一覧UI20からジョブ定義が選択されると、選択されたジョブ定義の入力として利用可能な実行済みジョブ群を入力候補31としてジョブ実行UI30により表示する。そして、入力候補31からいずれかの実行済みジョブが選択されると、その実行済みジョブの出力を入力として、ジョブ定義一覧UI20から選択されたジョブ定義に従ってジョブを実行する。したがって、本実施形態のジョブ実行制御装置10によれば、様々な出力を持つジョブ群から選択されたジョブとそのジョブの出力を入力とするジョブとを簡便な操作で接続して実行することができる。
また、本実施形態のジョブ実行制御装置10は、ジョブ定義一覧UI20から選択されたジョブ定義に従って実行するジョブの出力を入力として利用可能なジョブ定義群を、ジョブ実行UI30上で後続ジョブ候補32として表示する。そして、後続ジョブ候補32からいずれかのジョブ定義が選択されると、ジョブ定義一覧UI20から選択されたジョブ定義に従ってジョブを実行した後、そのジョブの出力を入力として後続ジョブ候補32から選択されたジョブ定義に従ってジョブを実行する。したがって、本実施形態のジョブ実行制御装置10によれば、連続した複数のジョブを効率よく実行することができる。
また、本実施形態のジョブ実行制御装置10は、ジョブ履歴UI40によりジョブ履歴グラフ41を表示し、ジョブ履歴グラフ41のいずれかのノードが選択されると、そのノードに対応する実行済みジョブの詳細をジョブ詳細UI50により表示し、その実行済みジョブの出力を入力として利用可能なジョブ定義群を、後続ジョブ実行UI60上で後続ジョブ候補61として表示する。そして、後続ジョブ候補61からいずれかのジョブ定義が選択されると、ジョブ履歴グラフ41から選択された実行済みジョブの出力を入力として後続ジョブ候補61から選択されたジョブ定義に従ってジョブを実行する。したがって、本実施形態のジョブ実行制御装置10によれば、実行済みジョブ群の入出力関係をユーザに的確に把握させながら、いずれかの実行済みジョブに対して後続ジョブを簡便な操作で接続して実行することができる。
また、本実施形態のジョブ実行制御装置10は、ジョブ履歴UI40上で表示したジョブ履歴グラフ41から一部の範囲が選択されると、その範囲に対応するジョブ定義グラフを生成し、ジョブ定義一覧UI20上でジョブ定義グラフを含むジョブ定義一覧を表示する。そして、ジョブ定義一覧UI20からジョブ定義グラフが選択されると、ジョブ定義が選択された場合と同様にジョブ実行UI30上でのユーザ操作を通じて、ジョブ定義グラフに従った一連のジョブを実行する。したがって、本実施形態のジョブ実行制御装置10によれば、連続した複数のジョブを効率よく実行することができる。
<第2の実施形態>
次に、第2の実施形態について説明する。上述の第1の実施形態では、あるジョブの入力として利用可能な実行済みジョブを判断するために、ジョブ定義の‘input’で‘type’が‘job’の引数についてその‘job_type’を指定する必要があった。これに対し本実施形態では、ジョブ実行履歴とともに入力ジョブ定義履歴を記録しておき、この入力ジョブ定義履歴を用いて入力として利用可能な実行済みジョブを判断することで、ジョブ定義において‘job_type’の明示的な指定を不要とする。
入力ジョブ定義履歴は、実行済みジョブのジョブ定義に対して、その実行済みジョブの入力として利用した他の実行済みジョブのジョブ定義と、ジョブの実行が成功したか否かを表す情報とを対応付けたものである。入力ジョブ定義は、ジョブ実行部12により記録されてジョブ実行履歴蓄積部16に蓄積される。
図23は、ジョブ実行履歴蓄積部16に蓄積される入力ジョブ定義履歴の一例を示す図である。入力ジョブ定義履歴は、例えば図23に示すように、実行済みジョブの各ジョブ定義および‘type’が‘job’の入力引数に対し、ジョブ実行成否履歴のIDの配列を対応付けたデータ構造とすることができる。ジョブ実行成否履歴は、実際に入力として利用された実行済みジョブとその入力を利用して実行された実行済みジョブとの組み合わせごとに、ジョブの実行が成功したか否かを表した情報である。
ジョブ実行成否履歴の一例を図24に示す。ジョブ実行成否履歴は、例えば図24に示すように、入力として利用された実行済みジョブのIDである入力ジョブIDと、その実行済みジョブのジョブタイプと、その実行済みジョブを入力として実行した実行済みジョブのIDである実行ジョブIDと、実行に成功したか失敗したかを示す実行結果とを含む。なお、図24に例示するジョブ実行成否履歴は、入力ジョブのジョブタイプおよび実行ジョブの実行結果を含む構成であるが、これらの情報はジョブ実行履歴から取得可能なため、必ずしもジョブ実行成否履歴に含まれていなくてもよい。
入力ジョブ定義履歴を用いることで、ジョブ定義一覧UI20から選択されたジョブ定義の入力引数に対応するジョブタイプを推定し、ジョブ実行UI30上で入力候補31として表示する実行済みジョブ群を判断できる。例えば、入力ジョブ定義履歴から対応するジョブ実行成否履歴を検索し、ジョブ実行成否履歴の中の最新の履歴を一定数取得する。そして、取得した履歴の中で実行に成功した実績のあるジョブタイプを、ジョブ定義一覧UI20から選択されたジョブ定義の入力引数に対応するジョブタイプと判断する。そして、このジョブタイプに該当するジョブ定義に従って実行された実行済みジョブ群を入力候補31として、ジョブ実行UI30上で表示する。
なお、最新の履歴から推定する以外の方法として、ジョブ実行成否履歴全体での特定のジョブタイプにおける実行成功率を算出し、その数値が一定数以上のものを、ジョブ定義一覧UI20から選択されたジョブ定義の入力引数に対応するジョブタイプと判断してもよい。また、対応するジョブ実行成否履歴が存在していない場合は、ジョブタイプでのフィルタリングはせずに、ジョブ実行履歴から最新の実行済みジョブ数件を入力候補31として表示してもよい。
本実施形態によれば、ジョブ定義の‘input’で‘type’が‘job’の引数について、その‘job_type’をジョブ定義上で明示的に指定していなくても、あるジョブの入力として利用可能な実行済みジョブを適切に判断することができるので、ジョブ定義を事前に作成する際の手間を軽減しながら、上述の第1の実施形態と同様の効果を得ることができる。
<第3の実施形態>
次に、第3の実施形態について説明する。本実施形態では、ジョブ実行UI30上の入力候補31から実行済みジョブを選択するための補助情報として、実行済みジョブの処理結果(出力)の質を表すスコアの概念を導入する。そして、入力候補31となる実行済みジョブ群を各実行済みジョブのスコアに応じた表示形態でジョブ実行UI30上に表示する。
図25は、スコアを算出可能なジョブ定義の一例を示す図であり、辞書精度評価ジョブのジョブ定義を示している。この図25に例示するジョブ定義では、‘score’で出力JSON中のどのプロパティ名の内容をそのジョブのスコアとして採用するかを指定している。また、そのスコアが各引数の入力からどの程度由来するものかを示す‘score_impact’を入力の引数内に記述できる。ある実行済みジョブを入力として実行したジョブからスコアが算出された場合、そのスコアに対して‘score_impact’内の数値を乗算したものが、入力として利用した実行済みジョブのスコアとなる。ある実行済みジョブに対し、そのジョブのジョブ定義内の‘score’からも、その実行済みジョブを入力とする他のジョブのジョブ定義内の‘score_impact’からもスコアが算出可能な場合は、‘score’から算出されるスコアを優先する。
実行済みジョブに対して算出されたスコアは、例えば、ジョブ実行履歴に付加して記録することができる。図26は、スコアを含むジョブ実行履歴の一例を示す図であり、図6に示したジョブ実行履歴に対してスコアが付加された例を示している。なお、図26では、入力、出力、完了時間および状態の記載は省略している。
実行済みジョブに対してスコアが算出される場合、ジョブ実行UI30上で入力候補31として表示される実行済みジョブ群を各実行済みジョブのスコアに応じた表示形態で表示することができる。この場合のジョブ実行UI30の一例を図27に示す。この図27に例示するジョブ実行UI30は、図22に示したジョブ実行UI30と同様の構成であるが、音響モデル作成ジョブの入力候補31a内の実行済みジョブ群、辞書作成ジョブの入力候補31b内の実行済みジョブ群、辞書精度評価ジョブの入力候補31c内の実行済みジョブ群および入力候補31d内の実行済みジョブ群が、それぞれ、スコアが高い実行済みジョブが右、スコアが低い実行済みジョブが左となるように配置されている。なお、スコアに応じた表示形態は、図27に示すような表示位置を用いるものに限らず、色や濃度や明るさなどの他の表示形態によってスコアを表すものであってもよい。
また、入力候補31の中で他の実行済みジョブと比較してスコアが低いものをユーザが入力として選択した場合に、図28に示すような警告UI70を表示してもよい。以上のように、実行済みジョブ群のスコアを認識できるジョブ実行UI30を表示したり、スコアが低い実行済みジョブが選択された場合に警告UI70を表示したりすることで、作業に不慣れなユーザが、新たに実行するジョブの入力として質の悪い実行済みジョブを選択してしまうリスクを低減することができる。
また、スコアが算出可能なジョブに対する入力として、同じ入力候補31内の複数の実行済みジョブを同時に選択できるようにしてもよい。図27では、辞書精度評価ジョブの入力候補31cに含まれる2つの実行済みジョブがともに、辞書精度評価ジョブの入力として選択された例を示している。スコアが算出可能なジョブに対する入力として複数の実行済みジョブが同時に選択された場合は、それぞれを入力としてジョブの実行が複数回繰り返される。そして、例えばスコアが最も高い処理結果がジョブの出力として採用される。あるいは、入力が異なるジョブを複数のジョブとして別々に扱うようにしてもよい。
本実施形態によれば、ジョブ実行UI30を表示する際に、入力候補31となる実行済みジョブ群を各実行済みジョブのスコアに応じた表示形態で表示するので、入力として利用する実行済みジョブをより的確に選択させることができる。
<第4の実施形態>
次に、第4の実施形態について説明する。上述の第1の実施形態では、ジョブ履歴UI40上で表示されるジョブ履歴グラフ41からジョブ定義グラフとして切り出す範囲をユーザが指定する構成であったが、本実施形態では、ジョブ定義グラフ作成部14がジョブ実行履歴に基づいてジョブ定義グラフを自動で作成する。すなわち、本実施形態のジョブ定義グラフ作成部14は、ジョブ実行履歴蓄積部16を参照して、順次実行された複数のジョブに対応するジョブ定義群のパターンを所定の基準に従って抽出し、抽出したパターンに含まれる複数のジョブ定義と各ジョブ定義の入出力関係とを表すジョブ定義グラフを作成する。
図29は、ジョブ実行履歴から把握される実行済みジョブ群の入出力関係をグラフ化して示す図であり、辞書精度評価ジョブに繋がる実行済みジョブ群の入出力関係を表す3つのグラフを例示している。本実施形態では、ジョブ定義グラフを作成するにあたり、まず、図29に例示するような実行済みジョブ群の入出力関係を表すグラフから、順次実行された実行済みジョブのジョブ定義の系列をジョブフロー系列として抽出する。図29に例示したグラフから抽出されたジョブフロー系列を図30に示す。図30において、ID=1のジョブフロー系列とID=2のジョブフロー系列は、図29の左側のグラフから抽出されたジョブフロー系列であり、ID=3のジョブフロー系列とID=4のジョブフロー系列は、図29の中央のグラフから抽出されたジョブフロー系列であり、ID=5のジョブフロー系列とID=6のジョブフロー系列は、図29の右側のグラフから抽出されたジョブフロー系列である。
本実施形態では、以上のように抽出されたジョブフロー系列から、例えば既存の頻出部分系列パターン抽出手法を用いて、系列内に頻出するジョブ定義群のパターンを抽出する。図30に示すジョブフロー系列から得られる最も頻度が高いパターンは、「音響モデル作成→辞書作成→辞書精度評価」であり、6つのジョブフロー系列のうちの3つの系列において出現しており、出現確率は50%である。抽出対象となるパターンの閾値として例えば出現確率50%以上が規定されていた場合、このパターンが抽出対象となり、ジョブ定義グラフとして自動的に登録される。
ジョブ定義グラフとして登録するジョブ定義群のパターンの抽出には、出現確率以外の条件を用いてもよい。例えば、上述の第3実施形態のように実行済みジョブに対してスコアを算出する場合は、順次実行された実行済みジョブのスコア平均が基準値以上となるジョブ定義群のパターンを抽出してもよい。また、順次実行された実行済みジョブの数(グラフとして表したときのノードの数)が基準値以上となるジョブ定義群のパターンを抽出してもよい。また、一連の実行済みジョブ群の実行を指示したユーザの情報を含めてジョブ実行履歴を記録する構成とした場合には、操作に熟練した特定のユーザの指示に応じて順次実行された実行済みジョブ群を表すジョブ定義群のパターンを抽出してもよい。
なお、上述したジョブフロー系列からジョブ定義グラフとして登録するジョブ定義群のパターンを抽出する方法では、ジョブ定義が直列に並ぶジョブ定義グラフしか作成できないが、図29に例示したようなグラフから既存のグラフマイニング手法を用いて頻出する部分グラフを見つけてそれをジョブ定義グラフとしてもよい。この場合は、1つのジョブ定義の入力として複数のジョブ定義が繋がるジョブ定義グラフを作成することも可能となる。
本実施形態によれば、ジョブ実行履歴をもとにジョブ定義グラフが自動的に作成されるので、ユーザの操作負担を軽減することができる。
<補足説明>
上述した実施形態のジョブ実行制御装置10は、例えば、一般的なコンピュータを構成するハードウェアと、コンピュータで実行されるプログラム(ソフトウェア)との協働により実現することができる。例えば、コンピュータが所定のプログラムを実行することによって、上述した表示制御部11、ジョブ実行部12、ジョブ実行履歴検索部13、ジョブ定義グラフ作成部14などの機能的な構成要素を実現することができる。また、コンピュータが備えるストレージデバイスを用いて、上述したジョブ定義蓄積部15、ジョブ実行履歴蓄積部16、ジョブ結果蓄積部17などを実現することができる。
図31は、実施形態のジョブ実行制御装置10のハードウェア構成例を示すブロック図である。実施形態のジョブ実行制御装置10は、例えば図31に示すように、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ101と、RAM(Random Access Memory)やROM(Read Only Memory)などの内部メモリ102と、HDD(Hard Disk Drive)やSDD(Solid State Drive)などのストレージデバイス103と、入力デバイス106やディスプレイ107などの周辺機器を接続するための入出力I/F104と、クライアント端末などの外部機器と通信を行う通信I/F105と、を備えた通常のコンピュータのハードウェア構成を有する。そして、例えば、プロセッサ101が内部メモリ102を利用しながら、ストレージデバイス103や内部メモリ102などに格納されたプログラムを実行することで、上述の機能的な構成要素を実現することができる。
すなわち、実施形態のジョブ実行制御装置10の機能的な構成要素として示した各部は、コンピュータにより実行されるプログラムに含まれ、コンピュータが備える1以上のプロセッサ(図31のプロセッサ101)がこのプログラムを実行することにより、上述した各部がRAMなどの主記憶(図31の内部メモリ102)上に作成される。
コンピュータにより実行される上記プログラムは、例えば、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。なお、プログラムを記録する記録媒体は、コンピュータが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。また、上記プログラムを、コンピュータに予めインストールするように構成してもよいし、ネットワークを介して配布される上記のプログラムをコンピュータに適宜インストールするように構成してもよい。
なお、実施形態のジョブ実行制御装置10は、上述した機能的な構成要素の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアにより実現する構成であってもよい。
また、実施形態のジョブ実行制御装置10は、複数台のコンピュータを通信可能に接続したネットワークシステムとして構成し、上述した機能的な構成要素を複数台のコンピュータに分散して実現する構成であってもよい。また、実施形態のジョブ実行制御装置10は、クラウドシステム上で動作する仮想マシンであってもよい。また、実施形態のジョブ実行制御装置10は、ネットワークを利用したサーバ・クライアントシステムのサーバとして実現する例に限らず、ユーザが利用するパーソナルコンピュータなどの情報処理装置により実現してもよい。
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 ジョブ実行制御装置
11 表示制御部
12 ジョブ実行部
13 ジョブ実行履歴検索部
14 ジョブ定義グラフ作成部
15 ジョブ定義蓄積部
16 ジョブ実行履歴蓄積部
17 ジョブ結果蓄積部

Claims (16)

  1. ジョブ定義により定義されたジョブの実行を制御するジョブ実行制御装置であって、
    ユーザ操作を受け付けるUI画面の表示を制御する表示制御部と、
    前記UI画面を利用したユーザ操作に応じてジョブを実行するとともに、ジョブ実行履歴を記録するジョブ実行部と、を備え、
    前記表示制御部は、前記UI画面にジョブ定義一覧を表示させ、該ジョブ定義一覧からいずれかのジョブ定義が選択されると、選択されたジョブ定義に従って実行するジョブの入力として利用可能な1つ以上の実行済みジョブを入力候補として前記UI画面に表示させ、
    前記ジョブ実行部は、前記入力候補から実行済みジョブが選択されると、選択された実行済みジョブの出力を入力として、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブを実行する
    ジョブ実行制御装置。
  2. 前記表示制御部は、前記ジョブ定義一覧から選択されたジョブ定義に従って実行するジョブの出力を入力として利用可能な1つ以上のジョブ定義を第1の後続ジョブ候補として前記UI画面にさらに表示させ、
    前記ジョブ実行部は、前記第1の後続ジョブ候補からジョブ定義がさらに選択された場合、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブを実行した後に、該ジョブの出力を入力として、前記第1の後続ジョブ候補から選択されたジョブ定義に従ってジョブを実行する
    請求項1に記載のジョブ実行制御装置。
  3. 前記ジョブ実行部は、実行済みジョブのジョブ定義に対して、該実行済みジョブの入力として利用した他の実行済みジョブのジョブ定義と、ジョブの実行が成功したか否かを表す情報とを対応付けた入力ジョブ定義履歴をさらに記録し、
    前記表示制御部は、前記入力ジョブ定義履歴に基づいて、前記ジョブ定義一覧から選択されたジョブ定義に従って実行したジョブが成功したときの入力として利用した実績のあるジョブ定義を特定し、特定したジョブ定義に従って実行された実行済みジョブを前記入力候補として前記UI画面に表示させる
    請求項1または2に記載のジョブ実行制御装置。
  4. 前記ジョブ実行部は、実行済みジョブの出力の質を表すスコアを含む前記ジョブ実行履歴を記録し、
    前記表示制御部は、前記入力候補となる実行済みジョブを前記スコアに応じた表示形態で前記UI画面に表示させる
    請求項1乃至3のいずれか一項に記載のジョブ実行制御装置。
  5. 前記表示制御部は、前記入力候補のうち前記スコアが基準値に満たない実行済みジョブが選択された場合に警告を表示させる
    請求項4に記載のジョブ実行制御装置。
  6. 前記ジョブ実行部は、前記入力候補のうち複数の実行済みジョブが選択された場合、選択された複数の実行済みジョブの出力を各々入力として、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブの実行を複数回繰り返す
    請求項1乃至5のいずれか一項に記載のジョブ実行制御装置。
  7. 前記ジョブ実行部は、複数回繰り返して実行したジョブの出力のうち、出力の質を表すスコアが最も高い出力をジョブの出力として採用する
    請求項6に記載のジョブ実行制御装置。
  8. 前記表示制御部は、実行中もしくは実行待ちのジョブを含む複数の実行済みジョブをノードとし、各ノードを前記複数の実行済みジョブの間の入出力関係を表すエッジで接続したジョブ履歴グラフを前記UI画面に表示させ、該ジョブ履歴グラフのノードとして表示されたいずれかの実行済みジョブが選択されると、選択された実行済みジョブの出力を入力として利用可能な1つ以上のジョブ定義を第2の後続ジョブ候補として前記UI画面に表示させ、
    前記ジョブ実行部は、前記第2の後続ジョブ候補からジョブ定義が選択された場合、前記ジョブ履歴グラフから選択された実行済みジョブの出力を入力として、前記第2の後続ジョブ候補から選択されたジョブ定義に従ってジョブを実行する
    請求項1乃至7のいずれか一項に記載のジョブ実行制御装置。
  9. 前記ジョブ履歴グラフの一部の範囲が指定された場合に、指定された範囲に含まれる各ノードに対応する複数のジョブ定義と各ジョブ定義の入出力関係とを表すジョブ定義グラフを作成するジョブ定義グラフ作成部をさらに備え、
    前記表示制御部は、前記ジョブ定義グラフが作成されると、前記ジョブ定義一覧を前記UI画面に表示させる際に、前記ジョブ定義グラフを含む前記ジョブ定義一覧を表示させ、
    前記ジョブ実行部は、前記ジョブ定義一覧から前記ジョブ定義グラフが選択された場合は、該ジョブ定義グラフおよび該ジョブ定義グラフに含まれる複数のジョブ定義に従って複数のジョブを順次実行する
    請求項8に記載のジョブ実行制御装置。
  10. 前記ジョブ実行履歴に基づいて、順次実行された複数のジョブに対応するジョブ定義群のパターンを所定の基準に従って抽出し、抽出したパターンに含まれる複数のジョブ定義と各ジョブ定義の入出力関係とを表すジョブ定義グラフを作成するジョブ定義グラフ作成部をさらに備え、
    前記表示制御部は、前記ジョブ定義グラフが作成されると、前記ジョブ定義一覧を前記UI画面に表示させる際に、前記ジョブ定義グラフを含む前記ジョブ定義一覧を表示させ、
    前記ジョブ実行部は、前記ジョブ定義一覧から前記ジョブ定義グラフが選択された場合は、該ジョブ定義グラフおよび該ジョブ定義グラフに含まれる複数のジョブ定義に従って複数のジョブを順次実行する
    請求項1乃至8のいずれか一項に記載のジョブ実行制御装置。
  11. 前記ジョブ定義グラフ作成部は、頻出する前記ジョブ定義群のパターンを抽出して前記ジョブ定義グラフを作成する
    請求項10に記載のジョブ実行制御装置。
  12. 前記ジョブ実行部は、実行済みジョブの出力の質を表すスコアを含む前記ジョブ実行履歴を記録し、
    前記ジョブ定義グラフ作成部は、順次実行された複数のジョブのスコア平均が基準値以上となる前記ジョブ定義群のパターンを抽出して前記ジョブ定義グラフを作成する
    請求項10に記載のジョブ実行制御装置。
  13. 前記ジョブ定義グラフ作成部は、順次実行された複数のジョブの数が基準値以上となる前記ジョブ定義群のパターンを抽出して前記ジョブ定義グラフを作成する
    請求項10に記載のジョブ実行制御装置。
  14. 前記ジョブ実行部は、実行済みジョブの実行を指示したユーザの情報を含む前記ジョブ実行履歴を記録し、
    前記ジョブ定義グラフ作成部は、特定のユーザの指示に応じて順次実行された複数のジョブに対応する前記ジョブ定義群のパターンを抽出して前記ジョブ定義グラフを作成する
    請求項10に記載のジョブ実行制御装置。
  15. ジョブ定義により定義されたジョブの実行を制御するジョブ実行制御装置により実行されるジョブ実行制御方法であって、
    ユーザ操作を受け付けるUI画面にジョブ定義一覧を表示し、
    該ジョブ定義一覧からいずれかのジョブ定義が選択されると、選択されたジョブ定義に従って実行するジョブの入力として利用可能な1つ以上の実行済みジョブを入力候補として前記UI画面に表示し、
    前記入力候補から実行済みジョブが選択されると、選択された実行済みジョブの出力を入力として、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブを実行するとともに、ジョブ実行履歴を記録する
    ジョブ実行制御方法。
  16. コンピュータを、ジョブ定義により定義されたジョブの実行を制御するジョブ実行制御装置として機能させるためのプログラムであって、
    前記コンピュータに、
    ユーザ操作を受け付けるUI画面の表示を制御する表示制御部の機能と、
    前記UI画面を利用したユーザ操作に応じてジョブを実行するとともに、ジョブ実行履歴を記録するジョブ実行部の機能と、を実現させ、
    前記表示制御部は、前記UI画面にジョブ定義一覧を表示させ、該ジョブ定義一覧からいずれかのジョブ定義が選択されると、選択されたジョブ定義に従って実行するジョブの入力として利用可能な1つ以上の実行済みジョブを入力候補として前記UI画面に表示させ、
    前記ジョブ実行部は、前記入力候補から実行済みジョブが選択されると、選択された実行済みジョブの出力を入力として、前記ジョブ定義一覧から選択されたジョブ定義に従ってジョブを実行する
    プログラム。
JP2017114557A 2017-06-09 2017-06-09 ジョブ実行制御装置、ジョブ実行制御方法およびプログラム Active JP6483757B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017114557A JP6483757B2 (ja) 2017-06-09 2017-06-09 ジョブ実行制御装置、ジョブ実行制御方法およびプログラム
US16/001,389 US10884685B2 (en) 2017-06-09 2018-06-06 Job execution control device, job execution control method, and computer program product
CN201810579737.1A CN109032715B (zh) 2017-06-09 2018-06-07 作业执行控制装置、作业执行控制方法及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017114557A JP6483757B2 (ja) 2017-06-09 2017-06-09 ジョブ実行制御装置、ジョブ実行制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018206315A JP2018206315A (ja) 2018-12-27
JP6483757B2 true JP6483757B2 (ja) 2019-03-13

Family

ID=64564105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017114557A Active JP6483757B2 (ja) 2017-06-09 2017-06-09 ジョブ実行制御装置、ジョブ実行制御方法およびプログラム

Country Status (3)

Country Link
US (1) US10884685B2 (ja)
JP (1) JP6483757B2 (ja)
CN (1) CN109032715B (ja)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347884A (ja) 1999-06-08 2000-12-15 Nec Corp ジョブネットワーク制御システム
JP2002215423A (ja) 2001-01-22 2002-08-02 Hitachi Ltd ソフトウェアモデル作成方法
JP3923803B2 (ja) * 2002-01-11 2007-06-06 富士通株式会社 入力予測処理プログラム
JP4651295B2 (ja) * 2004-03-26 2011-03-16 株式会社日立ソリューションズ ジョブスケジューリングシステムの監視方法
JP4756947B2 (ja) * 2005-08-05 2011-08-24 キヤノン株式会社 情報処理装置及び方法
US7933029B2 (en) * 2006-02-24 2011-04-26 Canon Kabushiki Kaisha Printing system and printing apparatus
JP4861876B2 (ja) 2006-05-29 2012-01-25 株式会社リコー 画像処理装置、情報処理システム、アプリケーション登録方法及びアプリケーション登録プログラム
EP1863268A1 (en) 2006-05-29 2007-12-05 Ricoh Company, Ltd. Combining image processing components using visual programming
JP2007328730A (ja) * 2006-06-09 2007-12-20 Toshiba Corp プロセスマッピング支援システム、方法およびプログラム
JP2009271793A (ja) * 2008-05-08 2009-11-19 Canon Inc 印刷制御装置及び印刷制御方法及びプログラム
JP5341489B2 (ja) * 2008-11-26 2013-11-13 キヤノン株式会社 画像形成装置、方法、及び、プログラム
JP5911212B2 (ja) * 2011-06-23 2016-04-27 キヤノン株式会社 印刷装置及びその制御方法、及びプログラム
JP6049299B2 (ja) * 2012-05-10 2016-12-21 キヤノン株式会社 画像処理装置、その制御方法およびプログラム。
JP6234011B2 (ja) * 2012-05-30 2017-11-22 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2013257738A (ja) * 2012-06-13 2013-12-26 Casio Comput Co Ltd コンピューティングシステム、コンピューティングシステムの実行制御方法及び実行制御プログラム
JP5936496B2 (ja) * 2012-09-10 2016-06-22 株式会社日立ソリューションズ ジョブ運用管理システム
JP6066641B2 (ja) * 2012-09-14 2017-01-25 キヤノン株式会社 データ送信装置及びその制御方法、並びにプログラム
US9336502B2 (en) * 2013-04-30 2016-05-10 Oracle International Corporation Showing relationships between tasks in a Gantt chart
US20150154528A1 (en) * 2013-12-02 2015-06-04 ZocDoc, Inc. Task manager for healthcare providers
JP2015108857A (ja) * 2013-12-03 2015-06-11 キヤノン株式会社 システム、その制御方法、情報処理装置、その制御方法及びプログラム
CN105808619B (zh) * 2014-12-31 2019-08-06 华为技术有限公司 基于影响分析的任务重做的方法、影响分析计算装置及一键重置装置

Also Published As

Publication number Publication date
US10884685B2 (en) 2021-01-05
JP2018206315A (ja) 2018-12-27
CN109032715B (zh) 2022-04-05
CN109032715A (zh) 2018-12-18
US20180357025A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
US20190251471A1 (en) Machine learning device
JP5040925B2 (ja) 情報抽出規則作成支援システム、情報抽出規則作成支援方法及び情報抽出規則作成支援プログラム
CN107305541A (zh) 语音识别文本分段方法及装置
JP6505421B2 (ja) 情報抽出支援装置、方法およびプログラム
EP3161618A1 (en) Code recommendation
JP6762819B2 (ja) 入力支援装置およびプログラム
US8018471B2 (en) Visual component/clause merging
JP2017091178A (ja) イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
US20220294897A1 (en) Systems and methods to manage models for call data
JP2008305386A (ja) プログラムパターン分析装置、パターン出現状況情報生産方法、パターン情報生成装置、およびプログラム
JP6532900B2 (ja) ジョブ実行制御装置、ジョブ実行制御方法およびプログラム
JP6191440B2 (ja) スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法
JP6483757B2 (ja) ジョブ実行制御装置、ジョブ実行制御方法およびプログラム
WO2019225366A1 (ja) 画面判別装置、画面判別方法及びプログラム
JP2008181218A (ja) 入力支援方法及び装置
JP6185148B2 (ja) ソフトウェア仕様間依存関係検証装置、及びソフトウェア仕様間依存関係検証方法
WO2020084734A1 (ja) ナレッジ生成システム、方法およびプログラム
JP6157166B2 (ja) 部品生成システムおよび方法ならびにプログラム
JP6040819B2 (ja) 情報処理装置及びプログラム
JP5971399B2 (ja) 実行フロー作成支援プログラム
JP7163845B2 (ja) 情報処理装置、およびプログラム
JP6437899B2 (ja) 文書校正支援装置、文書校正支援方法、および文書校正支援プログラム
JP7523953B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5253115B2 (ja) プログラム変換装置、プログラム分析装置、プログラム変換方法、プログラム分析方法、およびプログラム
JP2024033123A (ja) 文書分析装置、及び文書分析用プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190214

R150 Certificate of patent or registration of utility model

Ref document number: 6483757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150