【速報】2022共通テスト英語で各単語帳の的中率をプログラミングで検証してみた【ターゲット】【システム英単語】【鉄壁】【単語王】【LEAP英単語】【オプティマ】
の文章版になります。
今回やりたいこと
今回やりたいことはタイトルの通り、
をプログラミングの配列機能を使って調べる企画になります。
今回使用する単語帳は二次試験向けの有名どころ6冊として、
ターゲット1900
システム英単語
鉄壁
単語王2202
LEAP英単語
オプティマ英単語
を用意しました。
長くなるので、結果だけ見たい人は目次から飛んでください。
配列とは
配列について、詳しくは以前の検証記事でも解説をしているので、そちらをご覧ください。
どうも、がこないのクボタです。皆さんは英単語帳、何を使っていますか?現在は昔に比べて、ありとあらゆるジャンルの単語帳が書店に並んでますね。ちなみに私は高校時代はターゲット1900と熟語帳のターゲット1 ...
ターゲット1900と1400の収録単語をプログラミングの配列で徹底比較! 〜大学入試の定番単語帳〜
fruitsという名前(変数)の箱の中に、「りんご(0番目)」「みかん(1番目)」「オレンジ(2番目)」がこの順番で入っている
ことになります。ちなみに順番は1番目、2番目、3番目となるんですが、プログラミングの世界ではこれを0番目、1番目、2番目と数えます。まあこの辺の説明は重要ではないので流します。 ではこんな感じの配列に、ターゲット1900の中身の単語を全て入れてみましょう。 全て手で入力しました。コピペできないって辛い。 著作権の関係上、全ての単語を見せることはできませんが、ずらっと並べてみると壮観です。
以上になりますが、これはPHPの書き方なので、今回使用するPythonでは、
//ターゲット1900の配列
target1900 = [
'cereate',
'increase',
'improve',
'mean',
//以下省略
]
こんな感じの書き方になります。 実際はこれを今回使用する6冊分、全て配列で用意したと考えてください。
問題文には自然言語処理
この配列だけでも、各単語帳同士の比較はできます。
しかし今回は対象の問題文を用意して、それと各配列を照らし合わせる作業が必要なので、問題文も全て配列に入れる必要が出てきます。
そのような時に便利なのが自然言語処理です。
プログラミング言語のPythonには、外部ライブラリとして自然言語処理を扱うものが多数用意されていますので、今回はその中で私が一番使い慣れているSpacyを使用します。
自然言語処理をする理由や大まかな流れは、以前の私の検証記事でも触れているのでそちらをご覧ください。
-
【東京大学英語】ターゲット1900の的中単語全リスト【2021〜2022】【プログラミング】
東京大学2021〜2022年度の英語に、ターゲット1900収録単語は何個出てきたのか?
該当箇所を引用すると、
実際のコードを詳しく解説すると長くなるので大まかな図で説明します。 まず実際の問題をPDFで用意し、それを一旦グーグルドライブに入れます。
このあとグーグルドライブ上でファイルを開くと、PDFの中の文字が文字認識され、抽出 (つまりコピペ可能な状態)できるようになります。
一旦テキストファイルに全ての文字をコピー、ペーストします。
PDFからの文字認識機能は精度もまだ完璧ではなく、例えば問題の選択肢に出てくる余分な文字、記号、番号、また、ページ部分の番号なども拾ってしまうため、Python上でそれらの不要な部分は取り除く処理をします。
また、後から単語帳と照らし合わせる作業の際、大文字と小文字は別として扱われます。
つまり、例えば"have"と"Have"は違う単語扱いされてしまうので、各文頭の大文字は小文字化させます。
ここまでが下地処理。 (この状態だと「私は」を表す"I"も小文字化されるので、後からそれだけ大文字化させます。その他国名や人物名も小文字化されますが、私のプログラミングのレベルではそれらだけを上手く大文字化させられないのと、単語帳の中の単語には出てこないものがほとんどなので、今回はそれらの不備な点は無視します。)
自然言語処理ライブラリで下地処理
ここから自然言語ライブラリのSpacyを使用します。先ほど下地処理された本文をSpacyに読み込ませることで、全ての単語がバラバラで配列に入れられます。
しかしこの状態では、三単元のsや過去形、過去分詞形、不規則変化や複数形などは全て違う単語に見えてしまいます。
例えば、後から出てくる単語帳の中に"create"があったとして、本文中の"created"のような過去形は一致したとみなされません。
そこで自然言語処理として、これらの単語を全て元の見出し語に戻す処理をかけます。(これをlemmatizationと言います)
図にあるように例を挙げると"He has two cameras."という文は、そのまま配列に入れるだけでは"he"、"has"、"two"、"cameras"となってしまうのですが、見出し語処理をすることによって"he"、"have"、"two"、"camera"となり、後から単語帳との照らし合わせができるようになります。
実際の検証結果
ここから実際の検証に入ります。 動画では実際のリストは簡易表示しかしませんでしたが、この記事では全て表示します。 ただし何百行をあるリストは、人によってはスクロールの邪魔でしかありません。 よって中身は袋とじ状態にしておくので、見たい人だけクリックして見てください。
ターゲット1900の検証結果
それではテンポよく発表していきます。
ターゲット1900の検証結果は、、、
になります。
216/1900なので四捨五入して、的中率は、、、
になりました!
前年から0.3%の微増となりました!
ターゲット1900的中単語リスト
以下が的中させた全216単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
システム英単語の検証結果
システム英単語の検証結果は、、、
になります。
229/2027なので四捨五入して、的中率は、、、
になりました!
前年から0.5%の微増となりました!
システム英単語的中単語リスト
以下が的中させた全229単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
鉄壁の検証結果
鉄壁の検証結果は、、、
になります。
240/1982なので四捨五入して、的中率は、、、
になりました!
前年から0.3%の微減となりました!
鉄壁的中単語リスト
以下が的中させた全240単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
単語王2202の検証結果
単語王2202の検証結果は、、、
になります。
311/2202なので四捨五入して、的中率は、、、
になりました!
前年と全く同じ的中率となりました!
単語王2202的中単語リスト
以下が的中させた全311単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
LEAP英単語の検証結果
LEAP英単語の検証結果は、、、
になります。
292/1935なので四捨五入して、的中率は、、、
になりました!
前年から0.3%の微増となりました!
LEAP英単語的中単語リスト
以下が的中させた全292単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
オプティマ2000の検証結果
オプティマ2000の検証結果は、、、
になります。
230/2000なので四捨五入して、的中率は、、、
になりました!
前年から0.5%の微増となりました!
オプティマ2000的中単語リスト
以下が的中させた全230単語になります。 意味まで載せるとかなりの手間なのと、著作権的に怖いので、知らない単語だけ各自調べてください。
補足
最後に動画内でも説明した補足を貼っておきます。
また、その後の検証で他の単語帳も共通テストのカバー率を調べています。 それがメインの記事ではありませんが、途中で触れているので参考にしてください。-
Stock4500とターゲット・システム英単語・LEAP英単語の比較【リクエスト回】
Stock4500の特徴を、プログラミングの観点から他の単語帳との比較してアドバイス!
-
武田塾の逆転英単語2000を徹底レビュー・他の単語帳との被りや共通テストカバー率など【リクエスト回】【ターゲット】【システム英単語】【LEAP】
逆転英単語2000の特徴を、プログラミングの観点から他の単語帳との比較してアドバイス!
-
DUO3.0レビュー・主要単語帳3冊とプログラミングの配列で比較検証してみた【ターゲット1900】【システム英単語】【LEAP】【共通テストカバー率】
DUO3.0の特徴を、プログラミングの観点から他の単語帳との比較してアドバイス!
-
速読英単語必修編レビュー→上級編と繋げるメリットをプログラミングの検証から説明する【ターゲット】【システム英単語】【LEAP】
速読英単語をやるなら必修編→上級編と進むべき理由を、プログラミングの観点から主張。単語帳自体のレビューも掘り下げました。
-
ALL IN ONE徹底レビュー1・単語編・DUO3.0他との被りや問題カバー率をプログラミングで徹底検証【ターゲット】【LEAP】
ALL IN ONEのレビューや比較をプログラミングの観点から2回に分けて検証。今回は前半の単語編です。DUO3.0含む主要単語帳との比較やテストにおけるカバー率も検証しました。
まあ簡単にいうと、基礎単語が多いほど的中率は高くなる傾向があるということですね。
次回、続きの企画として、この6冊の単語帳のみが独自で当てた単語をそれぞれ割り出したいと思います。
それではまた!
なお今回の記事の動画版はこちらになります!