おぼろげに浮かび上がるもの

 さて、部分的に確認できたログから解析に必要な情報を読み取って分析をしようではないか。


 出力されているログは日時、ログの出力レベル――出力されている内容の詳細具合、出力したプログラムの名前、そして具体的なメッセージという書式だった。それぞれの項目はカンマで区切られているように見受けられた。


 だから単純に項目を分割していざ分析、と行きたいところだけれどもそうはいけない。問題は具体的なメッセージである。何らかのルールのもとに出力しているのであれば問題ないけれども、将斗にはそのようなルールの有無なんて分からない。


 将斗やトリアンナがかかわっているシステムであればある程度は把握できるが、目の前のログはおそらく別のシステムが吐き出しているログだ。つまり、具体的なメッセージの部分に何が出力されているか分からない。とくに、メッセージの中に各項目を区切っている文字が混ざっていた場合、正しく処理ができない。区切るつもりのないところでログを区切ってしまうからである。


 だから、処理の流れとしては大きく三つのステップに分かれる。まず、前処理として、プログラムが正しく項目の区切りを識別できるよう問題のある文字を置換する。次に、ログを項目ごとに分割。最後に、処理されたデータをもとに類似性をプログラムに判断させて、分類してゆく。


 あとは視覚的にわかりやすいよう図に変換したり表にしたりするわけだが、いったん棚にあげておいて。


 検証用のデータとして先頭五千行ほどを抽出しつつ、将斗はプログラムの製造を始める。処理データ量が尋常な量でないのだ。処理性能の高いプログラムを早く生み出さなければならなかった。その上、一度組んでみたところで期待した動きをしてくれるとは限らない。


 将斗が解決しなければならないポイントは三つあった。使用するプログラミング言語、ライブラリ、技法である。


 求められる処理性能を考えると低いレベルでの動作ができる言語を選定すべきである。当然将斗が多少なりとも知っている言語であることも必要である。使い方がまったくわからない言語を使おうとしたところで時間のむだである。


 プログラミング言語とライブラリはある意味一蓮托生ではある。ライブラリは先人の知恵のかたまりだ。将斗とて機械学習を熟知していない。むしろ知らないことのほうが多いのだ。そういった場合はイチから処理を実装するのではなく、機械学習を熟知した誰かが作ったライブラリを拝借するのである。ライブラリもどれかしらのプログラミング言語で作られている以上、利用する言語に依存するわけだが、こればかりはしょうがない。


 最後に技法。膨大なログデータをどのような手法で分析してゆくかである。正直なところ将斗にはもはや理解が追いつかない世界である。データを処理する考え方は山ほどあるわけで、その考え方は機械学習の基本を押さえていなければ理解できないものばかりである。でも大丈夫、ライブラリにはどの技法を使うかを含めて用意されている。将斗はライブラリを利用すればよいのである。


 さて、将斗が最初の試作品を形にしたときにはすっかり日が暮れてしまっていた。トリアンナはいつの間にかいなくなっていた。最後に見たトリアンナはキーボードに手を置いたまま頭を垂れていて、モニターでは見たことのない文字が連打されていた。


 将斗は椅子の背もたれにもたれかかって天井を仰いだ。検証用のデータで生成されたデータを思い浮かべた。表にすると八つあるいは九つに分類されるデータ。果たしてその表はトリアンナの役に立つのであろうか? 


 決して短い時間で済ませたプログラムではないし、処理をするにもすぐに終わるたぐいのものでもない。長い時間待った結果がいまいちだったら。検証のために取り出した数千のデータでうまく処理できたところで本番のデータ量を処理したときにうまくできる保証はない。圧倒的物量に耐えきれない可能性もある。


 天井から端末の画面に視線を落とす。真っ黒に白い文字、その横ではカーソルの縦棒が点滅している。プログラムを実行するためのコマンドはすでに打ち込んである。あとはエンターキーを押せば保存されている中から先頭一ヶ月分のファイルを処理することになる。一晩中処理させて、明日終了していれば早いほうであろう。丸一日かかっても終わらない可能性だってある。


 キーボードのエンターキーに人差し指を置いた。


 教師なし学習には正解はない。けれども、自ら書き上げたプログラムがきちんと動作しなければどんな結果であれ正解ではない。どれだけ祈ったところでプログラムは書いたとおりにしか動かない。むだだと分かっていても、しかし、祈らずにはいられなかった。問題なく動いてほしい。端末に当たる手のひらに汗がにじむ。


 カーソルの点滅が将斗を待っている。


 ゆっくりとキーを押し込む。


 たちまちターミナルの画面が動いた。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る