你能解释一下是否可以在预定义的词汇表上初始化sentencepiece算法吗?如果不可以,那么这将是一个非常有用的选项。
n6lpvg4x1#
你能详细说明你的请求吗?
"initialize"意味着我们使用预定义的词汇表训练spm模型吗?还是只在分割时间中输入预定义的词汇表?
前者在unigram模式下技术上是可能的,但尚未实现。
对于后一个请求,你可以使用set_vocabulary方法来限制词汇表。然而,预定义的词汇表必须是默认词汇表的子集。
如果你真的要覆盖词汇表,你可以重写mode文件目录,但这是高级用法,风险自负。
qzlgjiam2#
我有一个类似的问题,可能几乎相同。在一些利用句子片段模型的后续下游处理[ASR,MT等]中,分割词汇通常被纳入模型。然而,如果句子片段模型丢失,就无法再与下游ASR模型进行适应。作为一个具体的例子:
能够使用现有espnet模型中的确切、固定词汇重新训练句子片段模型将会非常酷且有用,因为这将节省从头开始重新训练ASR模型所需的时间。
b4qexyjb3#
我认为,@AdolfVonKleist的示例非常有用。就我理解而言,@vladmosin的问题是:由于sentencepiece从一些词汇开始裁剪,因此可能有用的一个选项是允许将预定义的给定词汇传递给sentencepiece。
dzhpxtsq4#
严格来说,仅从词汇表中是无法复制出相同的结果的。BPE和unigram语言模型为每个标记管理分数。无论如何,这个分数都无法复制。如果你使用的是unigram语言模型,那么分数基本上与unigram负对数概率相同。不确定如何复制BPE的分割。
oknrviil5#
有人能帮我吗?我应该熟悉哪些技术栈,才能为Azure做出贡献?我想为了职业发展和更积极地参与开源项目学习更多的东西。
s6fujrry6#
"initialize"意味着我们使用预定义的词汇表训练spm模型吗?还是在分割时间中仅提供预定义的词汇表?前者在单字模式下从技术上是可行的,但尚未实现。@taku910 这个功能已经实现了吗?或者有任何关于如何实现这个功能的提示吗?我有兴趣训练一个单字模型,使用预定义的词汇表,即在整个训练过程中都不会扩展或减少词汇量。
6条答案
按热度按时间n6lpvg4x1#
你能详细说明你的请求吗?
"initialize"意味着我们使用预定义的词汇表训练spm模型吗?还是只在分割时间中输入预定义的词汇表?
前者在unigram模式下技术上是可能的,但尚未实现。
对于后一个请求,你可以使用set_vocabulary方法来限制词汇表。然而,预定义的词汇表必须是默认词汇表的子集。
如果你真的要覆盖词汇表,你可以重写mode文件目录,但这是高级用法,风险自负。
qzlgjiam2#
我有一个类似的问题,可能几乎相同。在一些利用句子片段模型的后续下游处理[ASR,MT等]中,分割词汇通常被纳入模型。然而,如果句子片段模型丢失,就无法再与下游ASR模型进行适应。作为一个具体的例子:
能够使用现有espnet模型中的确切、固定词汇重新训练句子片段模型将会非常酷且有用,因为这将节省从头开始重新训练ASR模型所需的时间。
b4qexyjb3#
我认为,@AdolfVonKleist的示例非常有用。就我理解而言,@vladmosin的问题是:由于sentencepiece从一些词汇开始裁剪,因此可能有用的一个选项是允许将预定义的给定词汇传递给sentencepiece。
dzhpxtsq4#
严格来说,仅从词汇表中是无法复制出相同的结果的。BPE和unigram语言模型为每个标记管理分数。无论如何,这个分数都无法复制。
如果你使用的是unigram语言模型,那么分数基本上与unigram负对数概率相同。不确定如何复制BPE的分割。
oknrviil5#
有人能帮我吗?我应该熟悉哪些技术栈,才能为Azure做出贡献?
我想为了职业发展和更积极地参与开源项目学习更多的东西。
s6fujrry6#
"initialize"意味着我们使用预定义的词汇表训练spm模型吗?还是在分割时间中仅提供预定义的词汇表?前者在单字模式下从技术上是可行的,但尚未实现。
@taku910 这个功能已经实现了吗?或者有任何关于如何实现这个功能的提示吗?我有兴趣训练一个单字模型,使用预定义的词汇表,即在整个训练过程中都不会扩展或减少词汇量。