(57)【要約】【課題】再利用性を考慮した更なる分割が可能かどうか判断できるようにすること。【解決手段】記憶部１１から、複数の操作Ａ、Ｂ、Ｃ、Ｄを含む第１の操作シナリオ１１ａと、複数の操作Ａ、ｂ１、ｂ２、Ｆを含む第２の操作シナリオ１１ｂとを取得し、取得した第１の操作シナリオ１１ａと第２の操作シナリオ１１ｂとの中で共通して含まれる操作Ａを抽出し、抽出した操作Ａに後続する、第１の操作シナリオ１１ａ中の操作と所定の類似基準以上の類似度で類似する操作が、第２の操作シナリオ１１ｂに含まれるか含まれないか順に判定し、抽出した操作Ａに後続する操作のうち、所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作１１ｃとして検出する演算部１２を有する共通操作列抽出装置１０が提供される。【選択図】図１
2016167123.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の操作を含む第１の操作シナリオと、複数の操作を含む第２の操作シナリオとを取得し、
取得した前記第１の操作シナリオと前記第２の操作シナリオとの中で共通して含まれる操作を抽出し、
抽出した前記操作に後続する、前記第１の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第２の操作シナリオに含まれるか含まれないか順に判定し、
抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する
処理を実行させる、共通操作列抽出プログラム。
【請求項２】
類似する操作が検出されなくなった際の操作を分岐箇所とする、
請求項１に記載の共通操作列抽出プログラム。
【請求項３】
コンピュータが、
複数の操作を含む第１の操作シナリオと、複数の操作を含む第２の操作シナリオとを取得し、
取得した前記第１の操作シナリオと前記第２の操作シナリオとの中で共通して含まれる操作を抽出し、
抽出した前記操作に後続する、前記第１の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第２の操作シナリオに含まれるか含まれないか順に判定し、
抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する
共通操作列抽出方法。
【請求項４】
記憶部から、複数の操作を含む第１の操作シナリオと、複数の操作を含む第２の操作シナリオとを取得し、取得した前記第１の操作シナリオと前記第２の操作シナリオとの中で共通して含まれる操作を抽出し、抽出した前記操作に後続する、前記第１の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第２の操作シナリオに含まれるか含まれないか順に判定し、抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する演算部を有する
共通操作列抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置に関する。
【背景技術】
【０００２】
作業者が操作する順番に手順が記述された運用手順書が各種運用に応じて複数存在する。運用効率の改善やコンピュータによる手順の自動化などの見地から、複数の運用手順書に記載されている複数の手順を再利用して新たな運用手順書を作成することが望まれている。これら複数の運用手順書に記載されている複数の手順のうち共通性のある手順をまとめて雛形として用意することで複数の手順を再利用しやすくなる可能性がある。
【０００３】
雛形を作成する際、まとまりが小さいほど多くの運用手順書に含まれる可能性が高くなるため再利用される可能性（再利用性）が高まり、まとまりが大きいほど雛形の数が少なくて済むため管理が容易になる可能性（再構築性）が高まる。そのため、再利用性と再構築性とのバランスが良くなるように複数の運用手順書から共通部分を抽出して雛形を作成すれば、より利用しやすい雛形が得られうる。
【０００４】
なお、テキストデータを分割する方法として、文の最小単位で分析区間を区切り、各分析区間に含まれる内容語の特徴及び重要度をもとに分析区間同士の類似度を求め、その類似度の変化に基づいて分割する境界位置を検出する技術が提案されている。また、連続した複数の単語を含むウィンドウを移動させながら、隣接するウィンドウ間の類似度を求め、類似度の分布から類似度が大きく低下する部分をテキストデータの分割位置に決定するＴｅｘｔＴｉｌｉｎｇと呼ばれる技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４１９０２号公報
【非特許文献】
【０００６】
【非特許文献１】Hearst, Marti A. "TextTiling: Segmenting text into multi-paragraph subtopic passages." Computational linguistics 23.1 (1997): 33-64.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
再利用性と再構築性のバランスが良好な雛形が自動生成されれば、運用手順書に記載の手順を有効に再利用できるようになる。しかし、運用手順書が対象とする装置や手順に含まれる操作内容によっては、自動生成された雛形を分割した方が人にとって再利用しやすい雛形となる場合がある。
【０００８】
そこで、本発明の目的は、雛形として生成された複数の操作について再利用性を考慮した分割が可能かどうか判断できる共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置を提供することにある。
【課題を解決するための手段】
【０００９】
本開示の１つの側面によれば、コンピュータに、複数の操作を含む第１の操作シナリオと、複数の操作を含む第２の操作シナリオとを取得し、取得した第１の操作シナリオと第２の操作シナリオとの中で共通して含まれる操作を抽出し、抽出した操作に後続する、第１の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、第２の操作シナリオに含まれるか含まれないか順に判定し、抽出した操作に後続する操作のうち、所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する処理を実行させる、共通操作列抽出プログラムが提供される。
【発明の効果】
【００１０】
本発明によれば、雛形として生成された複数の操作について再利用性を考慮した分割が可能かどうか判断できる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る共通操作列抽出装置の一例を示した図である。
【図２】第２実施形態に係る情報処理装置の一例を示した図である。
【図３】第２実施形態に係る情報処理装置のハードウェアの一例を示した図である。
【図４】第２実施形態に係る情報処理装置の動作の一例を示した図である。
【図５】第３実施形態に係る共通部分の分割について説明した図である。
【図６】ＴｅｘｔＴｉｌｉｎｇによる分割について説明した図である。
【図７】第３実施形態に係る情報処理装置の一例を示した図である。
【図８】第３実施形態に係る補完単語ＤＢの一例を示した図である。
【図９】第３実施形態に係る用言種別ＤＢの一例を示した図である。
【図１０】第３実施形態に係る作業境界ＤＢの一例を示した図である。
【図１１】第３実施形態に係る情報処理装置の動作の一例を示した第１のフロー図である。
【図１２】第３実施形態に係る情報処理装置の動作の一例を示した第２のフロー図である。
【図１３】第３実施形態に係る境界の決定方法とＴｅｘｔＴｉｌｉｎｇによる境界の決定方法との違いを説明した図である。
【図１４】共通部分の生成について説明するための第１の図である。
【図１５】共通部分の生成について説明するための第２の図である。
【図１６】共通部分の生成について説明するための第３の図である。
【図１７】共通部分の生成について説明するための第４の図である。
【図１８】共通部分の生成について説明するための第５の図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１３】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る共通操作列抽出装置の一例を示した図である。
【００１４】
第１実施形態は、それぞれ複数の操作を含む複数の操作シナリオに共通して含まれる操作を基準に、人にとって再利用しやすい操作群を抽出する技術に関する。第１実施形態では、複数の操作シナリオで共通する操作を基準に、操作シナリオを跨ぐ操作間の類似度を考慮するため、再利用する人が認識しうる共通性の要素が加味されることで、より再利用しやすい操作群が得られうる。この方法で得られた操作群が元の操作シナリオに比べて少ない操作を含む場合には、その操作シナリオについて更なる分割が可能と判断できる。以下、当該技術を実現可能な共通操作列抽出装置１０について述べる。
【００１５】
図１に示すように、共通操作列抽出装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１６】
記憶部１１は、複数の操作Ａ、Ｂ、Ｃ、Ｄを含む第１の操作シナリオ１１ａと、複数の操作Ａ、ｂ１、ｂ２、Ｆを含む第２の操作シナリオ１１ｂとを記憶している。また、記憶部１１は、操作間の類似度を判定するための基準となる予め設定された類似基準の情報を記憶している。なお、操作Ｂと操作ｂ１とは、当該類似基準以上の類似度で類似する。また、操作Ｂと操作ｂ２とは、当該類似基準以上の類似度で類似する。なお、類似度の評価は、例えば、ピアソン相関係数やコサイン類似度などを用いて行うことができる。
【００１７】
演算部１２は、第１の操作シナリオ１１ａと、第２の操作シナリオ１１ｂとを記憶部１１から取得し、取得した第１の操作シナリオ１１ａと第２の操作シナリオ１１ｂとの中で共通して含まれる操作を抽出する。図１（Ａ）の例では、第１の操作シナリオ１１ａと第２の操作シナリオ１１ｂとの間で操作Ａが共通するから、演算部１２は、操作Ａを抽出する（図１（Ｂ）のＳ１参照）。
【００１８】
次に、演算部１２は、抽出した操作Ａに後続する、第１の操作シナリオ１１ａ中の操作と上述した類似基準以上の類似度で類似する操作が、第２の操作シナリオ１１ｂに含まれるか含まれないか順に判定する。
【００１９】
図１（Ｂ）の例において、演算部１２は、第１の操作シナリオ１１ａ中で操作Ａに後続する操作Ｂを選択し、操作Ｂと類似基準以上の類似度で類似する操作を第２の操作シナリオ１１ｂ内で検索する。この例では、操作Ｂと、操作ｂ１、ｂ２とが類似基準以上の類似度で類似するため、演算部１２は、操作Ｂに類似する操作が第２の操作シナリオ１１ｂに含まれると判定する（図１（Ｂ）のＳ２参照）。
【００２０】
次に、演算部１２は、第１の操作シナリオ１１ａ中で操作Ｂに後続する操作Ｃを選択し、操作Ｃと類似基準以上の類似度で類似する操作を第２の操作シナリオ１１ｂ内で検索する。この例では、操作Ｃが第２の操作シナリオ１１ｂに含まれるため、演算部１２は、操作Ｃに類似基準以上の類似度で類似する操作が第２の操作シナリオ１１ｂに含まれると判定する（図１（Ｂ）のＳ３参照）。
【００２１】
次に、演算部１２は、第１の操作シナリオ１１ａ中で操作Ｃに後続する操作Ｄを選択し、操作Ｄと類似基準以上の類似度で類似する操作を第２の操作シナリオ１１ｂ内で検索する。この例では、操作Ｄと類似基準以上の類似度で類似する操作はないため、演算部１２は、操作Ｄに類似基準以上で類似する操作が第２の操作シナリオ１１ｂに含まれないと判定する（図１（Ｂ）のＳ４参照）。
【００２２】
演算部１２は、抽出した操作Ａに後続する操作Ｂ、Ｃ、Ｄのうち、上述した類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作１１ｃとして検出する。上記の通り、図１（Ｂ）の例では、Ｓ１からＳ４の処理で類似基準をもとに検出された操作は、操作Ｂ、Ｃである。この場合、演算部１２は、第１の操作シナリオ１１ａと第２の操作シナリオ１１ｂとに共通して含まれる操作Ａを含め、操作群｛Ａ、Ｂ、Ｃ｝を共通操作１１ｃとして検出する（図１（Ｂ）のＳ５参照）。
【００２３】
図１の例では、共通操作１１ｃは、第１の操作シナリオ１１ａよりも操作Ｄの分だけ操作の数が少ない。つまり、さらに再利用性を高める見地から、第１の操作シナリオ１１ａをさらに分割できることが分かる。なお、演算部１２は、第１の操作シナリオ１１ａを共通操作１１ｃの部分と他の部分とを分け、それぞれの部分を再利用する操作のあつまり（雛形）として利用者に提供してもよい。このように、第１実施形態によれば、再利用性を考慮した更なる分割が可能かどうか判断できる。
【００２４】
以上、第１実施形態について説明した。なお、第１実施形態の中で操作を識別するために説明の都合上使用したアルファベットの表記は、後述する第２及び第３実施形態で使用するアルファベットの表記とは独立である。
【００２５】
＜２．第２実施形態＞
次に、第２実施形態について説明する。
第２実施形態は、それぞれ複数の操作を含む複数の操作シナリオに共通して含まれる操作を基準に、人にとって再利用しやすい操作群を抽出する技術に関する。第２実施形態では、複数の操作シナリオで共通する操作を基準に、操作シナリオを跨ぐ操作間の類似度を考慮するため、再利用する人が認識しうる共通性の要素が加味されることで、より再利用しやすい操作群が得られうる。この方法で得られた操作群が元の操作シナリオに比べて少ない操作を含む場合には、その操作シナリオについて更なる分割が可能と判断できる。
【００２６】
［２−１．情報処理装置の機能］
ここで、図２を参照しながら、第２実施形態に係る上記の技術を実現可能な情報処理装置２０の機能について説明する。図２は、第２実施形態に係る情報処理装置の一例を示した図である。
【００２７】
図２に示すように、情報処理装置２０は、記憶部２１、操作抽出部２２、類似判定部２３、及び分割部２４を有する。
なお、記憶部２１の機能は、後述するハードウェアのうちＲＡＭ９０６や記憶部９２０などを用いて実現できる。操作抽出部２２、類似判定部２３、及び分割部２４の機能は、後述するハードウェアのうちＣＰＵ９０２などを用いて実現できる。
【００２８】
図２に示すように、記憶部２１は、第１操作シナリオ２１ａの情報及び第２操作シナリオ２１ｂの情報を記憶する。
第１操作シナリオ２１ａの情報は、複数の操作に関する操作内容と、各操作に対応するフラグとを含む。操作内容は、文字列で表現される。例えば、操作Ａ１の操作内容は「サーバ起動操作１」であり、操作Ａ１に対応するフラグはＯＮに設定されている。図２の例では、第１操作シナリオ２１ａに操作Ａ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１が含まれている。
【００２９】
第２操作シナリオ２１ｂの情報は、複数の操作に関する操作内容を含む。第２操作シナリオ２１ｂには、第１操作シナリオ２１ａと同じ操作内容の操作が含まれている場合がある。図２の例では、第２操作シナリオ２１ｂに含まれる操作Ａ２の操作内容が、第１操作シナリオ２１ａに含まれる操作Ａ１の操作内容と同じである。
【００３０】
操作抽出部２２は、記憶部２１から第１操作シナリオ２１ａ及び第２操作シナリオ２１ｂの情報を取得し、操作内容が同じ操作を抽出する。類似判定部２３は、操作抽出部２２が抽出した操作に対応するフラグをＯＮに設定し、その操作を基準に、第１操作シナリオ２１ａの操作を順に選択し、選択した操作と類似する操作が第２操作シナリオ２１ｂに含まれるか否かを判定する。類似する操作が第２操作シナリオ２１ｂに含まれると判定した場合、類似判定部２３は、基準とした操作に対応するフラグをＯＮに設定する。
【００３１】
操作抽出部２２は、第１操作シナリオ２１ａに含まれる全ての操作について上記の判定を実行する。全ての操作について判定を実行した操作抽出部２２は、全ての操作に対応するフラグがＯＮに設定されている場合、第１操作シナリオ２１ａの分割が不要であると判定する。この場合、分割部２４は、第１操作シナリオ２１ａを分割しない。一方、フラグがＯＮに設定されていない操作がある場合、操作抽出部２２は、分割部２４に第１操作シナリオ２１ａの分割を指示する。
【００３２】
分割の指示を受けた分割部２４は、フラグがＯＮに設定された操作のまとまりを特定し、特定した操作のまとまりと他の連続する操作のまとまりとを分割する。そして、分割部２４は、各操作のまとまりを新たな操作シナリオとして記憶部２１に記憶させる。
【００３３】
以上、情報処理装置２０の機能について説明した。
［２−２．ハードウェア］
次に、図３を参照しながら、情報処理装置２０の機能を実現可能なハードウェアについて説明する。図３は、第２実施形態に係る情報処理装置のハードウェアの一例を示した図である。
【００３４】
情報処理装置２０が有する機能は、例えば、図３に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、情報処理装置２０が有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することにより実現される。
【００３５】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（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）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４３】
以上、情報処理装置２０の機能を実現可能なハードウェアについて説明した。
［２−３．処理の流れ］
次に、図４を参照しながら、情報処理装置２０が実行する処理の流れについて説明する。図４は、第２実施形態に係る情報処理装置の動作の一例を示した図である。
【００４４】
（Ｓ２１）操作抽出部２２は、記憶部２１から第１操作シナリオ２１ａ及び第２操作シナリオ２１ｂを取得する。
（Ｓ２２）操作抽出部２２は、第１操作シナリオ２１ａと第２操作シナリオ２１ｂとの間で共通する共通操作を抽出する。そして、操作抽出部２２は、抽出した共通操作に対応するフラグをＯＮに設定する。また、操作抽出部２２は、抽出した共通操作の情報を類似判定部２３に通知する。
【００４５】
（Ｓ２３、Ｓ２６）類似判定部２３は、第１操作シナリオ２１ａに含まれる操作のうち、共通操作に後続する操作を順に選択し、選択した操作毎にＳ２３とＳ２６との間の処理を順次実行する。
【００４６】
（Ｓ２４）類似判定部２３は、Ｓ２３で選択した操作と類似する操作が第２操作シナリオ２１ｂにあるか否かを判定する。
例えば、類似判定部２３は、第２操作シナリオ２１ｂの上位に位置する操作から順に１つずつ操作を抽出し、Ｓ２３で選択した操作と第２操作シナリオ２１ｂから抽出した操作との間の類似度を計算する。類似度としては、例えば、ピアソン相関係数やコサイン類似度などが適用可能である。そして、類似判定部２３は、計算した類似度が予め設定された閾値以上であるか否かを判定する。類似判定部２３は、第２操作シナリオ２１ｂに含まれる各操作について類似度の閾値判定を実行し、少なくとも１つの操作について類似度が閾値以上である場合、Ｓ２３で選択した操作と類似する操作が第２操作シナリオ２１ｂにあると判定する。
【００４７】
Ｓ２３で選択した操作と類似する操作が第２操作シナリオ２１ｂにあると判定された場合、処理はＳ２５へと進む。一方、Ｓ２３で選択した操作と類似する操作が第２操作シナリオ２１ｂにないと判定された場合、処理はＳ２６へと進み、Ｓ２３で異なる操作が選択されてＳ２３とＳ２６との間の処理が実行される。但し、Ｓ２３で第１操作シナリオ２１ａの操作が全て選択されている場合、処理はＳ２７へと進む。
【００４８】
（Ｓ２５）類似判定部２３は、Ｓ２３で選択された操作（対象の操作）に対応するフラグをＯＮに設定する。Ｓ２５の処理が完了すると、処理はＳ２６へと進み、Ｓ２３で異なる操作が選択されてＳ２３とＳ２６との間の処理が実行される。但し、Ｓ２３で第１操作シナリオ２１ａの操作が全て選択されている場合、処理はＳ２７へと進む。
【００４９】
（Ｓ２７）類似判定部２３は、第１操作シナリオ２１ａに含まれる全ての操作についてフラグがＯＮに設定されているか否かを判定する。
全ての操作についてフラグがＯＮに設定されている場合、図４に示した一連の処理は終了する。一方、フラグがＯＮに設定されていない操作がある場合、分割部２４は、フラグに基づいて第１操作シナリオ２１ａを分割する。例えば、分割部２４は、フラグがＯＮに設定された操作のまとまりと、他の連続する操作のまとまりとを分割し、各まとまりを新たな操作シナリオとする。Ｓ２７の処理が完了すると、図４に示した一連の処理は終了する。
【００５０】
以上、情報処理装置２０が実行する処理の流れについて説明した。
第２実施形態によれば、再利用性を考慮した更なる分割が可能かどうか判断できる。また、更なる分割が可能な場合、再利用性を考慮した好適な分割方法で第１操作シナリオ２１ａを分割することができる。なお、第２実施形態の中で操作を識別するために説明の都合上使用したアルファベットの表記は、後述する第３実施形態で使用するアルファベットの表記とは独立である。
【００５１】
以上、第２実施形態について説明した。
＜３．第３実施形態＞
次に、第３実施形態について説明する。
【００５２】
第３実施形態は、それぞれが複数の操作を含む複数の手順書から再利用性及び再構築性を考慮して抽出した共通部分を、人が再利用しやすい操作のまとまりに再分割する方法を提供する。また、第３実施形態は、テキストデータを分割するＴｅｘｔＴｉｌｉｎｇを操作内容のテキストに適用して共通部分の分割に利用する場合に比べ、再利用のしやすさという観点から、より適切な共通部分の分割を実現可能な分割方法を提供する。
【００５３】
なお、以下では複数の手順書から抽出した共通部分を分割の対象とする場合について説明するが、第３実施形態の技術は、複数の操作に関する操作内容を含む任意のテキストに対して適用可能である。例えば、手順書そのものなど、複数の手順書から共通部分として抽出されたテキスト以外のテキストに対しても適用可能である。但し、説明の都合上、以下では複数の手順書から抽出した共通部分を適用対象として説明する。
【００５４】
［３−１．共通部分の分割について］
まず、図５及び図６を参照しながら、共通部分の分割について、ＴｅｘｔＴｉｌｉｎｇによる分割方法を適用した場合の課題と、第３実施形態に係る分割方法が提供しようとする内容について概説する。図５は、第３実施形態に係る共通部分の分割について説明した図である。図６は、ＴｅｘｔＴｉｌｉｎｇによる分割について説明した図である。
【００５５】
図５には、それぞれ複数の操作内容が記された手順書＃１〜＃３を例示した。手順書＃１は、操作Ａ１、Ｂ１、…、Ｇ１の操作内容を含む。手順書＃２は、操作Ａ２、Ｂ２、…、Ｆ２の操作内容を含む。手順書＃３は、操作Ａ３、Ｂ３、…、Ｈ３の操作内容を含む。図５の例では、例えば、操作Ａ１、Ａ２、Ａ３が同じ操作内容「サーバ起動操作１」である。このように、手順書＃１〜＃３には同じ操作内容が含まれる。
【００５６】
手順書＃１〜＃３の中で共通する操作内容を抽出すると、操作Ａｘ、Ｂｘ、…、Ｆｘと表記した操作の操作内容を有する共通部分が得られる。なお、ここでは操作内容の文字列が手順書＃１〜＃３で一致する操作のまとまりを共通部分とした。操作Ａｘ、Ｂｘ、Ｃｘ（Ｓｖの部分）は、サーバを対象とする操作である。操作Ｄｘ、Ｅｘ、Ｆｘ（Ｐｒの部分）は、プロセスを対象とする操作である。
【００５７】
Ｓｖの部分とＰｒの部分とは操作対象が異なるため、人にとっては共通部分全体よりも個々の部分の方が再利用しやすい。そのため、Ｓｖの部分とＰｒの部分とを分割し、それぞれ共通部分＃１、＃２とすることで再利用性が高まる。分割前の共通部分は操作内容が文字列で表記されたテキストデータであるため、ＴｅｘｔＴｉｌｉｎｇなどの分割技術を利用して共通部分を分割することができる。
【００５８】
ＴｅｘｔＴｉｌｉｎｇは、テキストデータを複数の区間に分け、各区間に含まれる単語群をもとに隣接区間の類似度を評価するスコアを求め、スコア分布の中でスコアが極小となる部分を分割境界として特定する技術である（図６を参照）。ＴｅｘｔＴｉｌｉｎｇを共通部分に適用する場合、例えば、図６に示すように、隣接する複数の操作を１つの区間（ウィンドウＷ１、Ｗ２、…）とし、隣接ウィンドウ間で計算したスコアＳｃの分布から共通部分の分割境界が求められる。
【００５９】
スコアＳｃは、下記の式（１）で与えられる。
但し、ｔは、共通部分の各操作内容から抽出された各単語を特定する指標である。ｉは、評価対象とするウィンドウの位置である。例えば、操作Ａｘ、Ｂｘを含むウィンドウＷ１と、操作Ｂｘ、Ｃｘを含むウィンドウＷ２との類似度を評価する場合はｉ＝１、ウィンドウＷ２と、操作Ｃｘ、Ｄｘを含むウィンドウＷ３との類似度を評価する場合はｉ＝２などとなる。ｆW1（ｔ）は、ウィンドウＷ１に単語ｔが出現する頻度を表す。ｆW2（ｔ）は、ウィンドウＷ２に単語ｔが出現する頻度を表す。
【００６０】
【数１】
2016167123.tif 000003
【００６１】
図６の例では、スコアＳｃの分布が操作Ｃｘ、Ｄｘの間で極小となっているため、共通部分は操作Ｃｘ、Ｄｘの間で分割されうる。図６の例は説明の都合上、極小部分を強調して示しているが、実際には極小点と極大点との間でスコアＳｃの差が小さい場合もある。この場合、スコアＳｃの分布に極小点が得られても、その極小点の前後にあるウィンドウに含まれる文字列の違いが小さく、この極小点で分割すると、内容的に連続しているテキストを分割することになりうる。
【００６２】
そのため、極小点のスコアＳｃが予め設定された閾値よりも小さい場合に、その極小点の部分を分割境界として抽出する閾値判定の処理が行われる。この閾値判定により内容的に連続している部分が分割境界とされる可能性は減るが、一方で、文字列の外形的変化は小さいが内容的変化が大きい部分が分割境界とされにくくなるというリスクがある。
【００６３】
例えば、２つの文字列「サーバＳｖ１起動操作」と「サーバＳｖ２起動操作」は、外形的には数字の１と２が入れ替わっているだけで、その変化は小さい。しかし、手順書に記載の操作という点で見ると、操作対象がサーバＳｖ１からサーバＳｖ２へと変化しており、作業する人にとって内容的な変化は大きい。ＴｅｘｔＴｉｌｉｎｇを適用した場合、このような変化を考慮した共通部分の分割が行われないリスクが高い。
【００６４】
また、ＴｅｘｔＴｉｌｉｎｇは、あくまで文字列の類似度をもとに分割境界を決めているため、内容の変化とは関係がない部分を分割境界として抽出してしまうリスクもある。つまり、手順書から抽出した共通部分を、人にとって再利用しやすい形に再分割するという用途に用いることを考えると、内容に着目した適切な分割が行われないリスクがある点でＴｅｘｔＴｉｌｉｎｇは好適とは言えない。そこで、第３実施形態では、手順書の再分割に、より適した形で共通部分を分割できるようにする技術を提案する。
【００６５】
以上、共通部分の分割について説明した。
［３−２．情報処理装置の機能］
第３実施形態に係る共通部分の分割は、図７に例示した情報処理装置１００により実現される。図７は、第３実施形態に係る情報処理装置の一例を示した図である。図７に示した各ブロックは、情報処理装置１００の機能を表す。
【００６６】
図７に示すように、情報処理装置１００は、共通部分抽出装置１１０に接続される。共通部分抽出装置１１０は、複数の手順書から分割の対象となる共通部分を抽出する装置である。なお、情報処理装置１００及び共通部分抽出装置１１０の機能は、例えば、図３に例示したハードウェアにより実現可能である。また、共通部分の抽出方法は任意であるが、その一例を後段において説明する。共通部分抽出装置１１０は、情報処理装置１００と一体に形成されていてもよい。
【００６７】
情報処理装置１００は、記憶部１０１、ＤＢ管理部１０２、単語補完部１０３、スコア計算部１０４、用言分析部１０５、及び境界判定部１０６を有する。なお、ＤＢはデータベースの略である。
【００６８】
なお、記憶部１０１の機能は、図３に例示したハードウェアのうちＲＡＭ９０６や記憶部９２０などを用いて実現できる。ＤＢ管理部１０２、単語補完部１０３、スコア計算部１０４、用言分析部１０５、及び境界判定部１０６の機能は、図３に例示したハードウェアのうちＣＰＵ９０２などを用いて実現できる。
【００６９】
記憶部１０１は、補完単語ＤＢ１０１ａ、用言種別ＤＢ１０１ｂ、及び作業境界ＤＢ１０１ｃを記憶する。ここで、これらのデータベースについて、図８〜図１０を参照しながら説明する。図８は、第３実施形態に係る補完単語ＤＢの一例を示した図である。図９は、第３実施形態に係る用言種別ＤＢの一例を示した図である。図１０は、第３実施形態に係る作業境界ＤＢの一例を示した図である。
【００７０】
補完単語ＤＢ１０１ａは、図８に示すように、目的語と補完所有格とを対応付けるデータベースである。目的語の欄には、例えば、手順書に登場することが多い目的語が登録される。ここで言う補完所有格は、目的語の欄に登録された語と共に用いられる可能性の高い所有格の語である。例えば、多数の手順書サンプルの中から目的語と共起する確率の高い所有格を自動抽出し、抽出した語が補完所有格の欄に登録される。
【００７１】
用言種別ＤＢ１０１ｂは、図９に示すように、用言と、その用言の種別とを対応付けるデータベースである。用言は、動詞、形容詞、形容動詞を含む。ここで言う用言の種別は、操作形態に関する種別を表す。例えば、人の物理的な操作を表す用言の種別は「物理」、コンピュータに命令を発行させる操作を表す用言の種別は「コマンド」、ＧＵＩ（Graphical User Interface）の操作を表す用言の種別は「ＧＵＩ」に設定される。どの種別にもあてはまらない用言の種別は「不特定」に設定される。
【００７２】
作業境界ＤＢ１０１ｃは、図１０に示すように、用言と、頻度と、作業境界になる可能性（なりやすさ）とを対応付けるデータベースである。頻度は、対応する用言が多数の手順書サンプルの中で作業境界に位置する頻度を表す。作業境界とは、手順書に記載された一連の操作の最後を表し、手順書の末尾に対応する。例えば、“終了する”や“閉じる”などの用言は一連の操作において最後の操作を表すことが多い。
【００７３】
「なりやすさ」は、例えば、「なりやすい」、「普通」、「なりにくい」の３段階に設定される。設定方法としては、手順書の末尾に位置する頻度が閾値Ｔｈ１より高い用言を「なりやすい」とし、頻度が閾値Ｔｈ２（Ｔｈ１＞Ｔｈ２）より高く、閾値Ｔｈ１より低い用言を「普通」とし、それ以外の用言を「なりにくい」とする方法がある。但し、作業境界ＤＢ１０１ｃには、「なりやすい」、「普通」に対応する用言が登録される。
【００７４】
ＤＢ管理部１０２は、補完単語ＤＢ１０１ａ、用言種別ＤＢ１０１ｂ、作業境界ＤＢ１０１ｃを管理する。
補完単語ＤＢ１０１ａの補完所有格を手順書から自動抽出する場合、ＤＢ管理部１０２は、例えば、形態素解析などの自然言語処理を実行し、登録された目的語に対応する補完所有格を特定して補完単語ＤＢ１０１ａを構築する。また、作業境界ＤＢ１０１ｃを自動構築する場合、ＤＢ管理部１０２は、手順書の末尾に位置する用言を検索し、用言毎に手順書の末尾に出現する頻度を計数し、頻度の閾値判定結果をもとに作業境界ＤＢ１０１ｃを構築する。
【００７５】
単語補完部１０３は、補完単語ＤＢ１０１ａを参照し、共通部分に記された操作内容の各目的語に対応する所有格を検索し、目的語に対応する所有格が省略されている場合に補完所有格を追加して操作内容を補完する。スコア計算部１０４は、ＴｅｘｔＴｉｌｉｎｇと同様に、単語補完部１０３による補完後の共通部分を対象にウィンドウ（走査ウィンドウ）を設定し、上記の式（１）に基づいてスコアＳｃを計算する。
【００７６】
用言分析部１０５は、単語補完部１０３による補完後の共通部分に設定された走査ウィンドウの中で最初に登場する用言（先頭用言）を特定し、用言種別ＤＢ１０１ｂを参照しながら、隣接する走査ウィンドウ間で先頭用言の違いを判定する。また、用言分析部１０５は、作業境界ＤＢ１０１ｃを参照し、隣接する走査ウィンドウのうち後に位置する走査ウィンドウの先頭用言について作業境界の可能性「なりやすさ」を判定する。
【００７７】
境界判定部１０６は、スコア計算部１０４が計算したスコアＳｃと、先頭用言の違い及び作業境界の可能性に関する用言分析部１０５の判定結果とをもとに走査ウィンドウ間の総合類似度を計算する。そして、境界判定部１０６は、総合類似度の極小点及びその両側に位置する極大点を特定し、極小点と極大点との間の総合類似度の差をもとに共通部分の分割境界を判定する。境界判定部１０６は、分割境界を基準に共通部分を分割し、分割して得た複数の操作のまとまりをそれぞれ新たな共通部分とする。
【００７８】
以上、情報処理装置１００の機能について説明した。
［３−３．処理の流れ］
次に、図１１及び図１２を参照しながら、情報処理装置１００が実行する処理の流れについて説明する。図１１は、第３実施形態に係る情報処理装置の動作の一例を示した第１のフロー図である。図１２は、第３実施形態に係る情報処理装置の動作の一例を示した第２のフロー図である。
【００７９】
（Ｓ１０１）単語補完部１０３は、補完単語ＤＢ１０１ａを参照し、共通部分に記された操作内容の各目的語に対応する所有格を検索し、目的語に対応する所有格が省略されている場合に補完所有格を追加して操作内容を補完する。
【００８０】
（Ｓ１０２）スコア計算部１０４は、単語補完部１０３による補完後の共通部分について、スコアＳｃの計算に用いる２つの隣接する走査ウィンドウのうち、前に位置する走査ウィンドウ（前走査ウィンドウ）を設定する。なお、走査ウィンドウの幅は予め設定されている。
【００８１】
（Ｓ１０３）スコア計算部１０４は、前走査ウィンドウの後に位置する走査ウィンドウ（後走査ウィンドウ）を設定できるか否かを判定する。例えば、前走査ウィンドウの最後に位置する操作が、共通部分の最後に位置する操作である場合、後走査ウィンドウを設定することはできない。後走査ウィンドウを設定できる場合、処理はＳ１０４へと進む。後走査ウィンドウを設定できない場合、図１１及び図１２に示した一連の処理は終了する。
【００８２】
（Ｓ１０４）スコア計算部１０４は、後走査ウィンドウを設定する。例えば、スコア計算部１０４は、前走査ウィンドウの最後に位置する操作の次に位置する操作が、先頭に位置する操作となる後走査ウィンドウを設定する。つまり、後走査ウィンドウは、前走査ウィンドウから操作１つ分だけ後ろにずれた位置に設定される。
【００８３】
（Ｓ１０５）スコア計算部１０４は、上記の式（１）に基づいて両走査ウィンドウについてスコアＳｃを計算する。
例えば、スコア計算部１０４は、前走査ウィンドウをＷ１、後走査ウィンドウをＷ２とし、これら２つの走査ウィンドウＷ１、Ｗ２からキーワードとなる単語ｔを抽出する。次に、スコア計算部１０４は、各単語ｔについて、単語ｔが前走査ウィンドウＷ１に出現する頻度ｆW1（ｔ）と、単語ｔが後走査ウィンドウＷ２に出現する頻度ｆW2（ｔ）とを計算する。そして、スコア計算部１０４は、計算したｆW1（ｔ）、ｆW2（ｔ）を上記の式（１）に代入してスコアＳｃを計算する。
【００８４】
（Ｓ１０６）用言分析部１０５は、前走査ウィンドウの中で最初に登場する用言（先頭用言）と、後走査ウィンドウの先頭用言とを特定する。また、用言分析部１０５は、用言種別ＤＢ１０１ｂをもとに、前走査ウィンドウの先頭用言の種別と、後走査ウィンドウの先頭用言の種別との違いを判定する。これら２つの先頭用言の種別が異なる場合、用言分析部１０５は、用言種別を評価する第１評価値を０に設定する。一方、先頭用言の種別が同じ場合、用言分析部１０５は、第１評価値を１に設定する。
【００８５】
（Ｓ１０７）用言分析部１０５は、作業境界ＤＢ１０１ｃを参照し、後走査ウィンドウの先頭用言について作業境界の可能性「なりやすさ」を判定する。作業境界に「なりやすい」先頭用言である場合、用言分析部１０５は、この「なりやすさ」を評価する第２評価値を２に設定する。「普通」の先頭用言である場合、用言分析部１０５は、第２評価値を１に設定する。「なりにくい」（作業境界ＤＢ１０１ｃに登録されていない）先頭用言である場合、用言分析部１０５は、第２評価値を０に設定する。
【００８６】
（Ｓ１０８）境界判定部１０６は、スコア計算部１０４が計算したスコアＳｃと、先頭用言の違い及び作業境界の可能性に関する用言分析部１０５の判定結果（第１評価値、第２評価値）とをもとに走査ウィンドウ間の総合類似度を計算する。例えば、境界判定部１０６は、スコアＳｃ、第１評価値、及び第２評価値の和を総合類似度とする。境界判定部１０６は、計算した総合類似度を記憶部１０１に保存する。
【００８７】
なお、境界判定部１０６は、第１評価値、第２評価値の少なくとも１つに予め設定された重みをかけた値と、スコアＳｃとの和を総合類似度としてもよい。例えば、用言種別の違いを重視する場合には、第１評価値にかける重みが、第２評価値にかける重みに比べて大きく設定される。一方、上記の「なりやすさ」を重視する場合、第１評価値にかける重みに比べ、第２評価値にかける重みが大きく設定される。また、スコアＳｃを重視する場合、第１評価値及び第２評価値にかける重みがいずれも小さく設定される。
【００８８】
（Ｓ１０９）境界判定部１０６は、後走査ウィンドウの最後に位置する操作が、共通部分の最後に位置する操作であるか否かを判定する。つまり、境界判定部１０６は、現在設定されている後走査ウィンドウが、設定可能な最後の後走査ウィンドウであるか否かを判定する。最後の後走査ウィンドウである場合、処理はＳ１１０へと進む（図１２参照）。一方、最後の後走査ウィンドウでない場合、処理はＳ１０２へと進む。
【００８９】
（Ｓ１１０）境界判定部１０６は、総合類似度を（前）走査ウィンドウの順に配列する。つまり、境界判定部１０６は、対応する走査ウィンドウに応じた総合類似度の分布を準備する。
【００９０】
（Ｓ１１１）境界判定部１０６は、準備した分布を参照し、総合類似度の極小点及び極大点を特定する。
（Ｓ１１２）境界判定部１０６は、Ｓ１１１で特定した極小点を１つ選択する。
【００９１】
（Ｓ１１３）境界判定部１０６は、Ｓ１１２で選択した極小点の両隣にある極大点を特定する。
（Ｓ１１４）境界判定部１０６は、各極大点の総合類似度と極小点の総合類似度との差を計算する。また、境界判定部１０６は、計算した２つの差の合計を計算する。そして、境界判定部１０６は、計算した合計が予め設定された閾値以上であるか否かを判定する。合計が閾値以上である場合、処理はＳ１１５へと進む。一方、合計が閾値未満である場合、処理はＳ１１６へと進む。
【００９２】
（Ｓ１１５）境界判定部１０６は、極小点に対応する走査ウィンドウの位置をもとに共通部分の分割境界を設定する。例えば、境界判定部１０６は、極小点に対応する総合類似度の計算に用いた前走査ウィンドウと後走査ウィンドウとの重なる部分にある操作と、その操作の前にある操作との間を分割境界に設定する。
【００９３】
（Ｓ１１６）境界判定部１０６は、まだ選択されていない他の極小点があるか否かを判定する。他の極小点がある場合、処理はＳ１１２へと進む。一方、他の極小点がない場合、図１１及び図１２に示した一連の処理は終了する。
【００９４】
（ＴｅｘｔＴｉｌｉｎｇとの比較）
ここで、図１３を参照しながら、図１１及び図１２に示した処理と、ＴｅｘｔＴｉｌｉｎｇとの違いについて説明する。図１３は、第３実施形態に係る境界の決定方法とＴｅｘｔＴｉｌｉｎｇによる境界の決定方法との違いを説明した図である。
【００９５】
図１３には、操作Ｐ、Ｑ、…、Ｔを含む共通部分に対する分割処理の工程を例示した。図１３に示すように、共通部分からスコアＳｃの計算に用いる単語ｔを抽出する工程があり、この例では、操作Ｐの操作内容を示す文字列から“サーバ、電源、ボタン、押す”という単語が抽出されている。同様に、操作Ｑ、Ｒ、…、Ｔからも、それぞれ複数の単語が抽出されている。
【００９６】
ＴｅｘｔＴｉｌｉｎｇの場合、これらの単語をもとに上記の式（１）に基づいてスコアＳｃが計算される。例えば、操作Ｐ、Ｑを含む走査ウィンドウをＷ１、操作Ｑ、Ｒを含む走査ウィンドウをＷ２とした場合、走査ウィンドウＷ１、Ｗ２に含まれる単語ｔは、いずれも走査ウィンドウＷ１、Ｗ２で共起しない。走査ウィンドウＷ１、Ｗ２を移動しても、同様に共起する単語ｔがないことから、ＴｅｘｔＴｉｌｉｎｇを適用した場合には、スコアＳｃがいずれも０となり、分割境界が特定されない。
【００９７】
一方、第３実施形態の方法では、単語補完部１０３が補完所有格を補完する（図１１のＳ１０１参照）。図１３の例では、操作Ｑの操作内容に含まれる目的語「ランプ」に対し、補完所有格「サーバ、ＰＣ、プリンタ」が追加される。また、操作Ｓの操作内容に含まれる目的語「コマンド」に対し、補完所有格「ジョブ、プロセス」が追加される。また、操作Ｔの操作内容に含まれる目的語「プロセス」に対し、補完所有格「ＯＳ、システム」が追加される。
【００９８】
上記のように補完所有格が追加されることで、走査ウィンドウＷ１、Ｗ２で単語ｔが共起する可能性が高まり、スコアＳｃによって操作内容の類似度をより確かに評価できるようになる。また、第３実施形態の方法では、用言種別の違い及び作業境界の「なりやすさ」が共に考慮される（図１１のＳ１０６、Ｓ１０７参照）。
【００９９】
走査ウィンドウ間で用言種別が異なれば、その部分で操作内容が変化している可能性が高い（第１評価値が大きくなる）。また、作業境界に用いられる用言があれば、その部分で内容的な区切りが生じている可能性が高い（第２評価値が大きくなる）。そのため、上記のスコアＳｃに第１評価値及び第２評価値を加えた総合類似度を用いることで（図１２のＳ１１４、Ｓ１１５参照）、文字列の外形的な変化が少なくても内容的な変化を捉えて共通部分の分割境界を設定することができる。
【０１００】
以上、情報処理装置１００が実行する処理の流れについて説明した。ＴｅｘｔＴｉｌｉｎｇのように文字列の外形的な変化を捉えてテキストデータを分割する技術では、操作対象の変化などの内容変化に応じた分割処理は難しいが、第３実施形態によれば、操作内容の変化を考慮した共通部分の分割が実現される。その結果、人が再利用するのに便利な共通部分を得ることが可能になる。
【０１０１】
［３−４．共通部分の生成について］
ここで、共通部分抽出装置１１０による共通部分の生成について、１つの生成方法を例に説明を行う。ここで説明する生成方法は、手順書間の「共通性」及び「分割性」という相反する２つの性質がバランス良く調和する共通部分を抽出しうる好適な方法である。この「分割性」は上述した再利用性に関係する。なお、ここまで操作を識別するために説明の都合上使用したアルファベットの表記と、以下の説明で使用するアルファベットの表記とは独立である。
【０１０２】
（記号列への変換について）
手順書には、操作内容が自然言語で記述されている。そのため、表現のゆらぎを抑制し、共通部分の抽出を自動化するために操作を記号列に変換して処理する方法がある。図１４は、手順書の操作を記号列に変換する手順を示している。なお、図１４は、共通部分の生成について説明するための第１の図である。また、記号列の一部又は全部を部分列と表現する場合がある。
【０１０３】
図１４の手順書＃１には「操作＃１：ログイン」と記述され、手順書＃２には「操作＃１：ログオン」と記述されている。「ログイン」と「ログオン」とは同じ内容の操作を表すが、そのままでは異なる文字列として認識されうる。そのため、こうした表現のゆらぎは、同じ内容の操作を自動分類するための辞書データ及び自然言語処理アルゴリズムなどを利用して事前に吸収しておく方が好ましい。
【０１０４】
表現のゆらぎを吸収する方法として、例えば、同じ内容の操作を同じ記号で表現した記号列表現を利用する方法がある。この方法では、図１４に示すように、同じ操作内容「ログイン」「ログオン」を示す操作＃１が記号Ａに変換される。同様に、手順書＃１、＃２は、図１４の例において、いずれも記号列ＡＢＣＤに変換される。このような記号列表現を用いれば、表現のゆらぎを吸収できると共に、手順書の分割を記号列の分割として扱うことが可能になる。
【０１０５】
（共通性と分割性について）
ここで、図１５を参照しながら、「共通性」と「分割性」について説明する。図１５は、共通部分の生成について説明するための第２の図である。以下では、図１５に示すような記号列で表現された手順書＃１、＃２、＃３を例に説明を行う。手順書＃１は、記号列ＡＢＣＤＥ（記号列＃１）で表現される。手順書＃２は、記号列ＡＢＣＤ（記号列＃２）で表現される。手順書＃３は、記号列ＣＤＥＦＧ（記号列＃３）で表現される。
【０１０６】
共通部分の生成方法は、記号列＃１、＃２、＃３をそれぞれ１つ以上の部分列に分割し、記号列＃１、＃２、＃３の少なくとも２つに共通する部分列（共通部分）を抽出する方法と言い換えることができる。
【０１０７】
このような抽出条件を満たす方法の１つとして、図１５に示すような方法がある。この方法では、手順書＃１が部分列Ｂ１１、Ｂ１２、Ｂ１３に、手順書＃２が部分列Ｂ２１、Ｂ２２に、手順書＃３が部分列Ｂ３１、Ｂ３２、Ｂ３３に分割されている。
【０１０８】
ここで、部分列Ｂ１１、Ｂ２１は同じ内容である。部分列Ｂ１２、Ｂ２２、Ｂ３１も同じ内容である。部分列Ｂ１３、Ｂ３２も同じ内容である。そのため、同じ内容の部分列をまとめることで８つの部分列Ｂ１１、…、Ｂ１３、Ｂ２１、Ｂ２２、Ｂ３１、…、Ｂ３３は、４つの部分列ＡＢ、ＣＤ、Ｅ、ＦＧで表現できることが分かる。
【０１０９】
部分列ＡＢは、２つの手順書＃１、＃２に共通して含まれる。部分列ＣＤは、３つの手順書＃１、＃２、＃３に共通して含まれる。部分列Ｅは、２つの手順書＃１、＃３に共通して含まれる。部分列ＦＧは、１つの手順書＃３に含まれる。
【０１１０】
各部分列が共通して含まれる手順書の数が多ければ（つまり、部分列の「共通性」が良好であれば）、管理対象となる部分列の数を減らせる。一方、各手順書に含まれる部分列の数（分割数）が小さければ（つまり、手順書の「分割性」が良好であれば）、各手順書の再現に用いる部分列の数が減り、部分列を組み合わせて各手順書を再現する際の演算コストを抑えられる。
【０１１１】
但し、分割数が小さいと部分列が長くなる傾向にあり、逆に、部分列が長いと部分列を共通して含む手順書の数が減る傾向にあるから、「分割性」と「共通性」とはトレードオフの関係にある。そのため、「分割性」と「共通性」とのバランスを適切に調整することが、好適な共通部分を抽出するために求められる。
【０１１２】
図１６に、図１５に示した分割方法を実施した場合に得られる部分列毎の利用数（Ａ）と、手順書毎の分割数（Ｂ）とを示した。図１６は、共通部分の生成について説明するための第３の図である。
【０１１３】
図１５に示した分割方法の場合、図１６（Ａ）に示すように、部分列ＡＢの利用数が２、部分列ＣＤの利用数が３、部分列Ｅの利用数が２、部分列ＦＧの利用数が１となる。また、図１６（Ｂ）に示すように、手順書＃１の分割数が３、手順書＃２の分割数が２、手順書＃３の分割数が３となる。
【０１１４】
共通性を示す指標（共通性指標ＱC）を下記の式（２）のように表現した場合、図１６の例では共通性指標ＱCが２となる。分割性を示す指標（分割性指標ＱD）を下記の式（３）のように表現した場合、図１６の例では分割性指標ＱDが約２．７となる。共通性指標ＱCは「共通性」が高いほど値が大きくなり、分割性指標ＱDは「分割性」が高いほど値が小さくなる。これらの指標ＱC、ＱDを比較することで、ある分割方法が「共通性」と「分割性」の観点から好適であるかどうかを評価することができる。
【０１１５】
【数２】
2016167123.tif 000004
【０１１６】
【数３】
2016167123.tif 000005
【０１１７】
分割数が最小になる分割方法は、図１７に示した分割方法である。図１７は、共通部分の生成について説明するための第４の図である。分割数を最小にするには、記号列＃１の全体を１つの部分列Ｂ１１、記号列＃２の全体を１つの部分列Ｂ２１、記号列＃３の全体を１つの部分列Ｂ３１とすればよい。
【０１１８】
この場合、部分列Ｂ１１、Ｂ２１、Ｂ３１は互いに異なる記号列であるため、部分列Ｂ１１、Ｂ２１、Ｂ３１をまとめることはできない。よって、この分割方法では、部分列ＡＢＣＤＥ、ＡＢＣＤ、ＣＤＥＦＧが抽出され、利用数はそれぞれ１となる（Ａ）。手順書＃１、＃２、＃３の分割数はそれぞれ１となる（Ｂ）。この場合、共通性指標ＱCは１となり、分割性指標ＱDは１となる。つまり、図１７の分割方法は、図１５に示した分割方法よりも共通性は劣るが、分割性は優れると評価できる。
【０１１９】
一方、利用数が最大になる分割方法は、図１８に示した分割方法である。図１８は、共通部分の生成について説明するための第５の図である。利用数を最大にするには、手順書＃１、＃２、＃３に含まれる１つ１つの操作を部分列に分ければよい。つまり、手順書＃１を５つの部分列Ｂ１１、Ｂ１２、Ｂ１３、Ｂ１４、Ｂ１５に、手順書＃２を４つの部分列Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４に、手順書＃３を５つの部分列Ｂ３１、Ｂ３２、Ｂ３３、Ｂ３４、Ｂ３５に分けることで利用数が最大になる。
【０１２０】
図１８の例では、部分列Ｂ１１、Ｂ１２、Ｂ１３、Ｂ１４、Ｂ１５、Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４、Ｂ３１、Ｂ３２、Ｂ３３について同じ記号列同士をまとめることができ、７つの部分列Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇにまとめられる。
【０１２１】
この場合、部分列Ａの利用数は２、部分列Ｂの利用数は２、部分列Ｃの利用数は３、部分列Ｄの利用数は３、部分列Ｅの利用数は２、部分列Ｆの利用数は１、部分列Ｇの利用数は１となる（Ａ）。そして、手順書＃１の分割数は５、手順書＃２の分割数は４、手順書＃３の分割数は５となる（Ｂ）。この場合、共通性指標ＱCは２となり、分割性指標ＱDは約４．７となる。つまり、図１８の分割方法は、図１５に例示した分割方法よりも共通性は優れるが、分割性は劣ると評価できる。
【０１２２】
上記のように、図１５、図１７、図１８に示した分割方法の比較から、図１５に例示した分割方法が、共通性と分割性とのバランスがとれた好適な分割方法であることが分かる。このような共通性と分割性とのバランスは、例えば、下記の式（４）で表現されるバランス指標Ｑにより評価することができる。
【０１２３】
なお、下記の式（４）に含まれる「利用数合計の最大値」とは、図１８に例示した分割方法のように、利用数が最大となる分割方法で分割した場合に得られる利用数の合計値（図１８の例では１４）を表す。また、下記の式（４）に含まれる「分割数合計の最小値」とは、図１７に例示した分割方法のように、分割数が最小となる分割方法で分割した場合に得られる分割数の合計値（図１７の例では３）を表す。
【０１２４】
【数４】
2016167123.tif 000006
【０１２５】
上記の式（４）から理解されるように、バランス指標Ｑは、利用数の合計が大きくなるほど値が大きくなり、分割数の合計が小さくなるほど値が大きくなる。共通部分抽出装置１１０は、例えば、上記の式（４）が最大となるように手順書を分割する。なお、第３実施形態に係る技術の適用範囲はこの方法に限定されないが、上記のバランス指標Ｑに基づく共通部分の生成方法を適用すれば、上述した共通部分の分割方法による効果と相まって、より人が再利用しやすい操作のまとまりが得られると期待される。
【０１２６】
以上、共通部分抽出装置１１０による共通部分の生成について説明した。
上記のように、第３実施形態によれば、それぞれが複数の操作を含む複数の手順書から再利用性及び再構築性を考慮して抽出した共通部分を、人が再利用しやすい操作のまとまりに再分割することが可能になる。そして、テキストデータを分割するＴｅｘｔＴｉｌｉｎｇを操作内容のテキストに適用して共通部分の分割に利用する場合に比べ、再利用のしやすさという観点から、より適切な共通部分の分割が実現される。
【０１２７】
以上、第３実施形態について説明した。
なお、これまで説明してきた情報処理装置１００や共通部分抽出装置１１０の機能は、ネットワークなどを介して接続された複数台のコンピュータやストレージ装置などを含む情報処理システムにより実現することもできる。この場合、情報処理装置１００と共通部分抽出装置１１０とを別のコンピュータとするだけでなく、情報処理装置１００の記憶部１０１が記憶するデータベースを情報処理装置１００に接続されたストレージ装置に格納しておくことなども可能である。このような変形例についても当然に第３実施形態の技術的範囲に含まれる。
【符号の説明】
【０１２８】
１０  共通操作列抽出装置
１１  記憶部
１１ａ  第１の操作シナリオ
１１ｂ  第２の操作シナリオ
１１ｃ  共通操作
１２  演算部
Ａ、Ｂ、Ｃ、Ｄ、Ｆ、ｂ１、ｂ２  操作
【図１】
2016167123.tif 000007
【図２】
2016167123.tif 000008
【図３】
2016167123.tif 000009
【図４】
2016167123.tif 000010
【図５】
2016167123.tif 000011
【図６】
2016167123.tif 000012
【図７】
2016167123.tif 000013
【図８】
2016167123.tif 000014
【図９】
2016167123.tif 000015
【図１０】
2016167123.tif 000016
【図１１】
2016167123.tif 000017
【図１２】
2016167123.tif 000018
【図１３】
2016167123.tif 000019
【図１４】
2016167123.tif 000020
【図１５】
2016167123.tif 000021
【図１６】
2016167123.tif 000022
【図１７】
2016167123.tif 000023
【図１８】
2016167123.tif 000024