ゲーム:外国語を脳に読み込む

外国語の単語、イディオム、または文法的な構成を何度も会い、特別に教えたにもかかわらず、頭の中に収められない状況がありますか? そして、外国語の単語を勉強してから1か月後に何パーセント覚えていますか? そして6ヶ月後? 外国語を学ぶ動機付けをするのは難しいですか?







これらの質問への回答により、以前に研究された重要な部分を忘れるという問題に対処する必要があるという認識が生まれます。 効果的に教えるだけでなく、知識を効果的に維持します。 さらに、単調な繰り返しの過程でゲーム要素の導入を解決するのに役立つ、日常的な活動に対する抵抗を克服するという問題があります。



カットの下で、フラッシュカードを使用して外国語を学習する方法、その方法を効果的に使用する技術、およびソフトウェア実装の1つのバージョンの基本的な機能とアルゴリズムについてのストーリーがあります。



それでは、最初に、つまり、カードとその正しいアプリケーションの機能を使用して外国語を学習する古代の(ウォームランプ)方法から始めましょう。次に、最新の技術とアルゴリズムを使用してそれを改善する方法を見てみましょう。



フラッシュカードで言語を学ぶ



フラッシュカードを使用して言語を学習するのは直観的な方法であり、その本質は非常に簡単です。片方が外国語で書かれ、もう片方が母国語で書かれた小さな紙を用意します。 そのようなシートは、母国語でデッキに集められ、シャッフルされ、一度に1枚ずつ引き出されます。 人の仕事は、母国語への翻訳だけを見ながら、外国語のテキストを復元することです。 何がもっと簡単だろうか? しかし、隠れた落とし穴もあります。



単語を1つ覚える必要がありますか?



この質問は、個々の単語の詰め込みが外国語を学習する際の最も一般的な間違いであるため、さらに詳しく説明する価値があります。



私たちが考えを表現するとき、既成のブロックや数十個のプログラミング言語演算子の複雑なプログラムから家のように、基本的なプリミティブ、最小単位からスピーチを構築します。 しかし、単語は言語の最小単位ですか? いくつかの例を見てみましょう。



まず、言語はさまざまな意味で色合いを共有しています。 たとえば、動詞「 solve 」が「 決定する 」として英語に翻訳されていることを知っている場合、「 問題を解決する 」というフレーズを「 問題を解決する 」として翻訳できますが、これは間違いであり、正しいオプションは「 問題を解決する 」です。



第二に、同じ単語は完全に異なる概念を意味する場合があり、それはそれらが使用されるコンテキストによって排他的に決定されます。 たとえば、「動詞をつける」というフレーズは、ロシア語に翻訳すると十数個の意味を持ち、「 スティーブンにウィリアムを乗せたのはアンジェラだった 」という文は、「 アンジェラはウィリアムをスティーブンに乗せた 」または「 アンジェラはウィリアムを乗せた」スティーブンについて 」などがありますが、「 ウィリアムとスティーブンがもたらした正しいバージョンはアンジェラでした (より正確には、「 置く 」というフレーズがここで使用されています)。



第三に、各言語には独自のイディオムがあり、その外観は歴史的イベントと文化的イベントのユニークな組み合わせによるものです。 イディオムでは、フレーズ全体が新しい、しばしば多面的な意味を取ります。 たとえば、「 急いで速度を落とす 」は「 遅くなり ます これからも続きます 」に相当すると推測しますが、「 空気を与えないでください 」、「 あなたは赤いニシンのように見え ます 」、「 静かな 水はします」深く走る 「または」「 おしゃべりをするつもりはない 」。 すべてがそれほど明白ではありませんよね?



翻訳
うぬぼれしないでください 」、「 あなたは白いカラスのように見えます 」(赤いニシンがあります )、「 静かなプールに悪魔がいます 」、「 ビジネスについて話すつもりはありません




第四に、文法。 単語を任意に組み合わせることはできません。自然言語の場合、すべてをチェックして構文エラーを見つけることができるコンパイラを使用する方法はありません。 文法は言語を学ぶための最も重要なトピックであり、文法規則の研究を決して無視したくありません。 しかし、各文法規則の後には常に例があり、時には規則自体を定式化できないこともあることを思い出してください。例が頭に浮かび、私たちは類推して正しく話しますが、同時に、理由さえもわかりません。 さらに進んで、「文法」などの単語を知らなくても、どの子供も母国語を非常に上手に話すという事実を思い出してみましょう。 子どもたちは、数年にわたって言語環境に没頭した後、十分な数の基本要素を蓄積し、それらを任意に組み合わせたり、類推によって表示したりすることができます。



5番目に、関連するテキストがよりよく記憶されます。 ここでは本当に簡単です。文脈から引き裂かれた単語は、ほとんどの場合、単なる単語であり、完全なフレーズはイメージ、感覚、感情を与え、私たちに多様な連想を引き起こします。 しかし、感情的な色については、さらに話をし、次に要約します。



外国語で個々の単語を学ぶことは退屈で時間のかかるプロセスであり、最も重要なことは、組み合わせて複雑な構造を作成できる言語の基本的な構成要素を提供できないことです。



それでは、何を教えるべきでしょうか?



すべてが非常に簡単です。カードに、言語で完全な考えを書いてください:フレーズ、文章、またはいくつかの文章。 さらに、フレーズ内の10個の単語のうち、なじみのない単語が1つだけあるか、新しい順番があるかは問題ではありません。 主なことは、各カードが完全な思考を伝えることであり、10の馴染みのある言葉は、古い言葉を関連のもつれに織り込むのに役立ちます。 また、外国語で文章を書く練習は、文法の習熟度に良い影響を与えます。



文法の教科書の例もカードに入れるのに適していますが、他のソースからカードになじみのない文法構成の文を追加する方が良いでしょう。 奇妙なターンに数回気づいた後、「脳を燃やす」ようになり、対応するルールを見つけざるを得なくなります。これは、興味があるために記憶に残る可能性が高く、この興味がルールを感情的に色付けしました。 それにもかかわらず、それが忘れられた場合、遅かれ早かれ、適切な例を備えたカードが手に入り、メモリをリフレッシュします。



感情的な着色



先に進み、カードに乗るためのフレーズや文章を選択する方法について話しましょう。 ここでのキーワード:感情的な色付け、つまり、感情はカード上のフレーズに関連付けられるべきです。 同時に、これらが良い思い出なのか、悪い思い出なのか、深刻なものか、愚かなものなのか、劇的なものか面白いものなのかはまったく関係ありません。 重要なのは、これらの経験の明るさです。



本からフレーズを取り、キャラクターの名前がそれに参加している場合、この本のプロット、これらのキャラクターの歴史、フレーズが言われた正確なエピソードなどを知っていれば、フレーズはよりよく記憶されます。 そして、あなたが本を本当に好きだった場合、またはそれは問題ではなく、本当に好きではなかった場合、それはさらに良くなります。 お気に入りの曲、映画、テレビ番組、Youtubeのビデオ、またはオーディオブックも、口頭での聞き取り能力を伸ばすことができるため、本よりも優れた候補です。



大声で答えを話す



カードを使用するもう1つの重要な側面は、母国語でフレーズを読んだ後、大声で、はっきりと、自然な音量で答えを発声する必要があることです。



まず、このフレーズに関連する感覚の流れが大幅に増加するため、フレーズの発音を覚えやすくすることができます。発音に集中し、自分の声を聞き、筋肉の働きを感じます。 発音でジェスチャーや表現をしたり、フレーズを歌ったりすればさらに良いでしょう。 これはすべて、悪名高い感情的な色付けと連想的なつながりを高めます。



第二に、声を出して話すことは話す際の良い習慣です。発音、イントネーション、スピードです。



忘れないでください:特効薬は存在しません



残念ながら、それぞれの方法には欠点があります。 私が自分で感じた最も重要なのは発音です。 特定の単語を正しく発音しない場合、この方法では発音が足がかりになるだけです。 したがって、発音の正確さを注意深く監視し、できるだけ早く修正することが重要です。



便利な発音練習があります。外国語のフレーズのオーディオ録音をいくつか選択し、各フレーズを注意深く聞いてから、できるだけ正確にコピーして、レコーダーに自分自身を録音することができます。 2つのメモを比較し、発音の違いを見つけて、すべてを何度も繰り返す必要があります。



単純なルールがあります。 トレーニングするのは開発するものです。 つまり、読んだだけで、遅かれ早かれそれを学ぶことができますが、何かを言うことも耳で区別することもできなくなります。 したがって、言語のすべての主要な分野に耳を傾けてください:聴解、スピーチ、読み書き。



iFlashcard



方法を見つけたようです。 それでは、情報技術がそれを改善するために私たちに提供できるものを見てみましょう。



電子カード用の非常に多くのプログラムがあり、このテキストを読むすべての人に質問があります。なぜ私は自転車作りの情熱に専念し、自分で書いたのですか。 これにはいくつかの理由がありました。



まず、一部のプログラムはフレーズではなく単語の学習用に最適化されています。 これについてはすでに詳細に書いたが、やめない。



第二に、このプログラムでは、カードのリストは1つだけであり、グループ、フレーズ、またはレッスンへの分割はありません。 事実、私は日常的で興味のない行動に対して慢性的な不寛容を経験しているので(そして、詰め込みは間違いなくそれらを指します)、したがって、新しい言葉を学ぶだけでなく、古い言葉を繰り返すことを私に強制することは私にとって困難であり、私は何千もの理由を見つけますもっと面白いもの。 この点で、「知識レベル」以外の方法でカードを共有したくはありません。また、勉強と繰り返しのプロセスを切り替えたくありません。 おそらく質問がありますが、古いカードが新しいカードの研究を妨げることはありませんか? この質問にさらに答えようとします。



第三に、一部のプログラムは、厳密に定義された時間をカードに与えなければならないような方法で、定期的にトレーニングスケジュールを指示します。 しかし、ほとんどの場合、正確な時間を見つけることは困難であり、快適に感じるときに5分と3時間の両方を費やす機会が必要です。 明確なスケジュールに基づいた方法の有効性が科学的に証明されていることを完全に理解していますが、それらを追跡できない場合のポイントは何ですか?



スクリーンショットを見てみましょう。 これは、メインプログラムウィンドウの表示です。







すべてが非常に簡単です:



  1. [ 次のカード ]ボタンをクリックすると、プログラムは各カードの知識レベルを考慮して、 カードをランダムに選択します
  2. フレーズは母国語(または設定で方向を変更する場合は外国語)で表示されます
  3. 翻訳を思い出し、重要なことに、声に出して発音します
  4. [ 次のカード]をもう一度クリックして、答えを確認します。
  5. 答えを標準と比較し、結果に応じて、 成功または失敗のいずれかをクリックします
  6. プログラムはこのカードに関する知識のレベルを調整してから、新しいカードを選択してすべてを繰り返します




難しいことは何もありません。 スクリーンショットは、 Scoreパラメーターを示しています。 新しい単語の追加と正解の受信で増加し、逆のアクションで減少します。 ゲームの目的:100,000ポイントを獲得すると、ゲームは「ちょっと待って!」まったく同じように漫画を表示します。



そして、これがカードエディターの外観です。





アルゴリズム



フードを開いて、それがどのように機能するかを確認します。 各カードの知識レベルは重み係数(浮動小数点数)で表され、それに基づいて擬似ランダムな方法でユーザーに表示するカードが選択されます。 つまり、アルゴリズムの基礎は、セットからランダムに重み付けされた要素を選択することです。 成功または失敗のユーザーからの各応答は、カードの重量をそれぞれ小さい側または大きい側に変更します。



回答後のカードの重量により、次のコードが変更されます。



double CalcNewFactor( double oldFactor, Answer::T answer ) { return answer == Answer::Correct? oldFactor - CorrectAnswerFactor * ( oldFactor - 1 ): oldFactor + ( MaxWeight - oldFactor ) * IncorrectAnswerFactor; }
      
      







正解を受け取ると、重みは指数関数的に減少しますが、最小カード重量ではゼロではなく1が選択されます。これは、カードを表示する確率がゼロに近づく状況を回避し、丸めの問題を回避するためです。



誤った回答を受け取ると、重みは対数的に増加します。現在の重みが小さいほど、値は大きくなります。 このアプローチにより、ユーザーが学習したカードに間違った答えを返す状況をシミュレートできます。 この場合、カードは未探索のカテゴリにすぐに転送され、近い将来再び高い確率でユーザーに表示されます。



パラメーターIncorrectAnswerFactorおよびCorrectAnswerFactorはデフォルトで0.5であり、設定ファイルで変更できます。



すべてのカードに対して単一のリストが存在することを確認する方法、または、長年学習したカードが最近追加されたカードのアクティブな学習を妨げないことを確認する方法を理解することは残っています。



この問題を解決するには、Maximum MaxWeightと初期InitialWeightカード重量の2つのパラメーターが役立ちます。 カードの最大重量は、カードの数にMaxWeightFactor係数を掛けた値に等しくなり、カードの初期重量は最大重量の半分に等しくなります。 次に、すべてのカードが学習された場合(つまり、重量が約1)、その数がNMaxWeightFactor = 1 (デフォルト値)である場合、新しいカードの初期重量は(N + 1)/ 2になり、彼女が次のカードを選択する確率は約1/3になります。 つまり、新しいカードを選択する確率はカードの数に依存せず、これがまさに1つの大きなデッキにすべてのカードを保存できる理由です。



おわりに



この記事では、両面カードを使用して外国語の要素を記憶する効果的な方法を検討しました。 メソッドの重要な要素と、それに対する利益を最大化するためのルールについて説明しました。 この方法のソフトウェア実装の機能は、既存のアナログ(すべてのカードの唯一のデッキ、学習と繰り返しの明示的な切り替えの欠如、スケジュールの強制の欠如)と区別するために区別され、そのような機能を保証するアルゴリズムが説明されました。



そして最後に、リンク:

直接ダウンロードリンク( Windows、ポータブル ): github.com/black-square/iFlashcards/releases/download/v1.2.5/iFlashcard-1.2.5.zip

プロジェクトページ: code.google.com/archive/p/smart-flashcards

カードセットの例: github.com/black-square/iFlashcards/releases/download/v1.2.5/settings.xml

GitHubソースコード( C ++、Qt、Boost ): github.com/black-square/iFlashcards



この記事では、外国語を勉強しているときに抱えていた困難と、それらを解決しようとする試みが新しいオープンソースプロジェクトを立ち上げたきっかけを説明したいと思いました。 私は自分の結果をコミュニティと共有し、方法とアルゴリズムに対する建設的な批判を受け、自分の業績が他の誰かに役立つという希望を表明したかったのです。 そしてもちろん、私はすべての人にプロジェクトに参加するよう招待します:アイデアの共有、タスク/バグの取得、プルリクエストの送信。



All Articles