AIがSakeSaySoの英語学習を支える仕組み

AIによる英語学習を表現したChatGPT/DALL·Eイラスト。 SakeSaySoのプロジェクトを進める中で、私たちは様々なAIツールを試行錯誤しながら、学習体験を自動化し豊かにする方法を探ってきました。このプロジェクトは当初、コンテンツ作成の自動化やセルフホスティング、プライバシー、オープンソースの原則を取り入れることを目指したサイドプロジェクトとして始まりました。ほとんどのアイデアは、東京の居酒屋での会話から生まれ、そこでは、飲み物よりも自由に流れている唯一のものは、言語学習を変えることについてのアイデアです。 アプリ自体、ロゴ、翻訳やコンテンツのほとんどは、ChatGPTやDALL·E 3(まさに、本アプリのロゴは数秒で作成され、その後SVGに変換されました)、Github Copilot、Claude.ai、その他のAIツールを使って開発されました。コンテンツを常に新鮮で魅力的に保つことが課題でしたが、これは大きなリソースを割くことなく解決する必要がありました。これはあくまで小規模なサイドプロジェクトです。そのため、私たちは大規模言語モデル(LLM)を活用し、日々のニュースサマリーやソーシャルメディアコンテンツの自動生成に挑戦しました。 自動ニュースサマリー(アプリ内) 私たちはRSSフィードを通じて様々なソースからニュースのヘッドラインを集約するシステムを開発しました。このプロセスは次のように進行します: ヘッドラインの取得: システムは、一般ニュース、科学、経済、スポーツなどのトピックに関する最近の記事を取得し、1週間以上前のコンテンツは除外します。 サマリーの生成: LLMを使用して、これらの記事の簡潔なサマリーと翻訳を生成します。モデルは、学習者に適した自然な言語を生成するのに役立ちます。 学習のためのフォーマット: サマリーは、重要な語彙やフレーズが強調されるようにフォーマットされ、語学習得に役立つ教育的な文脈を提供します。 自動ソーシャルメディア投稿 私たちは、エンゲージメントのための追加の接点を提供するため、ソーシャルメディアの自動化にも取り組みました。以下がそのアプローチです: ツイートの作成: システムは、日本語で軽いテーマの短いツイートを生成します。文化的に関連性があり、エンターテイニングな内容を作ることが目標であり、センシティブな話題や不快な内容を避けることに苦心しました。これはプロンプトエンジニアリング自体の挑戦でした。 多段階の精緻化: 生成されたツイートは、いくつかの段階を経て精緻化されます: コンテンツ評価: 適切さ、長さ(プラットフォームの文字数制限を守る)、教育的価値を確認します。 言語の質: 言語の自然さと明確さが確認され、語学学習において重要な要素となります。 翻訳と注釈: 英語の翻訳と簡単な説明を追加し、理解を助けます。 自動投稿: 承認されたコンテンツは自動的にスケジュールされ、手動の介入なしに投稿されます。 コンテンツが必ずしも驚くほど完璧で、完全に意味が通るとは限りませんが、楽しく言語や文化に触れる方法です。 生成されたツイート例(日本語とその英語翻訳を含む): 円相場が安定(あんてい)して、インフレイザーさんのツイートも減ったけど、BARではまだまだ盛り上がっているみたい。 The Bitcoin price has stabilized, and even the influencers' tweets have slowed down, but the bars are still lively. 🍺🎉 @sakesayso の投稿を参照 X で元の投稿を見る 私たちは、プロンプトやワークフローステップをさらに洗練させながら、その結果を見守っています。 データパイプラインとワークフローツール これらの自動化されたプロセスを管理するため、既存のソリューションは複雑すぎるか、私たちのニーズに合わないものでした。その結果、コンテンツ生成と配信に関わるワークフローを効率的に管理するために、カスタムツールを開発しました。Goで構築された軽量なワークフローオーケストレーションフレームワークであるKyodo TechのOrchidフレームワーク (GitHub)を使用し、複数ステップのワークフローを効率的に処理しています。主な機能は以下の通りです: 有向グラフ構造: ワークフローは、各ノードがタスクを表し、エッジが依存関係に基づいた実行順序を定義する有向非巡回グラフ(DAG)として定義されます。 タスク間のデータ受け渡し: タスクは標準化されたフォーマットでデータを受け渡し、モジュール性とスケーラビリティを確保します。 エラーハンドリングとリトライ: Orchidは堅牢なエラーハンドリングを提供し、一時的な問題で失敗したタスクに対してカスタマイズ可能なリトライポリシーを持ちます。 動的ルーティング: 実行時データや条件に基づいてワークフローが動的に分岐し、柔軟な実行パスが可能です。 コンテキスト管理: Goのcontextパッケージを活用してキャンセルシグナルやメタデータをワークフロー全体で管理します。 このOrchidフレームワークにより、データの取得からAIモデルによる処理、結果の精緻化、最終的な配信までの複雑なシーケンスを自動化し、手動の監督なしで実行可能にしました。 ...

2024年10月6日 · 1 分 · SakeSaySo

漢字の筆順と地域差

漢字は日本語表記の中核であり、東アジア各地でもそれぞれの実践のもとで使われています。SakeSaySo では Kanji Vector Graphics (KanjiVG) を用いて、漢字の筆順をアニメーション表示し、英語学習の中で日本語側を確認するときの理解も補強しています。 語彙ページ上の漢字 SakeSaySo v1.3.0 with Kanji Animation on Vocabulary Pages 単語カード上の漢字 SakeSaySo v1.3.0 with Kanji Animation on Flash-Cards KanjiVG は、漢字の形、筆の進む方向、筆順を詳しく表現したベクターグラフィックを提供しています。日本の漢字は繁体字中国語の字形から派生しており、構造や複雑さの面で多くの共通点があります。一方、中国本土で主に使われる簡体字は、筆画を減らし形を変えることで手書きや学習を容易にしています。日本の漢字は、繁体字に見られる元来の複雑さを多く保ったままです。この近さにより、漢字は日本語への入口であると同時に、台湾や香港のように繁体字が今も使われている地域との文化的・歴史的つながりも感じさせます。 漢字の構造は、部首と構成要素に分けて捉えられます。部首は分類や記憶に役立ち、構成要素は文字全体の意味や見た目を形作るうえで重要です。この区別は、各漢字がどのような論理で組み立てられているかを理解する助けになります。SakeSaySo では、英語学習者が日本語側の語彙や例文を確認しやすいよう、語彙ページと単語カードで筆順表示を標準で有効にしています。切り替えは設定メニューから行えます。 言語の奥行きや多様性に惹かれる人にとって、漢字は東アジアの文化的対話をのぞき見る魅力的な窓口です。SakeSaySo を少し触ってみて、ぜひ感想を聞かせてください。

2024年5月11日 · 1 分 · SakeSaySo

文ベースの英語学習

言語は文化をつなぐ橋であり、SakeSaySo は一文ずつその橋を渡る英語学習を支えたいと考えています。単語単体や文法規則だけに焦点を当てる従来型の学習法とは違い、SakeSaySo は文脈の中で英語を身につけることを重視しています。こうした文は、物語や実際の対話から取り出され、JMDict 辞書の支援によって文の断片、単語、活用を含むフレーズまで深く掘り下げられます。アプリには語彙とともに数千の例文が最初から収録されていますが、利用者自身の文を追加して、個人学習にもコミュニティ学習にも広げていくこともできます。 文は、現実の中で言葉がどう機能するかを理解するための文脈を与えてくれます。その文脈によって、語彙を自然に身につけ、文法構造を実際の使われ方の中で捉えやすくなります。文は単なる教材ではなく、パターン、ニュアンス、そして日常のやり取りにある言語の美しさを見せてくれます。 ChatGPT の時代になり、特定の実生活シナリオ向けの文を作ることもずっと簡単になりました。たとえば、年金事務所やハローワークのような日本の機関とやり取りするための対話も作れます。文ベース学習が実際の場面への準備に役立つことがよく分かります。 日本の年金事務所やハローワークを想定した ChatGPT の対話例 I think I need to enroll in social insurance here. Could you tell me how? こちらで社会保険に加入する必要があると思います。教えてもらえますか? I think I need to enroll in employment insurance and unemployment insurance here. Could you tell me how? こちらで雇用保険と失業保険に加入する必要があると思います。教えてもらえますか? なお、SakeSaySo v1.2.0 では最後の文の末尾に改行が必要でしたが、この不具合は v1.2.1 で修正されています。 文のインポート形式は単純で、各文を改行ごとに並べるだけです。英語→日本語でも日本語→英語でも構わず、アプリが自動的に言語を判別して適切なデッキへ追加します。文は単語カードとして学習でき、トークンを通じて個々の単語やフレーズも確認できます。文ページから辞書項目へ移動し、未知語を語彙デッキに追加することもできます。 文の入ったデッキ SakeSaySo Deck with Sentences 文を使った単語カード SakeSaySo Deck with Sentences 言語は教室の中だけのものではなく、生活のためのものです。SakeSaySo は、学んだ英語を実際の場面で使えるよう支えることを目指しています。

2024年3月29日 · 1 分 · SakeSaySo

単語カードデッキの共有

単語カードは長らく英語学習の定番であり、語彙、フレーズ、文を覚えるためのコンパクトで効果的な方法として使われてきました。SakeSaySo の語彙デッキは「共有しやすさ」を重視しています。単純なプレーンテキスト形式にすることで、作成や修正を簡単にし、デッキを気軽に共有できるようにしています。 コミュニティデッキは、SakeSaySo アプリ v1.2.0 以降で利用できます。主な特徴: 編集と共有がしやすいプレーンテキスト形式 インポートとエクスポートに対応 辞書マッチング: 任意で自動辞書マッチングを行い、定義、用例、辞書内の関連参照でデッキ項目を補強 adaptive SM-2 間隔反復 を使った単語カード学習 語彙デッキの根底にあるのは、英語学習は個人作業であると同時に共同作業でもある、という考え方です。デッキ共有を簡単にすることで、利用者同士が作ったものを持ち寄り、互いに恩恵を受けられる学習環境を育てたいと考えています。 コミュニティデッキはアプリ内の community セクションから利用できます。デッキは community repository から索引化されており、そこへコントリビューションできます。形式の詳細は 仕様ページ、共有や取り込み方法は インポート/エクスポートの説明 を参照してください。

2024年3月2日 · 1 分 · SakeSaySo

Adaptive SM-2 による間隔反復

間隔反復は、すでに学習した内容の復習間隔を心理学的な spacing effect に基づいて徐々に広げていく学習法です。暗記と想起の効率を高める戦略であり、語学学習では「より少ない負担で、より多くを覚える」ことにつながります。 Anki、FSRS、SuperMemo SM-17 は、複雑なアルゴリズムや細かなカスタマイズで知られています。一方の SakeSaySo は、派手なクラブというより近所の居酒屋のような存在です。私たちはもっと肩の力を抜いた方向を選びました。飲み物をすすりながら、想起品質を毎回細かく評価したい人はそう多くないはずだからです。 SakeSaySo の適応型 SM-2 を Anki、FSRS、SuperMemo SM-17 と比較するうえでは、まず私たちの意図を理解することが重要です。これらの成熟したシステムは、学習体験を細かく制御したい学習者に向けて、非常に包括的で高度なアルゴリズムを提供しています。 Anki: 高い汎用性を持つ SRS の代表格です。細かな調整が可能で、自分で最適化したい学習者に向いています。 FSRS: Anki 向けの FSRS は、高度なアルゴリズムで記憶予測と復習スケジュールを最適化します。データ重視の学習者向けで、複雑な味の違いから最適な日本酒を選ぶような感覚です。 SuperMemo SM-17: SRS の最先端 と言える存在で、長年の研究をもとに非常に洗練された復習間隔を提供します。最も科学的に高度な方式を求める人に向いています。 シンプルに、日本酒はそのまま味わう SakeSaySo の SM-2 は、もっと分かりやすく扱いやすい形に設計されています。Anki の奥深さや SuperMemo SM-17 の複雑さに並ぶことは目指していません。その代わり、分かりやすい UI と、理解しやすく改善しやすいアルゴリズムを提供することに重きを置いています。 長い一日のあとに、英語フレーズをどれだけ覚えていたかを毎回数値で評価したい人は多くないはずです。そこで SakeSaySo では、想起速度に応じて復習間隔を調整し、その速度の「その人にとっての普通」を学習者ごとに追跡する形にしています。平均値に対して標準偏差の範囲で素早く思い出せたなら次回間隔を延ばし、逆に遅ければ短くします。この適応型の方法は、利用者に余計な負担をかけずに学習効率を高めることを目指しています。また、学習者の想起速度の変化に応じて時間とともに調整されます。 FSRS の高度な分析や SuperMemo SM-17 の深い個別最適化には及ばないことは、私たち自身がよく分かっています。ただし、それを目標にもしていません。私たちの目的は、利用者から判断の負担を取り除きつつ、実装側はできるだけ単純に保つことです。英語学習はソムリエ試験のようである必要はなく、純米大吟醸を一杯楽しむように自然でリラックスしたものであるべきです。 一緒に作っていきましょう 私たちは、英語学習をお気に入りの一杯のように楽しめるものにしていきたいと考えています。まだすべての答えを持っているわけではありませんが、一歩ずつ改善し続けます。何がうまくいき、何が足りず、SakeSaySo をどう良くできるか。皆さんのフィードバックはそのための大事な材料です。 一杯注いで、肩の力を抜いて、英語を一緒に学んでいきましょう。

2024年1月27日 · 1 分 · SakeSaySo