JP6365070B2 - 検索プログラム、装置、及び方法 - Google Patents

検索プログラム、装置、及び方法 Download PDF

Info

Publication number
JP6365070B2
JP6365070B2 JP2014153306A JP2014153306A JP6365070B2 JP 6365070 B2 JP6365070 B2 JP 6365070B2 JP 2014153306 A JP2014153306 A JP 2014153306A JP 2014153306 A JP2014153306 A JP 2014153306A JP 6365070 B2 JP6365070 B2 JP 6365070B2
Authority
JP
Japan
Prior art keywords
procedure manual
existing
command
commands
processes
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.)
Expired - Fee Related
Application number
JP2014153306A
Other languages
English (en)
Other versions
JP2016031613A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014153306A priority Critical patent/JP6365070B2/ja
Priority to US14/750,304 priority patent/US20160026637A1/en
Publication of JP2016031613A publication Critical patent/JP2016031613A/ja
Application granted granted Critical
Publication of JP6365070B2 publication Critical patent/JP6365070B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、検索プログラム、検索装置、及び検索方法に関する。
システム内の複数の情報処理装置に対して、例えば、ソフトウェアのインストールや各種設定及び設定の変更等、同じ所定の設定を行う場合がある。従来、情報処理装置に対する設定は、各情報処理装置に対して行う設定を手順化した手順書を参照し、作業者が手順書に従って順次複数の情報処理装置に所定の設定を行っている。
しかしながら、システムが大規模化してきたため、作業者が各情報処理装置の設置場所に出向いて、手順書に基づいて所定の設定を行う場合は、作業コストが膨大になるという問題があった。そこで、最近では、手順書に記述された処理を自動化するための自動化ソフトウェアを手順書から作成し、設定対象の情報処理装置において、自動化ソフトウェアを実行することで、情報処理装置に自動的に設定が行われている。自動化ソフトウェアは、手順書に記述された処理の各々を実行するための複数の命令文(コマンド)を含み、自動化ソフトウェアの簡単な説明と共に記憶される。
特開2012−190284号公報 特開2013−196468号公報 特開2000−222215号公報 特開2013−196006号公報 特開2008−117029号公報
新たな手順書から自動化ソフトウェアを作成する場合、過去に作成された自動化ソフトウェアを参考にすることで、自動化にかかる工数を削減することができる。
しかしながら、作成者や適用対象が異なる自動化ソフトウェアを適切に分類して管理することは困難である。そのため、新たな手順書から自動化ソフトウェアを作成する際に参考となる既存の自動化ソフトウェアを検索することはできないか、または、検索のための無駄な工数を要してしまう。
また、参考となる自動化ソフトウェアとして、新たな手順書に類似する自動化ソフトウェアを検索することも考えられる。しかし、手順書と自動化ソフトウェアとでは記述形式が異なるため、単純な文字列の比較により、新たな手順書に類似する自動化ソフトウェアを検索することはできない。
本発明は、一つの側面として、手順書を自動化する際に参考となる既存の自動化ソフトウェアを検索することを目的とする。
一つの態様では、情報処理装置に対して行う設定の手順を記述した既存の手順書の各々に含まれる複数の処理の各々を抽出し、手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアの各々とを対応付けて記憶部に記憶し、自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出し、前記記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出し、算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する。
一つの側面として、手順書を自動化する際に参考となる既存の自動化ソフトウェアを検索することができる、という効果を有する。
手順書の一例を示す図である。 手順書の自動化を説明するための図である。 自動化スクリプトの一例を示す図である。 自動化スクリプトの検索を説明するための概略図である。 自動化スクリプトの検索を説明するための概略図である。 第1実施形態に係る検索装置の機能ブロック図である。 手順書データベース(DB)の一例を示す図である。 第1実施形態における自動化スクリプトDBの一例を示す図である。 手順書からのコマンドの抽出を説明するための図である。 手順書コマンドDBの一例を示す図である。 コマンド類似度の算出を説明するための図である。 コマンド同士の紐付けを説明するための図である。 コマンド同士の紐付けを説明するための図である。 ファイル類似度の算出を説明するための図である。 第1及び第2実施形態に係る検索装置として機能するコンピュータの概略を示すブロック図である。 第1実施形態における検索処理の一例を示すフローチャートである。 第2実施形態に係る検索装置の機能ブロック図である。 第2実施形態における自動化スクリプトDBの一例を示す図である。 自動化スクリプトからのコマンドの抽出を説明するための図である。 自動化スクリプトの変換定義を説明するための図である。 自動化スクリプトコマンドDBの一例を示す図である。 対応付情報DBの一例を示す図である。 紐付けられたコマンドの提示を説明するための図である。 既存手順書と自動化スクリプトとの紐付処理の一例を示すフローチャートである。 既存手順書と自動化スクリプトとの紐付処理の一例を示すフローチャートである。
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。
まず、各実施形態の詳細を説明する前に、本実施形態で想定している手順書、及びその手順書から作成される自動化スクリプトの一例、並びに本実施形態の概要について説明する。なお、自動化スクリプトは、本発明の自動化ソフトウェアの一例である。
手順書は、自動化の対象となる情報処理装置に対して行われる設定の手順を記述したものである。情報処理装置に対して行われる設定とは、例えば、情報処理装置の増設作業や機能追加に伴う更新作業、不具合の修正作業などである。手順書は、1つの作業群に対して、テキスト形式の1つのファイルとして作成されているものとする。
図1に、本実施形態における手順書の一例を示す。手順書100には、手順書の概要説明101、作業者操作102、コマンド列103、及びGUI(graphical user interface)操作104が含まれる。概要説明101は、情報処理装置に対して行われる設定の各手順を記述した作業者操作102、コマンド列103、及びGUI操作104とは異なり、手順書全体の説明や注意事項等の記述である。従って、概要説明101の記述自体は自動化の対象ではない。
作業者操作102は、「サーバにログイン」など、作業者が行う操作を表す自然言語による記述である。コマンド列103は、情報処理装置で実行される処理を表す複数の命令文(コマンド)の記述である。なお、図1では、コマンド列103に含まれる各コマンドを「#」で開始する1行毎に区切って記述している。GUI操作104は、「Webブラウザ経由でファイルをアップロード」など、GUIを利用した操作を表す自然言語による記述である。なお、作業者操作102、コマンド列103、及びGUI操作104は、本発明の「複数の処理」の一例である。特に、本実施形態では、コマンド列103に含まれる複数のコマンドを、本発明の「複数の処理」として扱う場合について説明する。
自動化スクリプトの作成担当者は、図2に示すように、自動化スクリプト200の作成に当たって、手順書100内の作業者操作102、コマンド列103、及びGUI操作104のそれぞれについて、次のように自動化を行う。まず、コマンド列103については、自動化スクリプト200の形式に沿ったコマンド列202に変換する。次に、作業者操作102については、同等の処理を実行可能な自動化スクリプト形式のコマンド列202に変換する。また、GUI操作104については、API(Application Programming Interface)等を利用することにより同等の処理を実行可能な自動化スクリプト形式のコマンド列202に変換する。自動化スクリプト形式のコマンド列202に変換できない場合は、その箇所で自動化スクリプトを分割、または入力待ち状態とし、その箇所の操作のみ人手で実行するように自動化スクリプト200を作成する。
図3に、作成された自動化スクリプト200の一例を示す。自動化スクリプト200には、手順書100の記述を自動化スクリプト200に沿った形式に変換するための変換定義201、及び手順書100の記述をコマンド化したコマンド列202が含まれる。手順書100では、人がそのままコマンドを実行するために変数化が行われていないのが一般的だが、自動化スクリプト200では、メンテナンス性を考慮して、変数化されていることが多い。従って、変換定義201には、例えば、手順書100においては具体的な文字列で記述されている箇所を、一般化した変数に変換するための規則が定義される。
ここで、図4に示すように、自動化対象の手順書100(以下、「対象手順書100A」)から自動化スクリプト200Aを作成する場合を考える。また、既に自動化スクリプトを作成済みの手順書100(以下、「既存手順書100B」)と、対象手順書100Aとが類似するとする。この場合、対象手順書100Aから作成しようとする自動化スクリプト200Aは、既存手順書100Bから既に作成済みの自動化スクリプト200Bに類似する可能性が高い。従って、手順書100Aから自動化スクリプト200Aを作成する際に、自動化スクリプト200B内の流用可能な箇所を新たに作成する自動化スクリプト200Aに流用することで、自動化スクリプト200Aの作成のための作業工数を削減できる。
そこで、本実施形態では、図5に示すように、既存手順書100Bと、各既存手順書100Bから作成された自動化スクリプト200Bとを対応付けて記憶しておく。そして、自動化担当者により対象手順書100Aが入力された際に、対象手順書100Aと既存手順書100Bとの類似度を算出する。そして、対象手順書100Aに類似する既存手順書100Bを検索し、検索された既存手順書100Bに対応付けられた自動化スクリプト200Bを、自動化担当者に提示する。
以下、各実施形態について詳述する。なお、以下では、対象手順書100Aと既存手順書100Bとを区別なく説明する場合には、単に「手順書100」と記述する。また、自動化スクリプト200Aと自動化スクリプト200Bとを区別なく説明する場合には、単に「自動化スクリプト200」と記述する。
<第1実施形態>
図6に示すように、第1実施形態に係る検索装置10は、コマンド抽出部21と、コマンド紐付部22と、ファイル類似度算出部23と、検索部24とを含む。また、検索装置10の所定の記憶領域には、手順書データベース(DB)31と、自動化スクリプトDB32と、手順書コマンドDB33とが記憶される。
手順書DB31には、例えば図7に示すように、既存手順書100Bを示す各ファイルに、既存手順書100Bを識別するための手順書IDが付与されて記憶される。また、自動化スクリプトDB32には、例えば図8に示すように、自動化スクリプト200Bを示す各ファイルに、自動化スクリプト200Bを識別するための自動化スクリプトIDが付与されて記憶される。また、各自動化スクリプト200Bの作成元である既存手順書100Bの手順書IDが記憶される。これにより、既存手順書100Bと、その既存手順書100Bから作成された自動化スクリプト200Bとの対応付けが特定される。なお、第1実施形態では、説明を簡単にするため、既存手順書100Bと自動化スクリプト200Bとが、1対1で対応している場合について説明する。
コマンド抽出部21は、図9に示すように、入力された対象手順書100A及び手順書DB31に記憶された既存手順書100Bの各々に含まれるコマンド列103から、各コマンドを抽出する。コマンドの抽出は、手順書の記述形式に応じて、コマンドの記述を特定する規則を予め定めておき、その規則に従って抽出することができる。例えば、上述したように、コマンド列103に含まれる各コマンドを「#」で開始する1行毎に区切って記述している場合には、「#」の次の文字から行末までを1つのコマンドとして抽出することができる。コマンド抽出部21は、例えば図10に示すように、抽出した各コマンドに、手順書100内での出現順にコマンドIDを付与し、コマンドの抽出元の手順書100の手順書IDと対応付けて、手順書コマンドDB33に記憶する。
コマンド紐付部22は、対象手順書100Aと既存手順書100Bの各々との類似度を求めるために、対象手順書100Aから抽出されたコマンドの各々と、各既存手順書100Bから抽出されたコマンドの各々との紐付けを行う。紐付けの対象となるコマンド同士は、コマンド間のコマンド類似度が所定の閾値THc以上で、かつコマンド類似度が最大のコマンド同士で、さらに、コマンド列の順序性が保持されたコマンド同士とする。
具体的には、コマンド紐付部22は、手順書コマンドDB33から、対象手順書100Aから抽出されたコマンド列、及び既存手順書100Bから抽出されたコマンド列を取得する。そして、コマンド紐付部22は、図11に示すように、各コマンド同士のコマンド類似度を算出する。コマンド類似度は、コマンドの文字列を比較して数値化したものとすることができる。例えば、比較する2つのコマンド間のレーベンシュタイン距離を、長い方(文字数が多い方)のコマンド列の文字数で割り、1から引いた値をコマンド類似度とすることができる。なお、レーベンシュタイン距離とは、2つの文字列がどの程度異なるかを表す値であり、文字の挿入、削除、置換によって、ある文字列を別の文字列に変換するのに必要な手数の最小値を表す。このレーベンシュタイン距離を長い方のコマンド列の文字数で割ることにより、コマンド類似度を0〜1に正規化できる。なお、コマンド類似度は、本発明の「処理類似度」の一例である。
また、コマンド紐付部22は、図12に示すように、対象手順書100Aから抽出された先頭のコマンドから順に、そのコマンドとのコマンド類似度が所定の閾値THc以上で、かつ最大の既存手順書100Bのコマンドとの紐付けを行う。なお、図12の例は、対象手順書100Aから抽出されたコマンド列に5個のコマンドが含まれ、既存手順書100Bから抽出されたコマンド列にも5個のコマンドが含まれる場合である。また、図12において、コマンド間を結ぶ矢印に併記した数値がコマンド類似度である。コマンド類似度が所定の閾値THc以上の場合に紐付けを行うのは、コマンド類似度が最大のコマンド同士であっても、実際には全く異なるコマンドである可能性がある。そのため、コマンド類似度が閾値THc未満であれば、コマンド同士の紐付けを行わないようにするためである。閾値THcは、本装置に求められる精度等に応じて、予め設定しておく。
図12の例では、対象手順書100Aのコマンド1とのコマンド類似度が最大の既存手順書100Bのコマンドはコマンド2で、そのコマンド類似度は0.9である。0.9が、コマンド類似度の閾値THc以上であれば、対象手順書100Aのコマンド1と既存手順書100Bのコマンド2とを紐付ける。より具体的には、対象手順書100Aの手順書IDとコマンド1のコマンドIDとのペアと、既存手順書100Bの手順書IDとコマンド2のコマンドIDとのペアとを紐付けて、所定の記憶領域に一旦記憶しておく。
コマンド紐付部22は、対象手順書100Aにおける次のコマンドについて、同様に既存手順書100Bのコマンドとの紐付けを行う。この際、コマンド列の順序性を保持するため、既存手順書100Bのコマンドのうち、既に対象手順書100Aのコマンドと紐付けられたコマンド以前のコマンドは紐付けの対象から除外する。手順書100においては、IF文のような条件分岐はほとんどなく、情報処理装置に対して行う設定の手順が、実行順に上から下にシーケンシャルに記述されている場合が多く、各コマンドの実行順序は通常変化しないと考えられるためである。
例えば、上記の図12の例の場合、対象手順書100Aのコマンド1と既存手順書100Bのコマンド2とが紐付けられたため、図13に示すように、対象手順書100Aの次のコマンド2の紐付け対象は、既存手順書100Bのコマンド3、4、5となる。これにより、コマンド列の順序性を保持したコマンド間の紐付けが行えると共に、コマンド間の比較(コマンド類似度の算出)回数を減らし、処理速度を上げることができる。
ファイル類似度算出部23は、コマンド紐付部22によるコマンド同士の紐付け結果に基づいて、対象手順書100Aと、既存手順書100Bの各々とのファイル類似度を算出する。なお、対象手順書100Aと既存手順書100Bとのファイル類似度は、本発明の「手順書類似度」の一例である。ファイル類似度は、対象手順書100Aと既存手順書100Bとの間で紐付けられたコマンド数が多いほど高くなる値とすることができる。例えば、対象手順書100Aと既存手順書100Bとの間で紐付けられたコマンド数を、対象手順書100Aに含まれるコマンド数、または既存手順書100Bに含まれるコマンド数の多い方で割った値を、ファイル類似度とすることができる。
例えば、図14に示すように、対象手順書100Aに対して、コマンド同士が紐付けられた既存手順書100B1、100B2、100B3、100B4があったとする。図14において、手順書100内の各ブロックは1つのコマンドを表し、同じ模様のブロックが示すコマンド同士が紐付けられていることを表す。また、白いブロックが示すコマンドは、紐付けが行われていないコマンドを表す。また、いずれの手順書100も、含まれるコマンド数は5個である。この場合、対象手順書100Aと既存手順書100B1とでは、4個のコマンドが紐付けられているため、対象手順書100Aと既存手順書100B1とのファイル類似度は、4/5=0.8となる。ファイル類似度算出部23は、同様に、対象手順書100Aと各既存手順書100Bとのファイル類似度を算出する。
ファイル類似度算出部23は、算出したファイル類似度を、対象手順書100Aの手順書ID及び既存手順書100Bの手順書IDと対応付けて、所定の記憶領域に一旦記憶する。
検索部24は、ファイル類似度算出部23で算出されたファイル類似度が、所定の閾値THf1以上の既存手順書100Bを、対象手順書100Aに類似する既存手順書100Bとして検索する。具体的には、閾値THf1以上のファイル類似度に対応付けられた既存手順書100Bの手順書IDに基づいて、手順書DB31から該当の既存手順書100Bを検索する。
ファイル類似度が所定の閾値THf1以上の既存手順書100Bを選択するのは、ファイル類似度が最大の既存手順書100Bであっても、実際には対象手順書100Aと全く類似しない可能性がある。そのため、ファイル類似度が閾値THf1未満であれば、対象手順書100Aに類似する既存手順書100Bとして検索しないようにするためである。閾値THf1は、本装置に求められる精度等に応じて、予め設定しておく。
対象手順書100Aに類似する既存手順書100Bは、1つであってもよいし、複数であってもよい。例えば、ファイル類似度が所定の閾値THf1以上で、かつ最大の既存手順書100Bを1つ検索してもよいし、ファイル類似度が所定の閾値THf1以上の既存手順書100Bを全て検索してもよい。また、ファイル類似度が所定の閾値THf1以上で、かつ上位N件までの既存手順書100Bを検索してもよい。例えば、図14の例で、閾値を0.6、N=3とすると、既存手順書100B1、100B2が検索される。
検索部24は、検索した対象手順書100Aに類似する既存手順書100Bに対応付けられた自動化スクリプト200Bを、自動化スクリプトDB32から検索する。具体的には、検索部24は、自動化スクリプトDB32の「手順書ID」の項目に、検索した既存手順書100Bの手順書IDが記憶されている自動化スクリプト200Bを検索する。図14の例で、対象手順書100Aに類似する既存手順書100Bとして既存手順書100B1が検索されたとする。この場合、既存手順書100B1から作成され、既存手順書100B1の手順書IDと対応付けて自動化スクリプトDB32に記憶されている自動化スクリプト200B1が検索される。
検索装置10は、例えば図15に示すコンピュータ40で実現することができる。コンピュータ40はCPU41、一時記憶領域としてのメモリ42、及び不揮発性の記憶部43を備える。また、コンピュータ40は、入出力装置48が接続される入出力インターフェース(I/F)44を備える。また、コンピュータ40は、記録媒体49に対するデータの読み込み及び書き込みを制御するread/write(R/W)部45、及びインターネット等のネットワークに接続されるネットワークI/F46を備える。CPU41、メモリ42、記憶部43、入出力I/F44、R/W部45、及びネットワークI/F46は、バス47を介して互いに接続される。
記憶部43はHDD(Hard Disk Drive)、SSD(solid state drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を検索装置10として機能させるための検索プログラム50が記憶される。また、記憶部43は、手順書DB31を構成する情報が記憶される手順書記憶領域61と、自動化スクリプトDB32を構成する情報が記憶される自動化スクリプト記憶領域62と、手順書コマンドDB33を構成する情報が記憶される手順書コマンド記憶領域63とを有する。
CPU41は、検索プログラム50を記憶部43から読み出してメモリ42に展開し、検索プログラム50が有するプロセスを順次実行する。また、CPU41は、手順書記憶領域61に記憶された情報を読み出して、例えば図7に示すような手順書DB31としてメモリ42に展開する。また、CPU41は、自動化スクリプト記憶領域62に記憶された情報を読み出して、例えば図8に示すような自動化スクリプトDB32としてメモリ42に展開する。また、CPU41は、手順書コマンド記憶領域63に記憶された情報を読み出して、例えば図10に示すような手順書コマンドDB33としてメモリ42に展開する。
検索プログラム50は、コマンド抽出プロセス51と、コマンド紐付プロセス52と、ファイル類似度算出プロセス53と、検索プロセス54とを有する。CPU41は、コマンド抽出プロセス51を実行することで、図6に示すコマンド抽出部21として動作する。また、CPU41は、コマンド紐付プロセス52を実行することで、図6に示すコマンド紐付部22として動作する。また、CPU41は、ファイル類似度算出プロセス53を実行することで、図6に示すファイル類似度算出部23として動作する。CPU41は、検索プロセス54を実行することで、図6に示す検索部24として動作する。これにより、検索プログラム50を実行したコンピュータ40が、検索装置10として機能することになる。
なお、検索装置10は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、第1実施形態に係る検索装置10の作用について説明する。手順書DB31に複数の既存手順書100Bが記憶され、自動化スクリプトDB32に、手順書DB31に記憶された既存手順書100Bの各々に対応する自動化スクリプトが記憶された状態とする。この状態で、自動化担当者が対象手順書100Aを検索装置10に入力すると、検索装置10において、図16に示す検索処理が実行される。
なお、以下では、手順書DB31に記憶された既存手順書100Bには、1,2,・・・と連番で手順書IDが付与されているものとし、手順書ID=iの既存手順書100Bを「既存手順書P」と表記する。また、既存手順書Pから作成された自動化スクリプトを「自動化スクリプトS」と表記し、対象手順書100Aは「対象手順書P」と表記する。また、対象手順書P及び既存手順書Pの各々から抽出されたコマンドには、手順書毎に、1,2,・・・と連番でコマンドIDが付与されるものとする。また、対象手順書Pから抽出されたコマンドID=jのコマンドを「コマンドcT,j」と表記し、既存手順書Pから抽出されたコマンドID=mのコマンドを「コマンドci,m」と表記する。
図16に示す検索処理のステップS11で、コマンド抽出部21が、入力された対象手順書Pに含まれるコマンド列103から、各コマンドを抽出する。また、コマンド抽出部21は、手順書DB31に記憶された既存手順書Pの各々に含まれるコマンド列103から、各コマンドを抽出する。そして、コマンド抽出部21は、抽出した各コマンドに、手順書100内での出現順にコマンドIDを付与し、コマンドの抽出元の手順書100の手順書IDと対応付けて、手順書コマンドDB33に記憶する。
次に、ステップS12で、コマンド紐付部22が、処理対象の既存手順書Pを特定するための変数iに1を設定する。変数iは、i=1,2,・・・,Iであり、Iは手順書DB31に記憶された既存手順書100Bの総数である。次に、ステップS13で、コマンド紐付部22が、対象手順書Pに含まれるコマンドのうち、処理対象のコマンドcT,jを特定するための変数jに1を設定する。変数jは、j=1,2,・・・,Jであり、Jは対象手順書Pに含まれるコマンドの総数である。
次に、ステップS14で、コマンド紐付部22が、対象手順書PのコマンドcT,jと、既存手順書Pの各コマンドci,m’とのコマンド類似度を算出する。ここで、mは、m=1,2,・・・,M(i)であり、M(i)は、既存手順書Pに含まれるコマンドの総数である。また、m’は、mのうち、対象手順書PのコマンドcT,jと紐付済みのコマンド以前のコマンドを除外した各コマンドを表す。例えば、m=1,2,・・・,5で、対象手順書PのコマンドcT,jと紐付済みのコマンドで、コマンドIDが最大のコマンドがコマンドci,2の場合、m’は、m’=3,4,5である。
次に、ステップS15で、コマンド紐付部22が、上記ステップS14で算出したコマンド類似度の最大値が閾値THc以上か否かを判定する。コマンド類似度の最大値が閾値THc以上の場合には、処理はステップS16へ移行する。ステップS16では、コマンド紐付部22が、対象手順書Pの手順書IDとコマンドcT,jのコマンドID(j)とのペアと、既存手順書Pの手順書ID(i)とコマンド類似度が最大となるコマンドci,m’のコマンドIDとのペアとを紐付ける。そして、コマンド紐付部22は、紐付結果を所定の記憶領域に一旦記憶して、ステップS17へ移行する。一方、上記ステップS15で、コマンド類似度の最大値が閾値THc未満と判定された場合には、処理はステップS16をスキップして、ステップS17へ移行する。
ステップS17では、変数jがJに達したか否かを判定することにより、対象手順書Pに含まれる全てのコマンドについて、既存手順書Pに含まれるコマンドとの紐付処理を行ったか否かを判定する。変数jがJに達していない場合には、処理はステップS18へ移行し、コマンド紐付部22が、変数jを1インクリメントして、処理はステップS14に戻る。変数jがJに達した場合には、処理はステップS19へ移行する。
ステップS19では、ファイル類似度算出部23が、コマンド紐付部22によるコマンド同士の紐付け結果に基づいて、対象手順書Pと既存手順書Pとのファイル類似度を算出する。例えば、対象手順書Pと既存手順書Pとの間で紐付けられたコマンド数を、対象手順書Pに含まれるコマンド数、及び既存手順書Pに含まれるコマンド数の多い方で割った値を、ファイル類似度として算出する。ファイル類似度算出部23は、算出したファイル類似度を、対象手順書Pの手順書ID及び既存手順書Pの手順書ID(i)と対応付けて、所定の記憶領域に一旦記憶する。
次に、ステップS20で、ファイル類似度算出部23が、変数iがIに達したか否かを判定することにより、手順書DB31に記憶された全ての既存手順書Pについて、対象手順書Pとのファイル類似度を算出する処理を行ったか否かを判定する。変数iがIに達していない場合には、処理はステップS21へ移行し、ファイル類似度算出部23が、変数iを1インクリメントして、処理はステップS13に戻る。変数iがIに達した場合には、処理はステップS22へ移行する。
ステップS22では、検索部24が、上記ステップS19で算出されたファイル類似度のうち、閾値THf1以上のファイル類似度に対応付けられた既存手順書Pの手順書ID(i)に基づいて、手順書DB31から該当の既存手順書Pを検索する。例えば、ファイル類似度が閾値THf1以上で、かつ最大の既存手順書Pを1つ検索してもよいし、ファイル類似度が閾値THf1以上の既存手順書Pを全て検索してもよいし、ファイル類似度が閾値THf1以上で、かつ上位N件までの既存手順書Pを検索してもよい。
また、検索部24は、検索した既存手順書Pの手順書IDと対応付けて自動化スクリプトDB32に記憶された自動化スクリプトSを検索する。そして、検索部24は、検索した既存手順書P及び自動化スクリプトSを、表示装置に表示するなどして、自動化担当者に提示し、検索処理を終了する。
以上説明したように、第1実施形態に係る検索装置10によれば、既存手順書とその既存手順書から作成した自動化スクリプトとを対応付けて記憶しておく。そして、自動化の対象手順書が入力された際に、手順書に含まれる複数の処理に相当するコマンド列の順序性を保持したまま、コマンド間の紐付けを行い、紐付結果に基づいて、対象手順書に類似する既存手順書を検索する。そして、検索された既存手順書に対応付けられた自動化スクリプトと共に提示する。手順書と自動化スクリプトとでは記述形式が異なるため、単純な文字列の比較では、手順書と自動化スクリプトとの類似度を精度よく算出することができないが、本実施形態では、上記のように、まず、記述形式が同様の手順書同士で類似度を算出する。そして、対象手順書に類似した既存手順書を検索した上で、その既存手順書に対応付けられた自動化スクリプトを検索する。このため、対象手順書と既存の自動化スクリプトとの単純な文字列の比較では検索できない、手順書を自動化する際に参考となる既存の自動化スクリプトを検索することができる。
なお、第1実施形態では、既存手順書と、その既存手順書から作成された自動化スクリプトとを1対1で予め対応付けておく場合について説明したが、1対N、N対1、N対Nの関係で対応付けておいてもよい。1つの既存手順書に対して複数の自動化スクリプトが対応付けられている場合には、自動化スクリプトDB32において、検索された対象手順書に類似する既存手順書の手順書IDに対応付けられた全ての自動化スクリプトを検索するようにすればよい。
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、予め既存手順書100Bと、その既存手順書100Bから作成された自動化スクリプト200Bとが対応付けて記憶されている場合について説明した。しかし、自動化された作業に対して手順書を参照する必要性がないことや、管理工数などを考慮すると、既存手順書100Bと自動化スクリプト200Bとが対応付けて管理されている場合は少ないと考えられる。そこで、第2実施形態では、既存手順書100Bと自動化スクリプト200Bとの対応付けも行う場合について説明する。
なお、第1実施形態に係る検索装置10と同一の部分については、同一符号を付して詳細な説明を省略する。
図17に示すように、第2実施形態に係る検索装置210は、コマンド抽出部221と、コマンド紐付部222と、ファイル類似度算出部223と、検索部224とを含む。また、検索装置210の所定の記憶領域には、手順書DB31と、自動化スクリプトDB232と、手順書コマンドDB33と、自動化スクリプトコマンドDB34と、対応付情報DB35とが記憶される。
自動化スクリプトDB232には、例えば図18に示すように、自動化スクリプト200Bを示す各ファイルに、自動化スクリプト200Bを識別するための自動化スクリプトIDが付与されて記憶される。第1実施形態における自動化スクリプトDB32とは異なり、各自動化スクリプト200Bの作成元である既存手順書100Bの手順書IDの項目はない。
コマンド抽出部221は、第1実施形態におけるコマンド抽出部21と同様に、入力された対象手順書100A及び手順書DB31に記憶された既存手順書100Bの各々に含まれるコマンド列103から、各コマンドを抽出する。
さらに、コマンド抽出部221は、図19に示すように、自動化スクリプトDB232に記憶された自動化スクリプト200Bの各々に含まれるコマンド列202から、各コマンドを抽出する。自動化スクリプト200からのコマンドの抽出は、自動化スクリプトの言語に応じて、コマンドの記述を特定する規則を予め定めておき、その規則に従って抽出することができる。例えば、図19の例のように、「run」という制御文に、設定対象の情報処理装置で実行する処理が記述されている場合には、「run」で指定された制御文を1つのコマンドとして抽出することができる。
コマンド抽出部221は、自動化スクリプト200の変換定義201を参照して、手順書から自動化スクリプトを作成する際に、具体的な文字列部分を変数に変換した箇所を、変換前の文字列に変換し直す。例えば、図20に示すような変換定義201が自動化スクリプト200に含まれていたとする。この例では、例えば、手順書100内の「/etc/〜/」という記述は、自動化スクリプト200を作成する際に、「target_path」に変換されることを定義している。なお、変換定義201における「〜」は、実際の手順書100では、サーバ名、ソフトウェア名、ファイル名等の具体的な情報が特定されている箇所である。従って、図20に示すように、例えば、自動化スクリプト200から抽出された「mv”+target_path+target_file」というコマンドは、「mv/etc/〜/〜.conf」というコマンドに変換し直す。
コマンド抽出部221は、例えば図21に示すように、自動化スクリプト200から抽出した各コマンド、または変換定義201に基づいて変換し直した場合には変換し直したコマンドに、自動化スクリプト200内での出現順にコマンドIDを付与する。そして、コマンドの抽出元の自動化スクリプト200の自動化スクリプトIDと対応付けて、自動化スクリプトコマンドDB34に記憶する。
コマンド紐付部222は、第1実施形態におけるコマンド紐付部22と同様に、対象手順書100Aと既存手順書100Bの各々との類似度を求めるために、コマンド間のコマンド類似度を算出し、コマンド同士の紐付けを行う。
さらに、コマンド紐付部222は、既存手順書100Bと既存の自動化スクリプト200Bの各々との類似度を求めるために、既存手順書100Bから抽出されたコマンドの各々と、各自動化スクリプト200Bから抽出されたコマンドの各々との紐付けを行う。具体的な方法は、対象手順書100Aから抽出されたコマンドの各々と、各既存手順書100Bから抽出されたコマンドの各々との紐付けと同様であるため、説明を省略する。
ファイル類似度算出部223は、第1実施形態におけるファイル類似度算出部23と同様に、コマンド紐付部222によるコマンド同士の紐付け結果に基づいて、対象手順書100Aと既存手順書100Bの各々とのファイル類似度を算出する。
さらに、ファイル類似度算出部223は、コマンド紐付部222によるコマンド同士の紐付け結果に基づいて、既存手順書100Bと、既存の自動化スクリプト200Bの各々とのファイル類似度を算出する。ファイル類似度の算出方法は、対象手順書100Aと既存手順書100Bの各々とのファイル類似度の算出方法と同様であるため、説明を省略する。
また、ファイル類似度算出部223は、算出した既存手順書100Bと自動化スクリプト200Bの各々とのファイル類似度が、所定の閾値THf2以上となる既存手順書100Bと自動化スクリプト200Bとのペアを抽出する。ファイル類似度が所定の閾値THf2以上のペアを抽出するのは、ファイル類似度が最大のペアであっても、実際には全く類似しない可能性がある。そのため、ファイル類似度が閾値THf2未満であれば、既存手順書100Bと自動化スクリプト200Bとの対応付けを行わないようにするためである。閾値THf2は、本装置に求められる精度等に応じて、予め設定しておく。
既存手順書100Bと自動化スクリプト200Bとの対応付けは、1対1、1対N、N対1、N対Nのいずれの関係であってもよい。例えば、ファイル類似度が所定の閾値THf2以上で、かつ最大となるペアを抽出してもよいし、1つの既存手順書100Bに対して、ファイル類似度が所定の閾値THf2以上となる全ての自動化スクリプト200Bを抽出してもよい。また、1つの既存手順書100Bに対して、ファイル類似度が所定の閾値THf2以上で、かつ上位N件までの自動化スクリプト200Bを抽出してもよい。
ファイル類似度算出部223は、例えば図22に示すように、抽出したペアの既存手順書100Bの手順書IDと、自動化スクリプト200Bの自動化スクリプトIDとを対応付けて、対応付情報DB35に記憶する。また、ファイル類似度算出部223は、対応付けられた既存手順書100Bと自動化スクリプト200Bとの間で紐付けられているコマンドの情報をあわせて記憶する。例えば、紐付けられたコマンド同士のコマンドIDを連結した表記を列挙して、既存手順書100Bの手順書ID及び自動化スクリプト200Bの自動化スクリプトIDと対応付けて記憶しておくことができる。
検索部224は、第1実施形態における検索部24と同様に、対象手順書100Aと既存手順書100Bとのファイル類似度に基づいて、対象手順書100Aに類似する既存手順書100Bを検索する。そして、検索した既存手順書100Bに対応付けられた自動化スクリプト200Bを検索する。第1実施形態のように、自動化スクリプトDB32から直接検索するのではなく、検索部224は、対応付情報DB35に記憶された情報に基づいて、対象手順書100Aに類似する既存手順書100Bに対応付けられた自動化スクリプト200Bを検索する。
具体的には、検索部24は、対応付情報DB35の「手順書ID」の項目に、検索した既存手順書100Bの手順書IDが記憶されている行の自動化スクリプトIDを取得する。そして、検索部24は、取得した自動化スクリプトIDに基づいて、自動化スクリプトDB232から、該当の自動化スクリプト200Bを検索する。
また、検索部224は、検索した既存手順書100B及び自動化スクリプト200Bを提示する際、例えば図23に示すように、既存手順書100Bと自動化スクリプト200Bとで紐付けられたコマンドもあわせて提示する。図23の例では、一重下線で示された既存手順書100BのコマンドBと、自動化スクリプト200Bのコマンドbとが紐付いていることを表している。また、二重下線で示された既存手順書100BのコマンドDと、自動化スクリプト200Bのコマンドdとが紐付いていることを表している。
第2実施形態では、既存手順書100Bと自動化スクリプト200Bとは、上述したように、コマンド同士の紐付けに基づくファイル類似度に従って対応付けられている。すなわち、必ずしも、既存手順書100Bと、その既存手順書100Bから作成された自動化スクリプト200Bとが対応付いているわけではない。従って、既存手順書100Bと自動化スクリプト200Bとの間で紐付けが行われていないコマンドは、対象手順書100Aから自動化スクリプト200Aを作成する際に流用できない場合もある。そこで、既存手順書100Bと自動化スクリプト200Bとで紐付けられたコマンドもあわせて提示することで、自動化担当者が、提示された自動化スクリプト200Bを参考にする際に、各コマンドが流用可能か否かの判断を支援することができる。
検索装置210は、例えば図15に示すコンピュータ40で実現することができる。記憶媒体としての記憶部43には、コンピュータ40を検索装置210として機能させるための検索プログラム250が記憶される。また、記憶部43は、手順書記憶領域61と、自動化スクリプトDB232を構成する情報が記憶される自動化スクリプト記憶領域262と、手順書コマンド記憶領域63とを有する。また、記憶部43は、自動化スクリプトコマンドDB34を構成する情報が記憶される自動化スクリプトコマンド記憶領域64と、対応付情報DB35を構成する情報が記憶される対応付情報記憶領域65とを有する。
CPU41は、検索プログラム50を記憶部43から読み出してメモリ42に展開し、検索プログラム250が有するプロセスを順次実行する。また、また、CPU41は、自動化スクリプト記憶領域262に記憶された情報を読み出して、例えば図18に示すような自動化スクリプトDB232としてメモリ42に展開する。また、CPU41は、自動化スクリプトコマンド記憶領域64に記憶された情報を読み出して、例えば図21に示すような自動化スクリプトコマンドDB34としてメモリ42に展開する。また、CPU41は、対応付情報記憶領域65に記憶された情報を読み出して、例えば図22に示すような対応付情報DB35としてメモリ42に展開する。その他のDBについては第1実施形態と同様である。
検索プログラム250は、コマンド抽出プロセス251と、コマンド紐付プロセス252と、ファイル類似度算出プロセス253と、検索プロセス254とを有する。CPU41は、コマンド抽出プロセス251を実行することで、図17に示すコマンド抽出部221として動作する。また、CPU41は、コマンド紐付プロセス252を実行することで、図17に示すコマンド紐付部222として動作する。また、CPU41は、ファイル類似度算出プロセス253を実行することで、図17に示すファイル類似度算出部223として動作する。CPU41は、検索プロセス254を実行することで、図17に示す検索部224として動作する。これにより、検索プログラム250を実行したコンピュータ40が、検索装置210として機能することになる。
なお、検索装置210は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第2実施形態に係る検索装置210の作用について説明する。第2実施形態では、第1実施形態で説明した検索処理に先立って、検索装置210において、図24及び図25に示す既存手順書と自動化スクリプトとの対応付処理が実行される。なお、以下では、自動化スクリプトDB32に記憶された自動化スクリプト手順書200Bには、1,2,・・・と連番で自動化スクリプトIDが付与されているものとする。また、自動化スクリプトID=kの自動化スクリプト200Bを「自動化スクリプトS」と表記する。自動化スクリプトSの各々から抽出されたコマンドには、自動化スクリプト毎に、1,2,・・・と連番でコマンドIDが付与されるものとする。また、自動化スクリプトSから抽出されたコマンドID=nのコマンドを「コマンドck,n」と表記する。また、第1実施形態における検索処理と同様の処理については、詳細な説明を省略する。
図24に示す既存手順書と自動化スクリプトとの対応付処理のステップS31で、コマンド抽出部221が、処理対象の自動化スクリプトSを特定するための変数kに1を設定する。変数kは、k=1,2,・・・,Kであり、Kは自動化スクリプトDB232に記憶された自動化スクリプト200Bの総数である。
次に、ステップS32で、コマンド抽出部221が、自動化スクリプトSに含まれるコマンド列202から、各コマンドを抽出する。次に、ステップS32で、コマンド抽出部221は、自動化スクリプトSの変換定義201を参照して、手順書から自動化スクリプトを作成する際に、具体的な文字列部分を変数に変換した箇所が存在するか否かを判定する。存在する場合には、処理はステップS34へ移行し、コマンド抽出部221が、変数に変換された箇所を文字列に変換し直して、処理はステップS35へ移行する。一方、変数に変換した箇所が存在しない場合には、処理はステップS34をスキップして、ステップS35へ移行する。
ステップS35では、コマンド抽出部221が、自動化スクリプト200から抽出した各コマンド、または変換定義201に基づいて変換し直した場合には変換し直したコマンドに、自動化スクリプト200内での出現順にコマンドIDを付与する。そして、コマンドの抽出元の自動化スクリプト200の自動化スクリプトIDと対応付けて、自動化スクリプトコマンドDB34に記憶する。
次に、ステップS36で、変数kがKに達したか否かを判定することにより、自動化スクリプトDB232に含まれる全ての自動化スクリプトSについて、コマンドを抽出する処理を行ったか否かを判定する。変数kがKに達していない場合には、処理はステップS37へ移行し、コマンド抽出部221が、変数kを1インクリメントして、処理はステップS32に戻る。変数kがKに達した場合には、処理は図25に示すステップS38へ移行する。
ステップS38では、コマンド抽出部221が、手順書DB31に記憶された既存手順書Pの各々に含まれるコマンド列103から、各コマンドを抽出する。そして、コマンド抽出部21は、抽出した各コマンドに、既存手順書P内での出現順にコマンドIDを付与し、コマンドの抽出元の既存手順書Pの手順書ID(i)と対応付けて、手順書コマンドDB33に記憶する。
次に、ステップS39で、コマンド紐付部222が、処理対象の既存手順書Pを特定するための変数iに1を設定する。次に、ステップS40で、コマンド紐付部222が、処理対象の自動化スクリプトSを特定するための変数kに1を設定する。次に、ステップS41で、コマンド紐付部222が、既存手順書Pに含まれるコマンドのうち、処理対象のコマンドci,mを特定するための変数mに1を設定する。
次に、ステップS42で、コマンド紐付部222が、既存手順書Pのコマンドci,mと、自動化スクリプトSの各コマンドck,n’とのコマンド類似度を算出する。ここで、nは、n=1,2,・・・,N(i)であり、N(i)は、自動化スクリプトSに含まれるコマンドの総数である。また、n’は、nのうち、既存手順書Pのコマンドci,mと紐付済みのコマンド以前のコマンドを除外した各コマンドを表す。
次に、ステップS43で、コマンド紐付部222が、上記ステップS42で算出したコマンド類似度の最大値が閾値THc以上か否かを判定する。コマンド類似度の最大値が閾値THc以上の場合には、処理はステップS44へ移行する。ステップS44では、コマンド紐付部222が、既存手順書Pの手順書ID(i)とコマンドci,mのコマンドID(m)とのペアと、自動化スクリプトSの自動化スクリプトID(k)とコマンド類似度が最大となるコマンドck,n’のコマンドIDとのペアとを紐付ける。そして、コマンド紐付部222は、紐付結果を所定の記憶領域に一旦記憶して、ステップS45へ移行する。一方、上記ステップS43で、コマンド類似度の最大値が閾値THc未満と判定された場合には、処理はステップS44をスキップして、ステップS45へ移行する。
ステップS45では、変数mがM(i)に達したか否かを判定することにより、既存手順書Pに含まれる全てのコマンドについて、自動化スクリプトSに含まれるコマンドとの紐付処理を行ったか否かを判定する。変数mがM(i)に達していない場合には、処理はステップS46へ移行し、コマンド紐付部222が、変数mを1インクリメントして、処理はステップS42に戻る。変数mがM(i)に達した場合には、処理はステップS47へ移行する。
ステップS47では、ファイル類似度算出部223が、コマンド紐付部222によるコマンド同士の紐付け結果に基づいて、既存手順書Pと自動化スクリプトSとのファイル類似度を算出する。ファイル類似度算出部223は、算出したファイル類似度を、既存手順書Pの手順書ID(i)及び自動化スクリプトSの自動化スクリプトID(k)と対応付けて、所定の記憶領域に一旦記憶する。
次に、ステップS48で、ファイル類似度算出部223が、変数kがKに達したか否かを判定する。これにより、自動化スクリプトDB32に記憶された全ての自動化スクリプトSについて、既存手順書Pとのファイル類似度を算出する処理を行ったか否かを判定する。変数kがKに達していない場合には、処理はステップS49へ移行し、ファイル類似度算出部223が、変数kを1インクリメントして、処理はステップS41に戻る。変数kがKに達した場合には、処理はステップS50へ移行する。
ステップS50では、ファイル類似度算出部223が、変数iがIに達したか否かを判定する。これにより、手順書DB31に記憶された全ての既存手順書Pについて、自動化スクリプトDB32に記憶された全ての自動化スクリプトSとのファイル類似度を算出する処理を行ったか否かを判定する。変数iがIに達していない場合には、処理はステップS51へ移行し、ファイル類似度算出部223が、変数iを1インクリメントして、処理はステップS40に戻る。変数iがIに達した場合には、処理はステップS52へ移行する。
ステップS52では、ファイル類似度算出部223が、算出した既存手順書Pの各々と自動化スクリプトSの各々とのファイル類似度が、所定の閾値THf2以上となる既存手順書Pと自動化スクリプトSとのペアを抽出する。そして、ファイル類似度算出部223は、抽出したペアの既存手順書Pの手順書ID(i)と、自動化スクリプトSの自動化スクリプトID(k)とを対応付けて、対応付情報DB35に記憶する。また、ファイル類似度算出部223は、対応付けられた既存手順書Pと自動化スクリプトSとの間で紐付けられているコマンドの情報をあわせて記憶し、既存手順書と自動化スクリプトとの対応付処理を終了する。
検索処理については、第1実施形態と同様に実行することができる。なお、第2実施形態では、既存手順書と自動化スクリプトとの対応付処理において、既存手順書からコマンドを抽出する処理を行っている。そのため、第2実施形態における検索処理では、図16のステップS11において、既存手順書からコマンドを抽出する処理は省略することができる。また、図16に示す検索処理のステップS22で、検索した既存手順書と自動化スクリプトとを提示する際に、紐付けられたコマンドもあわせて提示する。
以上説明したように、第2実施形態に係る検索装置210では、既存手順書及び自動化スクリプトの各々に含まれるコマンド列の順序性を保持したまま、コマンド間の紐付けを行い、紐付結果に基づいて、既存手順書と自動化スクリプトとの対応付けを行う。そのうえで、第1実施形態と同様に、対象手順書に類似する既存手順書、及びその既存手順書に対応付けられた自動化スクリプトを検索する。従って、第1実施形態の効果に加え、既存手順書と自動化スクリプトとの対応付けも自動で行うことができる。
なお、上記各実施形態では、コマンド同士の紐付結果に基づいて、ファイル類似度を算出する場合について説明したが、これに限定されない。例えば、手順書や自動化スクリプトを作成した担当者が同一であるといった情報や、作成日時が近いといった情報を用いて、関連性が高いと判定される場合には、ファイル類似度が高くなるようにしてもよい。
また、提示した既存手順書及び自動化スクリプトが、対象手順書から自動化スクリプトを作成する際の参考になったか否かの情報をフィードバックし、次回以降算出されるファイル類似度及びコマンド類似度に反映するようにしてもよい。
なお、上記では、検索プログラム50、250が記憶部43に予め記憶(インストール)されている態様を説明したが、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
以上の各実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータに、
情報処理装置に対して行う設定の手順を記述した手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出し、
既存の手順書と、前記既存の手順書から作成された自動化ソフトウェアとを対応付けて複数記憶した記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出し、
算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する
ことを含む処理を実行させるための検索プログラム。
(付記2)
前記手順書類似度を、前記既存の手順書に含まれる複数の処理の各々と、前記対象の手順書に含まれる複数の処理の各々との処理類似度が所定の閾値以上で最大となる処理同士であって、処理の順序性が保持された処理同士を紐付け、前記既存の手順書及び前記対象の手順書の少なくとも一方に含まれる処理数に対する紐付けられた処理数の割合に基づいて算出する付記1記載の検索プログラム。
(付記3)
前記コンピュータに、
前記既存の手順書の各々に含まれる複数の処理の各々を抽出し、
前記自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、
前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける
ことをさらに含む処理を実行させるための付記1または付記2記載の検索プログラム。
(付記4)
前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを比較する際、前記複数のコマンドの各々のうち、処理をコマンドに変換する際に、文字列から変数への変換が行われる場合には、前記自動化ソフトウェアから抽出したコマンドの変数部分を、変換前の文字列に変換してから比較するか、または前記既存の手順書から抽出した処理の文字列部分を変数に変換してから比較する付記3記載の検索プログラム。
(付記5)
前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける際、前記既存の手順書に含まれる複数の処理の各々と、前記自動化ソフトウェアに含まれる複数のコマンドの各々との処理類似度が所定の閾値以上で最大となる処理及びコマンドであって、処理及びコマンドの順序性が保持された処理とコマンドとを紐付け、前記既存の手順書に含まれる処理数、及び前記自動化ソフトウェアに含まれるコマンド数の少なくとも一方に対する、紐付けられた処理とコマンド数の割合に基づいて、対応付ける付記3または付記4記載の検索プログラム。
(付記6)
情報処理装置に対して行う設定の手順を記述した手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出する抽出部と、
既存の手順書と、前記既存の手順書から作成された自動化ソフトウェアとを対応付けて複数記憶した記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から前記抽出部により抽出された複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出する算出部と、
前記算出部により算出された前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する検索部と、
を含む検索装置。
(付記7)
前記算出部は、前記手順書類似度を、前記既存の手順書に含まれる複数の処理の各々と、前記対象の手順書に含まれる複数の処理の各々との処理類似度が所定の閾値以上で最大となる処理同士であって、処理の順序性が保持された処理同士を紐付け、前記既存の手順書及び前記対象の手順書の少なくとも一方に含まれる処理数に対する紐付けられた処理数の割合に基づいて算出する付記6記載の検索装置。
(付記8)
前記抽出部は、前記既存の手順書の各々に含まれる複数の処理の各々を抽出し、前記自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、
前記算出部は、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける
付記6または付記7記載の検索装置。
(付記9)
前記算出部は、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを比較する際、前記複数のコマンドの各々のうち、処理をコマンドに変換する際に、文字列から変数への変換が行われる場合には、前記自動化ソフトウェアから抽出したコマンドの変数部分を、変換前の文字列に変換してから比較するか、または前記既存の手順書から抽出した処理の文字列部分を変数に変換してから比較する付記8記載の検索装置。
(付記10)
前記算出部は、前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける際、前記既存の手順書に含まれる複数の処理の各々と、前記自動化ソフトウェアに含まれる複数のコマンドの各々との処理類似度が所定の閾値以上で最大となる処理及びコマンドであって、処理及びコマンドの順序性が保持された処理とコマンドとを紐付け、前記既存の手順書に含まれる処理数、及び前記自動化ソフトウェアに含まれるコマンド数の少なくとも一方に対する、紐付けられた処理とコマンド数の割合に基づいて、対応付ける付記8または付記9記載の検索装置。
(付記11)
コンピュータに、
情報処理装置に対して行う設定の手順を記述した手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出し、
既存の手順書と、前記既存の手順書から作成された自動化ソフトウェアとを対応付けて複数記憶した記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出し、
算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する
ことを含む処理を実行させる検索方法。
(付記12)
前記手順書類似度を、前記既存の手順書に含まれる複数の処理の各々と、前記対象の手順書に含まれる複数の処理の各々との処理類似度が所定の閾値以上で最大となる処理同士であって、処理の順序性が保持された処理同士を紐付け、前記既存の手順書及び前記対象の手順書の少なくとも一方に含まれる処理数に対する紐付けられた処理数の割合に基づいて算出する付記11記載の検索方法。
(付記13)
前記コンピュータに、
前記既存の手順書の各々に含まれる複数の処理の各々を抽出し、
前記自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、
前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける
ことをさらに含む処理を実行させる付記11または付記12記載の検索方法。
(付記14)
前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを比較する際、前記複数のコマンドの各々のうち、処理をコマンドに変換する際に、文字列から変数への変換が行われる場合には、前記自動化ソフトウェアから抽出したコマンドの変数部分を、変換前の文字列に変換してから比較するか、または前記既存の手順書から抽出した処理の文字列部分を変数に変換してから比較する付記13記載の検索方法。
(付記15)
前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける際、前記既存の手順書に含まれる複数の処理の各々と、前記自動化ソフトウェアに含まれる複数のコマンドの各々との処理類似度が所定の閾値以上で最大となる処理及びコマンドであって、処理及びコマンドの順序性が保持された処理とコマンドとを紐付け、前記既存の手順書に含まれる処理数、及び前記自動化ソフトウェアに含まれるコマンド数の少なくとも一方に対する、紐付けられた処理とコマンド数の割合に基づいて、対応付ける付記13または付記14記載の検索方法。
10、210 検索装置
21、221 コマンド抽出部
22、222 コマンド紐付部
23、223 ファイル類似度算出部
24、224 検索部
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
50、250 検索プログラム
100A 対象手順書
100B 既存手順書
200 自動化スクリプト
250 検索プログラム
31 手順書DB
32、232 自動化スクリプトDB
33 手順書コマンドDB
34 自動化スクリプトコマンドDB
35 対応付情報DB

Claims (6)

  1. コンピュータに、
    情報処理装置に対して行う設定の手順を記述した既存の手順書の各々に含まれる複数の処理の各々を抽出し、手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアの各々とを対応付けて記憶部に記憶し、
    自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出し、
    前記記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出し、
    算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する
    ことを含む処理を実行させるための検索プログラム。
  2. 前記手順書類似度を、前記既存の手順書に含まれる複数の処理の各々と、前記対象の手順書に含まれる複数の処理の各々との処理類似度が所定の閾値以上で最大となる処理同士であって、処理の順序性が保持された処理同士を紐付け、前記既存の手順書及び前記対象の手順書の少なくとも一方に含まれる処理数に対する紐付けられた処理数の割合に基づいて算出する請求項1記載の検索プログラム。
  3. 前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを比較する際、前記複数のコマンドの各々のうち、処理をコマンドに変換する際に、文字列から変数への変換が行われる場合には、前記自動化ソフトウェアから抽出したコマンドの変数部分を、変換前の文字列に変換してから比較するか、または前記既存の手順書から抽出した処理の文字列部分を変数に変換してから比較する請求項1又は請求項2記載の検索プログラム。
  4. 前記既存の手順書の各々と前記自動化ソフトウェアとを対応付ける際、前記既存の手順書に含まれる複数の処理の各々と、前記自動化ソフトウェアに含まれる複数のコマンドの各々との処理類似度が所定の閾値以上で最大となる処理及びコマンドであって、処理及びコマンドの順序性が保持された処理とコマンドとを紐付け、前記既存の手順書に含まれる処理数、及び前記自動化ソフトウェアに含まれるコマンド数の少なくとも一方に対する、紐付けられた処理とコマンド数の割合に基づいて、対応付ける請求項1〜請求項3のいずれか1項記載の検索プログラム。
  5. 情報処理装置に対して行う設定の手順を記述した既存の手順書の各々に含まれる複数の処理の各々を抽出し、手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアの各々とを対応付けて記憶部に記憶する記憶制御部と、
    自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出する抽出部と、
    前記記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出する算出部と、
    算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する検索部と、
    を含む検索装置。
  6. コンピュータに、
    情報処理装置に対して行う設定の手順を記述した既存の手順書の各々に含まれる複数の処理の各々を抽出し、手順書に含まれる複数の処理の各々を複数のコマンドに変換した自動化ソフトウェアの各々に含まれる複数のコマンドの各々を抽出し、前記既存の手順書の各々から抽出した複数の処理の各々と、前記自動化ソフトウェアの各々から抽出した複数のコマンドの各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記自動化ソフトウェアの各々とを対応付けて記憶部に記憶し、
    自動化ソフトウェアを作成する対象の手順書から、前記複数の処理の各々を抽出し、
    前記記憶部に記憶された複数の既存の手順書の各々に含まれる複数の処理の各々と、前記対象の手順書から抽出した複数の処理の各々とを、順序性を保持したまま比較することにより、前記既存の手順書の各々と前記対象の手順書との手順書類似度を算出し、
    算出した前記手順書類似度に基づいて、前記対象の手順書に類似する既存の手順書と、該既存の手順書に対応付けて前記記憶部に記憶された自動化ソフトウェアとを検索する
    ことを含む処理を実行させる検索方法。
JP2014153306A 2014-07-28 2014-07-28 検索プログラム、装置、及び方法 Expired - Fee Related JP6365070B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014153306A JP6365070B2 (ja) 2014-07-28 2014-07-28 検索プログラム、装置、及び方法
US14/750,304 US20160026637A1 (en) 2014-07-28 2015-06-25 Search method, search device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014153306A JP6365070B2 (ja) 2014-07-28 2014-07-28 検索プログラム、装置、及び方法

Publications (2)

Publication Number Publication Date
JP2016031613A JP2016031613A (ja) 2016-03-07
JP6365070B2 true JP6365070B2 (ja) 2018-08-01

Family

ID=55166884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014153306A Expired - Fee Related JP6365070B2 (ja) 2014-07-28 2014-07-28 検索プログラム、装置、及び方法

Country Status (2)

Country Link
US (1) US20160026637A1 (ja)
JP (1) JP6365070B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347849A (zh) * 2019-06-20 2019-10-18 中国第一汽车股份有限公司 车辆说明书检索方法、装置、车辆及存储介质
JP7202579B1 (ja) * 2021-08-27 2023-01-12 株式会社ピーエスシー キッティングシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3547637B2 (ja) * 1999-02-02 2004-07-28 エヌ・ティ・ティ・コムウェア株式会社 電話交換機用運転ファイル更新システム及び運転ファイル更新プログラムを記録した記録媒体
KR20040080844A (ko) * 2003-03-14 2004-09-20 주식회사 안철수연구소 정적 분석을 이용한 악성 스크립트 감지 방법
US7526286B1 (en) * 2008-05-23 2009-04-28 International Business Machines Corporation System and method for controlling a computer via a mobile device
JPWO2011135629A1 (ja) * 2010-04-28 2013-07-18 株式会社日立製作所 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム
US20130041900A1 (en) * 2011-08-10 2013-02-14 Bank Of America Corporation Script Reuse and Duplicate Detection
JP2013196006A (ja) * 2012-03-15 2013-09-30 Hitachi Systems Ltd 運用設計システム
WO2014002212A1 (ja) * 2012-06-27 2014-01-03 株式会社日立製作所 文書関連付け方法および文書検索方法、文書関連付け装置および文書検索装置、並びにそのためのプログラム
JP2014041536A (ja) * 2012-08-23 2014-03-06 Toshiba It Service Kk コンピュータキッティング問題対策管理システム、問題対策管理コンピュータ及びコンピュータキッティング問題対策管理プログラム
US9335987B2 (en) * 2013-12-09 2016-05-10 International Business Machines Corporation Data object with common statement series
US9606784B2 (en) * 2013-12-24 2017-03-28 International Business Machines Corporation Data object with common sequential statements

Also Published As

Publication number Publication date
JP2016031613A (ja) 2016-03-07
US20160026637A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
US10031907B2 (en) Context-based text auto completion
JP6365195B2 (ja) 命令履歴分析プログラム、命令履歴分析装置、および、命令履歴分析方法
WO2020136959A1 (ja) マンガ生成システムおよびマンガ生成方法
JP2017188107A (ja) 人事異動案作成支援装置、人事異動案作成支援方法、及び、人事異動案作成支援プログラム
JP6365070B2 (ja) 検索プログラム、装置、及び方法
JP2014197278A (ja) 運用作業フロー作成支援方法および運用作業フロー作成支援システム
US11080173B2 (en) Boundary search test support device and boundary search test support method
JP7003749B2 (ja) 生成プログラム、生成装置、および、生成方法
JP6916437B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP6217440B2 (ja) シンボリック実行プログラム、シンボリック実行方法及びシンボリック実行装置
JP5705681B2 (ja) 情報処理装置、データ移行用ツール生成方法およびプログラム
JP2019148859A (ja) フローダイアグラムを用いたモデル開発環境におけるデザインパターンの発見を支援する装置および方法
CN114676155A (zh) 代码提示信息的确定方法、数据集的确定方法及电子设备
JP6157166B2 (ja) 部品生成システムおよび方法ならびにプログラム
JP5578625B2 (ja) プログラム分析装置、プログラム分析方法、及びプログラム
JP2018022433A (ja) 制御プログラム、装置、及び方法
CN101916251B (zh) 多媒体集成检索装置和方法
JP2022029347A (ja) 特徴量選択プログラム、装置、及び方法
JP7228083B2 (ja) データ検索装置、方法およびプログラム
US11868726B2 (en) Named-entity extraction apparatus, method, and non-transitory computer readable storage medium
JP5514682B2 (ja) バッチ処理プログラム分析方法および装置
US20230083617A1 (en) Document retrieval support system, document retrieval support method, and non-transitory computer readable medium storing document retrieval support program
WO2021084807A1 (ja) 情報提供システム
JP5380130B2 (ja) ファイル検索装置及びファイル検索方法、並びにプログラム
JP6483757B2 (ja) ジョブ実行制御装置、ジョブ実行制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180409

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees