見出し画像

今年こそはじめたい生成AIを使ったTOEIC学習法を解説してみた

IT未経験で生成AIを使用してTOEIC勉強法をやってみた


こんにちは、株式会社SHIFT 製造ソリューションサービス部のライターNと申します!

このブログは、IT未経験の私が生成AIを使って実際に取り組んでみたTOEICの勉強法について掲載します。もちろんその他の勉強にも役立つこと間違いなしです! 活用法は無限大だなと改めて思いました。

もっと効率的な方法は目下模索中ですので、心当たりがあればご教示ください。


はじめに


まず、なぜこの勉強法を使うことにしたのかという背景を簡単にご説明いたします。

私は根っからの面倒くさがりです。常に楽ができる方法を考えています。
そんな折、社内資格のために生成AIを勉強する機会がありました。

生成AIとは一口で言ってもよくわかりません。
「有名なのはChat-GPTだよね、最近Geminiとかも出てきたっけ?」なレベルです。完全AI初心者です。お恥ずかしい話ですが、IT企業に勤める私ですがそもそもIT未経験で弊社に入社しています。そのため現在は木の棒一本を片手に冒険をしているレベル1の冒険者です。

そんなIT未経験のレベル1の冒険者の私、生成AIについて学ぶうちに一つのことを思いつきます。

生成AIを使ったら、もっと楽に英語学習できるんじゃない?

正直に申し上げますと「プロンプトってなんなんだ…」という段階から毛が生えたような人間の思い付きから勉強法を生み出している状態です。正しい勉強法よりも、使って改定してブラッシュアップをかけていっている段階ですので、これを読んだ皆様が「こんな方法にも生成AIって使えるんだ!」という気づきになればうれしいです!

今回は特に英単語学習に絞った内容を記述します

目的


  • 生成AIに慣れる

  • TOEIC頻出単語をなんとか覚えたい

手順


大まかに分けて下記のような手順で進めていきました。

  1. TOEIC頻出単語、または苦手な単語一覧をExcelに書き留める

  2. 生成AIを使用して単語一覧から文章を作成する

  3. 生成AIを使用して穴埋め問題を作成する

  4. 苦手な英単語をリストに追加する

実際に下記で解説していきます。
今回使用した生成AIは弊社で開発しているGPT-4oベースの「GAI-CHAT」を使っております。

1.TOEIC頻出単語、または苦手な単語一覧をExcelに書き留める


TOEICを勉強しているとまずつまずくのは単語量の多さ、問題量の多さではありませんか?

「よしじゃあ単語を覚えよう!」

なんて思っても一朝一夕で覚えられるものではありません。まずは単純接触効果を増やさないといけないと思ったので単語リストを作成しました。
今までテキストで勉強してきたときによくミスをする単語だったりを集めたものがこちらです。

作成したTOEIC頻出単語一覧

しかし、せっかく生成AIを使ってTOEIC学習をするならばと、単語リストの作成から生成AIを使ってみました!

手順

  1. 適当なGoogle検索をしてヒットした英単語リストが掲載されたサイトを見つける。今回はこちらの記事を参照させていただきました。→目標スコア別・TOEIC頻出単語400選!編集部厳選の単語を覚えてスコアアップを目指そう (※1)

  2. GAI-CHATに下記のプロンプトを入力。

※今回、膨大な数の単語を一度に転記させるためPythonを使用するとエクセルファイルを作成してくれることが分かったため、テキストファイルである.pyファイルを指定し、プロンプトを作成しています。一度単語をすべてデータとして表形式で出力させましたが数の多さゆえか何度やってもうまくいきませんでした(GAI-CHATが固まる)

 #指令
        URLのサイトからTOEIC頻出単語を抜き出し、.pyファイル形式で出力すること
        ##URLサイト
        https://www.rarejob.com/englishlab/column/20210922_04/
        ##ルール
        1.出力形式は.pyファイル形式にすること
        2.出力先は C:\フォルダの指定 にすること
        3.エクセルに要するものは、No、英単語、和訳
        4.URLから抜き出す英単語はは600点を目指すならーTOEIC頻出単語100700点を目指すならーTOEIC頻出単語100800点を目指すならーTOEIC頻出単語100の単語一覧
        5.URLから抜き出す和訳は掲載されているものすべて

すると、下記のように返却されました。


以下に、指定されたURLからTOEIC頻出単語を抜き出し、.pyファイル形式で出力するコードを示します。

import requests
from bs4 import BeautifulSoup
import pandas as pd

# URLからデータを取得
url = "https://www.rarejob.com/englishlab/column/20210922_04/"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

# 単語と和訳を抽出
words = []
meanings = []

# 600点を目指す単語
for i in range(1, 101):
    word = soup.find("td", text=str(i)).find_next_sibling("td").text.strip()
    meaning = soup.find("td", text=str(i)).find_next_sibling("td").find_next_sibling("td").text.strip()
    words.append(word)
    meanings.append(meaning)

# 700点を目指す単語
for i in range(1, 101):
    word = soup.find("td", text=str(i)).find_next_sibling("td").text.strip()
    meaning = soup.find("td", text=str(i)).find_next_sibling("td").find_next_sibling("td").text.strip()
    words.append(word)
    meanings.append(meaning)

# 800点を目指す単語
for i in range(1, 101):
    word = soup.find("td", text=str(i)).find_next_sibling("td").text.strip()
    meaning = soup.find("td", text=str(i)).find_next_sibling("td").find_next_sibling("td").text.strip()
    words.append(word)
    meanings.append(meaning)

# データフレームを作成
data = {
    "No": list(range(1, 301)),
    "英単語": words,
    "和訳": meanings
}
df = pd.DataFrame(data)

# エクセルファイルに保存
output_path = r"C:\フォルダの指定\TOEIC_words.xlsx"
df.to_excel(output_path, index=False)

print(f"エクセルファイルが {output_path} に保存されました。")

このコードは、指定されたURLからTOEIC頻出単語とその和訳を抽出し、エクセルファイル形式で保存します。保存先は指定されたパス C:\フォルダの指定\TOEIC_words.xlsx です。

このコードを実行するには、Pythonの環境が必要です。また、requests と BeautifulSoup ライブラリがインストールされている必要があります。これらは以下のコマンドでインストールできます。

pip install requests beautifulsoup4 pandas openpyxl

このコードを .py ファイルとして保存し、実行することで、指定された場所にエクセルファイルが生成されます。


AI素人、IT素人には理解するのに時間がかかりましたが、全部丸投げして「Python環境って何?」から「実行って何?」とGAI-CHATに質問し、Python環境をととのえました。テキストエディタもDLしました。

何度かのエラーを繰り返し、最終的に修正されたコードをコマンドプロンプトに入力し、無事に単語リストのエクセルファイルが作成されました!

ちなみに、最終的に上の画像を生成したコードは下記です。


import requests
from bs4 import BeautifulSoup
import pandas as pd

# URLからデータを取得
url = "https://www.rarejob.com/englishlab/column/20210922_04/"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

# 単語と和訳を抽出
words = []
meanings = []

# 600点を目指す単語
for i in range(1, 101):
    word_tag = soup.find("td", string=str(i))
    if word_tag:
        word = word_tag.find_next_sibling("td").text.strip()
        meaning = word_tag.find_next_sibling("td").find_next_sibling("td").text.strip()
        words.append(word)
        meanings.append(meaning)

# 700点を目指す単語
for i in range(1, 101):
    word_tag = soup.find("td", string=str(i))
    if word_tag:
        word = word_tag.find_next_sibling("td").text.strip()
        meaning = word_tag.find_next_sibling("td").find_next_sibling("td").text.strip()
        words.append(word)
        meanings.append(meaning)

# 800点を目指す単語
for i in range(1, 101):
    word_tag = soup.find("td", string=str(i))
    if word_tag:
        word = word_tag.find_next_sibling("td").text.strip()
        meaning = word_tag.find_next_sibling("td").find_next_sibling("td").text.strip()
        words.append(word)
        meanings.append(meaning)

# データフレームを作成
data = {
    "No": list(range(1, 301)),
    "英単語": words,
    "和訳": meanings
}
df = pd.DataFrame(data)

# エクセルファイルに保存
output_path = r"C:\ファイル指定場所\TOEIC_words.xlsx"
df.to_excel(output_path, index=False)

print(f"エクセルファイルが {output_path} に保存されました。")

単語一覧を作ったはいいものの、これでは覚えることが大変です。そんなときに役立ってくれるのはやっぱり生成AIです!

2.生成AIを使用して単語一覧から文章を作成する


学生時代のように英単語と和訳を覚えるなんてこと、とてもじゃないができそうもありません。 楽をしたい社会人です。 ならば単語一覧から英文とその和訳を作成してもらってそれを一気に覚えるのはどうでしょう!

実際にやってみます。

指令
添付するTOEIC頻出単語一覧エクセルファイルのTOEIC頻出単語一覧シートからすべての英単語を使用して英文を作成せよ

##ルール
1.すべての英単語を使用すること
2.一文の中にできるだけ多くの英単語を含んでいること
3.和訳を作成すること
4.表形式で出力すること

このようなプロンプトで英文を作成しました。

実際の生成AIの回答その1

このように英文とその和訳が返ってきました!すごい!実際は全23もの文章が返ってきていますので、そのうちの二つだけを掲載します。

でも欲を言えばどの単語を実際に単語一覧から抜き出してきたのかわかりづらいので、今度はルールを二つ追加してみました。 ルール5.6に英文、和訳ともに頻出単語の該当箇所を太字で表記することという内容を追加しました。

#指令
添付するTOEIC頻出単語一覧エクセルファイルのTOEIC頻出単語一覧シートからすべての英単語を使用して英文を作成せよ

##ルール
1.すべての英単語を使用すること
2.一文の中にできるだけ多くの英単語を含んでいること
3.和訳を作成すること
4.表形式で出力すること
5.TOEIC頻出単語一覧から使用した英単語は太字で表記すること
6.TOEIC頻出単語一覧から使用した英単語の和訳に相当する部分は太字で表記すること
実際生成AIの回答その2

やったあ! とってもわかりやすい!

あとはこれをひたすらぶつぶつ独り言を言うように口に出したり、はたまた読み上げ機能で音声として耳からひたすら聞き取るもよし。寝る前に一文だけでもいいから書き写すもよし。使い方はそれぞれに合ったものを試してみてください!

3.生成AIを使用して穴埋め問題を作成する


さて、「2.生成AIを使用して単語一覧から文章を作成する」で文章が作成できました。穴埋め問題なんてあったら便利じゃない?私は品詞問題が苦手なんだよなあ…ということで作ってみましょう!

ちなみに、品詞問題はTOEICの試験で毎回Part5の文法問題の半数近くを占めています。Part5は全部で30問、そのうちの品詞は平均7問出題されているようです(※2)。 Part5はリーディング問題ですが、文章の前後を見るだけで回答することができる品詞問題が多く出題されています。もちろん文章の前後のみを見て回答するとひっかけ問題の場合リスキーですが、ある程度の予想が立てやすくなります。

まずは品詞をいっぱい選択肢に並べてみます。

#指令
作成した英文から、一つだけ頻出単語を抜き出し穴埋め文章を作成すること
##ルール
1.文章はすべて太字を使用しないこと
2.穴埋め箇所は()を使用し、穴埋め箇所を明確にすること
3.穴埋め箇所は頻出単語に該当すること
4.穴埋め文章と、その解答は別で出力すること
5.表形式で出力すること
6.穴埋めの選択肢を四つ作成すること
7.作成した選択肢は、実回答の名詞・動詞・形容詞・動名詞・副詞のいずれか形、もしくは同義語か対義語で作成すること
8.解答と和訳を同じ表で出力すること
9.穴埋め箇所は文中、文末、文頭など必ずばらけるように作成すること
生成された英文と選択肢
生成された解答と和訳

穴埋め問題ができました! しかし、これではなぜ残りの選択肢が解答としてふさわしくないかがわかりません。もちろん自分で調べますが、生成されたものをえ~ほんとに~!?という疑いの目線で見ながら自分で調べることが学習の第一歩でもあるので、解答にそのわけを不随させるようにしてみます。

あとどうやら今のプロンプトではルール7の「もしくは同義語か対義語で」という箇所が当てはまっていないようなので削除してみます。

ルール7を編集、10を追加してみました。

#指令
作成した英文から、一つだけ頻出単語を抜き出し穴埋め文章を作成すること
##ルール
1.文章はすべて太字を使用しないこと
2.穴埋め箇所は()を使用し、穴埋め箇所を明確にすること
3.穴埋め箇所は頻出単語に該当すること
4.穴埋め文章と、その解答は別で出力すること
5.表形式で出力すること
6.穴埋めの選択肢を四つ作成すること
7.作成した選択肢は、実回答の名詞・動詞・形容詞・動名詞・副詞で作成すること
8.解答と和訳を同じ表で出力すること
9.穴埋め箇所は文中、文末、文頭など必ずばらけるように作成すること
10.解答には残りの選択肢の品詞を明記し、なぜ穴埋め箇所に当てはまらないのか中学生にもわかるよう解説すること
生成された英文と選択肢
生成された解答、和訳、解説

とってもすごいです。品詞問題が本当に苦手な私は一目で単語の品詞を見分けることができません。これはとっても役立ちそうです!

解説に各選択肢の品詞が明記してあることで理解しやすい内容になっています。これはとてもうれしいです!

4.苦手な英単語をリストに追加する


実際に作成した問題や英文に触れていく中でどうしても覚えるのが苦手な単語や言い回しが存在すると思います。それらを集中的に覚えることができるように、別のエクセルファイルを作成し、苦手なワードばかりを集めた単語一覧を作成することにします。

#指令
苦手な英単語リストを新しいエクセルファイルに転記するために.pyファイルを作成してください
##苦手な英単語
aim to
analytical
compassion
conventionally
criticize
###ルール
1.新しいエクセルファイルに転記すること
2.新しいエクセルファイル名は「苦手な英単語一覧」に設定すること
3.転記する英単語を使用した英文を作成すること
4.使用した英単語は太字表記にすること
5.シートに記載する内容は、No、英単語、和訳、英単語を使用した英文

このようなプロンプトを書き出してみました。いくつかのラリーを繰り返し、最終的に新しいエクセルファイルを作成、そのうえで該当単語のみを太字にしたものができました!

このように自分が欲しいものを作ってもらうためにプロンプトをいろいろ試してみるのも生成AI初心者にはよい機会なのではないでしょうか。

まとめ


今回の記事で実行した手順を一覧化しました!

  1. TOEIC頻出単語、または苦手な単語一覧をExcelに書き留める

    1. 単語一覧が掲載されているサイトのURLを指定し、.pyファイル指定でPythonで実行できるよう生成AIでコードを書き出す

  2. 生成AIを使用して単語一覧から文章を作成する

    1. 今回は一文の中でできるだけ多くの数の頻出英単語を使用するように設定

  3. 生成AIを使用して穴埋め問題を作成する

    1. 頻出英単語を覚えるために生成AIに問題作成を依頼

    2. 選択肢の品詞を必ず添えるようにも工夫

  4. 苦手な英単語をリストに追加する

    1. どうしても覚えられない英単語を改めてリスト化することで重点的に復習できるようにコード作成

終わりに


今回、生成AIとその他のTOEICの学習を紐づけて一度に学ぶ方法を取り上げてみました。

木の棒一本で冒険している超・AI初心者なりにみつけたTOEICの学習法になります。今回の目的である「生成AIに慣れる」「TOEIC頻出単語を覚えたい」に沿って進めてみました。 このように超AI初心者の私でも生成AIを使用してほしいものを生成することができました。

今回の記事を執筆することによってopenpyxlライブラリとは何なのか、xlsxwriterを使うことによってExcelファイル内の特定の文字のみを太字表記に変更できることなどを学ぶことができました。

きっと知識をたくさんお持ちの方であればもっと良い方法を思いつくことでしょう! そんな方はぜひ私にご教示ください!

引用文献


1)レアジョブ英会話編集部. "目標スコア別・TOEIC頻出単語400選!編集部厳選の単語を覚えてスコアアップを目指そう". レアジョブ英会話 English Lab. 2021/09/22.https://www.rarejob.com/englishlab/column/20210922_04/ , (参照2025/01/20)

2)TEX加藤. TOEIC L&E テスト 文法問題 出る1000問. アスク出版. 2023. 15p.


執筆者プロフィール:ライターN
2023年12月SHIFTに契約社員として入社。その後2024年9月に正社員へ。
現在、製造ソリューションサービス部所属。
前職は医療事務として総合病院で勤務。一念発起し、SHIFTに入社。
完全IT未経験だが研鑽の日々を送っている。

好きなことは海外旅行。渡航歴は十か国。大学の卒業旅行に欧州一周計画を立てていたが、コロナにより断念したことが心残り。将来はクルーズ船での世界一周旅行がしたい。

SHIFTへのお問合せはお気軽に

SHIFTについて(コーポレートサイト)

SHIFTのサービスについて(サービスサイト)

SHIFTの導入事例

お役立ち資料はこちら

SHIFTの採用情報はこちら

PHOTO:UnsplashTowfiqu barbhuiya