是否H2O会提供任何预训练的矢量用于h2o word2vec?

时间:2017-03-23 16:46:03

标签: word2vec h2o unsupervised-learning

H2O最近在其API中添加了word2vec。很高兴能够在您自己提供的语料库中轻松训练自己的单词向量。

然而,使用大型数据和大型计算机存在更大的可能性,类似于Google或H2O.ai等软件供应商,但由于网络带宽和计算,H2O的最终用户可能无法访问功率限制。

Word嵌入可以被视为一种无监督学习。因此,通过使用在非常大的语料库上构建的预训练单词向量作为特定应用程序中的基础结构,可以在数据科学管道中获得巨大价值。使用通用预训练词矢量可以被视为转移学习的一种形式。重用单词向量类似于计算机视觉深度学习通用最低层,学习检测照片中的边缘。较高层检测由其下方的边缘层组成的特定种类的对象。

例如,Google提供了一些带有word2vec包的预训练单词向量。实例越多,无监督学习越好。此外,有时候,个别数据科学家实际上很难下载一个巨大的文本语料库来训练你自己的单词向量。并且没有充分的理由让每个用户通过在与维基百科相同的通用语料库(corpi?)上训练单词向量来重新创建相同的轮子。

Word嵌入非常重要,有可能成为可能应用的星系的实体。 TF-IDF是许多自然语言数据科学应用程序的旧基础,它通过使用单词嵌入而变得过时。

三个问题:

1 - H2O目前是否提供任何通用的预训练单词嵌入(单词向量),例如在法律或其他公有(政府)网站或维基百科或推特或craigslist上发现的文本,或其他免费或开放的文本Commons人文书面的来源?

2 - 是否有社区网站,H2O用户可以分享他们训练有素的word2vec单词向量,这些单词向量是建立在更专业的语料库(如医学和法律)之上的?

3 - H2O可以从他们的word2vec包中导入Google的预训练单词向量吗?

1 个答案:

答案 0 :(得分:2)

谢谢你的问题。

你是绝对正确的,有很多情况下你不需要自定义模型,预训练模型也能很好地运作。我假设人们将主要针对特定​​领域中的小问题构建自己的模型,并使用预先训练的模型来补充自定义模型。

您可以将第三方预训练模型导入H2O,只要它们是类似CSV的格式即可。对于许多可用的GloVe模型都是如此。

要做到这一点,请将模型导入Frame(就像使用任何其他数据集一样):

w2v.frame <- h2o.importFile("pretrained.glove.txt")

然后将其转换为常规的H2O word2vec模型:

w2v.model <- h2o.word2vec(pre_trained = w2v.frame, vec_size = 100)

请注意,您需要提供嵌入的大小。

据我所知,H2O并不打算为w2v模型提供模型交换/模型市场。您可以使用在线提供的模型:https://github.com/3Top/word2vec-api

我们目前不支持导入Google二进制格式的字嵌入,但是我们的路线图支持这一点,因为它对我们的用户来说很有意义。