最近は機械学習について勉強中です。
現在は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ならではの簡略で綺麗なソースに仕上がっています。