「膨大なメールを深層学習して運用効率化ツールを作る2」の方法紹介の続きとなります。1つ目の記事「膨大なメールを深層学習して運用効率化ツールを作る1」はこちらその前に今回も小話を挟みますが、友人との宴会の最中に突然会場が暗くなり、誕生日を祝う曲と共に以下のモノが私の前に置かれました。たかしさんおめでとう」と拍手をいただきました。BIRTHDAY」が心地よかったこともあり、名前を訂正するタイミングを逃しました。前回はプログラムを動かす為の環境構築を行いましたが、今回は膨大なメールから深層学習を行う方法「学習編」を始めたいと思います。書かれている部分です)。次回で”可視化”の部分を紹介します。ソースコードの中身について細かく解説したいところですが、今回は私が作成したソースコードをそのまま実行していただき、解説は次回以降で行いたいと思います。ソースコード取得a.ソースファイルダウンロードこちらのファイルよりソースコードのダウンロードをお願いします。sbt_outlook_doc2vec.zipダウンロードしたファイルを解凍していただき、コマンドプロンプトで解凍後のディレクトリ「sbt_outlook_doc2vec」に移動してください。アップグレードコマンドプロンプトより以下のコマンドを入力してください。そのものがアップグレードされます。c.必要パッケージのインストールさらにコマンドプロンプトより以下のコマンドを入力してください。パッケージがインストールされます。メールを取得して学習させ、学習データを保存するところまでを行います。以下のコマンドを叩いてください。受信トレイから1,000件のメールの取得が始まります。いう方は以下を書き加えてください。ここを追加こちらは初期フォルダ配下の既読というフォルダのさらに下にある重要というフォルダを設定したという例になります。Outlookメール取得の際、お使いの環境によって以下のようにセキュリティの問題で取得時にメッセージが表示される事があります。1通開く度に"許可"を押す必要がありますので手間となります。以下の設定をご確認ください。OKを押しますとこちらの警告は出なくなります。インストールをお試しください。指定されたモジュールが見つかりません。リンクよりダウンロード可能です。chunkize_serial」という警告が出ますが気にせず実行してください。パフォーマンスが遅いので、一部機能を変換しているという意味となります。以下のように「終了」と表示されていれば学習データの生成が完了となります。左右にスクロールしてご覧ください。生成したファイルとなります。類似した単語や文章を計算する際に使用します。件名リストを格納しています。model_l2norm_list.pickle類似判定の結果表示スピードを向上させるため、あらかじめ途中まで計算を行った数値を格納しています。TensorBoard(embedding-projector)用のファイルとなります。学習したデータを資格的に確認することができます。メール情報が保存されています。mailid(EntryId)がファイル名になっています。3.学習データの動作を確認a.単語の類似性を確認1000件のデータで学習した内容について精度を確認します。以下のコマンドを入力してください。任意の文字は自分の名前などを入れてください。"任意の文字"類似した単語が10件表示されます。左に単語、右に類似度を表す数値(1に近いほど類似性が高い)が出力されます。私の組織名の一部が出力されています。一般的な言葉である”障害”と入力した場合は、”対応”や”発生”などそれにまつわる単語が出力されています。ご自身が仕事で関わっているさまざまなワードを入れてみて精度を確認するのがよいと思います。続けて以下のコマンドを入力してください。"任意の文章"類似した文章が10件表示されます。「飲み会」に関する文章を取得したかったのですが、期待とは違う結果が返り、精度は高くありませんでした。近い文章が出てくることもありますが、1,000件ですと精度は低いようです。取得するメールの数を増やすことができます。1000となっているところを増やして実行してみましょう。50000私の方では50000としましたが、ここはお好きな数値を入れてもらえればと思います。※メールの数より多くの数値を入れてもエラーは発生しません。こちらの学習はかなり時間がかかると思います。私の環境ですと50,000通で5時間程度かかりました。先ほど同様、以下のコマンドを入力します。"任意の文章"通常の会議も混ざっておりますが、8割は中身が宴会系のメールとなっておりまして、まずまずの結果になったと思います。皆さんの環境ではいかがでしたでしょうか?ソースコード内を変更することにより精度が上がる期待もありますので、そちらは次回以降で解説したいと思います。次回は今日作った学習データを”可視化編:インスタ映えするような深層学習”を紹介したいと思います。【総合】お問い合わせソリューションに関する全般的なお問い合わせはお気軽にご相談ください。