基于单词和基于字符的文本生成RNN有什么区别?


15

在阅读有关使用递归神经网络生成文本的信息时,我注意到一些示例被实现为逐个单词地生成文本而另一些字符则逐个字符地生成而没有实际说明原因。

那么,是什么,预测文本RNN模型之间的区别每个字的基础,并且预测文本的那些每个字符的基础?基于单词的RNN是否需要更大的语料库大小?基于char的RNN泛化效果更好吗?也许唯一的区别是输入表示形式(单热编码,单词嵌入)?选择哪种文本生成方式?

Answers:


15

这是我最近学到的。

显然,在谈论文本生成RNN时,我们是在谈论RNN语言模型。当询问基于单词/字符的文本生成RNN时,我们询问的是基于单词/字符的 RNN语言模型(LM)。

与基于字符的 LM 相比,基于单词的 LM显示更高的准确性更低的计算成本

由于字符级模型难以捕获更长的短期内存,因此性能下降的可能性不大,因为更长的短期内存(LSTM)循环网络在基于单词的输入中也能更好地工作。

这是因为基于字符的RNN LM需要更大的隐藏层才能成功地对长期依赖关系进行建模,这意味着更高的计算成本。

因此,我们可以说

单词级别字符级别模型之间的根本区别之一是RNN在训练和测试过程中必须访问的参数数量。RNN的输入和输出层越小,则全连接的隐藏层就需要越大,这使得模型的训练成本很高。

但是,基于字符的 RNN LM可以更好地建模具有丰富形态的语言,例如Finish,Turkish,Russian等。如果可能的,使用基于单词的 RNN LM很难为此类语言建模,因此不建议使用。

上面的分析尤其有意义,当您查看由基于字符的 RNN 生成的输出文本时:

令投资者感到惊讶的是,他们不会筹集资金。我不是一家公司,所有的事情都很快变得有趣起来,不必脱颖而出。

基于简单字符的具有13个字符的窗口的基于最大字符的LM可以提供以下功能:

当她制造许多实心砖头时。他把它们堆成一堆,踩了她的脚。医生诊断他患有蝙蝠。女孩和她的男朋友请她出去。

当然,我挑选了这个例子(实际上,大多数ML LM例子看上去都比我到目前为止阅读过的任何RNN生成的文本都要好),并且这个小巧的ML LM是在更简单的语料库上训练的,但您会明白的:直接的条件概率会产生更好的结果文本要比基于char的 RNN 复杂得多。

基于字符的 RNN LM可以模拟多种语言的语法正确序列,需要更大的隐藏层并在计算上更昂贵,而基于单词的 RNN LM则可以更快地训练并生成更连贯的文本,但是即使这些生成的文本也没有实际意义。 。


1
极好的评论。应该补充的是,对于某些问题,不管计算问题如何,一个或另一个可能更有意义。例如,如果您的目标是研究单词向量以查找单词之间的关系,或者您想基于单词主题生成文本,则必须使用基于单词的RNN。相反,基于字符的RNN可能会出现问题。它还取决于用户正在尝试执行的操作。
里卡多·克鲁兹

我不明白您的最后评论:“就实际意义而言,基于字符的RNN LM(...)不足。” 我也没有看到基于Word的RNN。您为什么在这里隔离基于字符的模型?
里卡多·克鲁兹

我已经更新了模棱两可的结局。
矿物

好答案!确实,有人可以轻松地补充说,这在很大程度上取决于所涉及的任务,数据集的大小,语言以及您愿意执行的预处理级别。例如,为了处理更丰富的形态语言和管理词汇了(OOV)的话,你也可以用字模型词形还原,词性标注,并添加前缀,后缀等
克劳德COULOMBE

5

关于语言建模十亿个单词的文章不错。以下是一些摘录:

字级模型比字符模型具有重要优势。
以以下序列为例(引自Robert A. Heinlein的话):

早起者没有取得进展。它是由懒惰的人尝试找到更简单的方法来做的。

标记化后,单词级模型可能会将此序列视为包含22个标记。另一方面,角色级别将认为此序列包含102个标记。此较长的序列使字符模型的任务比单词模型的任务困难,因为它必须考虑更多标记和更多时间步长之间的依赖性。字符语言模型的另一个问题是,除了语法,语义等外,他们还需要学习拼写。在任何情况下,单词语言模型的错误率通常都低于字符模型。

与文字语言模型相比,字符的主要优势在于它们的词汇量很小。例如,GBW数据集将包含大约800个字符,而800,000个单词(修剪低频令牌后)将包含800个字符。在实践中,这意味着字符模型比单词模型需要更少的内存并具有更快的推理速度。另一个优点是它们不需要令牌化作为预处理步骤。


1

在我看来,基于字符的RNN的性能也会更好,但与基于单词的模型相比,它们需要更多的数据,而基于字符的模型需要训练更长的时间。我想说的更多是反复试验以及数据与可用计算能力之间的权衡。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.