Pythonで遊ぼう!英字新聞の難解度検証
僕がMBA受験をしていた当時から、英字新聞は英文読解力向上によい、という言説があった。当時、自分も仕事の関係でかなりの英文を読んでいたので、大量に英文を読むというのが英語力向上に寄与する感覚は確かにあったのだが、英字新聞に関しては難しいものも多く、教材として考えるのに適切なのかは多少疑問があった。 疑問ならば分析すればいいじゃない、という声が聞こえてきたので、Pythonで遊びがてら、分析してみることにする。尚、統計的に全く有意でない、所謂Spot Check的な分析なので、参考程度にお考え願いたい。また、Codeも書き散らし気味なので、有識者の皆様におかれては是非コメント欄でご指摘願いたい。 さて、まずは準備である。大きくくくって、必要なFunctionalityは二つ。一つはニュース記事をデータとして一括して収集できること、そして、もう一つはそのニュース記事の難易度を言語学的に判断することである。前者について、僕はスクレイピングは余り経験がないのでどうしようか少し調べたところ、newspaper、というドンピシャなパッケージがPythonであることを発見した(詳細のリンクは こちら )。詳細についての検証はしていないが、いくつかためしに動かしてみて、手作業との違いを確認したところ、かなりいい感じに動いているので、こちらを使うことにする。後者については、textstatというProjectがあり、これまたこういう分析をしようとした場合に定番のようであるので、これを採用する(詳細へのリンクは こちら )。Pythonが素晴らしい点の一つは、言語の使用者が多いため、こういったパッケージが大量に用意されていることにある。 さて、用意ができたらとりあえずCodeを書き始める。パッケージのおかげで特にデザインをする必要すらないので、パッケージのインポート -> ニュース記事の分析 -> アウトプットをCSVで作成、という手順だけざくっと決めて書き始める。尚、実装はJupyter Notebookでやった。 まずパッケージのインストールが必要だ。newspaperとtextstatはないようだったので、pipを使ってインストールした。 pip install newspaper pip install textstat では早速使うものについてインポートしていこう...