NLP-Tokenizer解析

Toknizer(分词器)-文字与机器之间的桥梁

人工智能模型的主要作用是特征之间映射,而目前主流特征是由浮点数构成的向量。(简单来说,人工智能模型只是一个抽象函数,他能将一堆数字$x$,通过内部的参数计算$f(x)$,得到另一堆数字$y=f(x)$)。其并不能直接接收文字作为输入源。为了让模型能够接收并输出文字,需要有个载体,这个载体需要能被模型识别,同时还要能被文字映射,并且每段文字映射出来的载体要能够区分出不同。
那能想到的最好的载体就是数字索引,每段文字基于不同的索引,通过这个索引能直接在一个类似新华词典的词表里查到对应的文字是啥,比如“$你$”的索引是$1$,“$好$”的索引是$2$,那输入$你好$对模型来说就是输入$[1,2]$,然后希望模型输出比如说“$呀$”索引为$3$.Tokenizer做的就是文字与索引之间映射的工作,它能够把对应的不同的文字映射为不同的数字。比如把“$你$”映射到$1$。 这样模型就能够通过Embedding将数字进一步映射成向量从而进行训练。
当然反向操作(把索引映射回文本)也是没问题的。Tokenizer做的就是简历文本块与索引之间的一一对应的映射。


Tokenizer示例图

值得注意的是不同的项目或论文使用的分词器不尽相同分词策略也不同。中文中或许是一个字一个索引,英文就可能是“hell”,"o"或者“h”“e”“l”“l”“o”,如何设计分词器使得模型能发挥出最大性能也是值得研究的一件事

无标签
评论区
头像