2

我想在 Weaviate ( https://github.com/semi-technologies/weaviate ) 中对实际数据进行矢量化之前为我的数据创建一个语义上下文。假设我们有一个分类法,其中我们有一组特定领域的概念以及指向它们相关概念的链接。您能否告诉我最好的方法是使用上下文编码不仅对这些概念而且对它们之间的关系进行编码?

4

1 回答 1

1

根据您的用例,可能有几个答案。

  1. 您可以在 Weaviate 模式中创建“语义上下文”,并使用矢量化模块根据该模式对数据进行矢量化。
  2. 您的数据中有特定领域的概念,开箱即用的矢量化模块不知道(例如,特定的缩写)。
  3. 您想在将图形添加到 Weaviate 之前捕获(即矢量化)图形本身的语义上下文。

第一个是最简单直接的,最后一个是最深奥的。

创建模式并为您的数据使用矢量化器

在您的情况下,您将根据您的分类创建一个模式并使用开箱即用的矢量化器加载数据(此配置器可帮助您构建 Docker-compose 文件)。

无论如何,我建议从这个开始,因为它将决定您的数据模型以及您如何搜索和/或分类数据。甚至可能对于您的用例,此步骤已经解决了问题,因为开箱即用的矢量化器(偏差警报)相当不错。

特定领域的概念

在撰写本文时,Weaviate 有两个矢量化器,上下文模块和转换器模块。

如果您想使用自定义上下文扩展 Weaviate,您可以扩展上下文微调并分发自定义转换器。

如果您这样做,我强烈建议您仍然迈出第一步。因为它只会改善结果。

捕获图形的语义上下文

我不认为这是你想要的,但它可能而且非常深奥。原则上,您可以将矢量化图存储在 Weaviate 中,但您需要自己生成矢量。例如,在撰写本文时,我们正在研究RDF2Vec

PS:
因为经常有人问到本体和分类在 Weaviate 中的作用,所以写了这篇博文。

于 2021-04-20T18:03:49.400 回答