词条标记化如何有助于有效处理NLP中的稀有词问题?
我已经看到NLP模型,例如利用WordPiece进行标记化。在WordPiece中,我们将像词条标记化如何有助于有效处理NLP中的稀有词问题?,nlp,word-embedding,Nlp,Word Embedding,我已经看到NLP模型,例如利用WordPiece进行标记化。在WordPiece中,我们将像playing这样的标记拆分为play和ing。有人提到,它涵盖了更广泛的词汇表外(OOV)词汇。有人能帮我解释一下单词标记化是如何实现的,以及它是如何有效地处理稀有/OOV单词的吗 WordPiece和BPE是NLP任务中两种相似且常用的将单词分割成子单词级别的技术。 在这两种情况下,使用语言中的所有单个字符初始化词汇表,然后将词汇表中最频繁/最可能的符号组合迭代添加到词汇表中 考虑以下内容中的词条算法
playing
这样的标记拆分为play
和ing
。有人提到,它涵盖了更广泛的词汇表外(OOV)词汇。有人能帮我解释一下单词标记化是如何实现的,以及它是如何有效地处理稀有/OOV单词的吗 WordPiece和BPE是NLP任务中两种相似且常用的将单词分割成子单词级别的技术。
在这两种情况下,使用语言中的所有单个字符初始化词汇表,然后将词汇表中最频繁/最可能的符号组合迭代添加到词汇表中
考虑以下内容中的词条算法(由我稍微修改):
w
a
=wa
l
k
=lk
wa
lk
=walk
wa
、lk
和walk
。通常对固定数量的合并操作执行此操作
它如何处理罕见的/OOV单词?
很简单,如果你使用这种分割方法,OOV单词是不可能的。词汇表中没有出现的任何单词都将被分解成子单词单元。类似地,对于稀有词,由于我们使用的子词合并数量有限,该词不会出现在词汇表中,因此会被拆分为更频繁的子词
这有什么帮助?
假设模型看到单词walking
。除非这个词在训练语料库中至少出现几次,否则模型无法很好地学习处理这个词。但是,它可能包含单词walked
,walker
,walked
,每个单词只出现几次。在没有子词分割的情况下,模型将所有这些词视为完全不同的词
但是,如果将它们分为
walk@@@ing
,walk@@@ed
等,请注意,它们现在都有walk@@
的共同点,这在训练时会频繁出现,模型可能能够了解更多有关它的信息。OOV单词不可能出现并不完全正确。假设您构建的模型中,所有训练数据都是ascii字符。在解码时,您传入一个以前从未见过的汉字。这将是OOV。OOV将非常罕见,但并非不可能。对,谢谢你的澄清。我的假设是,切分是在要切分的同一文本上学习的,但这当然不总是正确的。请详细说明从所有可能的单词单元中选择新的单词单元,以便在添加到模型中时最大程度地增加训练数据的可能性。
?我看到它到处被引用,但没有人详细说明这到底意味着什么。训练数据的可能性是基于频率的,这意味着你可以通过计算所有组合在训练集中出现的次数来决定新词的单位。添加最频繁的组合,并重复该过程@Devstr@JohnDoe我认为这只是BPE算法的情况,而不是WordPiece。我认为作者指的是LM的可能性。