为什么字符级模型被认为不如单词级模型有效?

数据挖掘 rnn 词嵌入 嵌入
2021-10-02 14:03:19

我已经读过字符级模型比词嵌入需要更多的计算能力,这是它们效率较低的主要原因之一,但我很好奇,因为词嵌入需要大量词汇,而字符级模型需要很少的词汇,所以为什么不考虑?

1个回答

你对词汇量的看法是绝对正确的。我实际上正在研究如何使角色级别更有效。

这就是为什么单词级标记经常受到青睐,尽管字符需要更小的词汇量。

  • 词袋

在词袋场景中,这是非常明显的。首先,名字。其次,如果您收到最常用词的词云,您可能能够知道文档的内容。如果您收到字符云,您可能会完全迷路。你的电脑也会。

字符标记包含的信息比单词标记少得多。

  • 顺序方法

无论您使用 RNN 还是 Transformer,将文本作为序列处理通常是单词和字符之间的差异不太明显的地方。

单词将创建包含更大向量的序列,因为每个向量都需要编码更多信息。但是,很少使用 one-hot 编码方法,这需要一个向量是词汇的大小(通常为 30,000)。相反,使用了词嵌入,通常小于 1024 维,通常在 100 到 300 之间。因此,实际上,这些向量并不大。

字符可能需要更小的嵌入。根据我的研究,嵌入可以低至 32 维。但是,平均而言,至少对于西方语言,每个单词包含 7 个字符。这意味着您的模型将需要处理比处理单词大 7 倍的序列。

因此,就实际大小而言,如果您对字符使用 32 维嵌入,那么使用 224 维词嵌入将占用尽可能多的“空间”。

现在,区别在哪里?最终归结为:

  • 字符允许您几乎没有任何“词汇表外字符”(大约 99.99% 使用 300 个标记的词汇表),而如果您使用 30,000 个标记,单词通常只覆盖语言的 50%。预处理技术(词干提取、摊销)有助于减少词汇量,但可以说它从输入中删除了有价值的信息。

  • 单词比字符更能提供信息,而单词嵌入已经证明可以很好地嵌入信息。基本上,性能通常足够好,计算限制也不会太大而让人担心。

总之,当使用字符级标记时,​​您的模型必须做更多的工作。输入本身更原始,包含的信息更少。此外,顺序模型已显示出难以应对长期依赖关系。