SymSpell
fzf
SymSpell | fzf | |
---|---|---|
16 | 407 | |
3,040 | 59,920 | |
- | - | |
5.8 | 9.6 | |
about 1 month ago | 3 days ago | |
C# | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SymSpell
-
Should you combine edit distance "spell check" algorithms with phonetic matching algorithms for robust keyword finding?
The SimSpell algorithm uses deletions to determine edit distance of the input query word compared to a dictionary of correctly spelled words. The Double Metaphone algorithm (or other phonetic algorithms) convert the words to phonetic versions (phonetic "hashes" basically), and you then search based on the input phonetic hash matching the dictionary of phonetic hashes.
- Show HN: I automated 1/2 of my typing
-
Learn more about spell checkers
Books: a. "Speech and Language Processing" by Daniel Jurafsky and James H. Martin (3rd Edition) - This book covers various aspects of natural language processing, including a section on spelling correction that provides a comprehensive introduction to the topic. b. "Foundations of Statistical Natural Language Processing" by Christopher D. Manning and Hinrich Schütze - This book provides an overview of statistical approaches in NLP, including a chapter on spelling correction. Articles: a. "How to Write a Spelling Corrector" by Peter Norvig - This article demonstrates the development of a simple spelling corrector using statistical algorithms. It's a great starting point for understanding the basics of spell checkers. (Link: https://norvig.com/spell-correct.html) b. "The Design of a Proofreading Software Service" by Michael D. Garris and James L. Blue - This article presents the design and implementation of a spelling correction system that can be integrated into various applications. (Link: https://www.nist.gov/system/files/documents/itl/iad/89403123.pdf) c. "A Fast and Flexible Spellchecker" by Atkinson, K. (2006) - This article details the design of a spell checker that uses a combination of rule-based and statistical approaches for improved performance. (Link: https://aspell.net/0.60.6.1/aspell-0.60.6.1.pdf) Online Resources: a. The Natural Language Toolkit (NLTK) - This is a popular Python library for natural language processing. It includes a spell checker module and various examples of how to use it. (Link: https://www.nltk.org/) b. SymSpell - This is an open-source spell checking library that uses a Symmetric Delete spelling correction algorithm for high performance and accuracy. The GitHub repository includes a detailed description of the algorithm and examples of how to use it. (Link: https://github.com/wolfgarbe/SymSpell) These resources should provide a solid foundation for understanding the design, algorithms, and usage of spell checkers. Happy learning!
-
Turn the spellchecker into autocorrection software
Can this github.com/wolfgarbe/SymSpell or this github.com/ruby/did_you_mean or any of these github.com/topics/spell-check?o=desc&s=forks spellcheckers be used as an autocorrection software?
-
Help with deep learning project "autocorrection"
Do you absolutely need to use deep learning? There are tons of way faster autocorrect implementations that use levenshtein distances and non-DL techniques such as SymSpell or Norvig’s algorithm. DL is both expensive and requires tons of data to train on, I would stay away from that unless you’re doing it for your own enrichment or a school project.
-
Spellcheck and Levenshtein distance
This library claims to be orders of magnitude faster: https://github.com/wolfgarbe/SymSpell
-
Auto correct/Auto complete feature
If you want to do both at the same time (prefix search, allowing for misspellings), you can use a trie, but rather than just putting all your words in it, you can put everything in the "deletion neighborhood" of each word (that is, each possible variant of each word that has one character deleted), in an approach sort of like what's described here. Fair warning, though, that this gets a little hairy, and you'll have to decide how to weight prefix matches vs. misspellings in your rankings.
- SymSpell: 1M times faster spelling correction
-
Hacker News top posts: Mar 6, 2022
SymSpell: 1M times faster spelling correction\ (6 comments)
fzf
-
Ask HN: Any tool for managing large and variable command lines?
In addition, I think bash's `operate-and-get-next` can be very helpful. When you go back through your shell history, you can hit Ctrl+o instead of enter and it will execute the command then put the next one in your history on the command line, and keep track of where you are in your history. This way, you can rerun a bunch of commands by going to the first one and Ctrl+o till you are done. And you can edit those commands and hit Ctrl+o and still go to the next previously run command.
Note: fzf's history search feature breaks this. https://github.com/junegunn/fzf/issues/2399
-
pyfzf : Python Fuzzy Finder
fzf : https://github.com/junegunn/fzf
- Command Line Fuzzy Search
-
So You Think You Know Git – Git Tips and Tricks by Scott Chacon
Those are the most used aliases in my gitconfig.
"git fza" shows a list of modified/new files in an fzf window, and you can select each file with tab plus arrow keys. When you hit enter, those files are fed into "git add". Needs fzf: https://github.com/junegunn/fzf
"git gone" removes local branches that don't exist on the remote.
"git root" prints out the root of the repo. You can alias it to "cd $(git root)", and zip back to the repo root from a deep directory structure. This one is less useful now for me since I started using zoxide to jump around. https://github.com/ajeetdsouza/zoxide
-
Which command did you run 1731 days ago?
> my history is so noisy I had to find another way
The fzf search syntax can help, if you become familiar with it. It is also supported in atuin [2].
[1]: https://github.com/junegunn/fzf#search-syntax
[2]: https://docs.atuin.sh/configuration/config/#fuzzy-search-syn...
-
Z – Jump Around
You call it with `n` and get an interactive fuzzy search for your directories. If you do `n ` instead, it’ll start the find with `` already filled in (and if there’s only one match, jump to it directly). The `ls` is optional but I find that I like having the contents visible as soon as I change a directory.
I’m also including iCloud Drive but excluding the Library directory as that is too noisy. I have a separate `nl` function which searches just inside `~/Library` for when I need it, as well as other specialised `n` functions that search inside specific places that I need a lot.
¹ https://github.com/sharkdp/fd
² https://github.com/junegunn/fzf
-
alacritty-themes not working any more!!!
View on GitHub
-
Fish shell 3.7.0: last release branch before the full Rust rewrite
I do find the history pager stuff interesting, but ultimately not of tremendous use for me. I rebound all my history search stuff to use fzf[1] (via a fish plugin for such[2]), and so haven't been aware of the issues
[1] https://github.com/junegunn/fzf
[2] https://github.com/PatrickF1/fzf.fish
-
Ugrep – a more powerful, ultra fast, user-friendly, compatible grep
You can also use fzf with ripgrep to great effect:
[1]: https://github.com/junegunn/fzf/blob/master/ADVANCED.md#usin...
- Tell HN: My Favorite Tools
What are some alternatives?
JamSpell - Modern spell checking library - accurate, fast, multi-language
peco - Simplistic interactive filtering tool
hunspell - The most popular spellchecking library.
zsh-autocomplete - 🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.
wtpsplit - Code for Where's the Point? Self-Supervised Multilingual Punctuation-Agnostic Sentence Segmentation
z - z - jump around
languagetool - Style and Grammar Checker for 25+ Languages
zsh-autosuggestions - Fish-like autosuggestions for zsh
SymSpell - A JavaScript implementation of the Symmetric Delete spelling correction algorithm.
mcfly - Fly through your shell history. Great Scott!
NLP-progress - Repository to track the progress in Natural Language Processing (NLP), including the datasets and the current state-of-the-art for the most common NLP tasks.
ranger - A VIM-inspired filemanager for the console