(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119169
(43)【公開日】2024-09-03
(54)【発明の名称】データ変換装置、及びデータ変換方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240827BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023025885
(22)【出願日】2023-02-22
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】塩野 高宏
(72)【発明者】
【氏名】長尾 元貴
(57)【要約】
【課題】ユーザデータの解像度に関係なく、モデルからの出力結果を精度良く得る。
【解決手段】所定のデータ間隔のデータが入力され、入力データに基づき所定のデータ間隔のデータを出力するモデルの実行を支援するデータ変換装置101であって、ユーザデータを記憶し、ユーザデータのデータ間隔を特定し、特定したユーザデータのデータ間隔をモデルへの入力に係るデータ間隔に対応したデータ間隔に変更することにより、ユーザデータを、モデルに入力されるデータに変換し、変換したデータをモデルに入力することにより出力された、変換したデータに対応する、モデルに係るデータ間隔の出力データを取得し、出力データのデータ間隔をユーザデータに係るデータ間隔に対応したデータ間隔に変更することにより、出力したデータを、ユーザデータに対応したデータに変換し出力する、データ変換装置101。
【選択図】
図2
【特許請求の範囲】
【請求項1】
所定のデータ間隔のデータが入力され、入力されたデータに基づき所定のデータ間隔のデータを出力するモデルの実行を支援するデータ変換装置であって、
ユーザデータを記憶する記憶装置、及び、
前記ユーザデータのデータ間隔を特定するユーザデータ間隔特定処理と、
前記特定したユーザデータのデータ間隔を前記モデルへの入力に係るデータ間隔に対応したデータ間隔に変更することにより、前記ユーザデータを、前記モデルに入力されるデータに変換するデータ変換処理と、
前記変換したデータを前記モデルに入力することにより出力された、前記変換したデータに対応する、前記モデルに係るデータ間隔の出力データを取得するモデル結果取得処理と、
前記取得した出力データのデータ間隔を前記ユーザデータに係るデータ間隔に対応したデータ間隔に変更することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換するデータ逆変換処理と、
前記変換したデータを出力する出力処理と
を実行する制御装置を備える、データ変換装置。
【請求項2】
前記記憶装置は、前記モデルに入力されるデータのデータ間隔より短いデータ間隔のユーザデータを記憶し、
前記制御装置は、
前記データ変換処理において、前記特定したユーザデータのデータ間隔を前記モデルへの入力に係るデータ間隔に対応したデータ間隔に伸長することにより、前記ユーザデータを、前記モデルに入力されるデータに変換し、
前記データ逆変換処理において、前記出力データのデータ間隔を前記ユーザデータに係るデータ間隔に対応したデータ間隔に収縮することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換する、
請求項1に記載のデータ変換装置。
【請求項3】
前記モデルは、所定の時間間隔での各時刻のデータが入力され、入力されたデータに基づき所定の時間間隔の各時刻のデータを出力するものであり、
前記記憶装置は、所定の時間間隔での各時刻のデータ値をユーザデータとして記憶し、
前記制御装置は、
前記データ変換処理において、前記特定したユーザデータにおける、所定時刻からの経過時間を、前記モデルに入力されるデータの時間間隔及び前記ユーザデータの時間間隔に基づく所定比率で変更することにより、前記ユーザデータを、前記モデルに入力されるデータに変換し、
前記データ逆変換処理において、前記出力データにおける、所定時刻からの経過時間を、前記モデルに入力されるデータの時間間隔及び前記ユーザデータの時間間隔に基づく所定比率で変更することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換する、
請求項1に記載のデータ変換装置。
【請求項4】
前記制御装置は、前記ユーザデータ間隔特定処理において、前記ユーザデータにおけるデータのデータ間隔に関する情報の入力を受け付け、入力された情報に基づき、前記ユーザデータのデータ間隔を特定する、
請求項1に記載のデータ変換装置。
【請求項5】
所定のデータ間隔のデータが入力され、入力されたデータに基づき所定のデータ間隔のデータを出力するモデルの実行を支援するデータ変換方法であって、
情報処理装置が、
ユーザデータを記憶し、
前記ユーザデータのデータ間隔を特定するユーザデータ間隔特定処理と、
前記特定したユーザデータのデータ間隔を前記モデルへの入力に係るデータ間隔に対応したデータ間隔に変更することにより、前記ユーザデータを、前記モデルに入力されるデータに変換するデータ変換処理と、
前記変換したデータを前記モデルに入力することにより出力された、前記変換したデータに対応する、前記モデルに係るデータ間隔の出力データを取得するモデル結果取得処理と、
前記取得した出力データのデータ間隔を前記ユーザデータに係るデータ間隔に対応したデータ間隔に変更することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換するデータ逆変換処理と、
前記変換したデータを出力する出力処理と
を実行する、データ変換方法。
【請求項6】
前記情報処理装置が、
前記モデルに入力されるデータのデータ間隔より短いデータ間隔のユーザデータを記憶し、
前記データ変換処理において、前記特定したユーザデータのデータ間隔を前記モデルへの入力に係るデータ間隔に対応したデータ間隔に伸長することにより、前記ユーザデータを、前記モデルに入力されるデータに変換し、
前記データ逆変換処理において、前記出力データのデータ間隔を前記ユーザデータに係るデータ間隔に対応したデータ間隔に収縮することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換する、
請求項5に記載のデータ変換方法。
【請求項7】
前記モデルは、所定の時間間隔での各時刻のデータが入力され、入力されたデータに基づき所定の時間間隔の各時刻のデータを出力するものであり、
前記情報処理装置が、
所定の時間間隔での各時刻のデータ値をユーザデータとして記憶し、
前記データ変換処理において、前記特定したユーザデータにおける、所定時刻からの経過時間を、前記モデルに入力されるデータの時間間隔及び前記ユーザデータの時間間隔に基づく所定比率で変更することにより、前記ユーザデータを、前記モデルに入力されるデータに変換し、
前記データ逆変換処理において、前記出力データにおける、所定時刻からの経過時間を、前記モデルに入力されるデータの時間間隔及び前記ユーザデータの時間間隔に基づく所定比率で変更することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換する、
請求項5に記載のデータ変換方法。
【請求項8】
前記情報処理装置が、前記ユーザデータ間隔特定処理において、前記ユーザデータにおけるデータのデータ間隔に関する情報の入力を受け付け、入力された情報に基づき、前記ユーザデータのデータ間隔を特定する、
請求項5に記載のデータ変換方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ変換装置、及びデータ変換方法に関する。
【背景技術】
【0002】
人工知能(AI:Artificial Intelligence)技術は様々な分野で活用されている。例えば、AIモデルを用いたデータ予測により、精度の高い事象予測が可能になってきている。
【0003】
しかしながら、AIモデルによっては、AIモデルに入力可能なデータの種類ないし形式が予め定められており、これに応じたデータの前処理を行う必要がある。
【0004】
例えば、特許文献1には、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する事前学習用データ収集部と、連続した入力データを、その入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部とを有する前処理を行う学習装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、このような前処理では単純に対応できない問題がある。例えば、AIの予測モデルを用いてデータ予測を行う場合に、元のユーザデータの時間解像度と、予測モデルがサポートする時間解像度とが異なっていることがある。このような場合、例えば元のユーザデータをダウンサンプリングすることでユーザデータを修正し、この修正データを予測モデルに入力することが行われる。
【0007】
しかし、このようにすると、ダウンサンプリングの過程で元のユーザデータの特徴が欠落し、その結果予測モデルによる予測が正しく行わないことがあった。
【0008】
本発明はこのような背景に鑑みてなされたものであり、その目的は、ユーザデータの解像度に関係なく、モデルからの出力結果を精度良く得ることが可能なデータ変換装置、及びデータ変換方法を提供することにある。
【課題を解決するための手段】
【0009】
前記の課題を解決するための本発明の一つは、所定のデータ間隔のデータが入力され、入力されたデータに基づき所定のデータ間隔のデータを出力するモデルの実行を支援するデータ変換装置であって、ユーザデータを記憶する記憶装置、及び、前記ユーザデータのデータ間隔を特定するユーザデータ間隔特定処理と、前記特定したユーザデータのデータ間隔を前記モデルへの入力に係るデータ間隔に対応したデータ間隔に変更することにより、前記ユーザデータを、前記モデルに入力されるデータに変換するデータ変換処理と、前記変換したデータを前記モデルに入力することにより出力された、前記変換したデータに対応する、前記モデルに係るデータ間隔の出力データを取得するモデル結果取得処理と、前記取得した出力データのデータ間隔を前記ユーザデータに係るデータ間隔に対応したデータ間隔に変更することにより、前記出力したデータを、前記ユーザデータに対応したデータに変換するデータ逆変換処理と、前記変換したデータを出力する出力処理とを実行する制御装置を備える、データ変換装置、である。
【発明の効果】
【0010】
本発明によれば、ユーザデータの解像度に関係なく、モデルからの出力結果を精度良く得ることができる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態に係る情報処理システムの構成の一例を示す図である。
【
図2】データ変換装置が備えるハードウェア及びデータ変換装置が有する機能部の一例を示す図である。
【
図4】ログ中間ファイルのデータ項目の一例を示す図である。
【
図5】AI分析中間ファイルのデータ項目の一例を示す図である。
【
図6】AI分析結果ファイルのデータ項目の一例を示す図である。
【
図7】ログデータ時間間隔管理テーブルの一例を示す図である。
【
図8】AIデータ時間間隔管理テーブルの一例を示す図である。
【
図9】データ分析処理の概要の一例を説明する図である。
【
図10】データ変換処理の詳細を説明するフロー図である。
【
図11】ログデータタイムスタンプ間隔特定処理の一例を説明するフロー図である。
【
図12】AIデータタイムスタンプ間隔特定処理の一例を説明するフロー図である。
【
図13】タイムスタンプ変換処理の詳細を説明するフロー図である。
【
図14】データ逆変換処理の詳細を説明するフロー図である。
【
図15】タイムスタンプ逆変換処理の詳細を説明するフロー図である。
【
図16】データ変換処理を実行しない場合のAIモデルの処理の一例を説明する図である。
【
図17】データ変換処理を実行した場合のデータ変換装置の処理の一例を説明する図である。
【
図18】データ逆変換処理を実行した場合のデータ変換装置の処理の一例を説明する図である。
【発明を実施するための形態】
【0012】
本発明の実施の形態について、図面を参照しつつ説明する。
図1は、本実施形態に係る情報処理システム1の構成の一例を示す図である。情報処理システム1は、データ処理システム102、データ変換装置101、及びユーザ装置10を含んで構成されている。データ処理システム102、データ変換装置101、及びユーザ装置10の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、又は専用線等の有線又は無線の通信ネットワーク5によって通信可能に接続される。
【0013】
ユーザ装置10は、ユーザが管理する様々な種類のユーザデータ11を記憶している。ユーザデータ11は、所定の間隔(例えば、時間間隔)で観測された各点でのデータ値(例えば、各時刻の所定の計測値)により構成される。ユーザデータ11は、例えば、情報処理システムにおけるネットワークのトラフィック性能を示す時系列データ、種々の計測装置による時系列計測データである。また、ユーザデータ11のデータ間隔は、ユーザデータ11の種類等によって異なる。
【0014】
一方、データ処理システム102は、ユーザデータ11が入力されると、そのユーザデータに対応する所定の出力値(例えば、ユーザデータの将来の予測値)を出力するモデル(AIサービス112)を記憶している。AIサービス112は、例えば、データベース、関数、又は、機械学習により生成された学習済みモデル(AI:Artificial Intelligence)である。データ処理システム102は、例えば、SaaS(Software as a Service)として提供される。
【0015】
データ処理システム102のAIサービス112に入力可能なユーザデータ11のデータ間隔(データの解像度)は、仕様等により固定されている。したがって、AIサービス112は、ユーザデータ11がそのまま入力されても、正確な出力値を出力することができない場合がある。
【0016】
この点、例えば、ユーザデータ11のデータ間隔がAIサービス112のデータ間隔より短い場合は、ユーザデータ11をダウンサンプリング等により加工することでAIサービス112に対応させることが考えられるが、そのようにすると、ユーザデータ11の精度が低下する。
【0017】
そこで、本実施形態のデータ変換装置101は、後述するストレージ装置111に格納された各種のデータを用いることで、ユーザデータ11におけるデータの間隔と、AIサービス112が処理可能なデータの間隔との間での一時的なスケール変換及びその逆変換を行う。これにより、ユーザデータ11の間隔がAIサービス112のデータ間隔と異なっていても、AIサービス112がユーザデータ11に対する精度の高いデータ処理を行うことができるようになる。
【0018】
なお、以下では、データ処理システム102のAIサービス112は、RNN(Recurrent Neural Network)等のニューラルネットワークに基づき生成される学習済みモデル(AIモデル)であるものとする。また、本実施形態では、ユーザデータ11は、所定の時間間隔を有するデータ値からなるデータ群であるものとする。
【0019】
図2は、データ変換装置101が備えるハードウェア及びデータ変換装置101が有する機能部の一例を示す図である。
データ変換装置101は、CPU(Central Processing Unit)などの制御装置201(プロセッサ)と、RAM(Random Access Memory)、ROM(Read Only Memory)等の記憶装置202(メモリ)と、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、又はシリアル通信モジュール等で構成される通信装置203と、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージ装置111と、キーボード、マウス、タッチパネルなどからなる入力装置204と、モニタ(ディスプレイ)等からなる画面表示を行う出力装置205とを備える。
【0020】
また、データ変換装置101は、ログデータタイムスタンプ間隔特定部211、AIデータタイムスタンプ間隔特定部212、タイムスタンプ変換部213、及びタイムスタンプ逆変換部214の各機能部を備える。
【0021】
ログデータタイムスタンプ間隔特定部211は、ユーザデータにおけるデータの時間間隔(ユーザデータ時間間隔)を特定する。
【0022】
AIデータタイムスタンプ間隔特定部212は、AIモデルの入力データの時間間隔(AIデータ時間間隔)を特定する。
【0023】
なお、本実施形態では、ユーザデータ時間間隔はAIデータ時間間隔よりも短いものとするが、本発明をこれに限定する趣旨ではない。
【0024】
タイムスタンプ変換部213は、ユーザデータのデータ間隔(ユーザデータ時間間隔)をAIモデルへの入力に係るデータ間隔(AIデータ時間間隔)に対応したデータ間隔に変更することにより、ユーザデータを、AIモデルに入力されるデータに変換する。
【0025】
タイムスタンプ逆変換部214は、タイムスタンプ変換部213による変換と逆方向の変換を行う。すなわち、タイムスタンプ逆変換部214は、AIモデルが出力した出力データのデータ間隔を、ユーザデータに係るデータ間隔に対応したデータ間隔(ユーザデータ時間間隔)に変更することにより、AIモデルが出力したデータを、ユーザデータに対応したデータに変換する。
【0026】
また、データ変換装置101は、ログファイル215、ログ中間ファイル216、AI分析中間ファイル217、AI分析結果ファイル218、ログデータ時間間隔管理テーブル400、及びAIデータ時間間隔管理テーブル500の各テーブル(データベース)を記憶している。
【0027】
ログファイル215は、ユーザデータを蓄積したファイルである。すなわち、ログファイル215は、所定の時間間隔での各時刻のデータ値を記憶している。
【0028】
(ログファイル)
図3は、ログファイル215の一例を示す図である。ログファイル215は、ユーザデータにおける時刻が設定されるタイムスタンプ2511、及び、ユーザデータにおけるデータ値が設定されるデータ値2512の各データ項目を有する。
【0029】
タイムスタンプ2511には、所定のデータ形式で時刻が設定される。本実施形態では、タイムスタンプ2511は、ユーザデータの時刻における年月日の部分である第1部分(yyyy/mm/dd)と、ユーザデータの時刻における時以下の部分(時、分、秒、ミリ秒)である第2部分(HH:MM:SS.fff)とからなるデータ形式である。
【0030】
(ログ中間ファイル、AI分析中間ファイル、AI分析ファイル)
ログ中間ファイル216は、ログファイル215におけるユーザデータの時間間隔を、AIモデルの入力データとして入力可能な時間間隔に変換した、ユーザデータに対応したデータ(以下、ログ中間データという)を格納したデータベースである。
【0031】
AI分析中間ファイル217は、データ処理システム102のAIモデルがログ中間データに基づき出力したデータ(以下、AI出力データという)を格納したデータベースである。
【0032】
AI分析結果ファイル218は、AI分析中間ファイル217におけるAI出力データの時間間隔を、ユーザデータの時間間隔に変換した、ユーザデータに対応したデータ(以下、AI分析中間データという)に変換したデータを格納したデータベースである。
【0033】
ここで、
図4-6はそれぞれ、ログ中間ファイル216、AI分析中間ファイル217、及びAI分析結果ファイル218のデータ項目の一例を示す図である。同図の例では、ログ中間ファイル216、AI分析中間ファイル217、及びAI分析結果ファイル218のデータ項目は、ログファイル215と同様であるが、異なるデータ項目を有していてもよい。
【0034】
次に、
図7に示すように、ログデータ時間間隔管理テーブル400は、ユーザデータ時間間隔を特定するためのデータを記憶している。
【0035】
AIデータ時間間隔管理テーブル500は、AIデータ時間間隔を特定するためのデータを記憶している。
【0036】
(ログデータ時間間隔管理テーブル)
図7は、ログデータ時間間隔管理テーブル400の一例を示す図である。ログデータ時間間隔管理テーブル400は、ユーザデータ時間間隔を定義したテーブルである。すなわち、ログデータ時間間隔管理テーブル400は、時間間隔の番号が設定される番号401、ユーザデータ時間間隔の単位(タイムスタンプ区分)が設定されるタイムスタンプ区分402と、そのタイムスタンプ区分を基準とした時間間隔の値(以下、区分値という)が設定される間隔値403とを含む各データ項目を有する。
【0037】
タイムスタンプ区分402に「01」が設定された場合のタイムスタンプ区分は「時間」であり、「02」が設定された場合のタイムスタンプ区分は「分」であり、「03」が設定された場合のタイムスタンプ区分は「秒」であり、「04」が設定された場合のタイムスタンプ区分は「ミリ秒」である。本実施形態では、「02」~「04」が設定できるものとする。
【0038】
また、本実施形態では、間隔値403には、タイムスタンプ区分402に「02」が設定された場合には1、5、10、15、30のいずれかが設定可能であり、「03」が設定された場合には1、5、10、15、30のいずれかが設定可能であり、「04」が設定された場合には1、5、10、25、50、100、250、500のいずれかが設定可能であるものとする。このように、設定可能な間隔値は、所定の基数に対する倍数となっている。
【0039】
(AIデータ時間間隔管理テーブル)
図8は、AIデータ時間間隔管理テーブル500の一例を示す図である。AIデータ時間間隔管理テーブル500は、モデルの時間間隔(AIデータ時間間隔)を定義したテーブルである。すなわち、AIデータ時間間隔管理テーブル500は、時間間隔の番号が設定される番号501と、AIデータ時間間隔の単位(タイムスタンプ区分)が設定されるタイムスタンプ区分502と、そのタイムスタンプ区分を基準とした時間間隔の値(区分値)が設定される間隔値503とを含む各データ項目を有する。
【0040】
タイムスタンプ区分502に「01」が設定された場合のタイムスタンプ区分は「時間」であり、「02」が設定された場合のタイムスタンプ区分は「分」であり、「03」が設定された場合のタイムスタンプ区分は「秒」であり、「04」が設定された場合のタイムスタンプ区分は「ミリ秒」である。本実施形態では、「01」~「03」が設定できるものとする。
【0041】
本実施形態では、AIモデルにおけるAIデータ時間間隔が固定されているため、タイムスタンプ区分502及び間隔値503の値は固定されている。
【0042】
すなわち、本実施形態では、間隔値503には、タイムスタンプ区分502に「01」が設定された場合には1のみが設定可能であり、タイムスタンプ区分502に「02」が設定された場合には1のみが設定可能であり、タイムスタンプ区分502に「03」が設定された場合には1のみが設定可能であるものとする。
【0043】
なお、このようなタイムスタンプ区分502及び間隔値503の仕様は一例であり、例えば、AIモデルにおけるAIデータの時間間隔が変更可能である場合には、その値に応じてタイムスタンプ区分502及び間隔値503の値を変更してもよい。
【0044】
以上に説明したデータ変換装置101の各機能は、データ変換装置101のハードウェアによって、もしくは、データ変換装置101の制御装置201が、記憶装置202又はストレージ装置111に記憶されている各プログラムを読み出して実行することにより実現される。また、これらのプログラムは、例えば、二次記憶デバイスや不揮発性半導体メモリ、ハードディスクドライブ、SSDなどの記憶デバイス、又は、ICカード、SDカード、DVDなどの、情報処理装置で読み取り可能な記録媒体に格納される。なお、データ変換装置101は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、データ変換装置101によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。
【0045】
図9は、ユーザデータの分析を行うデータ分析処理の概要の一例を説明する図である。
【0046】
まず、データ変換装置101は、ユーザデータを取得し、取得したユーザデータをログファイル215に格納する(s1)。例えば、データ変換装置101は、ユーザ装置10からユーザデータを受信してもよいし、ユーザ装置10からユーザデータの入力を受け付けてもよい。
【0047】
データ変換装置101は、s1で取得したユーザデータの時間間隔を、AIモデルの入力データの時間間隔(AIデータ時間間隔)に変換することで、ユーザデータを、AIモデルの入力データとして入力可能なデータであるAIモデル対応ユーザデータ(ログ中間ファイル216のデータ)に変換するデータ変換処理s3を実行する。
【0048】
データ変換処理s3は、ログデータタイムスタンプ間隔特定処理s31、AIデータタイムスタンプ間隔特定処理s32、及びタイムスタンプ変換処理s33からなる。これらの処理の詳細は後述する。
【0049】
データ変換装置101は、データ変換処理s3で出力したAIモデル対応ユーザデータ(ログ中間ファイル216のデータ)を入力データとしてAIモデルを実行させる(s5)。具体的には、データ変換装置101は、データ変換処理s3で変換して得たデータをデータ処理システム102に送信する。データ処理システム102は、受信したデータをAIモデル(AIサービス112)に入力することにより、対応する出力データを出力し、出力データをAI分析中間ファイル217に格納する。
【0050】
データ変換装置101は、データ処理システム102から、AIモデルが出力した出力データを受信する(s7)。具体的には、データ処理システム102は、s5で出力した出力データ(AI分析中間ファイル217)をデータ変換装置101に送信する。データ変換装置101は、受信したAI分析中間ファイル217を記憶する。
【0051】
データ変換装置101は、s7で受信した出力データ(AI分析中間ファイル217)の時間間隔を、ユーザデータの時間間隔に変換することで、s7で受信した出力データを、ユーザデータに対応したAIモデルの出力データ(AI分析結果ファイル218)に変換するデータ逆変換処理s9を実行する。
【0052】
データ逆変換処理s9は、ログデータタイムスタンプ間隔特定処理s91、AIデータタイムスタンプ間隔特定処理s92、及びタイムスタンプ逆変換処理s93からなる。これらの処理の詳細は後述する。
【0053】
その後、データ変換装置101は、データ逆変換処理s9で変換して得た出力データを画面に表示する出力処理を実行する。
以下、以上の各処理の詳細を説明する。
【0054】
<データ変換処理>
図10は、データ変換処理s3の詳細を説明するフロー図である。まず、データ変換処理のログデータタイムスタンプ間隔特定部211は、ログファイル215におけるユーザデータの時間間隔(ユーザデータ時間間隔)を算出するログデータタイムスタンプ間隔特定処理s31を実行する。
【0055】
また、AIデータタイムスタンプ間隔特定部212は、データ処理システム102のAIモデル(AIサービス)がサポートする、AIデータの時系列データの時間間隔(AIデータ時間間隔)を算出するAIデータタイムスタンプ間隔特定処理s32を実行する。
【0056】
タイムスタンプ変換部213は、ログデータタイムスタンプ間隔特定処理s31で算出したユーザデータ時間間隔に基づき、ユーザデータを、AIデータ時間間隔に対応したデータ(AIモデル対応ユーザデータ)に変換するタイムスタンプ変換処理s33を実行する。
【0057】
<ログデータタイムスタンプ間隔特定処理>
【0058】
図11は、ログデータタイムスタンプ間隔特定処理s31の一例を説明するフロー図である。まず、ログデータタイムスタンプ間隔特定部211は、ログデータ時間間隔管理テーブル400を参照し、ユーザデータの時間間隔のタイムスタンプ区分及び区分値を取得する。具体的には、ログデータタイムスタンプ間隔特定部211は、タイムスタンプ区分402の内容(タイムスタンプ区分)及び間隔値403の内容を取得する(s311)。
【0059】
タイムスタンプ区分が「02」(分)である場合は、ログデータタイムスタンプ間隔特定部211は、s312の処理を実行し、タイムスタンプ区分が「03」(秒)である場合はs313の処理を実行し、タイムスタンプ区分が「04」(ミリ秒)である場合はs314の処理を実行する。
【0060】
s312においてログデータタイムスタンプ間隔特定部211は、s311で取得した区分値に、60及び1000を乗算することで、ユーザデータ時間間隔を算出する。以上でログデータタイムスタンプ間隔特定処理s31は終了する。
【0061】
s313においてログデータタイムスタンプ間隔特定部211は、s311で取得した区分値に、1000を乗算することで、ユーザデータ時間間隔を算出する。以上でログデータタイムスタンプ間隔特定処理s31は終了する。
【0062】
s314においてログデータタイムスタンプ間隔特定部211は、s311で取得した区分値をユーザデータ時間間隔とする。以上でログデータタイムスタンプ間隔特定処理s31は終了する。
【0063】
なお、ログデータタイムスタンプ間隔特定部211は、s312~s314で特定したユーザデータ時間間隔と、ログファイル215のユーザデータの時間間隔が異なっている場合は、s312~s314で特定したユーザデータ時間間隔によるユーザデータとなるように、ユーザデータを修正してもよい(例えば、線形補間の補間処理を行う)(s315)。
【0064】
<AIデータタイムスタンプ間隔特定処理>
【0065】
図12は、AIデータタイムスタンプ間隔特定処理s32の一例を説明するフロー図である。まず、AIデータタイムスタンプ間隔特定部212は、AIデータ時間間隔管理テーブル500を参照し、AIデータの時間間隔のタイムスタンプ区分及び区分値を取得する。具体的には、AIデータタイムスタンプ間隔特定部212は、AIデータのタイムスタンプ区分502の内容(タイムスタンプ区分)及び間隔値503(区分値)の内容を取得する(s321)。
【0066】
タイムスタンプ区分が「01」(時間)である場合は、AIデータタイムスタンプ間隔特定部212は、s322の処理を実行し、タイムスタンプ区分が「02」(分)である場合はs323の処理を実行し、タイムスタンプ区分が「03」(秒)である場合はs324の処理を実行する。
【0067】
s322においてAIデータタイムスタンプ間隔特定部212は、s321で取得した区分値に、60、60及び1000をそれぞれ乗算することで、AIデータ時間間隔を算出する。以上でAIデータタイムスタンプ間隔特定処理s32は終了する。
【0068】
s323においてAIデータタイムスタンプ間隔特定部212は、s321で取得した区分値に、60及び1000を乗算することで、AIデータ時間間隔を算出する。以上でAIデータタイムスタンプ間隔特定処理s32は終了する。
【0069】
s324においてAIデータタイムスタンプ間隔特定部212は、s321で取得した区分値に、1000を乗算することで、AIデータ時間間隔とする。以上でAIデータタイムスタンプ間隔特定処理s32は終了する。
【0070】
<タイムスタンプ変換処理>
図13は、タイムスタンプ変換処理s33の詳細を説明するフロー図である。
【0071】
まず、タイムスタンプ変換部213は、ユーザデータ時間間隔に対するAIデータ時間間隔の比率(以下、スケール変換比率Xという)を算出する(s331)。本実施形態では、スケール変換比率Xは、ユーザデータ時間間隔からAIデータ時間間隔への伸長比率である(一方、後述するタイムスタンプ逆変換処理s9では、スケール変換比率Xは、AIデータ時間間隔からユーザデータ時間間隔への収縮比率として機能する)。
【0072】
タイムスタンプ変換部213は、ログファイル215におけるユーザデータの時刻を、所定の基準時刻(本実施形態では、0時0分0秒0ミリ秒とする)からのオフセットであるミリ秒単位の経過時間(ログデータ経過時間m)に変換する(s332~s335)。
【0073】
具体的には、タイムスタンプ変換部213は、ログファイル215のあるレコード(選択レコード)のタイムスタンプ2151の第2部分における「時間」の部分の値を取り出し、取り出した値に対して、60、60、及び1000をそれぞれ乗算する(s332)。また、タイムスタンプ変換部213は、ログファイル215の選択レコードのタイムスタンプ2151の第2部分における「分」の部分の値を取り出し、取り出した値に対して、60及び1000をそれぞれ乗算する(s333)。また、タイムスタンプ変換部213は、ログファイル215の選択レコードのタイムスタンプ2151の第2部分における「秒」の部分の値を取り出し、取り出した値に対して1000を乗算する(s334)。そして、タイムスタンプ変換部213は、s332~s334で算出した各乗算値を合計した合計値を、当該レコードのログデータ経過時間mとする。
【0074】
そして、タイムスタンプ変換部213は、ログデータ経過時間mを、AIデータにおける、所定時刻(本実施形態では、0時0分0秒0ミリ秒とする)からのミリ秒単位の経過時間(ログデータ経過時間Y)に変換する(s336)。具体的には、タイムスタンプ変換部213は、ログデータ経過時間mとスケール変換比率Xの乗算値を計算する。
【0075】
タイムスタンプ変換部213は、s336で算出したログデータ経過時間Yを、タイムスタンプの第2部分の形式のデータY’に変換する(s337)。具体的には、タイムスタンプ変換部213は、s336で算出したログデータ経過時間Yを「時:分:秒.ミリ秒」の形式に変換したデータY’を生成する。
【0076】
タイムスタンプ変換部213は、s337で変換されたデータY’に基づき、ログファイル215におけるユーザデータの時刻のデータを、ログ中間ファイル216における時刻のデータに変換する(s338)。具体的には、上記選択レコードのタイムスタンプ2151の年月日の部分(第1部分に対応)を取り出し、取り出した年月日の部分と、s337で変換されたデータY’(第2部分に対応)とを結合したデータを生成する。
【0077】
タイムスタンプ変換部213は、s338で生成した時刻のデータに基づき、ログファイル215におけるユーザデータに対応したデータを、ログ中間ファイル216に格納する(s339)。具体的には、タイムスタンプ変換部213は、ログ中間ファイル216に新たなレコードを生成し、生成したレコードのタイムスタンプ2161に、s338で生成したデータを格納し、データ値2162に、上記選択レコードのデータ値2152の内容を設定する。
【0078】
タイムスタンプ変換部213は、s332~s339の処理を、ログファイル215の全レコードについて繰り返す。
【0079】
<データ逆変換処理>
図14は、データ逆変換処理s9の詳細を説明するフロー図である。
まず、ログデータタイムスタンプ間隔特定部211は、データ変換処理s3のログデータタイムスタンプ間隔特定処理s31と同様に、ユーザデータ時間間隔を算出するログデータタイムスタンプ間隔特定処理s91を実行する。
【0080】
また、AIデータタイムスタンプ間隔特定部212は、データ変換処理s3のAIデータタイムスタンプ間隔特定処理s32と同様に、AIデータ時間間隔を算出するAIデータタイムスタンプ間隔特定処理s92を実行する。
【0081】
タイムスタンプ変換部213は、ログデータタイムスタンプ間隔特定処理s91で算出したユーザデータ時間間隔に基づき、AIが出力したデータ(AI出力データ)を、ログデータ時間間隔に対応したデータ(ユーザデータ対応AI出力データ)に変換するタイムスタンプ逆変換処理s93を実行する。
【0082】
<タイムスタンプ逆変換処理>
図15は、タイムスタンプ逆変換処理s93の詳細を説明するフロー図である。
【0083】
まず、タイムスタンプ逆変換部214は、s331と同様に、ユーザデータ時間間隔に対するAIデータ時間間隔の比率(スケール変換比率X)を算出する(s931)。
【0084】
タイムスタンプ逆変換部214は、AI分析中間ファイル217におけるAI出力データの時刻を、所定の基準時刻(本実施形態では、0時0分0秒0ミリ秒とする)からのオフセットであるミリ秒単位の経過時間(AI出力データ経過時間m2)に変換する(s932~s935)。
【0085】
具体的には、タイムスタンプ逆変換部214は、AI分析中間ファイル217のあるレコード(選択レコード)のタイムスタンプ2171の第2部分における「時間」の部分の値を取り出し、取り出した値に対して、60、60、及び1000をそれぞれ乗算する(s932)。また、タイムスタンプ逆変換部214は、AI分析中間ファイル217の選択レコードのタイムスタンプ2171の第2部分における「分」の部分の値を取り出し、取り出した値に対して、60及び1000をそれぞれ乗算する(s933)。また、タイムスタンプ逆変換部214は、AI分析中間ファイル217の選択レコードのタイムスタンプ2171の第2部分における「秒」の部分の値を取り出し、取り出した値に対して1000を乗算する(s934)。そして、タイムスタンプ逆変換部214は、s932~s934で算出した各乗算値を合計した合計値を、当該レコードのAI出力データ経過時間m2とする。
【0086】
そして、タイムスタンプ逆変換部214は、AI出力データ経過時間mを、AI分析結果ファイル218に対応した、所定時刻(本実施形態では、0時0分0秒0ミリ秒とする)からのミリ秒単位の経過時間(AI分析結果データ経過時間Y2)に変換する(s936)。具体的には、タイムスタンプ逆変換部214は、AI出力データ経過時間m2をスケール変換比率Xで除算する(m2/X)。
【0087】
タイムスタンプ逆変換部214は、s936で算出したAI分析出力データ経過時間Y2を、AI分析結果ファイル218のタイムスタンプの第2部分の形式のデータY2’に変換する(s937)。具体的には、タイムスタンプ逆変換部214は、s936で算出したAI分析結果データ経過時間Y2を「時:分:秒.ミリ秒」の形式に変換したデータY2’を生成する。
【0088】
タイムスタンプ逆変換部214は、s937で変換されたデータY2’に基づき、AI分析中間ファイル217におけるAI出力データの時刻のデータを、AI分析結果ファイル218の時刻のデータに変換する(s938)。具体的には、タイムスタンプ逆変換部214は、上記選択レコードのタイムスタンプ2171の年月日の部分(第1部分に対応)を取り出し、取り出した年月日の部分と、s937で変換されたデータY2’(第2部分に対応)とを結合したデータを生成する。
【0089】
タイムスタンプ逆変換部214は、s938で生成した時刻のデータに基づき、AI分析中間ファイル217におけるAI出力データに対応したデータを、AI分析結果ファイル218に格納する(s939)。具体的には、タイムスタンプ逆変換部214は、AI分析結果ファイル218に新たなレコードを生成し、生成したレコードのタイムスタンプ2181に、s938で生成したデータを格納し、データ値2182に、上記選択レコードのデータ値2172の内容を設定する。
【0090】
タイムスタンプ逆変換部214は、s932~s939の処理を、AI分析中間ファイル217の全レコードについて繰り返す。
【0091】
<データ変換処理による効果>
ここで、データ変換装置101による効果について説明する。
【0092】
まず、
図16は、データ変換処理s3を実行しない場合のAIモデルの処理の一例を説明する図である。同図に示すように、ログファイル215が10秒ごとの時間間隔でのユーザデータを記憶しているものとする。一方、AIモデルが、1分ごとの時間間隔でのデータのみを入力値として処理可能としているものとする。
【0093】
データ変換処理s3を実行しない場合、ログファイル215における10秒の時間間隔のユーザデータを、1分間ごとの平均値1303を求めることにより1分の時間間隔のデータに変換するダウンサンプリング(データ解像度を下げる)を行うことでログ中間ファイル216を生成し、このログ中間ファイル216をAIモデル(AIサービス112)に入力する必要がある。しかし、ログファイル215のユーザデータに、10秒以内のスパンで生じたデータ値のピーク(短期間異常値1301)が存在する場合、ダウンサンプリングによって、この短期間異常値1301が消失した入力値(ログ中間ファイル216)が生成されてしまう。この入力値がAIモデルに入力されると、AIモデルはこの短期間異常値1301を認識せず、その結果誤った出力値1302(予測値)が含まれたAI分析結果ファイル218を出力するおそれがある。
【0094】
一方、
図17は、データ変換処理s3を実行した場合のデータ変換装置101の処理の一例を説明する図である。同図に示すように、10秒の時間間隔のユーザデータのログファイル215に対してデータ変換処理s3を実行することにより、時間間隔が10秒から1分に伸張変換されたログ中間ファイル216が生成される。これにより、ユーザデータに短期間異常値1301が存在する場合でも、対応する短期間異常値1401がログ中間ファイル216に残存する。そして、このログ中間ファイル216がAIモデル(AIサービス112)に入力されると、AIモデルは、短期間異常値1401を認識した結果に基づいた出力値1402を出力することができる。
【0095】
そして、
図18は、データ変換処理s3に引き続きデータ逆変換処理s9を実行した場合のデータ変換装置101の処理の一例を説明する図である。同図に示すように、AIモデルによる上記の出力値1402を記憶したAI分析中間ファイル217に対してデータ逆変換処理s9を実行することにより、時間間隔が1秒から10秒に収縮変換されたAI分析結果ファイル218が生成される。これにより、ユーザデータに短期間異常値が存在する場合でも、ユーザ装置10は、その短期間異常値を反映し、かつ時間間隔もユーザデータに対応した予測値1501を得ることができる。
【0096】
以上のように、本実施形態のデータ変換装置101は、ユーザデータのデータ間隔(ユーザデータ時間間隔)をAIモデルへの入力に係るデータ間隔に対応したデータ間隔(AIデータ時間間隔)に変更することにより、ユーザデータを、AIモデルに入力されるデータに変換し(ログ中間ファイル216)、変換したデータをAIモデルに入力することにより、変換したデータに対応した、AIモデルに係るデータ間隔のデータを出力させ(AI分析中間ファイル217)、出力したデータのデータ間隔をユーザデータに係るデータ間隔に対応したデータ間隔に変更することにより、出力したデータを、ユーザデータに対応したデータに変換し(AI分析結果ファイル218)、変換したデータを出力する。
【0097】
すなわち、本実施形態のデータ変換装置101は、データ間隔をAIモデルがサポートするデータ間隔に変更したユーザデータをAIモデルに入力して実行させ、AIモデルの出力データについても、その出力データのデータ間隔を元のユーザデータのデータ間隔に戻したデータに変換し、これを出力する。これにより、ユーザデータのデータ解像度がAIモデルのデータ解像度と異なっていても、解像度が変更されることなく、AIモデルに基づく精度の良い出力結果を得ることができる。
【0098】
このように、本実施形態のデータ変換装置101によれば、ユーザデータの解像度に関係なく、モデルからの出力結果を精度良く得ることができる。
【0099】
また、本実施形態では、ユーザデータのデータ間隔はAIモデルに入力されるデータのデータ間隔より短く、データ変換装置101は、ユーザデータ時間間隔をAIデータ時間間隔に伸長することで、ユーザデータをAIモデルに入力されるデータに変換し、AIモデルが出力したデータのデータ間隔をユーザデータに対応したデータ間隔に収縮することで、AIモデルの出力データをユーザデータに対応したデータに変換する。
【0100】
これにより、例えば、AIモデルにユーザデータを入力させるためにユーザデータの解像度を下げるダウンサンプリングを行うことで、AIモデルから出力されるデータが、そのダウンサンプリングにより重要なデータ(短時間で生じた異常値)を反映しないものとなって妥当な出力データが得られなくなることを防ぐことができる。
【0101】
また、本実施形態のデータ変換装置101は、ユーザデータにおける所定基準時刻からの経過時間を、AIモデルに入力されるデータの時間間隔及びユーザデータの時間間隔に基づくスケール変換比率Xで変更することにより、ユーザデータを、AIモデルに入力されるデータに変換し、AIモデルから出力されたデータにおける、所定時刻からの経過時間をスケール変換比率Xで変更することにより、AIモデルから出力したデータを、ユーザデータに対応したデータに変換する。
【0102】
このように、ユーザデータ時間間隔とAIデータ時間間隔の間の変換及び逆変換を、所定時刻からの経過時間(オフセット)に基づいて行うことで、確実なスケール変換を行うことができる。
【0103】
また、本実施形態のデータ変換装置101は、ユーザデータにおけるデータのデータ間隔に関する情報の入力を受け付け、入力された情報に基づき、ユーザデータのデータ間隔を特定する。
【0104】
これにより、ユーザは、ユーザデータ時間間隔を適切に設定することができる。
【0105】
以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれる。
【0106】
例えば、本実施形態の各装置が備えるハードウェアの一部は、他の装置に設けてもよい。
【0107】
また、各装置の各プログラムは他の装置に設けてもよいし、あるプログラムを複数のプログラムからなるものとしてもよいし、複数のプログラムを一つのプログラムに統合してもよい。
【0108】
また、本実施形態ではユーザデータのデータ間隔が時間(時刻)の間隔である場合(ユーザデータが時系列データ)を説明したが、他の種類の間隔であってもよい。例えば、データ間隔は空間又は長さの間隔でもよい。
【符号の説明】
【0109】
1 情報処理システム、101 データ変換装置、102 データ処理システム