(57)【要約】【課題】より少ない分割数で再利用性の高い分割記号列を得ること。【解決手段】１つ以上の記号を並べた第１記号列Ｇ１が複数格納される記憶部１１と、２つ以上の第１記号列Ｇ１に共通する連続した記号の組である第２記号列Ｇ２を用いて第１記号列Ｇ１を表現した場合に、同じ第２記号列Ｇ２を含む第１記号列Ｇ１の数が大きく、かつ、第１記号列Ｇ１に含まれる第２記号列Ｇ２の数が小さくなるほど高い評価となる評価指標に基づいて第２記号列Ｇ２を選択する演算部１２とを有する、情報処理装置１０が提供される。【選択図】図１
2015069408.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の記号を並べた第１記号列が複数格納される記憶部から、前記第１記号列を取得することが可能なコンピュータが、
２つ以上の前記第１記号列に共通する連続した前記記号の組である第２記号列を用いて前記第１記号列を表現した場合に、同じ前記第２記号列を含む前記第１記号列の数が大きく、かつ、前記第１記号列に含まれる前記第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて前記第２記号列を選択する
分割記号列の決定方法。
【請求項２】
前記第２記号列の先頭に位置する前記記号である先頭記号の種類毎に、含まれる前記記号の数が少ない前記第２記号列から順に前記記号の数に応じて前記第２記号列を順次選択し、選択した前記第２記号列を用いて前記第１記号列を表現した場合の前記評価指標を計算し、計算した前記評価指標に基づいて前記第２記号列を選択する
請求項１に記載の分割記号列の決定方法。
【請求項３】
第１種類の前記先頭記号を有する前記第２記号列の１つを選択候補としたとき、当該第２記号列の先頭から続く１つ以上の前記記号を並べた記号列と、第２種類の前記先頭記号を有する既に選択した前記第２記号列の一部とが一致した場合には前記選択候補を不採用とする
請求項２に記載の分割記号列の決定方法。
【請求項４】
１つ以上の記号を並べた第１記号列が複数格納される記憶部と、
２つ以上の前記第１記号列に共通する連続した前記記号の組である第２記号列を用いて前記第１記号列を表現した場合に、同じ前記第２記号列を含む前記第１記号列の数が大きく、かつ、前記第１記号列に含まれる前記第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて前記第２記号列を選択する演算部と
を有する、情報処理装置。
【請求項５】
１つ以上の記号を並べた第１記号列が複数格納される記憶部から、前記第１記号列を取得することが可能なコンピュータに、
２つ以上の前記第１記号列に共通する連続した前記記号の組である第２記号列を用いて前記第１記号列を表現した場合に、同じ前記第２記号列を含む前記第１記号列の数が大きく、かつ、前記第１記号列に含まれる前記第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて前記第２記号列を選択する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分割記号列の決定方法、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、人間が手作業で行っていた様々な作業がコンピュータなどを利用して自動化され、人間の作業負担が低減されると共に作業効率が飛躍的に向上した。例えば、半導体装置や自動車などの製造現場では、多くの作業工程がロボットやコンピュータなどを利用して自動化されている。また、コンピュータ上で動作するアプリケーションプログラムは、ユーザが行う多くの操作工程を自動的に実行する機能を有している。例えば、無線ネットワークへの接続やディスプレイデバイスの認識などの処理は、コンピュータ上で動作するオペレーティングシステムなどのプログラムにより自動的に実行される。
【０００３】
一連の操作工程を記載した手順書が存在する場合、手順書に含まれる操作工程をコンピュータなどを用いて自動化すれば操作工程の自動化が実現される。また、類似の操作に関する複数の手順書が存在する場合、複数の手順書に共通の操作工程を自動化すれば、自動化した操作工程の運用管理が効率化される可能性がある。例えば、手順書に記載の操作工程を記号で表現し、複数の手順書に共通する記号の組をコンピュータにより抽出できれば、好適な自動化対象を容易に選択できるようになる可能性がある。
【０００４】
文字列の処理に関し、例えば、コンピュータを用いて、記号、英数字、漢字などの文字からなる複数の文字列同士、又は単数の文字列における一部同士を比較して、文字列の中の類似部分である類似部分文字列を検出する技術が提案されている。また、文字列の中から類似部分文字列を検出する方法としてはSmith-Waterman法なども知られている。また、ドキュメント群のドキュメントを分割して部分文字列を生成し、ドキュメント群における部分文字列の出現頻度に基づいてキーワードを抽出する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−  ３８３２９号公報
【特許文献２】特開２００２−１９７０９５号公報
【非特許文献】
【０００６】
【非特許文献１】Smith, Temple F.; and Waterman, Michael S. (1981). "Identification of Common Molecular Subsequences". Journal of Molecular Biology 147: 195-197.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
Smith-Waterman法などの手法を応用すれば、例えば、操作工程を記号で表現した２つの手順書から、共通する最長の記号列を抽出することができると考えられる。共通の記号列を１つの単位として手順書を表現する場合、共通の記号列が長いほど少数の単位で手順書を表現できる。つまり、共通の記号列が長いほど、手順書を記号列の組に分割する際の分割数が少なくなる。この場合、共通の記号列を組み合わせて手順書を表現する際に、手順書を表現する記号列の組み合わせを抽出する処理の負荷が少なくなる。従って、処理負荷の観点からは、複数の手順書に共通する最長の記号列は好適である。
【０００８】
一方、記号列の管理という側面から見ると、同じ記号列が共通して含まれる手順書の数が多いほど（記号列の再利用性が高いほど）管理が容易になる。記号列が長いほど、その記号列を共通して含む手順書の数が少なくなる。そのため、複数の手順書に共通する最長の記号列は、記号列の管理という側面から見ると好適ではない。Smith-Waterman法を適用した場合、上記の再利用性は考慮されない。なお、ここでは説明の都合上、手順書に基づく操作工程の自動化を例に説明したが、複数の記号列を分割して複数の分割記号列を得るような処理について同様の課題がある。
【０００９】
そこで、１つの側面によれば、本発明の目的は、より少ない分割数で再利用性の高い分割記号列を得ることが可能な、分割記号列の決定方法、情報処理装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本開示の１つの側面によれば、１つ以上の記号を並べた第１記号列が複数格納される記憶部から、第１記号列を取得することが可能なコンピュータが、２つ以上の第１記号列に共通する連続した記号の組である第２記号列を用いて第１記号列を表現した場合に、同じ第２記号列を含む第１記号列の数が大きく、かつ、第１記号列に含まれる第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて第２記号列を選択する分割記号列の決定方法が提供される。
【００１１】
また、本開示の他の１つの側面によれば、１つ以上の記号を並べた第１記号列が複数格納される記憶部と、２つ以上の第１記号列に共通する連続した記号の組である第２記号列を用いて第１記号列を表現した場合に、同じ第２記号列を含む第１記号列の数が大きく、かつ、第１記号列に含まれる第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて第２記号列を選択する演算部とを有する、情報処理装置が提供される。
【００１２】
また、本開示の他の１つの側面によれば、１つ以上の記号を並べた第１記号列が複数格納される記憶部から、第１記号列を取得することが可能なコンピュータに、２つ以上の第１記号列に共通する連続した記号の組である第２記号列を用いて第１記号列を表現した場合に、同じ第２記号列を含む第１記号列の数が大きく、かつ、第１記号列に含まれる第２記号列の数が小さくなるほど高い評価となる評価指標に基づいて第２記号列を選択する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１３】
本開示の１つの側面によれば、より少ない分割数で再利用性の高い分割記号列を得ることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る情報処理装置の一例を示した図である。
【図２】第２実施形態に係る分割記号列の決定方法について説明するための第１の図である。
【図３】第２実施形態に係る分割記号列の決定方法について説明するための第２の図である。
【図４】第２実施形態に係る分割記号列の決定方法について説明するための第３の図である。
【図５】第２実施形態に係る分割記号列の決定方法について説明するための第４の図である。
【図６】第２実施形態に係る分割記号列の決定方法について説明するための第５の図である。
【図７】第２実施形態に係る分割記号列の決定方法に関する処理を実行可能なハードウェアの一例を示した図である。
【図８】第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【図９】第２実施形態に係る情報処理装置が実行する処理の流れを示した第１のフロー図である。
【図１０】第２実施形態に係る情報処理装置が実行する処理の流れを示した第２のフロー図である。
【図１１】第２実施形態に係る情報処理装置が実行する処理の流れを示した第３のフロー図である。
【図１２】第２実施形態に係る情報処理装置が実行する処理の流れを示した第４のフロー図である。
【図１３】第２実施形態に係る情報処理装置が実行する処理の流れを示した第５のフロー図である。
【図１４】第２実施形態に係る情報処理装置が実行する処理の流れを示した第６のフロー図である。
【図１５】第２実施形態に係る情報処理装置が実行する処理の流れを示した第７のフロー図である。
【図１６】第２実施形態に係る情報処理装置が実行する処理の流れを示した第８のフロー図である。
【図１７】第２実施形態に係る情報処理装置が実行する処理のうち、分割処理について説明するための図である。
【図１８】第２実施形態に係る情報処理装置が実行する処理のうち、ソート処理について説明するための図である。
【図１９】第２実施形態に係る情報処理装置が実行する処理のうち、記号列の延長処理について説明するための第１の図である。
【図２０】第２実施形態に係る情報処理装置が実行する処理のうち、記号列の延長処理について説明するための第２の図である。
【図２１】第２実施形態に係る情報処理装置が実行する処理の中で用いる第１及び第２記号列領域について説明するための図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１６】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態に係る情報処理装置１０について説明する。図１は、第１実施形態に係る情報処理装置の一例を示した図である。
【００１７】
図１に示すように、情報処理装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１８】
記憶部１１には、１つ以上の記号を並べた第１記号列Ｇ１が複数格納される。図１には、第１記号列Ｇ１の一例として、第１記号列Ｇ１１（「ＸＹＶ」）、第１記号列Ｇ１２（ＸＹＺＵ）、第１記号列Ｇ１３（「ＺＵＷ」）が記載されている。なお、「Ｘ」、「Ｙ」、「Ｖ」、「Ｚ」、「Ｕ」、「Ｗ」は記号の一例である。ここではアルファベットを並べた第１記号列Ｇ１を例示しているが、アルファベット以外の文字、数字、平仮名、漢字、「＃」や「＊」などの記号を並べた第１記号列Ｇ１を利用することも可能である。以下では、第１記号列Ｇ１１、Ｇ１２、Ｇ１３が記憶部１１に格納されているものとして説明を進める。
【００１９】
ここで、２つ以上の第１記号列Ｇ１に共通する連続した記号の組を第２記号列Ｇ２と呼ぶことにする。また、第１記号列Ｇ１に含まれる記号のうち、第２記号列Ｇ２とは異なる記号列を第３記号列Ｇ３と呼ぶことにする。第２記号列Ｇ２を成す記号の数は任意であるため、第１記号列Ｇ１から様々な第２記号列Ｇ２を抽出することができる。同様に、第３記号列Ｇ３を成す記号の数は任意であるため、第１記号列Ｇ１から様々な第３記号列Ｇ３を抽出することができる。
【００２０】
例えば、図１の（Ａ）に示すような第２記号列Ｇ２及び第３記号列Ｇ３の抽出方法がある。この例では、第２記号列Ｇ２として、第２記号列Ｇ２１Ａ（「Ｘ」）、第２記号列Ｇ２２Ａ（「Ｙ」）、第２記号列Ｇ２３Ａ（「Ｚ」）、第２記号列Ｇ２４Ａ（「Ｕ」）が抽出されている。記号列「Ｘ」、「Ｙ」は、いずれも第１記号列Ｇ１１、Ｇ１２に含まれる。記号列「Ｚ」、「Ｕ」は、いずれも第１記号列Ｇ１２、Ｇ１３に含まれる。また、記号列「Ｖ」は１つの第１記号列Ｇ１（第１記号列Ｇ１１）にしか含まれないため、第３記号列Ｇ３（第３記号列Ｇ３１Ａ）となる。記号列「Ｗ」は１つの第１記号列Ｇ１（第１記号列Ｇ１３）にしか含まれないため、第３記号列Ｇ３（第３記号列Ｇ３２Ａ）となる。
【００２１】
図１の（Ａ）に例示した抽出方法の他にも、例えば、図１の（Ｂ）に示すような第２記号列Ｇ２及び第３記号列Ｇ３の抽出方法がある。この例では、第２記号列Ｇ２として、第２記号列Ｇ２１Ｂ（「ＸＹ」）、第２記号列Ｇ２２Ｂ（「ＺＵ」）が抽出されている。記号列「ＸＹ」は、第１記号列Ｇ１１、Ｇ１２に含まれる。記号列「ＺＵ」は、第１記号列Ｇ１２、Ｇ１３に含まれる。また、記号列「Ｖ」は１つの第１記号列Ｇ１（第１記号列Ｇ１１）にしか含まれないため、第３記号列Ｇ３（第３記号列Ｇ３１Ｂ）となる。記号列「Ｗ」は１つの第１記号列Ｇ１（第１記号列Ｇ１３）にしか含まれないため、第３記号列Ｇ３（第３記号列Ｇ３２Ｂ）となる。
【００２２】
図１の（Ａ）及び（Ｂ）に例示した抽出方法の他にも、例えば、図１の（Ｃ）に示すような第２記号列Ｇ２及び第３記号列Ｇ３の抽出方法がある。但し、この例では第２記号列Ｇ２が抽出されていない。一方、第３記号列Ｇ３として、第１記号列Ｇ１１にしか含まれない第３記号列Ｇ３１Ｃ（「ＸＹＶ」）が抽出されている。また、第３記号列Ｇ３として、第１記号列Ｇ１２にしか含まれない第３記号列Ｇ３２Ｃ（「ＸＹＺＵ」）が抽出されている。さらに、第３記号列Ｇ３として、第１記号列Ｇ１３にしか含まれない第３記号列Ｇ３３Ｃ（「ＺＵＷ」）が抽出されている。
【００２３】
このように、第２記号列Ｇ２及び第３記号列Ｇ３には様々な抽出方法がある。但し、演算部１２は、評価指標に基づいて第２記号列Ｇ２を選択する。この評価指標は、第２記号列Ｇ２を用いて第１記号列Ｇ１を表現する場合に、同じ第２記号列Ｇ２を含む第１記号列Ｇ１の数（以下、共有数）が大きく、かつ、第１記号列Ｇ１に含まれる第２記号列Ｇ２の数（以下、含有数）が小さくなるほど高い評価を示す。
【００２４】
なお、共有数が多いほど第２記号列Ｇ２を共通して含む第１記号列Ｇ１の数が多いため、共有数は、第２記号列Ｇ２の共通性を表す。また、第１記号列Ｇ１に含まれる第２記号列Ｇ２の数が多いほど、多くの記号列に第１記号列Ｇ１が分割されることになるため、含有数は、第１記号列Ｇ１の分割性を表す。ここでは第２記号列Ｇ２に注目して共通性及び分割性を考えるが、第３記号列Ｇ３の抽出方法を考慮して共通性及び分割性を考えることもできる。例えば、第３記号列Ｇ３の共有数を１とし、第３記号列Ｇ３の数だけ第１記号列Ｇ１毎の含有数を増加させれば、第３記号列Ｇ３の抽出方法を考慮することができる。
【００２５】
例えば、図１の（Ａ）に例示した抽出方法の場合、第２記号列Ｇ２１Ａの共有数は２、第２記号列Ｇ２２Ａの共有数は２、第２記号列Ｇ２３Ａの共有数は２、第２記号列Ｇ２４Ａの共有数は２である。この例では、共有数の平均は２となる。一方、第１記号列Ｇ１１の含有数は２、第１記号列Ｇ１２の含有数は４、第１記号列Ｇ１３の含有数は２である。この例では、含有数の平均は約２．７となる。
【００２６】
図１の（Ｂ）に例示した抽出方法の場合、第２記号列Ｇ２１Ｂの共有数は２、第２記号列Ｇ２２Ｂの共有数は２である。この例では、共有数の平均は２となる。一方、第１記号列Ｇ１１の含有数は１、第１記号列Ｇ１２の含有数は２、第１記号列Ｇ１３の含有数は１である。この例では、含有数の平均は約１．３となる。また、図１の（Ｃ）に例示した抽出方法の場合、第２記号列Ｇ２がないため、共有数は０、含有数は０である。
【００２７】
図１の（Ａ）に例示した抽出方法は、共通性及び分割性がいずれも高い。従って、この場合には上記の評価指標が低い評価を示す。また、図１の（Ｃ）に例示した抽出方法は、共通性及び分割性がいずれも低い。従って、この場合も上記の評価指標は低い評価を示す。一方、図１の（Ｂ）に例示した抽出方法は、共通性が高く、分割性が低い。従って、この場合には上記の評価指標が高い評価を示す。図１に示した例において、演算部１２は、図１の（Ｂ）に示した第２記号列Ｇ２１Ｂ、Ｇ２２Ｂ、及び第３記号列Ｇ３２Ｂを演算結果Ｇ０として出力する。
【００２８】
演算結果Ｇ０は、第１記号列Ｇ１１、Ｇ１２、Ｇ１３を分割する場合に、共通性が高く、分割性が低い記号列の組み合わせである。上述した演算結果Ｇ０の抽出方法は、例えば、操作工程を記号で表現した複数の手順書に基づいて自動化対象を抽出する際に、手順書の記号列を複数の分割記号列に分割する好適な分割方法を提供する。この例の場合、手順書毎に分割記号列の組み合わせを選択する負担が減ると共に、分割記号列で表現される操作工程の運用管理が容易になる。もちろん、上述した演算結果Ｇ０の抽出方法は、複数の記号列から好適な分割記号列を抽出する様々な処理に適用可能である。
【００２９】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。以下では、説明の都合上、操作手順を示す複数の手順書から、自動化対象として好適な操作工程の組み合わせを決定する方法を例に挙げて説明を進める。但し、第２実施形態に係る技術の適用範囲はこの例に限定されない。
【００３０】
［２−１．分割記号列の決定方法］
まず、図２〜図６を参照しながら、第２実施形態に係る分割記号列の決定方法について説明する。なお、図２〜図６に例示した記号列や分割方法は一例であり、第２実施形態に係る技術の適用範囲はこれに限定されない。例えば、適用可能な記号はアルファベットに限定されず、コンピュータが扱うことが可能な任意の記号を適用することができる。
【００３１】
図２は、第２実施形態に係る分割記号列の決定方法について説明するための第１の図である。図３は、第２実施形態に係る分割記号列の決定方法について説明するための第２の図である。図４は、第２実施形態に係る分割記号列の決定方法について説明するための第３の図である。図５は、第２実施形態に係る分割記号列の決定方法について説明するための第４の図である。図６は、第２実施形態に係る分割記号列の決定方法について説明するための第５の図である。
【００３２】
（記号列への変換）
図２を参照する。手作業で行う操作の流れを記載した手順書は、自然言語で記述されていることが多い。図２の例では、手順書＃１に「操作＃１：ログイン」などと記述され、手順書＃２に「操作＃１：ログオン」などと記述されている。
【００３３】
例えば、「ログイン」と「ログオン」とは同じ内容の操作を表す。このような表現のゆらぎは、同じ内容の操作を自動分類するための辞書データ及び自然言語処理アルゴリズムなどを利用して吸収することができる。そのため、コンピュータを利用して、同じ内容の操作を同じ記号で表現した記号列表現へと手順書＃１、＃２の記載内容を変換することができる。図２の例では、４つの記号「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」を並べた記号列により手順書＃１、＃２が表現されている。以下では記号列表現の手順書を想定して説明を進めるが、各手順書は図２に例示した方法と同様の方法を用いて生成されうる。
【００３４】
（共通性と分割性のバランス）
図３を参照する。図３には、３つの手順書＃１、＃２、＃３が例示されている。手順書＃１は、記号列「ＡＢＣＤＥ」（以下、記号列＃１）で表現されている。手順書＃２は、記号列「ＡＢＣＤ」（以下、記号列＃２）で表現されている。手順書＃３は、記号列「ＣＤＥＦＧ」（以下、記号列＃３）で表現されている。記号「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」は、それぞれ操作工程を表している。
【００３５】
いま、記号列＃１、＃２、＃３をそれぞれ１つ又は複数の記号列（以下、分割記号列）に分割し、記号列＃１、＃２、＃３の少なくとも２つに共通する分割記号列をまとめて、分割記号列を整理する方法について考える。分割方法は任意であるが、一例として、図３に示すような分割方法が考えられる。図３の例では、手順書＃１が、３つの分割記号列Ｂ１１、Ｂ１２、Ｂ１３に分割されている。また、手順書＃２が、２つの分割記号列Ｂ２１、Ｂ２２に分割されている。手順書＃３は、３つの分割記号列Ｂ３１、Ｂ３２、Ｂ３３に分割されている。
【００３６】
２つの分割記号列Ｂ１１、Ｂ２１は同じ記号列である。また、３つの分割記号列Ｂ１２、Ｂ２２、Ｂ３１は同じ記号列である。２つの分割記号列Ｂ１３、Ｂ３２も同じ記号列である。そのため、同じ記号列をまとめることで８つの分割記号列Ｂ１１、…、Ｂ３３は、４つの分割記号列「ＡＢ」、「ＣＤ」、「Ｅ」、「ＦＧ」に整理される。なお、分割記号列「ＡＢ」は、２つの手順書＃１、＃２に共通して含まれる。また、分割記号列「ＣＤ」は、３つの手順書＃１、＃２、＃３に共通して含まれる。分割記号列「Ｅ」は、２つの手順書＃１、＃３に共通して含まれる。分割記号列「ＦＧ」は、１つの手順書＃３に含まれる。
【００３７】
上記のように、複数の手順書に共通して含まれる分割記号列の数が多ければ（つまり、分割記号列の共通性が良好であれば）、管理対象となる分割記号列の数を減らすことができる。例えば、分割記号列を単位として操作工程を自動化する場合、自動化対象の単位数が減り、自動化した操作工程の管理が容易になる。言い換えると、１つの分割記号列を表現に利用する手順書の数（以下、利用数）が多ければ、操作工程の管理が容易になる。
【００３８】
また、１つの手順書を表現する分割記号列の数（以下、分割数）が少なければ（つまり、手順書の分割性が良好であれば）、分割記号列を組み合わせて手順書を再現する場合に費やす演算コストを低減することができる。但し、分割数が少なくなると、手順書から切り出される分割記号列が長くなる。分割記号列が長くなると、その分割記号列を共通して含む手順書の数が減少する可能性が高まる。つまり、分割性と共通性とはトレードオフの関係にあると言える。
【００３９】
そこで、図４に示すように、共通性と分割性とのバランスを考える。図４の（Ａ）は、図３に例示した分割方法を実施した場合に得られる分割記号列毎の利用数を示した表である。図４の（Ｂ）は、図３に例示した分割方法を実施した場合に得られる手順書毎の分割数を示した表である。
【００４０】
図３に例示した分割方法では、図４の（Ａ）に示すように、分割記号列「ＡＢ」の利用数が２、分割記号列「ＣＤ」の利用数が３、分割記号列「Ｅ」の利用数が２、分割記号列「ＦＧ」の利用数が１である。また、図４の（Ｂ）に示すように、手順書＃１の分割数が３、手順書＃２の分割数が３、手順書＃３の分割数が３である。
【００４１】
例えば、共通性を示す指標（以下、共通性指標ＱC）を下記の式（１）で定義すると、図３に例示した分割方法の場合、共通性指標ＱCは２となる。また、分割性を示す指標（以下、分割性指標ＱD）を下記の式（２）で定義すると、図３に例示した分割方法の場合、分割性指標ＱDは約２．７となる。なお、共通性指標ＱCは、値が大きいほど共通性に関して良い特性を表している。一方、分割性指標ＱDは、値が小さいほど分割性に関して良い特性を表している。
【００４２】
【数１】
2015069408.tif 000003
【００４３】
【数２】
2015069408.tif 000004
【００４４】
他の例として、図５に示す分割方法について考える。図５の例は、分割数が最小になる分割方法を示している。図５に示すように、手順書＃１に記載の記号列＃１を１つの分割記号列Ｂ１１とする。同様に、手順書＃２に記載の記号列＃２を１つの分割記号列Ｂ２１とし、手順書＃３に記載の記号列＃３を１つの分割記号列Ｂ３１とする。この場合、分割記号列Ｂ１１、Ｂ２１、Ｂ３１は互いに異なる記号列である。そのため、３つの分割記号列Ｂ１１、Ｂ２１、Ｂ３１は整理されず、そのまま３つの分割記号列「ＡＢＣＤＥ」、「ＡＢＣＤ」、「ＣＤＥＦＧ」が得られる。
【００４５】
図５に例示した分割方法を適用した場合、図５の（Ａ）に示すように、分割記号列「ＡＢＣＤＥ」、「ＡＢＣＤ」、「ＣＤＥＦＧ」の利用数はそれぞれ１となる。また、図５の（Ｂ）に示すように、手順書＃１、＃２、＃３の分割数はそれぞれ１となる。この場合、共通性指標ＱCは１となる。一方、分割性指標ＱDは１となる。つまり、図３に例示した分割方法に比べると、図５に例示した分割方法は、共通性が悪く、分割性が良い。
【００４６】
次に、図６に示す分割方法について考える。図６の例は、利用数が最大になる分割方法を示している。図６に示すように、手順書＃１に記載の記号を全てばらばらにして５つの分割記号列Ｂ１１、Ｂ１２、Ｂ１３、Ｂ１４、Ｂ１５とする。同様に、手順書＃２に記載の記号を全てばらばらにして４つの分割記号列Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４とする。さらに、手順書＃３に記載の記号を全てばらばらにして５つの分割記号列Ｂ３１、Ｂ３２、Ｂ３３、Ｂ３４、Ｂ３５とする。
【００４７】
この場合、２つの分割記号列Ｂ１１、Ｂ２１は同じ記号列である。２つの分割記号列Ｂ１２、Ｂ２２は同じ記号列である。３つの分割記号列Ｂ１３、Ｂ２３、Ｂ３１は同じ記号列である。３つの分割記号列Ｂ１４、Ｂ２４、Ｂ３２は同じ記号列である。２つの分割記号列Ｂ１５、Ｂ３３は同じ記号列である。そのため、分割記号列Ｂ１１、Ｂ１２、Ｂ１３、Ｂ１４、Ｂ１５、Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４、Ｂ３１、Ｂ３２、Ｂ３３は整理され、結果として７つの分割記号列「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」が得られる。
【００４８】
図６に例示した分割方法を適用した場合、図６の（Ａ）に示すように、分割記号列「Ａ」の利用数は２、分割記号列「Ｂ」の利用数は２、分割記号列「Ｃ」の利用数は３、分割記号列「Ｄ」の利用数は３となる。さらに、分割記号列「Ｅ」の利用数は２、分割記号列「Ｆ」の利用数は１、分割記号列「Ｇ」の利用数は１となる。また、図６の（Ｂ）に示すように、手順書＃１の分割数は５、手順書＃２の分割数は４、手順書＃３の分割数は５となる。この場合、共通性指標ＱCは２となる。一方、分割性指標ＱDは約４．７となる。つまり、図３に例示した分割方法に比べると、図６に例示した分割方法は、共通性が良く、分割性が悪い。
【００４９】
第２実施形態では、図３に例示した分割方法のように、共通性と分割性とのバランスがとれた良好な分割方法を提供する仕組みについて考える。
以上、分割記号列の決定方法について説明した。
【００５０】
［２−２．ハードウェアの例］
次に、図７を参照しながら、第２実施形態に係る分割記号列の決定方法に関する処理を実行可能なハードウェアについて説明する。図７は、第２実施形態に係る分割記号列の決定方法に関する処理を実行可能なハードウェアの一例を示した図である。後述する情報処理装置１００が有する機能は、例えば、図７に示すハードウェア資源を用いて実現することが可能である。つまり、情報処理装置１００が有する機能は、コンピュータプログラムを用いて図７に例示したハードウェアを制御することにより実現される。
【００５１】
図７に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（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）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００５９】
以上、ハードウェアの例について説明した。
［２−３．情報処理装置の機能］
次に、図８を参照しながら、共通性と分割性とのバランスがとれた記号列の分割を実現可能な情報処理装置１００の機能について説明する。図８は、第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【００６０】
図８に示すように、情報処理装置１００は、記憶部１０１と、記号列分割部１０２と、記号列ソート部１０３と、最短記号列抽出部１０４と、記号列延長部１０５と、共通記号列抽出部１０６とを有する。
【００６１】
なお、記号列分割部１０２、記号列ソート部１０３、最短記号列抽出部１０４、記号列延長部１０５、及び共通記号列抽出部１０６の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。
【００６２】
記憶部１０１には、対象記号列１０１Ａ、分割記号列１０１Ｂ、ポインタ付き記号列１０１Ｃ、共通記号列１０１Ｄが格納される。対象記号列１０１Ａは、分割対象の記号列である。例えば、上述した記号列＃１などは、対象記号列１０１Ａの一例である。分割記号列１０１Ｂは、対象記号列１０１Ａを分割した記号列である。例えば、上述した分割記号列Ｂ１１などは、分割記号列１０１Ｂの一例である。
【００６３】
ポインタ付き記号列１０１Ｃは、設定した条件を満たす分割記号列１０１Ｂを識別するためのポインタと、該当する分割記号列１０１Ｂとを対応付けた情報である。共通記号列１０１Ｄは、対象記号列１０１Ａについて、共通性と分割性とのバランスが好適であると判断された分割記号列である。
【００６４】
記号列分割部１０２は、記憶部１０１から全ての対象記号列１０１Ａを読み出す。対象記号列１０１Ａを読み出した記号列分割部１０２は、対象記号列１０１Ａをそれぞれ１つ又は複数の記号列に分割し、複数の対象記号列１０１Ａに共通して含まれる記号列を整理して分割記号列１０１Ｂを生成する。記号列分割部１０２により生成された分割記号列１０１Ｂは、記憶部１０１に格納される。
【００６５】
記号列ソート部１０３は、先頭部分に位置する記号の種類毎に辞書順で、記号列分割部１０２により生成された分割記号列１０１Ｂを並べる。例えば、４つの分割記号列「ＡＢＣ」、「ＢＤ」、「ＥＦＧ」、「ＥＧ」があった場合、記号列ソート部１０３は、各分割記号列の先頭部分に位置する記号を参照し、先頭に位置する記号が「Ａ」の分割記号列「ＡＢＣ」を最上位に並べる。また、記号列ソート部１０３は、先頭に位置する記号が「Ｂ」の分割記号列「ＢＤ」を第２位に並べる。
【００６６】
また、記号列ソート部１０３は、先頭に位置する記号「Ｅ」が同じ分割記号列「ＥＦＧ」、「ＥＧ」のうち、長さが短い分割記号列「ＥＧ」を第３位に並べ、長さが長い分割記号列「ＥＦＧ」を第４位に並べる。なお、ここではアルファベットの並び順に分割記号列１０１Ｂがソートされる例を示したが、数字、ひらがな、漢字など、別種の記号を用いる場合には、その記号の種類毎に設定された並び順（例えば、辞書に記載の順番）で分割記号列１０１Ｂがソートされる。
【００６７】
最短記号列抽出部１０４は、記号列ソート部１０３によりソートされた分割記号列１０１Ｂを参照し、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、長さが最も短い分割記号列１０１Ｂ（最短の分割記号列１０１Ｂ）を抽出する。さらに、最短記号列抽出部１０４は、抽出した分割記号列１０１Ｂにポインタを付与する。また、最短記号列抽出部１０４は、分割記号列１０１Ｂとポインタとを対応付けたポインタ付き記号列１０１Ｃを記憶部１０１に格納する。
【００６８】
記号列延長部１０５は、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、ポインタが付与された分割記号列１０１Ｂから順に、より長い分割記号列１０１Ｂを順次選択して、選択した分割記号列１０１Ｂについて共通性と分割性とのバランスを評価する。
【００６９】
例えば、記号列延長部１０５は、選択した分割記号列１０１Ｂを用いて対象記号列１０１Ａを分割した場合の利用数及び分割数を計算し、下記の式（３）に示すバランス指標Ｑを求める。但し、「利用数合計の最大値」とは、図６に例示した分割方法のように、利用数が最大となる分割方法で分割した場合に得られる利用数の合計値（図６の例では１４）を表す。「分割数合計の最小値」とは、図５に例示した分割方法のように、分割数が最小となる分割方法で分割した場合に得られる分割数の合計値（図５の例では３）を表す。
【００７０】
【数３】
2015069408.tif 000005
【００７１】
上記の式（３）から明らかなように、バランス指標Ｑは、利用数の合計が大きくなるほど値が大きくなり、分割数の合計が小さくなるほど値が大きくなる。そこで、記号列延長部１０５は、バランス指標Ｑが最大となる分割記号列１０１Ｂの組み合わせを決定する。記号列延長部１０５は、決定した分割記号列１０１Ｂの組み合わせを共通記号列抽出部１０６に入力する。共通記号列抽出部１０６は、記号列延長部１０５から入力された分割記号列１０１Ｂの組み合わせを共通記号列１０１Ｄとして記憶部１０１に格納する。
【００７２】
以上、情報処理装置１００の機能について説明した。
［２−４．処理フロー］
次に、情報処理装置１００が実行する処理の流れについて説明する。
【００７３】
（説明の流れ）
まず、図９を参照しながら、全体的な処理の流れについて説明する。次いで、図１０を参照しながら、分割処理の流れについて説明する。次いで、図１１を参照しながら、ソート処理の流れについて説明する。次いで、図１２を参照しながら、最短記号列を抽出する処理の流れについて説明する。次いで、図１３〜図１５を参照しながら、記号列を延長する処理の流れについて説明する。次いで、図１６を参照しながら、共通記号列を抽出する処理の流れについて説明する。これらの説明の中で、適宜、図１７〜図２１を参照する。
【００７４】
図９は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第１のフロー図である。図１０は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第２のフロー図である。図１１は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第３のフロー図である。図１２は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第４のフロー図である。
【００７５】
図１３は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第５のフロー図である。図１４は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第６のフロー図である。図１５は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第７のフロー図である。図１６は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第８のフロー図である。
【００７６】
図１７は、第２実施形態に係る情報処理装置が実行する処理のうち、分割処理について説明するための図である。図１８は、第２実施形態に係る情報処理装置が実行する処理のうち、ソート処理について説明するための図である。図１９は、第２実施形態に係る情報処理装置が実行する処理のうち、記号列の延長処理について説明するための第１の図である。図２０は、第２実施形態に係る情報処理装置が実行する処理のうち、記号列の延長処理について説明するための第２の図である。図２１は、第２実施形態に係る情報処理装置が実行する処理の中で用いる第１及び第２記号列領域について説明するための図である。
【００７７】
（全体的な処理の流れについて）
図９を参照する。なお、図９に示した一連の処理は、情報処理装置１００により実行される。また、ここでは説明の都合上、記憶部１０１に格納された対象記号列１０１Ａを分割する処理を想定して説明を行う。
【００７８】
（Ｓ１０１）記号列分割部１０２は、記憶部１０１から全ての対象記号列１０１Ａを読み出す。対象記号列１０１Ａを読み出した記号列分割部１０２は、対象記号列１０１Ａをそれぞれ１つ又は複数の記号列に分割し、複数の対象記号列１０１Ａに共通して含まれる記号列を整理して分割記号列１０１Ｂを生成する。記号列分割部１０２により生成された分割記号列１０１Ｂは、記憶部１０１に格納される。
【００７９】
（Ｓ１０２）記号列ソート部１０３は、記憶部１０１から分割記号列１０１Ｂを読み出す。分割記号列１０１Ｂを読み出した記号列ソート部１０３は、先頭部分に位置する記号（先頭記号）の種類毎に辞書順で、記号列分割部１０２により生成された分割記号列１０１Ｂを並べる。また、記号列ソート部１０３は、先頭記号の種類毎に、長さが短い順に分割記号列１０１Ｂをソートする。
【００８０】
（Ｓ１０３）最短記号列抽出部１０４は、記号列ソート部１０３によりソートされた分割記号列１０１Ｂを参照し、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、長さが最も短い分割記号列１０１Ｂ（最短の分割記号列１０１Ｂ）を抽出する。さらに、最短記号列抽出部１０４は、抽出した分割記号列１０１Ｂにポインタを付与する。また、最短記号列抽出部１０４は、分割記号列１０１Ｂとポインタとを対応付けたポインタ付き記号列１０１Ｃを記憶部１０１に格納する。
【００８１】
（Ｓ１０４）記号列延長部１０５は、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、ポインタが付与された分割記号列１０１Ｂから順に、より長い分割記号列１０１Ｂを順次選択して、選択した分割記号列１０１Ｂについて共通性と分割性とのバランスを評価する。例えば、記号列延長部１０５は、上記の式（３）に示すバランス指標Ｑを用いて共通性と分割性とのバランスを評価する。そして、記号列延長部１０５は、バランス指標Ｑが最大となる分割記号列１０１Ｂの組み合わせを決定する。記号列延長部１０５は、決定した分割記号列１０１Ｂの組み合わせを共通記号列抽出部１０６に入力する。
【００８２】
（Ｓ１０５）共通記号列抽出部１０６は、記号列延長部１０５から入力された分割記号列１０１Ｂの組み合わせを共通記号列１０１Ｄとして記憶部１０１に格納する。Ｓ１０５の処理が完了すると、図９に示した一連の処理は終了する。
【００８３】
以上、全体的な処理の流れについて説明した。
（分割処理について）
次に、図１０を参照する。なお、図１０に示した一連の処理は、Ｓ１０１の処理に対応する。また、図１０に示した一連の処理は、主に記号列分割部１０２により実行される。
【００８４】
（Ｓ１１１）記号列分割部１０２は、記憶部１０１から読み出した複数の対象記号列１０１Ａを並べる。また、記号列分割部１０２は、先頭に位置する対象記号列１０１Ａにポインタｐを設定する。
【００８５】
（Ｓ１１２）記号列分割部１０２は、ポインタｐを設定した対象記号列１０１Ａの次に位置する対象記号列１０１Ａにポインタｑを設定する。
（Ｓ１１３）記号列分割部１０２は、ポインタｐを設定した対象記号列１０１Ａと、ポインタｑを設定した対象記号列１０１Ａとの間で共通する記号列を検出し、共通する記号列を分割記号列１０１Ｂとする。また、記号列分割部１０２は、共通する記号列を用いてポインタｐを設定した対象記号列１０１Ａ及びポインタｑを設定した対象記号列１０１Ａを分割し、共通した記号列とは異なる部分（他の部分）を分割記号列１０１Ｂとする。
【００８６】
（Ｓ１１４）記号列分割部１０２は、ポインタｐを設定した対象記号列１０１Ａを分割して得られた分割記号列１０１Ｂと、この対象記号列１０１Ａを識別するための識別情報とを対応付けて記憶部１０１に記録する。
【００８７】
（Ｓ１１５）記号列分割部１０２は、ポインタｑを設定した対象記号列１０１Ａを分割して得られた分割記号列１０１Ｂと、この対象記号列１０１Ａを識別するための識別情報とを対応付けて記憶部１０１に記録する。
【００８８】
（Ｓ１１６）記号列分割部１０２は、ポインタｑを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａであるか否かを判定する。ポインタｑを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａである場合、処理はＳ１１７へ進む。一方、ポインタｑを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａでない場合、処理はＳ１１８へ進む。
【００８９】
（Ｓ１１７）記号列分割部１０２は、ポインタｑを１つ進める。つまり、Ｓ１１７の処理前にポインタｑが設定されていた対象記号列１０１Ａの次に位置する対象記号列１０１Ａを指すように、ポインタｑが更新される。Ｓ１１７の処理を完了すると、処理はＳ１１３へ進む。
【００９０】
（Ｓ１１８）記号列分割部１０２は、ポインタｐを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａの１つ前に位置する対象記号列１０１Ａであるか否かを判定する。ポインタｐを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａの１つ前に位置する対象記号列１０１Ａである場合、図１０に示した一連の処理は終了する。一方、ポインタｐを設定した対象記号列１０１Ａが最後の対象記号列１０１Ａの１つ前に位置する対象記号列１０１Ａでない場合、処理はＳ１１９へ進む。
【００９１】
（Ｓ１１９）記号列分割部１０２は、ポインタｐを１つ進める。つまり、Ｓ１１９の処理前にポインタｐが設定されていた対象記号列１０１Ａの次に位置する対象記号列１０１Ａを指すように、ポインタｐが更新される。Ｓ１１９の処理を完了すると、処理はＳ１１２へ進む。
【００９２】
図１０に示した一連の処理を実行することで分割記号列１０１Ｂが得られる。
ここで、手順書＃１の記号列「ＡＢＣＤＥ」、手順書＃２の記号列「ＡＢＣＤ」、手順書＃３の記号列「ＣＤＥＦＧ」を対象記号列１０１Ａとする場合（図１７の（Ａ）を参照）を例に、上述した分割処理の流れについて、さらに説明する。
【００９３】
記号列分割部１０２は、手順書＃１にポインタｐを設定する。次いで、記号列分割部１０２は、手順書＃２にポインタｑを設定する。次いで、記号列分割部１０２は、手順書＃１、＃２の間で共通する記号列を検出する。この例では、手順書＃１、＃２の間で１つの記号列「ＡＢＣＤ」が共通している。そのため、記号列分割部１０２は、検出した記号列「ＡＢＣＤ」を分割記号列１０１Ｂとする。
【００９４】
次いで、記号列分割部１０２は、検出した記号列「ＡＢＣＤ」を用いて手順書＃１、＃２の記号列を分割する。この例では、手順書＃１が２つの記号列「ＡＢＣＤ」、「Ｅ」で表現され、手順書＃２が１つの記号列「ＡＢＣＤ」で表現される。そのため、記号列分割部１０２は、検出した記号列「ＡＢＣＤ」と異なる部分（他の部分）である記号列「Ｅ」を分割記号列１０１Ｂとする。
【００９５】
分割記号列１０１Ｂとされた記号列「ＡＢＣＤ」は手順書＃１、＃２に含まれ、記号列「Ｅ」は手順書＃１に含まれる。そのため、記号列「ＡＢＣＤ」は、分割記号列１０１Ｂとして、手順書＃１、＃２の識別情報（例えば、手順書名）に対応付けて記憶部１０１に記録される。また、記号列「Ｅ」は、分割記号列１０１Ｂとして、手順書＃１の識別情報に対応付けて記憶部１０１に記録される。
【００９６】
このとき、ポインタｑを設定した手順書＃２の次には手順書＃３が存在する。そのため、ポインタｑが１つ進められ、ポインタｑが手順書＃３に設定される。そして、手順書＃１、＃３で共通する記号列が検出される。この例では、手順書＃１、＃３の間で１つの記号列「ＣＤＥ」が共通している。そのため、記号列分割部１０２は、検出した記号列「ＣＤＥ」を分割記号列１０１Ｂとする。
【００９７】
次いで、記号列分割部１０２は、検出した記号列「ＣＤＥ」を用いて手順書＃１、＃３の記号列を分割する。この例では、手順書＃１が２つの記号列「ＡＢ」、「ＣＤＥ」で表現され、手順書＃３が２つの記号列「ＣＤＥ」、「ＦＧ」で表現される。そのため、記号列分割部１０２は、検出した記号列「ＣＤＥ」と異なる部分（他の部分）である記号列「ＡＢ」、「ＦＧ」を分割記号列１０１Ｂとする。
【００９８】
分割記号列１０１Ｂとされた記号列「ＣＤＥ」は手順書＃１、＃３に含まれ、記号列「ＡＢ」は手順書＃１に含まれ、記号列「ＦＧ」は手順書＃３に含まれる。そのため、記号列「ＣＤＥ」は、分割記号列１０１Ｂとして、手順書＃１、＃３の識別情報に対応付けて記憶部１０１に記録される。また、記号列「ＡＢ」は、分割記号列１０１Ｂとして、手順書＃１の識別情報に対応付けて記憶部１０１に記録される。また、記号列「ＦＧ」は、分割記号列１０１Ｂとして、手順書＃３の識別情報に対応付けて記憶部１０１に記録される。
【００９９】
このとき、ポインタｑを設定した手順書＃３は最後の手順書である。また、ポインタｐは最後の手順書である手順書＃３の１つ前に位置する手順書＃２に設定されていないため、ポインタｐが１つ進められる。また、ポインタｐが指す手順書＃２の次に位置する手順書＃３にポインタｑが設定され、上記の同様に手順書＃２、＃３の間で共通する記号列「ＣＤ」、他の部分に相当する記号列「ＡＢ」、「ＥＦＧ」が分割記号列１０１Ｂとして記憶部１０１に記録される。
【０１００】
図１７の（Ｂ）に示すように、手順書＃１、＃２、＃３の記号列は、手順書の組み合わせ毎に、共通する記号列で分割される（分割される部分を縦線「｜」で表現している）。また、図１７の（Ａ）に示した手順書＃１、＃２、＃３を分割した場合、図１７の（Ｃ）に示す７つの分割記号列１０１Ｂが得られる。記号列分割部１０２は、このような方法により対象記号列１０１Ａから分割記号列１０１Ｂを生成する。
【０１０１】
以上、分割処理の流れについて説明した。
（ソート処理について）
次に、図１１を参照する。なお、図１１に示した一連の処理は、Ｓ１０２の処理に対応する。また、図１１に示した一連の処理は、主に記号列ソート部１０３により実行される。
【０１０２】
（Ｓ１２１）記号列ソート部１０３は、対象記号列１０１Ａの識別情報を対応付けた分割記号列１０１Ｂの情報を記憶部１０１から読み出す。そして、記号列ソート部１０３は、分割記号列１０１Ｂの先頭記号を参照し、先頭記号が辞書順に並ぶように分割記号列１０１Ｂの情報をソートする。例えば、アルファベット順、数字の小さい順など、記号の種類毎に設定された記号の順序（辞書順）に従って分割記号列１０１Ｂの情報がソートされる。
【０１０３】
（Ｓ１２２）記号列ソート部１０３は、ソートした情報の中から、分割記号列１０１Ｂが同じであるが、対応付けられた対象記号列１０１Ａが異なる情報を検出する。分割記号列１０１Ｂが同じであるが、対応付けられた対象記号列１０１Ａが異なる情報を検出した場合、記号列ソート部１０３は、検出した情報をマージする。つまり、記号列ソート部１０３は、検出した情報に含まれる全ての対象記号列１０１Ａを該当する分割記号列１０１Ｂに対応付けて情報を１つにまとめる。
【０１０４】
（Ｓ１２３）記号列ソート部１０３は、分割記号列１０１Ｂに対応付けられている対象記号列１０１Ａの数をカウントし、カウントした数を分割記号列１０１Ｂに対応付けて記憶部１０１に記録する。なお、カウントした数は、同じ分割記号列１０１Ｂを含む対象記号列１０１Ａの数（利用数）である。つまり、記号列ソート部１０３は、分割記号列１０１Ｂに利用数を対応付けて記憶部１０１に記録する。Ｓ１２３の処理が完了すると、図１１に示した一連の処理は終了する。
【０１０５】
以上、ソート処理の流れについて説明した。
（最短記号列の抽出処理について）
次に、図１２を参照する。なお、図１２に示した一連の処理は、Ｓ１０３の処理に対応する。また、図１２に示した一連の処理は、主に最短記号列抽出部１０４により実行される。
【０１０６】
（Ｓ１３１）最短記号列抽出部１０４は、対象記号列１０１Ａの識別情報、分割記号列１０１Ｂ、及び利用数が対応付けられた情報（以下、記号列情報）を記憶部１０１から読み出す。そして、最短記号列抽出部１０４は、読み出した記号列情報の中で最上位に位置する記号列情報にポインタｐを設定する。
【０１０７】
（Ｓ１３２）最短記号列抽出部１０４は、先行記号列に初期値（空記号：ＮＵＬＬ）を設定する。なお、先行記号列は、図１２に示す一連の処理において適宜設定される記号列である。
【０１０８】
（Ｓ１３３）最短記号列抽出部１０４は、ポインタｐを設定した記号列情報に含まれる分割記号列１０１Ｂのプリフィックス（先頭部分の記号列）が先行記号列と一致するか否かを判定する。ポインタｐを設定した記号列情報に含まれる分割記号列１０１Ｂのプリフィックスが先行記号列と一致する場合、処理はＳ１３６に進む。一方、ポインタｐを設定した記号列情報に含まれる分割記号列１０１Ｂのプリフィックスが先行記号列と一致しない場合、処理はＳ１３４に進む。
【０１０９】
（Ｓ１３４）最短記号列抽出部１０４は、ポインタｐを設定した記号列情報に含まれる分割記号列１０１Ｂを先行記号列に設定する。
（Ｓ１３５）最短記号列抽出部１０４は、ポインタｐが指している記号列情報の位置を示す位置情報を記憶部１０１に記録する。
【０１１０】
（Ｓ１３６）最短記号列抽出部１０４は、ポインタｐを設定した記号列情報が最後の記号列情報であるか否かを判定する。ポインタｐを設定した記号列情報が最後の記号列情報である場合、図１２に示した一連の処理は終了する。一方、ポインタｐを設定した記号列情報が最後の記号列情報でない場合、処理はＳ１３７へ進む。
【０１１１】
（Ｓ１３７）最短記号列抽出部１０４は、ポインタｐを１つ進める。つまり、Ｓ１３７の処理前にポインタｐが設定されていた記号列情報の次に位置する記号列情報を指すように、ポインタｐが更新される。Ｓ１３７の処理を完了すると、処理はＳ１３３へ進む。
【０１１２】
図１２に示した一連の処理を実行することにより、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、最短の分割記号列１０１Ｂに対応する記号列情報を示すポインタの位置情報が記憶部１０１に記録される。例えば、図１７に例示した分割記号列１０１Ｂについて既に説明したソート処理及び上述した最短記号列の抽出処理を適用すると、最短の分割記号列１０１Ｂにポインタの位置情報が付された図１８に示すような情報が得られる。
【０１１３】
以上、最短記号列を抽出する処理の流れについて説明した。
（記号列の延長処理について）
次に、図１３〜図１５を参照する。なお、図１３〜図１５に示した一連の処理は、Ｓ１０４の処理に対応する。また、図１３〜図１５に示した一連の処理は、主に記号列延長部１０５により実行される。
【０１１４】
（Ｓ１４１）記号列延長部１０５は、分割記号列１０１Ｂの先頭に位置する記号の種類毎に、最短の分割記号列１０１Ｂを抽出する。このとき、記号列延長部１０５は、最短記号列抽出部１０４により記号列情報に対応付けられたポインタの位置情報を参照する。
【０１１５】
また、記号列延長部１０５は、記号列延長部１０５により抽出された最短の分割記号列１０１Ｂを先頭記号の種類毎に並べた分割記号列１０１Ｂの集合を第１記号列領域に設定する。なお、第１記号列領域は、分割記号列１０１Ｂを設定する情報領域である。
【０１１６】
（Ｓ１４２）記号列延長部１０５は、第１記号列領域の先頭に位置する分割記号列１０１Ｂにポインタｃを設定する。
（Ｓ１４３）記号列延長部１０５は、最大スコアを０に設定する。なお、最大スコアは、図１３〜図１５に示した一連の処理において適宜設定されるパラメータである。
【０１１７】
（Ｓ１４４）記号列延長部１０５は、延長記号列に初期値（空記号：ＮＵＬＬ）を設定する。なお、延長記号列は、図１３〜図１５に示した一連の処理において適宜設定される記号列である。
【０１１８】
（Ｓ１４５）記号列延長部１０５は、ポインタｃが指す分割記号列１０１Ｂとプリフィックスが共通な分割記号列１０１Ｂを抽出する。例えば、記号列「ＡＢＣＤ」は、記号列「ＡＢ」とプリフィックス（先頭の記号列）が共通な記号列である。記号列延長部１０５は、抽出した分割記号列１０１Ｂを第２記号列領域に設定する。なお、第２記号列領域は、分割記号列１０１Ｂを設定する情報領域である。
【０１１９】
（Ｓ１４６）記号列延長部１０５は、第２記号列領域の先頭に位置する分割記号列１０１Ｂにポインタｐを設定する。Ｓ１４６の処理が完了すると、処理は、図１４に示したＳ１４７へ進む。
【０１２０】
（Ｓ１４７）記号列延長部１０５は、ポインタｐを設定した分割記号列１０１Ｂが、登録済みの分割記号列１０１Ｂに関する分割と衝突するか否かを判定する。
後述するように、図１３〜図１５に示した一連の処理により、先頭記号の種類毎に第１記号列領域に設定した分割記号列１０１Ｂが更新され、バランス指標Ｑに基づいて最終的に第１記号列領域の設定内容（登録）が確定する。登録済みの分割記号列１０１Ｂとは、第１記号列領域への登録が確定した分割記号列１０１Ｂを意味する。また、登録済みの分割記号列１０１Ｂに関する分割とは、登録済みの分割記号列１０１Ｂと、Ｓ１４７の処理前に第１記号列領域に設定されている分割記号列１０１Ｂとを用いて行う対象記号列１０１Ａの分割を意味する。
【０１２１】
また、衝突とは、第１記号列領域に設定されている分割記号列１０１Ｂのうち、プリフィックスが共通する分割記号列１０１Ｂをポインタｐを設定した分割記号列１０１Ｂに置き換えた場合に生じる登録済みの分割記号列１０１Ｂに関する分割の変更に関する。登録済みの分割記号列１０１Ｂによる分割の対象である対象記号列１０１Ａが、上記置き換えにより、登録済みの分割記号列１０１Ｂを用いて分割することができなくなる状況が衝突である。
【０１２２】
例えば、登録済みの分割記号列「ＡＢＣ」と、分割記号列「Ｄ」とで分割する記号列「ＡＢＣＤ」がある状況で、分割記号列「Ｄ」を分割記号列「ＤＥ」に置き換えた場合に衝突が生じる。このように、ポインタｐを設定した分割記号列１０１Ｂが、登録済みの分割記号列１０１Ｂに関する分割と衝突する場合、処理はＳ１４８に進む。一方、ポインタｐを設定した分割記号列１０１Ｂが、登録済みの分割記号列１０１Ｂに関する分割と衝突しない場合、処理はＳ１５２に進む。
【０１２３】
（Ｓ１４８）記号列延長部１０５は、ポインタｐを設定した分割記号列１０１Ｂについてバランス指標Ｑを計算する。例えば、記号列延長部１０５は、第１記号列領域に設定した分割記号列１０１Ｂのうち、ポインタｐを設定した分割記号列１０１Ｂとプリフィックスが共通しない分割記号列１０１Ｂを抽出する。そして、記号列延長部１０５は、抽出した分割記号列１０１Ｂと、ポインタｐを設定した分割記号列１０１Ｂとを用いて対象記号列１０１Ａを分割した場合のバランス指標Ｑを計算する。
【０１２４】
（Ｓ１４９）記号列延長部１０５は、Ｓ１４８の処理で計算したバランス指標Ｑ（計算結果）が最大スコアより大きいか否かを判定する。Ｓ１４８の処理で計算したバランス指標Ｑ（計算結果）が最大スコアより大きい場合、処理はＳ１５０へ進む。一方、Ｓ１４８の処理で計算したバランス指標Ｑ（計算結果）が最大スコアより大きくない場合、処理はＳ１５２へ進む。
【０１２５】
（Ｓ１５０）記号列延長部１０５は、Ｓ１４８の処理で計算したバランス指標Ｑ（計算結果）を最大スコアに設定する。
（Ｓ１５１）記号列延長部１０５は、ポインタｐを設定した分割記号列１０１Ｂを延長記号列に設定する。
【０１２６】
（Ｓ１５２）記号列延長部１０５は、ポインタｐを１つ進める。つまり、第２記号列領域の中で、Ｓ１５２の処理前にポインタｐが設定されていた分割記号列１０１Ｂの次に位置する分割記号列１０１Ｂを指すように、ポインタｐが更新される。
【０１２７】
（Ｓ１５３）記号列延長部１０５は、第２記号列領域の中で、ポインタｐが指す分割記号列１０１Ｂが存在するか否かを判定する。ポインタｐが指す分割記号列１０１Ｂが存在する場合、処理はＳ１４７へ進む。一方、ポインタｐが指す分割記号列１０１Ｂが存在しない場合、処理はＳ１５４へ進む。
【０１２８】
（Ｓ１５４）記号列延長部１０５は、ポインタｃを１つ進める。つまり、第１記号列領域の中で、Ｓ１５４の処理前にポインタｃが設定されていた分割記号列１０１Ｂの次に位置する分割記号列１０１Ｂを指すように、ポインタｃが更新される。Ｓ１５４の処理が完了すると、処理は、図１５に示したＳ１５５へと進む。
【０１２９】
（Ｓ１５５）記号列延長部１０５は、第１記号列領域の中で、ポインタｃが指す分割記号列１０１Ｂが存在するか否かを判定する。ポインタｃが指す分割記号列１０１Ｂが存在する場合、処理は、図１３に示したＳ１４５へと進む。一方、ポインタｃが指す分割記号列１０１Ｂが存在しない場合、処理はＳ１５６へ進む。
【０１３０】
（Ｓ１５６）記号列延長部１０５は、最大スコアが０であるか否かを判定する。最大スコアが０である場合、図１３〜図１５に示した一連の処理は終了する。一方、最大スコアが０でない場合、処理はＳ１５７へ進む。
【０１３１】
（Ｓ１５７）記号列延長部１０５は、第１記号列領域の中に延長記号列とプリフィックスが共通する分割記号列１０１Ｂが存在するか否かを判定する。延長記号列とプリフィックスが共通する分割記号列１０１Ｂが存在する場合、処理はＳ１５８へ進む。一方、第１記号列領域の中に延長記号列とプリフィックスが共通する分割記号列１０１Ｂが存在しない場合、処理はＳ１５９へ進む。
【０１３２】
（Ｓ１５８）記号列延長部１０５は、第１記号列領域に設定された分割記号列１０１Ｂのうち、延長記号列とプリフィックスが共通する分割記号列１０１Ｂを消去する。
（Ｓ１５９）記号列延長部１０５は、延長記号列を第１記号列領域に追加する。Ｓ１５９の処理が完了すると、処理は、図１３に示したＳ１４２へ進む。
【０１３３】
図１３〜図１５に示した一連の処理を実行することでバランス指標Ｑが最大となる分割記号列１０１Ｂの組み合わせ（第１記号列領域の登録内容）が得られる。
ここで、手順書＃１の記号列「ＡＢＣＤＥ」、手順書＃２の記号列「ＡＢＣＤ」、手順書＃３の記号列「ＣＤＥＦＧ」を対象記号列１０１Ａとする場合（図１７の（Ａ）を参照）を例に、上述した記号列の延長処理の流れについて、さらに説明する。
【０１３４】
この例では、図１８に示した分割記号列１０１Ｂが得られる。また、ポインタの位置情報（ｆｏｒ＿Ａ、…、ｆｏｒ＿Ｆ）が設定されている分割記号列１０１Ｂは、先頭記号の種類毎に抽出された最短の分割記号列１０１Ｂである。記号列延長部１０５は、図１９に示すように、これら最短の分割記号列１０１Ｂを第１記号列領域に設定する。図１９の例では、第１記号列領域に４つの分割記号列「ＡＢ」、「ＣＤ」、「Ｅ」、「ＦＧ」が設定される。
【０１３５】
また、記号列延長部１０５は、先頭記号の種類毎に、最短の分割記号列１０１Ｂとプリフィックスが共通する分割記号列１０１Ｂを第２記号列領域（延長記号列の候補）に設定する。図１９の例では、分割記号列「ＡＢ」に対応する第２記号列領域に、１つの分割記号列「ＡＢＣＤ」が設定される。分割記号列「ＣＤ」に対応する第２記号列領域には、１つの分割記号列「ＣＤＥ」が設定される。
【０１３６】
また、分割記号列「Ｅ」に対応する第２記号列領域には、１つの分割記号列「ＥＦＧ」が設定される。また、分割記号列「ＦＧ」とプリフィックスが共通する分割記号列１０１Ｂが存在しないため（図１８を参照）、分割記号列「ＦＧ」に対応する第２記号列領域には何も設定されない（図中では「−」と表記している。）。
【０１３７】
記号列延長部１０５は、第１記号列領域に設定されている分割記号列「ＡＢ」を分割記号列「ＡＢＣＤ」に置き換えたと仮定して、第１記号列領域に設定されている分割記号列１０１Ｂにより対象記号列１０１Ａである手順書＃１、＃２、＃３を分割する。
【０１３８】
図１９の例では、手順書＃１が２つの分割記号列「ＡＢＣＤ」、「Ｅ」に分割される（分割状態「ＡＢＣＤ｜Ｅ」と表記）。手順書＃２は１つの分割記号列「ＡＢＣＤ」で表現される（分割状態「ＡＢＣＤ」と表記）。手順書＃３は３つの分割記号列「ＣＤ」、「Ｅ」、「ＦＧ」に分割される（分割状態「ＣＤ｜Ｅ｜ＦＧ」と表記）。記号列延長部１０５は、これらの分割状態についてバランス指標Ｑを計算する。
【０１３９】
また、記号列延長部１０５は、第１記号列領域に設定されている分割記号列「ＣＤ」を分割記号列「ＣＤＥ」に置き換えたと仮定して、第１記号列領域に設定されている分割記号列１０１Ｂにより対象記号列１０１Ａである手順書＃１、＃２、＃３を分割する。
【０１４０】
図１９の例では、手順書＃１が２つの分割記号列「ＡＢ」、「ＣＤＥ」に分割される（分割状態「ＡＢ｜ＣＤＥ」と表記）。手順書＃２は２つの分割記号列「ＡＢ」、「ＣＤ」で表現される（分割状態「ＡＢ｜ＣＤ」と表記）。手順書＃３は２つの分割記号列「ＣＤＥ」、「ＦＧ」に分割される（分割状態「ＣＤＥ｜ＦＧ」と表記）。記号列延長部１０５は、これらの分割状態についてバランス指標Ｑを計算する。
【０１４１】
また、記号列延長部１０５は、第１記号列領域に設定されている分割記号列「Ｅ」を分割記号列「ＥＦＧ」に置き換えたと仮定して、第１記号列領域に設定されている分割記号列１０１Ｂにより対象記号列１０１Ａである手順書＃１、＃２、＃３を分割する。
【０１４２】
図１９の例では、手順書＃１が３つの分割記号列「ＡＢ」、「ＣＤ」、「Ｅ」に分割される（分割状態「ＡＢ｜ＣＤ｜Ｅ」と表記）。手順書＃２は２つの分割記号列「ＡＢ」、「ＣＤ」で表現される（分割状態「ＡＢ｜ＣＤ」と表記）。手順書＃３は２つの分割記号列「ＣＤ」、「ＥＦＧ」に分割される（分割状態「ＣＤ｜ＥＦＧ」と表記）。記号列延長部１０５は、これらの分割状態についてバランス指標Ｑを計算する。
【０１４３】
そして、記号列延長部１０５は、上記３つの置き換え方法のうち、バランス指標Ｑが最大となる置き換え方法を選択する。図１９の例では、第１記号列領域に設定されている分割記号列「ＡＢ」を分割記号列「ＡＢＣＤ」に置き換えた場合にバランス指標Ｑが最大になる。そのため、記号列延長部１０５は、第１記号列領域に設定されている分割記号列「ＡＢ」を分割記号列「ＡＢＣＤ」に置き換える。この置き換えにより、第１記号列領域には、図２０に示すように、４つの分割記号列「ＡＢＣＤ」、「ＣＤ」、「Ｅ」、「ＦＧ」が設定された状態となる。
【０１４４】
次に、記号列延長部１０５は、先頭記号の種類毎に、第１記号列領域に設定された分割記号列１０１Ｂとプリフィックスが共通する分割記号列１０１Ｂを第２記号列領域（延長記号列の候補）に設定する。図２０の例では、分割記号列「ＣＤ」に対応する第２記号列領域には、１つの分割記号列「ＣＤＥ」が設定される。また、分割記号列「Ｅ」に対応する第２記号列領域には、１つの分割記号列「ＥＦＧ」が設定される。
【０１４５】
また、分割記号列「ＡＢＣＤ」とプリフィックスが共通する分割記号列１０１Ｂが存在しないため（図１８を参照）、分割記号列「ＡＢＣＤ」に対応する第２記号列領域には何も設定されない（図中では「−」と表記している。）。同様に、分割記号列「ＦＧ」とプリフィックスが共通する分割記号列１０１Ｂが存在しないため（図１８を参照）、分割記号列「ＦＧ」に対応する第２記号列領域には何も設定されない（図中では「−」と表記している。）。
【０１４６】
記号列延長部１０５は、第１記号列領域に設定されている分割記号列「ＣＤ」を分割記号列「ＣＤＥ」に置き換えたと仮定して、第１記号列領域に設定されている分割記号列１０１Ｂにより対象記号列１０１Ａである手順書＃１、＃２、＃３を分割する。
【０１４７】
分割記号列「ＣＤ」を分割記号列「ＣＤＥ」に置き換えた場合、手順書＃１は、２つの分割記号列「ＡＢ」、「ＣＤＥ」に分割される。しかし、この分割は、既に第１記号列領域への登録が確定している分割記号列「ＡＢＣＤ」による手順書＃１の分割（符号Ｒ１の部分）と衝突する。つまり、分割記号列「ＣＤ」から分割記号列「ＣＤＥ」への置き換えは、先頭記号「Ａ」に対応する分割記号列として確定している分割記号列「ＡＢＣＤ」の変更を招くことになる。なお、分割記号列「ＡＢＣＤ」を変更しない場合、分割記号列「ＣＤＥ」は、複数の手順書で共通する分割記号列ではなくなる。
【０１４８】
また、記号列延長部１０５は、第１記号列領域に設定されている分割記号列「Ｅ」を分割記号列「ＥＦＧ」に置き換えたと仮定して、第１記号列領域に設定されている分割記号列１０１Ｂにより対象記号列１０１Ａである手順書＃１、＃２、＃３を分割する。
【０１４９】
図２０の例では、手順書＃１が２つの分割記号列「ＡＢＣＤ」、「Ｅ」に分割される（分割状態「ＡＢＣＤ｜Ｅ」と表記）。手順書＃２は１つの分割記号列「ＡＢＣＤ」で表現される（分割状態「ＡＢＣＤ」と表記）。手順書＃３は２つの分割記号列「ＣＤ」、「ＥＦＧ」に分割される（分割状態「ＣＤ｜ＥＦＧ」と表記）。記号列延長部１０５は、これらの分割状態についてバランス指標Ｑを計算する。そして、記号列延長部１０５は、分割記号列の置き換えによりバランス指標Ｑが改善するか否かを判定する。図２０の例ではバランス指標Ｑが改善していない。
【０１５０】
記号列延長部１０５は、衝突が生じるような分割記号列の置き換えを行わない。また、記号列延長部１０５は、バランス指標Ｑが改善しないような分割記号列の置き換えを行わない。図２０に示すように、バランス指標Ｑが改善する分割記号列の置き換え方法が存在しない場合、記号列延長部１０５は、第１記号列領域に設定した分割記号列１０１Ｂを全て確定させ、記号列の延長処理を終了する。記号列延長部１０５は、このような方法により記号列の延長処理を行いながら、共通性と分割性とのバランスが良い分割記号列１０１Ｂの組み合わせを決定する。
【０１５１】
なお、バランス指標Ｑが同じ値となる複数の置き換え方法が得られた場合、例えば、利用数がより大きい置き換え方法を選ぶなど、予め設定した条件に適した置き換え方法を選択すればよい。この条件は、より重視する分割特性（分割性、共通性など）に応じて任意に設定されてもよい。ところで、上記の例では第２記号列領域に１つの分割記号列１０１Ｂしか含まれていなかったが、図２１に示すように、複数の分割記号列１０１Ｂが第２記号列領域に含まれる場合もある。上述したポインタｐは、このような場合に第２記号列領域内の分割記号列１０１Ｂを指し示すものである。
【０１５２】
以上、記号列を延長する処理の流れについて説明した。
（共通記号列の抽出処理について）
次に、図１６を参照する。なお、図１６に示した一連の処理は、Ｓ１０５の処理に対応する。また、図１６に示した一連の処理は、主に共通記号列抽出部１０６により実行される。
【０１５３】
（Ｓ１６１）共通記号列抽出部１０６は、第１記号列領域に設定された分割記号列１０１Ｂを出力する。Ｓ１６１の処理が完了すると、図１６に示した一連の処理は終了する。共通記号列抽出部１０６により出力された記号列を用いて複数の手順書に記載の記号列を分割し、分割記号列に対応する操作工程を抽出することで、管理の容易さ及び操作の効率をバランス良く考慮した好適な自動化対象の選定が可能になる。もちろん、手順書の自動化とは異なる用途への適用も可能である。
【０１５４】
以上、共通記号列を抽出する処理の流れについて説明した。
以上、情報処理装置１００が実行する処理の流れについて説明した。
以上、第２実施形態について説明した。
【０１５５】
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【符号の説明】
【０１５６】
１０  情報処理装置
１１  記憶部
１２  演算部
Ｇ１、Ｇ１１、Ｇ１２、Ｇ１３  第１記号列
Ｇ２、Ｇ２１Ａ、Ｇ２２Ａ、Ｇ２１Ｂ、Ｇ２２Ｂ、Ｇ２３Ａ、Ｇ２４Ａ  第２記号列
Ｇ３、Ｇ３１Ａ、Ｇ３２Ａ、Ｇ３２Ｂ、Ｇ３２Ｃ、Ｇ３３Ｃ、Ｇ３１Ｂ、Ｇ３１Ｃ  第３記号列
Ｇ０  演算結果
【図１】
2015069408.tif 000006
【図２】
2015069408.tif 000007
【図３】
2015069408.tif 000008
【図４】
2015069408.tif 000009
【図５】
2015069408.tif 000010
【図６】
2015069408.tif 000011
【図７】
2015069408.tif 000012
【図８】
2015069408.tif 000013
【図９】
2015069408.tif 000014
【図１０】
2015069408.tif 000015
【図１１】
2015069408.tif 000016
【図１２】
2015069408.tif 000017
【図１３】
2015069408.tif 000018
【図１４】
2015069408.tif 000019
【図１５】
2015069408.tif 000020
【図１６】
2015069408.tif 000021
【図１７】
2015069408.tif 000022
【図１８】
2015069408.tif 000023
【図１９】
2015069408.tif 000024
【図２０】
2015069408.tif 000025
【図２１】
2015069408.tif 000026