Slack分析奮闘記#1 SlackAPIから情報取得して発言内容をWordcloudにする

前回の記事

thinker-masso.hatenablog.com

はじめに

データ分析の素人である私が、とあるコミュニティのSlackデータ分析にチャレンジさせてもらえることになりました。 せっかくなので、「Slack分析奮闘記」として、そこから得た学びをアウトプットしていこうと思います。

本記事では、前回の記事で説明した砂場遊びについて簡単に説明します。 具体的な処理については、Qiitaにまとめています。 qiita.com

砂場遊びの概要

  • SlackAPI経由でSlackの情報(チャンネル、ユーザー、メッセージ)を取得する
  • ユーザーごとにメッセージをまとめてWordcloudを出力して、各ユーザーの特徴を見てみる

学んだこと

  1. 形態素解析分かち書き
  2. 文書のノイズ除去方法(クリーニング、ストップワード除去、正規化)
  3. SlackAPIの使い方
  4. Pandasを用いたテーブルデータの取り扱い
  5. TFIDFによる単語の重要度スコアリング
  6. Wordcloudの生成(スコアとしてTFIDFを用いた)

Slack分析奮闘記#0 はじまり

はじめに

データ分析の素人である私が、とあるコミュニティのSlackデータ分析にチャレンジさせてもらえることになりました。 せっかくなので、「Slack分析奮闘記」として、そこから得た学びをアウトプットしていこうと思います。

Slack分析プロジェクトのモチベーション

  • 実践に近いデータ分析プロジェクトに取り組む経験を初学者に提供する
  • コミュニティの発展に役立つインテリジェンスが得られたらいいな

プロジェクトの概要

  • 有識者レコメンドシステム構築
    • ある技術に関するワード(例:自然言語処理)を入力すると、
    • それに明るい人(自然言語処理の達人とか)をレコメンドしてくれるシステムの構築
    • 「各ユーザーがどんな分野に明るいか?という情報の蓄積」と
    • 「入力したワードにマッチするユーザーの検索」が必要
  • Slackコミュニティ活性度を把握する為のダッシュボード構築
    • Slackコミュニティでのユーザーの動きを可視化する
    • コミュニティのグロースハックを行う上で重要な判断指標となるKPI設計も含む

【参考】 scrapbox.io

プロジェクトの開始

人が集まらない。ので、自分で出来ることからやろうと思った。 ちなみに、私はSlackAPIも触ったことないし、Webサービスも作ったことないし、自然言語処理もしたことない。

まず、自然言語処理やSlackAPIの使い方を学ぼうということになった。(自分の中で)

そして、いろいろ調べながら、知識のある方に参考情報を聞きながら、 一人で一生懸命砂場遊びをしました。

github.com

次回以降の記事では、私の砂場遊びでの学びを記述していこうと思う。

無駄ではあっても無意味なものにはしない

人生では失敗することがある。
多々ある。

本日はプログラミングの勉強してて、エラーが解消できずに3時間程調査や思考に費やした。 結果として、エラーは解消できていない。(明日に持ち越し)

おそらく、もっと効率的な解決方法があったはず。 お金をかけて、メンター雇ったりスクールに通ったり

そうした方が、時間を無駄にしなくて済んだだろう。

正直結構反省している。 だが、自分を否定してはいない。正直ラッキーかなと思っている。 失敗という経験を得た。(某ジャンプ漫画より引用)

で、今回の行動については、無駄ではあったが無意味ではないなと思った。

無駄と無意味の違いとは

kotobank.jp

kotobank.jp

今回、勉強中にハマった箇所の解決は3時間もかけず(しかも解決できず笑)に達成する手段はあるはず。 非効率な時間の使い方をしたと言える。つまり無駄である。

しかし、この失敗から学び、次の行動をあるいは自分の思考をアップデートすることができれば、 この失敗は無意味にはならない。 そして、私はそうするつもりだ。だから無意味ではない。


失敗した自分を責めなくていい。ていうか、そんな暇ない

だから、失敗した時は落ち込む必要はない。 その失敗を糧にして、次の行動を変えて、意味のある失敗にすればいい。 同じ失敗をしてもいい。 同じ失敗をしたら、さらに強く自分の記憶に刻み付けられる。 1回で完璧に直せた人より、深く刻み付けられる。 それは十分に価値があると思う。

世の中には、1回やれば次からは二度と同じ失敗をしない人もいるだろう。 でも、自分とその人(実在するか知らないけど)を比較して、自分を卑下する必要はない。

違うのだから。


結論

結論何が言いたいかというと、タイトル通りなんだけどね。

このブログをどういう場所にしたいか

結論

  1. データサイエンス関連
  2. ITエンジニアリング関連
  3. 趣味(筋トレが主)

について

  • インプットした情報を共有する場所
  • アウトプットの場所
  • ポエムを吐く場所

のように考えています。