📛

学んだことについて書きます

英単語学習にはkindleとGoogle Apps Scriptが最強だという話[概要編]

はじめに

こんにちは!!

2018年からは心を入れ替え、本格的に英語学習を始めた人も多いのではないでしょうか。 かくなる自分もその一人で、今年はTOEIC900点を目標に頑張っていきたいと考えています。

英語勉強の中でも一番つらいのが単語の記憶だと思います。単語帳を片手に覚えはじめても、最初のうちはいいのですが、モチベーションを保ちながら勉強し続けるのは難しいですね。 ある程度語彙力がついてきたら、洋書を読みながらわからない単語を覚えるのも一つの方法です。でも、知らない単語を調べて、メモして、定期的に復習して、ということを継続的に行うことも大変ですね。 洋書を読んでいるときは読むことに集中したいし、かといってマーキングしたところをあとでまとめて調べるのも面倒くさい。

しかし!kindleGoogle Apps Scriptなら!そんな英単語学習の難点を一挙に解決できるのです!!

kindleとは?

kindleとは、一般的にはAmazonの出す電子書籍リーダーのことを言いますが、電子書籍アプリでもあります。kindleは単に電子書籍を読むだけではなく、気になるところにマークをしたり、分からない単語の意味をワンタップで調べたり、簡単な動作で目次から他のページにジャンプしたりできます。

今回特に重要となるのが、マークした場所をエクスポートできる機能。実際に電子書籍を読んでいるとき、分からない単語をマークしておき、それをGmailのアドレスに送信することで、Google Apps Scriptで処理することができるのです。

f:id:tofu_on_fire:20180105170931p:plain
kindle for Mac.マークした単語をメールで送信できる

Google Apps Scriptとは?

Google Apps Script(以下、GAS)とは、Googleが提供するサーバーサイド・スクリプト環境のことです。GASを用いることによって、Googleが提供するサービスの一部を自動化したり、複数のサービスを連携させたりできます。よくある使い方としては、Excelでいうマクロのような機能をスプレッドシートに実装したり、Google フォームのアンケート結果に基づいてメールを送信したりする、といったものがあります。今回はKindleから送られてきたメールをもとに、単語を抽出し、スクレイピングをし、スプレッドシートに単語作成する、という一連の動作を自動化します。 GASの良いところの一つは、定期的にスクリプトを実行することができる点です。これにより、自らサーバを立てることなく、定期実行のスケジューリングを行うことができるのです。

アプリの目標とメリット

今回作ったアプリの目標は、単語リストをつくることです。kindleで読んだ書籍のわからない単語を、なるべく少ない労力で図のようなリストにまとめることがゴールです。

f:id:tofu_on_fire:20180105141053p:plain
まとめた単語リスト

なぜわからない単語をスプレッドシートにまとめる必要があるのか。大きく分けて2つのメリットがあると考えています。

1. それ自体が単語帳になる

スプレッドシートはそれ自体が、柔軟な使い方ができる単語帳になります。例えば、アルファベット順にならべることで辞書として活用できます。この場合、同じ本には同じ単語が出てくることが多いので、普通の辞書と比べて効率的に使用することができます。さらに、覚えていない単語だけにチェックマークを入れて、フィルタリングをすることで、今覚えていない単語の一覧のみを表示したり、といった使い方も可能です。本人の工夫次第で様々な使い方ができるので、非常に便利ですね。

GASは簡単なウェブアプリケーションも作ることができるので、スプレッドシートの内容をもとに英単語テストを作ることもできます。自分は外部の暗記アプリを使用するのでテストを作っていませんが、その場合はテスト作成も自動化できそうです。

2. 暗記アプリとの親和性が高い

優秀な暗記アプリはcsv形式での一括インポートをサポートしていることが多いです。スプレッドシートcsv形式でも出力できるため、スプレッドシートにまとめることで、暗記アプリに一括登録することができるのです。 自分はquizletというアプリを使用しています。あと有名所ではAnkiなどでしょうか。今までだと、こうしたアプリに登録する場合は、一語一語手動で登録していたのですが、それを一気に登録できてしまうのです!

quizlet.com

Anki - powerful, intelligent flashcards

処理の流れ

処理の流れとしては以下のような感じ。①以外の処理はすべて自動で行ってくれます。①は数百単語まとめて送信することができるので、この動作を行うことはほとんどありません。手動だと単語ごとにこれらの動作を行う必要があるので、作業時間がグッと短縮されますね!

f:id:tofu_on_fire:20180106072320p:plain
アプリの処理手順。①以外はすべて自動で行なえます。

実は、これらの作業はGASを使用しなくてもできてしまいます。それでもGASを使用した理由は、GASが定期実行をサポートしていることです。通常だとプログラムを定期実行させようとすると、何らかのサーバーを用意してやらないといけません。GASを使用することで、コストや手間を掛けることなく、定期実行プログラムを動作させることができます。便利ですね。

最後に

とりあえず今回は作ったアプリの概要と紹介をしました。次回、具体的な使い方を紹介していきたいと思います。 ではでは〜