Natural Language Processing, Cryptography, Computational Linguistics
May 19, 2026
This project started from the idea that we need to protect the ‘authorship’ of someone’s work. Because I’m still academically immature, it is moving forward in a very rough, unpolished state. The saving grace is that, even if it’s rough, it is moving forward.
On this page, I want to briefly record the results of randomly extracting text (at the sentence level) from the March 2026 Mock English Exam for high school freshmen in Korea, slotting their linguistic features, and assigning them a 0 or 1 value. In my last post, I briefly mentioned that my friend and I succeeded in assigning 30 bits to certain sentences. By now, I’ve realized just how clumsy and full of weaknesses this approach is. Still, I figure it’s only right to keep a record of it, flaws and all.
Just to be clear upfront—I’m no seasoned researcher. I just graduated undergrad, and while I’m in a master’s program, I’m not exactly a traditional, full-time research student. Because this is thought up, researched, and written by someone like me, it might lack rigor and accuracy. Even so, I write. If I avoid keeping records just because I’m immature, I’ll never get any feedback and I’ll just stay stuck in the exact same spot. I don’t want to stagnate.
It’s fair to say that patience has a terrible name. For one thing, the prospect of doing anything that you’ve been told will require patience simply seems unattractive. The Sumerians had developed the idea of an emancipated number, existing in its own right and independent of whatever it is being used to count. It is easy to take the emancipated number for granted as it is so deeply set into modern thought, but to the earliest civilizations it was intellectually new and extremely powerful.
Source: 2026 High School Freshman March Mock Exam, Question 33
These sentences were randomly taken from the March mock exam for high school freshmen, In Korea. My friend and I arbitrarily picked some linguistic features, treated them as slots, and set rules for when to assign a 0 and when to assign a 1. So, the very first bit string my friend and I slapped onto these sentences was:
000000111000000100010000000010
A total of 30 bits.
But looking back at the sentences now, I can see that this 30-bit string is riddled with errors. Even so, it’s probably best to record the slots we initially chose. The slots are as follows:
- A. Possessive Adjective
- Presence (0), Absence (1)
- B. Verb
- Presence (0), Absence (1)
- C. Voice
- Active (0), Passive (1)
- D. Polarity
- No negation (0), Negation (1)
- E. Relative Pronoun
- Revealed (0), Removed (1)
- F. Complementizer
- Revealed (0), Removed (1)
- G. Coordinating Conjunction
- Presence (0)
- H. Article
- Presence (0), Absence (1)
- I. Punctuation
- Presence (0)
- J. Noun Form
- Singular (0), Plural (1)
Out of these slots, A, D, H, and J (Possessive adjective, Polarity, Article, Noun Form, respectively) are related to Nouns, so every time we encounter a noun in a sentence, those slot values get filled. Let’s look at the third sentence from the text above in isolation, and extract the bit string based on all 10 slots. For now, it’s still manual extraction.
Target Sentence:
The Sumerians had developed the idea of an emancipated number existing in its own right and independent of whatever it is being used to count.
So, I broke this sentence down into phrases “for now” and extracted the values for each slot. I’ll just record a few phrases here that are easy to explain:
- The Sumerians – It’s a noun. We need to consider all four slots mentioned earlier (A, D, H, J). For slot A it’s 1, D is 0, H is 0, J is 1.
- An emancipated number existing ~ – It’s a noun phrase. Slot A is 1, D is 0, H is 0, J is 0. Aside from that, I want to talk about slot E (Relative Pronoun). If we assume which is was omitted between number and existing, we can give E a value of 1. And since the be verb is omitted, we can give B (Verb slot) a value of 1.
If we keep assigning bit values like this, following the word order of the sentence and keeping the order of the slots (A to J), the bit string becomes:
11101010001000001000011010000
The 0s repeat way too much, so I looked into it a bit, and someone told me to try doing something like an XOR.
I don’t know yet, this is getting way too engineering-heavy for me. First off, I’m just curious if the linguistic features (each slot) applied in this post are actually valid.
How do I flesh out this wild imagination, and who do I even ask?
I think I’ll stop here for today.
Leave a comment