40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
# meaning dataset
|
||
|
||
meaning数据集是一个模仿自然语言,以及抽象表达的数据集。
|
||
|
||
## 概念
|
||
|
||
1. token表示最终体现的基本数据表达,类似单词。vocab_size表示代表token的数量。
|
||
2. meaning表示一种语义(符号),所有的meaning都由一个编号表达,编号越大表示语义越复杂
|
||
3. 所有的meaning都可以由更低标号表达
|
||
4. 从0到(vocab_size-1)的编号表示基本meaning,是不能被拆解的,也就是token
|
||
5. meaning通过一层层的向低编号的meaning进行组合替换,最终形成一个最底层是token的树形数据
|
||
6. level表示当前token相对于root meaning的距离
|
||
7. rank_idx表示当前token在不同层的排序编号,每4位表示在一层里面的编号,低4位表示最低层级的rank_idx,高位无用的位用1填充
|
||
7. rank_all表示当前token在不同层的分子个数,每4位表示在一层里面的编号,低4位表示最低层级的rank_all,高位无用的位用1填充
|
||
8. tree用于存储每个meaning的拆解的数据,使用字典表达一个树形结构
|
||
9. get_seq_mask返回一个sequence每个token在对应level是不是对应的index,level=0:最底层,index=-1:最后一个,index=0:第一个
|
||
10. meaning_height 当前meaning的总高度
|
||
11. meaning_weight 当前meaning的总宽度
|
||
|
||
|
||
```
|
||
vocab_size = 256 meaning = 115200
|
||
|
||
115200
|
||
/ | \
|
||
10240 1100 12322
|
||
/ | \ / \ / | \
|
||
512 32 1201 245 233 3214 532 324
|
||
/ \ / \ / \ | / \
|
||
123 42 320 500 1231 23 324 93 176
|
||
/ \ / \ / \ / \
|
||
176 11 255 129 129 99 211 111
|
||
|
||
sequence = 123 42 32 176 11 255 129 245 233 129 99 23 211 111 93 176
|
||
level = 3 3 2 4 4 4 4 2 2 4 4 3 4 4 3 3
|
||
idx at 0 = 0 1 1 0 1 0 1 0 1 0 1 2 0 1 0 1
|
||
idx at 1 = 0 0 0 0 0 1 1 1 1 0 0 0 0 0 2 2
|
||
idx 0 1 1 0 1 16 17 16 17 0 1 2 0 1 32 33
|
||
|
||
``` |