{"id":13607647,"url":"https://github.com/Wavesonics/SymSpellKt","last_synced_at":"2025-04-12T14:30:57.568Z","repository":{"id":220901821,"uuid":"752869721","full_name":"Wavesonics/SymSpellKt","owner":"Wavesonics","description":"A Kotlin Multiplatform implementation of the SymSpell algorithm.","archived":false,"fork":false,"pushed_at":"2025-03-27T08:31:12.000Z","size":14298,"stargazers_count":49,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T09:38:24.851Z","etag":null,"topics":["kotlin","kotlin-multiplatform","spellcheck","spelling","spelling-correction"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wavesonics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-05T01:59:06.000Z","updated_at":"2025-03-27T08:31:16.000Z","dependencies_parsed_at":"2025-03-27T09:29:46.767Z","dependency_job_id":"0734f109-62ed-4dd8-a944-1476e15b3b64","html_url":"https://github.com/Wavesonics/SymSpellKt","commit_stats":null,"previous_names":["wavesonics/symspellkt"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wavesonics%2FSymSpellKt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wavesonics%2FSymSpellKt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wavesonics%2FSymSpellKt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wavesonics%2FSymSpellKt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wavesonics","download_url":"https://codeload.github.com/Wavesonics/SymSpellKt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248581036,"owners_count":21128092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","kotlin-multiplatform","spellcheck","spelling","spelling-correction"],"created_at":"2024-08-01T19:01:20.426Z","updated_at":"2025-04-12T14:30:57.563Z","avatar_url":"https://github.com/Wavesonics.png","language":"Kotlin","funding_links":[],"categories":["Kotlin","人工智能"],"sub_categories":["自然语言处理"],"readme":"# SymSpell Spell Check Kotlin\n\n![Build Status](https://github.com/wavesonics/SymSpellKt/actions/workflows/ci-build.yml/badge.svg?branch=main)\n[![Maven Central](https://img.shields.io/maven-central/v/com.darkrockstudios/symspellkt.svg)](https://search.maven.org/artifact/com.darkrockstudios/symspellkt)\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n\n[![Kotlin](https://img.shields.io/badge/kotlin-2.0-blue.svg?logo=kotlin)](http://kotlinlang.org)\n\n[![KMP](https://img.shields.io/badge/supported-platforms:-blue.svg?logo=kotlin)](http://kotlinlang.org)\n![badge-jvm] ![badge-android] ![badge-wasm] ![badge-wasmi] ![badge-jsir] ![badge-linux] ![badge-windows] ![badge-mac-x86] ![badge-mac-arm]\n![badge-ios] ![badge-ios-sim]\n\n_This is a Kotlin Multiplatform implementation of the [symspell](https://github.com/wolfgarbe/symspell) fuzzy search\nalgorithm. It has been ported from this [Java implementation](https://github.com/MighTguY/customized-symspell/) of symspell._\n\n## Dependency\n\n`implementation(\"com.darkrockstudios:symspellkt:3.3.0\")`\n\n## Sample\n\nTry out the sample desktop application:\n\n`gradlew sampleCompose:run`\n\n[Try sample here](https://wavesonics.github.io/SymSpellKt/)\n[![Sample Compose Screenshot](sample.png)](https://wavesonics.github.io/SymSpellKt/)\n\n## SymSpell v6.6 (Bigrams)\n\n* the optional bigram dictionary in order to use sentence level context information for selecting best spelling\n  correction.\n\n## SymSpell\n\n* The Symmetric Delete spelling correction algorithm reduces the complexity of edit candidate generation and dictionary\n  lookup for a given Damerau-Levenshtein distance.\n* It is six orders of magnitude faster (than the standard approach with deletes + transposes + replaces + inserts) and\n  language independent.\n* Opposite to other algorithms only deletes are required, no transposes + replaces + inserts. Transposes + replaces +\n  inserts of the input term are transformed into deletes of the dictionary term.\n* The speed comes from the inexpensive delete-only edit candidate generation and the pre-calculation.\n\n## Fdic: Binary Frequency Dictionary file format\n\nIn order to optimize for size on disk, and speed of loading and parsing, I made a little file format to encode the\ncommon plain text frequency dictionaries use with SymSpell style spell checkers.\n\n[fdic](Fdic/README.md) is both smaller on disk, and faster to load than either plain text or gzipped dictionaries. In some cases being:\n- 70% faster to load and parse\n- More than 40% smaller on disk.\n\nThere is a [CLI program](FdicCli/README.md) for producing `.fdic` files from a standard plain text frequency dictionary, as well as some \nextension functions in an [addon library](SymSpellKtFdic/README.md) for loading them into a SymSpellKt SpellChecker object.\n\n[badge-android]: http://img.shields.io/badge/-android-6EDB8D.svg?style=flat\n[badge-jvm]: http://img.shields.io/badge/-jvm-DB413D.svg?style=flat\n[badge-js]: http://img.shields.io/badge/-js-F8DB5D.svg?style=flat\n[badge-js-ir]: https://img.shields.io/badge/support-[IR]-AAC4E0.svg?style=flat\n[badge-linux]: http://img.shields.io/badge/-linux-2D3F6C.svg?style=flat\n[badge-windows]: http://img.shields.io/badge/-windows-4D76CD.svg?style=flat\n[badge-wasm]: https://img.shields.io/badge/-wasm-624FE8.svg?style=flat\n[badge-wasmi]: https://img.shields.io/badge/-wasi-626FFF.svg?style=flat\n[badge-jsir]: https://img.shields.io/badge/-js(IR)-22D655.svg?style=flat\n[badge-apple-silicon]: http://img.shields.io/badge/support-[AppleSilicon]-43BBFF.svg?style=flat\n[badge-ios]: http://img.shields.io/badge/-ios-CDCDCD.svg?style=flat\n[badge-ios-sim]: http://img.shields.io/badge/-iosSim-AFAFAF.svg?style=flat\n[badge-mac-arm]: http://img.shields.io/badge/-macosArm-444444.svg?style=flat\n[badge-mac-x86]: http://img.shields.io/badge/-macosX86-111111.svg?style=flat\n[badge-watchos]: http://img.shields.io/badge/-watchos-C0C0C0.svg?style=flat\n[badge-tvos]: http://img.shields.io/badge/-tvos-808080.svg?style=flat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWavesonics%2FSymSpellKt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWavesonics%2FSymSpellKt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWavesonics%2FSymSpellKt/lists"}