見出し画像

英語のプログラミングチュートリアルは”つまみ食い方式”で聞くと英語力がアップする! 第1章❺ 英語でプログラミング解説を聞く ー 『JavaScriptでやる1分間プログラミング』

いよいよプログラミング英語と格闘する時間です!

これまで4回にわたって「手描き画像分類アプリ」を作るためのJavaScriptプログラミングを解説してきました。冒頭で説明したように、この第1章の内容はCoding TrainというYouTubeチャンネルのチュートリアルで取り上げた内容がベースになっています。初心者でもコーディング作業ができるようにするのが一つの目的ですが、もう一つはこの英語のチュートリアルをベースにプログラミング英語を学習できるようにすることです。

これまでのコーディング解説でこのアプリの作り方、そしてプログラミングの基礎概念などが理解できたら是非この英語チュートリアルで何をどう説明しているかじっくり聞いてみてください。今回はこうした英語チュートリアルを聞き取る基本的なコツについて解説していきます。

ポイント❶:まずは内容を理解しているものを聞く!

英語のチュートリアルなどを使ってプログラミング英語を勉強するには、まずは理解している内容のものを聞くのが第一歩です。最初は是非それを徹底してください。

例えば、Pythonをある程度やっている人であれば、初心者向けのPythonチュートリアルが格好の材料です。英語のリスニングでは「内容」と「英語」の両方を頭の中で処理しないといけません。これを二つ同時にやるのは正直言って無理です。まずは英語に集中できるよう、内容についてはしっかり理解してりうものを選択してください。

今回プログラミング初心者向けにチュートリアルの内容をじっくり解説し、しかも自分でコーディング作業ができるように解説してきたのはそのためです。プログラミングを始めたばかりの方はまずは第1章4回の解説記事を読んで、自分でプログラミングをやってみてください。

ポイント❷:理解している内容と英語を関連づける

ここが最重要ポイントです。

内容を理解した上で英語を聞くと、単語やフレーズをはっきりとイメージできるため、最も効率よく覚えることができる

理由は簡単です。まず、単語帳やフレーズ集を読んでもさっぱり頭に入らず、いつまでたっても使えるものにならないのは多くの方が経験しているはずです。それは人間の頭がものごとを理解したり記憶したりするのに、association、つまり「関連付け」がとても重要だからです。

個人的な経験で言うと、かつてアメリカでホームステイしていた時、「裸足」を英語で何と言うか分からず、ホストファミリーの小学三年生の女の子に a naked footといって大笑いされました。裸足はa bare feetです。これでもって覚える努力も一切なくこの言葉が頭に定着し、それ以来「裸足」や「barefoot」という言葉を見るたびにあの時の光景が頭に浮かびます。現実体験と結びついた知識や情報ほど強いものはありません。

そこで今回は、日本語をベースにプログラミング体験をしていって、その上で英語のチュートリアルを見ると、自分のコーディング体験や得た知識と英語が結びつきやすくなります。そこをじっくりと体験してもらうために詳細な解説をしてきたというわけです。

ではさっそくやってみましょう。

ラウンド1:まずは頻出する言葉をキャッチする

冒頭から1分35秒のところまでを聞いてください。”All right. Here we go.”というところまでです。

画像1

これから何回か聞いていきますが、最初はそこでカギとなる単語や表現を頭の中でキャプチャーします。具体的な指示が必要な方は、「この部分で頻出する単語を書き出してください」ということをやってみてください。

この冒頭部は今回のビデオの概要と背景、特にDoodleNetの説明をしています。本noteでは第一回目に詳しく解説していますので、必ず読んでから英語を聞くようにしてください。

Daniel先生の英語は確かに速いのですが、英語の速さはあくまで”慣れ”です。今回のトレーニングをした後ではきっとこのスピードが気にならなくなるはずです。

まずはざっと聞いてみて、次の言葉がキャッチできたか確認してください。

classify (分類する:今回のアプリでは描いた絵がネコかネズミか判断するということ)
model(モデル:機械学習によって作られる、判断や判定をするためのもの)
train(学習する:データを使ってモデルを作成する作業)
data, dataset(データセットはデータの集まり)
collect(収集する)
drawing(手描き絵)

特にmodeltrainは何度も出てきますよね。まずはこうした重要な言葉、特に頻度の高い言葉は聞き取れて理解できるのが前提です。これができていないと英語を何度聞いても何も頭に入ってきません。

もちろん理解できない頻出単語は意味を調べてわかるようにします。ただ、この段階で単語すべてを調べる必要はありません。あくまで頻出単語に絞って対応してみてください。

ラウンド2:”つまみ食い方式”で読み進める

頻出単語が理解できるようになったらもう一度聞き直し、今度はそれぞれの文章を理解していきます。例えば最初に言っているこの文章をご覧ください。

I'm going to attempt to classify my drawing as a cat.
自分が描いた絵がネコに分類するということをやってみようと思います。

英語を聞く際に、全単語を知らなくても、文章の意味が大体理解できるために必要なkey terms(キーターム)というのがあります。上の文章でそれを太字で示してあります。その部分だけを日本語で見るとこうなります。

私は・・・つもり・・・分類する・・・描いた絵・・・ネコ

仮にattempt(~するつまり)が分からなくても、「このビデオでは」で始まっているのだから、「描いた絵がネコだと分類する」がこのビデオの目的だ(まさにattemptの意味です)ということは十分に理解できます。

当然ですが、英語と日本語は語順がかなり違いますが、英語を聞くうえで英語の語順で意味をつかんでいくようにするのはとても重要です。完全な日本語に”翻訳”しなくても、”つまみ食い”方式で英語を聞くのに是非慣れてください。

インパクトタームをキャッチする

つまみ食いをもう少し続けてみましょう。

How come this video is so darn short? Because I'm going to make use of a pre-trained model, called DoodleNet that comes as a part of the ML5 library.

これも”つまみ食い”方式ではこんな感じでキータームをキャッチできると意味がつかめてきます。

ビデオ・短いなぜなら使う・すでに学習された・モデル・DoodleNet・来る・一部・ML5

 ここでキータームの中でも特に重要なものがあります。ここをミスするとさっぱりわからなくなるもので、それは"short", "because", "use"です。「(このビデオは)短い、なぜなら、使っているから」だけもコアの意味は分かります。この文章は、DoodleNetというすでにトレーニングされて作られた(=pre-trained)モデルを使っているから、そのモデル作成の過程を詳しく説明する必要がないのでとても短いビデオになっているということを言っているのです。

その上でいくつか表現を解説すると、

so darn short (めちゃくちゃ短い)

darnは口語での強調表現で「めちゃくちゃ」という意味です。すでにsoが入っているので意味を知らなくても支障はないですが、かなりカジュアルな日常会話ではよく出てきます。

make use of(~を利用する)

簡単に手描き画像認識のコーディングができるのは、まさにDoodleNetを」うまく利用できる」からで、その表現としてこのmake use ofが使えます。

comes as a part of (~の一部として含まれる)

ここのcomeは「来る」でもよいのですが、「~の一部として付いてくる」ということは「~の一部に含まれる、~に入っている」という意味になります。なかなかこういったcomeの使い方は慣れないと難しいです。

Low Keyなところはさらっと聞き流す

さらに続けてみます。

今回のビデオのスピーカー、Daniel先生はとてもメリハリの利いた話し方をするので、重要な内容のところはとてもはっきりとした話し方をしてくれます。それを手掛かりに、あまりローキー(控えめな)で話している部分はある程度理解が低下しても気にしないでください。

このDoodleNetの解説部分は基本的にウェブサイトにある情報を読み上げたりしているので特に主張する部分はありません。なのでなんとなく「DoodleNetの概要を説明しているんだな」というところが分かれば十分です。ここはしばらくデータセットの話が続き、たくさん数字が出てきますが、「たくさんの画像データを使っているのだ」ということはだれにでもざっくり理解できるはずです。

ところが、突然口調を変えてこう言います。

Guess what!
いいですか!

この表現は「はい注目!」と言っているのと同じです。ここからはきちんと理解しておくべきです。まずはこんな英語が続きます。

This video is actually, really a follow up to my coding challenge about training a machine learning model to recognize drawings of shapes, circles, squares, and triangles.

この中でキータームを拾うと、

フォローアップ・コーディングチャレンジ・トレーニング・モデル・手描き絵・まる・四角・三角

ここで一点トリッキーなのは、Coding Challengeが何であるか分からないと意味が”飛んでしまう”(聞いてて分からなくなる)かもしれません。Coding ChallengeというのはDaniel先生がYouTubeでやっているコーディング教室シリーズで、様々なトピックでコーディングをライブでやるという企画です。これを知っていればこの文章は簡単で、要は過去にやったCoding Challengeで円や四角を手書きで書いて認識するパートの続編だということです。

そして次がこれです。

So I did this whole process of collecting a data set, training a model, and then deploying that model, all in the browser in a separate video,

そしてつまみ食いで次のように言葉を拾っていくと何を言おうとしているか理解できますよね。

プロセス・集める・データセット・モデルのトレーニング・展開・ブラウザ・別のビデオ

「別のビデオ」でトレーニングしたりデプロイ(展開)したりするプロセスをやったということですよね。

その上でこう言っています。

... in this one, I'm just going to quickly, basically do the same thing but use a more sophisticated, more robust pre trained model created by Yining Shi. 

ここはこれが聞ければ十分です。

このビデオ・やる・同じこと・トレーニング済みのモデル・インニン シーさん

要はYiningさんが作ったモデルでやるということ。ここはmore sophisticated(もっと高度な)やmore robust(もっとしっかりした)といった言葉は分からなくても全体の意味をつかむには問題はありません。ここでの最重要キータームはdo the same(同じことをやる)ということです。

この最後の部分のキーポイントをつなげると、

❶ 今回のビデオは過去にやった内容のフォローアップだ
❷ 前はデータを使ってトレーニングをやり、簡単なモデルを作った
❸ 今回はもっとすごいYiningさんのモデルを利用する

だから今回のビデオは短いのだということが、Daniel先生が言いたかったポイントなのです。どうです?ここまでで、英語のチュートリアルを理解するには何をどこまで聞き取る必要があるか分かってきましたか?決して一言一句理解する必要はないというのと、頭から英語を理解する重要性がつかめたのではないでしょうか。

冒頭部分のトランスクリプション

以下に冒頭部分の書き取りを掲載しておきます。詳しく学習したい方は是非参考にしてみてください。

【冒頭の導入部分です】
Hello and welcome to another ML5.js. video tutorial.  In this video, I'm going to attempt to classify my drawing as a cat. So, how am I going to do this and how come this video is so darn short? Well, I'm going to make use of a pre trained model called Doodle Net that comes as part of the ML5 library.

【DoodleNetの概要で、ある程度聞き流してOKなところ】

The Doodle Net, which you can read more about on the documentation page is a pre trained model that classifieds and labels hand drawn sketches from 345 categories. Huh? I wonder what might these 345 categories be? Well if I scroll down and take a look at the Doodle Net data biography, you will find out that the data set comes from Google's Quick Draw, which was a game that was created in 2016 and Yining Shi ,who created and trained this model. You can find out more about Yining by going to this link here. Collected the data in 2019.

【DoodleNetのデータの話で、ここも流してOK】
This is what the Google Quickdraw data set is. It's 50 million drawings. I don't expect that Yining used all 50 million. We can see 50,000 poor categories or do the math 50,000 * 345 and you can find all of the Yining's raining source code. Here in this Doodle Net repo itself and more information about how the model is trained.

【ここからがこのチュートリアルの背景話】
But guess what? This video is actually, really a follow up to my coding challenge about training a machine learning model to recognize drawings of shapes, circles, squares, and triangles. So I did this whole process of collecting a data set, training a model, and then deploying that model, all in the browser in a separate video, and in this one, I'm just going to quickly, basically do the same thing but use a more sophisticated, more robust pre trained model created by Yining Shi.  Alright, here we go.


この記事が気に入ったらサポートをしてみませんか?