General script installation guide
Open Framework installation
Install Word Frequency Filter
Purpose
This script allows you to easily select which words you care about at a given WK level and only learn those while ignoring the rest.
Learning all the vocabulary that WaniKani offers at each level isn’t necessarily useful. There are a lot of infrequently used words which ultimately just increase your daily review time without providing much immediate value.
While there are scripts that can give you kanji frequencies, there was no script that could do the same for words, so here it is.
Word frequency lists
The script comes with a number of frequency lists:
Each word in WK is annotated with its rank according to those lists (rounded to the next 100). Those ranks show up in various places:
-
Lesson picker tooltip
-
Vocabulary list, level list, kanji list and search page:
-
Vocabulary page
-
Lesson & review page
Settings
In the settings popup you can decide which of the word lists to use as your main list. In addition to the lists themselves, you can choose between Best
(use the best rank of all lists) and Average
(use the average rank of all lists).
You can also choose whether to show word ranks during reviews.
Word grouping on the lesson picker
Words on the lesson picker are automatically reordered according to the selected rank. Lowest ranks appear first in the list. You can also set a rank cutoff in your settings which causes all words with a higher rank than the cutoff to be grouped into the “Beyond cutoff” section.
Marked words
While using a frequency list is very useful, blindly relying on it is not recommended either. That’s why you can hover over each word to see its meaning and ranks. If you decide that you want to learn a word although it’s beyond the cutoff, but maybe you don’t want to learn it right now, you can just select it and click the Toggle Mark
button which will put the word into the Marked
section.
Other word lists
If you have any particular word lists that you’re using and that you’d like to see included in this script, please leave a comment and a link to the word list and I’ll see if I can add it.
But I’m not learning all the words…
When I started using this, I had this weird sense of FOMO when I saw words piling up that I wasn’t learning. But when I realized (with the help of the tooltips on the lesson picker) that most of the words weren’t immediately useful to me, my perception changed and now I’m very happy not to clutter my daily review time with words I don’t use.
Your experience might be similar. And if you do find that you need to learn a word that you’ve skipped earlier, you can always do it later! Just use WK’s search function and if the word turns up as unlocked, you know where to find it.
Other scripts
Note that this addon has synergies with two of my other addons which you might like:
- Daily Vocab Planner
If chosen in Daily Vocab Planner’s settings, only words below the cutoff, as well as marked words, are considered for your daily vocab progress and for calculating vocab unlocks. - Vocab Reading Analyzer
The screenshots above were taken with this script active (which is why the vocab items are colored)!
For developers
The script exposes a wff
object that contains these entries:
FrequencyData
: A map of term → frequency data, e.g板:{i:3,w:2251,a:6058}
. Each frequency data object contains the term’s rank in the given word list. Each object has at least one rank but not necessarily all of themgetRank(data)
: Given a frequency data value fromFrequencyData
, return the rank according to the user’s settingsisMarked(subjectId)
: Given a subjectId, return whether the word was marked by the user
Feedback
I hope this is useful to you guys. Please let me know if you have any issues, feedback or feature requests in the comments.
Changelog
1.3.0: Tooltips in lessons and reviews; Ranks in reviews are optional
1.2.0: Show word rank on lesson and review pages
1.1.1: Annotate words on search page