英語学習

SVL単語集とCOBUILD 英英辞典を使った問題集を無料で作成する方法

長年、英語学習にはコツコツと地道に取り組んでおりまして、これまでは少しづつですが確実に英語力が伸びているという実感がありましたが、最近はその英語力が伸び悩んでいると感じています。

特に感じるのが、英会話における反応速度でして、当然、日本語で話している場合に比べれば反応が遅れてしまうのですが、この反応の遅さが、いくらトレーニングしても改善している気がしないのです。

英語を話す機会は週一の英会話スクールと仕事でたまに話すことがある程度なので、仕方ないと言えばそれまでなのですが、なんとかこの停滞感を打破すべく始めたのが今回ご紹介する英英辞典を使った問題集の活用です。

スポンサーリンク

頭の中で常に日本語変換してしまう・・

英会話で反応速度が遅くなる理由ですが、頭の中の思考プロセスで常に日本語を思い浮かべてしまっているのが原因だと良く言われています。

例えば、英語で質問をされたとしましょう。すると、頭の中では

「英語の質問を日本語に翻訳」 ⇒ 「回答を日本語で考える」 ⇒ 「英語に翻訳して回答」

という一連のプロセスが行われるわけで、一旦、日本語に変換しているため、レスポンスが遅れるのも当然の結果ですよね。

では、英語を日本語に翻訳することなく英語を英語のまま理解する、いわゆる英語脳を鍛えるにはどうしたらよいのでしょうか?

英語圏で生活するとか、英会話スクールに毎日通うとかして英語漬けの生活をしていけば、おのずと英語脳になるとは思いますが、金銭的、そして仕事や家庭の都合もあってなかなかそうもいきませんよね。

 

英語脳を無料で作る方法

ご存知の方も多いかもしれませんが、英語脳を鍛える方法として有名なのが英英辞典の活用です。

英英辞典は英単語の意味が英語で説明されている辞書のことです。実は私も英英辞典はいくつか持っているのですが、そもそも辞書を引く機会がほとんどないのが根本的な問題としてあります。

英英辞典は調べるために使うものではなく、読んで楽しむものだなんて言う方もいますが、さすがに辞書を読みものとして読むというのは正直きついですよね。だったら普通に洋書読みますよね(^^;

そういうわけで、どうやったら効果的に英英辞典を使えるかを考えた結果、英英辞典を辞書としてではなく、はたまた読み物としてでもなく、問題集として使うことを思い立った次第です。

ちなみに、この英英辞典を問題集化するというアイデアは私がオリジナルではなく、暗記支援ソフトのP-Study Systemを使った方法が最初ではないかと思います。

ただ、P-Study Systemの方法ではCOBUILD英英辞典に付属のCD-ROMが必要となるりまして、当時私がこの方法を知った時にはすでに絶版となっていて諦めたという経緯があります。中古で我慢するという手もありますけどね。

しかし、諦めることなかれ、今ではCOBUILDはオンライン化されて誰でも無償で利用できるようになり、それを利用して問題集化することも技術の進歩により簡単に行えるようになりました。(音声はありませんが・・)

そこで今回、オンライン化されたCOBUILDを使い、自力で英英辞典の問題集化にチャレンジした次第であります。

 

英英辞典の問題集化

ちなみに、英英辞典の問題集とは何ぞや?と疑問に思う人もいるかと思います。

例えば、問題文として

An _____ is a round fruit with smooth red, yellow, or green skin and firm white flesh.

というものがあり、apple という回答を導くような問題のことです。

最近では単語カードのような英単語を暗記するサポートをしてくれるスマホ用のアプリは色々とありますから、問題集化した英英辞典をスマホを使ってすき間時間にガンガン解いていくことで英語脳を鍛えようと考えています。

最初のうちは問題文を見た段階で、どうしても頭の中で日本語にしてしまうと思います。しかし、暗記カード形式で問題を繰り返し解いていくことで、英文質問を見た瞬間に英単語が思い浮かぶようになってくると思います。

前置きがかなり長くなりましたが、いよいよこの後は具体的に英英辞典の問題集化の方法を解説していきたいと思います。

 

問題集化の方法概略

問題集を作る方法は以下の5ステップになります。

一見、大変そうにみえますが、プログラムの知識は一切不要なのでパソコンがある程度扱える人ならさほどハードルは高くないと思います。

  1. Python(パイソン)環境の構築
    → インストーラーを使ってインストールするだけ。
  2. SVL単語リストの作成
    → 当ブログで公開しているスクリプトを実行するだけ。
  3. 問題集データの作成
    → 当ブログで公開しているスクリプトを実行するだけ。
  4. Anki用データの作成
    → 3で作ったデータをPC版のAnkiで変換するだけ。
  5. Ankiアプリでデータを読み込み
    → 4で作ったデータをスマホ版のAnkiで読み込むだけ。

必要なものはインターネットに接続されたWindowsパソコンだけです。MacやLinuxでもPython環境を構築すれば、スクリプト自体は動くと思います。

また、今回、問題集化する単語には、アルクのSVLを使うことにしました。

SVLは簡単に言うと、アルクが選んだ12,000個の重要英単語リストのことです。私はこのSVLをほぼ暗記しているのですが、この12,000語をマスターすれば、大抵の英字新聞や洋書はかなり楽に読めるようになります。(かなり前に暗記したのですでに忘れかけていますが・・)

最初から変換した問題集データを公開しろと言われてしまいそうですが、SVLについてもCobuildの英文も著作権の問題があって公開は難しいという判断でして、各自、自己責任で自作していただけますようお願いします。

作成してみる

それでは実際に作成してみたいと思います。

Python環境の構築

Python(パイソン)はプログラミング言語のひとつで、C言語などの他の言語に比べると少ない行数のコードで書けるのが特徴です。

まずはこのPythonを扱うための環境構築が必要となりますが、構築と言っても非常に簡単です。

以下のAnacondaのサイトから左下のボタン(Python 3.6 version)を押してインストーラーをダウンロードします。右下のボタンだとPythonのバージョンが2.7と古いので間違えないようにしてください。私がダウンロードした際はAnaconda3-4.4.0-Windows-x86_64.exeというファイル名でした。

■ DOWNLOAD ANACONDA DISTRIBUTION
https://www.continuum.io/downloads

 

続いてダウンロードした実行ファイル(Anaconda3-4.4.0-Windows-x86_64.exe)を実行してインストールを行います。基本的には指示に従って先に進むだけで何も考えることはないでしょう。

以上で環境構築は完了です。

 

SVL単語リストの作成

SVLの単語リストはインターネット上にCSV形式のものがアップされていますのでそれを拾ってきて自作するのも良いですが、単語の間違いや抜けがあったりするので微妙です。

そこで今回ですが、せっかくPython環境を構築しましたので、Pythonのスクリプトを使ってネットから情報を取得して自動で単語リストを生成したいと思います。

余談になりますが、単語情報の取得先についてもちょっと説明しておきます。

今回の情報取得先は、『2008年当時の』アルクの公式サイトです(笑)

実は以前はアルク公式サイトではSVLの単語リストがテキストベースで公開されていたため、簡単にコピペして二次利用が可能だったんですが、今ではそういった利用ができないような措置(画像化)が取られています。アルクはSVLの単語集を販売していますので、単語リストを2次利用されては書籍が売れなくなってしまうからでしょうね。

しかし、インターネットには過去のある時点のホームページを記録して保存しているWayback Machineという便利なサイトがあるんですね。

つまり、アルクがテキストベースでSVLリストを公開していた2008年当時のデータにアクセスすればよいということで、今回のスクリプトではそのサイトから情報を取得するようにしているわけです。

とはいえ、皆様はスクリプトを実行するだけで、このような裏事情は知る必要はないです(^^;

SVLリストは便利なCSV形式のものを公開されているサイトもありましたが、私が見た時には誤植があったので、(昔の)公式サイトから落とす方が確実だと思います。

ではまずは私が作りましたPythonスクリプトをダウンロードしてください。

https://gotcha-note.com/wp-content/uploads/python/svl_cobuild_20190616a.zip

2つのファイルをzipアーカイブしてありますので解凍してください。一つは上のSVLリストを作成するスクリプト(svl.py)。もう一つはCobuildのオンライン辞書にアクセスして問題集を作成するスクリプト(cobuild.py)です。

どちらもPython素人の私が作ったものなので、人にお見せできるようなコードではありませんがご了承ください。自由に改変して公開していただいて構いません。むしろ、より良い素敵なコードがあれば、アドバイスしていただけると助かります。

一応、お決まり事項ですが、このPythonスクリプトを利用して行う一切の行為、被った損害・損失等について、一切の責任を負いませんので、よろしくお願いいたします。

※後日追記(2018.2.16)
下のコメントにもあるとおり、いつの頃からかわかりませんが、SVLリストがうまく生成できなくなっており、結果、問題集スクリプトでエラーが出るようになっておりました。本日、修正スクリプトと差し替えましたので。古いスクリプトでうまくいかない方は新しいスクリプトをお試しください。

続いて左下のWindowsのメニューからAnaconda Promptを起動します。

 

起動すると以下のようなウィンドウが表示されます。Anacondaのインストール時に特に指定していなければ、Windowsのユーザーフォルダ(C:\Users\ユーザー名)が開くと思います。

 

ここで先ほどダウンロードしたPythonスクリプト(2種)を、このユーザーフォルダ(C:\Users\ユーザー名)にコピーします。

 

再びAnaconda Promptウィンドウに戻り、以下のコマンドを実行するとSVLリストの作成処理がスタートします。

> python get_svl.py

 

インターネットからダウンロードしてくるため、多少時間がかかりますが、それでも1分もかからないと思います。以下のように12個のファイルが生成されていることを確認できればOKです。

 

問題集データの作成

続いて問題集作成の作業になりますが、先ほどと同様にコマンドを入力するだけです。

但し、ここでは入力ファイル名、出力ファイル名、オプションの指定が必要になります。入力ファイル名には先ほど作成したSVLリストを指定します。

出力ファイル名は任意ですが、SVLのレベル名が分かるようにした方が良いでしょう。私はsvl_l01_Q.txtと最後に問題集であることがわかるようQをつけました。オプションはここでは‐mとしてください。

> python cobuild.py svl_l01.txt svl_l01_Q.txt -m

 

問題集の作成作業がスタートしますが、インターネット経由でCOBUILDのサイトにアクセスし、一語づつ、英英訳を調べている関係でかなり時間がかかります。1レベルあたり約1.5時間といったところでしょうか。

作成作業が終了すると、出力ファイルとして指定した名称の問題集ファイル(svl_l01_Q.txt)と問題集化に失敗した英単語リスト(svl_l01.txt_[NG].txt)の2つが作成されます。

 

COBUILDには登録されていないSVL英単語がありますので、そういった英単語は問題集化に失敗した英単語リストの方にまとめるようにしました。具体的にはquicklyやslowlyといった副詞が多いです。どうしてもSVLの12,000語すべてを問題集化したいという方は、手作業でCOBUILD以外の英英辞典でも使いながら作成してください。

今回のスクリプトで問題集化できる単語は12,000語のうち11,469語です。つまり、531個は問題集化できていないことになりますが、まぁ個人的には十分な数ではないかと思います。

あとは同様に、コマンドの数字の部分だけ変える形で、残り11ファイルも変換してあげれば終了です。全ての作業を行うには相当時間がかかるため、覚える気のあるレベルのものだけ変換すればよいと思います。複数並列して変換することも可能ですが、COBUILDのサーバー側に負荷がかかって迷惑になるのでやめましょう。

> python cobuild.py svl_l02.txt svl_l02_Q.txt -m

ちなみに、オプションを -f とすると、出力形式が変わりまして、例文も出力するようになります。自分でデータをいろいろいじりたいという方向けです。Excelで読み込む際は文字コードをUTF-8に指定しないと文字化けします。

 

Anki用データの作成

暗記ソフトとして有名なのが「Anki」です。PC版とスマホ版があります。

Android版は無償なのですが、なぜかiPhone版は3,000円とお高いので、iPhoneユーザーの方はPC版を使うか、他の外部データ取り込みが可能な暗記ソフトを使うのが良いかもしれません。問題集データはタブ区切りのCSVデータ形式にしているので、他のソフトでも取り込みは可能でしょう。

さて、今回はAndroid版の「Anki」に問題集を読み込んで使いたいと思いますが、Android版は直接CSVデータを読み込めない為、一旦、PC版の「Anki」を使って、問題集の形式をCSV形式からAnki形式に変換してあげる必要があります。

Ankiのサイトにアクセスしてインストーラーをダウンロードします。

https://apps.ankiweb.net/

 

私がダウンロードした時点のファイル名はanki-2.0.44.exeでした。バージョンは2.0.44ですね。

このファイルを実行してPCにAnkiをインストールします。

Ankiを起動してみます。

 

下の「単語帳を作成」ボタンを押して、単語帳名に適当な名前を付けます。私は「SVL_Level01」としました。

 

すると新たな単語帳として登録されます。

 

続いて右下の「ファイルを読み込み」ボタンを押してから、取り込みたい問題集データを選んで「開く」ボタンを押します。上の説明通りに作成している場合なら「svl_l01_Q.txt」になります。ファイルがたくさんあって紛らわしいかもしれませんので注意してください。

 

続いて読み込みオプションのウィンドウが開きますので、単語帳として先ほど新たに作成した単語帳を選択したうえで、下の「読み込む」ボタンを押します。

 

読み込みが完了すると以下のウィンドウが表示されます。エラー等があればここに情報が表示されます。一応説明しておくと、例えば、以下では「You use ___ to ~ は二回ファイルに出てきました」とあります。これはSVL単語のtheyとthemが英英訳がCobuildでは同一であるがための問題です。登録されたノート数が993個と1000個に満たないのは、前述の通り、Cobuildに登録されていない単語が除外されているためです。

 

パソコン上で暗記を行うならこの時点で学習が可能ですが、今回はスマホで利用したいので、データをAnki形式に変換したうえでスマホに移行する必要があります。

単語帳の右のアイコンをクリックして『書き出す』を選びます。(後から気づいたのですが、書き出しの前にオプションを選び、順番を「新規カードを無造作に・・」を選んだ方が良いでしょう。出題がランダムになります。もちろんスマホに移行してからも変更可能。)

 

ファイル形式にAnki単語帳パッケージ、対象は先ほど読み込んだ単語帳名を指定して、下の書き出すボタンを押します。書き出し場所は自由に選べるので適当なフォルダを選択しましょう。

 

私はユーザーフォルダに書き出してみました。

 

Ankiアプリでデータを読み込み

最後はスマホ版のAnkiへの読み込みです。ここが意外とハードル高いかもしれません。

まずはGoogleプレイストアからAnkidroidをインストールします。

続いてパソコンにある問題集データ(*.apkg)をスマホ側のAnkiフォルダ("/storage/emulated/0/AnkiDroid")にコピーしてください。Dropbox経由、メール添付、PCにUSBでスマホを繋いでコピー等々、やり方は人それぞれだと思いますので、割愛させていただきます。

Ankdroidを起動します。

 

右上のボタンからメニューを出して、中から「インポート」を選びます。

 

後は指示に従って先に進めば取り込みが完了します。

 

これで学習が可能となりますが、最初に出題順をランダム設定にしていないとアルファベット順に問題が出題されてしまいますので、先ほど処置をしていない方はスマホ上で設定を行いましょう。

やり方は、単語帳を開いた状態で右上のメニューボタン→「デッキオプション」→「新規カードと基本学習」→「順序」→「新規カードを無造作に選んで表示する」を選択。

 

一度、トップの問題集選択に戻ってからサイド問題集を選択すれば、出題順がランダムになっているはずです。これで完成です。必要に応じて他のレベルも同じやり方でインポートしましょう。

 

最後に

いかがでしたでしょうか?

学生時代と異なり、まとまった学習時間がなかなか取れなくなりましたが、スマホを使えば、いつでもどこでも空いた時間に学習できるので非常に便利だと思います。良い時代になりました。

皆様もぜひ、この問題集を利用して英語脳を鍛えてみてください。

かなり駆け足気味で書いたので、分かりづらい点が多々あると思いますので、合間を見て加筆修正していこうと思います。まぁ、アクセスや反響があればですが・・(^^;

-英語学習