はじめに
「インドに行ったら人生観が変わる」とか聞いたことありますよね。何かを経験すると考え方が変わるようです。そこで**『スクールに通ったら意識はどうなるのか?』**をWord2Vecを使って調べてみました。
(技術力が向上したとかの話ではなく、どんな考え方になるのか調べます)
Word2Vecとは?
こちら(https://www.pc-koubou.jp/magazine/9905)に分かりやすく説明されていたので抜粋させて頂きました。
Word2Vecは2013年にGoogleの研究所から発表された自然言語処理の基礎技術の1つで同じ文脈で用いられる単語は似た意味を持つという仮定に基づき、単語の特徴をベクトルで表現する技術です。
言葉の特徴をベクトルで表すことができ、以下のような言葉の足し算/引き算もできるそうです。
「King」―「Man」+「Woman」=「Queen」
調査対象
去年、私が通っていたプロトタイピング専門スクール『ProtoOut Studio』を対象にします。
ProtoOut Studioとは、プログラミングとプランニング(企画)の両方のスキルを兼ね備えた人材輩出を行う日本初のプロトタイピング専門スクールです。
※注意※ ProtoOut Studioはプログラミングスクールではありません。
調査方法
ProtoOut Studioに通うと、noteやQiitaに投稿する機会が多くなります。そこで、スクール生のnote記事をWord2Vecで解析し、頻出する言葉の特徴ベクトルを算出し言葉の繋がりを可視化します。その結果からどんな言葉に、どのような考えを持っているのかを調べます。
参考
Word2Vecを使用するにあたり以下サイトを参考にさせて頂きました。
-
15分でできる日本語Word2Vec
- Word2Vecをサクッと動かすことができました。
-
【pythonで自然言語処理】word2vecで分散表現した単語を2次元に可視化する
- Word2Vecで算出した特徴ベクトルをもとに単語の関係をグラフにできました。
スクリプト
スクリプト全文はgithubにおきました。実行方法やスクリプトの説明はREADME.mdを参照ください。
学習データを用意します
Word2Vecで分析するデータを用意します。分析するデータはスクール生のnote記事です。
note記事は、こちらhttps://note.com/n0bisuke/m/m03f109eaf0a8にある55の記事を対象としました。200を超える記事があるのですが、手作業で集めるのは大変でした。(スクレイピングは怒られそうなので使わず)
各note記事から文字列をコピーしテキストデータを作っていきます。
特徴ベクトルの算出と可視化をします
分析するデータがそろったところで、githubのREAD.meを参照し、分析用データの格納場所や、そのデータを読み込むためのスクリプトを修正します。これで準備完了!あとはスクリプトを実行するだけです。
$ python whatisprotoout.py
Word2Vecの出力結果
スクリプトの実行結果、つまりWord2Vecの出力結果を紹介します。本スクリプトでは"グラフ描画"と"類似単語の表示"の2種類の結果を出力します。
Word2Vecの出力結果①:グラフ
単語を2次元のベクトルで位置関係をプロットしたグラフが描画されます。また、類似を確認したい単語("プロトアウトスタジオ","プロダクト","アウトプット","クラウドファンディング","qiita")を中心に円を描画します。
Word2Vecの出力結果②:類似単語
類似を確認したい単語("プロトアウトスタジオ","プロダクト","アウトプット","クラウドファンディング","qiita")について、類似単語を表示します。
■ プロトアウトスタジオ
入学 (0.743511974811554)
プロトタイピング (0.6846550703048706)
スクール (0.6828874945640564)
振り返る (0.5841624736785889)
アウトプット (0.5474894046783447)
プログラミング (0.5402177572250366)
前 (0.5026389360427856)
授業 (0.45581525564193726)
出す (0.42546749114990234)
卒業 (0.41029900312423706)
■ プロダクト
アイデア (0.6063304543495178)
プロジェクト (0.48132702708244324)
モノ (0.4543532133102417)
開発 (0.4486212730407715)
せる (0.4397166967391968)
出す (0.4236742854118347)
持つ (0.4197070002555847)
必要 (0.4194684624671936)
化 (0.39334210753440857)
サービス (0.37830209732055664)
■ アウトプット
伝える (0.5902352929115295)
技術 (0.5689254999160767)
プロトアウトスタジオ (0.5474894046783447)
企画 (0.54619300365448)
授業 (0.5281287431716919)
よう (0.5193874835968018)
自分 (0.5042891502380371)
ため (0.48332035541534424)
プロトタイピング (0.4533543586730957)
力 (0.4454042315483093)
■ クラウドファンディング
プロジェクト (0.848792314529419)
中 (0.7508411407470703)
制作 (0.7096971273422241)
プロトタイプ (0.7082103490829468)
卒業 (0.7046213150024414)
いう (0.5538543462753296)
行う (0.5338456630706787)
せる (0.5168145895004272)
世界 (0.4998236298561096)
良い (0.4922044277191162)
■ qiita
記 (0.776675820350647)
くれる (0.618561863899231)
書く (0.5929526686668396)
参加 (0.44561028480529785)
入る (0.41713064908981323)
課題 (0.30368781089782715)
そう (0.29321321845054626)
好き (0.29205435514450073)
いい (0.267738401889801)
もの (0.25582510232925415)
Word2Vecの出力結果から分析してみる
『Word2Vecの出力結果』と『スクール生であった私自身の体験』をもとにスクール生の考え方を分析します。分析対象の単語の意味(定義)を、類似単語を使い以下の形式で説明します。
『〇〇(分析対象の単語)』とは【□□□□】のこと
- 分析対象の単語
- プロトアウトスタジオ
- プロダクト
- アウトプット
- クラウドファンディング
- qiita
ではやっていきます。なお、分析には少なからず私個人の主観が入っており、スクールの正しい説明ではないことを注意ください。( ※個人の感想です ってやつ)
『プロトアウトスタジオ』とは【アウトプットを振り返る】こと
プロトタイプは、作ることだけでなくアウトプットすること、アウトプットしたことによるフィードバックが重要と教わります。
『プロダクト』とは【アイデアをサービス化するプロジェクト】のこと
プロダクトとは製品のことで、スクール生はプロダクトを使う側ではなく作る側として考えているようです。
『アウトプット』とは【企画のプロトタイプを伝える】こと
構想をプロトタイプにして世に伝えること、これがスクール生にとってのアウトプットのようです。
『クラウドファンディング』とは【プロトタイプを世界に行う(問う)プロジェクト】のこと
スクール生にとって最大のアウトプットがクラウドファンディングです。プロトタイプを作り、クラウドファンディングで世に問いかけます。
『qiita』とは【記事を書く好きなもの】のこと
スクール生は、Qiita投稿を"楽しいもの"と思っているようです。
まとめ分析『スクールに通ったら意識はどうなる?』について
これまでの分析をもとに、スクール生がどのような意識なのかを考えます。
プロダクトの分析でも記載しましたが、**【プロダクトを使う側ではなく作る側として考えている】**これに尽きると思います
企画したものを形(プロトタイプ/プロダクト)にしてアウトプット(世に問う)ことで発信者の意識になったのだと思います。
おわりに
Word2Vecで出力した結果は「なるほど確かにそうかも!」と納得できるものでした。PythonをかじっていたらWord2Vecの実行はそんなに難しくなくできると思います。Word2Vecやってみたくなったら、15分でできる日本語Word2Vec から始めることをオススメします。