我目前正在使用转化器模型来完成我的NLP任务。我正在研究转化器模型 解释 from Tensorflow.org.
我理解整个模型背后的概念,但我在标记化部分有点卡壳。
标记化使用SubwordTextEncoder API,我们需要首先建立词汇表,然后用标记集替换句子(以便被模型理解),我们使用其.encode()函数。
当我看了tensorflow网站上给出的用法后,我发现这种编码方式对自我注意有什么帮助,有点令人费解。
为了验证我对其实施的理解,我用2个句子创建了自己的词汇--['我叫xyz.我在做实验'],如下所示
my_tokenizer = tfds.deprecated.text.SubwordTextEncoder.build_from_corpus(
(ex for ex in ['My name is xyz. I am doing experiments.']), target_vocab_size=258)
在这之后,我试着对几个句子进行编码。
First,
Code -->
tokenized_string = my_tokenizer.encode('I am doing xyz.')
for ts in tokenized_string:
print ('{} ----> {}'.format(ts, my_tokenizer.decode([ts])))
Output -->
8 ----> I
6 ----> am
5 ----> doing
1 ----> xyz
56 ----> .
另一个字符串是--
Code -->
tokenized_string = my_tokenizer.encode('very nice.')
for ts in tokenized_string:
print ('{} ----> {}'.format(ts, my_tokenizer.decode([ts])))
Output -->
128 ----> v
111 ----> e
124 ----> r
131 ----> y
42 ---->
120 ----> n
115 ----> i
109 ----> c
111 ----> e
56 ----> .
谁能告诉我这对实现更好的自我关注有什么帮助?或者这是执行标记化的老方法,因为我可以看到这个特定的API即将被废弃?