2021年5月19日水曜日

英単語学習アプリ Vocabee を作った

英単語学習アプリ Vocabee を作りました。 英単語ってやたらみんな気になるみたい。 色々使ってみたところ、まあまあ良いのはあるんだけど、どれもあまりしっくりこない。 少し怪しめのところをうまく扱う仕組みが欲しいなあとか、もっと頻度をきっちり意識したのが欲しいなあとか、色々な課題は感じます。 作ってみました。



基本的な仕組みの改善

英語が得意な人たちは、単語についてだいたい同じことを言ってる気がしますし、実際その通りだと思います。 (1)高速に、(2)紐付けて覚え、(3)効率的にくり返す。 あとはレベルごとのケースバイケースですね。

高速に学ぶ

1は UI の話です。 英語は即座に答えられるかどうかなので、覚えるときもそれを意識させることは割と重要です。 自己採点の YES/NO が最速に確認できていいと私は思っていますが、学校などのテストに使えない問題はあります。 4択問題は覚えるのには使いにくいけど、テストに使える。 両方用意が良さそうですし、さらに色々あっても良いかも知れない。

英単語は正確に理解するのは無理で、イメージが大切だと思っています。 例えば WordNet で適当に検索すると、簡単な単語でもすさまじい量の語義があり、とても覚えられるものではありません。 瞬間的に意味が思い付くかのほうが重要、意訳のイメージが重要、だからこそ YES/NO が基本的には良いと思ってます。 そして瞬間的に出てくるべき意味は利用頻度が高く文に依存しない単語です。 このへんの考え方をしていないアプリが多い気がするのですが、割と重要なとこに思います。

あともっと単純な理由として、私は4択問題で覚えるのが嫌でした。 解いたときは瞬間的に選んでるだけで覚えるステップがなく、思考をブロックされる。 解き終わった後に並べて覚える作業こそが大切なんじゃないかと思ってます。 どのアプリもそのへんが課題に思えて、頭に入ってくる感じがしなかったので、色々と改良しました。 最後に解答を表示し、選択肢を間違った時にも極力覚えさせるステップを入れました。

紐づけて覚える

2は脳構造と技術の話です。 紐付けて覚えることは大切です。 しかし動画などの紐付けは難しく、ユーザ体験を良くするのは難しい印象です。 技術の限界もよく考えないといけないと思ってます。 他の方法はどうなっているでしょうか。

例文は難しい

例文はすぐに思いつく方法です。 しかし実際色々なアプリを使ってみたのですが、例文を見てもよくわからず時間ばかり取られることが多く、動画と同じ問題があるように感じました。 多くの人が知りたいのは語義のわかる短文だと思うのですが、作るのはすごく大変です。 語義をきちんとわかるようにしようとすると文字が多くなるので読むのが面倒になる。 そして例文を載せる時、UI が難しくて、どの使い方に対する例文なの?みたいな話が出てきて、個人的にはうーん。

逆に文を短くし汎用性を極限まで高めると、それは文法の学習になります。そしてただ短くすればいいかというとそうでもないです。 わかりやすい例として、文法は初学者ほど make from, make by みたいなのを分離して覚えがちな問題があります。 このような単純な文法のほとんどは単語の意味をしっかり理解していれば、覚える必要がありません。 というか下手な覚え方をすると大学受験の問題が解けなくなります。 つまり言いたかったことは、例文を載せるのは思ってるより難しいということです。

画像と音声ならいける

単語のイメージを脳に叩き込むのに現実的な解法は、文字以外だと音声、画像だと思います。 この2つに意味がある理由は明確です。 音声についてはスペルがわかりにくくても発音構造がわかってしまえば母国語の知識でわかるものがあるからです。例えば sausage とかね。 サウサゲと読んでいたら覚えられませんが、きちんとした発音理解があればすんなり理解できます。 発音記号はなくて良いと個人的には思っていて、発音そのものを覚えてしまえばいい。 画像は単語に対するイメージを持つのに便利。どちらも瞬間的に理解できるのが良く、効率的なくり返しの妨げになりません。 理想は文法要素を画像で瞬間的に理解できること。 例文でもきちんとできてないことなので限度はあるけど、例文で覚えるよりは遥かに効率が良いと思う。

詰め込みすぎない

現在の結論としては、単語をイメージとして覚えるのと、正確に覚えること、用例をきちんと覚えることは、それぞれ独立しているので、あまり詰め込まないほうが良いんじゃないかなあと思ってます。 文法を単語学習に組み込むのはアリだと思ってるのですが、頻度がわからないからなあ。 難しいことを考えるくらいならアプリは分けたほうが良いと思うし、 Vocabee は単語をイメージとしてすばやく覚えることに注力していきます。 そして技術的にも UI 的にも「ユーザが必要と思ったときにボタン一つで調べられる」が現実解じゃないかなあ。

効率的にくり返す (無駄のない学習)

3は普通過ぎる話ですが、意外と効率を意識したアプリが少ない気がします。 効率を重視しているからアプリを使うのに、なんか不思議な感じ。 プレイしていて、なんで私はこの単語テストやってんだろうとは思わないようにしたい。 そもそもテストがいるのか? 反復練習がいるのか? …など考えると、自己採点とテストは分けるべきだと思ってます。

あと最初の学習が苦痛なものが結構多かったです。 やはり「これ意味ないよな?」と思わせないことは大事な気がして、 そのためには自由な位置から始めて、自由に戻ったり先に進めるのが良いと思いました。

mGSL という一つの単語リストですべての単語帳を作ってるのも大切なところです。 なんちゃら英単語みたいなのを何度も購入するのではなく、科学的に効率的に学習しようということです。 財布にも易しいし、学習履歴をきちんと活用できます。

応用的な仕組みの改善

このように細かく見れば改善点は多いのですが、既に山ほどある英単語アプリを、平凡に作り直すのはあまり面白くありません。 しかし作りたかった理由が 1つだけあって、それは「どのアプリも学習履歴を有効活用できない」からです。 学校のテストも自宅の勉強もバラバラでは非効率です。そういうのはそろそろやめようと。 そこで Google Spreadsheet に書き出して、学校でも個人でもデータを共有できるようにしました。 情報流出しないし、学校関係者も使いやすいアプリになってると思います。

実装面では Google Spreadsheet を利用し、完全な静的サイトとして構築しました。 実装的には Dropbox / Box / OneDrive のほうが楽そうだけど、学習状況をブラウザで見れるのが良いかなと。 どちらも一昔前だとできなかった実装方法で、この実装方法を選べるようになって最近は気楽にアプリが作れますね。 ただ公開ステップを勘違いして 3週間くらい迷走し、Google さんにご迷惑をかけて申し訳なかった。 API 使うと毎回何かしら公開直前にハマってる気がする。そのへんが API の課題と言えば課題なのかも。

1 件のコメント:

匿名 さんのコメント...

楽しみです