開発合宿での学び 〜pythonスクリプト実行アプリケーションの作成〜
こんにちは!キスモインターンの内山です。
先日、熱海へ開発合宿に行ってきました!
昼間はがっつり開発をし、夜は温泉と美味しい食事で癒されるという充実した合宿になりました!
その中で弊社役員陣プレゼンツの社内勉強会を行いました。
その一つとして、弊社のエンジニアのエース寺澤による“Flaskとjavascriptを用いたpythonスクリプト実行アプリケーションの作成”という講義を受けました。
Flaskとは、pythonのウェブアプリケーション作成のためのフレームワークです。
ターミナル上やjupyter notebook上でしかpythonを動かしたことがなかった自分にとって、初めて知る内容が多く、非常に勉強になりました!
(開発合宿の様子)
今回はそこで得た知識を基に、”入力テキストの強調語句可視化ツール”の開発にトライしてみました!
今回やりたいことを大別すると、
- テキストデータをinputとして、word cloudというpythonのライブラリを用いて、多用している語句を可視化する。
ー>pythonで実装 - その一連のステップを簡易的なウェブページ上で実行する。
ー>Flask、HTML、CSS、javascriptで実装
の2点となります。
1点目については、
inputのテキストデータをMecabを用いて形態素解析を行い、pythonのWord Cloudライブラリを使って分割後の単語の可視化を行います。
2点目については、
HTMLでテキストボックスを持つwebページを作成し、テキストボックスに書き込んだ内容をpythonコードのinputデータとなるように、javascriptで実装しました。ローカルサーバーの立ち上げには、前述のFlaskを使用しました。
作成した成果物がこちらです。
テキストボックスに文章を入力すると、そのテキストデータをinputとしてpythonコードが動き、右側にword cloudが表示される仕様になっています。
今回は試しに昨年11月に行われた安倍総理大臣の所信表明演説を入力してみたいと思います。
(参考URL:https://www.kantei.go.jp/jp/98_abe/statement2/20171117shoshinhyomei.html)
結果はこのようになりました。
出現回数が多い単語ほど、大きく表示されるようになっています。
”我が国”や”国民”という単語が多く使われているのはもちろんのこと、”改革”や”革命”、”実行”という単語が多く使われており、安倍総理大臣の決意の強さが伝わってきますね。また、”北朝鮮”、”ミサイル”、”拉致”といった単語が見られるのも、特徴的です。
word cloudというライブラリを使うことで、発言の内容をこのように可視化できるのは非常に面白いですね。
今回は以上のようなwebアプリケーションの開発を行ってみました!
webアプリケーション作成の知識がゼロだった自分が、社内勉強会によって新たな知見を得られたことで、数時間の開発でpythonコード実行アプリケーションを作ることができました。
新しいスキルを身につけるきっかけになった社内勉強会に感謝ですね。。
キスモでは、このように社内での知見共有をとても大事にしています。
尖ったスキルを持ったメンバーが多いので、お互いの強みを活かし合える環境をこれからも作っていきたいと思います!