Nvtext Normalize#
- group 标准化
函数
-
std::unique_ptr<cudf::column> normalize_spaces(cudf::strings_column_view const &input, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
通过标准化输入列中每个字符串的空白字符来返回新的字符串列。
标准化字符串会用单个空格“ ”替换任意数量的空白字符(字符码点 <= ' ')序列,并去除字符串开头和结尾的空白字符。
Example: s = ["a b", " c d\n", "e \t f "] t = normalize_spaces(s) t is now ["a b","c d","e f"]
行
i
处的空输入元素会在输出列的行i
处产生相应的空条目。- 参数:
input – 要标准化的字符串列
mr – 用于分配返回列的设备内存的设备内存资源
stream – 用于设备内存操作和内核启动的 CUDA 流
- 返回:
包含标准化字符串的新字符串列。
-
std::unique_ptr<cudf::column> normalize_characters(cudf::strings_column_view const &input, bool do_lower_case, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
标准化字符串字符以便分词。
此函数使用内置于 nvtext::subword_tokenize 函数中的标准化器,该标准化器包括:
在标点符号(unicode 类别以“P”开头)以及某些 ASCII 符号(如“^”和“$”)周围添加填充。
在 CJK Unicode 区块字符周围添加填充。
将空白字符(例如
"\t", "\n", "\r"
)更改为单个空格" "
。删除控制字符(unicode 类别“Cc”和“Cf”)。
这里的填充过程在字符前后添加一个空格。关于 *unicode 类别*的详细信息可在此处找到:https://unicodebook.readthedocs.io/unicode.html#categories
如果
do_lower_case = true
,小写化也会去除重音符号。没有小写化,重音符号无法从大写字符中去除;没有去除重音符号,也无法进行小写化。但是,如果重音字符已经是小写,则只会去除重音符号。s = ["éâîô\teaio", "ĂĆĖÑÜ", "ACENU", "$24.08", "[a,bb]"] s1 = normalize_characters(s,true) s1 is now ["eaio eaio", "acenu", "acenu", " $ 24 . 08", " [ a , bb ] "] s2 = normalize_characters(s,false) s2 is now ["éâîô eaio", "ĂĆĖÑÜ", "ACENU", " $ 24 . 08", " [ a , bb ] "]
行
i
处的空输入元素会在输出列的行i
处产生相应的空条目。此函数需要输入字符串列中字符字节数的约 16 倍作为工作内存。
- 参数:
input – 要标准化的输入字符串
do_lower_case – 如果为 true,则大写字符会被转换为小写,并去除这些字符的重音符号。如果为 false,则不对带重音和大写字符进行转换。
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配任何返回对象的内存资源
- 返回:
标准化的字符串列
-
std::unique_ptr<character_normalizer> create_character_normalizer(bool do_lower_case, cudf::strings_column_view const &special_tokens = cudf::strings_column_view(cudf::column_view{cudf::data_type{cudf::type_id::STRING}, 0, nullptr, nullptr, 0}), rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
创建一个标准化器对象。
创建一个标准化器对象,该对象可以在多次调用 nvtext::normalize_characters 时重复使用。
- 参数:
do_lower_case – 如果为 true,则大写字符会被转换为小写,并去除这些字符的重音符号。如果为 false,则不对带重音和大写字符进行转换。
special_tokens – 包含
[]
方括号的单个标记。默认为不包含特殊标记。stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
与 nvtext::normalize_characters 一起使用的对象。
-
std::unique_ptr<cudf::column> normalize_characters(cudf::strings_column_view const &input, character_normalizer const &normalizer, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
标准化输入字符串列中的文本。
cn = create_character_normalizer(true) s = ["éâîô\teaio", "ĂĆĖÑÜ", "ACENU", "$24.08", "[a,bb]"] s1 = normalize_characters(s,cn) s1 is now ["eaio eaio", "acenu", "acenu", " $ 24 . 08", " [ a , bb ] "] cn = create_character_normalizer(false) s2 = normalize_characters(s,cn) s2 is now ["éâîô eaio", "ĂĆĖÑÜ", "ACENU", " $ 24 . 08", " [ a , bb ] "]
另请参阅
参阅 nvtext::character_normalizer 了解标准化器行为的详细信息
行
i
处的空输入元素会在输出列的行i
处产生相应的空条目。- 参数:
input – 要标准化的输入字符串
normalizer – 此函数使用的标准化器
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配任何返回对象的内存资源
- 返回:
标准化的字符串列
-
struct character_normalizer#
- #include <normalize.hpp>
与 nvtext::normalize_characters 一起使用的标准化器对象。
使用 nvtext::create_normalizer 创建此对象。
此标准化器包括
在标点符号(unicode 类别以“P”开头)以及某些 ASCII 符号(如“^”和“$”)周围添加填充。
在 CJK Unicode 区块字符周围添加填充。
将空白字符(例如
"\t", "\n", "\r"
)更改为单个空格" "
。删除控制字符(unicode 类别“Cc”和“Cf”)。
填充过程在字符前后添加一个空格。关于 *unicode 类别*的详细信息可在此处找到:https://unicodebook.readthedocs.io/unicode.html#categories
如果
do_lower_case = true
,小写化也会去除任何重音符号。没有小写化,重音符号无法从大写字符中去除;没有去除重音符号,也无法进行小写化。但是,如果重音字符已经是小写,则只会去除重音符号。如果包含
special_tokens
,则如果方括号[
和]
之间的字符与给定的标记之一匹配,则不会插入填充。此外,special_tokens
预计会在每个字符串的开头和结尾适当地包含[]
字符。公共函数
-
character_normalizer(bool do_lower_case, cudf::strings_column_view const &special_tokens, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
标准化器对象构造函数。
此函数初始化并保存字符标准化表和设置。
- 参数:
do_lower_case – 如果为 true,则大写字符会被转换为小写,并去除这些字符的重音符号。如果为 false,则不对带重音和大写字符进行转换。
special_tokens – 每一行都是一个标记,包含
[]
方括号。例如:[BOS]
,[EOS]
,[UNK]
,[SEP]
,[PAD]
,[CLS]
,[MASK]
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
-
std::unique_ptr<cudf::column> normalize_spaces(cudf::strings_column_view const &input, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#