本文へ
Nonbiri

開発中

日本語を学ぶ人と教える人のためのiPadアプリ

辞書・漢字・文法・読解・試験対策・間隔反復を、ひとつのオフライン優先のネイティブアプリにまとめ、単一の学習記録の上で動かします。同じデータの上に先生用の画面もあります——課題の割り当て、宿題、採点、日程、チャット。

iPadOS · iOS · macOS

公開したら知らせてほしい

できること

01

すべてがひとつの学習記録の上に

ふつうは、間隔反復にひとつ、辞書にひとつ、漢字にひとつ、文法にひとつ、読解にリーダー、説明にチャットボット——どれも良い道具ですが、互いのことを何も知りません。筋は同じ仕事をひとつのオフラインアプリにまとめ、ひとそろいの学習データを共有させます。

02

同じデータの上に立つ先生側

同じログインの裏に、6区画の先生用画面。要注意者でまとめたクラス一覧、宿題の作成と採点待ち、RFC 5545に沿った定期レッスンの日程、チャット、そして先生が自分で作るか取り込める教材ライブラリ。

03

一画ずつ採点される手書き

MetalのキャンバスがApple Pencilの筆圧・傾き・方位を読み取り、動的時間伸縮でKanjiVGの手本と軌跡を照合します——書き順、方向、字形、位置まで。ガイドが手を導き、上達するにつれて静かに引いていきます。

04

手持ちのテキストがそのまま教材に

形態素解析が文を語に分け、語をタップすればオフライン辞書が開き、ふりがなは語ごとに任意。文中の文法パターンを拾い出して、文法解説へ結び付けます。

05

教科書の写真から取り込む

取り込み口は4つ、流れはひとつ。カメラまたはPDFをOCR、Ankiデッキ、貼り付けたテキスト、リンク。取り込んだ素材はJLPTの級に照らしてレベル分けされ、読みと意味が補われ、学習セットと練習問題になります。

06

本番と同じ形式の試験対策

JLPT・NAT-TEST・J.TEST・JFT-Basic、それぞれの区分構成と採点方式で。 JLPTの14種類の設問形式、時間を計った通し模試、区分ごとの基準による採点 ——ひとつの区分での不合格は、総合の不合格とは別に扱われます。

なぜつくったか

ひとつのイベントログの上に載った、ひとつの学習モデル。だから41種類のアクティビティが、各ドリルごとに別々の成績を持つのではなく、ひとつの記録を共有できます。

iPad で

01一日の学習をひと画面で
02一画ずつ採点される手書き
03辞書のついた読解
04すべての項目がそれぞれの段階に
05先生のクラス一覧

中身

辞書
  • 漢字13,108字。読み、JLPT級、学年、頻度、部首つき。うち6,703字は筆順アニメーション付きです。
  • 見た目の似た漢字19,450組を対応づけています。「間違えやすい」の学習セクションと、練習問題のもっともらしい誤答をつくる材料の、両方に使います。
  • 漢字と構成要素の関係14,487件、そして150の音符シリーズをそのまま講座に。「工があるからこうと読む漢字」がひとまとまりで並びます。
  • 辞書項目31,151件、語義157,696件。うち21,336件に高低アクセント、例文は30,035件。固有名詞の読み613,270件は別のデータベースに入っています。
  • N5からN1までの文法パターン684件、例文2,714件、前提関係のグラフつき。読んでいる文章の中からそのパターンを見つけて印をつけます。
  • 既成の講座236件とコンテンツパック30件。JLPTの級、学年別、頻度帯、大阪弁、俳句、交通ルール。
  • どれも通信で取りに行きません。参照系の画面はすべてオフラインで動きます。
稽古
  • カード、文法、語彙、漢字、聴解、読解にまたがる41種類の練習。すべてがひとつのイベントログに書き込まれるので、ドリルごとに別々の成績を持つのではなく、ひとつの学習記録にまとまります。
  • FSRS-5による間隔反復。5段階の習得ステージがあり、受け身の「出会い」と能動的に「思い出す」ことを分けて扱います。
  • 手書きはMetalのキャンバス上で。Apple Pencilの筆圧・傾き・方位を読み取り、動的時間伸縮でKanjiVGの手本と照合します。書き順、方向、字形、位置まで。
  • 強さ3段階の磁石は試行ごとに弱まり、ゴーストの手本も上達するにつれて薄くなります。方向の矢印は直線ではなく、その画の曲がりに沿います。
  • 活用形33種類の専用ドリルと、文の組み立て。まず端末内の形態素解析で確かめ、そのあとモデルが自然さを見ます。
  • 会話練習は6つの場面。語彙は学習者の級に合わせて制限していて、モデル任せにしていません。
読解
  • 形態素解析が文章を語に分けます。語をタップすればオフライン辞書が開き、そのまま自分のセットに入ります。
  • ふりがなは「なし・未知語のみ・すべて」の三択。画面ごとではなく一箇所で決まります。改行は語の途中で切れません——ウェブの日本語では、たいてい切れます。
  • 文中の文法パターンに注釈がつき、解説へ飛べます。文単位の翻訳は必要なときだけ。
  • 取り込み口は4つ、書き込む前に必ず確認する流れはひとつ。カメラまたはPDFをOCR、Ankiのデッキ、貼り付けたテキスト、リンク。
  • 取り込んだ素材はJLPTの級に照らしてレベル分けされ、読みと意味が補われ、学習セットと練習問題に分かれます。
試験
  • JLPT、NAT-TEST、J.TEST、JFT-Basic。それぞれ独自の区分構成、合格基準、採点方式で。
  • JLPTの設問形式14種類と、N5の問題2,141問。
  • ひとつの設問形式だけを練習するか、時間を計った通し模試を冊子と解答用紙の形で。
  • 採点は区分ごとの基準で。ひとつの区分での不合格は、総合の不合格とは別に数えます——本番と同じように。
  • 終わったあとは一問ずつの見直し。過去の挑戦の履歴も一緒に見られます。
教室
  • 同じログインの裏に、6区画の先生用画面。別のアプリではなく、役割の切り替えで入ります。
  • クラス一覧は状態でまとめます——安定している人、取り組み中の人、遅れている人。宿題の準備状況と、最後に触れてからの時間つき。
  • RFC 5545の規則で繰り返す定期レッスン、日付ごとの例外つき。ひとつのレッスンが、準備・授業・そのあとの宿題をまとめて抱えます。
  • ライブ授業では、先生が漢字や語や文章を送ると、生徒の画面にすぐ現れます。
  • 宿題は学習セット、ドリル、クイズ、課題、参考資料から組み立てます。採点待ちの一覧と、生徒ごとの進み具合が見えます。
  • レッスンのチャットと個別のチャット、添付はオフライン対応の送信キュー経由。先生が自分で作るか取り込める教材ライブラリもあります。
  • アクセスは行レベルセキュリティで先生と生徒の関係に限定しています。ある先生が別の先生の生徒に届くことはありません。
補助
  • 端末内のモデルで足りるところは端末内で、足りないところだけクラウドで。モデルが使えない場面ではボタン自体が消えます——押せない飾りは置きません。
  • 生徒向けのアシスタントは、記憶ではなく同梱の辞書と文法に基づいて答えます。いま何を学んでいて、前回どこを落としたかを踏まえます。
  • 先生向けの副操縦士は、実際の進捗のスナップショットから動きます。誰が落ちてきたか、次に何を出すか、クラス全体で同じ間違いをしているのはどこか。
  • すべて自前のプロキシ経由で、クライアントに鍵は入っていません。

つくりかた

Swift 6のネイティブコードをstrict concurrencyの下で。40ほどのモジュールからなるアンブレラパッケージで、ドメイン中核・永続化層・UIのあいだに境界を引いています。作業はまずローカルのSQLiteに入り、アウトボックスキューを通してSupabaseと突き合わされるので、電車の中でもアプリは動き続けます。参照データは取りに行くのではなく同梱です——13,108字の漢字、うち6,703字の筆順字形、31,151件の辞書項目、684の文法パターン、613,270件の固有名詞の読み。反復はひとつのイベントログの上のFSRS-5で、だからこそひとつの学習モデルが 41種類の活動を扱えます。各ドリルが別々に成績を持つのではなく。現在も開発中です。上に並べた範囲は、ひとりで早く終わる量ではありません。

  • Swift 6
  • SwiftUI
  • GRDB / SQLite
  • Supabase
  • FSRS-5
  • Sudachi
  • Apple Vision
  • FoundationModels
  • PencilKit
  • Metal

FSRS-5

公開されている間隔反復アルゴリズムの第5版。Ankiにも採用されているので、ここでのカードの難易度は、そちらでの難易度と同じ意味を持ちます。

KanjiVG

手書き判定が採点の基準にしている、公開の筆順データセット。13,108字のうち 6,703字だけが筆順アニメーションを持つのも、手を抜いたからではなく、このデータの収録範囲がそこまでだからです。

Sudachi

日本語を単語に区切る形態素解析器。読解画面の処理は、まずこの分割が済まないと何ひとつ始まりません。