Society5.0に対応した高度技術人材育成

enPiT everi 社会人向け「人工知能・ロボット・IoT」に関する短期講義・演習プログラム

MENU

活動紹介

  • 活動紹介

【enPiT-everi 夏季公開講座紹介】プログラミングで夏目漱石の『こころ』を探ろうの受講体験録

7/27(土)は、好評!Pythonプログラミング講座「プログラミングで夏目漱石の『こころ』を探ろう」が北九州市立大学 ひびきのキャンパスにて実施されました。
本日は、29人の受講者が参加しました。初心者向けの講座ということで、講師と受講者をサポートする学生3人の体制だったので、質問がしやすく迅速な対応をして頂きました。

<第一部> 
Jupyter notebook というツールを使い、Pythonプログラミングの基礎の勉強と、環境設定、簡単なプログラムの実行を行いました。

基礎的な演習問題がたくさん用意してあり、簡単にプログラミングにふれることができました。また、Jupyter notebookは、Webブラウザだけでプログラムを書いたり、実行したりできるので、とても簡単に使えました。

 

<第二部 単語の出現率の可視化>
いよいよAI的なPythonプログラミングの演習です。

①夏目漱石の小説で、最も使った単語は何?どのくらいの頻度ででてくる?という、プログラミングにふれました。

日本語の文章では、スペースで単語を分割していないため、単純に単語の区切りを得ることが難しいそうです。言われてみれば,英語は単語ごとスペースが入るので、区切りやすいですね。そこで、文章を分かち書きし、意味のある最小単位の単語に分割して、それぞれの品詞や変化などを割り出すことが必要です。これを形態素解析というそうです。
なんだか難しいプログラミングをするのかと思いましたが、びっくりしたことに、この形態素解析をするプログラムをまとめたものが、オープンソースで公開され、使えてしまうのだそうです。このようにプログラムがまとめられているものを「ライブラリ」といい、それを使うと、自分で書かなければならないプログラムの量をものすごく減らすことができるそうです。

今回は、形態素解析をするライブラリの『janome(蛇の目)』を使って、夏目漱石の「こころ」で単語の出現率をみてみました。

②解析した単語をわかりやすく可視化するプログラミングにふれました。

用意されていた演習問題を進めていくと、読み込ませた文章を解析して、出現率が高い単語順に大きさと色を変えて表示し、ひと目で印象づける画像ができました(下図)。このように、文章の内容を視覚的に表すことをワードクラウドというそうです。
ここでも、ワードクラウドにするライブラリの『WordCloud』を使って、可視化しました。


↑別の小説でも可視化しました。「銀河鉄道の夜」から、品詞を『感嘆詞』に変更すると、語彙が少ない!


↑好きな色のグラデーションに変更し、品詞を『名詞』に変更すると語彙がたくさんでてきました。

<第三部 文章の自動生成>

機械が夏目漱石の小説をまねて自動的に文章を作るとどうなる?という、プログラミングにふれました。

最後の講義は、少々ハードルが高くなったようで、プログラム的なことは分からないのですが、どうもランダムに文章を作るのではなく、単語と単語のつながりを元に、単語の並びを学習させて、元の文章に似た前後の単語と単語をつなぎ自動的に新たな文章をつくるようです。
実行してみるとびっくりしたことに、誰かが書いたように文章が自動生成されていて、夏目漱石の「こころ」が大好きで何度も読んでいる私には、夏目漱石らしい文章なのですが別の小説を読んでいるようでした。

<感想>
Pythonプログラミング言語は、学びやすいプログラミング言語だそうです。実際に私も分かりやすいかも?と思いました。C言語では10行になるプログラムがPythonでは2,3行という少ない行数で多くの処理が可能らしいです。
また今回の講座で、機械学習にもふれ、人口知能(AI)を身近に感じることができましたし、様々なアプリ(インスタグラム、Dropbox、Googleなど)で使用されているプログラミング言語であるということも知り、ますます、Pythonプログラミング言語を知りたいと思いました。                                     
(S.K)

 

カテゴリー