对于BPE或WordPiece,可能有多种方法来编码一个单词。例如,假设(为简单起见)令牌词汇表包含所有字母以及合并的符号("to“、"ke”、"en")。则单词"token“可以被编码为("to","ke","n")或("to","k","en")。本教程https://blog.floydhub.com/tokenization-nlp/中也提到了这种不明确的编码
然而,在hugginface教程中提到"BPE和WordPiece……以特定的顺序制定规则,然后在标记新文本时以相同的顺序应用“,请参阅https://huggingface.co/transformers/master/tokenizer_summary.html。
在使用BPE/WordPiece时,这些规则到底是如何存储和应用的,例如,在上面的示例中,如何确定使用哪个标记化?
发布于 2021-08-02 15:29:59
在BPE的解析步骤中,合并顺序很重要。例如,如果合并顺序是
(p, e), (pe, n), (pen, _), (a, p), (ap, p), (app, l), (appl, e), (apple, _), (pen, apple_)Applepen PenapplePen应该被分割成: a,p,p,l,e,pe,pen,a,p,p,l,e,pen,给定k= 2。我们只使用(p, e), (pe, n)进行解析。由于合并顺序是固定的,因此对于任何k个测试数据,结果都应该是固定的。您只需在解析步骤中使用前k个合并。
有关详细信息,请参考my answer中的问题:用示例解释bpe (字节对编码)?
https://stackoverflow.com/questions/63263882
复制相似问题