悪評は8%未満!テックキャンプの評判ツイートをAI(BERT)で分析してみた

AI分析に目覚めたメイド

私、テックキャンプの評判と思われるツイートを自然言語のAI(機械学習アルゴリズムBERT)を使って調べてみたんだ。そしたら、悪評が8%未満であることがわかったんだ。

 

ネットの世界では、1つでも悪評がついてしまうと「本当に大丈夫なの?」「悪いウワサがたくさんありそうだね」と不安になることが多いけど、実際に数字にすると少ないことがわかったよ。

AIに詳しいメイド

ネットの世界では、うわさが一つでも出てくると、大きく捉えがちだから、
もしスクールに行くか検討しているなら数字にして事実を確認するのも一つの手かもしれないですね。

ということで、この記事では、2020年12月16日~12月30日の約2週間のツイートを分析してみたので、その結果を記載します!

概要

テックキャンプは、マコなり社長の影響からか、「評判」と思われるツイートが、ほかのスクールに比べて多いと言えます。

12月16日~12月30日の期間の「テックキャンプ」関連のツイート数は、集計してみた結果、約500件ほどです。プログラミングスクール10社のツイート数と比較すると、テックアカデミーに次いで第2位の多さでした。

そこで私は、自然言語処理のBERTという機械学習アルゴリズム(AI)を使えば、評判と思われるツイートを自動的にポジ(ポジティブな感情のツイート)、ネガ(ネガティブな感情のツイート)を分類できるのでは?と思い実際に分類してみました。

具体的な分類結果は以下の通りでした。

分類 割合
ポジティブなツイート 23.2%
ネガティブなツイート 7.7%
どちらでもない 69.1%

AIによる分類が成功すれば、スクール利用者による「(1日以上前の)過去ではなく“今現在”」の評判(ポジティブ、ネガティブ)がわかり、常に「最新情報」を元にプログラミングスクールを選ぶ判断材料になるのではと考えました。

仕様が固まったら、常に最新情報を提供できるようにシステム化したいと思います。

ツイートをポジとネガを分けた結果は?

BERTを使って実際にポジとネガを分類してみました。

その結果以下の通りになりました。

円グラフで分類結果表示

分布を作成する際のルール


  1. リツイート除外
  2. 重複内容のツイートは除外

各方面で全体の1割は、反対意見(ネガティブ意見)と言われているので、ほぼいい感じに分類できたのでは無いかと思います。

実際にどのように分類されたのか

分類されたツイートの一例を見てみましょう。

大体、それらしく判定されているように見えます。

ポジティブ(ポジ)

ネガティブ(ネガ)

ネガティブに判定されたものに関しては、スクールそのものの批判というよりも、上記のようにプログラミングが難しい、学習に苦労している旨のツイートが多いように見えました。

分類結果をみた感想

ポジティブ、ネガティブの分類ですが、中には「これ本当はポジティブでは?」「これ本当にネガティブ、ポジティブ」というものもありました。

上記のツイートは、本来は「ポジティブ」に分類されてほしいものですが、「どちらでもない」に判定されてしまいました。さらに精度を上げていく必要がありそうです。

予測精度としては、まだ高いとは言えないかもしれません。

ポジとネガは、人にとって判断軸が違うので、筆者にとっては「ポジ」または「ネガ」であっても他の人にとっては、別の意見になることがあると思います。

私自身、分類対象のツイート内容を200件ほど確認したが、スクールやマコなり社長に対するクレームのツイートが5件(筆者判断、他の人からしたらもっと多いかもしれません)くらいだったためか、ポジ・ネガに対するツイートを自動的に完璧に判別するのは難しいかもしれません。

wordcloudでポジ、ネガの概要を出力してみた

ツイートの中で、よく使われている単語(キーワード)を、ポジティブ、ネガティブにわけてwordcloudに出力してみました。

ポジティブなツイートのwordcloud

「積み上げ」「勉強」など、今まさに学習しているツイートが多いように見受けられます。

ネガティブなツイートのwordcloud

理解が難しい、四苦八苦などの苦労しているような旨のツイートが多いように見受けられます。

サンバーストでよく使われているハッシュタグを出力する

せっかくなので、テックキャンプ関連のハッシュタグの分布も出力してみます。

キーワード「テックキャンプ」は、当然のように多いので、ここでは除外しています。

分析の結果、「テックキャンプで勉強なう」「プログラミング初心者」「今日の積み上げ」「プログラミング初心者」など、今まさに学習を頑張っているのツイートが全体的に多いことがわかります。

参考程度にポジ、ネガを分類する手順

参考程度に、ツイート内容をからポジ、ネガを分割した方法を記載します。

こちらは、機械学習という専門的な話になるため、興味ある方向けに記載します。

  1. Twitter日本語評判分析データセット(ポジ、ネガの教師データ)をダウンロードする
  2. Twitter日本語評判分析データを使って、日本語BERTで訓練(ファインチューニング)する
  3. テックキャンプ関連のツイートをTwitter APIを使って集める
  4. 訓練したモデルを使ってテックキャンプ関連のツイートについてネガ、ポジを分ける(推論)
  5. ネガ、ポジの結果を元にグラフ化対応する

■Twitter日本語評判分析データセット

Twitter日本語評判分析データセット

■日本語BERTについて

【AI】日本語Bertでファインチューニングしてツイートの感情の分類を解く!

更に予測精度を上げるためにやることがあるとしたら

前処理の見直し

顔文字については何にも処理していないので、対処した方が良いかもしれません。

プログラミングスクール専用ツイートで分類

教師データは、プログラミングスクールに特化しているわけでは無い。

よって、より精度を上げるには、プログラミングスクールのツイートを元に教師データを作成する必要がありそうです。分類作業は、かなり面倒だが、クラウドソーシングで発注しようかな?

ポジ・ネガ分類の応用として

テックキャンプとは関係ないが、いまネットの世界で問題になっている誹謗中傷問題。誹謗中傷が多いと言うことは、誹謗中傷の教師データも多いと言える。

よって、誹謗中傷の判定精度は高くなりそうなので、分類ができそうだ。

※コメント欄に「誹謗中傷の教師データ」を提供しなくても良いですよ。

インフルエンサー達は、誹謗中傷のコメントを見ることに嫌気を指しているはずなので、誹謗中傷の部分を抜いたコメントのみ閲覧できる(ツイッターならAPI組み合わせればできると思う)システムを提供などが考えられます。

まとめ

今回は、AIを使ってテックキャンプに関連する「評判」と思われるツイートをポジティブとネガティブに分類してみました。予測精度は、まだまだと感じですが、さらに応用しながら突き詰めて行きたいと思います!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする