Nvtext Minhash#
- 组 MinHashing
函数
-
std::unique_ptr<cudf::column> minhash(cudf::strings_column_view const &input, uint32_t seed, cudf::device_span<uint32_t const> parameter_a, cudf::device_span<uint32_t const> parameter_b, cudf::size_type width, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每个字符串的 Minhash 值。
此函数使用 MurmurHash3_x86_32 作为哈希算法。
输入字符串首先使用给定的
seed
对width
个字符的子字符串进行哈希。然后使用以下公式将这些哈希值与a
和b
参数值组合:max_hash = max of uint32 mp = (1 << 61) - 1 hv[i] = hash value of a substring at i pv[i] = ((hv[i] * a[i] + b[i]) % mp) & max_hash
此计算在每个子字符串上执行,并按如下方式计算最小值:
mh[j,i] = min(pv[i]) for all substrings in row j and where i=[0,a.size())
任何空行条目都会导致相应的空输出行。
- 抛出:
std::invalid_argument – 如果宽度 < 2
std::invalid_argument – 如果 parameter_a 为空
std::invalid_argument – 如果
parameter_b.size() != parameter_a.size()
std::overflow_error – 如果
parameter_a.size() * input.size()
超过列大小限制
- 参数:
input – 用于计算 Minhash 的字符串列
seed – 用于哈希算法的种子值
parameter_a – 用于排列计算的值
parameter_b – 用于排列计算的值
width – 每行要哈希的子字符串的字符宽度
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每种子的每个字符串的 Minhash 值列表列
-
std::unique_ptr<cudf::column> minhash64(cudf::strings_column_view const &input, uint64_t seed, cudf::device_span<uint64_t const> parameter_a, cudf::device_span<uint64_t const> parameter_b, cudf::size_type width, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每个字符串的 Minhash 值。
此函数使用 MurmurHash3_x64_128 作为哈希算法。
输入字符串首先使用给定的
seed
对width
个字符的子字符串进行哈希。然后使用以下公式将这些哈希值与a
和b
参数值组合:max_hash = max of uint64 mp = (1 << 61) - 1 hv[i] = hash value of a substring at i pv[i] = ((hv[i] * a[i] + b[i]) % mp) & max_hash
此计算在每个子字符串上执行,并按如下方式计算最小值:
mh[j,i] = min(pv[i]) for all substrings in row j and where i=[0,a.size())
任何空行条目都会导致相应的空输出行。
- 抛出:
std::invalid_argument – 如果宽度 < 2
std::invalid_argument – 如果 parameter_a 为空
std::invalid_argument – 如果
parameter_b.size() != parameter_a.size()
std::overflow_error – 如果
parameter_a.size() * input.size()
超过列大小限制
- 参数:
input – 用于计算 Minhash 的字符串列
seed – 用于哈希算法的种子值
parameter_a – 用于排列计算的值
parameter_b – 用于排列计算的值
width – 每行要哈希的子字符串的字符宽度
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每种子的每个字符串的 Minhash 值列表列
-
std::unique_ptr<cudf::column> minhash_ngrams(cudf::lists_column_view const &input, cudf::size_type ngrams, uint32_t seed, cudf::device_span<uint32_t const> parameter_a, cudf::device_span<uint32_t const> parameter_b, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每个输入行的 Minhash 值。
此函数使用 MurmurHash3_x86_32 作为哈希算法。
输入行首先使用给定的
seed
在字符串的ngrams
滑动窗口上进行哈希。然后使用以下公式将这些哈希值与a
和b
参数值组合:max_hash = max of uint32 mp = (1 << 61) - 1 hv[i] = hash value of a ngrams at i pv[i] = ((hv[i] * a[i] + b[i]) % mp) & max_hash
此计算在每组 ngrams 上执行,并按如下方式计算最小值:
mh[j,i] = min(pv[i]) for all ngrams in row j and where i=[0,a.size())
任何空行条目都会导致相应的空输出行。
- 抛出:
std::invalid_argument – 如果 ngrams < 2
std::invalid_argument – 如果 parameter_a 为空
std::invalid_argument – 如果
parameter_b.size() != parameter_a.size()
std::overflow_error – 如果
parameter_a.size() * input.size()
超过列大小限制
- 参数:
input – 用于计算 Minhash 的字符串列
ngrams – 每行内要哈希的字符串数量
seed – 用于哈希算法的种子值
parameter_a – 用于排列计算的值
parameter_b – 用于排列计算的值
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每种子的每个字符串的 Minhash 值列表列
-
std::unique_ptr<cudf::column> minhash64_ngrams(cudf::lists_column_view const &input, cudf::size_type ngrams, uint64_t seed, cudf::device_span<uint64_t const> parameter_a, cudf::device_span<uint64_t const> parameter_b, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每个输入行的 Minhash 值。
此函数使用 MurmurHash3_x64_128 作为哈希算法。
输入行首先使用给定的
seed
在字符串的ngrams
滑动窗口上进行哈希。然后使用以下公式将这些哈希值与a
和b
参数值组合:max_hash = max of uint64 mp = (1 << 61) - 1 hv[i] = hash value of a ngrams at i pv[i] = ((hv[i] * a[i] + b[i]) % mp) & max_hash
此计算在每组 ngrams 上执行,并按如下方式计算最小值:
mh[j,i] = min(pv[i]) for all ngrams in row j and where i=[0,a.size())
任何空行条目都会导致相应的空输出行。
- 抛出:
std::invalid_argument – 如果 ngrams < 2
std::invalid_argument – 如果 parameter_a 为空
std::invalid_argument – 如果
parameter_b.size() != parameter_a.size()
std::overflow_error – 如果
parameter_a.size() * input.size()
超过列大小限制
- 参数:
input – 用于计算 Minhash 的列表字符串列
ngrams – 每行内要哈希的字符串数量
seed – 用于哈希算法的种子值
parameter_a – 用于排列计算的值
parameter_b – 用于排列计算的值
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每种子的每个字符串的 Minhash 值列表列
-
std::unique_ptr<cudf::column> minhash(cudf::strings_column_view const &input, uint32_t seed, cudf::device_span<uint32_t const> parameter_a, cudf::device_span<uint32_t const> parameter_b, cudf::size_type width, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#