有人可以向我解释Tensorflow BoW Encoder正在做什么/返回什么?我希望得到每个文档的字数统计向量(比如在sklearn中),然而,显然它正在做一些更有趣的事情。
在这个例子中:
features = encoders.bow_encoder(
features, vocab_size=n_words, embed_dim=EMBEDDING_SIZE)
传递了'embed_dim',我也不明白它在BoW编码的上下文中是做什么的。遗憾的是,文档不是很有帮助。我可以尝试通过Tensorflow代码,但是,我将非常感谢高级别的解释。
答案 0 :(得分:0)
在经典的BOW模型中,每个单词由ID(稀疏向量)表示。 bow_encoder将这些稀疏向量映射到另一个层,其大小由" embed_dim"指定。 bow_encoder用于学习单词或文本的密集向量表示(例如在word2vec模型中)。
关于bow_encoder的tensorflow文档: "通过平均嵌入,将每个例子的符号序列映射到矢量。"
因此: 如果bow_encoder的输入是单个字,则它只是映射到嵌入层。虽然句子(或文本)是逐字映射的,但最终的嵌入向量是平均的。