(57)【特許請求の範囲】
【請求項１】
コンピュータに、
記憶部から、複数の操作に関する情報が該操作の実行順に記された複数の手順情報を取得し、２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組と、前記手順情報の間で共通しない１又は連続した２以上の操作の組とを第１操作列として生成し、
生成した前記第１操作列に対するクラスタリングを行い、各クラスタにおける操作毎の出現頻度を該操作の省略可能性として評価し、
前記複数の手順情報から、省略可能な操作を省略した場合の共通性に基づいて、２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組を第２操作列として生成する
処理を実行させる、共通操作情報生成プログラム。
【請求項２】
前記コンピュータに、
前記出現頻度が大きいほど値が大きくなる評価値を計算し、
設定された閾値よりも前記評価値が小さくなる前記操作を特定し、
特定した前記操作に関する情報を除いた前記複数の手順情報から前記第２操作列を生成する
処理を実行させる、請求項１に記載の共通操作情報生成プログラム。
【請求項３】
前記コンピュータに、
前記出現頻度が大きいほど値が大きくなる評価値を計算し、
前記複数の手順情報から選択した２つの前記手順情報の間で一致する前記操作を特定し、特定した前記操作の連続性を前記評価値を用いて調整し、調整した前記操作の連続性に基づいて前記手順情報の間で共通する１又は連続した２以上の操作の組を抽出する
処理を実行させる、請求項１に記載の共通操作情報生成プログラム。
【請求項４】
前記評価値は、１つの前記クラスタに含まれる前記第１操作列の数と、該評価値に対応する前記操作が該クラスタに出現した数との比である
請求項２又は３に記載の共通操作情報生成プログラム。
【請求項５】
コンピュータが、
記憶部から、複数の操作に関する情報が該操作の実行順に記された複数の手順情報を取得し、２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組と、前記手順情報の間で共通しない１又は連続した２以上の操作の組とを第１操作列として生成し、
生成した前記第１操作列に対するクラスタリングを行い、各クラスタにおける操作毎の出現頻度を該操作の省略可能性として評価し、
前記複数の手順情報から、省略可能な操作を省略した場合の共通性に基づいて、２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組を第２操作列として生成する
共通操作情報生成方法。
【請求項６】
記憶部から、複数の操作に関する情報が該操作の実行順に記された複数の手順情報を取得し、
２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組と、前記手順情報の間で共通しない１又は連続した２以上の操作の組とを第１操作列として生成し、
生成した前記第１操作列に対するクラスタリングを行い、各クラスタにおける操作毎の出現頻度を該操作の省略可能性として評価し、
前記複数の手順情報から、省略可能な操作を省略した場合の共通性に基づいて、２以上の前記手順情報の間で共通する１又は連続した２以上の操作の組を第２操作列として生成する演算部を有する、
共通操作情報生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通操作情報生成プログラム、共通操作情報生成方法、及び共通操作情報生成装置に関する。
【背景技術】
【０００２】
近年、人間が手作業で行っていた様々な作業がコンピュータなどを利用して自動化され、人間の作業負担が低減されると共に作業効率が飛躍的に向上した。例えば、半導体装置や自動車などの製造現場では、多くの作業工程がロボットやコンピュータなどを利用して自動化されている。また、コンピュータ上で動作するアプリケーションプログラムは、ユーザが行う多くの操作工程を自動的に実行する機能を有している。例えば、無線ネットワークへの接続やディスプレイデバイスの認識などの処理は、コンピュータ上で動作するオペレーティングシステムなどのプログラムにより自動的に実行される。
【０００３】
一連の操作工程を記載した手順書が存在する場合、手順書に含まれる操作工程を、コンピュータなどを用いて自動化すれば操作工程の自動化が実現される。また、類似の操作に関する複数の手順書が存在する場合、複数の手順書に共通の操作工程を自動化すれば、自動化した操作工程の運用管理が効率化される可能性がある。例えば、手順書に記載の操作工程を記号で表現し、複数の手順書に共通する記号の組をコンピュータにより抽出できれば、好適な自動化対象を容易に選択できるようになる可能性がある。
【０００４】
なお、文書の分類管理に関する次のような方法が提案されている。この方法では、Ｎ個の文書から抽出されたＭ個の文書パラメタを要素とするＭ次元の文書パラメタベクトルを得て、該文書パラメタベクトルの成分の出現頻度に基づく重みを計算する処理が行われる。また、この方法では、文書毎の文書パラメタベクトルを定め、該文書パラメタベクトル間の類似度により文書を分類体系の文書クラスに分類する処理が行われる。
【０００５】
また、文書間の類似度計算に関する次のような方法が提案されている。この方法では、類似度を計算したい２組の文書及びその概要の組を入力し、該２組の文書及び概要の形態素解析を行い、不要単語テーブルを参照して形態素解析された該２組の文書及び概要から不要単語を取り除く処理が行われる。また、この処理の後、２つの文書の類似度を、それぞれの概要に含まれる単語に重み付けして、それぞれの文書に含まれる単語に基づいて計算する処理が行われる。
【０００６】
また、２つの配列の中から類似する部分配列のペアを１つ検出する、Smith-Waterman法（以下、ＳＷ法）と呼ばれるアルゴリズムがある。ＳＷ法を応用すれば、例えば、操作工程を記号で表現した２つの手順書から、共通する最長の記号列を抽出することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−１１６２９０号公報
【特許文献２】特開平１１−１３４３５９号公報
【非特許文献】
【０００８】
【非特許文献１】Smith, Temple F.; and Waterman, Michael S. (1981). "Identification of Common Molecular Subsequences". Journal of Molecular Biology 147: 195-197.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
目的を同じくする一連の操作工程を記載した手順書であっても、違う人が作成すれば手順書毎に記載内容に違いが生じうる。例えば、ある人は一部の操作工程を省略するが、他の人は該操作工程を省略しないなどの違いが生じうる。この場合、手順書の一部記載が省略されていても、人間は、経験や知識などから省略内容を容易に推測でき、省略の有無が異なる連続した操作工程を実質的に同じものと判断しうる。逆にいえば、人間が推測できるような操作工程が省略されうる。
【００１０】
文書の分類管理に関する上記の提案方法、文書間の類似度計算に関する上記の提案方法、及びＳＷ法は、文書や配列の違いをある程度許容して類似する文書や配列を求めている。しかし、これらの方法では、省略してもよい単語や記号であるかを判断していないため、単語や記号の並びという点では外形的に類似した単語列や記号列が得られるものの、その単語列や記号列の内容に関する実質的な同一性については考慮されていない。
【００１１】
例えば、操作工程を記号で表現し、手順書から一連の操作工程を表す記号列（以下、操作列）を生成して上記の提案方法やＳＷ法を応用し、手順書間で共通する操作列の組（以下、共通操作列）を生成しようとしても、うまく操作列が共通化されない。つまり、省略を含む操作列と、省略を含まない操作列とがあまり共通化されず、実質的に同じ操作列の組の多くが共通操作列と判断されないリスクがある。
【００１２】
そこで、１つの側面によれば、本発明の目的は、操作列間の実質的な共通性に基づく共通操作列の生成が可能な共通操作情報生成プログラム、共通操作情報生成方法、及び共通操作情報生成装置を提供することにある。
【課題を解決するための手段】
【００１３】
本開示の１つの側面によれば、記憶部から、複数の操作に関する情報が該操作の実行順に記された複数の手順情報を取得し、２以上の手順情報の間で共通する１又は連続した２以上の操作の組と、手順情報の間で共通しない１又は連続した２以上の操作の組とを第１操作列として生成し、生成した第１操作列に対するクラスタリングを行い、各クラスタにおける操作毎の出現頻度を該操作の省略可能性として評価し、複数の手順情報から、省略可能な操作を省略した場合の共通性に基づいて、２以上の手順情報の間で共通する１又は連続した２以上の操作の組を第２操作列として生成する演算部を有する、共通操作情報生成装置が提供される。
【発明の効果】
【００１４】
本発明によれば、操作列間の実質的な共通性に基づく共通操作列の生成が可能になる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る共通操作情報生成装置の一例を示した図である。
【図２】第２実施形態に係る共通操作列の特定方法について説明するための第１の図である。
【図３】第２実施形態に係る共通操作列の特定方法について説明するための第２の図である。
【図４】第２実施形態に係る共通操作列の特定方法について説明するための第３の図である。
【図５】第２実施形態に係る共通操作列の特定方法について説明するための第４の図である。
【図６】第２実施形態に係る共通操作列の特定方法について説明するための第５の図である。
【図７】第２実施形態に係る省略可能性を考慮した共通操作列の特定方法について説明するための図である。
【図８】第２実施形態に係る共通操作列の特定方法を実現する情報処理装置のハードウェアの一例を示した図である。
【図９】第２実施形態に係る情報処理装置の機能の一例を示した図である。
【図１０】第２実施形態に係る操作列の分割方法（操作列の分割）の一例を示した図である。
【図１１】第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第１の図である。
【図１２】第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第２の図である。
【図１３】第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第３の図である。
【図１４】第２実施形態に係るポイント計算方法の一例を示した図である。
【図１５】第２実施形態に係る操作列の分割方法（ポイントを考慮したＳＷ法）の一例を示した図である。
【図１６】第２実施形態に係る操作列の分割方法（ポイントを考慮した操作列の延長）の一例を示した図である。
【図１７】第２実施形態に係る操作列の分割処理の流れを示したフロー図である。
【図１８】第２実施形態に係る操作列の延長処理の流れを示した第１のフロー図である。
【図１９】第２実施形態に係る操作列の延長処理の流れを示した第２のフロー図である。
【図２０】第２実施形態に係る操作列の延長処理の流れを示した第３のフロー図である。
【図２１】第２実施形態に係る操作列の延長処理の流れを示した第４のフロー図である。
【図２２】第２実施形態に係るポイント計算処理の流れを示した第１のフロー図である。
【図２３】第２実施形態に係るポイント計算処理の流れを示した第２のフロー図である。
【図２４】第２実施形態に係る操作列の特定処理の流れを示したフロー図である。
【図２５】第２実施形態の一変形例に係る操作列の特定処理の流れを示したフロー図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１７】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る共通操作情報生成装置の一例を示した図である。図１に示した共通操作情報生成装置１０は、第１実施形態に係る共通操作情報生成装置の一例である。
【００１８】
図１に示すように、共通操作情報生成装置１０は、記憶部１１及び演算部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１９】
記憶部１１は、複数の操作に関する情報が該操作の実行順に記された手順情報２１、２２、２３を記憶する。記号Ａ、Ｂ、…、Ｉは、それぞれ１つの操作を表す「操作に関する情報」の一例である。この例では操作をアルファベットで表現しているが、文字や数字などのコンピュータが認識可能な任意の記号を利用することができる。
【００２０】
以下では、記号Ａで表される操作を操作Ａと表記する。操作Ｂ、…、Ｉについても同様である。また、連続する複数の操作を「操作列」と称し、例えば、連続する操作Ａ、Ｂを操作列ＡＢと表記する。
【００２１】
操作Ａ、Ｂ、…、Ｉは、例えば、コンピュータへのログイン操作やアプリケーションプログラムの起動操作など、コンピュータに対してユーザが行う任意の操作である。図１（＃１）に示すように、手順情報２１には、実行順に操作Ａ、Ｂ、…、Ｉが記されている。つまり、手順情報２１には、操作列ＡＢＣＤＥＦＧＨが記されている。同様に、手順情報２２には操作列ＡＣＥＦＧＩが記され、手順情報２３には操作列ＡＢＣＥＧＨが記されている。
【００２２】
図１（＃２）に示すように、演算部１２は、記憶部１１から手順情報２１、２２、２３を取得し、２以上の手順情報の間で共通する操作の組を第１操作列（この例では３つの操作列ＡＢ、ＣＥ、ＦＧ）として生成する。さらに、演算部１２は、手順情報の間で共通しない操作の組を第１操作列（この例では、６つの操作列Ａ、Ｃ、ＤＥ、ＧＨ、Ｈ、Ｉ）として生成する。
【００２３】
第１操作列を生成する方法としては、例えば、ＳＷ法を利用する方法や、第１操作列それぞれの長さがより長く、手順情報２１、２２、２３それぞれの分割数がより少なくなるように手順情報２１、２２、２３を複数の第１操作列に分割する方法などが適用できる。
【００２４】
第１操作列を生成した演算部１２は、図１（＃３）に示すように、第１操作列に対するクラスタリングを行い、第１操作列をクラスタ３１、３２、…、３６に分類する。そして、演算部１２は、クラスタ３１、３２、…、３６各々における操作毎の出現頻度を該操作の省略可能性として評価する。
【００２５】
例えば、クラスタ３１には３つの操作列ＡＢ、Ａ、ＡＢが含まれる。また、操作列ＡＢ、Ａ、ＡＢにはそれぞれ操作Ａが含まれる。この場合、クラスタ３１における操作Ａの出現頻度は３となる。同様に、操作Ｂの出現頻度は２、操作Ｃの出現頻度は３となる。操作Ｄ、Ｅ、Ｆ、Ｇ、Ｈの出現頻度は図１（＃４）にまとめて示されている。
【００２６】
但し、操作Ｅの出現頻度は、クラスタ３２における出現頻度である。操作Ｅは、２つのクラスタ３２、３６に出現している。この場合、演算部１２は、いずれかのクラスタにおける出現頻度を選択する。例えば、演算部１２は、クラスタ３２、３６それぞれに含まれる操作列の数を比較し、操作列の数が多いクラスタ３２における操作Ｅの出現頻度を選択する。
【００２７】
ところで、類似度に基づいて操作列を分類するクラスタリングの性質から、同じクラスタに含まれる複数の操作列は類似する操作列である。つまり、同じクラスタに含まれる複数の操作列は実質的に同じ内容を示す操作列である可能性が高いと評価できる。
【００２８】
例えば、類似した操作列（同じクラスタに属する操作列）が３つある場合、３つの操作列全てに出現する操作は省略してもよい可能性（省略可能性）が低いと考えられる。一方、１つの操作列にしか出現しない操作は省略可能性が高いと考えられる。この考えによれば、例えば、同じクラスタに含まれる操作のうち、一部の操作列にしか含まれない操作は省略可能性が高いと評価することができる。
【００２９】
演算部１２は、手順情報２１、２２、２３から、省略可能な操作を省略した場合の共通性に基づいて、２以上の手順情報の間で共通する操作の組を第２操作列（この例では操作列Ａ［Ｂ］Ｃ、ＥＦ、ＧＨ）として生成する。［…］は省略可能性が高いと評価された操作を表す。例えば、操作列Ａ［Ｂ］Ｃは、操作列ＡＣと実質的に共通するとみなされる。
【００３０】
第２操作列の生成に際し、演算部１２は、省略可能な操作を省略した場合の共通性を考慮するために次のような方法を用いうる。
１つの方法は、ＳＷ法のように、比較対象にする２つの操作列の各操作の一致及び不一致を評価し、一致する操作の連続性から操作の組を切り出す方法において、省略可能性が高いと評価される操作の部分では連続性があると判断する方法である。他の方法は、省略可能性が高いと評価される操作を手順情報２１、２２、２３から除去し、除去後の手順情報２１、２２、２３を用いて第２操作列を生成する方法である。
【００３１】
いずれの方法を適用しても、クラスタリングによって得られた操作列間の類似度（つまり、実質的な共通性）が、手順情報間で共通する操作列を特定する際に考慮される。そのため、手順情報の作成者により一部の操作が省略されても、省略部分の相違にとらわれて内容的に同じ操作列が手順情報間で非共通の操作列と判断されるリスクを低減することができるようになる。その結果、実質的に同じ操作列を効率的にまとめることができ、操作の自動化に際し管理の効率向上や処理負担の低減に寄与する。
【００３２】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３３】
第２実施形態は、実行順に複数の操作が記述された手順書から、これら複数の操作をコンピュータに自動実行させるための処理フローを生成する技術に関する。以下、実行順が連続する複数の操作を「操作列」と称する。この技術は、２以上の手順書間で共通する操作列（以下、共通操作列）を特定し、各手順書を共通操作列と、共通操作列以外の操作列（以下、非共通操作列）とに分割する方法を提供する。
【００３４】
第２実施形態は、まず、なるべく多くの手順書で各共通操作列が共通化され、かつ、各共通操作列の長さがなるべく長くなるように各共通操作列を特定する方法（Ａ）を提供する。さらに、第２実施形態は、操作列の中に含まれる各操作の省略可能性を評価し、省略可能性を考慮して実質的に共通する操作列同士を共通操作列として特定可能にする方法（Ｂ）を提供する。「実質的に共通する」とは、省略してもよいと評価される操作（省略可能性が高い操作）を省略した場合に同じ操作列となることを意味する。
【００３５】
以下、上記方法（Ａ）及び方法（Ｂ）について説明する。
［２−１．方法（Ａ）：共通操作列の特定方法］
図２〜図６を参照しながら、上記方法（Ａ）に係る共通操作列の特定方法について説明する。また、共通操作列と共に非共通操作列の特定方法についても述べる。
【００３６】
（操作列への変換）
図２は、第２実施形態に係る共通操作列の特定方法について説明するための第１の図である。
【００３７】
手作業で行う操作の流れを記載した手順書は、自然言語で記述されていることが多い。図２の例において、手順書＃１には「操作＃１：ログイン」などと記述され、手順書＃２には「操作＃１：ログオン」などと記述されている。「ログイン」と「ログオン」とは同じ内容の操作であるため、コンピュータにおいては同じ処理が実行される。そこで、手順書を自動化する際、このような表現のゆらぎは、同じ内容の操作を自動分類するための辞書データ及び自然言語処理アルゴリズムなどを利用して吸収される。
【００３８】
例えば、図２に示した手順書＃１、＃２の記載内容は、表現のゆらぎを吸収することで４つの記号「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」によって表現することができる。コンピュータは、これらＡＢＣＤを並べた記号列を操作列として用いる。図２の例では、操作＃１をＡ、操作＃２をＢ、操作＃３をＣ、操作＃４をＤというアルファベットで表現したが、各操作の表現に用いる記号の種類はこれに限定されない。コンピュータが認識可能な記号であれば、数字や各種言語の文字などを含む任意の記号が適用可能である。
【００３９】
上記のように、１つの記号が１つの操作を表現していることから、以下では、１つの記号を「操作」、連続する複数の操作を表す記号列を「操作列」と称する場合がある。
（共通性と分割性）
第２実施形態では、共通操作列を特定する際、共通性、分割性という２つの要素が考慮される。そこで、図３〜図６を参照しながら、共通性及び分割性について説明する。
【００４０】
図３は、第２実施形態に係る共通操作列の特定方法について説明するための第２の図である。
図３の例は、手順書＃１、＃２、＃３の分割方法を示している。手順書＃１は、操作列ＡＢＣＤＥを含む。手順書＃２は、操作列ＡＢＣＤを含む。手順書＃３は、操作列ＣＤＥＦＧを含む。
【００４１】
操作Ａは、手順書＃１、＃２に共通して含まれる。また、操作Ｂは、手順書＃１、＃２に共通して含まれる。そして、操作Ａと操作Ｂとは連続しているから、操作列ＡＢも手順書＃１、＃２に共通して含まれる。とすると、手順書＃１、＃２を分割する際、操作Ａ、操作Ｂをそれぞれ共通操作列とする方法と、操作列ＡＢを共通操作列とする方法とが存在する。図３の例は、操作列ＡＢを共通操作列とした場合の分割方法を示している。
【００４２】
同様に、操作Ｃ、操作Ｄ、操作列ＣＤのいずれを共通操作列にするかも任意に選択可能であるが、図３の例では操作列ＣＤが共通操作列とされている。このように、共通操作列の決め方には自由度があるが、第２実施形態では上述した共通性及び分割性を考慮して共通操作列が決められる。図３の例では、操作列ＡＢ、操作列ＣＤ、操作Ｅが２以上の手順書に含まれる共通操作列であり、操作列ＦＧが非共通操作列である。
【００４３】
共通性とは、１つの共通操作列を共通して含む手順書の多さを言う。個々の共通操作列が多くの手順書に利用されていれば、管理対象となる操作列の数を減らすことができ、自動化の処理が効率化される。また、分割性とは、１つの手順書を分割して得られる操作列の数の少なさを言う。１つ１つの手順書に含まれる操作列が少なければ、共通操作列と非共通操作列とを組み合わせて手順書を再現する際に、組み合わせる操作列の数を少なく抑えることができ、処理負荷を減らすことが可能になる。
【００４４】
ただ、分割数が少なくなると、分割により手順書から切り出される共通操作列の長さが長くなる。共通操作列の長さが長いと、その共通操作列を共通して含む手順書の数が減る傾向にある。つまり、分割性と共通性とはトレードオフの関係にある。そこで、第２実施形態では、共通操作列を特定する際に分割性と共通性のバランスが考慮される。
【００４５】
図４は、第２実施形態に係る共通操作列の特定方法について説明するための第３の図である。
図４は、図３に例示した分割方法に対応する共通性と分割性のバランスを示している。図４（Ａ）は、共通操作列及び非共通操作列のそれぞれに対応する利用数を示している。利用数とは、１つの操作列を共通して含む手順書の数を表す。例えば、手順書＃１、＃２に共通して含まれる共通操作列ＡＢの利用数は２である。同様に、手順書＃１、＃２、＃３に共通して含まれる共通操作列ＣＤの利用数は３である。また、手順書＃３だけに含まれる非共通操作列ＦＧの利用数は１である。
【００４６】
一方、図４（Ｂ）は、各手順書に対応する分割数を示している。分割数とは、手順書がいくつの操作列に分割されたかを表す。例えば、３つの共通操作列ＡＢ、ＣＤ、Ｅに分割されている手順書＃１の分割数は３である。同様に、２つの共通操作列ＡＢ、ＣＤに分割されている手順書＃２の分割数は２である。また、２つの共通操作列ＣＤ、Ｅと、１つの非共通操作列ＦＧとに分割されている手順書＃３の分割数は３である。
【００４７】
上記の利用数を用いると、例えば、下記の式（１）で与えられる共通性指標ＱCを利用して共通性を定量化することができる。図４（Ａ）の場合、利用数の合計が８（２＋３＋２＋１）、操作列の数が４（ＡＢ、ＣＤ、Ｅ、ＦＧ）であるから、共通性指標ＱCは２となる。また、上記の分割数を用いると、下記の式（２）で与えられる分割性指標ＱDを利用して分割性を定量化することができる。図４（Ｂ）の場合、分割数の合計が８（３＋２＋３）、手順書の数が３であるから、分割性指標ＱDは約２．７となる。
【００４８】
【数１】
0006365274.tif 000002
【００４９】
【数２】
0006365274.tif 000003
【００５０】
共通性指標ＱCが大きいほど共通性が良好であり、分割性指標ＱDが小さいほど分割性が良好である。ただ、共通性と分割性とはトレードオフの関係にある。
ここで、分割数が最小になる場合（図５）及び利用数が最大になる場合（図６）の例を示す。
【００５１】
図５は、第２実施形態に係る共通操作列の特定方法について説明するための第４の図である。
図５の例は、分割数が最小になる分割方法（つまり、分割しない方法）を示している。この場合、手順書＃１、＃２、＃３のそれぞれに含まれる手順書毎の操作列全体が共通操作列又は非共通操作列として得られる。この例では全く同じ内容の手順書がないから、分割により得られる３つの操作列はいずれも非共通操作列（操作列ＡＢＣＤＥ、ＡＢＣＤ、ＣＤＥＦＧ）となる。この場合、図５（Ａ）及び（Ｂ）に示すように、いずれの操作列も利用数が１となり、いずれの手順書も分割数が１となる。
【００５２】
上記の式（１）及び式（２）を用いると、共通性指標ＱCは１となり、分割性指標ＱDは１となる。このことから、図４の例に比べ、図５の例は共通性が悪く、分割性が良いことが分かる。
【００５３】
図６は、第２実施形態に係る共通操作列の特定方法について説明するための第５の図である。
図６の例は、利用数が最大になる分割方法（つまり、１つ１つの操作に分割する方法）を示している。この場合、手順書＃１、＃２、＃３に含まれる操作Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇがそれぞれ共通操作列又は非共通操作列として得られる。この例では、操作列Ａ、Ｂ、Ｃ、Ｄ、Ｅがそれぞれ共通操作列となり、操作列Ｆ、Ｇがそれぞれ非共通操作列となる。この場合、図６（Ａ）に示すように、共通操作列Ａ、Ｂ、Ｃ、Ｄ、Ｅの利用数はそれぞれ２、２、３、３、２となる。また、図６（Ｂ）に示すように、手順書＃１、＃２、＃３の分割数はそれぞれ５、４、５となる。
【００５４】
上記の式（１）及び式（２）を用いると、共通性指標ＱCは２となり、分割性指標ＱDは役４．７となる。このことから、図４の例に比べ、図５の例は共通性が良く、分割性が悪いことが分かる。
【００５５】
分割数が最小になる場合（図５）、利用数が最大になる場合（図６）、両者の中間に位置するような状態にある場合（図４）の３通りの例を示した。これらの例からも分かるように共通性と分割性とはトレードオフの関係にあるから、第２実施形態は、共通性と分割性のバランスを評価するバランス指標Ｑ（下記の式（３））を導入し、バランス指標Ｑが最大となるように共通操作列を特定する方法を提供する。なお、非共通操作列は長さが最大となるように決められる。
【００５６】
【数３】
0006365274.tif 000004
【００５７】
上記の式（３）において、利用数合計の最大値とは、利用数が最大となる分割方法（図６参照）で分割した場合の利用数の合計値を表す。図６の例では、利用数合計の最大値が１４（２＋２＋３＋３＋２＋１＋１）となる。一方、上記の式（３）において、分割数合計の最小値とは、分割数が最小となる分割方法（図５参照）で分割した場合の分割数の合計値を表す。図５の例では、分割数合計の最小値が３（１＋１＋１）となる。
【００５８】
以上、共通操作列の特定方法について説明した。
［２−２．方法（Ｂ）：省略可能性の考慮］
上記のバランス指標Ｑが最大となるように共通操作列及び非共通操作列が特定されることで、共通性と分割性のバランスが良好となる手順書の分割が実現される。
【００５９】
ただ、人により作成され、人により使用されることを前提とする手順書では一部の操作について記載が省略されることがある。２つの操作列の一方に操作の省略があると、人間であれば省略を容易に判断できる場合であっても、コンピュータは、多くの場合、省略の有無を判断することが難しい。そのため、実質的に同じ内容の操作列が複数の手順書に共通して含まれていても、これらの操作列が非共通操作列と判断されるリスクが高い。
【００６０】
そこで、第２実施形態は、図７に示すように、操作の省略可能性を評価し、その評価結果を考慮して共通操作列を特定する方法を提供する。図７は、第２実施形態に係る省略可能性を考慮した共通操作列の特定方法について説明するための図である。なお、図７において鎖線で接続された操作列は共通操作列を表す。
【００６１】
図７（Ａ）に示すような３つの手順書＃１、＃２、＃３が与えられた場合、例えば、省略を考慮しないと図７（Ｂ）に示すような分割がされうる。図７（Ａ）において［Ｂ］と表記した操作が省略できる操作であれば、図７（Ｂ）にある２つの操作列Ａ、ＡＢは実質的に同じ内容を示す操作列といえる。また、操作Ｂの省略可能性を考慮すれば、２つの操作列ＡＢＣ、ＡＣも実質的に同じ内容を示す操作列といえる。
【００６２】
こうした省略可能性を考慮すると、例えば、図７（Ｃ）に示すような分割がされうる。図７（Ｃ）では、外形的には異なるが、実質的には内容が共通する２つの操作列ＡＢＣ、ＡＣが共通操作列として特定されている。その結果、手順書＃１の分割数は減り、操作列Ａ［Ｂ］Ｃ（つまり、操作列ＡＢＣ、ＡＣ）の利用数が増える（バランス指標Ｑが改善する）。第２実施形態は、上述した方法（Ａ）のように手順書を分割する方法において、図７（Ｃ）に示すように操作の省略可能性を考慮する方法を提供する。
【００６３】
以上、省略可能性の考慮について説明した。
以下、上記の方法（Ａ）及び（Ｂ）を実現可能な情報処理装置１００のハードウェア及び機能について説明し、さらに、第２実施形態に係る共通操作列の特定に関する処理の流れについて順次説明する。なお、情報処理装置１００は、第２実施形態に係る情報処理装置の一例である。
【００６４】
［２−３．ハードウェア］
図８は、第２実施形態に係る共通操作列の特定方法を実現する情報処理装置のハードウェアの一例を示した図である。情報処理装置１００が有する機能は、例えば、図８に示すハードウェア資源を用いて実現することが可能である。つまり、情報処理装置１００が有する機能は、コンピュータプログラムを用いて図８に示すハードウェアを制御することにより実現される。
【００６５】
図８に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００６６】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００６７】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００６８】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００６９】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００７０】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００７１】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００７２】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００７３】
以上、情報処理装置１００のハードウェアについて説明した。
［２−４．機能］
次に、情報処理装置１００の機能について説明する。
【００７４】
図９は、第２実施形態に係る情報処理装置の機能の一例を示した図である。
図９に示すように、情報処理装置１００は、記憶部１０１、記号化部１０２、操作列分割部１０３、及びポイント計算部１０４を有する。
【００７５】
なお、記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。また、記号化部１０２、操作列分割部１０３、及びポイント計算部１０４の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００７６】
記憶部１０１は、複数の手順書１０１ａを記憶する。手順書１０１ａには、それぞれ実行順に複数の操作が記載されている。図２に示した手順書＃１、＃２は、それぞれ手順書１０１ａの一例である。記号化部１０２は、図２に示すように、手順書１０１ａに記載された操作を記号で表現する。このとき、記号化部１０２は、表現のゆらぎなどを除去し、同じ内容の操作を同じ記号で表現する（記号化）。以下、記号Ａ、Ｂ、…で表現された操作をそれぞれ操作Ａ、Ｂ、…と表記する。
【００７７】
操作列分割部１０３は、記号化部１０２により記号化され、操作列で表現された手順書１０１ａを複数の操作列に分割する。そして、操作列分割部１０３は、分割した複数の操作列をポイント計算部１０４に入力する。ポイント計算部１０４は、操作列分割部１０３から入力された複数の操作列を操作列間の類似度に基づいてクラスタリングする。そして、ポイント計算部１０４は、クラスタ毎に各操作の出現頻度を計数し、出現頻度に基づいて省略可能性の高さを示すポイントを計算する。
【００７８】
ポイント計算部１０４は、計算した操作毎のポイントを操作列分割部１０３に入力する。ポイントの入力を受けた操作列分割部１０３は、ポイント計算部１０４から入力されたポイントを利用して複数の手順書１０１ａの操作列から共通操作列を特定し、特定した共通操作列に基づいて手順書１０１ａを複数の操作列に分割する。
【００７９】
（操作列の分割）
ここで、クラスタリングに用いる複数の操作列を生成するために各手順書１０１ａの操作列を分割する方法について、図１０を参照しながら、さらに説明する。図１０は、第２実施形態に係る操作列の分割方法（操作列の分割）の一例を示した図である。
【００８０】
図１０は、手順書＃１（操作列ＡＢＣＤＥＦＧＨ）、手順書＃２（操作列ＡＣＥＦＧＩ）、手順書＃３（操作列ＡＢＣＥＧＨ）を分割する例を示している。まず、操作列分割部１０３は、手順書の組毎に共通操作列を特定する。例えば、手順書＃１、＃２の組について、操作列分割部１０３は、共通操作列Ａ、Ｃ、ＥＦＧを特定する。但し、操作列ＥＦＧは操作列Ｅ、Ｆ、Ｇの組、操作列ＥＦ、Ｇの組、及び操作列Ｅ、ＦＧの組に分解できるから、操作列Ｅ、Ｆ、Ｇ、ＥＦ、ＦＧも共通操作列である。
【００８１】
手順書＃１、＃２間で共通操作列Ａ、Ｃ、ＥＦＧを特定した場合、操作列分割部１０３は、手順書＃１を複数の操作列Ａ、Ｂ、Ｃ、Ｄ、ＥＦＧ、Ｈに分解し、手順書＃２を複数の操作列Ａ、Ｃ、ＥＦＧ、Ｉに分割できる。同様に、操作列分割部１０３は、手順書＃２、＃３の組、手順書＃３、＃１の組についても共通操作列を特定し、共通操作列の特定結果に応じて手順書＃１、＃２、＃３を分割する。
【００８２】
図１０（Ｂ）は、共通操作列の特定結果に応じて手順書＃１、＃２、＃３を分割した結果を示している。図１０（Ｂ）の中で「Ａ｜Ｂ」は、操作列ＡＢを操作列Ａと操作列Ｂとに分割したことを意味する。例えば、共通操作列Ａ、Ｃ、ＥＦＧを用いて分割した手順書＃１は、図１０（Ｂ）の中でＡ｜Ｂ｜Ｃ｜Ｄ｜ＥＦＧ｜Ｈと表記され、複数の操作列Ａ、Ｂ、Ｃ、Ｄ、ＥＦＧ、Ｈに分割されている。操作列Ｂ、Ｄ、Ｈは非共通操作列である。
【００８３】
操作列分割部１０３は、図１０（Ｂ）のように手順書＃１、＃２、＃３を分割して得た共通操作列及び非共通操作列を、図１０（Ｃ）に示すように接頭辞毎にまとめる。例えば、接頭辞Ａを有する操作列は操作列ＡＢ、ＡＢＣである。また、接頭辞ＡＢを有する操作列はＡＢＣである。操作列ＡＢＣは共通操作列であるから、操作列ＡＢＣを分割した操作列Ａ、ＡＢはいずれも共通操作列である。
【００８４】
上記の性質を利用し、操作列分割部１０３は、接頭辞の種類毎に最短の操作列で手順書＃１、＃２、＃３を分割した場合のバランス指標Ｑ（上記の式（３）を参照）を基準に、共通操作列の長さを延長しながら手順書＃１、＃２、＃３の最適な分割方法を探索する。以下、同じ接頭辞を有する操作列のうち、最短の操作列より長い操作列を「延長候補」と表現する場合がある。例えば、操作列ＡＢ、ＡＢＣは、操作列Ａの延長候補である。
【００８５】
（操作列の延長）
図１１は、第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第１の図である。
【００８６】
図１１（Ａ）は、図１０（Ｃ）に記載した操作列のまとまりを最短の操作列と延長候補とに分けて整理した例である。操作列分割部１０３は、接頭辞毎に最短の操作列の次に長い延長候補を特定し、特定した延長候補を利用して手順書＃１、＃２、＃３を分割する。
【００８７】
例えば、操作列Ａを延長した延長候補ＡＢを利用する場合、操作列分割部１０３は、図１１（Ｂ）に示すように、操作列Ａ、ＡＢ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉを利用して手順書＃１、＃２、＃３を分割する。そして、操作列分割部１０３は、分割後の手順書＃１、＃２、＃３の状態に基づいてバランス指標Ｑを計算する。
【００８８】
同様に、操作列分割部１０３は、図１１（Ｂ）から（Ｇ）に示すように、延長候補ＢＣ、ＣＥ、ＥＦ、ＦＧ、ＧＨをそれぞれ利用して手順書＃１、＃２、＃３を分割した結果に基づいてバランス指標Ｑを計算する。そして、操作列分割部１０３は、バランス指標Ｑが最大となる延長候補を選択する。図１１の例では同じ値となるから、操作列分割部１０３は、辞書順で最初に位置する延長候補ＡＢを選択する。
【００８９】
また、操作列分割部１０３は、図１１（Ｈ）に示すように、延長候補を操作列の欄に移動し、操作列Ａを接頭辞とする延長候補から操作列ＡＢを削除する。さらに、操作列分割部１０３は、操作列ＡＢを接頭辞とする延長候補の欄に延長候補ＡＢＣを移動する。そして、操作列分割部１０３は、延長候補ＡＢを共通操作列として採用した場合に衝突する延長候補を削除する。
【００９０】
例えば、図１１（Ｂ）に示した手順書＃１、＃２、＃３の分割方法において、操作列Ｂを操作列ＢＣに延長すると、延長候補として既に確定した操作列ＡＢ（確定部）が再び分解される。このように確定部を再び分解することが上記の衝突である。このような衝突が生じないように、図１１（Ｈ）の例では、操作列ＢＣが延長候補から除外されている。
【００９１】
次に、操作列分割部１０３は、図１１（Ｂ）の分割方法及び図１１（Ｈ）の延長候補に基づき、図１２に示すように操作列を延長する。図１２は、第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第２の図である。延長候補の選択方法は図１１の例と同じであるが、操作列分割部１０３は、操作列の延長によってバランス指標Ｑが改善したかを確認する。バランス指標Ｑが改善しない場合、操作列分割部１０３は、操作列を延長せず、手順書＃１、＃２、＃３の分割結果を出力する。
【００９２】
図１２の例ではバランス指標Ｑが改善しているため、操作列分割部１０３は、操作列Ｃを延長した延長候補ＣＥを採用する。また、操作列分割部１０３は、衝突回避のために延長候補ＥＦ、ＥＦＧを削除する。次に、操作列分割部１０３は、図１２（Ｂ）の分割方法及び図１２（Ｇ）の延長候補に基づき、図１３に示すように操作列を延長する。図１３は、第２実施形態に係る操作列の分割方法（操作列の延長）の一例を示した第３の図である。延長候補の選択方法は図１２の例と同じである。
【００９３】
図１３の処理が完了すると延長候補がなくなるため、操作列分割部１０３は、図１３（Ｄ）に示すように、手順書＃１、＃２、＃３の分割結果を出力する。つまり、操作列分割部１０３は、手順書＃１を分割した操作列ＡＢ、Ｃ、ＤＥ、ＦＧ、Ｈと、手順書＃２を分割した操作列Ａ、ＣＥ、ＦＧ、Ｉと、手順書＃３を分割した操作列ＡＢ、ＣＥ、ＧＨとを出力する。これらの操作列はポイント計算部１０４によるクラスタリングに用いられる。
【００９４】
（ポイントの計算）
次に、図１４を参照しながら、操作の省略可能性の高さを示すポイントの計算について説明する。図１４は、第２実施形態に係るポイント計算方法の一例を示した図である。
【００９５】
ポイント計算部１０４は、図１４（Ａ）に示すように、操作列分割部１０３が出力した操作列をクラスタリングする。例えば、ポイント計算部１０４は、該操作列の集合から２つずつ操作列の組を抽出して該操作列間の類似度を計算し、計算した類似度に基づいて操作列をクラスタに分類する。なお、類似度は、例えば、操作列を表現した記号列間のハミング距離などに基づいて計算されうる。
【００９６】
例えば、図１４（Ａ）に示すように、手順書＃１、＃３の操作列ＡＢがクラスタ＃１に分類され（Ｓ１）、手順書＃２、＃３の操作列ＣＥがクラスタ＃２に分類され（Ｓ２）、手順書＃２、＃３にある操作列ＦＧがクラスタ＃４に分類される（Ｓ３）。また、操作列Ａ、ＡＢの類似度から手順書＃２の操作列Ａがクラスタ＃１に分類され（Ｓ４）、操作列Ｃ、ＣＥの類似度から手順書＃１の操作列Ｃがクラスタ＃２に分類される（Ｓ５）。
【００９７】
また、手順書＃３の操作列ＧＨと手順書＃１の操作列Ｈとの類似度から、これらの操作列ＧＨ、Ｈがクラスタ＃５に分類され（Ｓ６）、残った操作列ＤＥ、Ｉがそれぞれクラスタ＃３、＃６に分類される（Ｓ７、Ｓ８）。このようにして分類された操作列を手順書＃１、＃２、＃３及びクラスタ＃１、＃２、…、＃６にそれぞれ対応付けて整理すると、図１４（Ｂ）のように表現することができる。
【００９８】
ポイント計算部１０４は、図１４（Ｃ）に示すように、各クラスタについて操作毎に出現頻度を計算し、計算した出現頻度に基づいて省略可能性の高さを示すポイントを計算する。例えば、ポイント計算部１０４は、クラスタ＃１に含まれる操作Ａの出現頻度を計数する。この場合、クラスタ＃１には操作Ａが３つ出現しているから、ポイント計算部１０４は、操作Ａの出現頻度を３とする。
【００９９】
また、ポイント計算部１０４は、クラスタ＃１に含まれる操作列の数を計数し、操作列の数に対する出現頻度で与えられるポイントを計算する。この例ではクラスタ＃１における操作列の数が３であるから、ポイントは１となる。同様に、ポイント計算部１０４は、図１４（Ｃ）に示すように、操作Ｂ、Ｃ、…、Ｅのポイントを計算する。また、クラスタ＃２、＃６の両方に操作Ｅが出現しているため、ポイント計算部１０４は、操作列の数が多いクラスタ＃２における操作Ｅのポイントを採用する。操作Ｇについても同様である。
【０１００】
（ポイントを考慮したＳＷ法及び操作列の延長）
操作列分割部１０３により計算された操作毎のポイントは、ポイント計算部１０４に入力され、手順書＃１、＃２、＃３の分割に利用される。ここでは、手順書＃１、＃２、＃３を分割する方法として、通常のＳＷ法を改良し、上記のポイントを利用して、各操作の省略可能性を操作列の連続性に反映させる方法を提案する。
【０１０１】
図１５は、第２実施形態に係る操作列の分割方法（ポイントを考慮したＳＷ法）の一例を示した図である。図１５は、手順書＃１（操作列ＡＣＥＦＧＩ）と手順書＃２（操作列ＡＢＣＤＥＦＧＨ）から共通操作列を特定する例を示している。説明の都合上、図１５には、列番号ｉ（ｉ＝０，…，６）、行番号ｊ（ｊ＝０，…，８）が付されている。また、セル（枡目）の位置を座標（Ｎｘ，Ｎｙ）で表現する場合がある。
【０１０２】
操作列分割部１０３は、図１５に示すような表を生成し、操作列ＡＣＥＦＧＩの各操作と、操作列ＡＢＣＤＥＦＧＨの各操作とが対応するセルに初期値（０）を設定する。また、操作列分割部１０３は、各操作に対応するポイントに−１をかけた値を表の枠外に設定する。図１５の例では、操作Ａに対応付けて値−１が設定され、操作Ｂに対応付けて値−０．６が設定されている。
【０１０３】
次に、操作列分割部１０３は、各セルのスコアを計算し、計算したスコアを表の各セルに記載する。座標（ｉ，ｊ）のセルに記載するスコアＶ（ｉ，ｊ）は、下記の式（４）で与えられる。但し、ｉ，ｊ≧２であり、ａｉはｉ列の操作、ｂｊはｊ行の操作である。
【０１０４】
Ｖ（ｉ，ｊ）＝ｍａｘ｛０，
Ｖ（ｉ−１，ｊ−１）＋Ｕ（ａｉ，ｂｊ），
Ｖ（ｉ−１，ｊ）＋ポイント，
Ｖ（ｉ，ｊ−１）＋ポイント｝
但し、ａｉ＝ｂｉのときはＳ（ａｉ，ｂｊ）＝１、
ａｉ≠ｂｊのときはＳ（ａｉ，ｂｊ）＝０とする。
…（４）
【０１０５】
操作列分割部１０３は、スコアが０ではないセルを追跡する。図１５には、追跡する順序が矢印で示されている。このとき、操作列分割部１０３は、Ｖ（ｉ−１，ｊ−１）＜Ｖ（ｊ，ｉ）となった場合に追跡を進めない。例えば、座標（５，７）のセルから右、下、右下方向への矢印が付されない。操作列分割部１０３は、追跡した一連のセルの中で最大スコアのセルを特定する。異なる始点から追跡した一連のセルが複数ある場合、操作列分割部１０３は、それぞれ一連のセルの中で最大スコアのセルを特定する。
【０１０６】
操作列分割部１０３は、最大スコアのセルから左上方に向けて、スコアが０になるセルまで逆方向にセルを探索する。例えば、操作列分割部１０３は、最大スコア１．４のセルから逆方向にセルを探索し、座標（１，１）のセルに達したところで探索を終了する。そして、操作列分割部１０３は、最大スコアのセルと、探索を終了したスコアが０でないセルとを頂点とする矩形のセルのブロックを特定する。
【０１０７】
操作列分割部１０３は、特定したブロックに対応する２つの操作列を共通操作列として抽出する。図１５の例では、２つの座標（１，１）、（２，３）を頂点とするブロックが特定され、このブロックに対応する操作列ＡＣ、ＡＢＣが共通操作列として抽出される。さらに、２つの座標（３，５）、（５，７）を頂点とするブロックが特定され、このブロックに対応する操作列ＥＦＧが共通操作列として抽出される。操作列分割部１０３は、図１５に示すように、抽出した共通操作列を利用して手順書＃１、＃２を分割する。
【０１０８】
図１５において、共通操作列として２つの操作列ＡＢＣ、ＡＣが抽出されたが、操作Ｂの有無について両者は異なる。しかし、両者の違いは操作Ｂの省略可能性を考慮した結果である。この結果は、省略可能性の高さを加味した実質的な共通性に基づくと、操作列ＡＢＣ、ＡＣが共通とみなせることを示している。つまり、この例では、操作Ｂが省略可能性の高い操作（［Ｂ］と表記）であると判断される。
【０１０９】
操作列分割部１０３は、手順書＃２、＃３の組、手順書＃３、＃１の組についても同様の方法で共通操作列を抽出し、手順書＃１、＃２、＃３を分割する。その分割結果を図１６（Ａ）に示した。図１６は、第２実施形態に係る操作列の分割方法（ポイントを考慮した操作列の延長）の一例を示した図である。
【０１１０】
操作列分割部１０３は、図１６（Ｂ）に示すように上記の分割結果から操作列を抽出し、図１１から図１３に示した方法と同様にして操作列を延長する。このとき、図１６（Ｃ）に示すように、延長候補となる操作列ＡＢＣ、ＡＢはＡ［Ｂ］Ｃに統合される。この操作列の延長により、手順書＃１、＃２、＃３は、図１６（Ｄ）に示すように複数の共通操作列及び非共通操作列に分割される。
【０１１１】
なお、操作列分割部１０３は、省略可能性の高い操作Ｂをユーザに提示し、実際に省略可能であるかをユーザに判断させてもよい。ユーザが操作Ｂを省略可能であると判断し、その判断結果を情報処理装置１００に入力した場合、操作列分割部１０３は、図１６（Ｄ）の分割結果を出力する。一方、ユーザが操作Ｂを省略可能ではないと判断し、その判断結果を情報処理装置１００に入力した場合、操作列分割部１０３は、操作Ｂについて図１６（Ｃ）に示した延長候補の統合をせずに操作列を延長し、手順書＃１、＃２、＃３の分割結果を出力する。
【０１１２】
以上、情報処理装置１００の機能について説明した。かかる機能により、操作列間の実質的な共通性に基づいて複数の手順書を分割することが可能になる。その結果、一部操作の省略があっても操作列の内容に応じた適切な共通操作列の抽出が実現でき、操作列の管理や操作の自動化を効率的に行うことが可能になる。
【０１１３】
［２−５．処理の流れ］
次に、複数の手順書から共通操作列及び非共通操作列を抽出する際に情報処理装置１００が実行する処理の流れについて説明する。以下、手順書の分割に係る処理（分割処理）、操作列の延長に係る処理（延長処理）、ポイントの計算に係る処理（ポイント計算処理）、ポイントに基づく共通操作列の特定に係る処理（操作列の特定処理）について、フロー図を参照しながら順次説明する。
【０１１４】
（分割処理）
まず、分割処理について説明する。
図１７は、第２実施形態に係る操作列の分割処理の流れを示したフロー図である。なお、分割対象となる複数の手順書は既に記号化されているものとする。
【０１１５】
（Ｓ１１１）操作列分割部１０３は、パラメータｐを１に設定する。
（Ｓ１１２）操作列分割部１０３は、ｐ番目の手順書の操作列を取得する。つまり、操作列分割部１０３は、ｐ番目の手順書を記憶部１０１から読み出し、読み出した手順書に記載された全操作を含む操作列を抽出する。
【０１１６】
（Ｓ１１３）操作列分割部１０３は、パラメータｑをｐ＋１に設定する。
（Ｓ１１４）操作列分割部１０３は、ｑ番目の手順書の操作列を取得する。つまり、操作列分割部１０３は、ｑ番目の手順書を記憶部１０１から読み出し、読み出した手順書に記載された全操作を含む操作列を抽出する。
【０１１７】
（Ｓ１１５）操作列分割部１０３は、取得した操作列（ｐ番目の手順書の操作列とｑ番目の手順書の操作列）間における共通操作列と非共通操作列を特定する。つまり、操作列分割部１０３は、図１０に示した方法と同様に、２つの手順書間で共通する操作列を抽出し、抽出した操作列を共通操作列として特定する。また、操作列分割部１０３は、共通操作列とならない操作列を非共通操作列として特定する。
【０１１８】
（Ｓ１１６）操作列分割部１０３は、共通操作列及び非共通操作列として特定した操作列（図１０（Ｃ）を参照）を記憶部１０１に保存する。
（Ｓ１１７）操作列分割部１０３は、ｑ番目の手順書が最後の手順書であるか否かを判断する。ｑ番目の手順書が最後の手順書である場合、処理はＳ１１９へと進む。一方、ｑ番目の手順書が最後の手順書でない場合、処理はＳ１１８へと進む。
【０１１９】
（Ｓ１１８）操作列分割部１０３は、パラメータｑを１増加させる。Ｓ１１８の処理が完了すると、処理はＳ１１４へと進む。
（Ｓ１１９）操作列分割部１０３は、ｐ＋１番目の手順書が最後の手順書であるか否かを判断する。ｐ＋１番目の手順書が最後の手順書である場合、図１７に示した一連の処理は終了する。一方、ｐ＋１番目の手順書が最後の手順書でない場合、処理はＳ１２０へと進む。
【０１２０】
（Ｓ１２０）操作列分割部１０３は、パラメータｐを１増加させる。Ｓ１２０の処理が完了すると、処理はＳ１１２へと進む。
（延長処理）
次に、延長処理について説明する。
【０１２１】
図１８は、第２実施形態に係る操作列の延長処理の流れを示した第１のフロー図である。図１９は、第２実施形態に係る操作列の延長処理の流れを示した第２のフロー図である。図２０は、第２実施形態に係る操作列の延長処理の流れを示した第３のフロー図である。図２１は、第２実施形態に係る操作列の延長処理の流れを示した第４のフロー図である。
【０１２２】
（Ｓ１３１）操作列分割部１０３は、上述した分割処理において、記憶部１０１に保存した操作列を読み出し、読み出した操作列を並べたリストＬ１を生成する。
（Ｓ１３２）操作列分割部１０３は、リストＬ１の中で同じ操作列を特定し、特定した同じ操作列をマージ（統合）する。
【０１２３】
（Ｓ１３３）操作列分割部１０３は、リストＬ１に並んだ操作列を辞書順にソートする。例えば、操作がアルファベットで記載されている場合、操作列分割部１０３は、アルファベットの順に操作列をソートする。図１０（Ｃ）の例では、Ａ、ＡＢ、ＡＢＣ、Ｂ、ＢＣ、Ｃ、ＣＥ、…の順にリストＬ１の操作列がソートされる。
【０１２４】
（Ｓ１３４）操作列分割部１０３は、リストＬ１に記載された各操作列の先頭に位置する操作の種類毎に最短操作列を特定する。例えば、図１０（Ｃ）のように、先頭の操作Ａ（つまり、Ａで表される種類）に対応する操作列Ａ、ＡＢ、ＡＢＣがある場合、操作列分割部１０３は、最短操作列として操作列Ａを特定する。同様に、先頭の操作Ｂに対応する操作列Ｂ、ＢＣがある場合、操作列分割部１０３は、最短操作列として操作列Ｂを特定する。
【０１２５】
（Ｓ１３５）操作列分割部１０３は、最短操作列として特定した操作列のリスト（リストＬ２）を生成する。Ｓ１３５の処理が完了すると、処理は図１９のＳ１３６へと進む。
（Ｓ１３６）操作列分割部１０３は、パラメータｐを１に設定する。
【０１２６】
（Ｓ１３７）操作列分割部１０３は、最短操作列を並べたリストＬ２のｐ番目に位置する操作列を特定する。ここで、リストＬ２のｐ番目の操作列は、上述した分割処理において得られた全ての操作列を並べたリストＬ１のｍ番目の操作列であるとする。
【０１２７】
（Ｓ１３８）操作列分割部１０３は、パラメータｎをｍ＋１に設定する。
（Ｓ１３９）操作列分割部１０３は、リストＬ１にｎ番目の操作列があるか否かを判定する。ｍ番目の操作列がリストＬ１の最後に位置する操作列である場合、ｎ番目（つまり、ｍ＋１番目）の操作列はないと判定される。リストＬ１にｎ番目の操作列がある場合、処理はＳ１４０へと進む。一方、リストＬ１にｎ番目の操作列がない場合、処理はＳ１４３へと進む。
【０１２８】
（Ｓ１４０）操作列分割部１０３は、リストＬ１のｍ番目に位置する操作列の接頭辞と、リストＬ１のｎ番目に位置する操作列の接頭辞とが同じであるか否かを判定する。例えば、ｍ番目に位置する操作列がＡ、ｎ番目に位置する操作列がＡＢＣである場合、両者は同じ接頭辞Ａを有する。この場合は両者の接頭辞が同じであると判定される。両者の接頭辞が同じであると判定された場合、処理はＳ１４１へと進む。一方、両者の接頭辞が同じでないと判定された場合、処理はＳ１４３へと進む。
【０１２９】
（Ｓ１４１）操作列分割部１０３は、リストＬ１のｍ番目に位置する操作列に対応付けて、リストＬ１のｎ番目に位置する操作列をリストＬ３に記録する。つまり、リストＬ３は、最短操作列であるｍ番目の操作列と、ｍ番目の操作列を延長したｎ番目の操作列（延長候補）とを対応付けたリストである（図１１（Ａ）などを参照）。
【０１３０】
（Ｓ１４２）操作列分割部１０３は、パラメータｎを１増加させる。Ｓ１４２の処理が完了すると、処理はＳ１３９へと進む。
（Ｓ１４３）操作列分割部１０３は、パラメータｐを１増加させる。
【０１３１】
（Ｓ１４４）操作列分割部１０３は、リストＬ２にｐ番目の操作列があるか否かを判定する。ｐ−１番目の操作列がリストＬ２の最後に位置する場合、ｐ番目の操作列はないと判定される。ｐ番目の操作列があると判定された場合、処理はＳ１３７へと進む。一方、ｐ番目の操作列がないと判定された場合、処理は図２０のＳ１４５へと進む。
【０１３２】
（Ｓ１４５）操作列分割部１０３は、利用数合計の最大値と、分割数合計の最小値とを計算する。利用数合計の最大値は、図６に示すように各手順書を１つ１つの操作に分割した場合の利用数の合計値である。一方、分割数合計の最小値は、図５に示すように各手順書の分割数が１になるように（つまり、分割しないように）した場合の分割数の合計値である。
【０１３３】
（Ｓ１４６）操作列分割部１０３は、パラメータｑを１に設定する。
（Ｓ１４７）操作列分割部１０３は、リストＬ２のｑ番目に位置する操作列が延長可能であるかを判定する。例えば、操作列分割部１０３は、リストＬ３を参照し、リストＬ２のｑ番目に位置する操作列に対応する延長候補があるか否かを判定する。ｑ番目の操作列が延長可能である場合、処理はＳ１４８へとすすむ。一方、ｑ番目の操作列が延長可能でない場合、処理はＳ１５２へとすすむ。
【０１３４】
（Ｓ１４８）操作列分割部１０３は、リストＬ３に基づき、リストＬ２のｑ番目に位置する操作列を延長した延長候補を特定する。例えば、操作列分割部１０３は、リストＬ２のｑ番目に位置する操作列をリストＬ３から抽出し、抽出した操作列に対応する延長候補のうち、最も短い延長候補を特定する。
【０１３５】
（Ｓ１４９）操作列分割部１０３は、特定した延長候補を用いて手順書を分割する。例えば、操作列分割部１０３は、図１１（Ｂ）などに示したように、リストＬ２の操作列に加え、特定した延長候補を利用して複数の手順書を分割する。
【０１３６】
（Ｓ１５０）操作列分割部１０３は、確定部の再分割（衝突）が生じるか否かを判定する。図１１の例では、延長候補を特定した後で、衝突が生じる延長候補を図１１（Ｈ）のリストから削除したが、延長候補を利用して手順書を分割する工程で衝突の有無を判断する仕組みを採用してもよい。図２０の処理は、この仕組みを採用している。特定した延長候補を利用することで衝突が生じる場合、処理はＳ１５２へとすすむ。一方、特定した延長候補を利用しても衝突が生じない場合、処理はＳ１５１へとすすむ。
【０１３７】
（Ｓ１５１）操作列分割部１０３は、特定した延長候補を利用して分割した分割結果に基づいて、上記の式（３）で与えられるバランス指標Ｑを計算する。
（Ｓ１５２）操作列分割部１０３は、パラメータｑを１増加させる。
【０１３８】
（Ｓ１５３）操作列分割部１０３は、リストＬ２にｑ番目の操作列があるか否かを判定する。ｑ−１番目の操作列がリストＬ２の最後に位置する場合、ｑ番目の操作列はないと判定される。ｑ番目の操作列がある場合、処理はＳ１４７へとすすむ。一方、ｑ番目の操作列がない場合、処理はＳ１５４へと進む。
【０１３９】
（Ｓ１５４）操作列分割部１０３は、バランス指標Ｑが最大となる延長候補を特定する。つまり、操作列分割部１０３は、既に計算したバランス指標Ｑの最大値を特定し、その最大値の計算に利用した延長候補を特定する。Ｓ１５４の処理が完了すると、処理は、図２１のＳ１５５へと進む。
【０１４０】
（Ｓ１５５）操作列分割部１０３は、バランス指標Ｑが改善したか否かを判定する。つまり、操作列分割部１０３は、特定した延長候補を利用する前のバランス指標Ｑに比べ、該延長候補を利用した場合のバランス指標Ｑが改善（増加）したか否かを判定する。バランス指標Ｑが改善した場合、処理はＳ１５６へと進む。一方、バランス指標Ｑが改善しない場合、処理はＳ１５８へと進む。
【０１４１】
（Ｓ１５６）操作列分割部１０３は、特定した延長候補を用いてリストＬ２、Ｌ３を再構築する。つまり、操作列分割部１０３は、特定した延長候補をリストＬ２に加え、図１１（Ｈ）などに示すように、該延長候補とＳ１５０で衝突が生じると判定された延長候補とをリストＬ３から削除する。
【０１４２】
（Ｓ１５７）操作列分割部１０３は、リストＬ３に操作列があるか否かを判定する。つまり、操作列分割部１０３は、延長候補が存在するか否かを判定する。リストＬ３に操作列がある場合、処理は図２０のＳ１４６へと進む。一方、リストＬ３に操作列がない場合、処理はＳ１５８へと進む。
【０１４３】
（Ｓ１５８）操作列分割部１０３は、リストＬ２の操作列による手順書の分割結果を出力する。Ｓ１５８の処理が完了すると、図１８から図２１に示した一連の処理は終了する。なお、分割結果は、ポイント計算部１０４に入力される。
【０１４４】
（ポイント計算処理）
次に、ポイント計算処理について説明する。
図２２は、第２実施形態に係るポイント計算処理の流れを示した第１のフロー図である。図２３は、第２実施形態に係るポイント計算処理の流れを示した第２のフロー図である。
【０１４５】
（Ｓ１６１）ポイント計算部１０４は、パラメータｋを１に設定する。
（Ｓ１６２）ポイント計算部１０４は、操作列分割部１０３から入力された分割結果に含まれる複数の操作列（操作列の集合）のうち、ｋ番目の操作列を１つ選択する。
【０１４６】
（Ｓ１６３）ポイント計算部１０４は、操作列の集合から、ｋ番目の操作列とは別の操作列を１つ選択する。
（Ｓ１６４）ポイント計算部１０４は、選択した２つの操作列間の類似度を計算する。例えば、ポイント計算部１０４は、操作列を表す記号列を比較してハミング距離を求め、ハミング距離に基づく類似度（例えば、ハミング距離の逆数など）を計算する。また、ポイント計算部１０４は、計算した類似度を記憶部１０１に保存する。
【０１４７】
（Ｓ１６５）ポイント計算部１０４は、Ｓ１６４で計算した類似度が、ｋ番目の操作列について現在までの最大の類似度か否かを判定する。つまり、ポイント計算部１０４は、ｋ番目の操作列について過去に計算した類似度を記憶部１０１から読み出し、Ｓ１６４で計算した類似度（現在の類似度）が、記憶部１０１から読み出したいずれの類似度よりも大きい場合に最大の類似度であると判定する。最大の類似度であると判定された場合、処理はＳ１６６へと進む。一方、最大の類似度ではないと判定された場合、処理はＳ１６７へと進む。
【０１４８】
（Ｓ１６６）ポイント計算部１０４は、計算した類似度及び該類似度の計算に用いた２つの操作列を対応付けてリストＬ４に記録する。つまり、ポイント計算部１０４は、クラスタにまとめる操作列の候補をリストＬ４に記録する。
【０１４９】
（Ｓ１６７）ポイント計算部１０４は、ｋ番目の操作列とは別の操作列を全て選択し終えたか否かを判定する。ｋ番目の操作列とは別の操作列を全て選択し終えた場合、処理はＳ１６８へと進む。一方、ｋ番目の操作列とは別の操作列を選択し終えていない場合、処理はＳ１６３へと進む。
【０１５０】
（Ｓ１６８）ポイント計算部１０４は、ｋ番目の操作列についてリストＬ４に記録した類似度の中で最大の類似度（最大類似度）を特定し、最大類似度が閾値ＴＳより大きいか否かを判定する。閾値ＴＳは予め設定される。最大類似度が閾値ＴＳより大きい場合、処理はＳ１６９へと進む。一方、最大類似度が閾値ＴＳより大きくない場合、処理は図２３のＳ１７２へと進む。
【０１５１】
（Ｓ１６９）ポイント計算部１０４は、リストＬ４に記録した操作列をクラスタにまとめる。つまり、ポイント計算部１０４は、ｋ番目の操作列に類似する操作列の組により１つのクラスタを生成する。
【０１５２】
（Ｓ１７０）ポイント計算部１０４は、パラメータｋを１増加させる。
（Ｓ１７１）ポイント計算部１０４は、操作列の集合にｋ番目の操作列があるか否かを判定する。ｋ−１番目の操作列が、操作列の集合における最後の操作列であった場合、ｋ番目の操作列はないと判定される。ｋ番目の操作列がある場合、処理はＳ１６２へと進む。一方、ｋ番目の操作列がない場合、処理は図２３のＳ１７２へと進む。
【０１５３】
（Ｓ１７２）ポイント計算部１０４は、クラスタを１つ選択する。
（Ｓ１７３）ポイント計算部１０４は、選択したクラスタ内の操作列数を計数する。例えば、図１４（Ｂ）に示したクラスタ＃１内の操作列数は３となる。
【０１５４】
（Ｓ１７４）ポイント計算部１０４は、選択したクラスタ内の操作を１つ選択する。例えば、図１４（Ｂ）に示したクラスタ＃１の場合、２種類の操作Ａ、Ｂが存在する。この場合、ポイント計算部１０４は、操作Ａ、Ｂから１つの操作を選択する。
【０１５５】
（Ｓ１７５）ポイント計算部１０４は、選択した操作の出現頻度を計数する。例えば、図１４（Ｂ）に示したクラスタ＃１の場合、操作Ａの出現頻度は３であり、操作Ｂの出現頻度は２である。
【０１５６】
（Ｓ１７６）ポイント計算部１０４は、計数した出現頻度及び操作列数から、操作の省略可能性の高さを表すポイントを計算する。例えば、ポイントは、図１４（Ｃ）に示すように、出現頻度を操作列数で割った値により与えられる。類似した操作列が３つある場合、３つの操作列全てに出現する操作は省略可能性が低いと考えられる。一方、１つの操作列にしか出現しない操作は省略可能性が高いと考えられる。この考えによれば、上記のポイントは省略可能性の高さを表しているといえる。
【０１５７】
（Ｓ１７７）ポイント計算部１０４は、クラスタ内の全操作を選択し終えたか否かを判定する。図１４（Ｂ）に示したクラスタ＃１の場合、２種類の操作Ａ、Ｂがいずれも選択され、それぞれポイントが計算されたならば、クラスタ内の全操作を選択し終えたと判定される。クラスタ内の全操作を選択し終えた場合、処理はＳ１７８へと進む。一方、クラスタ内に未選択の操作がある場合、処理はＳ１７４へと進む。
【０１５８】
（Ｓ１７８）ポイント計算部１０４は、全てのクラスタを選択し終えたか否かを判定する。全てのクラスタを選択し終えた場合、処理はＳ１７９へと進む。一方、未選択のクラスタが存在する場合、処理はＳ１７２へと進む。
【０１５９】
（Ｓ１７９）ポイント計算部１０４は、複数のポイントが計算された操作を特定する。つまり、ポイント計算部１０４は、同じ操作が複数のクラスタ内に存在するか確認し、複数のクラスタに含まれる操作を特定する。図１４（Ｂ）の例では、操作Ｇがクラスタ＃３、＃４に含まれ、操作Ｅがクラスタ＃２、＃６に含まれる。この場合、ポイント計算部１０４は、操作Ｇ、Ｅを特定する。
【０１６０】
（Ｓ１８０）ポイント計算部１０４は、特定した操作に対し、操作列数が大きいクラスタにおけるポイントを対応付ける。図１４（Ｂ）の例において操作Ｅを含むクラスタ＃２、＃６の操作列数はそれぞれ３、１である。この場合、ポイント計算部１０４は、操作Ｅに対し、操作列数が大きいクラスタ＃２におけるポイントを対応付ける。
【０１６１】
なお、図１４（Ｂ）の例において操作Ｇを含むクラスタ＃３、＃４の操作列数はいずれも２である。この場合、ポイント計算部１０４は、ポイントが１となるクラスタがあるか否かを判定する。この例ではクラスタ＃３における操作Ｇのポイントが１であるから、ポイント計算部１０４は、クラスタ＃３におけるポイントを操作Ｇに対応付ける。ポイントが１となるクラスタがない場合、ポイント計算部１０４は、操作列数が同じクラスタのいずれを選択してもよい。
【０１６２】
Ｓ１８０の処理が完了すると、図２２及び図２３に示した一連の処理は終了する。なお、各操作に対応付けられたポイントは操作列分割部１０３に入力される。
（操作列の特定処理）
次に、操作列の特定処理について説明する。
【０１６３】
図２４は、第２実施形態に係る操作列の特定処理の流れを示したフロー図である。
（Ｓ１９１）操作列分割部１０３は、手順書の組（２つの手順書）を選択する。
（Ｓ１９２）操作列分割部１０３は、操作列特定用の表（図１５を参照）を作成する。表のセル数は、各手順書に含まれる操作の数に応じて設定される。
【０１６４】
（Ｓ１９３）操作列分割部１０３は、表に各操作のポイントを設定する。このとき、操作列分割部１０３は、表の各列に割り当てられる操作について、該操作に対応付けられたポイントに−１をかけた値を表に設定する。
【０１６５】
（Ｓ１９４）操作列分割部１０３は、上記の式（４）に基づいて表のセルに入るスコアを計算する。そして、操作列分割部１０３は、計算したスコアを表の各セルに記入する。
（Ｓ１９５）操作列分割部１０３は、図１５に示すように、スコアが０ではない連続するセルを追跡する。また、操作列分割部１０３は、追跡した一連のセルのスコアの中から最大スコアを特定し、最大スコアのセルから左上方に逆追跡して操作列を特定する。このとき、操作列分割部１０３は、最大スコアのセルと、逆追跡の際にスコアが０となる直前にあるセルとを頂点とする矩形のブロック（図１５の太線で囲んだセルのブロック）を特定し、この領域に対応する操作列を手順書毎に特定する。
【０１６６】
（Ｓ１９６）操作列分割部１０３は、手順書の組を選択し終えたか否かを判定する。手順書の組を選択し終えた場合、処理はＳ１９７へと進む。一方、未選択の手順書の組がある場合、処理はＳ１９１へと進む。
【０１６７】
（Ｓ１９７）操作列分割部１０３は、特定した操作列の集合をリストＬ１に設定する。
（Ｓ１９８）操作列分割部１０３は、設定したリストＬ１に基づき、図１８のＳ１３２以降、図１８から図２１に示した一連の処理を実行し、手順書の分割結果を出力する。Ｓ１９８の処理が完了すると、図２４に示した一連の処理は終了する。
【０１６８】
以上、情報処理装置１００が実行する処理の流れについて説明した。かかる処理を実行することにより、操作列間の実質的な共通性に基づいて複数の手順書を分割することが可能になる。その結果、一部操作の省略があっても操作列の内容に応じた適切な共通操作列の抽出が実現でき、操作列の管理や操作の自動化を効率的に行うことが可能になる。
【０１６９】
［２−６．変形例］
ここで、操作列の特定処理の変形例について説明する。この変形例は、操作列特定用の表（図１５を参照）にポイントを反映させるのではなく、ポイントが小さい操作を手順書から省略し、省略後の手順書を利用して共通操作列を特定する方法を提供する。
【０１７０】
図２５は、第２実施形態の一変形例に係る操作列の特定処理の流れを示したフロー図である。なお、ポイントは計算済みであるとする。
（Ｓ２０１）操作列分割部１０３は、操作とポイントの組を１つ選択する。
【０１７１】
（Ｓ２０２）操作列分割部１０３は、ポイントが閾値ＴＰより小さいか否かを判定する。閾値ＴＰ（例えば、０．９など）は予め設定される。また、クラスタに含まれる操作列数と出現頻度が同じ操作は省略できないと考えられるため、閾値ＴＰは１未満の値に設定される。
【０１７２】
（Ｓ２０３）操作列分割部１０３は、選択した操作を省略可能リストに記録する。つまり、省略可能リストに記録された操作が手順書から削除される。
（Ｓ２０４）操作列分割部１０３は、操作とポイントの組を全て選択し終えたか否かを判定する。全ての組を選択し終えた場合、処理はＳ２０５へと進む。一方、未選択の組がある場合、処理はＳ２０１へと進む。
【０１７３】
（Ｓ２０５）操作列分割部１０３は、省略可能リストの操作を各手順書から削除する。このとき、操作列分割部１０３は、省略可能リストの操作をユーザに提示し、省略できない操作を指定させてもよい。この場合、操作列分割部１０３は、指定された操作を省略可能リストから削除し、その操作を手順書から削除しないようにする。
【０１７４】
（Ｓ２０６）操作列分割部１０３は、省略可能な操作が削除された手順書を用いて、図１７に示した処理を実行する。
（Ｓ２０７）操作列分割部１０３は、図１８から図２１に示した処理を実行する。そして、操作列分割部１０３は、手順書の分割結果を出力する。Ｓ２０７の処理が完了すると、図２５に示した一連の処理は終了する。
【０１７５】
以上、変形例について説明した。この変形例の場合も、操作列間の実質的な共通性に基づいて複数の手順書を分割することが可能になる。その結果、一部操作の省略があっても操作列の内容に応じた適切な共通操作列の抽出が実現でき、操作列の管理や操作の自動化を効率的に行うことが可能になる。
【０１７６】
以上、第２実施形態について説明した。
【符号の説明】
【０１７７】
１０  共通操作情報生成装置
１１  記憶部
１２  演算部
２１、２２、２３  手順情報
３１、３２、３３、３４、３５、３６  クラスタ
【図１】
0006365274.tif 000005
【図２】
0006365274.tif 000006
【図３】
0006365274.tif 000007
【図４】
0006365274.tif 000008
【図５】
0006365274.tif 000009
【図６】
0006365274.tif 000010
【図７】
0006365274.tif 000011
【図８】
0006365274.tif 000012
【図９】
0006365274.tif 000013
【図１０】
0006365274.tif 000014
【図１１】
0006365274.tif 000015
【図１２】
0006365274.tif 000016
【図１３】
0006365274.tif 000017
【図１４】
0006365274.tif 000018
【図１５】
0006365274.tif 000019
【図１６】
0006365274.tif 000020
【図１７】
0006365274.tif 000021
【図１８】
0006365274.tif 000022
【図１９】
0006365274.tif 000023
【図２０】
0006365274.tif 000024
【図２１】
0006365274.tif 000025
【図２２】
0006365274.tif 000026
【図２３】
0006365274.tif 000027
【図２４】
0006365274.tif 000028
【図２５】
0006365274.tif 000029