(57)【特許請求の範囲】
【請求項１】
コンピュータに、
処理内容を示す複数の処理項目が処理順に記述された第１手順情報と第２手順情報とに共通する一対の処理項目の間に記述された１以上の共通しない処理項目を、前記第１手順情報と前記第２手順情報とのそれぞれから処理項目群として検出し、
複数の動詞それぞれを含む処理項目の有無による処理項目群の処理の違いを表す差分換算値が、前記複数の動詞それぞれに対応付けられており、前記第１手順情報から検出された第１処理項目群に含まれている動詞と、前記第２手順情報から検出された第２処理項目群に含まれている動詞とのそれぞれに対応する差分換算値に基づいて、前記第１処理項目群の処理と前記第２処理項目群の処理との違いを示す差分値を算出し、
前記第１手順情報と前記第２手順情報とを１つの手順情報に纏めるときに、前記第１処理項目群と前記第２処理項目群とを条件分岐として表現させるか否かを、前記差分値に基づいて判断する、
処理を実行させる共通化情報提供プログラム。
【請求項２】
前記算出では、前記第１処理項目群に含まれる第１処理項目と、前記第２処理項目群に含まれる第２処理項目とを、処理順に沿って１対１に対応付けた、少なくとも１つの処理項目対を生成し、該処理項目対ごとに、前記第１処理項目に含まれる動詞の差分換算値と、前記第２処理項目に含まれる動詞の差分換算値とに基づいて項目別差分値を算出し、該処理項目対ごとの項目別差分値の合計に応じた値を、前記差分値とする、
請求項１記載の共通化情報提供プログラム。
【請求項３】
前記算出では、前記第１処理項目に含まれる動詞と前記第２処理項目に含まれる動詞とが異なる第１処理項目対に関し、前記第１処理項目に含まれている動詞の差分換算値と、前記第２処理項目に含まれている動詞の差分換算値とのうちの大きい方の値を、前記第１処理項目対の項目別差分値とする、
請求項２記載の共通化情報提供プログラム。
【請求項４】
前記算出では、前記第１処理項目に含まれる動詞と前記第２処理項目に含まれる動詞とが同じ第２処理項目対に関し、該動詞の差分換算値に１未満の所定値を乗算した値を、前記第２処理項目対の項目別差分値とする、
請求項２または３記載の共通化情報提供プログラム。
【請求項５】
前記算出では、前記第１処理項目群に含まれる前記第１処理項目の数と、前記第２処理項目群に含まれる前記第２処理項目の数とが異なる場合、同じ動詞を有する前記第１処理項目と前記第２処理項目とを対応付けて処理項目対を生成する、
請求項２乃至４のいずれかに記載の共通化情報提供プログラム。
【請求項６】
前記判断では、前記第１処理項目群に含まれる処理項目の数または前記第２処理項目群に含まれる処理項目の数で、前記差分値を除算した値が、所定の閾値より大きければ、前記第１処理項目群と前記第２処理項目群とを条件分岐として表現させるものと判断する、
請求項１乃至５のいずれかに記載の共通化情報提供プログラム。
【請求項７】
コンピュータが、
処理内容を示す複数の処理項目が処理順に記述された第１手順情報と第２手順情報とに共通する一対の処理項目の間に記述された１以上の共通しない処理項目を、前記第１手順情報と前記第２手順情報とのそれぞれから処理項目群として検出し、
複数の動詞それぞれを含む処理項目の有無による処理項目群の処理の違いを表す差分換算値が、前記複数の動詞それぞれに対応付けられており、前記第１手順情報から検出された第１処理項目群に含まれている動詞と、前記第２手順情報から検出された第２処理項目群に含まれている動詞とのそれぞれに対応する差分換算値に基づいて、前記第１処理項目群の処理と前記第２処理項目群の処理との違いを示す差分値を算出し、
前記第１手順情報と前記第２手順情報とを１つの手順情報に纏めるときに、前記第１処理項目群と前記第２処理項目群とを条件分岐として表現させるか否かを、前記差分値に基づいて判断する、
共通化情報提供方法。
【請求項８】
処理内容を示す複数の処理項目が処理順に記述された第１手順情報と第２手順情報とを記憶する記憶部と、
前記第１手順情報と前記第２手順情報とに共通する一対の処理項目の間に記述された１以上の共通しない処理項目を、前記第１手順情報と前記第２手順情報とのそれぞれから処理項目群として検出し、複数の動詞それぞれを含む処理項目の有無による処理項目群の処理の違いを表す差分換算値が、前記複数の動詞それぞれに対応付けられており、前記第１手順情報から検出された第１処理項目群に含まれている動詞と、前記第２手順情報から検出された第２処理項目群に含まれている動詞とのそれぞれに対応する差分換算値に基づいて、前記第１処理項目群の処理と前記第２処理項目群の処理との違いを示す差分値を算出し、前記第１手順情報と前記第２手順情報とを１つの手順情報に纏めるときに、前記第１処理項目群と前記第２処理項目群とを条件分岐として表現させるか否かを、前記差分値に基づいて判断する、演算部と、
を有する共通化情報提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通化情報提供プログラム、共通化情報提供方法、および共通化情報提供装置に関する。
【背景技術】
【０００２】
コンピュータシステムを運用・管理するため、様々な作業が行われる。作業を正確に行うため、各作業の手順書が用意される。
システムの運用・管理のための作業は、例えばＧＵＩ（Graphical User Interface）を用いて行われることがある。ＧＵＩの操作性の善し悪しは、作業効率に影響する。そこで、例えばＧＵＩ画面を提示する評価対象プログラムについて、ＧＵＩ部品間の移動を示す操作シーケンスに着目した評価結果を作成する技術が考えられている。
【０００３】
なお手順書を自動で作成できれば、手順書作成の手間を省くことができる。例えば、製品の組立作業手順書であれば、設計情報を活用して組立作業手順書を統一された様式で容易に作成する技術がある。ただし、製品の組立作業手順書の作成技術を、システム管理のための手順書の作成技術に転用するのは困難である。そのためシステム管理のための作業手順書は、人手によって作成されている。
【０００４】
システムが複雑化すると、手順書の量も膨大となる。大量の手順書の中には、似た内容の手順書が複数存在することもある。そこで、例えば作業の手順をワークフローなどの処理の流れを表した図によって表現されているときに、類似する処理の流れ図を自動的に合成する技術が考えられている。
【０００５】
手順を統一化する別の技術としては、例えば、業務フローを構成する業務タスク及びフロー形状などの情報に基づいて、ビジネスプロセスを実行可能な形式で作成する技術もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１３４６７３号公報
【特許文献２】特開２００５−３１６８３４号公報
【特許文献３】特開２０１１−０５９９６２号公報
【特許文献４】特開２００８−３１０５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多くの手順書は、管理者が実施する作業の手順が自然言語で含まれている。自然言語で記述された手順書の場合、作成する人により表現が異なり、同じ作業の同じ手順について、表記の異なる複数の手順書が作成されることがある。また、同じ目的で実施される作業の手順書であっても、作業の結果に影響が及ばないような些細な部分で手順が異なる複数の手順書が作成される場合もある。自然言語で記述された手順書について、類似する複数の手順書を、まとめて１つの手順書とすれば、手順書の量を削減することができる。手順書の量を削減できれば、例えば、手順書に基づいて手順を自動で実行させるプログラムを作成する場合の、プログラム作成に要する工数を削減できる。
【０００８】
複数の手順書を１つにまとめる場合、実質的な処理内容が相違する箇所には分岐を設け、分岐条件を設定するなどの対応をすることになる。それに対して、処理の記述が相違する箇所であっても、単なる表記上の違いに過ぎない場合は分岐させずにすむ。そのため複数の手順書を１つに纏める際の作業工数を見積もるには、条件分岐させる分岐箇所を特定し、条件分岐がどの程度発生するのかを正確に把握することが重要となる。
【０００９】
しかし、従来は、複数の手順書を１つに統合する際に条件分岐させる分岐箇所を自動で特定する技術は存在せず、分岐箇所を人手によって特定するしかない。分岐箇所を特定するには、処理の記述が相違する箇所を見つけ出すことに加え、実質的な処理の相違なのか、単なる表記上の違いなのかを判別することとなり、人手で的確に判断するのは容易ではない。その結果、多数の手順書がある場合、分岐箇所の特定に多大な時間と労力が費やされる。
【００１０】
１つの側面では、本件は、複数の手順書を１つに統合する際に条件分岐させる箇所を容易に特定できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、コンピュータに以下の処理を実行させる共通化情報提供プログラムが提供される。共通化情報提供プログラムに基づいて、コンピュータは、処理内容を示す複数の処理項目が処理順に記述された第１手順情報と第２手順情報とに共通する一対の処理項目の間に記述された１以上の共通しない処理項目を、第１手順情報と第２手順情報とのそれぞれから処理項目群として検出する。次にコンピュータは、複数の動詞それぞれを含む処理項目の有無による処理項目群の処理の違いを表す差分換算値が、複数の動詞それぞれに対応付けられており、第１手順情報から検出された第１処理項目群に含まれている動詞と、第２手順情報から検出された第２処理項目群に含まれている動詞とのそれぞれに対応する差分換算値に基づいて、第１処理項目群の処理と第２処理項目群の処理との違いを示す差分値を算出する。そしてコンピュータは、第１手順情報と第２手順情報とを１つの手順情報に纏めるときに、第１処理項目群と第２処理項目群とを条件分岐として表現させるか否かを、差分値に基づいて判断する。
【発明の効果】
【００１２】
１態様によれば、複数の手順書を１つに統合する際に条件分岐させる箇所を容易に特定できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係る共通化情報提供装置の一例を示す図である。
【図２】コンピュータのハードウェアの一構成例を示す図である。
【図３】コンピュータの共通化情報提供機能を示すブロック図である。
【図４】操作量定義情報の一例を示す図である。
【図５】作業手順書の例を示す図である。
【図６】共通化情報提供処理の手順を示すフローチャートである。
【図７】操作手順の抽出例を示す図である。
【図８】操作手順抽出処理の詳細を示すフローチャートである。
【図９】操作手順情報の一例を示す図である。
【図１０】操作相違箇所検出例を示す図である。
【図１１】操作相違箇所検出処理の詳細を示すフローチャートである。
【図１２】分岐・合流検出処理の詳細を示すフローチャートである。
【図１３】操作相違箇所情報の一例を示す図である。
【図１４】差分操作手順抽出および差分操作量算出の一例を示す図である。
【図１５】差分操作手順抽出処理の一例を示す図である。
【図１６】操作抽出処理の手順を示すフローチャートである。
【図１７】差分操作量算出処理の手順を示すフローチャートである。
【図１８】差分操作手順情報の一例を示す図である。
【図１９】手順分岐判定の一例を示す図である。
【図２０】手順分岐判定処理の手順の一例を示すフローチャートである。
【図２１】分岐箇所判定結果の出力例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る共通化情報提供装置の一例を示す図である。共通化情報提供装置１０には、記憶部１１と演算部１２とが含まれる。記憶部１１には、処理内容を示す複数の処理項目が処理順に記述された第１手順情報１と第２手順情報２とが格納されている。第１手順情報１と第２手順情報２とは、例えば自然言語によって記述されている。なお第１手順情報１と第２手順情報２に記載されている処理は、人に実施させる作業の場合と、コンピュータなどの機器に実施させる処理とが含まれる。人に実施させる作業には、人がコンピュータなどの機器に対して行う操作も含まれる。
【００１５】
また記憶部１１には、差分換算値情報３が記憶されている。差分換算値情報３は、手順の記述に用いられる複数の動詞に対応付けて、差分換算値が設定されている。動詞の差分換算値は、その動詞を含む処理項目の有無による処理項目群の処理の違いを表している。すなわち動詞の差分換算値は、その動詞を含む処理がある場合と無い場合とで、処理結果にどの程度の違いがあると換算するのかを示す数値である。例えば処理結果に影響を与える処理に含まれる動詞ほど、高い値の差分換算値が設定される。
【００１６】
演算部１２は、第１手順情報１と第２手順情報２とに共通する一対の処理項目の間に記述された１以上の共通しない処理項目を、第１手順情報１と第２手順情報２とのそれぞれから処理項目群として検出する。例えば演算部１２は、第１手順情報１と第２手順情報２とを解析し、処理項目に分け、処理項目を処理順に並べた処理手順４，５を作成する。例えば１つの処理項目には１つの動詞が含まれるようにする。演算部１２は、第１手順情報１と第２手順情報２との処理項目を比較し、一致する処理項目を検出する。そして演算部１２は、２つの一致する処理項目の間、開始位置から一致する処理項目まで、および一致する処理項目から終了位置までのそれぞれに含まれる一致しない連続の処理項目を、第１手順情報１と第２手順情報２とから抽出する。ここで、第１手順情報１から抽出された処理項目群を、第１処理項目群６ａ，７ａとする。また第２手順情報２から抽出された処理項目群を、第２処理項目群６ｂ，７ｂとする。この例では第１手順情報１と第２手順情報２との間には、第１処理項目群６ａと第２処理項目群６ｂとによる相違箇所６と、第１処理項目群７ａと第２処理項目群７ｂとによる相違箇所７とがある。
【００１７】
演算部１２は、相違箇所６，７ごとに、第１手順情報１の相違箇所６，７内の第１処理項目群６ａ，７ａの処理と、第２手順情報２の相違箇所６，７内の第２処理項目群６ｂ，７ｂの処理との違いを示す差分値を算出する。例えば演算部１２は、第１手順情報１の相違箇所６，７内の第１処理項目群６ａ，７ａに含まれている動詞と、第２手順情報２の相違箇所６，７内の第２処理項目群６ｂ，７ｂに含まれている動詞それぞれに応じた差分換算値に基づいて、差分値を算出する。なお、各動詞の差分換算値は、差分換算値情報３から取得できる。
【００１８】
動詞の差分換算値に基づいて差分値を算出する場合、演算部１２は、例えば第１処理項目群６ａ，７ａに含まれる第１処理項目と、第２処理項目群６ｂ，７ｂに含まれる第２処理項目とを、処理順に沿って１対１に対応付けた処理項目対を生成する。図１の例では、双方向の矢印で示した２つの処理項目が、処理項目対を構成している。
【００１９】
次に演算部１２は、処理項目対ごとに、第１処理項目に含まれる動詞の差分換算値と、第２処理項目に含まれる動詞の差分換算値とに基づいて項目別差分値を算出する。そして演算部１２は、相違箇所６，７内の処理項目対それぞれの項目別差分値の合計を、相違箇所６，７の差分値とする。
【００２０】
演算部１２は、例えば処理項目対に含まれる第１処理項目と第２処理項目とのそれぞれに含まれる動詞が異なる場合、それぞれの動詞の差分換算値のうちの大きい方の値を、項目別差分値とする。また演算部１２は、処理項目対に含まれる第１処理項目と第２処理項目とで、動詞は同じであり目的語が異なる場合、例えば、その動詞の差分換算値に１未満の所定値を乗算した値を、処理項目対の項目別差分値とする。
【００２１】
なお第１処理項目群６ａ，７ａに含まれる第１処理項目の数と、第２処理項目群６ｂ，７ｂに含まれる第２処理項目の数とが異なる場合もある。この場合、演算部１２は、例えば、同じ動詞を有する第１処理項目と第２処理項目とを対応付ける。演算部１２は、処理項目対の対応付けができずに余った処理項目については、例えば、その処理項目に含まれる動詞の差分換算値を、項目別差分値とする。
【００２２】
相違箇所６，７それぞれの差分値が求まると、演算部１２は、第１手順情報１と第２手順情報２とを１つの処理手順に纏めるときに、第１処理項目群６ａ，７ａと第２処理項目群６ｂ，７ｂとを条件分岐させるか否かを、差分値に基づいて判断する。例えば演算部１２は、差分値が所定の閾値より大きい場合、条件分岐させると判断し、差分値が所定の閾値以下であれば、条件分岐しないと判断する。また演算部１２は、処理項目１つ当たりの差分値と閾値とを比較して、条件分岐させるか否かを判断してもよい。その場合、演算部１２は、相違箇所の差分値を、第１処理項目群６ａ，７ａに含まれる処理項目の数または第２処理項目群６ｂ，７ｂに含まれる処理項目の数で除算した値が、所定の閾値より大きければ、第１処理項目群６ａ，７ａと第２処理項目群６ｂ，７ｂとを条件分岐させるものと判断する。
【００２３】
このような共通化情報提供装置１０によれば、第１手順情報１と第２手順情報２とを纏め１つの手順情報に統合するときに、条件分岐の箇所を特定することができる。図１の例では、第１手順情報１と第２手順情報２との間に、２つの相違箇所６，７が検出される。
【００２４】
相違箇所６には、第１手順情報１の２つの処理項目と第２手順情報２の２つの処理項目とが含まれる。第１手順情報１の処理項目数と第２手順情報２の処理項目数とは同じであるため、処理順に沿って、相違箇所６内の第１手順情報１の処理項目と第２手順情報２の処理項目とを１対１で対応付け、２つの処理項目対が生成できる。
【００２５】
相違箇所６の１つ目の処理項目対の一方の処理項目の動詞は「編集」、他方の処理項目の動詞は「起動」である。図１の例では、動詞「編集」の差分換算値は「１．０」であり、動詞「起動」の差分換算値も「１．０」である。そのため、この処理項目対の項目別差分値は、最大の差分換算値を採り「１．０」となる。相違箇所６の２つ目の処理項目対の一方の処理項目の動詞は「コピー」、他方の処理項目の動詞は「クリック」である。図１の例では、動詞「コピー」の差分換算値は「１．０」であり、動詞「クリック」の差分換算値は「０．３」である。そのため、この処理項目対の項目別差分値は、最大の差分換算値を採り「１．０」となる。
【００２６】
相違箇所７には、第１手順情報１の１つの処理項目と第２手順情報２の２つの処理項目とが含まれる。第１手順情報１の処理項目数と第２手順情報２の処理項目数とは異なる。そこで、同じ動詞を含む処理項目が対応付けられ、１つの処理項目対が生成される。
【００２７】
相違箇所７の処理項目対の処理項目の動詞は共に「閉じる」であるが、目的語が異なる。図１の例では、動詞「閉じる」の差分換算値は「０．３」である。そのため、この処理項目対の項目別差分値は、動詞「閉じる」の差分換算値に所定値（例えば０．５）を乗算し「０．１５」となる。また相違箇所７において、処理項目対を構成できなかった処理項目の動詞は「クリック」である。動詞「クリック」の差分換算値は「０．３」であるため、この処理項目の項目別差分値は「０．３」となる。
【００２８】
１つの処理項目対と、余分な処理項目それぞれの項目別差分値の合計「０．４５」が、相違箇所７の差分値となる。
ここで、条件分岐をさせるか否かの差分値の閾値を「０．５」とする。この場合、相違箇所６については、差分値が閾値より大きく、分岐箇所と判断される。他方、相違箇所７は、差分値が閾値以下であり、分岐箇所ではないと判断される。このような分岐箇所の特定結果に基づいて、第１手順情報１と第２手順情報２とを１つの手順情報に統合する場合に、統合後の手順情報に含まれる分岐箇所が１箇所であることが分かる。
【００２９】
第１手順情報１と第２手順情報２とを１つの手順情報に纏める場合、その手順情報には、例えば、相違箇所６については、インポートツールの有無によって分岐する分岐条件が設けられる。そして、インポートツールがなければ、第１手順情報１の相違箇所６内の第１処理項目群６ａ内の処理を実施し、インポートツールがあれば、第２手順情報２の相違箇所６内の第２処理項目群６ｂの処理を実施するような分岐が、統合後の手順情報に含められる。また相違箇所７については、ウィンドウを閉じる手順に関する些細な違いであり、第１手順情報１の第１の処理項目群７ａの処理と第２手順情報２の第２処理項目群７ｂの処理とのいずれを実施しても、同じ結果が得られる。そのため、例えば、第１手順情報１の相違箇所７内の処理項目群７ａの処理と第２手順情報２の相違箇所７内の処理項目群７ｂの処理とのいずれか一方の処理が、統合後の手順情報に含められる。
【００３０】
このような共通化情報提供装置１０を用いれば、第１手順情報１と第２手順情報２とを１つの手順情報に纏める際に、条件分岐させる分岐箇所の特定が容易となる。分岐箇所の特定が容易となることで、例えば同様の目的で実施される処理の手順情報が大量にある場合、任意に選択可能な複数の手順情報の組み合わせそれぞれについて分岐箇所の特定を行えば、多数の手順情報を１つに纏める場合の分岐箇所の数を容易に算出できる。その結果、例えば多数の手順情報に示される処理をプログラムによって自動化させる際の、プログラム作成の工数を正確に算出できる。
【００３１】
また、第１の実施の形態では、第１手順情報１と第２手順情報２との処理項目を処理順に沿って１対１に対応付けた処理項目対ごとの項目別差分値を算出し、処理項目対ごとの項目別差分値の合計を差分値とすることができる。これにより、処理順の違いも差分値に反映させることができる。その結果、分岐箇所かどうかの判定を正確に行うことができる。
【００３２】
属する第１及び第２処理項目内の動詞が異なる処理項目対については、第１処理項目に含まれている動詞の差分換算値と、第２処理項目に含まれている動詞の差分換算値とのうちの大きい方の値が、その処理項目対の項目別差分値とされる。これにより、処理結果により大きな影響を与える動詞の差分換算値が項目別差分値に反映され、そのような動詞を多く含む相違箇所は分岐箇所と判断される。すなわち、いずれかの手順情報の処理項目を実施するのかにより処理結果が異なるような相違箇所については、正しく分岐箇所と判断できるようになる。
【００３３】
属する第１及び第２処理項目内の動詞が同じ処理項目対については、その動詞の差分換算値に１未満の所定値を乗算した値が、その処理項目対の項目別差分値とされる。これにより、動詞が同じで目的語のみ異なるような場合、項目別差分値を低く見積もり、該当相違箇所が誤って分岐箇所と判断されることを抑止できる。
【００３４】
第１処理項目群６ａ，７ａに含まれる第１処理項目の数と、第２処理項目群６ｂ，７ｂに含まれる第２処理項目の数とが異なる場合、同じ動詞を有する第１処理項目と第２処理項目とを対応付けて処理項目対が生成される。これにより、処理項目対を生成する際の処理項目間の対応付けを適切に行うことができ、差分値の正確性を向上させることができる。
【００３５】
相違箇所の差分値を閾値と比較する際には、相違箇所内の処理項目１つ当たりの差分値と閾値とを比較して、その相違箇所が分岐箇所かどうかを判断することもできる。処理項目１つ当たりの差分値を用いることで、例えば、２つの手順情報の相違箇所において処理内容に大きな違いはないが、一方の手順情報において処理の記載が詳細すぎて、処理項目数が多くなりすぎた場合に、その相違箇所が誤って分岐箇所と判断されることを抑止できる。
【００３６】
なお、演算部１２は、例えば共通化情報提供装置１０が有するプロセッサにより実現することができる。また、記憶部１１は、例えば共通化情報提供装置１０が有するメモリにより実現することができる。
【００３７】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態では、共通化情報提供装置を、コンピュータを用いて実現する。
【００３８】
図２は、コンピュータのハードウェアの一構成例を示す図である。コンピュータ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３９】
メモリ１０２は、コンピュータ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００４０】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００４１】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、コンピュータ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置（ＳＳＤ：Solid State Drive）を使用することもできる。
【００４２】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４３】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４４】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４５】
機器接続インタフェース１０７は、コンピュータ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４６】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した共通化情報提供装置１０も、図３に示したコンピュータ１００と同様のハードウェアにより実現することができる。
【００４８】
コンピュータ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。またコンピュータ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
図３は、コンピュータの共通化情報提供機能を示すブロック図である。コンピュータ１００は、記憶部１１０、操作手順抽出部１２０、操作相違箇所検出部１３０、差分操作手順抽出部１４０、差分操作量算出部１５０、および手順分岐判定部１６０を有する。
【００５０】
記憶部１１０は、操作量定義情報１１１および複数の作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・を記憶する。操作量定義情報１１１は、操作の記述に含まれる動詞ごとに操作量の値を示す情報である。操作量は、動詞で示される操作が作業手順全体に与える影響を数値化したものである。作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・は、コンピュータシステムに対して、管理・運用の作業手順を自然言語で記述した電子データである。なお記憶部１１０としては、メモリ１０２またはＨＤＤの記憶領域の一部が使用される。
【００５１】
操作手順抽出部１２０は、作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・を解析して、手順を構成する操作とその実施順序とを抽出する。そして操作手順抽出部１２０は、作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・ごとに、操作とその実施手順とを示す操作手順情報を生成する。
【００５２】
操作相違箇所検出部１３０は、作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・ごとの操作手順情報に基づき、２つの作業手順書間で操作手順が相違している箇所を検出する。操作相違箇所検出部１３０は、検出した相違箇所を、操作相違箇所とする。
【００５３】
差分操作手順抽出部１４０は、２つの作業手順書から、操作相違箇所に対応する操作手順を抽出する。差分操作手順抽出部１４０は、抽出した操作手順を、差分操作手順とする。
【００５４】
差分操作量算出部１５０は、操作相違箇所ごとに、各作業手順書から抽出した差分操作手順を構成する操作を示す記述を比較し、操作の記述に含まれる動詞や目的語の一致または相違を判定する。そして差分操作量算出部１５０は、操作量定義情報１１１に基づいて、操作を示す記述に含まれる動詞ごとの操作量定義値を判断し、その操作量定義値に基づいて重みをつけた差分操作量を算出する。
【００５５】
手順分岐判定部１６０は、操作相違箇所ごとに差分操作量算出部１５０により算出された差分操作量を評価する。さらに手順分岐判定部１６０は、差分操作量が一定値以下の操作相違箇所を、手順分岐から除外する。そして手順分岐判定部１６０は、除外されなかった操作相違箇所を、手順分岐箇所として出力する。
【００５６】
なお、図３に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図３に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータ１００に実行させることで実現することができる。
【００５７】
図４は、操作量定義情報の一例を示す図である。操作量定義情報１１１には、動詞に対応付けて、その動詞の操作量定義値が設定されている。例えば、コンピュータ内のデータの変更を伴う操作については、データの変更を伴わない操作よりも高い操作量定義値を設定することもできる。例えばウィンドウの操作に関する動詞よりも、ファイル操作や編集操作に関する動詞の方が、高い値の操作量定義値が設定される。なお操作量定義値は、第１の実施の形態における差分量換算値の一例である。
【００５８】
図５は、作業手順書の例を示す図である。作業手順書１１２ａ，１１２ｂ，・・・には、資料Ｎｏ．や資料名が記載されている。資料Ｎｏ．は、手順書の識別子（手順書ＩＤ）である。資料名は、手順書の名称である。作業手順書１１２ａ，１１２ｂ，・・・に、作業手順が自然言語により、作業の順番に沿って記載されている。コンピュータシステムの管理・運用のための作業は、例えばコンピュータ機器に対する操作である。図５の例では、作業手順書１１２ａ，１１２ｂ，・・・に記載されている各操作には、操作の実施順序を示す数値が付与されている。
【００５９】
以上のようなコンピュータにより、共通化情報提供処理が行われる。共通化情報提供処理では、複数の作業手順書を１つに纏め、共通化した作業手順書を作成する際の分岐箇所数が算出される。
【００６０】
図６は、共通化情報提供処理の手順を示すフローチャートである。
［ステップＳ１０１］操作手順抽出部１２０は、記憶部１１０に格納されている作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・を解析し、作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・それぞれの操作手順を示す操作手順情報３０を生成する。
【００６１】
［ステップＳ１０２］操作相違箇所検出部１３０は、操作手順情報３０に基づいて、２以上の操作手順の組み合わせを抽出し、それらの操作手順を比較し、操作相違箇所を検出する。そして操作相違箇所検出部１３０は、検出した相違箇所を示す操作相違箇所情報４０を生成する。
【００６２】
［ステップＳ１０３］差分操作手順抽出部１４０は、操作相違箇所情報４０に基づいて、比較された操作手順情報の組み合わせごとに、操作手順の相違する部分を抽出し、差分操作手順情報５１，５２，５３，・・・を生成する。
【００６３】
［ステップＳ１０４］差分操作量算出部１５０は、操作量定義情報１１１に基づいて、差分操作手順情報５１，５２，５３，・・・に示される相違する操作手順の、相違の度合いを差分操作量として算出する。差分操作量算出部１５０は、算出した差分操作量を、差分操作手順情報５１，５２，５３，・・・に設定する。
【００６４】
［ステップＳ１０５］手順分岐判定部１６０は、操作相違箇所情報４０に示される操作相違箇所について、差分操作量に基づいて、複数の作業手順書を１つの手順書に纏めたときに、操作相違箇所を分岐箇所とするか否かを判定する。そして、手順分岐判定部１６０は、手順分岐箇所に関する手順分岐箇所情報６０を出力する。
【００６５】
以下、図６に示す各ステップの処理を詳細に説明する。まず、操作手順抽出処理（ステップＳ１０１）について説明する。
図７は、操作手順の抽出例を示す図である。図７の例では、任意のサーバ用のファイルをインポートする複数の作業手順書１１２ａ，１１２ｂを示している。これらの作業手順書１１２ａ，１１２ｂは、操作対象のサーバが異なるのみであり、操作の目的は同じである。操作手順抽出部１２０は、作業手順書１１２ａ，１１２ｂそれぞれから、操作手順３１，３２を抽出する。
【００６６】
例えば操作手順抽出部１２０は、作業手順書１１２ａ，１１２ｂの操作内容の記述から、動詞と、その動詞の目的語とを特定し、それ以外の修飾語を削除した文字列を、操作名とする。例えば「インポート作業用ファイルを該当サーバ用に編集します。」という文字列では、「編集」が動詞であり、「作業用ファイル」が目的語となる。そこで「作業用ファイルを編集」という操作名が生成される。操作手順抽出部１２０は、このような操作名を操作ごとに作成し、操作の実施順序に沿って操作名を、作業手順書１１２ａ，１１２ｂごとに並べることで、操作手順３１，３２を作成する。
【００６７】
なお「インポートツールを起動し、「インポート」ボタンをクリックします。」のような重文の場合、動詞が２つ含まれる。このような記述は、「インポートツールを起動」と「インポートボタンをクリック」という２つの操作名に分けられる。
【００６８】
図８は、操作手順抽出処理の詳細を示すフローチャートである。
［ステップＳ１１１］操作手順抽出部１２０は、記憶部１１０に格納されている作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・のうちの、未処理の作業手順書の手順書ＩＤを１つ選択する。
【００６９】
［ステップＳ１１２］操作手順抽出部１２０は、選択した手順書ＩＤの作業手順書を、記憶部１１０から読み込む。
［ステップＳ１１３］操作手順抽出部１２０は、読み込んだ手順書を解析し、作業の順に、作業を示す記述から「目的語＋動詞」の形で操作名を取得する。取得した操作名は、操作の実施順に並べられる。
【００７０】
［ステップＳ１１４］操作手順抽出部１２０は、操作名の並びにおける実施順序の最初に操作名「Start」を追加する。
［ステップＳ１１５］操作手順抽出部１２０は、操作名の並びにおける実施順序の最後に操作名「End」を追加する。
【００７１】
［ステップＳ１１６］操作手順抽出部１２０は、選択した手順書ＩＤ、実施順序、および操作名を、操作手順情報３０に記録する。
［ステップＳ１１７］操作手順抽出部１２０は、記憶部１１０に格納されている作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・のすべての手順書ＩＤを選択したか否かを判断する。すべての手順書ＩＤが選択済みの場合、操作手順抽出処理が終了する。未選択の手順書ＩＤがあれば、処理がステップＳ１１１に進められる。
【００７２】
このようにして、操作手順情報３０が生成される。
図９は、操作手順情報の一例を示す図である。操作手順情報３０には、手順書ＩＤ、実施順序、および操作名の欄が設けられている。手順書ＩＤの欄には、操作名の抽出元となった作業手順書の手順書ＩＤが設定される。実施順序の欄には、操作名の抽出元となった作業手順書内での、操作名に対応する操作を実施する順番が設定される。操作名の欄には、作業手順書から抽出した操作名、または操作手順の開始・終了を示す操作名「Start」・「End」が設定される。
【００７３】
なお実施順序の「１」は操作名「Start」に割り当てられ、作業手順書から抽出した操作名には、実施順序「２」以降の値が割り当てられる。同一の作業手順書に対応する操作名のうち、実施順序が最後となるのは、操作名「End」である。
【００７４】
次に、操作相違箇所検出処理（ステップＳ１０２）について詳細に説明する。
図１０は、操作相違箇所検出例を示す図である。操作相違箇所検出部１３０は、２つの操作手順３１，３２を重ね合わせたときに、枝分かれする箇所から再び合流する箇所までの範囲を、操作相違箇所として検出する。例えば操作手順３１と操作手順３２とを比較した場合、操作名「インポート終了を確認」が同じである。そうすると、操作手順３１，３２の最初の操作から枝分かれし、操作名「インポート終了を確認」で合流し、その後、再度枝分かれすることが分かる。この場合、操作相違箇所検出部１３０は、操作名「Start」の次から操作名「インポート終了を確認」の前までの操作を、操作相違箇所４１とする。また操作相違箇所検出部１３０は、操作名「インポート終了を確認」の次から操作名「End」の前までの操作を、操作相違箇所４２とする。
【００７５】
図１１は、操作相違箇所検出処理の詳細を示すフローチャートである。
［ステップＳ１２１］操作相違箇所検出部１３０は、記憶部１１０に格納されている作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・のうちの、未処理の作業手順書の手順書ＩＤを１つ選択する。そして操作相違箇所検出部１３０は、選択した手順書ＩＤに対応する作業手順書を「手順書Ａ」とする。
【００７６】
［ステップＳ１２２］操作相違箇所検出部１３０は、記憶部１１０に格納されている作業手順書１１２ａ，１１２ｂ，１１２ｃ，・・・のうちの、手順書Ａと比較していない他の作業手順書の手順書ＩＤを１つ選択する。そして操作相違箇所検出部１３０は、選択した手順書ＩＤに対応する作業手順書を「手順書Ｂ」とする。
【００７７】
［ステップＳ１２３］操作相違箇所検出部１３０は、操作手順情報３０から、手順書Ａおよび手順書Ｂの操作手順を読み込む。読み込まれる操作手順は、実施順序が付与された操作名の配列である。
【００７８】
［ステップＳ１２４］操作相違箇所検出部１３０は、手順書Ａと手順書Ｂとの操作手順が、完全に一致するか否かを判断する。完全に一致した場合、処理がステップＳ１２６に進められる。少なくとも一部に一致しない操作名がある場合、処理がステップＳ１２５に進められる。
【００７９】
［ステップＳ１２５］操作相違箇所検出部１３０は、２つの操作手順を重ね合わせたときに、手順が分岐する位置と合流する位置とを検出する、分岐・合流検出処理を行う。分岐・合流検出処理の詳細は後述する（図１２参照）。
【００８０】
［ステップＳ１２６］操作相違箇所検出部１３０は、手順書Ａと他のすべての手順書との比較が完了したか否かを判断する。手順書Ａと他のすべての手順書との比較が完了していれば、処理がステップＳ１２７に進められる。手順書Ａと比較していない他の手順書があれば、処理がステップＳ１２２に進められる。
【００８１】
［ステップＳ１２７］操作相違箇所検出部１３０は、手順書のすべての組み合わせに対して比較が完了したか否かを判断する。すべての手順書の組み合わせの比較が完了した場合、操作相違箇所検出処理が終了する。比較していない組み合わせがあれば、処理がステップＳ１２１に進められる。
【００８２】
図１２は、分岐・合流検出処理の詳細を示すフローチャートである。
［ステップＳ１３１］操作相違箇所検出部１３０は、手順書Ａの選択中の実施順序を示す変数ｉに１を設定する。また操作相違箇所検出部１３０は、手順書Ｂの選択中の実施順序を示す変数ｊに１を設定する。
【００８３】
［ステップＳ１３２］操作相違箇所検出部１３０は、手順書Ａと手順書Ｂとのそれぞれにおける、選択中の実施順序の操作名が一致するか否かを判断する。操作名が一致する場合、処理がステップＳ１３３に進められる。操作名が一致しない場合、分岐箇所と判断され、処理がステップＳ１３５に進められる。
【００８４】
［ステップＳ１３３］操作相違箇所検出部１３０は、変数ｉの値に１を加算すると共に、変数ｊの値に１を加算する。これにより、手順書Ａと手順書Ｂとの選択中の実施順序が、次の実施順序に進められる。
【００８５】
［ステップＳ１３４］操作相違箇所検出部１３０は、手順書Ａの選択中の実施順序の操作名が「End」か否かを判断する。操作名が「End」であれば、分岐・合流検出処理が終了する。操作名が「End」でなければ、処理がステップＳ１３２に進められる。
【００８６】
［ステップＳ１３５］操作相違箇所検出部１３０は、分岐箇所になると、操作相違箇所の識別番号（操作相違箇所ＩＤ）に対応付けて、手順書Ａと手順書Ｂとの手順書ＩＤとを、操作相違箇所情報４０に書き込む。
【００８７】
［ステップＳ１３６］操作相違箇所検出部１３０は、手順書Ａの選択中の実施順序の１つ前の実施順序（ｉ−１）の操作名を、操作箇所前操作として、操作相違箇所情報４０に書き込む。
【００８８】
［ステップＳ１３７］操作相違箇所検出部１３０は、分岐直後の手順書Ｂの実施順序を示す変数ｊ0に、手順書Ｂの選択中の実施順序ｊの値を設定する。
［ステップＳ１３８］操作相違箇所検出部１３０は、手順書Ａの選択中の実施順序を示す変数ｉの値に１を加算する。これにより、手順書Ａの選択中の実施順序が、次の実施順序に進められる。
【００８９】
［ステップＳ１３９］操作相違箇所検出部１３０は、実施順序ｉの操作名が「End」か否かを判断する。操作名が「End」であれば、処理がステップＳ１４０に進められる。操作名が「End」でなければ、処理がステップＳ１４１に進められる。
【００９０】
［ステップＳ１４０］操作相違箇所検出部１３０は、相違箇所後操作として「End」を、操作相違箇所情報４０に書き込む。その後、分岐・合流検出処理が終了する。
［ステップＳ１４１］操作相違箇所検出部１３０は、手順書Ｂの選択中の実施順序を示す変数ｊの値に１を加算する。これにより、手順書Ｂの選択中の実施順序が、次の実施順序に進められる。
【００９１】
［ステップＳ１４２］操作相違箇所検出部１３０は、手順書Ａと手順書Ｂとのそれぞれにおける、選択中の実施順序の操作名が一致するか否かを判断する。操作名が一致する場合、合流箇所と判断され、処理がステップＳ１４５に進められる。操作名が一致しない場合、処理がステップＳ１４３に進められる。
【００９２】
［ステップＳ１４３］操作相違箇所検出部１３０は、実施順序ｊの操作名が「End」か否かを判断する。操作名が「End」であれば、処理がステップＳ１４４に進められる。操作名が「End」でなければ、処理がステップＳ１４１に進められる。
【００９３】
［ステップＳ１４４］操作相違箇所検出部１３０は、手順書Ｂの選択中の実施順序ｊに、変数ｊ0の値を設定する。これにより、手順書Ｂの選択中の実施順序が、分岐直後の実施順序に戻される。その後、処理がステップＳ１３８に進められる。
【００９４】
［ステップＳ１４５］操作相違箇所検出部１３０は、手順書Ａの選択中の実施順序の１つ前の実施順序（ｉ−１）の操作名を、操作箇所後操作として、操作相違箇所情報４０に書き込む。
【００９５】
［ステップＳ１４６］操作相違箇所検出部１３０は、変数ｉの値に１を加算すると共に、変数ｊの値に１を加算する。これにより、手順書Ａと手順書Ｂとの選択中の実施順序が、次の実施順序に進められる。その後、処理がステップＳ１３２に進められる。
【００９６】
このようにして、操作相違箇所が検出され、操作相違箇所情報４０が作成される。
図１３は、操作相違箇所情報の一例を示す図である。操作相違箇所情報４０には、操作相違箇所ＩＤ、手順書ＩＤ、相違箇所前操作、および相違箇所後操作の欄が設けられている。操作相違箇所ＩＤの欄には、操作相違箇所の識別情報（操作相違箇所ＩＤ）が設定される。手順書ＩＤの欄には、操作相違箇所の抽出元となった作業手順書の手順書ＩＤが設定される。相違箇所前操作の欄には、相違箇所の直前の操作名が設定される。相違箇所後操作の欄には、相違箇所の直後の操作名が設定される。
【００９７】
次に、差分操作手順抽出処理（ステップＳ１０３）と差分操作量算出処理（ステップＳ１０４）とについて詳細に説明する。
図１４は、差分操作手順抽出および差分操作量算出の一例を示す図である。図１４には、作業手順書１１２ａを「手順書Ａ」、作業手順書１１２ｂを「手順書Ｂ」としたときの、差分操作量の算出例が示されている。
【００９８】
操作相違箇所４１には、手順書Ａの２つの操作と、手順書Ｂの２つの操作とが含まれている。この場合、両方の操作の数が同じであるため、操作相違箇所４１内の同じ順番の操作同士が対応付けて抽出される。このとき、操作名の記載が、目的語と動詞とに分けられる。また抽出元の作業手順書１１２ａ，１１２ｂにおける実施順序に従って、操作相違箇所４１から抽出された各操作の早い順に、操作順序が設定される。
【００９９】
操作相違箇所４２には、手順書Ａの１つの操作と、手順書Ｂの２つの操作とが含まれている。このように両方の操作の数が異なる場合、動詞が一致する操作があれば、それらの操作が対応付けられる。例えば作業手順書１１２ａから抽出された操作「ウィンドウを閉じる」と、作業手順書１１２ｂから抽出された操作「ツールを閉じる」とは、動詞が一致する。そこで、これらの操作が対応付けて抽出される。
【０１００】
このように、操作相違箇所４１，４２から、比較された作業手順書それぞれの操作が対応付けて抽出される。以下、対応する操作の組を、「操作対」と呼ぶこととする。操作対が抽出されると、操作対の各操作の目的語と動詞とに基づいて、操作対に対する差分操作量が算出される。
【０１０１】
操作対の各操作の操作名に含まれる動詞が異なっていれば、それらの動詞の操作量定義値のうちの大きい方の値が、差分操作量となる。例えば「作業用ファイル（目的語）、編集（動詞）」と「インポートツール（目的語）、起動（動詞）」とを比較すると、編集の操作量定義値が「１．０」、「起動」の操作量定義値が「０．３」である。そこで、大きい方の値である「１．０」が、差分操作量となる。
【０１０２】
操作対の各操作の操作名に含まれる動詞が同じで目的語が異なる場合、その動詞の操作量定義値に対して、１未満の所定の係数を乗算した値が差分操作量となる。例えば「ウィンドウ（目的語）、閉じる（動詞）」と「ツール（目的語）、閉じる（動詞）」とを比較すると動詞が同じであるが、目的語が異なる。そこで「閉じる」の操作量定義値「０．３」に所定の係数（例えば「０．５」）を乗算した値「０．１５」が、差分操作量となる。
【０１０３】
操作の対応付けができずに余った操作に対しては、その操作に含まれる動詞の操作量定義値が、差分操作量となる。例えば手順書Ｂから抽出された操作「終了（目的語）、クリック（動詞）」には、手順書Ａ側に対応する操作がない。そこで、「クリック」の差分量定義値「０．３」が、差分操作量となる。
【０１０４】
各操作対について計算された差分操作量は、操作相違箇所４１，４２ごとに合計される。合計した結果が、対応する操作相違箇所の差分操作量となる。
なお図１４の例では、２つの手順書を比較しているが、３つ以上の手順書を比較することも可能である。操作相違箇所にかかる手順書が３つ以上の場合は、任意の２つの手順書で比較して得られる差分操作量の最大値を、その操作相違箇所の差分操作量とすればよい。
【０１０５】
図１５は、差分操作手順抽出処理の一例を示す図である。
［ステップＳ１５１］差分操作手順抽出部１４０は、操作相違箇所情報４０に記録されている操作相違箇所ＩＤを１つ選択する。
【０１０６】
［ステップＳ１５２］差分操作手順抽出部１４０は、操作相違箇所ＩＤに対応する２つの手順書ＩＤを、操作相違箇所情報４０から読み込む。
［ステップＳ１５３］差分操作手順抽出部１４０は、相違箇所前操作と相違箇所後操作とを、操作相違箇所情報４０から読み込む。
【０１０７】
［ステップＳ１５４］差分操作手順抽出部１４０は、読み込まれた２つの手順書ＩＤそれぞれの、相違箇所前操作と相違箇所後操作との間の操作の操作名を、操作手順情報３０から読み込む。
【０１０８】
［ステップＳ１５５］差分操作手順抽出部１４０は、読み込まれた２つの手順書ＩＤで示される手順書のうち、一方を「手順書Ａ」、他方を「手順書Ｂ」とする。例えば差分操作手順抽出部１４０は、手順書ＩＤの値が小さい方の手順書を「手順書Ａ」、手順書ＩＤの値が大きい方の手順書を「手順書Ｂ」とする。
【０１０９】
［ステップＳ１５６］差分操作手順抽出部１４０は、操作相違箇所内の操作の抽出処理を行う。この処理の詳細は後述する（図１６参照）。
［ステップＳ１５７］差分操作手順抽出部１４０は、すべての操作相違箇所について処理が完了したか否かを判断する。すべての操作相違箇所で処理が完了したら、差分操作手順抽出処理が終了する。未処理の操作相違箇所があれば、処理がステップＳ１５１に進められる。
【０１１０】
図１６は、操作抽出処理の手順を示すフローチャートである。
［ステップＳ１６１］差分操作手順抽出部１４０は、手順書Ａと手順書Ｂとの操作名の数が等しいか否かを判断する。例えば差分操作手順抽出部１４０は、ステップＳ１５４で読み出した操作名の数を手順書ＩＤ別に計数し、比較する。数が等しければ、処理がステップＳ１６２に進められる。数が等しくなければ、処理がステップＳ１６３に進められる。
【０１１１】
［ステップＳ１６２］差分操作手順抽出部１４０は、手順書Ａおよび手順書Ｂから取得した操作名を目的語と動詞に分割し、実施順序で差分操作手順情報５１に書き込む。このとき差分操作手順抽出部１４０は、書き込んだ操作名（目的語と動詞の組）に対して、操作相違箇所内での操作順序を示す値を設定する。その後、操作抽出処理が終了する。
【０１１２】
［ステップＳ１６３］差分操作手順抽出部１４０は、操作名の数が多い方の手順書について、操作名を目的語と動詞に分割し、実施順序で差分操作手順情報５１に書き込む。このとき差分操作手順抽出部１４０は、書き込んだ操作名（目的語と動詞の組）に対して、操作相違箇所内での操作順序を示す値を設定する。
【０１１３】
［ステップＳ１６４］差分操作手順抽出部１４０は、操作名の数が少ない方の手順書について、操作名を目的語と動詞に分割する。
［ステップＳ１６５］差分操作手順抽出部１４０は、手順書Ａの操作名から抽出した動詞と手順書Ｂの操作名から抽出した動詞とを比較し、動詞が一致する操作名があるか否かを判断する。動詞が一致する操作名があれば、処理がステップＳ１６６に進められる。動詞が一致する操作名がなければ、処理がステップＳ１６７に進められる。
【０１１４】
［ステップＳ１６６］差分操作手順抽出部１４０は、操作名が少ない方の手順書について、動詞が一致した操作の操作順序が同じとなるように、操作名（目的語と動詞との組）を差分操作手順情報５１に書き込む。その後、操作抽出処理が終了する。
【０１１５】
［ステップＳ１６７］差分操作手順抽出部１４０は、操作名が少ない方の手順書について、操作名（目的語と動詞との組）を、操作順序の１から順に差分操作手順情報５１に書き込む。その後、操作抽出処理が終了する。
【０１１６】
このようにして、複数の手順書の操作相違箇所から操作が抽出され、操作順序で並べられる。そして同じ操作順序となる操作対が比較され、操作対に対する差分操作量が算出される。
【０１１７】
図１７は、差分操作量算出処理の手順を示すフローチャートである。
［ステップＳ１７１］差分操作量算出部１５０は、操作相違箇所情報４０に記録された操作相違箇所ＩＤを１つ選択する。
【０１１８】
［ステップＳ１７２］差分操作量算出部１５０は、操作順序を１つ選択する。
［ステップＳ１７３］差分操作量算出部１５０は、選択した操作順序に、手順書Ａまたは手順書Ｂのいずれか一方の操作が存在しないかどうかを判断する。一方の手順書の操作が存在しない場合、処理がステップＳ１７４に進められる。両方の手順書の操作が存在する場合、処理がステップＳ１７７に進められる。
【０１１９】
［ステップＳ１７４］差分操作量算出部１５０は、存在する操作の操作名に含まれる動詞を、操作相違箇所情報４０から取得する。
［ステップＳ１７５］差分操作量算出部１５０は、取得した動詞に対応する操作量定義値を、操作量定義情報１１１から取得する。
【０１２０】
［ステップＳ１７６］差分操作量算出部１５０は、取得した差分操作量を、選択した操作順序に対応する操作対の差分操作量として、差分操作手順情報５１に書き込む。その後、処理がステップＳ１８３に進められる。
【０１２１】
［ステップＳ１７７］差分操作量算出部１５０は、手順書Ａと手順書Ｂとの動詞を、操作相違箇所情報４０から取得する。
［ステップＳ１７８］差分操作量算出部１５０は、取得した２つの動詞が一致するか否かを判断する。一致する場合、処理がステップＳ１８１に進められる。一致しない場合、処理がステップＳ１７９に進められる。
【０１２２】
［ステップＳ１７９］差分操作量算出部１５０は、取得した２つの動詞それぞれの操作量定義値を、操作量定義情報１１１から取得する。
［ステップＳ１８０］差分操作量算出部１５０は、取得した操作量定義値のうちの大きい方の値を、選択した操作順序に対応する操作対の差分操作量として、差分操作手順情報５１に書き込む。その後、処理がステップＳ１８３に進められる。
【０１２３】
［ステップＳ１８１］差分操作量算出部１５０は、一致した動詞の操作量定義値を、操作量定義情報１１１から取得する。
［ステップＳ１８２］差分操作量算出部１５０は、取得した操作量定義値に一定値（例えば０．５）を掛けた値を、選択した操作順序に対応する操作対の差分操作量として、差分操作手順情報５１に書き込む。
【０１２４】
［ステップＳ１８３］差分操作量算出部１５０は、選択したすべての操作相違箇所ＩＤに対応するすべての操作順序について、処理が完了したか否かを判断する。すべての操作順序で処理が完了していれば、処理がステップＳ１８４に進められる。未処理の操作順序があれば、処理がステップＳ１７２に進められる。
【０１２５】
［ステップＳ１８４］差分操作量算出部１５０は、すべての操作相違箇所ＩＤについて処理が完了したか否かを判断する。すべての操作相違箇所ＩＤについて処理が完了していれば、差分操作量算出処理が終了する。未処理の操作相違箇所ＩＤがあれば、処理がステップＳ１７１に進められる。
【０１２６】
このようにして、操作相違箇所から抽出された操作に基づいて算出した差分操作量が、差分操作手順情報５１に設定される。
図１８は、差分操作手順情報の一例を示す図である。差分操作手順情報５１には、操作相違箇所ＩＤ、操作順序、手順書Ａ目的語、手順書Ａ動詞、手順書Ｂ目的語、手順書Ｂ動詞、および差分操作量の欄が設けられている。
【０１２７】
操作相違箇所ＩＤの欄には、差分操作手順の抽出を行った操作相違箇所の操作相違箇所ＩＤが設定される。操作順序の欄には、操作相違箇所内での操作の順番が設定される。手順書Ａ目的語の欄には、手順書Ａの操作名から抽出された目的語が設定される。手順書Ａ動詞の欄には、手順書Ａの操作名から抽出された動詞が設定される。手順書Ｂ目的語の欄には、手順書Ｂの操作名から抽出された目的語が設定される。手順書Ｂ動詞の欄には、手順書Ｂの操作名から抽出された動詞が設定される。差分操作量の欄には、操作順序に対応する操作対に関する差分操作量が設定される。
【０１２８】
差分操作量が求まると、手順分岐判定部１６０により手順分岐判定処理が行われる。
図１９は、手順分岐判定の一例を示す図である。手順分岐判定部１６０は、操作相違箇所ごとに、差分操作量を評価し、１操作あたりの差分操作量が一定値より小さい操作相違箇所は手順分岐箇所からは除外するように手順分岐箇所を修正する。
【０１２９】
例えば操作相違箇所４１の合計の差分操作量は「２．０」である。操作相違箇所４１には各手順書の２つずつの操作が含まれているため、１操作当たりの差分操作量は「１．０」である。分岐箇所とするかどうかの閾値を「０．５」とすると、操作相違箇所４１の１操作当たりの差分操作量は閾値より大きい。この場合、操作相違箇所４１は、２つの作業手順書を１つに纏めた場合に条件分岐させる、手順分岐箇所と判断される。
【０１３０】
操作相違箇所４２の合計の差分操作量は「０．４５」である。操作相違箇所４２には、一方の手順書の１つの操作と他方の手順書の２つの操作が含まれている。この場合、数が多い方の手順の数で差分操作量を除算した値「０．２２５」が、１操作当たりの差分操作量となる。操作相違箇所４２の１操作当たりの差分操作量は、閾値「０．５」より小さい。この場合、操作相違箇所４２は、２つの作業手順書を１つに纏めた場合に条件分岐させない、手順非分岐箇所と判断される。手順非分岐箇所は、例えば２つの作業手順書を１つに纏めるとき、条件分岐をさせずに、いずれか一方の作業手順書の操作を適用すればよい。
【０１３１】
手順分岐判定部１６０は、手順分岐箇所６１や手順分岐箇所数を出力する。図１９の例では、手順分岐箇所数は「１」である。
図２０は、手順分岐判定処理の手順の一例を示すフローチャートである。
【０１３２】
［ステップＳ１９１］手順分岐判定部１６０は、差分操作手順情報５１から、操作相違箇所ＩＤを１つ選択する。
［ステップＳ１９２］手順分岐判定部１６０は、選択した操作相違箇所ＩＤに対応するすべての操作順序の操作対ごとの差分操作量を読み込み、合計値を計算する。
【０１３３】
［ステップＳ１９３］手順分岐判定部１６０は、選択した操作相違箇所ＩＤの差分操作量の合計値を、その操作相違箇所ＩＤに対応する操作順序の最大値で割った値を、１操作当たりの差分操作量とする。
【０１３４】
［ステップＳ１９４］手順分岐判定部１６０は、１操作当たりの差分操作量が、閾値以下か否かを判断する。閾値以下であれば、処理がステップＳ１９５に進められる。閾値以下でなければ、処理がステップＳ１９６に進められる。
【０１３５】
［ステップＳ１９５］手順分岐判定部１６０は、選択した操作相違箇所ＩＤに対応する操作相違箇所を、手順分岐対象から除外する。
［ステップＳ１９６］手順分岐判定部１６０は、すべての操作相違箇所ＩＤについて処理が完了したか否かを判断する。完了していれば、処理がステップＳ１９７に進められる。未処理の操作相違箇所ＩＤがあれば、処理がステップＳ１９１に進められる。
【０１３６】
［ステップＳ１９７］手順分岐判定部１６０は、除外されなかった操作相違箇所を、手順分岐箇所として出力する。
［ステップＳ１９８］手順分岐判定部１６０は、手順分岐箇所の数をカウントし、手順分岐箇所数として出力する。
【０１３７】
このようにして、同様の作業手順書を１つに纏めるときの分岐箇所数が算出される。手順分岐判定部１６０は、作業手順書を纏めたときの操作数を出力することもできる。
図２１は、分岐箇所判定結果の出力例を示す図である。例えば手順分岐判定部１６０は、作業名に対応付けて、統合される作業手順書の手順書ＩＤ、統合後の作業手順に含まれる操作数、および統合後の作業手順に含まれる手順分岐箇所数を出力する。
【０１３８】
以上説明したように、第２の実施の形態では、手順書の解析により操作記述の異なる箇所に対して、その箇所に含まれる目的語や動詞の差異などに基づいて差分操作量を算出し、その値が小さい箇所を手順分岐箇所から除外することとした。これにより、手順内容が実施的に異なる箇所のみを手順分岐箇所として判定することができ、手順分岐箇所の数を正確に算出可能となる。分岐箇所数が分かれば、例えば作業手順書に沿った操作を自動で実行させるプログラムを作成する際の工数を、正確に求めることができる。
【０１３９】
なお第２の実施の形態では、１操作当たりの差分操作量が閾値以下の場合、分岐させないものとしたが、１操作当たりの差分操作量は小さくても、相違する操作が長く続く場合には、分岐させたほうがよい場合もあり得る。そこで、操作相違箇所の差分操作量（合計値）と閾値を比較して、分岐させるか否かを判断してもよい。また１操作当たりの差分操作量を第１の閾値と比較すると共に、操作相違箇所の差分操作量（合計値）を第２の閾値を比較し、いずれか一方で閾値以上となったときに分岐させるものと判断してもよい。
【０１４０】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１４１】
１  第１手順情報
２  第２手順情報
３  差分換算値情報
４，５  処理手順
６，７  相違箇所
６ａ，７ａ  第１処理項目群
６ｂ，７ｂ  第２処理項目群
１０  共通化情報提供装置
１１  記憶部
１２  演算部
【図１】
0006447111.tif 000002
【図２】
0006447111.tif 000003
【図３】
0006447111.tif 000004
【図４】
0006447111.tif 000005
【図５】
0006447111.tif 000006
【図６】
0006447111.tif 000007
【図７】
0006447111.tif 000008
【図８】
0006447111.tif 000009
【図９】
0006447111.tif 000010
【図１０】
0006447111.tif 000011
【図１１】
0006447111.tif 000012
【図１２】
0006447111.tif 000013
【図１３】
0006447111.tif 000014
【図１４】
0006447111.tif 000015
【図１５】
0006447111.tif 000016
【図１６】
0006447111.tif 000017
【図１７】
0006447111.tif 000018
【図１８】
0006447111.tif 000019
【図１９】
0006447111.tif 000020
【図２０】
0006447111.tif 000021
【図２１】
0006447111.tif 000022