Compare WK levels with textbooks I own like they do in WKstats

Hi guys!
I’m kind of a goober when it comes to programming and computer stuff, so pardon me if my question is pretty basic.
Now, you know how you can go in wkstats charts and compare the content of each level with kanji in different JLPT levels/grade of school/frequency? And it yields percentages for each?

I would like to do exactly this but with the kanji various textbook I own present in each level.

So let’s say I am at WK L19, and I would like to know how does it compare with the kanji presented in each chapter of Intermediate Kanji Book.

Do you think this is somehow doable? Any good soul out there willing to suggest me how?

Thank you in advance my fellow learner

3 Likes

Yes, it is possible. There are various ways it could be done, and some are easier than others, and some are more ‘automatic’ than others as well. I won’t go into all the different ways, but I’ll just lay out the principle of how it could be done in a generic way.

The first thing that would need to be done would be to go through each chapter of the book and make a list of all the kanji taught in the chapter. One list of kanji for each chapter.

Note: Doing all of this in a spreadsheet would make the whole process much easier. Though, it could all be done by hand, too.

Next, you would need to look up the WK level assigned to each of the kanji (this is the part that could be automated, but could also be done by hand) and add those levels to your lists, making the list into a table, something like this:

Chapter 1 Kanji

Kanji

Name

WK Level

Door 3
Child 2
... ... ...

Then, it would make things more simple/efficient if you sorted those lists by WK level in ascending order. For the simple list above, that would just amount to the following, but in general you just want all the WK levels that are the same lumped together, and each lump in ascending order:

Chapter 1 Kanji (sorted by WK level)

Kanji

Name

WK Level

Child 2
Door 3
... ... ...

Then, to get the percentage table, you need to do a little bit of prep work to get things started. First, for each Chapter, and for each WK level within that chapter, you need to count the number of kanji of that level. [Note: Sorting the previous lists by WK level will make this counting process much easier, hence why I suggested sorting.] Perhaps you could make a separate table just for this counting purpose, again, one for each chapter, like this:

Chapter 1 Kanji Counts (by WK level)

WK Level

Number of Kanji

1 11
2 7
3 4
... ... ...

To that table, you want to add a ‘running sum’ or ‘running total’ which has the cumulative number of kanji for all the levels up to and including the level on that row. For example:

Chapter 1 Kanji Counts and Running Count (by WK level)

WK Level

Number of Kanji

Running Count

1 11 11
2 7 18
3 4 22
... ... ...

Total:

31

Then, you’re almost done (for this one chapter). You now make one more column and calculate the (Running Count) / (Total) for each row. This is where using a spreadsheet will save a lot of headaches, as they can quickly do such calculations with a few clicks and simple formulas. The result will look something like this:

Chapter 1 Kanji Counts and Percent Completions (by WK level)

WK Level

Number of Kanji

Running Count

Percent Complete

1 11 11 35.5%
2 7 18 58.1%
3 4 22 71.0%
... ... ...

Total:

31 100%

In the above table, the 35.5% comes from taking 11/31 × 100% = 0.3548387 × 100% = 35.48387% = 35.5% (rounded). Likewise, the other numbers are 18/31 and 22/31. Just do that same calculation for each WK level.

Notes: Technically, you could do this without creating the full list of kanji at the beginning, matching the kanji of each chapter with the kanji of each WK level. Instead you could “just count” the kanji and create the Kanji Counts tables directly. However, you (probably) want to create the full lists before the Kanji Counts, because it will be much easier to keep everything organized and make sure you end up with the correct counts. It’s far easier to check your work if you’ve got a list of all the kanji and just count items in that list, rather than having to go through the book and the WK website just to check that Chapter 1 indeed has 11 kanji from WK level 1.

Also, if there are content changes to WK (which happen fairly regularly), you can much more easily just update your master lists and then do a quick re-count and re-calculation than to have to re-do the entire process to make sure you didn’t miss anything.

This last part (updating based on WK content updates) is where you could really start to get into automation and have your system regularly download all the relevant information from WK using the WK API, but that is much more complicated to get working and requires programming knowledge. Really, the only truly manual part of this whole process is to go through each book you want to do this for and create the list of all the kanji it has in each of its chapters. Everything else could technically be automated to instantly produce a full table from that information. But of course, programming and setting all that up requires a lot more work ahead of time. A hobbyist programmer might find that a fun and challenging (and practical) project to try out, but for most people, I think it would be overkill.

4 Likes

Exactly. If you can find the kanji lists by chapter, it’s easy to add them to wkstats. The code does all the work once you have the kanji lists.

3 Likes

I actually do have the list by chapter. Would you mind elaborating a bit on how to add it to the existing code?

Well, here’s one I prepared earlier. This is for Genki and Tobira:

1 Like

Ahh, sorry, I wasn’t clear. I’m the author of wkstats, so I meant “it’s easy for ME to add them to wkstats”. I just need them formatted like this:

jlpt.kanji_by_level = [
        {name:'N5', kanji:'日一国人年大十二本中長出三時行見月後前生五間上東四今金九入学高円子外八六下来気小七山話女北午百書先名川千水半男西電校語土木聞食車何南万毎白天母火右読友左休父雨'},
        {name:'N4', kanji:'会同事自社発者地業方新場員立開手力問代明動京目通言理体田主題意不作用度強公持野以思家世多正安院心界教文元重近考画海売知道集別物使品計死特私始朝運終台広住真有口少町料工建空急止送切転研足究楽起 着店病質待試族銀早映親験英医仕去味写字答夜音注帰古歌買悪図週室歩風紙黒花春赤青館屋色走秋夏習駅洋旅服夕借曜飲 肉貸堂鳥飯勉冬昼茶弟牛魚兄犬妹姉漢'},
        [...]

But, of course, change “jlpt” to the book name (e.g. “genki”), and the level names (e.g. “N5”) to whatever makes sense, (e.g. “Book 1, Chapter 1”)

4 Likes
off topic.... does this mean....

you’re working on wk stats again…specifically this screen?

1 Like

No, it’s just that adding the textbook chart is mostly simple cut-and-paste, whereas the progress page needs a lot of GUI work. And there are still some bugs in the level-up calculations, I think.

I do still want to work on wkstats again eventually, though. Just not sure when it will be.

3 Likes

It’s worth mentioning that “Genki Kanji” can mean different things. It can mean the kanji that Genki explicitly introduces and expects you to recognise (which are not many), or it can mean “Kanji that appear in vocabulary introduced in Genki but that you don’t have to know since you have furigana”. The latter is a much larger list that includes some Kanji that WK teaches rather late.

The situation might be similar for other textbooks.

1 Like

I’m currently in the process of making a spreadsheet for Minna no Nihongo, though I’m adding to it as I go, so it only has kanji from lessons 1-17 (out of 50) so far. I also have no idea about what order MNN specifically teaches the kanji, since I don’t own any of the kanji-specific books. My spreadsheet is entirely based on the kanji that appear in the vocabulary list at the front of each lesson.

MNN has furigana entirely throughout the beginner series, I believe, so it’s quite possible to read the textbook with any level of kanji knowledge, but I’ve found it way easier to learn the vocab if I can read the kanji. As you can see, though, the order that kanji appears in MNN has very little correlation with the order that WK teaches them in.