[THUDM/ChatGLM-6B]tokenization中文标点符号会映射成英文标点符号

2024-05-13 217 views
3

用预训练的ChatGLM做抽取任务的时候发现,抽取的标点符号会修改,发现中文标点符号encoder再decoder之后会转为英文标点。

e.g. :","会变成","。

请问这么做是认为中英文标点符号表达意思一致,这样做减少训练成本嘛?但是可能在其它特定标点符号修正上是不是会有点问题?

请问词表未来还有变更的计划嘛?

回答

9

请问有解决办法了吗?这个特性会在做文本纠错、校验等任务时带来麻烦。

1

请问有解决办法了吗?这个特性会在做文本纠错、校验等任务时带来麻烦。

查了一下,应该是与sentencepiece的默认设置有关。在训练sentencepiece模型时,通过使用spm_train --normalization_rule_name=identity参数,可以避免把全角字符映射成半角字符。 但根据sentencepiece官方信息,这个normalization_rule只能在训练时指定。因为这个normalization_rule是写到模型文件中的,一旦模型训练完毕就无法更改了。所以除非作者提供新的ice_text.model文件,似乎没有别的办法。

参照: https://github.com/google/sentencepiece/issues/789 https://github.com/google/sentencepiece/issues/839

7

同问,我也遇到了这个问题,在评估BLEU和ROUGE的时候会有很大差异,没法跟之前benchmark公平比较了。

5

+1我也遇到了这个问题

5

请问有解决办法了吗?这个特性会在做文本纠错、校验等任务时带来麻烦。

查了一下,应该是与sentencepiece的默认设置有关。在训练sentencepiece模型时,通过使用spm_train --normalization_rule_name=identity参数,可以避免把全角字符映射成半角字符。 但根据sentencepiece官方信息,这个normalization_rule只能在训练时指定。因为这个normalization_rule是写到模型文件中的,一旦模型训练完毕就无法更改了。所以除非作者提供新的ice_text.model文件,似乎没有别的办法。

参照: google/sentencepiece#789 google/sentencepiece#839

大家后面是怎么解决全角/半角问题的呢