2018年1月29日月曜日

【Googleクラウド・機械学習編】日報解析バッチ作成中1

株式会社ジェニシス 技術開発事業部の遠藤 太志郎(Tacy)です。

最近は機械学習について勉強中です。
現在はGoogleの機械学習API「CLOUD NATURAL LANGUAGE API」の検証と、Pythonの勉強を並行して進行しています。

現状

「CLOUD NATURAL LANGUAGE API」の「analyzeEntities」は、文章の構文解析です。
文章中から特徴のあるキーワードを抽出することが可能です。

前にちょっと実験してみた結果がこちらに載っています。

しかしこれ、現状だと何の役にも立ちません。

新技術全般によくあることなのですが、

「技術的な意味は分かった。」
「それが一体何の役に立つのか?」

という状況に陥ってしまいます。

通常の業務だとこうです。

  • 先に案件が存在する。⇒それに必要な技術を習得する。

しかし、新技術の領域だと「案件」なんかありませんので、こうなります。

  • とりあえず技術だけ覚える。⇒後で何か使い道が無いか考える。

使い道は自分で考えなければなりません。
過酷な道ですが、そこは楽しくやっていきましょう。


使い道探し

そして使い道を考えてみました。
このAPIは「文章解析」ですから、インプットとなる文章を調達することが最初の課題となります。

一番の大本命は、弊社サービスのDentNet(デントネット)


歯科医院向けのWebシステムでして、「歯科医院からのアンケート」とか「電話サポートの記録」とか、そういうのを入手して解析を行うのが一番の使い道です。

しかし、それを行う場合、本来の仕事をしている営業チームやサポートチームの時間を割いて貰わなければならなくなってしまうので、話が大きくなり過ぎます。

もっと手元にある情報で、かつ文章形式の情報が望ましいです。

ありますね。

サラリーマンの必需品、メールです。




私の所属する技術開発事業部は「日報」という形式で毎日の終わりに上長に業務報告を行います。
(宛先は上長ですが、メールは全員に届きます。)

日報の形式はフリーフォーマットの文章でして、報告する人が報告したい内容を書く運用になっています。

部員はそれを見て、「ああ、あの人はそんな仕事をやっているんだな」「アイツ、最近忙しそうだな」みたいな事を思うわけですね。

今のところは日報は今日の話を見るだけの運用ですが、構文解析APIを実行して過去に遡って大量データを解析すると、頻出登場単語とかが浮かび上がってくるかもしれません。

日報という不定形の文章を、何とか定量化して、数値根拠のある指標に転換することが出来ないだろうか……。

そう考えまして、私はこれから「日報解析バッチ」を作ろうと思います。

実現イメージ

日報解析バッチの実現イメージはこちらです。


1.メールの取得

メールサーバから解析対象のメールをテキストファイルとして手動ダウンロードします。
バッチ自体が通信してメールを取得する機能は省略します。
(高機能を言い出したらキリが無い。最小限の機能で形を作ります)

2.リクエスト実行

日報解析バッチにて実現。メールを構文解析APIに送り込みます。
「ローカルフォルダの中に置いてあるテキスト形式のメールを全部送る」という形で、まとまった単位で送信したいと思います。

3.レスポンス取得

日報解析バッチにて実現。構文解析APIからのレスポンスを受信します。
レスポンスはJSON形式になっていますが、JSONだけベロッと出されても意味不明ですので、
バッチにて正規化して意味が読み取れる形に整形します。


4.ドキュメント化

最後に、人様にお見せ出来るよう表形式に整えて完了です。


日報解析バッチはPythonで作ります。
Python初心者の学習記録も兼ねていきたいと思います。

次回

次回から実装に入っていきます。
最初は「ローカルフォルダの中に置いてあるテキスト形式のメールを読み込む」というファイルIOからです。

ソースは既に手元にありますが、Pythonならではの簡略で綺麗なソースに仕上がっています。

0 件のコメント:

コメントを投稿