英語の単語を学習するための電子カード

メインウィンドウ 英語の語彙を補充するために、尊敬されるhabrasocietyと別の自転車を共有したいと思います。 単語の自習用の古典的なカードです。ロシア語または英語の単語に招待され、翻訳を入力します。 この方法の利点については説明しませんが、語彙の形成は言語学習の最初の段階の1つであり、さらに完全な学習の基礎を築くことを思い出します。
このプログラムは非常にシンプルですが、独自の実装を行う前に試したものとは異なる多くの機能を備えています。 詳細な説明を読むのが面倒なので、すぐにgithubに移動してスクリプトをレイアウトし、スクリプトに精通することができます。また、機能の説明を含む簡潔なreadmeもあります。



そして今、私がそれを必要とした理由と、既存のプログラムとサービスが適合しなかったものをあなたに伝えようとします。





特徴



最初で最も重要なのは時間です。
私が試したすべての言語学習サービスは、同じ、よく知られている言語で、一度に少なくとも30分割り当てられる必要があります。 サービス自体は整理されているので、1日10回、数分間そこに行って、時間がない場合はほとんど意味がありません。 オフラインプログラムは時間的に同じように動作します-レッスンには、ロシア語から英語への単語の翻訳、逆翻訳、提案されたオプションからの翻訳の選択などのための一連の演習が含まれます。 レッスンを完了する必要があります。それ以外の場合は、単にカウントされません。 少なくとも私にとっては、結果は悲しいものです。 職場では-良心は30分を割り当てることができませんし、自宅では-時間がありません。 時々、別のやる気を起こさせる記事を読んだ後、熱意が燃え上がることがありますが、1か月後には落ち着き、明日遅くまでレッスンを延期し始め、月曜日から毎日勉強を始めることを約束します...



したがって、最小限の時間で自分自身を思い出させるプログラムが必要であると判断されました。 それは非常にシンプルに見えます-ウィンドウがポップアップし、5つの正解の後、いくつかの単語を翻訳するように求められます-プログラムは終了します。 30分後、再び起動します。 特にタッチタイピングスキルで5つの正解を入力するには、1分かかります。これにより、自宅でも職場でも勉強できます(良心で1時間に数分過ごすことができます)。 現時点でいくつかの重要な作業を行っている場合-ウィンドウを最小化し、タスクから気を散らすことなくプログラムが落ち着く場合、避けられない休憩中にレッスンを進めることができます。 とにかく、遅かれ早かれ誰もがお茶や昼食などのために仕事から気をそらされるでしょう。

したがって、各個人レッスンに費やされる時間を最小限に抑えてプライベートにレッスンを繰り返すことと、言葉を繰り返すのがいいことを思い出させます。



次は学習する単語のセットです。
何らかの理由で、すべてのアプリケーションは、必要な最小数の単語に対する正解を完了した後、学習したことに注意すべきであり、もはやそれについて考える必要はないと考えています。 はい、遅かれ早かれ彼を忘れます! 単語をテーマ別辞書に分割することを理解したことはありません。 携帯電話用の同じワードステップクライアント-それぞれ約50語の辞書のセットがあり、辞書を選択するレッスンで、この辞書から追い出されます。または別の単語、1日、2週間、1週間などの繰り返しのためにマークされます。 その結果、5つの異なる辞書を蓄積し、各辞書には今日繰り返し用にマークされた2〜3単語しかないため、すべての辞書を調べて、レッスンに必要な単語数の辞書を見つける必要があります。 少なくとも電話クライアントでは、少なくとも何らかの形で辞書をマージする方法はありません。



解決策として、形式は1つの大きな辞書の形式で選択されました。 言葉が終わるとすぐに、新しい言葉を最後に追加します。 レッスンでは、次のように単語を選択します。50ピースのセットを作成し、学習し始めたすべての学習ピースを追加します。 各単語には、この単語が繰り返された時間、その単語に対する正しい答えの割合、あなたが最後に正しく翻訳したかどうかなどに応じて評価が与えられます。 次に、リストから翻訳用に提供される単語がランダムに選択され、その単語の評価が高いほど、提供される可能性が高くなります。 もちろん、学習した単語は、学習中の単語よりも格付けがはるかに低くなりますが、遅かれ早かれ、それらを繰り返します。繰り返して多くの間違いを犯した場合、それらは未検討の単語のカテゴリに戻ります。 評価を計算するための統計は、転送の方向ごとに別々に保持されます:Ru-> EnおよびEn-> Ru。 さらに、たとえばロシア語から英語に学習するために新しい単語を選択する必要がある場合、まず最初に学習済みまたは別の翻訳方向で学習中の単語を使用します。そのため、辞書の前半を英語から英語に翻訳することを学んだことがわかりません。英語からロシア語への秒。

その結果、1つの大きな辞書があり、その各単語は体系的かつ一貫して研究され、その後定期的に繰り返されます。



以下は辞書です。
自分で学習するための独自の語彙を作成することにした場合、ほとんどのプログラムは、「便利な」GUIインターフェースを提供します。 私の意見では、これは非常に不便です。特に、興味のあるトピックについてインターネット上のどこかで見つけた100個のセットをすぐに追加したい場合はそうです。 単語の翻訳を「カスタマイズ」する可能性についても話したくありません。複数の可能な翻訳をカンマで区切って入力し、回答時に大文字小文字を無視できるようにするとよいでしょう。 そしてそれだけです。これ以上の機会はありません。



これらの理由により、辞書を補充するためのGUIインターフェースは拒否され、辞書自体はjson形式の単純なテキストファイルに配置されました。ここでは、余分なものはなく、単語、転写、翻訳のみがコンマで示されています。 さて、インターネット上で英語で最も頻繁に使用される千の単語を含む次のページを見つけたらすぐに、それをコピーして任意のエディターに貼り付けてください。たとえば、崇高なテキストでブロック編集をサポートすると、5-10分で目的の形式になります。 後で単語を編集することも楽しみです。 また、辞書に翻訳を設定する機能が追加されました:

  1. これは、単語のいずれかが正しいと見なされる場合に、コンマで区切られた単語を翻訳するためのいくつかのオプションを示す広範な機能です。
  2. たとえば、「チーム」と「コマンド」は「チーム」として翻訳されます。そのため、コンテキストを指定せずに「チーム」という単語を英語に翻訳しようとすると、なんとなくばかげています。 この場合、次のように辞書の括弧内の説明を使用できます: ["team"、 "ti:m"、 "team(group)"]["command"、 "kə'mɑ:nd"、 "team( order) "] 。 さて、演習では、プログラムはフレーズ「team(group)」または「team(order)」を翻訳するように明示的に要求しますが、「team」または「command」という言葉を反対方向に翻訳します。説明を書く必要はなく、「team」と答えるだけです。
  3. ロシア語に翻訳する場合、多くの場合、単語の終わり(または別の部分)は重要ではありません。 たとえば、「angry」は「angry」、「angry」、「angry」などと翻訳できます。 混乱を避けるために、翻訳では、例えば["angry"、 "'æŋgri"、 "angry []]"]のように、単語のオプション部分を角括弧でマークできます。 これで、インターフェースのどこでも翻訳は「怒っている」と表示されますが、「怒っている」という言葉に対する応答として、「怒っている」で始まる任意の言葉を入力できます。 上記:「怒っている」、「怒っている」、「怒っている」など ブラケットは任意の数字で、単語の任意の部分にすることができます




辞書デザインの例はここにあります

もちろん、このような辞書をコンパイルするには、汗をかかなければなりませんが、編集の容易さと結果により、この作業は正当化されます。



さて、もう一つの重要なプラス:
これらはすべてオープンソースであり、Pythonで記述されています。これは、言語の単純さと読みやすさにより、非常に幅広い人々がソースコードを自分で修正できるようにするものです。 リビジョンの興味深い結果を公開して、リポジトリに戻って、積極的に行うことをお勧めします。 また、Pythonは「自動的に」高度なクロスプラットフォーム互換性を提供します(スクリプトはWindows7およびUbuntuでテストされました。他のバージョンやMac OS Xで問題が発生しないことを望みます。残念ながら、どこでもテストする方法はありません)。



同期する



私は一度に複数のコンピューターでプログラムを使用しているため、統計と辞書の何らかの同期が必要でした。 自分で書くことは、経験を除いてあまり意味がありません。 そのため、多くのファイル同期サービスのいずれかを使用することが決定されました。プログラムフォルダー全体または統計とディクショナリを含むファイルのみを配置し、設定でそれらへのパスを修正できます。 プログラムはわずかに修正され、各レッスンの前に辞書から現在のバージョンの辞書と統計がファイルから読み取られ、レッスンの最後に統計が再読み取りされ、最後のレッスンに関する情報が追加され、すべてがファイルに保存されるようになりました。 これにより、常に最新バージョンのディクショナリで作業することが保証され、別のコンピューターからの結果を上書きせずにレッスンの統計を保存する場合は、レッスンが完了する前にdropbox(またはそのアナログ)の同期が完了していることを確認するだけで十分です。



統計



さて、進行状況を視覚化せずにどのような語彙補充プログラムを使用しますか。 プログラムのメインウィンドウの右上隅には、文字「i」が付いたボタンがあります。このボタンをクリックすると、辞書にあるすべての単語のリストと、それぞれの情報が表示されます。

単語の詳細な統計






また、最後のタブでは、すべての単語の要約統計を一度に表示できます。

一般統計








設定



エクササイズのパラメータ、それらの間の時間、およびディクショナリと統計ファイルへのパスはコメント付きの別のファイルに配置されるため、それらを分離するためにコードを登る必要はありません。



設置



スクリプトの一部の特別なインストールでは、「%path_to_Python26%\\ pythonw.exe%path_to_main.py%\\ main.py」という形式の行を起動時に登録するのに十分である必要はありません。 そしてもちろん、Python 2.6がインストールされています(ただし、他のバージョンの2.Xでもすべてがうまく機能する可能性が高いです)。 tkinterを使用したGUIには、特別なライブラリは使用せず、標準のデフォルト配信オプションのみを使用しました。ほとんどの場合、pythonが付属しています。 Linuxでは、Pythonはすでにインストールされている可能性がありますが、tkinterパッケージを再インストールする必要がある場合があります。



おわりに



実際には、記事を書いてプログラムをパブリックドメインにすることの目標は、最大数の人々からフィードバックを受け取ることです。 改訂のための新しいアイデアと、既存の実装を批判することに非常に感謝しています。 アイデアや批判がリポジトリへのコミットとして表現されれば素晴らしいでしょう。



PS:私はその中に定められたプログラムと原則が英語の単語を勉強するための普遍的で最も正しい方法だとは全く言いません。 これは、この段階で私を助けるだけのテクニックです。 プログラムが他の誰かの生活を楽にしてくれるなら、これは素晴らしく素晴らしいものです。なぜなら、代替手段の可用性は常に良いからです。



All Articles