ChatGPTが有名になってきて、数か月たち、いろんな人がその便利さに気づいてきています。
それは、英語に関する質問をすると、ちゃんと解説してくれるというもの。
しかし、そのレベルでは、AIで英語学習が進化したとは言えません。
そこで、私、よわみつが圧倒的な進化をお見せします。
これによって、かなり英語の勉強が楽になっていきます。
基本はボタンを押して待つだけです。
「まじか!すげえ!」と思った方は、記事のシェアをお願いします。
いかに楽して英語を身につけるかを苦心して考え、早15年。
まだ、楽するために、それ以上の苦労していることに気づいていない。
なんちゃってエンジニア。
ネイティブにも褒められる英語力がありながら、
技術力があまりないので、全然輝かない無駄バイリンガル。
ChatGPTで自動で単語帳を作る
今回、私が作ったのは、ずばり、Excelの単語リストから、自動で単語の意味と例文を追加するコードです。
これを使えると、
・オリジナルの単語帳が待ってるだけでできる
・中級者、上級者に嬉しい英英単語帳ができる
・プロンプトを改造すれば、もっといろんな出力ができる
まずは、どんなものができるか見てみましょう。
単語帳の活用法は、今後書いていくので、ちょっと待っててください!
使用する前の注意点
・正確性はまだ不明
・ChatGPTの支払い登録が必要と思われる
・自己責任で
ChatGPTの正確性
AIで単語の意味と例文を生成するので、間違ってる可能性もあるということを覚えておいてください。
ChatGPTは日本語に比べて、英語はかなり強いとのことなので、よっぽど変なスラングでもない限り安心していいとは思いますが、100%は保証されないというのだけは、知っておいて下さい。
間違って覚えてしまった場合も責任は取りかねます。
ただ嘘をまき散らしているツイッターの英語系インフルエンサーよりは、正確です。
ChatGPTの支払い登録
ChatGPTのAPIを使用しますので、文字数に応じて、少しお金がかかります。
私も最初は無料アカウントを使って挑戦してみましたが、途中で制限がかかり、出力が途中でとまってしまいました。
料金はそこまでかかるわけではなく、1000単語ほど、意味と例文を取ってみましたが、2ドルほどでした。
細かい料金体系を知りたい人は、ググってください。
自己責任でお願いします
今回はPythonコードでChatGPTの出力を取り出すというものです。
ChatGPTがかなりランダムで答えを出す性質上、私のコードでは、まだ対応していない形式で答えてくる可能性もあります。
その場合、うまく意味と例文に分かれなかったりする場合や答えがうまく取り出せない場合があります。
そのため、うまく出力できず、無駄に課金されてしまった場合でも、責任は取りかねるということを了承の上、使ってください。
なお、プログラミングができない方は、どういう回答が来たか教えていただければ、修正は可能です。
準備
にわかすぎて、アプリ化とかはできなかったので、準備が多くてすいません。
最初の2つはPythonの初期設定なので、大体ググると出てきます。
Pythonのダウンロード
今回はPythonを使用するので、ダウンロードして使えるようにしてください。
ちなみに、にわかの私はPyScripterという総合環境を使ってます。
ライブラリのダウンロード
OpenAIとOpenpyxlを使用します。
「pip install XXXX」とコマンドプロンプトで入力すると大体できます。
API keyをコピペする
https://platform.openai.com/overview
の右上にPersonalというところがあると思います。(まだ登録してない人は、登録すると出てきます。)
そこをクリックして、View API Keyを探します。
そのページに「Create new secret key」というのがあるので、クリック。
APIキーが生成されますので、コピペしてどこかに保管してください。
人には教えないでね!
Pythonコードをコピペする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#------------------------------------------------------------------------------- # Name: 単語帳作るんだい # Purpose: To auto-generate vocabulary lists # # Author: Yowamitsu # # Created: 16/05/2023 # Copyright: (c) Yowamitsu 2023 # Licence: <your licence> #------------------------------------------------------------------------------- #import required library import openai import openpyxl #Your Open AI API key openai.api_key = "自分のAPIキーを貼り付ける" def main(): #open the list you want to use wb = openpyxl.load_workbook("word_list.xlsx") sheet = wb.active i= 1 #loop through each row starting from 1st row for row in sheet.iter_rows(min_row= 1, values_only=True): word = row[0] if word is None: continue #input command you want to ask ChatGPT prompt = f"Q: What is the definition and example sentence for {word}?\nA: Definition:" #This is the answer ChatGPT generate response = openai.Completion.create( engine="text-davinci-002", prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5, ) #get the text from the response def_ex = response.choices[0].text.strip() #extract the definition and example #used "if loop" becauseq ChatGPT gives you some random formats if "Example:" in def_ex: definition = def_ex.split("Example:")[0].strip() example = def_ex.split("Example:")[1].strip() elif "Example Sentence:" in def_ex: definition = def_ex.split("Example Sentence:")[0].strip() example = def_ex.split("Example Sentence:")[1].strip() elif "Example sentence:" in def_ex: definition = def_ex.split("Example sentence:")[0].strip() example = def_ex.split("Example sentence:")[1].strip() elif "example sentence:" in def_ex: definition = def_ex.split("example sentence:")[0].strip() example = def_ex.split("example sentence:")[1].strip() else: definition = "" example = "" #write the definition and example next to the word sheet.cell(row=i, column=2).value = definition sheet.cell(row=i, column=3).value = example print("got the data {}".format(i)) #going to the next row i += 1 #save the data #close the excel file by this program reach here otherwise you get an error wb.save("words2.xlsx") print("saved") if __name__ == '__main__': main() |
APIキーを自分のモノに変える
17行目のapi_key = “”
のダブルクォーテーションの中を先程取得した自身のものに変えてください。
これをすることによって、あなたのアカウントで情報を取得することになります。
単語リストを準備
今回のコードは”word_list.xlsx”というファイルを読むことになっているので、同じ名前でPythonファイルと同じところに用意してください。
Pythonファイルの実行
PyScripterだとCtrl+F9で実行できます。
終わると”words2.xlsx”というファイルが出来上がってると思います。
この中に意味と例文が追加されたリストが保存されています。
ちなみにですが、words2.xlsxが存在する場合は、上書きされると思うので、上書きされたくない場合は、コードの79行目の名前を変えるか既存のファイルの名前を変更しておいてください。
もうめんどくさい単語調べをする必要はありません!
やってみてどうでしたか?
かなり楽に単語帳ができたと思います。
私も、調べる単語のリストを作ったのはいいのですが、調べるのが面倒すぎて、放置することが多くありました。
しかし、もうめんどくさいという悩みはなくなりました!
これからは、わからない単語は、リストにまとめておいて、ChatGPTに自動で調べてもらいましょう!
FAQ
準備がめんどいんだが
自分もそう考えて、アプリ化できないか考えましたが、APIキーを自分たちで設定してもらう必要があるため、コードをコピペして実行してもらう形式になりました。
いい案があれば、教えてください!
日本語の意味も取得できますか?
36行目のprompt = f””の部分を変えてあげると、いろいろな形式で回答をもらえます。
しかし、英語は英語で理解するというのが理想なので、そのまま英語で意味を取得してもらうようにしましょう。
出力ファイルがない
出力と同じファイル名のモノ(今回はwords2のファイル)が開かれているとエラーが出てしまうので、実行する前に閉じましょう。
あとは、そもそもPythonファイルが実行できるのか確認してみてください。
もっと便利にしてください
不便な個所を教えてください。
頑張ります。
コメント