我有一个文档+标签的语料库,其中每个文档的长度有60多页,由数百个单独的段落组成;我想根据该数据集构建一个 Tensorflow RNN 分类模型,大致与 Tensorflow RNN 分类教程一致。
为了从 RNN 中受益,我希望将文档中的每个段落视为句子中的单词,这样给定文档的 RNN 输入是段落向量序列而不是单词向量,例如 [ E[p1], E[p2], E[p3], ...],基于 [E[The], E[cat], E[on], E[the], E[mat]] 的模型.
问题是,有没有办法在 Tensorflow 中进行设置,以便模型在通常学习单词嵌入的地方学习段落嵌入?我知道我可以使用预先训练的嵌入,但我的文档来自某个专业领域,因此将它们作为模型训练的一部分进行训练似乎更合适。
我在网上找不到任何相关信息,也没有在 Stackoverflow 上找到任何解决此情况的问题。
当我们谈论“嵌入”时,无论是单词嵌入还是段落嵌入,它都类似于将某些输入转换为可以由某些下游模型自动调整的数字向量的哈希图。神经网络。
在你的情况下,如果你使用段落嵌入,你的哈希映射键将是段落文本本身,你会遇到你的键维度太高的问题,即同一段落的文本永远不会出现两次,这违背了所有调整的目的。
我认为在这种情况下,强大到足以封装您的特定用例的预训练嵌入可能是最好的方法,但如果您确实想要在段落级别进行分类,也许您可以使用一些池化或聚合函数来聚合段落中的单个单词嵌入到“池段落嵌入”中?也许词袋可以帮助你实现这一目标。