トップページ -> 大学入試共通テストの英単語出現回数を調べる (自然言語処理ライブラリ使用版)

大学入試共通テストの英単語出現回数を調べる (自然言語処理ライブラリ使用版)

更新日: 2024年12月13日 (金)

前回は粗い方法で大学入試共通テスト(センター試験)における単語の出現回数を集計しました.
粗い方法では単数形と複数形が別の単語としてカウントされてしまう 動詞の時制が違うと別の単語としてカウントされてしまう などの問題点がありました. 今回はPythonの自然言語処理ライブラリspaCyを利用してもう少しスマートに出現回数を集計してみたいと思います. 前回と同様に2004年から2023年に出題された20年分の大学入試共通テスト(センター試験)における英単語の出現頻度を調べます.
使用したコードの一部はこちら
単語出現回数カウントのサンプルはこちら→単語出現回数カウンター

  1. 単語のカウント方法について
  2. spaCyについて
  3. 出現した単語数
  4. 出現回数の多い単語たち
  5. 出現回数の分布
  6. 出現した大問のカウント
  7. 単語との遭遇確率
  8. 覚えた単語の数と文章の理解度の関係
  9. 大学入試共通テスト対策で覚えるべき単語数

単語のカウント方法について

前回は以下のような集計方法でした.

今回は自然言語処理を用いることで さらに,地名・人名などの固有名詞に関しては英和辞典と突き合わせ載っていないものを除去します.

spaCyについて

自然言語処理spaCyを利用することで与えられた文章の中に対して(1)文中での単語の品詞は何かタグ付けをする (2)単語の原形は何か を判定することができます. また,記号や余分な句読点,所有語尾('s) などもタグ付けされるためこれを利用して記号などのいらない単語を削除します. 具体的には括弧,句読点,ハイフンなどの記号 単体では意味をなさない所有語尾,誤字などで分類できなかった単語を削除します.
spaCyについてはこちら→spaCy
コードの例はこちら→Natural Language Processing With spaCy in Python
利用できるタグの一覧はこちら→List spaCy Tags

出現した単語数

前回やった自然言語処理を利用しない粗い集計では出現した単語数は5053単語でした. 自然言語処理を利用して原形に直して集計すると人名・地名を含まない場合で3152単語,含む場合で3711単語でした. 原形に直さずに集計した場合でも短縮形や記号の誤集計,人名・地名が減ったのか4292単語でした. 本質的な単語数が3152語なら覚える気も起きますね(?)

出現回数の多い単語たち

今回も出現回数の多かった単語を表にまとめます. 今回は品詞別に集計することができたので,名詞 動詞 形容詞 助動詞 前置詞 副詞のランキングをそれぞれ表示してみます.

名詞の出現頻度

計1822種類の名詞が登場しました. タグはNN,NNP,NNS,NNPSです. 以下が名詞の出現頻度上位100単語の表です.
順位単語出現回数
1位people170回
2位time144回
3位year85回
4位student85回
5位day75回
6位way64回
7位country57回
8位thing53回
9位example53回
10位group50回
11位world45回
12位japan44回
13位school44回
14位something43回
15位state42回
16位friend41回
17位food38回
18位life37回
19位part36回
20位area36回
21位study36回
22位type35回
23位player34回
24位number33回
25位idea33回
26位music32回
27位lot30回
28位town30回
29位work29回
30位story29回
31位place29回
32位machine29回
33位system29回
34位adult29回
35位car28回
36位product27回
37位word27回
38位us26回
39位family25回
40位percent25回
41位information25回
42位movie25回
43位researcher25回
44位dictionary24回
45位route24回
46位culture23回
47位problem23回
48位amount23回
49位drink23回
50位city23回
51位today23回
52位teacher23回
53位line22回
54位water22回
55位father22回
56位health22回
57位dance22回
58位hour21回
59位class21回
60位room21回
61位hand21回
62位eye21回
63位university21回
64位man21回
65位orange21回
66位john21回
67位morning20回
68位kind20回
69位reason20回
70位child20回
71位garden20回
72位friendship20回
73位week19回
74位other19回
75位money19回
76位color19回
77位job19回
78位planet19回
79位painting19回
80位fact18回
81位month18回
82位change18回
83位ball18回
84位game18回
85位art18回
86位result18回
87位technology18回
88位society18回
89位science18回
90位research17回
91位side17回
92位activity17回
93位sport17回
94位sugar17回
95位variety17回
96位body17回
97位opera17回
98位percentage16回
99位trip16回
100位member16回

動詞の出現頻度

計689種類の動詞が登場しました. タグはVB,VBG,VBN,VBP,VBZです.
順位単語出現回数
1位be1473回
2位have502回
3位do238回
4位make104回
5位think98回
6位see90回
7位say86回
8位get83回
9位use82回
10位take81回
11位look79回
12位go75回
13位find71回
14位know66回
15位come65回
16位want56回
17位start52回
18位work49回
19位help49回
20位show47回
21位feel44回
22位become44回
23位give40回
24位move36回
25位spend35回
26位ask33回
27位live33回
28位let32回
29位like32回
30位tell32回
31位develop31回
32位change30回
33位understand30回
34位seem29回
35位need29回
36位learn29回
37位call27回
38位study27回
39位continue26回
40位enjoy25回
41位begin25回
42位put24回
43位talk24回
44位pay23回
45位try22回
46位include21回
47位mean21回
48位leave21回
49位play21回
50位sit20回
51位believe20回
52位turn20回
53位eat20回
54位paint20回
55位lead19回
56位choose19回
57位grow19回
58位consider19回
59位offer18回
60位meet18回
61位keep18回
62位happen17回
63位increase17回
64位sell17回
65位decide16回
66位listen16回
67位provide16回
68位hear16回
69位stop16回
70位watch16回
71位appear16回
72位create16回
73位follow15回
74位cause15回
75位vend15回
76位read15回
77位collect15回
78位love15回
79位perform15回
80位explain14回
81位buy14回
82位lose13回
83位throw13回
84位allow13回
85位improve13回
86位remember12回
87位miss12回
88位agree12回
89位produce12回
90位travel11回
91位notice11回
92位realize11回
93位win11回
94位pick11回
95位share11回
96位walk11回
97位hold11回
98位stay11回
99位mention11回
100位catch11回

形容詞の出現頻度

計638種類の形容詞が登場しました. タグはAFX,JJ,JJR,JJSです.
順位単語出現回数
1位other88回
2位good76回
3位many68回
4位more63回
5位high57回
6位new57回
7位different51回
8位such45回
9位old38回
10位same35回
11位first34回
12位small33回
13位great33回
14位important32回
15位young30回
16位little26回
17位most25回
18位large25回
19位few24回
20位long23回
21位able23回
22位japanese22回
23位last22回
24位big22回
25位own21回
26位various21回
27位much20回
28位low20回
29位right19回
30位natural19回
31位possible19回
32位well18回
33位next18回
34位fresh18回
35位early17回
36位easy16回
37位several14回
38位common14回
39位popular14回
40位close13回
41位similar13回
42位happy13回
43位safe13回
44位cultural13回
45位second12回
46位short12回
47位particular12回
48位human12回
49位electronic12回
50位interesting11回
51位main11回
52位sure11回
53位special11回
54位difficult11回
55位strong11回
56位bilingual11回
57位local11回
58位hard10回
59位unique10回
60位final10回
61位bad10回
62位wide10回
63位famous10回
64位english10回
65位physical10回
66位third9回
67位least9回
68位less9回
69位clear9回
70位late9回
71位sticky9回
72位economic8回
73位major8回
74位amazing8回
75位white8回
76位strange8回
77位wonderful8回
78位nice8回
79位available8回
80位professional8回
81位hot8回
82位modern8回
83位successful8回
84位sharp8回
85位only7回
86位true7回
87位beautiful7回
88位foreign7回
89位familiar7回
90位surprised7回
91位green7回
92位interested7回
93位original7回
94位medical7回
95位useful7回
96位recent7回
97位certain7回
98位artificial7回
99位enough6回
100位average6回

副詞の出現頻度

計265種類の副詞が登場しました. タグはRB, RBS, RBR, WRBです.
順位単語出現回数
1位not303回
2位when139回
3位so119回
4位how76回
5位also73回
6位however62回
7位only56回
8位just56回
9位then54回
10位even48回
11位more46回
12位now46回
13位often42回
14位really40回
15位very39回
16位too38回
17位well35回
18位always33回
19位back33回
20位as32回
21位still32回
22位why30回
23位where29回
24位never28回
25位most26回
26位here26回
27位sometimes23回
28位there21回
29位much19回
30位about18回
31位actually18回
32位first18回
33位far17回
34位long17回
35位later16回
36位almost15回
37位all15回
38位especially15回
39位together14回
40位perhaps14回
41位again14回
42位usually13回
43位away13回
44位rather12回
45位finally12回
46位ever12回
47位ago12回
48位soon12回
49位home11回
50位quickly11回
51位maybe10回
52位around10回
53位therefore10回
54位before9回
55位suddenly9回
56位hard8回
57位though8回
58位clearly8回
59位quite8回
60位anyway8回
61位probably8回
62位early8回
63位recently8回
64位easily8回
65位once8回
66位next7回
67位fast7回
68位below7回
69位completely7回
70位simply7回
71位already7回
72位exactly7回
73位mostly7回
74位relatively6回
75位thus6回
76位approximately6回
77位truly6回
78位enough5回
79位at5回
80位alone5回
81位extremely5回
82位slowly5回
83位above5回
84位furthermore5回
85位safely5回
86位anywhere5回
87位increasingly5回
88位highly5回
89位gradually5回
90位particularly5回
91位slightly5回
92位eventually5回
93位currently5回
94位in4回
95位least4回
96位less4回
97位over4回
98位no4回
99位close4回
100位ahead4回

前置詞の出現頻度

計67種類の前置詞が登場しました. タグはINです.
順位単語出現回数
1位of903回
2位in736回
3位for368回
4位to365回
5位that240回
6位with221回
7位on212回
8位as202回
9位at175回
10位from157回
11位by133回
12位about113回
13位if71回
14位like68回
15位than63回
16位into58回
17位because54回
18位after44回
19位while42回
20位over37回
21位around32回
22位before25回
23位among24回
24位through22回
25位since20回
26位without20回
27位although19回
28位until19回
29位between19回
30位so17回
31位during16回
32位out14回
33位though13回
34位whether13回
35位behind11回
36位toward9回
37位under8回
38位within8回
39位throughout8回
40位per7回
41位once7回
42位off6回
43位across6回
44位near6回
45位due6回
46位beyond5回
47位onto5回
48位up4回
49位despite4回
50位above4回
51位beside4回
52位inside4回
53位down3回
54位unlike3回
55位opposite2回
56位along2回
57位against2回
58位outside2回
59位except2回
60位whereas2回
61位but1回
62位next1回
63位below1回
64位via1回
65位alongside1回
66位re1回
67位besides1回

誤集計と思われるものがいくつか入っていますが,概ねよく分類できていると思います. 分類が怪しい単語の確認ができるように単語をクリックすることでいくつかの例文が表示されるようにしておきました.
※ 例文の日本語訳には機械翻訳を使っているため誤りがある場合があります.また,文字起こしの際に誤って文章を起こしていることがあります.

出現回数の分布

出現回数の分布については粗い集計をしときとほとんど変化はありませんでした. 出現頻度上位200位までの単語の出現回数をグラフにしたのが以下のグラフです. 単語の出現頻度は指数関数的に減少するようです.

出現頻度のグラフ(原形)
出現回数が20回以上の単語は262,10回以上の単語は553,5回以上の単語は1039単語でした.

出現した大問のカウント

一度出現した単語は同じ文中に複数回出現することが考えられます. 前回は単語が出現した年を数えましたが,今回は単語が出現した大問の数を数えます. 単語が出現した大問の数を調べたのが以下のグラフです. 大問別で集計してみたところ半数近くの単語が1つの大問でしか出現していないことが分かりました.

出現頻度のグラフ(年度別)

単語との遭遇確率

今回,記号などを取り除いてカウントされた単語の語数は35342語でした. 1回の試験で2000語の英文を読むとすると,出現回数がn回の単語と遭遇する確率は 1-(1-(n/35342))**2000 です. 遭遇確率は粗い集計をしたときとほとんど変わらず. 出現数30回以上の頻繁に出現する単語との遭遇確率は約82%,20回で約68%,10回で約43%でした. 出現頻度の少ないほうでは1, 2, 3, 4回でそれぞれ約 5, 10, 15, 20%となります.

覚えた単語の数と文章の理解度の関係

前回と同様に出現頻度の多い単語から順番に覚えていく場合にどの程度 英文が読めるようになるかを考えます. 文中に占める知っている単語の割合を文章の理解率として考えます. 1単語ずつ読んでいった場合,その単語を知っている確率と暗記している単語の数のグラフが以下です. 原形に直して本質的な見出し語に絞っていることもあって600語知っていればほぼ8割は分かるようです. move の意味が分かって moved の意味が分からない人の方が少ないと思いますので,こちらの方が実情に近いと考えられます. 原形と元の形を一緒に描画してありますが,単語を知っている確率を90%にしたいときに要求される単語数を比べると見出し語だけなら1100語に対して 全ての形を別の単語として捉えると1700語も要求されるので粗い集計のときよりも覚えやすそうな語数になっています.

暗記した単語数と単語を知っている確率のグラフ
これを踏まえて理解率90%,95%,98%を目指すのに必要な単語数が以下のグラフから分かります. それぞれX軸が覚えている単語数,Y軸が2000語の長文を読んだときに理解度90%,95%,98%を達成することができる確率です.

90%の理解度を達成するためにはだいたい1200語程度必要なようです. 粗い集計のときには2100語必要だったので900語少なくなっています. 10語に1回知らない単語に遭遇するペースです.
暗記した単語数と理解度90%を達成できる確率

95%の理解度を達成するためにはだいたい1800語程度必要なようです. 粗い集計のときには3500語必要だったので1700語少なくなっています. 20語に1回知らない単語に遭遇するペースです.
暗記した単語数と理解度95%を達成できる確率

98%の理解度を達成するためにはだいたい2700語程度必要なようです. 粗い集計のときには4500語必要だったので1800語少なくなっています. 50語に1回知らない単語が出てくる程度ならそこそこ読めてるんじゃないでしょうか(?)
暗記した単語数と理解度98%を達成できる確率

想像していた単語数より少なかったです. 2700語なら十分に学習が間に合いそうな単語数に感じます. さらにここから以下で紹介する中学レベルの英単語を除外していくと高校生が新たに学習する必要のある単語数が見えてきます.

大学入試共通テスト対策で覚えるべき単語数

98%の理解度を達成するには見出し語で2700語必要でした. しかし,ここから高校生が既に知っているであろう中学卒業レベルの単語を取り除くことができます.
中学生【英単語】一覧|学習指導要領の全2286単語を完全網羅!で紹介されている中学卒業レベルの2286単語を取り除きます. 1331語の中学卒業レベルの単語が見つかったのでこれをすでに知っているものとして扱います. 中学レベルの単語を知っているだけで既に大学入試共通テストに出現する単語のうち86%は網羅できているようです.

暗記した単語数と単語を知っている確率のグラフ(2)
また,90%, 95%, 98%の理解度を達成するにはそれぞれ200語,700語,1500語程度を新たに覚える必要がありました. 大問1つ700語の文中で14個分からない単語がある程度なら問題なさそうなので1500語程度を学習しておけば単語力に関しては全く問題がなさそうです(?). 1500単語というと旺文社の単語帳ターゲットシリーズがこれに近い数字なので説得力がありそうに感じます(?)
暗記した単語数と理解度N%を達成できる確率

おわりに

今回は大学入試共通テストにおける単語の出現頻度と必要な単語数について考えてみました. 二次試験のデータも使って出現した回数を集計すれば簡単な単語帳も作れそうな気もします. 出現頻度の検索はこちらでできるようにしておきましたので興味があったらご覧ください. 今後は二次試験に関しても分析してみたいと思います.

追記

大学受験に必要な英単語数を調べてみたにて二次試験の長文に関しても調べてみました.

【重要】サーバー移転のお知らせ: 詳細はこちら