调用h2o变换和word2vec时,自定义单词权重,而不是直接单词AVERAGE

时间:2017-04-05 16:07:41

标签: word2vec h2o

我正在使用H2O机器学习包进行自然语言预测,包括函数h2o.word2vec和h2o.transform。我需要句子级聚合,它由AVERAGE参数值提供:

h2o.transform(word2vec, words, aggregate_method = c("NONE", "AVERAGE"))

然而,就我而言,我强烈希望避免对“the”和“platypus”进行同等加权。

这是我为了实现自定义单词加权而编造的方案。如果H2O的word2vec“AVERAGE”选项使用包括可能出现的重复项的所有单词,那么当我想通过在句子中添加某些单词的附加副本来调用h2o.transform时,我可以实现自定义单词加权,当我想比他们更重要时换句话说。

任何H2O专家都可以确认word2vec AVERAGE参数在计算句子中单词的AVERAGE时是使用所有单词而不仅仅是单词吗?

或者,有更好的方法吗?我尝试了但是我发现自己无法想象任何正确的数学运算将句子平均值乘以某个因子,在它已经计算之后。

1 个答案:

答案 0 :(得分:0)

是的,h2o.transform会考虑每个字的平均值,而不仅仅是唯一字。因此,你的技巧将起作用。

目前没有直接提供用户定义权重的方法。你可能会做一个丑陋的黑客攻击并直接对嵌入这个词进行加权,但这不是我推荐的直接解决方案。

我们可以将此功能添加到H2O中。我很想知道API对您有用(您希望如何提供权重)。