swipe-typing / NOTICE.md
youcoded's picture
First release: model, model card, methods, credits
6fa2895 verified
|
Raw History Blame Contribute Delete
4.3 kB

Swipe Keyboard trained models, 2026-10-23

Models trained and released by Destin Moss via youcoded.ai, 2026. SPDX-FileCopyrightText: 2026 Destin Moss https://youcoded.ai

Four neural next-word models (English, Spanish, French, German) and one swipe-recognition model. They sit beside the language files published in release language-files-2026-10-22-open-words and are checked by SHA-256 against packaging/assets.lock.json in github.com/itsdestin/swipe-keyboard before use. A missing or damaged file only turns that model off (suggestions fall back to the n-gram files; swipes fall back to the geometric matcher); it never disables a language.

File What it is Declared licence
LANG.nwp.bin (en, es, fr, de) next-word model: a small recurrent network (one LSTM layer, integer weights, about 4.7 MB), used together with LANG.ngram ODC-By-1.0 AND CC-BY-2.0-FR
swipe-model.bin swipe recognition: small convolution + recurrent network (about 0.5 million weights, 2.1 MB) shared by all four languages MIT

How they were built

Scripts in github.com/itsdestin/swipe-keyboard (commit 14f9722 and its ancestors on branch feature/179-engine-in-keyboard):

  • Next-word models: scripts/lm/nwp/prepare.py (tokenise, vocabulary), train.py (train), tune.py (blend with the n-gram), export.py (write LANG.nwp.bin). Training text: the same FineWeb (English, sample-10BT) / FineWeb-2 (Spanish, French, German) text and Tatoeba sentences as the n-gram files, with test sentences held out (Tatoeba ids ending in 0, and sentences sharing an 8-word run with the test sets).
  • Swipe model: scripts/swipe/prep_data.py, assemble_futo.py, synth_swipes.py, train.py. Training data: real swipes from FUTO's swipe.futo.org dataset (MIT) plus synthetic swipes generated from our open word lists (our own noise model, no FUTO code or model weights). Sessions used for validation or final scoring were held out.

Sources and licences

  • Web text (next-word models) - FineWeb and FineWeb-2 by Hugging Face, Open Data Commons Attribution License v1.0 (ODC-By-1.0.txt); built from Common Crawl, whose terms of use also apply. The models contain learned weights, never text.

  • Short everyday sentences (next-word models) - Tatoeba (tatoeba.org), CC BY 2.0 FR (TATOEBA-CC-BY-2.0-FR.txt). The contributors are credited in en-CONTRIBUTORS.txt, es-CONTRIBUTORS.txt, fr-CONTRIBUTORS.txt, de-CONTRIBUTORS.txt in release language-files-2026-10-22-open-words.

  • Real swipes (swipe model) - the swipe.futo.org dataset, https://huggingface.co/datasets/futo-org/swipe.futo.org, MIT licence, reproduced below and in FUTO-SWIPE-DATA-LICENSE.txt:

    MIT License
    
    Copyright (c) 2025 FUTO
    
    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
    documentation files (the "Software"), to deal in the Software without restriction, including without limitation
    the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
    to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all copies or substantial portions
    of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
    THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
    IN THE SOFTWARE.
    
  • Synthetic swipes (swipe model) - generated by us from the open word lists above; no third-party terms.

Changes made: text was split into sentences and reduced to letter words before training; swipes were resampled and normalised to key positions; the trained weights were converted to the compact formats the keyboard reads. These models contain no FUTO model weights and no FUTO code. https://github.com/itsdestin/swipe-keyboard