大多数字节已被使用时的字节对编码

问题描述 投票:0回答:1

字节对编码显然有时用于在运行机器学习算法之前压缩/标记文本。

根据https://en.wikipedia.org/wiki/Byte_pair_encoding基本步骤是其中的一个

序列中最常见的一对连续数据字节被替换为序列中未出现的字节

我可以看到这对 ASCII 是如何工作的,它通常会留下大约 160 个未使用的可能字节。

它似乎不适用于二进制数据,二进制数据通常会使用所有可能的字节值。

Unicode 呢?与 ASCII 相比,它使用了更多可能的字节值。该算法在这里工作得不好吗,Unicode 使用的字节值是否比我考虑的要少,还是我还缺少其他东西?

text nlp compression tokenize
1个回答
0
投票

您没有指定 Unicode 的编码方式。由于您在谈论字节和 ASCII,我将回答最常见和公认的编码,即 UTF-8。

字节

0xc0
0xc1
0xf5
0xff
不能出现在有效的 UTF-8 序列中。有许多特定的sequences字节也不能出现在有效的UTF-8序列中。

您可以只采用这些单个无效字节中的任何一个或所有无效字节,并将每个字节作为表示您的令牌的一些字节的前缀。

© www.soinside.com 2019 - 2024. All rights reserved.