International Essays |
文学作品のワードクラウドに挑戦
文学作品のワードクラウドに挑戦
金光安芸子
Internationalization Specialist /Wolfram Certified Instructor, Wolfram Research, Inc.
京都ノートルダム女子大学で2022年度秋学期に15回に渡って行われた「AIとデータサイエンス入門」の授業は,講義で学んだことを実習で体験し理解を深めるために,全ての回が講義+実習という形式で行われました.「データビジュアライゼーション」の回では,ワードクラウドを実際にWolfram言語のプログラムで作成する手順を学び,さらにレポート課題として文学作品のワードクラウドに挑戦しました.学生たちは,それぞれの作品のイメージに合わせて色や形を工夫し,ワードクラウドから文学作品の特徴や共通点等を発見していました.
「AIとデータサイエンス入門」
「AIとデータサイエンス入門」
京都ノートルダム女子大学で2022年度後期に始まった「AIとデータサイエンス入門」では,毎回講義の後にその内容をより深く理解できるよう,PCを使った実習を行いました.プログラミング言語は,Wolfram言語です.Wolfram|AlphaやMathematicaなどのアプリケーションのベースであり,数学の計算をしたりグラフを描いたりもできるプログラミング言語ですが,可視化が得意で,とても綺麗なグラフィックスを描くことができます.
今回紹介するのは,「データビジュアライゼーション(データの可視化)」の回で学習した「ワードクラウド」です.アンケートや文章などのテキストデータから,出現回数の多い単語をより大きく表示することで,どんなワードがよく出てきているのかを,瞬時に認識することができます.”今日ツイッターでバズったワードは?” や,”アンケートの回答で多く出てきたワードを可視化”など,ニュースや新聞,情報番組などでも見たことがある人も多いと思います.
ワードクラウドは,Wolfram言語では「WordCloud」という関数で簡単に作れます.そして,四角形のほかにも,ハートやドーナツ型などの好きな形で作ることもできます.同じデータでも,形が変わるだけで印象も違いますね.
今回紹介するのは,「データビジュアライゼーション(データの可視化)」の回で学習した「ワードクラウド」です.アンケートや文章などのテキストデータから,出現回数の多い単語をより大きく表示することで,どんなワードがよく出てきているのかを,瞬時に認識することができます.”今日ツイッターでバズったワードは?” や,”アンケートの回答で多く出てきたワードを可視化”など,ニュースや新聞,情報番組などでも見たことがある人も多いと思います.
ワードクラウドは,Wolfram言語では「WordCloud」という関数で簡単に作れます.そして,四角形のほかにも,ハートやドーナツ型などの好きな形で作ることもできます.同じデータでも,形が変わるだけで印象も違いますね.
(WolframAlphaを使った授業アンケートのワードクラウド.同じデータを形を変えて可視化したもの.)
データビジュアライゼーション(データの可視化)
データビジュアライゼーション(データの可視化)
さて,講義も後半になり,Wolfram言語の使い方にも慣れてきた頃,「データビジュアライゼーション(データの可視化)」のレポート課題で文学作品のワードクラウドに挑戦しました.
課題は,「提供された10作品のテキストデータから2作品を選んでワードクラウドを作り,そこからわかることや工夫した点を記述すること」でしたが,2作品以上のワードクラウドに取り組んだり,実習で説明していない複雑な色合いの設定方法をWolframのドキュメントから見つけてやってみたり,さらには,「オリジナルの形にしたいから方法を教えてください」というリクエストまで.リクエストに応え,作り方のテキストを追加で用意したところ,多くの学生さんがチャレンジしてくれました.
作品のイメージに合わせた,とてもバラエティに富んだワードクラウドが集まりましたので,まずはじっくりとご覧ください.
ほんとうは全部紹介したいのですが,以下はほんの一部です.
これらのワードクラウドから,作品名がわかるでしょうか?
課題は,「提供された10作品のテキストデータから2作品を選んでワードクラウドを作り,そこからわかることや工夫した点を記述すること」でしたが,2作品以上のワードクラウドに取り組んだり,実習で説明していない複雑な色合いの設定方法をWolframのドキュメントから見つけてやってみたり,さらには,「オリジナルの形にしたいから方法を教えてください」というリクエストまで.リクエストに応え,作り方のテキストを追加で用意したところ,多くの学生さんがチャレンジしてくれました.
作品のイメージに合わせた,とてもバラエティに富んだワードクラウドが集まりましたので,まずはじっくりとご覧ください.
ほんとうは全部紹介したいのですが,以下はほんの一部です.
これらのワードクラウドから,作品名がわかるでしょうか?
図1:さまざまな文学作品のワードクラウド(学生のレポート課題より)
こんな形も作れるの?と驚かれたことと思います.同じ文学作品でも,色や形によって,印象がずいぶん変わりますね.ワードクラウドを見るだけで,作品名や登場人物がわかったり,どんなお話しなのか推測できたり,物語の特徴なども見えてきたりします.まさに,「データビジュアライゼーション(データの可視化)」の力です.
みなさんも,オリジナルのワードクラウド,作ってみたくなりませんか?
みなさんも,オリジナルのワードクラウド,作ってみたくなりませんか?
ワードクラウドの作り方
ワードクラウドの作り方
ここからは,ワードクラウドをWolfram言語で作る具体的な手順を紹介します.
京都ノートルダム女子大学とWolfram Research は,2021年度より情報関連の授業等で協働してきましたが,数理・データサイエンス・AI に関する教育研究の推進・人材育成のため,2022年4月にWolfram社と産学連携協定を結びました.「AIとデータサイエンス入門」では,担当教員がWolfram認定インストラクタ,ということもあり,Wolfram言語を使っています.
(1) 「課題用のテキストファイル」の中から自分が分析したい対象のファイルを選択し,PCにダウンロードしてから,Wolfram Cloudにアップロードする.
SetDirectory[NotebookDirectory[]];wagahai=Import["wagahai_morph.txt"];
WordCloud[wagahai]
(4) Wolfram言語のオンラインドキュメントを参考にして,見せ方を工夫する.
WordCloudwagahai,
数式を使って,形をつくることもできます.
次の例では,Disk関数は円板,Rectangle関数は長方形の,それぞれ幾何領域を作成する関数を使い,RegionDifference関数で領域の差分を取っています.
次の例では,Disk関数は円板,Rectangle関数は長方形の,それぞれ幾何領域を作成する関数を使い,RegionDifference関数で領域の差分を取っています.
好きな画像から,形をつくることもできます.
プログラミング,といっても,Wolfram言語の一つ一つのコードはとても短いです.ただ,簡単そうに見えて,大文字小文字を間違ったり,カッコの対応が抜けていたり,と,ちょっとしたミスで思ったように動いてくれないのはどの言語でも同じ「プログラミングあるある」です.
さて,上でご紹介した文学作品のワードクラウドたちの答えはこちらです.
さて,上でご紹介した文学作品のワードクラウドたちの答えはこちらです.
1行目:「ラプンツエル」「ラプンツエル」「みにくいアヒルの子」
2行目:「若草物語」「母を尋ねて三千里」「みにくいアヒルの子」
3行目:「白雪姫」「白雪姫」「白雪姫」
4行目:「源氏物語 桐壺」「みだれ髪」「吾輩は猫である」
5行目:「人間失格」「人間失格」「源氏物語 夕顔」
これらの文学作品の「文章のテキストデータ」を青空文庫から入手し,さらに「形態素解析(*)したテキストデータ」に変換し,Wolfram言語に読み込んでワードクラウドで可視化しました.
学生さんたちが,苦戦しながらも「自分の理想のワードクラウドを作りたい!」という一心で一生懸命(そして,おそらく楽しみながら)取り組まれたことが,レポートからひしひしと伝わりました.クラウド版なので,学校がお休みのときに自宅でもできた,ということも,力作が揃った要因の一つかなと思いますが,何においても「やりたい!」という気持ちは大事なモチベーションになりますね.
2行目:「若草物語」「母を尋ねて三千里」「みにくいアヒルの子」
3行目:「白雪姫」「白雪姫」「白雪姫」
4行目:「源氏物語 桐壺」「みだれ髪」「吾輩は猫である」
5行目:「人間失格」「人間失格」「源氏物語 夕顔」
これらの文学作品の「文章のテキストデータ」を青空文庫から入手し,さらに「形態素解析(*)したテキストデータ」に変換し,Wolfram言語に読み込んでワードクラウドで可視化しました.
学生さんたちが,苦戦しながらも「自分の理想のワードクラウドを作りたい!」という一心で一生懸命(そして,おそらく楽しみながら)取り組まれたことが,レポートからひしひしと伝わりました.クラウド版なので,学校がお休みのときに自宅でもできた,ということも,力作が揃った要因の一つかなと思いますが,何においても「やりたい!」という気持ちは大事なモチベーションになりますね.
形態素解析とは?
形態素解析とは?
形態素解析とは,文章を分かち書きし(単語に分ける),標準形に直す(思って→思う,など)処理です.今回は,形態素解析の結果から,ストップワード(「を」「は」「です」などの助詞や助動詞)を除去したデータで,ワードクラウドを作りました.なお,形態素解析は,PythonのMeCabを使いました.
Summary
Summary
この授業では,ほかにも,統計学の基礎やアルゴリズムの基本,データの種類や構造,アートプログラミングや,機械学習の関数を使ってお菓子を見分ける関数を作成するなど,さまざまなトピックで実習を行い,「講義で学んだことを実習で体験し理解を深める」という形式でAIとデータサイエンスについて学習してきました.
初めてのWolfram言語でのプログラミングは,毎回内容も盛りだくさんで,最初の頃はすこし慌ただしいときもありましたが,後半になるにつれ,実習もスムーズにできるようになりました.受講した学生さんたちからは,「講義で学んだあとに実習をするのはわかりやすかった」「新しい体験ができたみたいで楽しかった」という感想が寄せられました.
この科目は,情報活用力プログラムの必修で,全学部の学生が選択できます.今期も,国際日本文化学科や心理学科の2年生が多く受講していました.「AI」は今,お掃除ロボットや自動翻訳などで皆さんの身近に存在し,「AI」に関する話題が毎日ニュースや新聞を賑わせています.また,どんな学問,どんな職種でも,「データ」は必ず存在します.文系・理系を問わず,必要な知識となってきたデータサイエンス.みなさんの身近にあるデータを,Wolfram言語を使って手軽に可視化してみてはいかがでしょうか.
この科目は,情報活用力プログラムの必修で,全学部の学生が選択できます.今期も,国際日本文化学科や心理学科の2年生が多く受講していました.「AI」は今,お掃除ロボットや自動翻訳などで皆さんの身近に存在し,「AI」に関する話題が毎日ニュースや新聞を賑わせています.また,どんな学問,どんな職種でも,「データ」は必ず存在します.文系・理系を問わず,必要な知識となってきたデータサイエンス.みなさんの身近にあるデータを,Wolfram言語を使って手軽に可視化してみてはいかがでしょうか.
このページで使われている関数のドキュメントへのリンクです.
RegionDifference:https://reference.wolfram.com/language/ref/RegionDifference.html
AlphaChannel : https://reference.wolfram.com/language/ref/AlphaChannel.html
RemoveBackground : https://reference.wolfram.com/language/ref/RemoveBackground.html
© 2023 Wolfram. All rights reserved.