(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023142769
(43)【公開日】2023-10-05
(54)【発明の名称】文字列分類装置、プログラムおよび文字列分類方法
(51)【国際特許分類】
G06F 16/35 20190101AFI20230928BHJP
【FI】
G06F16/35
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022049845
(22)【出願日】2022-03-25
(71)【出願人】
【識別番号】000153443
【氏名又は名称】株式会社 日立産業制御ソリューションズ
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】行田 将之佑
(72)【発明者】
【氏名】佐藤 宏一
(72)【発明者】
【氏名】平賀 太竣
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175DA08
5B175FA03
(57)【要約】
【課題】データクレンジングを効率化する。
【解決手段】データクレンジング装置100は、イベントログの1つの項目に含まれる文字列をベクトルに変換するベクトル化部112と、次元圧縮処理により、ベクトルを低次元ベクトルに変換する次元圧縮部113と、クラスタリング処理により、低次元ベクトルを1つ以上のクラスタに分類するクラスタリング部114と、クラスタの細分化および統合化のうち少なくとも一方を行ってクラスタを再編する細分統合化部115とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文字列をベクトルに変換するベクトル化部と、
次元圧縮処理により、前記ベクトルを低次元ベクトルに変換する次元圧縮部と、
クラスタリング処理により、前記低次元ベクトルを1つ以上のクラスタに分類するクラスタリング部と、
前記クラスタの細分化および統合化のうち少なくとも一方を行って前記クラスタを再編する細分統合化部とを備える
文字列分類装置。
【請求項2】
前記細分統合化部は、
各クラスタに含まれるベクトルが示す文字列間の類似度が所定値より大きくなるように、前記クラスタを再編する
請求項1に記載の文字列分類装置。
【請求項3】
前記クラスタリング部は、
前記クラスタに含まれるベクトルが示す文字列間の類似度が所定値より小さい場合に、当該クラスタに含まれる低次元ベクトルに対して前記クラスタリング処理を行う
請求項1に記載の文字列分類装置。
【請求項4】
前記細分統合化部は、
前記クラスタのなかで、1つのクラスタと、他のクラスタとの類似度が所定値より大きい場合に、当該1つのクラスタからの類似度が最大となるクラスタと、当該1つのクラスタとを統合して新たなクラスタとし、
2つの前記クラスタの類似度は、それぞれの当該クラスタに含まれるベクトルが示す文字列間の類似度に基づいて算出される
請求項1に記載の文字列分類装置。
【請求項5】
前記類似度は、
ベクトルが示す文字列の文字列編集距離に基づいて算出される
請求項2~4の何れか1項に記載の文字列分類装置。
【請求項6】
前記ベクトル化部は、自然言語処理技術を用いて文字列をベクトルに変換する
請求項1に記載の文字列分類装置。
【請求項7】
前記クラスタリング処理は、X-meansである
請求項1に記載の文字列分類装置。
【請求項8】
前記次元圧縮部は、
2次元ベクトルまたは3次元ベクトルに変換する
請求項1に記載の文字列分類装置。
【請求項9】
前記文字列は、イベントログの1つの項目に含まれる文字列である
請求項1に記載の文字列分類装置
【請求項10】
コンピュータを、
文字列をベクトルに変換するベクトル化部、
次元圧縮処理により、前記ベクトルを低次元ベクトルに変換する次元圧縮部、
クラスタリング処理により、前記低次元ベクトルを1つ以上のクラスタに分類するクラスタリング部、および
前記クラスタの細分化および統合化のうち少なくとも一方を行って前記クラスタを再編する細分統合化部として機能させるための
プログラム。
【請求項11】
文字列分類装置が、
文字列をベクトルに変換するステップと、
次元圧縮処理により、前記ベクトルを低次元ベクトルに変換するステップと、
クラスタリング処理により、前記低次元ベクトルを1つ以上のクラスタに分類するステップと、
前記クラスタの細分化および統合化のうち少なくとも一方を行って前記クラスタを再編するステップとを実行する
文字列分類方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イベントログからプロセスマイニングに必要なログの抽出、分類、可視化を行う文字列分類装置、プログラムおよび文字列分類方法に関する。
【背景技術】
【0002】
業務プロセスの自動化や効率化を進めるソリューションとして、プロセスマイニングが注目されている。プロセスマイニングは、イベントログから業務プロセス全体を把握し、実際の業務プロセスを発見して監視することで改善ポイントを具体的に特定して、業務の効率化を支援する手法である。
【0003】
イベントログについて、IEEEプロセスマイニングタスクフォース作成の「プロセスマイニングマニフェスト」(インターネット<URL:https://www.tf-pm.org/upload/1580738062276.pdf>参照)には「イベントの集合をイベントログと言っているが、必ずしもイベントを専用のログファイルに格納する必要はない。イベントは、データベースのテーブル、メッセージログ、メールアーカイブ、トランザクションログ、その他のデータソースに格納される。」と記載されている。
【0004】
プロセスマイニングを行うには、使用するイベントログにある一定以上の品質が求められる。上記の「プロセスマイニングマニフェスト」では、このイベントログの品質の指標をイベントログの成熟度レベルとして定義している。イベントログの成熟度レベルは1~5が定義されており、プロセスマイニング適用可能レベルはレベル3以上としている。原理上、レベル2以下でもプロセスマイニングは適用可能であるが、成熟度が低いことにより得られる結果の信頼性は低いものとなる。
【0005】
プロセスマイニングの従来技術として、特許文献1に記載の技術がある。この技術は、複数のタスクに対応する複数のノード、およびノード間の遷移関係を示すエッジを含むプロセス群から、プロセスを複数のサブプロセスに分割することで、プロセス全体の把握、プロセス全体の最適化、およびサブプロセスの把握、サブプロセスの最適化を支援する技術である。
特許文献1に記載の技術で使われているプロセス群は、イベントログから生成されている。このイベントログは自動的かつ体系的に記録されており、成熟度レベル4以上と想定される。このため、信頼性の高いプロセスマイニングの結果を得ることができる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
企業の業務プロセスを示すイベントログは体系的に記録されていないことが多く、同時に成熟度レベルが低いケースが多い。特許文献1には成熟度レベルが低いイベントログデータについての記載がなく、プロセスマイニングの対象として想定されていない。
イベントログの成熟度レベルが低い場合には取得したイベントログからプロセスマイニングに必要なログを整理・抽出・分類して品質を上げる、データの前処理またはデータクレンジングと呼ばれる工程が必要となる。企業の業務プロセスを示すシステムのログは膨大であり、形式は多種多様である。このため、実務上、データクレンジング処理に多大な労力と作業時間が掛かることが大きな問題となっており、これを解決することが求められている。
本発明は、このような背景を鑑みてなされたものであり、データクレンジングを効率化する文字列分類装置、プログラムおよび文字列分類方法を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記した課題を解決するため、本発明に係る文字列分類装置(データクレンジング装置)は、イベントログの1つの項目に含まれる文字列をベクトルに変換するベクトル化部と、次元圧縮処理により、前記ベクトルを低次元ベクトルに変換する次元圧縮部と、クラスタリング処理により、前記低次元ベクトルを1つ以上のクラスタに分類するクラスタリング部と、前記クラスタの細分化および統合化のうち少なくとも一方を行って前記クラスタを再編する細分統合化部とを備える。
【発明の効果】
【0009】
本発明によれば、データクレンジングを効率化する文字列分類装置、プログラムおよび文字列分類方法を提供することができる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係るデータクレンジング装置の機能ブロック図である。
【
図2】本実施形態に係るイベントログを示す図である。
【
図3】本実施形態に係る表形式に変換後のイベントログを示す図である。
【
図4】本実施形態に係り、書式を修正し、欠落項目を含むレコードを削除した後のイベントログを示す図である。
【
図5】本実施形態に係る文字列のベクトルへの変換を説明するための図である。
【
図6】本実施形態に係る文字列の低次元ベクトルへの変換を説明するための図である。
【
図7】本実施形態に係るデータクレンジング処理のフローチャートである。
【
図8】本実施形態に係る分類処理のフローチャートである。
【
図9】本実施形態に係る低次元ベクトルの3次元プロット図である。
【
図10】本実施形態に係る低次元ベクトルのヒストグラムである。
【発明を実施するための形態】
【0011】
≪データクレンジング装置の概要≫
以下に本発明を実施するための形態(実施形態)におけるデータクレンジング装置(文字列分類装置)を説明する。データクレンジング装置は、イベントログを入力とし、特定の項目でイベントを分類して可視化する。特定の項目とは、例えば動作名といったイベントの名称や種別、内容を示す項目であって、業務プロセス内のアクティビティ(ステップ)を示す項目である。この特定の項目の具体例は後記する。
【0012】
イベントログによっては、同じ内容や、同種と見なせるアクティビティであっても、異なる名称/文字列として記録される場合があり、プロセスマイニングを行う上での障害となる。データクレンジング装置は、アクティビティを示す項目に対してクラスタリング処理や自然言語処理を用いて、イベントを意味または内容が近いグループに分ける。このようなデータクレンジング装置が前処理したイベントログを用いることで、適切なプロセスマイニングを行うことができるようになる。
【0013】
≪データクレンジング装置の構成≫
図1は、本実施形態に係るデータクレンジング装置100(文字列分類装置)の機能ブロック図である。データクレンジング装置100はコンピュータであり、制御部110、記憶部120、および入出力部180を備える。入出力部180には、ディスプレイやキーボード、マウスなどのユーザインターフェイス機器が接続される。入出力部180が通信デバイスを備え、他の装置とのデータ送受信が可能であってもよい。また入出力部180にメディアドライブが接続され、記録媒体を用いたデータのやり取りが可能であってもよい。
【0014】
≪データクレンジング装置:記憶部≫
記憶部120は、ROM(Read Only Memory)やRAM(Random Access Memory)、SSD(Solid State Drive)などの記憶機器を含んで構成される。記憶部120には、イベントログデータベース130、およびプログラム128が記憶される。イベントログデータベース130には、処理対象となるイベントログ510(後記する
図2参照)が格納される。プログラム128は、後記するデータクレンジング処理(後記する
図7参照)の記述が含まれる。
【0015】
≪データクレンジング装置:制御部≫
制御部110は、CPU(Central Processing Unit)を含んで構成され、前処理部111、ベクトル化部112、次元圧縮部113、クラスタリング部114、細分統合化部115、表示制御部116、および後処理部117が備わる。
【0016】
≪データクレンジング装置:前処理部≫
前処理部111は、イベントログデータベース130から処理対象となるイベントログ510(後記する
図2参照)を読み込み、項目の抽出や書式の修正、空白データの削除を行う。
【0017】
図2は、本実施形態に係るイベントログ510を示す図である。イベントログ510は例えばテキストデータであって、1つの行が1つのイベントを示す。イベントは、業務プロセス内の1つのステップ、または業務システムに対する操作であり、例えば業務システムの1つの画面で示される処理である。1つの行は、例えばセミコロン(「;」)で区切られる1つ以上の項目を含む。イベントログ510において各行の最初の項目は、日付と時刻を含む。最初の2行は、2つの項目を含むが、他の行は、それぞれ操作者、操作ページ名、処理名、動作名、受注番号という項目を含んでいる。なお、後記するようにイベントログ510では動作名がアクティビティに相当する。
【0018】
前処理部111は、イベントログ510を読み込み、セミコロンで区切られた項目を列とする表形式のイベントログ520(後記する
図3参照)に変換する。なお区切りとなる文字はセミコロンとは限らず他の文字であってもよい。前処理部111は、データクレンジング装置100の利用者に問い合わせて区切り文字を取得してもよい。
【0019】
図3は、本実施形態に係る表形式に変換後のイベントログ520を示す図である。イベントログ520の行(レコード)は、イベントログ510の行(イベント)に対応する。イベントログ520の列(属性)は、イベントログ510の項目に対応する。イベントログ520の列の名称(項目名)は、イベントログ510の項目から取得されているが、データクレンジング装置100の利用者に問い合わせて取得されてもよいし、既定の名称から選択されてもよい。最初の項目は日付や時刻を含んでおり、データクレンジング装置100が既定の名称である「タイムスタンプ」を列の名称としている。
【0020】
次に前処理部111は、各項目の書式を修正する。例えば前処理部111は、日時や日付の書式を既定の書式に修正する。他にも前処理部111は、例えば全角の英数字を半角の英数字に統一する(「A:3」を「A:3」に変換)ようにしてもよい。
続いて前処理部111は、欠落した項目(空白の項目)を含むレコードを削除する。イベントログ520において最初の2行は、操作ページ名や処理名が欠落しており、削除される。なお前処理部111は、特定の項目が空白であるレコードを削除してもよい。特定の項目とは、プロセスマイニングに必要な項目であって、例えばタイムスタンプやアクティビティ、ケース識別情報の項目であって、イベントログ510においては、タイムスタンプ、動作名、受注番号のことである。
【0021】
図4は、本実施形態に係り、書式を修正し、欠落項目を含むレコードを削除した後のイベントログ530を示す図である。タイムスタンプについて、イベントログ510,520と比較して、日付の書式が変わり、日付と時刻以外のデータが削除されている。またイベントログ510,520の最初の2行を含め、欠落項目のあるレコードが削除されている。
【0022】
≪データクレンジング装置:ベクトル化部≫
図1に戻って制御部110の説明を続ける。ベクトル化部112は、イベントログ530におけるアクティビティに相当する文字列をベクトルに変換する。アクティビティとは、業務プロセス内でのステップ、業務システムの操作を示し、イベントの名称または内容を示す。イベントログ530においては、動作名がアクティビティになる。
【0023】
ベクトルは多数次元のベクトルであり、ベクトル化部112は自然言語処理技術を用いて、文字列をベクトルに変換する。ベクトル化部112がベクトル化に用いる自然言語処理技術の例として、BERT(Bidirectional Encoder Representations from Transformers)がある。他にword2vecを用いてもよいし、生成したベクトルでクラスタリングや回帰モデルの作成が可能である自然言語処理技術であればよい。
図5は、本実施形態に係る文字列のベクトルへの変換を説明するための図である。
図5では、動作名にある文字列が768次元のベクトルに変換されることが示されている。なお、768次元は一例である。
【0024】
以上に説明したように、データクレンジング装置100に備わるベクトル化部112は、イベントログの1つの項目に含まれる文字列をベクトルに変換する。
ベクトル化部112は、自然言語処理技術を用いて文字列をベクトルに変換する。
【0025】
≪データクレンジング装置:次元圧縮部≫
図1に戻って制御部110の説明を続ける。次元圧縮部113は、ベクトル化部112が出力した多数次元のベクトルを低次元のベクトルに変換する。次元圧縮部113は、例えば可視化可能な2次元ないしは3次元のベクトルに変換する。低次元ベクトルへの変換する次元圧縮処理の手法としては、主成分分析(Principal Component Analysis(PCA))が代表的である。以下では、次元圧縮部113は3次元ベクトルに変換するものとする。
図6は、本実施形態に係る文字列の低次元ベクトルへの変換を説明するための図である。動作名の文字列は、ベクトル化部112により768次元のベクトルに変換され、さらに次元圧縮部113により3次元のベクトルに変換される。
【0026】
以上に説明したように、データクレンジング装置100に備わる次元圧縮部113は、次元圧縮処理により、ベクトルを低次元ベクトルに変換する。
また次元圧縮部113は、2次元ベクトルまたは3次元ベクトルに変換する。
【0027】
≪データクレンジング装置:クラスタリング部と細分統合化部≫
図1に戻って制御部110の説明を続ける。クラスタリング部114、および細分統合化部115は、交互に処理を行って、3次元ベクトル(動作名にある文字列)を分類する。クラスタリング部114は、3次元ベクトルを、例えばX-meansのクラスタリング手法を用いてクラスタに分類する。
細分統合化部115は、クラスタに含まれる3次元ベクトルに対応する文字列の類似度(距離)を基にクラスタを分割して細分化する。また、細分統合化部115は、異なるクラスタに含まれる3次元ベクトルに対応する文字列の類似度(距離)を基にクラスタを統合する。このように細分統合化部115は、クラスタに含まれる3次元ベクトルに対応する文字列の類似度を基にクラスタを再編する。クラスタリング部114、および細分統合化部115の処理詳細は、後記する
図8を参照して説明する。
【0028】
以上に説明したように、データクレンジング装置100に備わるクラスタリング部114は、クラスタリング処理により、低次元ベクトルを1つ以上のクラスタに分類する。
またクラスタリング処理は、X-meansである。
データクレンジング装置100に備わる細分統合化部115は、クラスタの細分化および統合化のうち少なくとも一方を行ってクラスタを再編する。
【0029】
≪データクレンジング装置:後処理部≫
後処理部117は、動作名にある文字列を、当該文字列を含むクラスタの代表元となる文字列に置き換えてイベントログ530を出力する。代表元は、クラスタの中心に近い文字列であってもよいし、クラスタのなかで最短長の文字列であってもよいし、他の文字列との類似度の平均値が最大の文字列であってもよいし、クラスタに含まれる任意の文字列であってもよい。
【0030】
≪データクレンジング処理≫
図7は、本実施形態に係るデータクレンジング処理のフローチャートである。
ステップS11において前処理部111は、イベントログデータベース130にあるイベントログ510(
図2参照)を読み込む。
ステップS12において前処理部111は、イベントログ510に含まれる項目を抽出する。イベントログ510においては、セミコロン(「;」)で区切られる項目を抽出する。
【0031】
ステップS13において前処理部111は、ステップS12で抽出された項目の項目名を特定する。イベントログ510においては、タイムスタンプ、操作者名、処理名、動作名、受注番号の項目名が特定される。
ステップS14において前処理部111は、項目の書式を修正する。例えば前処理部111は、日付と時刻の書式を既定の形式に修正(変換)する。
ステップS15において前処理部111は、空の項目を含むイベント(レコード、行)を削除する。このステップS15までの処理結果が、イベントログ530(
図4参照)である。
【0032】
ステップS16においてベクトル化部112は、動作名にある文字列を高次元のベクトル化に変換する。
ステップS17において次元圧縮部113は、ステップS16で変換された多数次元のベクトルを低次元のベクトルに変換する。
ステップS18は分類処理であり、後記する
図8を参照して詳細を説明する。
ステップS19において表示制御部116は、分類結果として後記する3次元プロット
図610やヒストグラム620(後記する
図9、
図10参照)を表示する。
【0033】
ステップS20において表示制御部116は、利用者による分類結果の評価を取得する。表示制御部116は、評価がOKならば(ステップS20→OK)ステップS22に進み、NGならば(ステップS20→NG)ステップS21に進む。
ステップS21において細分統合化部115は、後記する分類処理のパラメータ(後記するδ)を調整してステップS18に戻る。例えば細分統合化部115は、利用者に問い合わせてパラメータを調整してもよい。
ステップS22において後処理部117は、動作名にある文字列を、当該文字列を含むクラスタの代表元となる文字列に置き換えてイベントログ530(
図4参照)を出力する。
【0034】
≪分類処理≫
図8は、本実施形態に係る分類処理のフローチャートである。
図8を参照して、ステップS18(
図7参照)の詳細を説明する。
ステップS31においてクラスタリング部114は、ステップS17の結果である低次元ベクトルに対して、例えばX-meansを用いたクラスタリング処理を行う。
【0035】
ステップS32において細分統合化部115は、ステップS31の結果に含まれる各クラスタに対して、ステップS33~S35を行う処理を開始する。
ステップS33において細分統合化部115は、クラスタに含まれる低次元ベクトルに対応する動作名の文字列の数が1以上であれば(ステップS33→YES)ステップS34に進み、項目が1つならば(ステップS33→NO)次のクラスタに対してステップS33~S35を繰り返す。
【0036】
ステップS34において細分統合化部115は、クラスタ内の低次元ベクトルが示す文字列の類似度が所定値δより小さいならば(ステップS34→YES)ステップS35に進み、δ以上ならば(ステップS34→NO)次のクラスタに対してステップS33~S35を繰り返す。2つの文字列の類似度は、例えば文字列編集距離であるレーベンシュタイン距離を基に算出される。例えば、類似度=1-(レーベンシュタイン距離/長い方の文字列長)として算出される。
【0037】
ステップS35において細分統合化部115は、自身(細分統合化部115)を呼び出し、クラスタに含まれる低次元ベクトルに対して分類処理を行う。換言すれば、細分統合化部115はクラスタに含まれる低次元ベクトルを全体の低次元ベクトルと見なして、本処理である分類処理を再帰的に呼び出して実行する。再帰的に呼び出された分類処理におけるステップS31で、クラスタリング部114によるクラスタリング処理によって、クラスタが細分化される。
【0038】
ステップS36において細分統合化部115は、ステップS31~S35の結果に含まれる各クラスタに対して、ステップS37~S38を行う処理を開始する。
ステップS37において細分統合化部115は、他のクラスタとの類似度がδより大きければ(ステップS37→YES)ステップS38に進み、類似度がδ以下ならば(ステップS37→NO)次のクラスタに対してステップS37~S38を繰り返す。2つのクラスタ間の類似度は、例えばそれぞれのクラスタに含まれる低次元ベクトルに対応する文字列の類似度の最大値であってもよいし、クラスタの代表元である低次元ベクトルに対応する文字列の類似度であってもよい。
ステップS38において細分統合化部115は、類似度が最大となるクラスタと統合する。詳しくは、ステップS37~S38の繰り返し処理の対象であるクラスタと、当該クラスタとの類似度が最大となるクラスタとを統合して1つのクラスタとする。
【0039】
ステップS34~S35において細分統合化部115は、クラスタ内の低次元ベクトルが示す文字列の類似度が所定値より小さいならば、当該クラスタを分割している。また細分統合化部115は、他のクラスタとの類似度が所定値より大きいクラスタがあれば、当該クラスタを類似度が最大となる他のクラスタと統合する。このような処理を行うことで、文字列の類似度が所定値以上となる低次元ベクトルごとにクラスタを構成するように、クラスタが再編される。
【0040】
以上に説明したように、細分統合化部115は、各クラスタに含まれるベクトルが示す文字列間の類似度が所定値より大きくなるように、クラスタを再編する。
また上記したステップS34~S35で説明したように、クラスタリング部114は、クラスタに含まれるベクトルが示す文字列間の類似度が所定値より小さい場合に、当該クラスタに含まれる低次元ベクトルに対してクラスタリング処理を行う。
また上記したステップS37~S38で説明したように、細分統合化部115は、クラスタのなかで、1つのクラスタと、他のクラスタとの類似度が所定値より大きい場合に、当該1つのクラスタからの類似度が最大となるクラスタと、当該1つのクラスタとを統合して新たなクラスタとする。
2つのクラスタの類似度は、それぞれの当該クラスタに含まれるベクトルが示す文字列間の類似度に基づいて算出される。また文字列の類似度は、ベクトルが示す文字列の文字列編集距離に基づいて算出される。
【0041】
≪3次元プロット図≫
図9は、本実施形態に係る低次元ベクトルの3次元プロット
図610である。低次元ベクトルは、動作名の文字列を3次元ベクトルに変換したベクトルである(
図6参照)。表示制御部116は、入出力部180に接続されたディスプレイに3次元プロット
図610を出力する。
3次元プロット
図610に記載の直線は、3つの軸における値が0,±4,±8,・・・である線である。円は、3次元空間にプロットされた低次元ベクトルを示す。同じクラスタに含まれる円は、同じパターンで記載している。
図9ではパターンでクラスタを示しているが、色でクラスタを示してもよい。プロット
図610の下側には凡例として、プロットされた円と、当該円に対応するクラスタに含まれる3次元ベクトルの数、代表元の文字列(動作名)が示される。
【0042】
表示制御部116は利用者の指示に従って、3次元プロット
図610を拡大縮小したり、視点の位置や向きを変えたりしてもよい。また表示制御部116は、全てクラスタの低次元ベクトルを表示してもよいし、上位(クラスタに含まれる低次元ベクトル数が多い)のクラスタや、利用者が指定した文字列を含む低次元ベクトルのクラスタの低次元ベクトルを表示してもよい。表示制御部116は、個々の3次元ベクトルをプロットするのではなく、クラスタの代表元をクラスタに含まれる3次元ベクトルの数の応じた大きさの円としてプロットして表示してもよい。他に表示制御部116は、プロットされた低次元ベクトルが指定されると、当該低次元ベクトルに対する文字列(動作名)を表示するようにしてもよい。このような表示を参照して利用者は、動作名の文字列をクラスタに分類した結果(分類結果)を評価する。
【0043】
≪ヒストグラム≫
図10は、本実施形態に係る低次元ベクトルのヒストグラム620である。表示制御部116は、入出力部180に接続されたディスプレイにヒストグラム620を出力する。表示制御部116は、全てクラスタを表示してもよいし、上位(クラスタに含まれる低次元ベクトル数が多い)のクラスタや、利用者が指定した文字列を含む低次元ベクトルのクラスタを表示してもよい。また表示制御部116は、クラスタに対応するヒストグラムの長方形が指定されると、当該クラスタに含まれる低次元ベクトルの文字列を表示するようにしてもよい。このような表示を参照して利用者は、動作名の文字列をクラスタに分類した結果(分類結果)を評価する。
【0044】
≪データクレンジング処理の特徴≫
データクレンジング装置100は、動作名(アクティビティ)を示す文字列について、文字列を高次元ベクトルに変換した後に低次元に圧縮したベクトルに対するクラスタリング処理(
図8記載のステップS31参照)や、文字列の類似度による細分化(ステップS35参照)、統合(ステップS38)を繰り返して分類する。このような分類を行うことで、異なる動作名(文字列)であっても、同じ動作(アクティビティ)と考えられる動作(アクティビティ)に分類される。このように分類された動作に変換されたイベントログを用いることで適切なプロセスマイニングを行うことができるようになる。
【0045】
以下に、データクレンジング装置100による動作名の分類の一例を説明する。処理前のイベントログ510の件数は10000件である。なお空白の項目を含んで、前処理部111により削除されるレコードはない。
この10000件のレコードに含まれる動作名の文字列は、366個である。このなかで文字列「見積SYS-0003_0000 初期表示」で始まる動作名は300個超あり、違いは動作名の文字列の末尾にある数字である。従来のデータクレンジング処理では、文字列が一致しない限り、異なる動作名と判断される。従来のデータクレンジング処理の後にプロセスマイニングを行うと、望ましい結果が得られない。考えられる原因として、同じ動作を表している動作名が、文字列の違いにより異なる動作として扱ってしまうために、プロセスマイニングにおける動作発生件数などの統計が、正確に行われないことがある。
【0046】
このような場合に利用者が判断して、末尾にある数字などの不要な文字列を削除することで動作名をまとめて1つの動作名とすることは容易である。しかしながら、イベントログの件数は膨大な量となるケースが多く、各項目を確認して不要な文字列の削除を実施することは、多くの作業時間を要する。
データクレンジング装置100が分類した結果の動作名の文字列は、38個であり、328個削減することができた。例えば、300個超あった文字列「見積SYS-0003_0000 初期表示」で始まる動作名は、1つの動作名(クラスタ)にまとめられた。このように動作名(アクティビティ)を分類してまとめることで、適切なプロセスマイニングを行うことができるようになる。
【0047】
≪変形例:パラメータ調整≫
データクレンジング処理において、分類結果の評価がNGの場合に細分統合化部115は、分類処理のパラメータであるδを調整している(
図7記載のステップS21参照)。利用者の指示に基づいて、クラスタを細分化(
図8記載のステップS35参照)したり、統合(ステップS38)したりしてもよい。例えば、3次元プロット
図610(
図9参照)やヒストグラム620(
図10参照)において利用者が指定したクラスタを細分化するようにしてもよい。また、利用者が指定した複数のクラスタを統合するようにしてもよい。クラスタを指定するには、例えば3次元プロット
図610において凡例にあるクラスタを指定してもよいし、プロットされた低次元ベクトルを指定してもよいし、ヒストグラム620においてクラスタ名またはヒストグラム620の長方形を指定してもよい。
【0048】
≪その他の変形例≫
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。例えばデータクレンジング装置100は、イベントログの動作名(アクティビティ)の文字列を分類しているが、イベントログの別の項目の文字列を分類するようにしてもよい。また文字列分類装置として、イベントログに含まれる文字列に限らず、一般の文字列を分類するようにしてもよい。
【0049】
本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0050】
100 データクレンジング装置(文字列分類装置)
111 前処理部
112 ベクトル化部
113 次元圧縮部
114 クラスタリング部
115 細分統合化部
116 表示制御部
117 後処理部
510,520,530 イベントログ