JP2016167123A - 共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 - Google Patents
共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 Download PDFInfo
- Publication number
- JP2016167123A JP2016167123A JP2015045787A JP2015045787A JP2016167123A JP 2016167123 A JP2016167123 A JP 2016167123A JP 2015045787 A JP2015045787 A JP 2015045787A JP 2015045787 A JP2015045787 A JP 2015045787A JP 2016167123 A JP2016167123 A JP 2016167123A
- Authority
- JP
- Japan
- Prior art keywords
- operations
- scenario
- common
- operation scenario
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】再利用性を考慮した更なる分割が可能かどうか判断できるようにすること。【解決手段】記憶部11から、複数の操作A、B、C、Dを含む第1の操作シナリオ11aと、複数の操作A、b1、b2、Fを含む第2の操作シナリオ11bとを取得し、取得した第1の操作シナリオ11aと第2の操作シナリオ11bとの中で共通して含まれる操作Aを抽出し、抽出した操作Aに後続する、第1の操作シナリオ11a中の操作と所定の類似基準以上の類似度で類似する操作が、第2の操作シナリオ11bに含まれるか含まれないか順に判定し、抽出した操作Aに後続する操作のうち、所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作11cとして検出する演算部12を有する共通操作列抽出装置10が提供される。【選択図】図1
Description
本発明は、共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置に関する。
作業者が操作する順番に手順が記述された運用手順書が各種運用に応じて複数存在する。運用効率の改善やコンピュータによる手順の自動化などの見地から、複数の運用手順書に記載されている複数の手順を再利用して新たな運用手順書を作成することが望まれている。これら複数の運用手順書に記載されている複数の手順のうち共通性のある手順をまとめて雛形として用意することで複数の手順を再利用しやすくなる可能性がある。
雛形を作成する際、まとまりが小さいほど多くの運用手順書に含まれる可能性が高くなるため再利用される可能性(再利用性)が高まり、まとまりが大きいほど雛形の数が少なくて済むため管理が容易になる可能性(再構築性)が高まる。そのため、再利用性と再構築性とのバランスが良くなるように複数の運用手順書から共通部分を抽出して雛形を作成すれば、より利用しやすい雛形が得られうる。
なお、テキストデータを分割する方法として、文の最小単位で分析区間を区切り、各分析区間に含まれる内容語の特徴及び重要度をもとに分析区間同士の類似度を求め、その類似度の変化に基づいて分割する境界位置を検出する技術が提案されている。また、連続した複数の単語を含むウィンドウを移動させながら、隣接するウィンドウ間の類似度を求め、類似度の分布から類似度が大きく低下する部分をテキストデータの分割位置に決定するTextTilingと呼ばれる技術が提案されている。
Hearst, Marti A. "TextTiling: Segmenting text into multi-paragraph subtopic passages." Computational linguistics 23.1 (1997): 33-64.
再利用性と再構築性のバランスが良好な雛形が自動生成されれば、運用手順書に記載の手順を有効に再利用できるようになる。しかし、運用手順書が対象とする装置や手順に含まれる操作内容によっては、自動生成された雛形を分割した方が人にとって再利用しやすい雛形となる場合がある。
そこで、本発明の目的は、雛形として生成された複数の操作について再利用性を考慮した分割が可能かどうか判断できる共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置を提供することにある。
本開示の1つの側面によれば、コンピュータに、複数の操作を含む第1の操作シナリオと、複数の操作を含む第2の操作シナリオとを取得し、取得した第1の操作シナリオと第2の操作シナリオとの中で共通して含まれる操作を抽出し、抽出した操作に後続する、第1の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、第2の操作シナリオに含まれるか含まれないか順に判定し、抽出した操作に後続する操作のうち、所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する処理を実行させる、共通操作列抽出プログラムが提供される。
本発明によれば、雛形として生成された複数の操作について再利用性を考慮した分割が可能かどうか判断できる。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る共通操作列抽出装置の一例を示した図である。
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る共通操作列抽出装置の一例を示した図である。
第1実施形態は、それぞれ複数の操作を含む複数の操作シナリオに共通して含まれる操作を基準に、人にとって再利用しやすい操作群を抽出する技術に関する。第1実施形態では、複数の操作シナリオで共通する操作を基準に、操作シナリオを跨ぐ操作間の類似度を考慮するため、再利用する人が認識しうる共通性の要素が加味されることで、より再利用しやすい操作群が得られうる。この方法で得られた操作群が元の操作シナリオに比べて少ない操作を含む場合には、その操作シナリオについて更なる分割が可能と判断できる。以下、当該技術を実現可能な共通操作列抽出装置10について述べる。
図1に示すように、共通操作列抽出装置10は、記憶部11及び演算部12を有する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、複数の操作A、B、C、Dを含む第1の操作シナリオ11aと、複数の操作A、b1、b2、Fを含む第2の操作シナリオ11bとを記憶している。また、記憶部11は、操作間の類似度を判定するための基準となる予め設定された類似基準の情報を記憶している。なお、操作Bと操作b1とは、当該類似基準以上の類似度で類似する。また、操作Bと操作b2とは、当該類似基準以上の類似度で類似する。なお、類似度の評価は、例えば、ピアソン相関係数やコサイン類似度などを用いて行うことができる。
演算部12は、第1の操作シナリオ11aと、第2の操作シナリオ11bとを記憶部11から取得し、取得した第1の操作シナリオ11aと第2の操作シナリオ11bとの中で共通して含まれる操作を抽出する。図1(A)の例では、第1の操作シナリオ11aと第2の操作シナリオ11bとの間で操作Aが共通するから、演算部12は、操作Aを抽出する(図1(B)のS1参照)。
次に、演算部12は、抽出した操作Aに後続する、第1の操作シナリオ11a中の操作と上述した類似基準以上の類似度で類似する操作が、第2の操作シナリオ11bに含まれるか含まれないか順に判定する。
図1(B)の例において、演算部12は、第1の操作シナリオ11a中で操作Aに後続する操作Bを選択し、操作Bと類似基準以上の類似度で類似する操作を第2の操作シナリオ11b内で検索する。この例では、操作Bと、操作b1、b2とが類似基準以上の類似度で類似するため、演算部12は、操作Bに類似する操作が第2の操作シナリオ11bに含まれると判定する(図1(B)のS2参照)。
次に、演算部12は、第1の操作シナリオ11a中で操作Bに後続する操作Cを選択し、操作Cと類似基準以上の類似度で類似する操作を第2の操作シナリオ11b内で検索する。この例では、操作Cが第2の操作シナリオ11bに含まれるため、演算部12は、操作Cに類似基準以上の類似度で類似する操作が第2の操作シナリオ11bに含まれると判定する(図1(B)のS3参照)。
次に、演算部12は、第1の操作シナリオ11a中で操作Cに後続する操作Dを選択し、操作Dと類似基準以上の類似度で類似する操作を第2の操作シナリオ11b内で検索する。この例では、操作Dと類似基準以上の類似度で類似する操作はないため、演算部12は、操作Dに類似基準以上で類似する操作が第2の操作シナリオ11bに含まれないと判定する(図1(B)のS4参照)。
演算部12は、抽出した操作Aに後続する操作B、C、Dのうち、上述した類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作11cとして検出する。上記の通り、図1(B)の例では、S1からS4の処理で類似基準をもとに検出された操作は、操作B、Cである。この場合、演算部12は、第1の操作シナリオ11aと第2の操作シナリオ11bとに共通して含まれる操作Aを含め、操作群{A、B、C}を共通操作11cとして検出する(図1(B)のS5参照)。
図1の例では、共通操作11cは、第1の操作シナリオ11aよりも操作Dの分だけ操作の数が少ない。つまり、さらに再利用性を高める見地から、第1の操作シナリオ11aをさらに分割できることが分かる。なお、演算部12は、第1の操作シナリオ11aを共通操作11cの部分と他の部分とを分け、それぞれの部分を再利用する操作のあつまり(雛形)として利用者に提供してもよい。このように、第1実施形態によれば、再利用性を考慮した更なる分割が可能かどうか判断できる。
以上、第1実施形態について説明した。なお、第1実施形態の中で操作を識別するために説明の都合上使用したアルファベットの表記は、後述する第2及び第3実施形態で使用するアルファベットの表記とは独立である。
<2.第2実施形態>
次に、第2実施形態について説明する。
第2実施形態は、それぞれ複数の操作を含む複数の操作シナリオに共通して含まれる操作を基準に、人にとって再利用しやすい操作群を抽出する技術に関する。第2実施形態では、複数の操作シナリオで共通する操作を基準に、操作シナリオを跨ぐ操作間の類似度を考慮するため、再利用する人が認識しうる共通性の要素が加味されることで、より再利用しやすい操作群が得られうる。この方法で得られた操作群が元の操作シナリオに比べて少ない操作を含む場合には、その操作シナリオについて更なる分割が可能と判断できる。
次に、第2実施形態について説明する。
第2実施形態は、それぞれ複数の操作を含む複数の操作シナリオに共通して含まれる操作を基準に、人にとって再利用しやすい操作群を抽出する技術に関する。第2実施形態では、複数の操作シナリオで共通する操作を基準に、操作シナリオを跨ぐ操作間の類似度を考慮するため、再利用する人が認識しうる共通性の要素が加味されることで、より再利用しやすい操作群が得られうる。この方法で得られた操作群が元の操作シナリオに比べて少ない操作を含む場合には、その操作シナリオについて更なる分割が可能と判断できる。
[2−1.情報処理装置の機能]
ここで、図2を参照しながら、第2実施形態に係る上記の技術を実現可能な情報処理装置20の機能について説明する。図2は、第2実施形態に係る情報処理装置の一例を示した図である。
ここで、図2を参照しながら、第2実施形態に係る上記の技術を実現可能な情報処理装置20の機能について説明する。図2は、第2実施形態に係る情報処理装置の一例を示した図である。
図2に示すように、情報処理装置20は、記憶部21、操作抽出部22、類似判定部23、及び分割部24を有する。
なお、記憶部21の機能は、後述するハードウェアのうちRAM906や記憶部920などを用いて実現できる。操作抽出部22、類似判定部23、及び分割部24の機能は、後述するハードウェアのうちCPU902などを用いて実現できる。
なお、記憶部21の機能は、後述するハードウェアのうちRAM906や記憶部920などを用いて実現できる。操作抽出部22、類似判定部23、及び分割部24の機能は、後述するハードウェアのうちCPU902などを用いて実現できる。
図2に示すように、記憶部21は、第1操作シナリオ21aの情報及び第2操作シナリオ21bの情報を記憶する。
第1操作シナリオ21aの情報は、複数の操作に関する操作内容と、各操作に対応するフラグとを含む。操作内容は、文字列で表現される。例えば、操作A1の操作内容は「サーバ起動操作1」であり、操作A1に対応するフラグはONに設定されている。図2の例では、第1操作シナリオ21aに操作A1、B1、C1、D1、E1が含まれている。
第1操作シナリオ21aの情報は、複数の操作に関する操作内容と、各操作に対応するフラグとを含む。操作内容は、文字列で表現される。例えば、操作A1の操作内容は「サーバ起動操作1」であり、操作A1に対応するフラグはONに設定されている。図2の例では、第1操作シナリオ21aに操作A1、B1、C1、D1、E1が含まれている。
第2操作シナリオ21bの情報は、複数の操作に関する操作内容を含む。第2操作シナリオ21bには、第1操作シナリオ21aと同じ操作内容の操作が含まれている場合がある。図2の例では、第2操作シナリオ21bに含まれる操作A2の操作内容が、第1操作シナリオ21aに含まれる操作A1の操作内容と同じである。
操作抽出部22は、記憶部21から第1操作シナリオ21a及び第2操作シナリオ21bの情報を取得し、操作内容が同じ操作を抽出する。類似判定部23は、操作抽出部22が抽出した操作に対応するフラグをONに設定し、その操作を基準に、第1操作シナリオ21aの操作を順に選択し、選択した操作と類似する操作が第2操作シナリオ21bに含まれるか否かを判定する。類似する操作が第2操作シナリオ21bに含まれると判定した場合、類似判定部23は、基準とした操作に対応するフラグをONに設定する。
操作抽出部22は、第1操作シナリオ21aに含まれる全ての操作について上記の判定を実行する。全ての操作について判定を実行した操作抽出部22は、全ての操作に対応するフラグがONに設定されている場合、第1操作シナリオ21aの分割が不要であると判定する。この場合、分割部24は、第1操作シナリオ21aを分割しない。一方、フラグがONに設定されていない操作がある場合、操作抽出部22は、分割部24に第1操作シナリオ21aの分割を指示する。
分割の指示を受けた分割部24は、フラグがONに設定された操作のまとまりを特定し、特定した操作のまとまりと他の連続する操作のまとまりとを分割する。そして、分割部24は、各操作のまとまりを新たな操作シナリオとして記憶部21に記憶させる。
以上、情報処理装置20の機能について説明した。
[2−2.ハードウェア]
次に、図3を参照しながら、情報処理装置20の機能を実現可能なハードウェアについて説明する。図3は、第2実施形態に係る情報処理装置のハードウェアの一例を示した図である。
[2−2.ハードウェア]
次に、図3を参照しながら、情報処理装置20の機能を実現可能なハードウェアについて説明する。図3は、第2実施形態に係る情報処理装置のハードウェアの一例を示した図である。
情報処理装置20が有する機能は、例えば、図3に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、情報処理装置20が有する機能は、コンピュータプログラムを用いて図3に示すハードウェアを制御することにより実現される。
図3に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、情報処理装置20の機能を実現可能なハードウェアについて説明した。
[2−3.処理の流れ]
次に、図4を参照しながら、情報処理装置20が実行する処理の流れについて説明する。図4は、第2実施形態に係る情報処理装置の動作の一例を示した図である。
[2−3.処理の流れ]
次に、図4を参照しながら、情報処理装置20が実行する処理の流れについて説明する。図4は、第2実施形態に係る情報処理装置の動作の一例を示した図である。
(S21)操作抽出部22は、記憶部21から第1操作シナリオ21a及び第2操作シナリオ21bを取得する。
(S22)操作抽出部22は、第1操作シナリオ21aと第2操作シナリオ21bとの間で共通する共通操作を抽出する。そして、操作抽出部22は、抽出した共通操作に対応するフラグをONに設定する。また、操作抽出部22は、抽出した共通操作の情報を類似判定部23に通知する。
(S22)操作抽出部22は、第1操作シナリオ21aと第2操作シナリオ21bとの間で共通する共通操作を抽出する。そして、操作抽出部22は、抽出した共通操作に対応するフラグをONに設定する。また、操作抽出部22は、抽出した共通操作の情報を類似判定部23に通知する。
(S23、S26)類似判定部23は、第1操作シナリオ21aに含まれる操作のうち、共通操作に後続する操作を順に選択し、選択した操作毎にS23とS26との間の処理を順次実行する。
(S24)類似判定部23は、S23で選択した操作と類似する操作が第2操作シナリオ21bにあるか否かを判定する。
例えば、類似判定部23は、第2操作シナリオ21bの上位に位置する操作から順に1つずつ操作を抽出し、S23で選択した操作と第2操作シナリオ21bから抽出した操作との間の類似度を計算する。類似度としては、例えば、ピアソン相関係数やコサイン類似度などが適用可能である。そして、類似判定部23は、計算した類似度が予め設定された閾値以上であるか否かを判定する。類似判定部23は、第2操作シナリオ21bに含まれる各操作について類似度の閾値判定を実行し、少なくとも1つの操作について類似度が閾値以上である場合、S23で選択した操作と類似する操作が第2操作シナリオ21bにあると判定する。
例えば、類似判定部23は、第2操作シナリオ21bの上位に位置する操作から順に1つずつ操作を抽出し、S23で選択した操作と第2操作シナリオ21bから抽出した操作との間の類似度を計算する。類似度としては、例えば、ピアソン相関係数やコサイン類似度などが適用可能である。そして、類似判定部23は、計算した類似度が予め設定された閾値以上であるか否かを判定する。類似判定部23は、第2操作シナリオ21bに含まれる各操作について類似度の閾値判定を実行し、少なくとも1つの操作について類似度が閾値以上である場合、S23で選択した操作と類似する操作が第2操作シナリオ21bにあると判定する。
S23で選択した操作と類似する操作が第2操作シナリオ21bにあると判定された場合、処理はS25へと進む。一方、S23で選択した操作と類似する操作が第2操作シナリオ21bにないと判定された場合、処理はS26へと進み、S23で異なる操作が選択されてS23とS26との間の処理が実行される。但し、S23で第1操作シナリオ21aの操作が全て選択されている場合、処理はS27へと進む。
(S25)類似判定部23は、S23で選択された操作(対象の操作)に対応するフラグをONに設定する。S25の処理が完了すると、処理はS26へと進み、S23で異なる操作が選択されてS23とS26との間の処理が実行される。但し、S23で第1操作シナリオ21aの操作が全て選択されている場合、処理はS27へと進む。
(S27)類似判定部23は、第1操作シナリオ21aに含まれる全ての操作についてフラグがONに設定されているか否かを判定する。
全ての操作についてフラグがONに設定されている場合、図4に示した一連の処理は終了する。一方、フラグがONに設定されていない操作がある場合、分割部24は、フラグに基づいて第1操作シナリオ21aを分割する。例えば、分割部24は、フラグがONに設定された操作のまとまりと、他の連続する操作のまとまりとを分割し、各まとまりを新たな操作シナリオとする。S27の処理が完了すると、図4に示した一連の処理は終了する。
全ての操作についてフラグがONに設定されている場合、図4に示した一連の処理は終了する。一方、フラグがONに設定されていない操作がある場合、分割部24は、フラグに基づいて第1操作シナリオ21aを分割する。例えば、分割部24は、フラグがONに設定された操作のまとまりと、他の連続する操作のまとまりとを分割し、各まとまりを新たな操作シナリオとする。S27の処理が完了すると、図4に示した一連の処理は終了する。
以上、情報処理装置20が実行する処理の流れについて説明した。
第2実施形態によれば、再利用性を考慮した更なる分割が可能かどうか判断できる。また、更なる分割が可能な場合、再利用性を考慮した好適な分割方法で第1操作シナリオ21aを分割することができる。なお、第2実施形態の中で操作を識別するために説明の都合上使用したアルファベットの表記は、後述する第3実施形態で使用するアルファベットの表記とは独立である。
第2実施形態によれば、再利用性を考慮した更なる分割が可能かどうか判断できる。また、更なる分割が可能な場合、再利用性を考慮した好適な分割方法で第1操作シナリオ21aを分割することができる。なお、第2実施形態の中で操作を識別するために説明の都合上使用したアルファベットの表記は、後述する第3実施形態で使用するアルファベットの表記とは独立である。
以上、第2実施形態について説明した。
<3.第3実施形態>
次に、第3実施形態について説明する。
<3.第3実施形態>
次に、第3実施形態について説明する。
第3実施形態は、それぞれが複数の操作を含む複数の手順書から再利用性及び再構築性を考慮して抽出した共通部分を、人が再利用しやすい操作のまとまりに再分割する方法を提供する。また、第3実施形態は、テキストデータを分割するTextTilingを操作内容のテキストに適用して共通部分の分割に利用する場合に比べ、再利用のしやすさという観点から、より適切な共通部分の分割を実現可能な分割方法を提供する。
なお、以下では複数の手順書から抽出した共通部分を分割の対象とする場合について説明するが、第3実施形態の技術は、複数の操作に関する操作内容を含む任意のテキストに対して適用可能である。例えば、手順書そのものなど、複数の手順書から共通部分として抽出されたテキスト以外のテキストに対しても適用可能である。但し、説明の都合上、以下では複数の手順書から抽出した共通部分を適用対象として説明する。
[3−1.共通部分の分割について]
まず、図5及び図6を参照しながら、共通部分の分割について、TextTilingによる分割方法を適用した場合の課題と、第3実施形態に係る分割方法が提供しようとする内容について概説する。図5は、第3実施形態に係る共通部分の分割について説明した図である。図6は、TextTilingによる分割について説明した図である。
まず、図5及び図6を参照しながら、共通部分の分割について、TextTilingによる分割方法を適用した場合の課題と、第3実施形態に係る分割方法が提供しようとする内容について概説する。図5は、第3実施形態に係る共通部分の分割について説明した図である。図6は、TextTilingによる分割について説明した図である。
図5には、それぞれ複数の操作内容が記された手順書#1〜#3を例示した。手順書#1は、操作A1、B1、…、G1の操作内容を含む。手順書#2は、操作A2、B2、…、F2の操作内容を含む。手順書#3は、操作A3、B3、…、H3の操作内容を含む。図5の例では、例えば、操作A1、A2、A3が同じ操作内容「サーバ起動操作1」である。このように、手順書#1〜#3には同じ操作内容が含まれる。
手順書#1〜#3の中で共通する操作内容を抽出すると、操作Ax、Bx、…、Fxと表記した操作の操作内容を有する共通部分が得られる。なお、ここでは操作内容の文字列が手順書#1〜#3で一致する操作のまとまりを共通部分とした。操作Ax、Bx、Cx(Svの部分)は、サーバを対象とする操作である。操作Dx、Ex、Fx(Prの部分)は、プロセスを対象とする操作である。
Svの部分とPrの部分とは操作対象が異なるため、人にとっては共通部分全体よりも個々の部分の方が再利用しやすい。そのため、Svの部分とPrの部分とを分割し、それぞれ共通部分#1、#2とすることで再利用性が高まる。分割前の共通部分は操作内容が文字列で表記されたテキストデータであるため、TextTilingなどの分割技術を利用して共通部分を分割することができる。
TextTilingは、テキストデータを複数の区間に分け、各区間に含まれる単語群をもとに隣接区間の類似度を評価するスコアを求め、スコア分布の中でスコアが極小となる部分を分割境界として特定する技術である(図6を参照)。TextTilingを共通部分に適用する場合、例えば、図6に示すように、隣接する複数の操作を1つの区間(ウィンドウW1、W2、…)とし、隣接ウィンドウ間で計算したスコアScの分布から共通部分の分割境界が求められる。
スコアScは、下記の式(1)で与えられる。
但し、tは、共通部分の各操作内容から抽出された各単語を特定する指標である。iは、評価対象とするウィンドウの位置である。例えば、操作Ax、Bxを含むウィンドウW1と、操作Bx、Cxを含むウィンドウW2との類似度を評価する場合はi=1、ウィンドウW2と、操作Cx、Dxを含むウィンドウW3との類似度を評価する場合はi=2などとなる。fW1(t)は、ウィンドウW1に単語tが出現する頻度を表す。fW2(t)は、ウィンドウW2に単語tが出現する頻度を表す。
但し、tは、共通部分の各操作内容から抽出された各単語を特定する指標である。iは、評価対象とするウィンドウの位置である。例えば、操作Ax、Bxを含むウィンドウW1と、操作Bx、Cxを含むウィンドウW2との類似度を評価する場合はi=1、ウィンドウW2と、操作Cx、Dxを含むウィンドウW3との類似度を評価する場合はi=2などとなる。fW1(t)は、ウィンドウW1に単語tが出現する頻度を表す。fW2(t)は、ウィンドウW2に単語tが出現する頻度を表す。
図6の例では、スコアScの分布が操作Cx、Dxの間で極小となっているため、共通部分は操作Cx、Dxの間で分割されうる。図6の例は説明の都合上、極小部分を強調して示しているが、実際には極小点と極大点との間でスコアScの差が小さい場合もある。この場合、スコアScの分布に極小点が得られても、その極小点の前後にあるウィンドウに含まれる文字列の違いが小さく、この極小点で分割すると、内容的に連続しているテキストを分割することになりうる。
そのため、極小点のスコアScが予め設定された閾値よりも小さい場合に、その極小点の部分を分割境界として抽出する閾値判定の処理が行われる。この閾値判定により内容的に連続している部分が分割境界とされる可能性は減るが、一方で、文字列の外形的変化は小さいが内容的変化が大きい部分が分割境界とされにくくなるというリスクがある。
例えば、2つの文字列「サーバSv1起動操作」と「サーバSv2起動操作」は、外形的には数字の1と2が入れ替わっているだけで、その変化は小さい。しかし、手順書に記載の操作という点で見ると、操作対象がサーバSv1からサーバSv2へと変化しており、作業する人にとって内容的な変化は大きい。TextTilingを適用した場合、このような変化を考慮した共通部分の分割が行われないリスクが高い。
また、TextTilingは、あくまで文字列の類似度をもとに分割境界を決めているため、内容の変化とは関係がない部分を分割境界として抽出してしまうリスクもある。つまり、手順書から抽出した共通部分を、人にとって再利用しやすい形に再分割するという用途に用いることを考えると、内容に着目した適切な分割が行われないリスクがある点でTextTilingは好適とは言えない。そこで、第3実施形態では、手順書の再分割に、より適した形で共通部分を分割できるようにする技術を提案する。
以上、共通部分の分割について説明した。
[3−2.情報処理装置の機能]
第3実施形態に係る共通部分の分割は、図7に例示した情報処理装置100により実現される。図7は、第3実施形態に係る情報処理装置の一例を示した図である。図7に示した各ブロックは、情報処理装置100の機能を表す。
[3−2.情報処理装置の機能]
第3実施形態に係る共通部分の分割は、図7に例示した情報処理装置100により実現される。図7は、第3実施形態に係る情報処理装置の一例を示した図である。図7に示した各ブロックは、情報処理装置100の機能を表す。
図7に示すように、情報処理装置100は、共通部分抽出装置110に接続される。共通部分抽出装置110は、複数の手順書から分割の対象となる共通部分を抽出する装置である。なお、情報処理装置100及び共通部分抽出装置110の機能は、例えば、図3に例示したハードウェアにより実現可能である。また、共通部分の抽出方法は任意であるが、その一例を後段において説明する。共通部分抽出装置110は、情報処理装置100と一体に形成されていてもよい。
情報処理装置100は、記憶部101、DB管理部102、単語補完部103、スコア計算部104、用言分析部105、及び境界判定部106を有する。なお、DBはデータベースの略である。
なお、記憶部101の機能は、図3に例示したハードウェアのうちRAM906や記憶部920などを用いて実現できる。DB管理部102、単語補完部103、スコア計算部104、用言分析部105、及び境界判定部106の機能は、図3に例示したハードウェアのうちCPU902などを用いて実現できる。
記憶部101は、補完単語DB101a、用言種別DB101b、及び作業境界DB101cを記憶する。ここで、これらのデータベースについて、図8〜図10を参照しながら説明する。図8は、第3実施形態に係る補完単語DBの一例を示した図である。図9は、第3実施形態に係る用言種別DBの一例を示した図である。図10は、第3実施形態に係る作業境界DBの一例を示した図である。
補完単語DB101aは、図8に示すように、目的語と補完所有格とを対応付けるデータベースである。目的語の欄には、例えば、手順書に登場することが多い目的語が登録される。ここで言う補完所有格は、目的語の欄に登録された語と共に用いられる可能性の高い所有格の語である。例えば、多数の手順書サンプルの中から目的語と共起する確率の高い所有格を自動抽出し、抽出した語が補完所有格の欄に登録される。
用言種別DB101bは、図9に示すように、用言と、その用言の種別とを対応付けるデータベースである。用言は、動詞、形容詞、形容動詞を含む。ここで言う用言の種別は、操作形態に関する種別を表す。例えば、人の物理的な操作を表す用言の種別は「物理」、コンピュータに命令を発行させる操作を表す用言の種別は「コマンド」、GUI(Graphical User Interface)の操作を表す用言の種別は「GUI」に設定される。どの種別にもあてはまらない用言の種別は「不特定」に設定される。
作業境界DB101cは、図10に示すように、用言と、頻度と、作業境界になる可能性(なりやすさ)とを対応付けるデータベースである。頻度は、対応する用言が多数の手順書サンプルの中で作業境界に位置する頻度を表す。作業境界とは、手順書に記載された一連の操作の最後を表し、手順書の末尾に対応する。例えば、“終了する”や“閉じる”などの用言は一連の操作において最後の操作を表すことが多い。
「なりやすさ」は、例えば、「なりやすい」、「普通」、「なりにくい」の3段階に設定される。設定方法としては、手順書の末尾に位置する頻度が閾値Th1より高い用言を「なりやすい」とし、頻度が閾値Th2(Th1>Th2)より高く、閾値Th1より低い用言を「普通」とし、それ以外の用言を「なりにくい」とする方法がある。但し、作業境界DB101cには、「なりやすい」、「普通」に対応する用言が登録される。
DB管理部102は、補完単語DB101a、用言種別DB101b、作業境界DB101cを管理する。
補完単語DB101aの補完所有格を手順書から自動抽出する場合、DB管理部102は、例えば、形態素解析などの自然言語処理を実行し、登録された目的語に対応する補完所有格を特定して補完単語DB101aを構築する。また、作業境界DB101cを自動構築する場合、DB管理部102は、手順書の末尾に位置する用言を検索し、用言毎に手順書の末尾に出現する頻度を計数し、頻度の閾値判定結果をもとに作業境界DB101cを構築する。
補完単語DB101aの補完所有格を手順書から自動抽出する場合、DB管理部102は、例えば、形態素解析などの自然言語処理を実行し、登録された目的語に対応する補完所有格を特定して補完単語DB101aを構築する。また、作業境界DB101cを自動構築する場合、DB管理部102は、手順書の末尾に位置する用言を検索し、用言毎に手順書の末尾に出現する頻度を計数し、頻度の閾値判定結果をもとに作業境界DB101cを構築する。
単語補完部103は、補完単語DB101aを参照し、共通部分に記された操作内容の各目的語に対応する所有格を検索し、目的語に対応する所有格が省略されている場合に補完所有格を追加して操作内容を補完する。スコア計算部104は、TextTilingと同様に、単語補完部103による補完後の共通部分を対象にウィンドウ(走査ウィンドウ)を設定し、上記の式(1)に基づいてスコアScを計算する。
用言分析部105は、単語補完部103による補完後の共通部分に設定された走査ウィンドウの中で最初に登場する用言(先頭用言)を特定し、用言種別DB101bを参照しながら、隣接する走査ウィンドウ間で先頭用言の違いを判定する。また、用言分析部105は、作業境界DB101cを参照し、隣接する走査ウィンドウのうち後に位置する走査ウィンドウの先頭用言について作業境界の可能性「なりやすさ」を判定する。
境界判定部106は、スコア計算部104が計算したスコアScと、先頭用言の違い及び作業境界の可能性に関する用言分析部105の判定結果とをもとに走査ウィンドウ間の総合類似度を計算する。そして、境界判定部106は、総合類似度の極小点及びその両側に位置する極大点を特定し、極小点と極大点との間の総合類似度の差をもとに共通部分の分割境界を判定する。境界判定部106は、分割境界を基準に共通部分を分割し、分割して得た複数の操作のまとまりをそれぞれ新たな共通部分とする。
以上、情報処理装置100の機能について説明した。
[3−3.処理の流れ]
次に、図11及び図12を参照しながら、情報処理装置100が実行する処理の流れについて説明する。図11は、第3実施形態に係る情報処理装置の動作の一例を示した第1のフロー図である。図12は、第3実施形態に係る情報処理装置の動作の一例を示した第2のフロー図である。
[3−3.処理の流れ]
次に、図11及び図12を参照しながら、情報処理装置100が実行する処理の流れについて説明する。図11は、第3実施形態に係る情報処理装置の動作の一例を示した第1のフロー図である。図12は、第3実施形態に係る情報処理装置の動作の一例を示した第2のフロー図である。
(S101)単語補完部103は、補完単語DB101aを参照し、共通部分に記された操作内容の各目的語に対応する所有格を検索し、目的語に対応する所有格が省略されている場合に補完所有格を追加して操作内容を補完する。
(S102)スコア計算部104は、単語補完部103による補完後の共通部分について、スコアScの計算に用いる2つの隣接する走査ウィンドウのうち、前に位置する走査ウィンドウ(前走査ウィンドウ)を設定する。なお、走査ウィンドウの幅は予め設定されている。
(S103)スコア計算部104は、前走査ウィンドウの後に位置する走査ウィンドウ(後走査ウィンドウ)を設定できるか否かを判定する。例えば、前走査ウィンドウの最後に位置する操作が、共通部分の最後に位置する操作である場合、後走査ウィンドウを設定することはできない。後走査ウィンドウを設定できる場合、処理はS104へと進む。後走査ウィンドウを設定できない場合、図11及び図12に示した一連の処理は終了する。
(S104)スコア計算部104は、後走査ウィンドウを設定する。例えば、スコア計算部104は、前走査ウィンドウの最後に位置する操作の次に位置する操作が、先頭に位置する操作となる後走査ウィンドウを設定する。つまり、後走査ウィンドウは、前走査ウィンドウから操作1つ分だけ後ろにずれた位置に設定される。
(S105)スコア計算部104は、上記の式(1)に基づいて両走査ウィンドウについてスコアScを計算する。
例えば、スコア計算部104は、前走査ウィンドウをW1、後走査ウィンドウをW2とし、これら2つの走査ウィンドウW1、W2からキーワードとなる単語tを抽出する。次に、スコア計算部104は、各単語tについて、単語tが前走査ウィンドウW1に出現する頻度fW1(t)と、単語tが後走査ウィンドウW2に出現する頻度fW2(t)とを計算する。そして、スコア計算部104は、計算したfW1(t)、fW2(t)を上記の式(1)に代入してスコアScを計算する。
例えば、スコア計算部104は、前走査ウィンドウをW1、後走査ウィンドウをW2とし、これら2つの走査ウィンドウW1、W2からキーワードとなる単語tを抽出する。次に、スコア計算部104は、各単語tについて、単語tが前走査ウィンドウW1に出現する頻度fW1(t)と、単語tが後走査ウィンドウW2に出現する頻度fW2(t)とを計算する。そして、スコア計算部104は、計算したfW1(t)、fW2(t)を上記の式(1)に代入してスコアScを計算する。
(S106)用言分析部105は、前走査ウィンドウの中で最初に登場する用言(先頭用言)と、後走査ウィンドウの先頭用言とを特定する。また、用言分析部105は、用言種別DB101bをもとに、前走査ウィンドウの先頭用言の種別と、後走査ウィンドウの先頭用言の種別との違いを判定する。これら2つの先頭用言の種別が異なる場合、用言分析部105は、用言種別を評価する第1評価値を0に設定する。一方、先頭用言の種別が同じ場合、用言分析部105は、第1評価値を1に設定する。
(S107)用言分析部105は、作業境界DB101cを参照し、後走査ウィンドウの先頭用言について作業境界の可能性「なりやすさ」を判定する。作業境界に「なりやすい」先頭用言である場合、用言分析部105は、この「なりやすさ」を評価する第2評価値を2に設定する。「普通」の先頭用言である場合、用言分析部105は、第2評価値を1に設定する。「なりにくい」(作業境界DB101cに登録されていない)先頭用言である場合、用言分析部105は、第2評価値を0に設定する。
(S108)境界判定部106は、スコア計算部104が計算したスコアScと、先頭用言の違い及び作業境界の可能性に関する用言分析部105の判定結果(第1評価値、第2評価値)とをもとに走査ウィンドウ間の総合類似度を計算する。例えば、境界判定部106は、スコアSc、第1評価値、及び第2評価値の和を総合類似度とする。境界判定部106は、計算した総合類似度を記憶部101に保存する。
なお、境界判定部106は、第1評価値、第2評価値の少なくとも1つに予め設定された重みをかけた値と、スコアScとの和を総合類似度としてもよい。例えば、用言種別の違いを重視する場合には、第1評価値にかける重みが、第2評価値にかける重みに比べて大きく設定される。一方、上記の「なりやすさ」を重視する場合、第1評価値にかける重みに比べ、第2評価値にかける重みが大きく設定される。また、スコアScを重視する場合、第1評価値及び第2評価値にかける重みがいずれも小さく設定される。
(S109)境界判定部106は、後走査ウィンドウの最後に位置する操作が、共通部分の最後に位置する操作であるか否かを判定する。つまり、境界判定部106は、現在設定されている後走査ウィンドウが、設定可能な最後の後走査ウィンドウであるか否かを判定する。最後の後走査ウィンドウである場合、処理はS110へと進む(図12参照)。一方、最後の後走査ウィンドウでない場合、処理はS102へと進む。
(S110)境界判定部106は、総合類似度を(前)走査ウィンドウの順に配列する。つまり、境界判定部106は、対応する走査ウィンドウに応じた総合類似度の分布を準備する。
(S111)境界判定部106は、準備した分布を参照し、総合類似度の極小点及び極大点を特定する。
(S112)境界判定部106は、S111で特定した極小点を1つ選択する。
(S112)境界判定部106は、S111で特定した極小点を1つ選択する。
(S113)境界判定部106は、S112で選択した極小点の両隣にある極大点を特定する。
(S114)境界判定部106は、各極大点の総合類似度と極小点の総合類似度との差を計算する。また、境界判定部106は、計算した2つの差の合計を計算する。そして、境界判定部106は、計算した合計が予め設定された閾値以上であるか否かを判定する。合計が閾値以上である場合、処理はS115へと進む。一方、合計が閾値未満である場合、処理はS116へと進む。
(S114)境界判定部106は、各極大点の総合類似度と極小点の総合類似度との差を計算する。また、境界判定部106は、計算した2つの差の合計を計算する。そして、境界判定部106は、計算した合計が予め設定された閾値以上であるか否かを判定する。合計が閾値以上である場合、処理はS115へと進む。一方、合計が閾値未満である場合、処理はS116へと進む。
(S115)境界判定部106は、極小点に対応する走査ウィンドウの位置をもとに共通部分の分割境界を設定する。例えば、境界判定部106は、極小点に対応する総合類似度の計算に用いた前走査ウィンドウと後走査ウィンドウとの重なる部分にある操作と、その操作の前にある操作との間を分割境界に設定する。
(S116)境界判定部106は、まだ選択されていない他の極小点があるか否かを判定する。他の極小点がある場合、処理はS112へと進む。一方、他の極小点がない場合、図11及び図12に示した一連の処理は終了する。
(TextTilingとの比較)
ここで、図13を参照しながら、図11及び図12に示した処理と、TextTilingとの違いについて説明する。図13は、第3実施形態に係る境界の決定方法とTextTilingによる境界の決定方法との違いを説明した図である。
ここで、図13を参照しながら、図11及び図12に示した処理と、TextTilingとの違いについて説明する。図13は、第3実施形態に係る境界の決定方法とTextTilingによる境界の決定方法との違いを説明した図である。
図13には、操作P、Q、…、Tを含む共通部分に対する分割処理の工程を例示した。図13に示すように、共通部分からスコアScの計算に用いる単語tを抽出する工程があり、この例では、操作Pの操作内容を示す文字列から“サーバ、電源、ボタン、押す”という単語が抽出されている。同様に、操作Q、R、…、Tからも、それぞれ複数の単語が抽出されている。
TextTilingの場合、これらの単語をもとに上記の式(1)に基づいてスコアScが計算される。例えば、操作P、Qを含む走査ウィンドウをW1、操作Q、Rを含む走査ウィンドウをW2とした場合、走査ウィンドウW1、W2に含まれる単語tは、いずれも走査ウィンドウW1、W2で共起しない。走査ウィンドウW1、W2を移動しても、同様に共起する単語tがないことから、TextTilingを適用した場合には、スコアScがいずれも0となり、分割境界が特定されない。
一方、第3実施形態の方法では、単語補完部103が補完所有格を補完する(図11のS101参照)。図13の例では、操作Qの操作内容に含まれる目的語「ランプ」に対し、補完所有格「サーバ、PC、プリンタ」が追加される。また、操作Sの操作内容に含まれる目的語「コマンド」に対し、補完所有格「ジョブ、プロセス」が追加される。また、操作Tの操作内容に含まれる目的語「プロセス」に対し、補完所有格「OS、システム」が追加される。
上記のように補完所有格が追加されることで、走査ウィンドウW1、W2で単語tが共起する可能性が高まり、スコアScによって操作内容の類似度をより確かに評価できるようになる。また、第3実施形態の方法では、用言種別の違い及び作業境界の「なりやすさ」が共に考慮される(図11のS106、S107参照)。
走査ウィンドウ間で用言種別が異なれば、その部分で操作内容が変化している可能性が高い(第1評価値が大きくなる)。また、作業境界に用いられる用言があれば、その部分で内容的な区切りが生じている可能性が高い(第2評価値が大きくなる)。そのため、上記のスコアScに第1評価値及び第2評価値を加えた総合類似度を用いることで(図12のS114、S115参照)、文字列の外形的な変化が少なくても内容的な変化を捉えて共通部分の分割境界を設定することができる。
以上、情報処理装置100が実行する処理の流れについて説明した。TextTilingのように文字列の外形的な変化を捉えてテキストデータを分割する技術では、操作対象の変化などの内容変化に応じた分割処理は難しいが、第3実施形態によれば、操作内容の変化を考慮した共通部分の分割が実現される。その結果、人が再利用するのに便利な共通部分を得ることが可能になる。
[3−4.共通部分の生成について]
ここで、共通部分抽出装置110による共通部分の生成について、1つの生成方法を例に説明を行う。ここで説明する生成方法は、手順書間の「共通性」及び「分割性」という相反する2つの性質がバランス良く調和する共通部分を抽出しうる好適な方法である。この「分割性」は上述した再利用性に関係する。なお、ここまで操作を識別するために説明の都合上使用したアルファベットの表記と、以下の説明で使用するアルファベットの表記とは独立である。
ここで、共通部分抽出装置110による共通部分の生成について、1つの生成方法を例に説明を行う。ここで説明する生成方法は、手順書間の「共通性」及び「分割性」という相反する2つの性質がバランス良く調和する共通部分を抽出しうる好適な方法である。この「分割性」は上述した再利用性に関係する。なお、ここまで操作を識別するために説明の都合上使用したアルファベットの表記と、以下の説明で使用するアルファベットの表記とは独立である。
(記号列への変換について)
手順書には、操作内容が自然言語で記述されている。そのため、表現のゆらぎを抑制し、共通部分の抽出を自動化するために操作を記号列に変換して処理する方法がある。図14は、手順書の操作を記号列に変換する手順を示している。なお、図14は、共通部分の生成について説明するための第1の図である。また、記号列の一部又は全部を部分列と表現する場合がある。
手順書には、操作内容が自然言語で記述されている。そのため、表現のゆらぎを抑制し、共通部分の抽出を自動化するために操作を記号列に変換して処理する方法がある。図14は、手順書の操作を記号列に変換する手順を示している。なお、図14は、共通部分の生成について説明するための第1の図である。また、記号列の一部又は全部を部分列と表現する場合がある。
図14の手順書#1には「操作#1:ログイン」と記述され、手順書#2には「操作#1:ログオン」と記述されている。「ログイン」と「ログオン」とは同じ内容の操作を表すが、そのままでは異なる文字列として認識されうる。そのため、こうした表現のゆらぎは、同じ内容の操作を自動分類するための辞書データ及び自然言語処理アルゴリズムなどを利用して事前に吸収しておく方が好ましい。
表現のゆらぎを吸収する方法として、例えば、同じ内容の操作を同じ記号で表現した記号列表現を利用する方法がある。この方法では、図14に示すように、同じ操作内容「ログイン」「ログオン」を示す操作#1が記号Aに変換される。同様に、手順書#1、#2は、図14の例において、いずれも記号列ABCDに変換される。このような記号列表現を用いれば、表現のゆらぎを吸収できると共に、手順書の分割を記号列の分割として扱うことが可能になる。
(共通性と分割性について)
ここで、図15を参照しながら、「共通性」と「分割性」について説明する。図15は、共通部分の生成について説明するための第2の図である。以下では、図15に示すような記号列で表現された手順書#1、#2、#3を例に説明を行う。手順書#1は、記号列ABCDE(記号列#1)で表現される。手順書#2は、記号列ABCD(記号列#2)で表現される。手順書#3は、記号列CDEFG(記号列#3)で表現される。
ここで、図15を参照しながら、「共通性」と「分割性」について説明する。図15は、共通部分の生成について説明するための第2の図である。以下では、図15に示すような記号列で表現された手順書#1、#2、#3を例に説明を行う。手順書#1は、記号列ABCDE(記号列#1)で表現される。手順書#2は、記号列ABCD(記号列#2)で表現される。手順書#3は、記号列CDEFG(記号列#3)で表現される。
共通部分の生成方法は、記号列#1、#2、#3をそれぞれ1つ以上の部分列に分割し、記号列#1、#2、#3の少なくとも2つに共通する部分列(共通部分)を抽出する方法と言い換えることができる。
このような抽出条件を満たす方法の1つとして、図15に示すような方法がある。この方法では、手順書#1が部分列B11、B12、B13に、手順書#2が部分列B21、B22に、手順書#3が部分列B31、B32、B33に分割されている。
ここで、部分列B11、B21は同じ内容である。部分列B12、B22、B31も同じ内容である。部分列B13、B32も同じ内容である。そのため、同じ内容の部分列をまとめることで8つの部分列B11、…、B13、B21、B22、B31、…、B33は、4つの部分列AB、CD、E、FGで表現できることが分かる。
部分列ABは、2つの手順書#1、#2に共通して含まれる。部分列CDは、3つの手順書#1、#2、#3に共通して含まれる。部分列Eは、2つの手順書#1、#3に共通して含まれる。部分列FGは、1つの手順書#3に含まれる。
各部分列が共通して含まれる手順書の数が多ければ(つまり、部分列の「共通性」が良好であれば)、管理対象となる部分列の数を減らせる。一方、各手順書に含まれる部分列の数(分割数)が小さければ(つまり、手順書の「分割性」が良好であれば)、各手順書の再現に用いる部分列の数が減り、部分列を組み合わせて各手順書を再現する際の演算コストを抑えられる。
但し、分割数が小さいと部分列が長くなる傾向にあり、逆に、部分列が長いと部分列を共通して含む手順書の数が減る傾向にあるから、「分割性」と「共通性」とはトレードオフの関係にある。そのため、「分割性」と「共通性」とのバランスを適切に調整することが、好適な共通部分を抽出するために求められる。
図16に、図15に示した分割方法を実施した場合に得られる部分列毎の利用数(A)と、手順書毎の分割数(B)とを示した。図16は、共通部分の生成について説明するための第3の図である。
図15に示した分割方法の場合、図16(A)に示すように、部分列ABの利用数が2、部分列CDの利用数が3、部分列Eの利用数が2、部分列FGの利用数が1となる。また、図16(B)に示すように、手順書#1の分割数が3、手順書#2の分割数が2、手順書#3の分割数が3となる。
共通性を示す指標(共通性指標QC)を下記の式(2)のように表現した場合、図16の例では共通性指標QCが2となる。分割性を示す指標(分割性指標QD)を下記の式(3)のように表現した場合、図16の例では分割性指標QDが約2.7となる。共通性指標QCは「共通性」が高いほど値が大きくなり、分割性指標QDは「分割性」が高いほど値が小さくなる。これらの指標QC、QDを比較することで、ある分割方法が「共通性」と「分割性」の観点から好適であるかどうかを評価することができる。
分割数が最小になる分割方法は、図17に示した分割方法である。図17は、共通部分の生成について説明するための第4の図である。分割数を最小にするには、記号列#1の全体を1つの部分列B11、記号列#2の全体を1つの部分列B21、記号列#3の全体を1つの部分列B31とすればよい。
この場合、部分列B11、B21、B31は互いに異なる記号列であるため、部分列B11、B21、B31をまとめることはできない。よって、この分割方法では、部分列ABCDE、ABCD、CDEFGが抽出され、利用数はそれぞれ1となる(A)。手順書#1、#2、#3の分割数はそれぞれ1となる(B)。この場合、共通性指標QCは1となり、分割性指標QDは1となる。つまり、図17の分割方法は、図15に示した分割方法よりも共通性は劣るが、分割性は優れると評価できる。
一方、利用数が最大になる分割方法は、図18に示した分割方法である。図18は、共通部分の生成について説明するための第5の図である。利用数を最大にするには、手順書#1、#2、#3に含まれる1つ1つの操作を部分列に分ければよい。つまり、手順書#1を5つの部分列B11、B12、B13、B14、B15に、手順書#2を4つの部分列B21、B22、B23、B24に、手順書#3を5つの部分列B31、B32、B33、B34、B35に分けることで利用数が最大になる。
図18の例では、部分列B11、B12、B13、B14、B15、B21、B22、B23、B24、B31、B32、B33について同じ記号列同士をまとめることができ、7つの部分列A、B、C、D、E、F、Gにまとめられる。
この場合、部分列Aの利用数は2、部分列Bの利用数は2、部分列Cの利用数は3、部分列Dの利用数は3、部分列Eの利用数は2、部分列Fの利用数は1、部分列Gの利用数は1となる(A)。そして、手順書#1の分割数は5、手順書#2の分割数は4、手順書#3の分割数は5となる(B)。この場合、共通性指標QCは2となり、分割性指標QDは約4.7となる。つまり、図18の分割方法は、図15に例示した分割方法よりも共通性は優れるが、分割性は劣ると評価できる。
上記のように、図15、図17、図18に示した分割方法の比較から、図15に例示した分割方法が、共通性と分割性とのバランスがとれた好適な分割方法であることが分かる。このような共通性と分割性とのバランスは、例えば、下記の式(4)で表現されるバランス指標Qにより評価することができる。
なお、下記の式(4)に含まれる「利用数合計の最大値」とは、図18に例示した分割方法のように、利用数が最大となる分割方法で分割した場合に得られる利用数の合計値(図18の例では14)を表す。また、下記の式(4)に含まれる「分割数合計の最小値」とは、図17に例示した分割方法のように、分割数が最小となる分割方法で分割した場合に得られる分割数の合計値(図17の例では3)を表す。
上記の式(4)から理解されるように、バランス指標Qは、利用数の合計が大きくなるほど値が大きくなり、分割数の合計が小さくなるほど値が大きくなる。共通部分抽出装置110は、例えば、上記の式(4)が最大となるように手順書を分割する。なお、第3実施形態に係る技術の適用範囲はこの方法に限定されないが、上記のバランス指標Qに基づく共通部分の生成方法を適用すれば、上述した共通部分の分割方法による効果と相まって、より人が再利用しやすい操作のまとまりが得られると期待される。
以上、共通部分抽出装置110による共通部分の生成について説明した。
上記のように、第3実施形態によれば、それぞれが複数の操作を含む複数の手順書から再利用性及び再構築性を考慮して抽出した共通部分を、人が再利用しやすい操作のまとまりに再分割することが可能になる。そして、テキストデータを分割するTextTilingを操作内容のテキストに適用して共通部分の分割に利用する場合に比べ、再利用のしやすさという観点から、より適切な共通部分の分割が実現される。
上記のように、第3実施形態によれば、それぞれが複数の操作を含む複数の手順書から再利用性及び再構築性を考慮して抽出した共通部分を、人が再利用しやすい操作のまとまりに再分割することが可能になる。そして、テキストデータを分割するTextTilingを操作内容のテキストに適用して共通部分の分割に利用する場合に比べ、再利用のしやすさという観点から、より適切な共通部分の分割が実現される。
以上、第3実施形態について説明した。
なお、これまで説明してきた情報処理装置100や共通部分抽出装置110の機能は、ネットワークなどを介して接続された複数台のコンピュータやストレージ装置などを含む情報処理システムにより実現することもできる。この場合、情報処理装置100と共通部分抽出装置110とを別のコンピュータとするだけでなく、情報処理装置100の記憶部101が記憶するデータベースを情報処理装置100に接続されたストレージ装置に格納しておくことなども可能である。このような変形例についても当然に第3実施形態の技術的範囲に含まれる。
なお、これまで説明してきた情報処理装置100や共通部分抽出装置110の機能は、ネットワークなどを介して接続された複数台のコンピュータやストレージ装置などを含む情報処理システムにより実現することもできる。この場合、情報処理装置100と共通部分抽出装置110とを別のコンピュータとするだけでなく、情報処理装置100の記憶部101が記憶するデータベースを情報処理装置100に接続されたストレージ装置に格納しておくことなども可能である。このような変形例についても当然に第3実施形態の技術的範囲に含まれる。
10 共通操作列抽出装置
11 記憶部
11a 第1の操作シナリオ
11b 第2の操作シナリオ
11c 共通操作
12 演算部
A、B、C、D、F、b1、b2 操作
11 記憶部
11a 第1の操作シナリオ
11b 第2の操作シナリオ
11c 共通操作
12 演算部
A、B、C、D、F、b1、b2 操作
Claims (4)
- コンピュータに、
複数の操作を含む第1の操作シナリオと、複数の操作を含む第2の操作シナリオとを取得し、
取得した前記第1の操作シナリオと前記第2の操作シナリオとの中で共通して含まれる操作を抽出し、
抽出した前記操作に後続する、前記第1の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第2の操作シナリオに含まれるか含まれないか順に判定し、
抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する
処理を実行させる、共通操作列抽出プログラム。 - 類似する操作が検出されなくなった際の操作を分岐箇所とする、
請求項1に記載の共通操作列抽出プログラム。 - コンピュータが、
複数の操作を含む第1の操作シナリオと、複数の操作を含む第2の操作シナリオとを取得し、
取得した前記第1の操作シナリオと前記第2の操作シナリオとの中で共通して含まれる操作を抽出し、
抽出した前記操作に後続する、前記第1の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第2の操作シナリオに含まれるか含まれないか順に判定し、
抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する
共通操作列抽出方法。 - 記憶部から、複数の操作を含む第1の操作シナリオと、複数の操作を含む第2の操作シナリオとを取得し、取得した前記第1の操作シナリオと前記第2の操作シナリオとの中で共通して含まれる操作を抽出し、抽出した前記操作に後続する、前記第1の操作シナリオ中の操作と所定の類似基準以上の類似度で類似する操作が、前記第2の操作シナリオに含まれるか含まれないか順に判定し、抽出した前記操作に後続する操作のうち、前記所定の類似基準以上の類似度で類似する操作が検出されなくなるまでの操作群を共通操作として検出する演算部を有する
共通操作列抽出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015045787A JP2016167123A (ja) | 2015-03-09 | 2015-03-09 | 共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015045787A JP2016167123A (ja) | 2015-03-09 | 2015-03-09 | 共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016167123A true JP2016167123A (ja) | 2016-09-15 |
Family
ID=56898442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015045787A Pending JP2016167123A (ja) | 2015-03-09 | 2015-03-09 | 共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016167123A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018225115A1 (ja) * | 2017-06-05 | 2018-12-13 | 株式会社日立製作所 | 運用支援システム及び方法 |
JP2020060971A (ja) * | 2018-10-10 | 2020-04-16 | 富士通株式会社 | 分類プログラム、分類方法および分類装置 |
JP2020144909A (ja) * | 2017-06-05 | 2020-09-10 | 株式会社日立製作所 | 運用支援システム及び方法 |
-
2015
- 2015-03-09 JP JP2015045787A patent/JP2016167123A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018225115A1 (ja) * | 2017-06-05 | 2018-12-13 | 株式会社日立製作所 | 運用支援システム及び方法 |
JPWO2018225115A1 (ja) * | 2017-06-05 | 2019-11-07 | 株式会社日立製作所 | 運用支援システム及び方法 |
JP2020144909A (ja) * | 2017-06-05 | 2020-09-10 | 株式会社日立製作所 | 運用支援システム及び方法 |
JP2020060971A (ja) * | 2018-10-10 | 2020-04-16 | 富士通株式会社 | 分類プログラム、分類方法および分類装置 |
JP7219396B2 (ja) | 2018-10-10 | 2023-02-08 | 富士通株式会社 | 分類プログラム、分類方法および分類装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664660B2 (en) | Method and device for extracting entity relation based on deep learning, and server | |
KR102577514B1 (ko) | 텍스트 창작 방법, 텍스트 창작 장치, 전자 기기 및 저장 매체 | |
US11216504B2 (en) | Document recommendation method and device based on semantic tag | |
JP6095621B2 (ja) | 回答候補間の関係を識別および表示する機構、方法、コンピュータ・プログラム、ならびに装置 | |
US10831762B2 (en) | Extracting and denoising concept mentions using distributed representations of concepts | |
US20190266167A1 (en) | Content Authoring | |
US11017301B2 (en) | Obtaining and using a distributed representation of concepts as vectors | |
CN104462085B (zh) | 检索关键词纠错方法及装置 | |
JP6335898B2 (ja) | 製品認識に基づく情報分類 | |
CN102591857B (zh) | 一种平行语料资源获取方法及系统 | |
CN109325201A (zh) | 实体关系数据的生成方法、装置、设备及存储介质 | |
WO2017177809A1 (zh) | 语言文本的分词方法和系统 | |
US20160188569A1 (en) | Generating a Table of Contents for Unformatted Text | |
US11227119B2 (en) | Cognitive word processing | |
US20150205860A1 (en) | Information retrieval device, information retrieval method, and information retrieval program | |
CN112214574A (zh) | 上下文感知句子压缩 | |
JP7197542B2 (ja) | テキストワードセグメンテーションの方法、装置、デバイスおよび媒体 | |
CN111178076A (zh) | 命名实体识别与链接方法、装置、设备及可读存储介质 | |
US9984064B2 (en) | Reduction of memory usage in feature generation | |
CN110874535A (zh) | 依存关系对齐组件、依存关系对齐训练方法、设备及介质 | |
JP2016167123A (ja) | 共通操作列抽出プログラム、共通操作列抽出方法、及び共通操作列抽出装置 | |
CN114141384A (zh) | 用于检索医学数据的方法、设备和介质 | |
KR20190090636A (ko) | 문서 자동 편집 방법 | |
US9946765B2 (en) | Building a domain knowledge and term identity using crowd sourcing | |
JP2018072979A (ja) | 対訳文抽出装置、対訳文抽出方法およびプログラム |