(57)【要約】【課題】非定型な文書に記述された各文が表す作業を特定する。【解決手段】非定型に文が記述された文書の各文がそれぞれ表す作業を特定する作業特定装置であって、複数の前記文書が入力されると、複数の前記文書を学習することで得られた変換ｆにより、前記文書に記述された文に含まれる各単語それぞれを複数のベクトルに変換する変換手段と、前記変換手段により変換された複数のベクトルに基づいて、前記文書に記述された文に対して、該文が表す作業の作業ＩＤを割り当てる割当手段と、を有することを特徴とする。【選択図】図４
2019133339.tif 000002
【特許請求の範囲】
【請求項１】
非定型に文が記述された文書の各文がそれぞれ表す作業を特定する作業特定装置であって、
複数の前記文書が入力されると、複数の前記文書を学習することで得られた変換ｆにより、前記文書に記述された文に含まれる各単語それぞれを複数のベクトルに変換する変換手段と、
前記変換手段により変換された複数のベクトルに基づいて、前記文書に記述された文に対して、該文が表す作業の作業ＩＤを割り当てる割当手段と、
を有することを特徴とする作業特定装置。
【請求項２】
前記変換手段は、
前記文書に記述された文に含まれる単語のうち、互いに類似する単語同士がそれぞれ変換ｆにより変換された場合におけるベクトル同士の距離が近くなるように変換ｆを学習し、学習された変換ｆにより前記各単語それぞれを複数のベクトルに変換する、ことを特徴とする請求項１に記載の作業特定装置。
【請求項３】
前記変換手段は、
Ｓｋｉｐ−ｇｒａｍ又はＣＢｏＷにより学習された変換ｆにより前記各単語それぞれを複数のベクトルに変換する、ことを特徴とする請求項２に記載の作業特定装置。
【請求項４】
前記割当手段は、
前記変換手段により変換された複数のベクトルについて、該ベクトル同士の分散が小さくなるように前記複数のベクトルにそれぞれ対応する文を複数の集合に分割し、同一の集合に含まれる文に対して同一の作業ＩＤを割り当てる、ことを特徴とする請求項１乃至３の何れか一項に記載の作業特定装置。
【請求項５】
前記割当手段は、
隠れマルコフモデルを用いた状態推定により前記作業ＩＤを割り当てる、ことを特徴とする請求項４に記載の作業特定装置。
【請求項６】
非定型に文が記述された文書の各文がそれぞれ表す作業を特定するコンピュータが、
複数の前記文書が入力されると、複数の前記文書を学習することで得られた変換ｆにより、前記文書に記述された文に含まれる各単語それぞれを複数のベクトルに変換する変換手順と、
前記変換手順により変換された複数のベクトルに基づいて、前記文書に記述された文に対して、該文が表す作業の作業ＩＤを割り当てる割当手順と、
を実行することを特徴とする作業特定方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか一項に記載の作業特定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業特定装置、作業特定方法及びプログラムに関する。
【背景技術】
【０００２】
大規模化や機器構成の多様化が進むＩＴシステムの運用においては、業務の効率化が求められている。特に、故障対応等の迅速化に向けた業務の継続的な改善が求められている。これは、ＩＴシステムが大規模化され、日々の故障発生の回数や頻度が増加していることから、迅速に業務を遂行しなければ、ＩＴシステムの維持がいずれ困難となることが予想されるためである。
【０００３】
業務改善に向けた分析では、まず、現在の業務の作業工程の把握が行われる場合が多い。このような分析では、プロセスマイニングと呼ばれる手法が用いられることがある。プロセスマイニングでは、業務中の作業内容をイベントログとして記録したログ列を大量に蓄積し、これらの蓄積されたログ列を分析することで、業務の作業工程を把握する。このような分析を行うツールとしては、例えば、ＰｒｏＭ等が知られている（非特許文献１）。
【０００４】
プロセスマイニングでは業務中の作業内容をイベントログとして記録する必要があるため、例えば、ＩＴシステム上で行われた作業を自動で記録するシステム（例えば、作業ログ記録システム等）を活用するのが一般的である。なお、例えば作業ログ記録システム等を用いる場合、ＩＴシステム上で作業を行うことが前提となるが、実際の業務で発生する作業の中には、ＩＴシステムを用いずに行う作業も存在する。
【０００５】
ところで、ＩＴシステムの故障対応では、作業内容はイベントログではなく、自由記述の文書として記録される。一般に、発生した故障や障害、事故等の事象の管理は、トラブルチケットシステムを用いて管理される。トラブルチケットシステムでは、発生した故障や障害、事故等の事象をトラブルチケットという単位で記録する。トラブルチケットシステムを運用する目的は、主に、故障や障害、事故等の事象が再発した場合における参照や証跡記録のためである。
【０００６】
トラブルチケットには、予め決められた定型的な情報を記録する定型欄と、オペレータ等のユーザが自由に情報を記録する非定型欄とが含まれる場合が多い。定型欄には、例えば、障害の発生日時、障害対応の進捗状況、発生エラーメッセージ、対応者の氏名等が記録される。一方で、非定型欄には、例えば図１に示すような障害等の事象説明や障害対応における作業内容等が文書で記述される。発生する障害や故障、事故等の事象は毎回状況が変わり得るため、トラブルチケットに記録される情報の大部分は、非定型欄が占める場合が多い。以降では、トラブルチケットの非定型欄に記述された文書を「作業記録」とも表す。
【０００７】
ここで、作業工程が非定型な文書として蓄積されている場合、実施された作業工程を機械的に解析することが困難なことが多い。例えば、図１に示す作業記録は合計１６行の文書であるが、実際には１つの作業を示す文が複数行に跨って記録されている。例えば、図１に示す作業記録の２行目及び３行目はエラーログを確認したこととその結果とが記載されており、２行目と３行目とで１つの作業が記録されている。図１に示す作業記録を、１つの作業毎に各文を区切った場合を図２に示す。図２に示すように、１つの作業を表す文の行数は不定である。また、同一の作業であっても同じ文で記述されることはほとんど無い。例えば、図３（ａ）に示す文と、図３（ｂ）に示す文とは、いずれも同一の作業「エラーログの確認」を表すが、文の内容や発生ログの時刻等のパラメータが異なっている。
【０００８】
このため、上述したプロセスマイニングでは、図１に示す作業記録のような、１つの作業を表す文の集まりと、その作業内容との把握が困難な文書データを扱うことができない。したがって、作業工程が非定型な文書データとして蓄積されている場合、これら大量の文書データの作業工程を把握することは困難となる。
【０００９】
そこで、特に、学習データを用いずに、蓄積された全ての作業記録の記述内容を解析する技術が求められている。これに対して、保守者が記述した作業記録のうち、作業を表す文が記述されている箇所を抽出する技術が提案されている（例えば特許文献１）。また、同一の作業を表す文が記述されている箇所を特定する技術が提案されている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１５−１５３１８８号公報
【特許文献２】特開２０１６−０５３８７１号公報
【非特許文献】
【００１１】
【非特許文献１】Process Mining, インターネット＜ＵＲＬ：http://www.processmining.org/prom/start＞」
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、例えば特許文献１で提案されている技術では、作業を表す文の記述箇所を示すタグが付与された大量の学習データを用意する必要がある。このため、学習データの作成に多くのコストが掛かる。
【００１３】
他方で、例えば特許文献２で提案されている技術では、入力されるデータが業務毎に予め分類されていることが前提となる。しかしながら、例えば、故障対応等では、新たな故障の種別等が追加され得る。このため、事前に故障の種別（すなわち、業務種別）を定義して分類することが困難な場合があり、入力されるデータを予め業務毎に分類することに多くのコストが掛かることがある。
【００１４】
本発明は、上記の点に鑑みてなされたもので、非定型な文書に記述された各文が表す作業を特定することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明の実施の形態は、非定型に文が記述された文書の各文がそれぞれ表す作業を特定する作業特定装置であって、複数の前記文書が入力されると、複数の前記文書を学習することで得られた変換ｆにより、前記文書に記述された文に含まれる各単語それぞれを複数のベクトルに変換する変換手段と、前記変換手段により変換された複数のベクトルに基づいて、前記文書に記述された文に対して、該文が表す作業の作業ＩＤを割り当てる割当手段と、を有することを特徴とする。
【発明の効果】
【００１６】
非定型な文書に記述された各文が表す作業を特定することができる。
【図面の簡単な説明】
【００１７】
【図１】作業記録の一例を示す図である。
【図２】１つの作業毎に各文が区切られた作業記録の一例を示す図である。
【図３】同一の作業が異なる文によって表された場合の一例を示す図である。
【図４】本発明の実施の形態における作業特定装置の機能構成の一例を示す図である。
【図５】本発明の実施の形態における作業特定装置が実行する処理の一例を示すフローチャートである。
【図６】作業記録の各文に対する作業ＩＤの割り当て結果の一例を示す図である。
【図７】本発明の実施の形態における作業特定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。本発明の実施の形態では、非定型な文書の一例として、トラブルチケットの非定型欄に記述された作業記録を考え、作業記録の各文に対して、作業を示す作業ＩＤを割り当てる作業特定装置１０について説明する。作業特定装置１０によって作業記録の各文に対して作業ＩＤが割り当てられることで、これら各文が表す作業が特定される。これにより、例えば、作業特定装置１０のユーザ等は、同一の作業ＩＤが割り当てられた文同士を同一の作業を表す文の集まり（以降では、文の集まりを「文集合」とも表す。）であると把握することができる。また、同一の文集合に含まれる各文は同一の作業を表すため、当該文集合では同一の業務のために作業を行っていると把握することができると共に、当該業務における作業工程を把握することができる。
【００１９】
なお、本発明の実施の形態では、文とは、意味的にひとまとまりとなっている単語の集合のことを言うものとする。例えば、図１に示す作業記録では、各行がそれぞれ１つの文である。ただし、１つの文が１行で記述されている必要はなく、１つの文が複数の行に跨って記述されていても良い。
【００２０】
本発明の実施の形態では、文書分割と呼ばれる技術を応用して作業ＩＤの割り当てを実現する。文書分割とは、与えられた文書中の各文が示すトピックを推測し、文書中のトピックが変化した位置で文書を区切る手法である。本発明の実施の形態では、作業記録の各文が表す作業をトピックと考え、このトピックを作業ＩＤとして推定する。なお、文書分割は、同一トピックを示す文の文集合を表す学習データを用いる教師あり学習の手法と、学習データを用いない教師無し学習の手法とに大別されるが、本発明の実施の形態では、大量の学習データを作成することの困難さから、教師無し学習の手法を採用する。
【００２１】
また、本発明の実施の形態では、文書分割の精度を高めるため、文書分割の前に、作業記録の各文に含まれる単語を、共起性が計算し易いベクトル表現に変換する。共起性とは、１つの文集合中に同時に出現し易い単語を示す尺度である。
【００２２】
教師無し学習は学習データを用いないため、文書を分割した場合における適切さを何等かの指標によって評価し、その指標値が高い分割を得る必要がある。一般には、この指標として共起性を用いて、１つの文集合中に含まれる各単語の共起性が高くなるように文書分割を行うことが多い。
【００２３】
しかしながら、作業記録は、例えば作業対象とする装置名等、固有の単語（固有名称等）が各文に出現する場合が多い。このため、例えば装置名等の固有名称が異なると、同一の作業を表す文であっても異なる単語が含まれることにより、同一の作業を表す文に対して同一の作業ＩＤを割り当てることが困難となる。そこで、本発明の実施の形態では、類似した意味を持つ類義語や装置名を表す語群等を類似性の高いベクトルに変換することで、この困難性を解決する。
【００２４】
＜機能構成＞
まず、本発明の実施の形態における作業特定装置１０の機能構成について、図４を参照しながら説明する。図４は、本発明の実施の形態における作業特定装置１０の機能構成の一例を示す図である。
【００２５】
図４に示すように、本発明の実施の形態における作業特定装置１０は、入出力部１１と、ベクトル変換部１２と、作業ＩＤ割当部１３とを有する。また、本発明の実施の形態における作業特定装置１０は、作業記録データベース（以降、「作業記録ＤＢ」と表す。）１４と、単語ベクトルデータベース（以降、「単語ベクトルＤＢ」と表す。）１５と、作業ＩＤ列データベース（以降、「作業ＩＤ列ＤＢ」と表す。）１６とを有する。
【００２６】
入出力部１１は、各種情報の入力を受け付けると共に、各種情報を出力する。例えば、入出力部１１は、作業記録ＤＢ１４に格納される作業記録又はベクトル変換部１２に渡される作業記録を入力する。入出力部１１は、例えば、キーボードやマウス等の入力装置により作成された作業記録や他の装置等から渡された作業記録等を、作業記録ＤＢ１４に格納される作業記録又はベクトル変換部１２に渡される作業記録として入力する。
【００２７】
また、例えば、入出力部１１は、作業ＩＤ割当部１３による割当結果（すなわち、各文に対して作業ＩＤが割り当てられた作業記録）を出力する。入出力部１１は、出力先として、例えば、ディスプレイ等の表示装置に割当結果を出力しても良いし、記録媒体や他の装置、他のプログラム等に割当結果を出力しても良い。
【００２８】
ベクトル変換部１２は、入出力部１１から渡された作業記録又は作業記録ＤＢ１４に格納されている作業記録の各文に含まれる単語をベクトルに変換する。このとき、ベクトル変換部１２は、入力された作業記録から学習した変換（ベクトル変換）によって、単語をベクトルに変換する。ベクトル変換部１２により得られたベクトルは、単語ベクトルＤＢ１５に格納される。
【００２９】
作業ＩＤ割当部１３は、単語ベクトルＤＢ１５に格納されているベクトルのうち、作業ＩＤの割り当て対象の作業記録から得られたベクトルに基づいて、当該作業記録の各文に割り当てる作業ＩＤの列（作業ＩＤの列を、単に、「作業ＩＤ列」とも表す。）を得る。作業ＩＤ割当部１３により得られた作業ＩＤ列は、作業ＩＤ列ＤＢ１６に格納される。これにより、作業記録の各文に対して作業ＩＤが割り当てられる。
【００３０】
＜処理の詳細＞
以降では、本発明の実施の形態における作業特定装置１０が実行する処理の詳細について、図５を参照しながら説明する。図５は、本発明の実施の形態における作業特定装置１０が実行する処理の一例を示すフローチャートである。
【００３１】
ステップＳ１０１：ベクトル変換部１２は、作業記録を入力する。ここで、ベクトル変換部１２に入力される作業記録は、入出力部１１から渡された作業記録であっても良いし、作業記録ＤＢ１４に格納されている作業記録であっても良いし、入出力部１１から渡された作業記録と作業記録ＤＢ１４に格納されている作業記録との両方であっても良い。また、作業記録ＤＢ１４に格納されている作業記録を入力する場合、入出力部１１は、作業記録ＤＢ１４に格納されている全ての作業記録を入力しても良いし、ユーザ等により指定された作業記録のみを入力しても良い。更に、ベクトル変換部１２に入力される作業記録の数は、１つ以上のであれば、任意の数を入力することができる。
【００３２】
ステップＳ１０２：ベクトル変換部１２は、入力した作業記録の各文に含まれる単語をベクトルに変換する。そして、ベクトル変換部１２は、得られたベクトルを単語ベクトルＤＢ１５に格納する。このとき、作業記録は単語の列として与えられるものとする。
【００３３】
ここで、ベクトル変換部１２によるベクトル変換の詳細について説明する。まず、ベクトル変換部１２に入力された作業記録のうち、ｉ番目の作業記録をＸｉとする。Ｘｉには、Ｎｉ個の文が含まれ、各文をそれぞれ
【００３４】
【数１】
2019133339.tif 000003
とする。文とは、ｘｉｊに含まれる単語ｗの列である。例えば、或る文が「ケーブルを接続する」であった場合、ｘｉｊは、ｘｉｊ＝ｗｉｊ１，ｗｉｊ２，ｗｉｊ３，ｗｉｊ４＝（「ケーブル」，「を」，「接続」，「する」）となる。以降では、入力となる全ての作業記録の集合をＸ＝｛Ｘ１，Ｘ２，・・・，ＸＩ｝とする。Ｉは入力された作業記録の数である。
【００３５】
このとき、ベクトル変換部１２は、入力した作業記録に含まれる任意の単語ｗ∈Ｗに対応するベクトルｖｗを得るために、ｗからｖｗへの適切な変換ｖｗ＝ｆ（ｗ）＝φｗ´Ｔを学習する。
【００３６】
ただし、ｗ´は、単語ｗの集合Ｗ（すなわち、語彙集合Ｗ）における単語ｗの単語ＩＤがｍである場合に、ｍ次元の要素のみが１、それ以外の要素が０である１−ｈｏｔベクトル（０，・・・，０，１，０，・・・，０）であるとする。また、φは、ｐ＜｜Ｗ｜となるｐに対して、ｐ×｜Ｗ｜で表される行列である。更に、ｖｗは、ｐ次元のベクトルであり、任意の単語ｗに対して１つ指定される。なお、Ｔは転置を表す。単語ＩＤは、集合Ｗにおいて各単語ｗを識別するＩＤのことである。
【００３７】
ベクトル変換部１２に入力された作業記録の全てに含まれる単語の語彙数｜Ｗ｜は、一般に数万から数十万に及ぶ。また、各単語ｗは、｜Ｗ｜次元のベクトルと考えることができる。そこで、この単語ｗを、より小さなｐ次元のベクトルに変換すると共に、類似した意味を持つ単語ｗ同士をなるべく近しいベクトルに変換することがベクトル変換部１２の目的である。なお、ベクトルｖｗ同士の距離としては、例えば、ユークリッド距離等を用いれば良い。
【００３８】
ベクトル変換部１２は、入力した作業記録の集合Ｘに含まれる各作業記録Ｘｉの各文ｘｉｊに含まれる各単語ｗｉｊｋの全てをベクトルに変換し、
【００３９】
【数２】
2019133339.tif 000004
に対して、
【００４０】
【数３】
2019133339.tif 000005
を得る。ここで、｜ｘｉｊ｜は、文ｘｉｊに含まれる単語数である。
【００４１】
本発明の実施の形態では、上記のベクトル変換の一例として、Ｓｋｉｐ−ｇｒａｍを用いたベクトル変換を採用する。なお、Ｓｋｉｐ−ｇｒａｍについては、以下の参考文献１を参照されたい。
【００４２】
［参考文献１］
Tomas Mikolov, Kai Chen, Greg Corrado and Jeffrey Dean, ''Efficient Estimation of Word Representations in Vector Space,'' ICLR 2013.
Ｓｋｉｐ−ｇｒａｍでは、入力として与えられたＸから、文中の任意のｗｉｊｋに対して、その周辺にある単語ｗｉｊｋ＋ａの確率Ｐ（ｗｉｊｋ＋ａ｜ｗｉｊｋ）が最も高くなる変換ｆを学習する。ここで、ａ＝｛−ｃ，・・・，−１，１，・・・，ｃ｝であり。また、ｃはコンテキストサイズと呼ばれる定数である。
【００４３】
Ｓｋｉｐ−ｇｒａｍでは、以下の式に示す関数を最大化するパラメータφ及びφ´を、入力データであるＸから学習することで、変換ｆを得る。
【００４４】
【数４】
2019133339.tif 000006
ただし
【００４５】
【数５】
2019133339.tif 000007
である。ここで、ｖ´ｗはφ´によるｗの変換結果である
このとき、φ´とφとが異なる値であるため、φ´による変換結果ｖ´ｗとφによる変換結果ｖｗとは異なる値である。上記の式１を最大化させるφを、単語ｗをｖｗに変換するための行列であるとする。より直観的な説明としては、全ての単語ｗｉｊｋは、共通のφを通じて
【００４６】
【数６】
2019133339.tif 000008
にまず変換される。その後、φ´によって、｜Ｗ｜次元ベクトルｗ（ａ）ｉｊｋ＝φ´Ｔｗｉｊｋに再び変換される。このとき、計算されたｗ（ａ）ｉｊｋと、実際の周辺語ｗ´ｉｊｋ＋ａとができるだけ近しいベクトルとなるように（すなわち、周辺語が正しく予測できているように）パラメータの学習を行う。具体的に説明すると、例えば、「Ａを確認する」という文と、「Ｂを確認する」という文とがあったとする。この場合、単語Ａを表すｗＡの変換結果ｖＡ＝φｗＡと、単語Ｂを表すｗＢの変換結果ｖＢ＝φｗＢとをできるだけ近しい値にしておいた方が上記の式１の値は大きくなる。Ｓｋｉｐ−ｇｒａｍは、周辺語と類似した単語を近しいベクトルにするように振る舞うため、類義語を得ることが可能となる。
【００４７】
ベクトル変換部１２は、上記の式１で得られたパラメータφを用いた変換ｆ（すなわち、ｖｗ＝ｆ（ｗ）＝φｗ´Ｔ）により、入力した作業記録の集合Ｘに含まれる各作業記録Ｘｉの各文ｘｉｊに含まれる各単語ｗｉｊｋを変換する。
【００４８】
このように、本発明の実施の形態におけるベクトル変換部１２は、単語ｗを低次元かつ類義語を把握可能なベクトルｖｗに変換する。なお、ベクトル変換部１２によるベクトル変換の一例として、Ｓｋｉｐ−ｇｒａｍを用いたベクトル変換を説明したが、これに限られない。ベクトル変換部１２によるベクトル変換として、例えば、ＣＢｏＷ（Continuous Bag-of-Words）モデル等を用いたベクトル変換を採用しても良い。
【００４９】
ステップＳ１０３：作業ＩＤ割当部１３は、単語ベクトルＤＢ１５に格納されているベクトルのうち、作業ＩＤの割り当て対象の作業記録から得られたベクトルを入力する。例えば、作業ＩＤの割り当て対象の作業記録の集合をＸ＝｛Ｘ１，Ｘ２，・・・，ＸＩ´｝とした場合、作業ＩＤ割当部１３は、これらの作業記録Ｘｉから得られたベクトルの列（以降、「ベクトル列」とも表す。）
【００５０】
【数７】
2019133339.tif 000009
を入力する。ここで、Ｉ´は、作業ＩＤの割り当て対象の作業記録の数（すなわち、作業ＩＤ割当部１３に入力される作業記録の数）である。
【００５１】
ステップＳ１０４：作業ＩＤ割当部１３は、入力したベクトル列Ｖに対して、各作業記録の文数と同じ長さであるラベルの列（以降、「ラベル列」とも表す。）
【００５２】
【数８】
2019133339.tif 000010
を作業ＩＤ列として得る。ここで、ｚｉｊは、文ｘｉｊに割り当てられる作業ＩＤを示す変数である。ｚｉｊは、作業の種類数をＫとして、１，・・・，Ｋのいずれかの値を取る。
【００５３】
そして、作業ＩＤ割当部１３は、得られた作業ＩＤ列を作業ＩＤ列ＤＢ１６に格納する。なお、作業ＩＤ割当部１３は、得られた作業ＩＤ列を、該当の作業記録の各文に割り当てた結果（すなわち、各文に対して作業ＩＤが割り当てられた作業記録）を入出力部１１に渡しても良い。これにより、入出力部１１により、例えば、各文に対して作業ＩＤが割り当てられた作業記録が出力される。
【００５４】
ここで、作業ＩＤ割当部１３による作業ＩＤ列の割り当ての詳細について説明する。本発明の実施の形態では、隠れマルコフモデル（ＨＭＭ：Hidden Markov Model）を用いた状態推定によるラベル付けを、作業ＩＤの割り当てに適用する。隠れマルコフモデルでは、各Ｖｉに対して、以下の式２を最大化するラベル列Ｚｉを作業ＩＤ列として得る。
【００５５】
【数９】
2019133339.tif 000011
ここで、πは先頭のｚｉ１の確率、Ａはｚｉｊ−１の次にｚｉｊになる確率である、また、μ及びΣは、各作業ＩＤにおけるベクトルｖの平均及び分散をそれぞれ決定するパラメータである。これらのπ、Ａ、μ及びΣも上記の式２を最大化するための値が同時に推定される。なお、本発明の実施の形態で必要なのは文集合の変化点（すなわち、作業ＩＤの変化点）を得ることであるが、上記の式２によって得られたＺｉから作業ＩＤが変化した文の位置は容易に得ることができる。すなわち、或るｚｉｊで作業ＩＤが変化した場合（すなわち、ｚｉｊとｚｉｊ−１とが異なる場合）、このｚｉｊに対応する文ｘｉｊの位置が、作業ＩＤが変化した位置である。これにより、ラベル列Ｌを作業ＩＤ列として得ることができる。
【００５６】
上記の式２における各確率分布ｐ（ｚｉ１｜π）、ｐ（ｚｉｊ｜ｚｉｊ−１，Ａ）及びｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）としては、任意の分布が用いられても良いが、多くの場合は或る決まった分布が用いられる。一般的には、以下に示す分布が用いられることが多い。
【００５７】
・ｐ（ｚｉ１｜π）：πをＫ次元のパラメータ（すなわち、π＝（π１，・・・，πＫ））とした多項式分布。ｚｉ１＝ｋである確率はπｋに比例する。
【００５８】
・ｐ（ｚｉｊ｜ｚｉｊ−１，Ａ）：ＡをＫ個のＫ次元のパラメータとした混合多項分布。Ｋ個のＫ次元のパラメータのうちの１つのＫ次元のパラメータをＡｋと表した場合に、ｚｉｊは、
【００５９】
【数１０】
2019133339.tif 000012
に依存して決定する。
【００６０】
・ｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）：μをＫ個のｐ次元のパラメータ、ΣをＫ個のｐ×ｐ次元のパラメータとした混合多変量正規分布。Ｋ個のｐ次元のパラメータのうちの１つのｐ次元のパラメータをμｍ、Ｋ個のｐ×ｐ次元のパラメータのうちの１つのｐ×ｐ次元のパラメータをΣｎとした場合に、ｖｉｊｋは、
【００６１】
【数１１】
2019133339.tif 000013
の多変量正規分布に従う。
【００６２】
ここで、上記の式２は、次のように解釈することができる。すなわち、上記では文数と同じ長さのラベル列Ｚを定義し、文数と同数のｚｉｊが存在するものしたが、上記の式２では、作業記録Ｘｉ中の全ての単語数と同数の作業ＩＤｚ´ｉｊｋが存在すると考える（すなわち、作業記録Ｘｉの文ｘｉｊに含まれる各単語を示すインデックスをｋとすれば各単語はｗｉｊｋで表されるため、単語ｗｉｊｋに対応する作業ＩＤをｚ´ｉｊｋとする。）。まず、作業記録Ｘｉの１つ目の単語（すなわち、作業記録Ｘｉの１行目の文における先頭の単語）に対する作業ＩＤｚｉ１１がｋである確率は、確率分布ｐ（ｚ´ｉ１１＝ｋ｜π）によって決まる。２つ目以降の単語に対する作業ＩＤｚ´ｉｊｋの確率は、１つ前の作業ＩＤに従う確率分布ｐ（ｚ´ｉｊｋ｜ｚ´ｉｊｋ−１，Ａ）によって決まる。ただし、本発明の実施の形態における隠れマルコフモデルでは、各文の途中で作業ＩＤが変わることはなく、文ｘｉｊに含まれる単語
【００６３】
【数１２】
2019133339.tif 000014
に対する作業ＩＤ
【００６４】
【数１３】
2019133339.tif 000015
は、
【００６５】
【数１４】
2019133339.tif 000016
である。上記の式２で、任意の作業記録Ｘｉに含まれる単語の数だけ、同じ作業ＩＤであり続ける確率を考慮した項が
【００６６】
【数１５】
2019133339.tif 000017
及び
【００６７】
【数１６】
2019133339.tif 000018
である。最後に、作業ＩＤｚ´ｉｊｋに対応した平均μｚ´ｉｊｋと分散Σｚ´ｉｊｋとによって、各単語が変換されたベクトルｖｉｊｋの確率が決まり、この確率分布をｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）で表す。
【００６８】
上記の各確率分布に従うことで、類似した単語のベクトルがいずれかの作業ＩＤｋに紐付くようにＺｉが得られる。上記の式２をより大きくするためには、ｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）の値を大きくする必要がある。ｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）は確率分布であるために、
【００６９】
【数１７】
2019133339.tif 000019
という制約を持ち、分散Σが大きくなると、ｐ（ｖｉｊｋ｜ｚｉｊ，μ，Σ）の値は小さくなる。このため、上記の式２の最大化では、ｚｉｊ＝ｋに対応するベクトルｖについて、当該ベクトルｖと類似したベクトルだけが集まるようにして、分散Σを小さくしようとする。このように、上記の式２の最大化問題は、類似したベクトル同士に同じ作業ＩＤが割り当てられ易いという特性を持つ。
【００７０】
上記の式２を最大化するＺｉとパラメータπ、Ａ、μ及びΣとを得るには、一般的な隠れマルコフモデルの最適化手法を用いれば良い。例えば、Ｂａｕｍ−ＷｅｌｃｈアルゴリズムとＶｉｔｅｒｂｉアルゴリズムとを組み合わせた手法を用いれば良い。Ｂａｕｍ−Ｗｅｌｃｈアルゴリズム及びＶｉｔｅｒｂｉアルゴリズムについては、以下の参考文献２を参照されたい。
【００７１】
［参考文献２］
Bishop C.M. ,(邦訳 元田浩ら),パターン認識と機械学習 (下)―ベイズ理論による統計的予測,13.2.5.Viterbiアルゴリズム, 丸善出版, 2012.
なお、上記の式２の最大化は、あらゆるＺｉとパラメータπ、Ａ、μ及びΣとの組み合わせを試して、上記の式２が最大となった場合のＺｉを得ても良い。ただし、このような総当たりの手法は非現実的な時間を要するため、上述したアルゴリズムによって解を得ることが好ましい。
【００７２】
なお、上記のステップＳ１０１〜ステップＳ１０２の処理と、上記のステップＳ１０３〜ステップＳ１０４の処理とが連続して実行される必要はない。例えば、上記のステップＳ１０１〜ステップＳ１０２の処理を予め実行した上で、その後、別途、上記のステップＳ１０３〜ステップＳ１０４の処理が実行されても良い。
【００７３】
＜作業ＩＤの割り当て結果＞
ここで、本発明の実施の形態における作業特定装置１０により、図１に示す作業記録の各文に対して作業ＩＤを割り当てた結果を図６に示す。図６は、作業記録の各文に対する作業ＩＤの割り当て結果の一例を示す図である。
【００７４】
図６に示す例では、図１に示す作業記録をＸｉとして、Ｘｉに対して得られた作業ＩＤ列Ｚｉから１つ前のｚｉｊ−１と値が変化したｚｉｊのみを取り出した作業ＩＤ列をＹｉとして、Ｙｉ＝１，２，４，６，３，７，１０，１１，２０，２２，２１を得た。
【００７５】
図６に示すように、本発明の実施の形態における作業特定装置１０により、同一の作業を表す文に対しては同一の作業ＩＤが割り当てられる。これにより、作業記録の各文が表す作業を特定することができる。
【００７６】
このとき、同一の作業ＩＤが割り当てられている文の集合が１つの文集合であり、同一の文集合に含まれる文は、同一の業務のために作業を行っていると把握することができる。例えば、作業ＩＤ「２」が割り当てられている２行目の文と３行目の文とは、同一の業務のための作業を表していると把握することができる。同様に、例えば、作業ＩＤ「６」が割り当てられている５行目の文と６行目の文とは、同一の業務のための作業を表していると把握することができる。このため、当該業務を遂行にあたって要する作業工程を把握することができるようになる。
【００７７】
また、各作業工程の実施回数の統計が取得可能にもなり、効率化の重要度が高い業務の分析が可能となる。また、例えば、業務が既知である複数の作業記録に割り当てられた作業ＩＤ列を比較することで、実施されていない作業を把握することもできる。これにより、例えば、作業工程のうち、不要な作業の把握も可能となる。これら以外にも、本発明の実施の形態における作業特定装置１０によって作業記録の各文に作業ＩＤを割り当て、各作業工程を分析することで、様々な業務分析を実現可能とする。
【００７８】
なお、図６に示す例で、各文に割り当てられている作業ＩＤは一例である。各文には、当該文が表す作業を識別する任意の情報（必ずしも数字に限られない。）が作業ＩＤとして割り当てられれば良い。
【００７９】
＜ハードウェア構成＞
次に、本発明の実施の形態における作業特定装置１０のハードウェア構成について、図７を参照しながら説明する。図７は、本発明の実施の形態における作業特定装置１０のハードウェア構成の一例を示す図である。
【００８０】
図７に示すように、本発明の実施の形態における作業特定装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、補助記憶装置１０８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００８１】
入力装置１０１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置１０２は、例えばディスプレイ等であり、作業特定装置１０の処理結果を表示する。なお、作業特定装置１０は、入力装置１０１及び表示装置１０２の少なくとも一方を有していなくても良い。
【００８２】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。作業特定装置１０は、外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａ等の読み取りや書き込みを行うことができる。
【００８３】
記録媒体１０３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）メモリカード、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００８４】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、例えば、ＯＳ（Operation System）設定やネットワーク設定等が格納されている。
【００８５】
ＣＰＵ１０６は、ＲＯＭ１０５や補助記憶装置１０８等からプログラムやデータをＲＡＭ１０４上に読み出して処理を実行する演算装置である。
【００８６】
通信Ｉ／Ｆ１０７は、作業特定装置１０をネットワークに接続するためのインタフェースである。
【００８７】
補助記憶装置１０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１０８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム等がある。
【００８８】
本発明の実施の形態における作業特定装置１０の入出力部１１と、ベクトル変換部１２と、作業ＩＤ割当部１３とは、例えば補助記憶装置１０８に格納されている１以上のプログラムが、ＣＰＵ１０６に実行させる処理により実現される。なお、これら１以上のプログラムは、記録媒体１０３ａに記録されていても良いし、通信Ｉ／Ｆ１０７を介してネットワークから取得されても良い。
【００８９】
また、本発明の実施の形態における作業特定装置１０の作業記録ＤＢ１４と、単語ベクトルＤＢ１５と、作業ＩＤ列ＤＢ１６とは、例えば補助記憶装置１０８を用いて実現可能である。なお、これら各ＤＢのうちの少なくとも１つのＤＢが、作業特定装置１０とネットワークを介して接続される記憶装置等により実現されていても良い。
【００９０】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９１】
１０        作業特定装置
１１        入出力部
１２        ベクトル変換部
１３        作業ＩＤ割当部
１４        作業記録ＤＢ
１５        単語ベクトルＤＢ
１６        作業ＩＤ列ＤＢ
【図１】
2019133339.tif 000020
【図２】
2019133339.tif 000021
【図３】
2019133339.tif 000022
【図４】
2019133339.tif 000023
【図５】
2019133339.tif 000024
【図６】
2019133339.tif 000025
【図７】
2019133339.tif 000026