sentencepiece 用户定义的字符集

oxalkeyp  于 2个月前  发布在  其他
关注(0)|答案(4)|浏览(25)

你好,

感谢你构建的这个精彩的工具包!如果我的理解是正确的,这个工具包将所有的字母和标点符号作为字符集进行合并,其中集合中的每个字符都满足:len(char) == 1。然而在我的实验中,我需要将一些由两个字符组成的符号(例如ab)作为基本单位进行合并。我是否可以实现这个功能?

提前感谢!

gajydyqb

gajydyqb1#

我也想知道是否可以指定一组基本单位来训练BPE/unigram模型?根据这个issue,似乎--user_defined_symbols是设计用来指定一组预定义的片段,这些片段不会与其他片段合并,因此它似乎不适合这个目的。
提前感谢!

w41d8nur

w41d8nur2#

你好,@wnhsu ,我最近尝试将我想要的基本单位(即两个或更多字符)Map到一个字符,其中Map适用于我的所有文本数据。因此,我基本上使用预定义的Map规则来翻译我的数据。这种方法并不是非常优雅,但我想在这里发布它。不确定我们是否可以使用这个工具包的内置功能来实现这一点。

laximzn5

laximzn53#

我也想看到这个。我正在处理一种语言,其中基本单位是指令的字符串:数字形式,例如
A:32
或者
IN:264
指令集是已知的,也是有限的。
我语言中典型的“句子”看起来像
A:32;IN:264;H:7;W:3。
Sentencepiece可能会将这个句子分词为
['A:32;I', 'N:26', '4;H:7;W:', '3']。
然而,我更希望我的基本单位不要被拆分。
为了解决sentencepiece这个明显限制,我创建了一个Map,用唯一的unicode字符替换每个指令,但这感觉相当hacky,让我的源文件难以阅读,而且很难使用。

xj3cbfub

xj3cbfub4#

相关问题/建议:
在我们的设置中,我们无法将单词边界 " " 输出为完整的标记;它们只能与后续字符(例如 "a" 或 "and")一起出现。希望有一个选项可以禁止某些字符或字符组合形成自己的标记。
我尝试通过
https://github.com/google/sentencepiece#vocabulary-restriction
解决这个问题,但是这个选项似乎没有在Python API中实现。
谢谢

相关问题