スクラムの本を読んだ

きっかけは上司から「これ読んどいて」

スクラム 仕事が4倍速くなる“世界標準”のチーム戦術 | ジェフ・サザーランド, 石垣賀子 |本 | 通販 | Amazon

上司から購入推奨があった本。

個人的にアジャイル方法論は色々他書籍読んでて既知の内容が多かったのですが、

一点「なるほど」と思えた箇所がありました。

不確実性のコーン

誰かから仕事を頼まれ「これ、いつまでにできる?」と聞かれた時、あと先考えずに「今日中にできます!」と返していました。

これを確率論で考えてみるのが不確実性のコーンと捉えました。

qiita.com

これまで「今日中にできます!」と答えて大体その日中に終わらせるのですが、

他のタスクが遅延したり新しい依頼が増えて

「まずい、捌ききれない・・」となることがほとんど。

焦りからミスをしたり納期ずらしてもらうこともしばしば。

2σの範囲を考える

自分の作業の遅延がどんな確率分布に従うのかはわからないですが、

まあ正規分布だとしたら、1日でできるものは大体1.5-3日以内には最悪終わるはず。

(ベータ分布に従うQiita記事筆者の回答もあり)

 

これからは間をとって2日が程よいのかもしれない。

「お急ぎですか?」は一応聞いておいて「遅くとも明日までにできます!」って言っておこう。

障害を取り除く>予定の不確実性も障害

加えてQiitaの記事から。

スクラムマスターやプロジェクトディレクターは、不安のもととなる「不確実性」を効率的に取り除くことがその仕事をうまく進めるポイントです。 

本だと障害というのは、

主に開発環境など会社・経営側で改善するような問題のことを差していましたが、

予定の不確実性も障害の一つと捉えると良いよとあります。

 

なるほどね。

 

まとめ

  • 納期の約束は確率分布で考えて答える
  • 自分がプロジェクトを管理する側の時は、予定の不確実性を見える化して取り除くよう管理する

Python 3 エンジニア認定データ分析試験に合格した

1時間前、Python 3 エンジニア認定データ分析試験(CBT)に合格した。

勉強方法はネットに色々あったので、何に役立てる?とかこれからどうする?とか所感をまとめておく。

経緯・結果

結果:900点 / 1000点

目的:Pythonの基本知識確認しておきたかった

勉強期間:2週間ほど

勉強前の状態:2週間前にPythonエンジニア認定試験合格、模擬試験の得点は半分くらい

勉強方法

  1. 公式本を一通りJupyter Notebookを使って写経
  2. YOUTUBEでNumPy、Python、Matplotlibドリル写経
  3. 模擬試験(PRIME STUDY、DIVE INTO EXAM)を繰り返し解く
  4. 模擬試験で間違ったところをANKIアプリに入れて復習
  5. 数学系の知識が不安だったのでYOUTUBEをみて学習

教材

  • 公式本:わかりやすかったけど深くは書いていないので他のリソースから知識補填は必要
  • 模擬試験:PRIME STUDYのYOUTUBE解説動画はこれまでで一番良い教材だった
  • ANKI:実際書いた方が覚える、今回あまり使わなかった
  • YOUTUBE:いまにゅのプログラミング塾さんのドリルを3周、Numpy、pandas、Matplotlbを一通り何も見ないで記述、数学知識はヨビノリさんで線形代数三角関数を勉強

所感

  • YOUTUBE大活躍だった。わかり易く教えてくれる人はゴマンといるから探すの大事
  • 今までプログラミングの基本わかってない状態で探り探りやってたけど基本を暗記しておくのやっぱ重要
  • 合格したことで、読めるPython本の幅が広がったと思う
  • 色々読みたいけど次の目標は統計検定2級、Python使った統計学の本あるから読んでみたい
  • さわりだけでもいいから数学の基礎しておくの大事
  • 普段TableauでビジュアライズしてるのでMatplotlibに興味なさすぎた(失点要因)

今後

  • この勢いでFlask勉強しとく(5月中)
  • 仕事でPythonで作ったツール(探り探り作ったやつ)を仕上げとく(5月中)
  • 統計検定に進む(6月)

機械学習 | おもしろそうな記事集め 〜テキスト分類縛り〜

内容

機械学習を用いたテキスト分類で、個人的に興味深かった事例を紹介します。

f:id:pushthefader:20190319213728p:plain

動機

先日勤務先で機械学習を用い電話対応オペレーターが入力した簡単な文章からどのようなお問い合わせカテゴリが該当するのかを表示する、というテキスト分類のWebアプリケーションを作りました。

作るまでの過程で色々な記事を参考にさせていただいたのですが、勉強用の記事で出来上がるものは、学習用としてはわかりやすいのですが、個人的にはあまり興味をそそらないテーマでした。例えば以下です。

  • スパムメールを判定する
  • ニュース記事が何のジャンルに該当するか判定する
  • 小説の著者は誰か推測する

そこで身近なテーマで、頑張れば私でもできるかも?と思ったテキスト分類の事例紹介ページをピックアップしてみました。

以下の見出しは私の独断と偏見です。

似ている情報を探す

テキスト分類ではレビュー記事や説明文、Tweetなどから、似ている情報を見つけ出すという手法があります。

興味深いのは、これらは単純なキーワード抽出・タグ分類ではなく「意味」や「概念」が似ている情報を見つけられている点です。

例えば「いらすとや」の事例では、固有のキーワードを使った画像検索ではなく、意味が似ている言葉から画像をピックアップされ、よりイメージに合ったものを見つけ出すことができます。

イメージに合ったものを見つけ出すというのは、イラスト画像以外の情報を見つけ出す際にも応用できるのではないでしょうか。

人間に迫る

「言葉 = 人間の考えを表に出すツール」と考えると、言葉の特徴から人間の考えを分類・推定をすることで、人間(自分/相手/ユーザ)を知ることができるのではないかと考えます。

性別・感情・キャラクターなど、人物像を把握することはマーケティングにも応用できると思います。

ユーザ像設定の際は経験や勘など主観的な思い込が入りがちです。

客観的な分析・推定を元に行うことでより精度の高いユーザ設定ができ、サービスが成功する確率が高まるかもしれません。

予測する

分類自体が予測という見方もできますが、ここでは確定していない未来のことをテキスト分類を用いて推察している事例です。

為替・株式・仮想通貨は市場心理のネガポジを把握するには良い手段のように思えます。ですが、思ったような良い結果は得られていないようです。いずれもTweetを学習用データセットとしており予測に不必要なデータも混ざってしまうことが原因となっています。

デートが成功する店〜は予測とは少し異なるかもしれませんが、成功確率の高い行動をするために分類データが役立つ事例として興味深いですね。

まとめ

画像・映像で活用されている機械学習を用いた分類ですが、テキストの世界でも今後もさらに面白い活用方法が出てくるかもしれませんね!

OSSのBIツールApache Supersetで日本地図を使う

やりたいこと

都道府県別の統計データをSupersetの日本地図を使って集計したい。

f:id:pushthefader:20190317193124p:plain

完成イメージ



使用するサンプルデータ

平成27年国勢調査人口速報集計から都道府県別の人口性比(男性人口/女性人口)データcsvを用意しました。

ただし県名はそのままだと読み込まないので、ISO 3166-2に合わせて変えます。

f:id:pushthefader:20190317190657p:plain

JP-01:北海道、JP-02:青森県、JP-03:岩手県・・

Supersetでの処理

1.データができたらSupesetでcsvを読み込み、テーブルを作成します。

f:id:pushthefader:20190317191123p:plain

2.作成したテーブルでVisualization TypeをCountry.Mapに設定します。

f:id:pushthefader:20190317191953g:plain

3.クエリを以下の通り設定します。 

f:id:pushthefader:20190317192515g:plain

 

→できました。

f:id:pushthefader:20190317193124p:plain

人口性比(男性人口/女性人口)が高い都道府県は黄色に、低い都道府県は青緑で表示されました。

関東圏は男性人口の比率が高い傾向があるようです。

 

息子は働きに都会へ、おかんは田舎で待っている。そんな情景が思い浮かびます。

 

おまけ:桁数がおかしいとき

Number formatを手打ちで修正します(D3.jsフォーマット)

f:id:pushthefader:20190317193917p:plain

 

 

OSSのビジネスインテリジェンスSupesetをコールセンターに導入してみた

内容

オープンソースのビジネスインテリジェンスツールSupersetをコールセンターに導入して約1年、入れたら色々楽になったというお話。

背景

私が働くコールセンターでは日々様々なデータが生まれています。

  • お客様との対話内容の記録
  • お客様との応対時間や件数
  • オペレーターとの面談記録
  • モニタリングの評価記録

などなど。これらを集計して運営の改善に役立てています。

ですが、このデータの集計はセンター運営管理者たちが夜な夜な必死にExcelで集計しており、一日中重いファイルとの格闘をしている日もありました。

もっと楽にできないかなと、いろいろ探し回って出会ったのがSupersetでした。

Supersetて何?

オープンソースのビジネスインテリジェンスツールです。

superset.incubator.apache.org

 

なんでSuperset?

他の似たような製品と比べ、魅力を感じたのは以下の点です。

  • 豊富なビジュアライゼーション
  • ある程度SQLで細かく集計可能
  • オンプレで立てられる

そして・・・タダ!

仕組み

以下のような仕組みを作りました。(ざっくり)

f:id:pushthefader:20190316190527p:plain

superset

導入してよかったこと

  1. リアルタイムのパフォーマンスをみんなと共有できる

    お問い合わせ内容の傾向/ご案内したこと/応対時間なんかがリアルタイムでわかります。

    構築した私以外の関係者たちも、自分でグラフをいじったり、フィルタをかけてみたり、SQLがわからなくても分析できるのは素晴らしいです。

  2. いろんなデータの見方ができる
    箱ひげ図でリアルタイムにオペレーターの応対時間のばらつきを見たり、バブルチャートで複数のKPIをプロットしたり、単純な計算だけでなくいろいろな見方ができます。

  3. KKD(努力と根性)→データドリブンに
    上司にもこういうツールの重要さを理解してもらい、これまでの感覚重視の運営から、きちんとデータに基づいた運営にだんだんとシフトしつつあります。

Opportunity

  • 定期メールアラートが簡単にできると良い
    あるにはあるのですが、今の環境だと難しかったのとリソースをかなり食うらしい。 続報待つべし。ちなみにRedashとかMetabaseならできるらしいです。
  • データベース接続でハマる
    ググるとすぐに解決できるのですがもっと簡単だと良いですね。
  • Role権限設定が複雑
  • 自分で集計関数を組むときはちょっとコツが必要

まとめ 

お金をかけずに、かつクライアントの目もあってセキュアにオンプレでBI使いたいコールセンターのみなさま、Supersetがおすすめです。

Hatena Blogはじめました

自己紹介

こんにちは、ブログはじめました。某コールセンターでCS管理してるPushthefaderと申します。普段は電話の仕事ではありますが、みんなと自分を楽にするためにプログラム書いたりしてます。

動機

  • 自分の勉強のためのアウトプットの場が欲しい
  • エラーに対処したりうまくいかなかったりしてるけど、なんとかかんとか調べて解決してきたことって実は誰かの役に立つのでは・・回り回って自分にも良いことが廻り回ってくるのでは・・?

書きたいこと

勉強用なのでとりあえずこんな感じの内容で日々感じたことをマイペースにやっていきます。

  • プログラミング
  • 統計学
  • コールセンターCS