如何以不同的方式使用单词 embeddings/word2vec ..?使用实际的物理词典

How to use word embeddings/word2vec .. differently? With an actual, physical dictionary

如果我的标题incorrect/could更好,请告诉我。

我一直试图找到一个现有的 paper/article 来描述我遇到的问题:我正在尝试为单词创建向量,以便它们等于它们各部分的总和。 例如:Cardinal(the bird) 将等于以下向量:red、bird,仅此而已。 为了训练这样的模型,输入可能类似于字典,其中每个单词都由其属性定义。 类似于:

红衣主教:鸟,红色,....

Bluebird:蓝色,鸟,....

鸟:warm-blooded,翅膀,喙,两只眼睛,爪子....

翅膀:骨头、羽毛....

因此在这种情况下,每个 word-vector 等于其部分 word-vector 的总和,依此类推。

我了解到在原始的word2vec中,保留了语义距离,使得Vec(Madrid)-Vec(Spain)+Vec(Paris) = approx Vec(Paris)。

谢谢!

PS:还有,如果可以的话,以后应该可以加新词吧

如果您要构建所需组件的字典,则根本不需要 word2vec。您已经定义了要指定的尺寸:只需使用它们,例如在 Python:

kb = {"wings": {"bone", "feather"}, 
      "bird":  {"wings", "warm-blooded", ...}, ...}

由于值是集合,您可以设置交集:

kb["bird"] | kb["reptile"]

您需要找到一些递归分解元素的方法,以进行比较、简化等。这些是您必须根据您在此类操作中预期发生的情况做出的决定。

这种手动字典开发是一种非常老式的方法。像 Schank 和 Abelson 这样的人在 1970 年代曾经做过这样的事情。问题是,随着这些字典变得越来越复杂,它们变得难以维护,而且它们的近似值也越来越不准确。欢迎您尝试作为练习——这可能会很有趣!——但要保持低期望。

您还会发现在这些类型的分解中丢失了意义的各个方面。 word2vec 的显着特性之一是它对单词的 格式塔 敏感——单词可能具有由部分组成的意义,但在该组合中有一部分使整体大于部分的总和。在分解中,格式塔丢失了。

与其尝试构建字典,不如从大型语料库中探索 W2V 为您提供的内容,并了解如何利用这些信息来发挥自己的优势。 W2V 究竟从文本中呈现什么的语言学尚未完全理解,但在尝试对嵌入做一些特定的事情时,您可能会学到一些关于语言的新知识。