在 Google Cloud BigQuery 中存储句子嵌入

Luk*_*Mao 6 embedding google-bigquery google-cloud-platform huggingface-transformers

我正在寻找一种在 Google 的 BigQuery 中存储由语言模型(如(T5))生成的嵌入的方法。

嵌入采用 Numpy 数组或张量的形式。

我发现了 3 种方法:

  1. TFRecord,将其写入TFRecord文件并存储到云存储
  2. 将 numpy 数组转换为字符串并作为字符串列存储在表中
  3. 存储到模式为 REPEAT 的列。(不确定这样是否可以保留嵌入向量条目的顺序)

希望任何人都可以提供一些建议或其他方法。

非常感谢

Mar*_*ann 0

数组是 BigQuery 中的一等公民 - 请参阅https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays

模式REPEATED意味着该列是一个数组。

STRING例如, mode类型的列REPEATED意味着该列只能包含字符串类型的数组。

元素的顺序被保留。所以我猜你只是想直接将数组作为数组存储在 BQ 中。

如果您想稍后使用 SQL 对这些数组进行操作,请查看UNNEST(<array>)将数组转换为表,以便您可以直接在数组上运行 SQL(使用横向联接或仅使用子查询)。