camera510PC7の栞

情報系学生のTips、ポエム、活動記録

「女学生の気持ちをPythonで可視化してみた」というLTの裏側

本記事は長崎県立大学 Advent Calendar 2019の21日目の記事です。

前の人の記事
kobayashi9.hatenadiary.com

概要

12月14日(土)に行われたセキュリティ・ミニキャンプin長崎後夜祭で僕が発表したLTの裏側、経緯について語ったものです。

発表したLT

すべての始まり

時はミニキャンプ当日の数週間前に遡ります。とある先生から「ミニキャンプの後夜祭でLTやるから何かネタを考えておいてね」と連絡がありました。

何をやろうかと悩んだのですが、ふと今読んでいる小説を見た時にあることを思い付きました。

その小説は乙女の港(川端康成、中里恒子 作)というものです。

乙女の港 (実業之日本社文庫 - 少女の友コレクション)

乙女の港 (実業之日本社文庫 - 少女の友コレクション)

詳しい内容は省きますが、この小説の中では女学生たち(特に上級生と下級生)が手紙をやり取りするシーンというのがよく出てきます。
このシーンを見た時に「当時の女学生は実際にどんな手紙をやり取りしていたのかな」と疑問に思い、いろいろ調べてみると国立国会図書館デジタルコレクションで当時の女学生の手紙をまとめている本が公開されていることを知りました。

dl.ndl.go.jp

こういった経緯から手紙を解析してみようとなりました。

解析するにあたって

形態素解析するにはテキストデータが必要になります。国立国会図書館デジタルコレクションからダウンロードできるのはPDFまたはJPEGしかありません。初めはGoogleDriveのOCR機能を使ってテキストデータ化しようと考えましたが、どうもうまくいきません。
原因として考えられるのは手紙が旧仮名遣いや旧字体で書かれているということです。

仕方がないので人力で文字起こしをしましたが、一部の旧字体は環境依存文字となっていて後述のプログラムに落とし込むとエラーで落ちてしまいました。なので環境依存文字となっている旧字体新字体に変換しました。

変換してもなかなか出てこない字もあり、入力作業は大変でした。

ネガティブ・ポジティブ判定について

今回は東工大の高村教授が公開されている単語感情極性対応表を使いました。

これをCSVに変換してプログラムに取り込みます。 f:id:camera510PC7:20191216180740p:plain

Pythonでプログラミング

【kashika.py】

【miyakonookatani.txt】

皆様此頃どうしてゐられます。私はお様子を聞きたくて仕方がありません。毎日さみしい机にもたれていらいらしてゐるのです。秋といふと皆様はどんなことをお考えあそばすでせう。私のほうはもうすっかり秋になりました。二三日中には稲も刈り入れるばかりになりました。私は、何故でせう。いくら秋になつても、冬になつても、じつと落ち着いてゐられません。いつも氣がせかせかして、ひまがあると近くの野を歩き廻るんです。野にはやさしい花も咲いてゐませう。蟲の音も聞こえませう、けれども私は、そんなもの少しも氣にとまらないのです。ただぼんやりわびしい日が渡つて行く空を眺めて、皆様のことばかり考えてゐるのです。この心持何と言つたら好いでせう。矢張秋の心持とでもいうのでせうか。
$ python3 kashika.py miyakonookatani.txt

という感じに実行します。

発表準備

スライドは当日の2~3日前に作りました。

LT前日に"一人当たり15分"という話を聞き、「どこがライトニングなんや」って突っ込んでました。

感想

セキュリティ・ミニキャンプの後夜祭なのにネタが1ミリもセキュリティと関連しておらず、最初はこのネタで本当に大丈夫かという不安や、数日前から気管支がやられててちゃんと喋れるかという不安がありましたが終わってみると好評だったようでとてもよかったです。
完全に自分の趣味で始めたことですが今回のネタをもっと発展させていければと思っています。
また、今回他大学の学生の方や社会人の方の前でLTをさせていただくというのはとても貴重な体験でした。本当にありがとうございました。