首页 > 解决方案 > 在 Google Cloud BigQuery 中存储句子嵌入

问题描述

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

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

我找到了 3 种方法:

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

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

非常感谢

标签: google-cloud-platformgoogle-bigqueryembeddinghuggingface-transformers

解决方案


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

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

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

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

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


推荐阅读