H2O 是否或将提供任何与 h2o word2vec 一起使用的预训练向量?

Does or will H2O provide any pretrained vectors for use with h2o word2vec?

H2O 最近在其 API 中添加了 word2vec。能够在您自己提供的语料库上轻松训练自己的词向量真是太好了。

然而,使用大数据和大型计算机存在更大的可能性,这种类型的软件供应商喜欢 Google 或 H2O.ai,但没有那么多 H2O 的最终用户可以访问到,由于网络带宽和计算能力的限制。

词嵌入可以看作是一种无监督学习。因此,通过使用建立在非常大的语料库上的预训练词向量作为特定应用程序的基础设施,可以在数据科学管道中产生巨大的价值。使用通用的预训练词向量可以看作是迁移学习的一种形式。重用词向量类似于计算机视觉深度学习通用最低层,学习检测照片中的边缘。较高层检测由它们下面的边缘层组成的特定种类的对象。

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

词嵌入非常重要,有可能成为大量可能应用的实体。 TF-IDF 是许多自然语言数据科学应用程序的旧基础,将通过使用词嵌入来淘汰。

三个问题:

1 - H2O 目前是否提供任何通用的预训练词嵌入(词向量),例如在合法或其他 public 拥有的(政府)网站、维基百科、推特或 craigslist 上找到的文本进行训练,或其他免费或开放共享资源的人工文本?

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

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

感谢您的提问。

你说得对,很多情况下你不需要自定义模型,预训练模型也能很好地工作。我假设人们大多会针对特定领域中的较小问题构建自己的模型,并使用预训练模型来补充自定义模型。

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

为此,将模型导入框架(就像任何其他数据集一样):

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

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

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

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

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

我们目前不支持导入 Google 的词嵌入二进制格式,但是我们的路线图上提供了支持,因为它对我们的用户很有意义。