A meaningless collection containing ngrams of various lengths, for all the item names in World of Warcraft (Retail and Classic)
"n-grams" are simply n-length strings of characters, where n can be any old number. In this particular context, the n-grams are made up of all the n-length strings that make up the item names of World of Warcraft items.
Perhaps better explained with an example.
Say we want to break up the string morning
into trigrams (3-grams). To do this, we create an imaginary sliding window that can fit exactly 3 characters inside of it, and we start at the left-most end of the string. We record what we can see in the window, then we slide the window 1 character to the right. Repeat until the right side of the window shows the right-most character of the string. Note that this does mean all n-grams where n > 1
will overlap to neighboring n-grams!
- [mor]ning
- m[orn]ing
- mo[rni]ng
- mor[nin]g
- morn[ing]
This means the string morning
contains these 5 trigrams:
mor
orn
rni
nin
ing
You may realize that any string of length L
contains L - (n-1)
n-grams, where n
is the gram length. This means any string of length L
contains exactly L - (2)
trigrams, or L - (1)
bigrams, or L - (3)
tetragrams, etc.
Please note that all n-grams in the datasets within this repository were generated using underscore padding at the _beginning and end_ of each item name, as this is part of the preprocessing I needed for my fuzzy searching algorithm.
I ended up generating this data while working on an AddOn for World of Warcraft that lets the user perform fuzzy searches among all items purported by the game servers to exist. I thought some of the data was interesting in and of itself, and so I'm uploading it here.
Feel free to use any of this data for any purpose, for any reason. Feel free to credit me, too, however this is also optional!