Skip to content

如何添加新规则? #298

@BridgetteSong

Description

@BridgetteSong

针对分数的优化想要添加一个新规则,比如"点3/4/5击个人头像"改为”点三、四、五击个人头像“

class ShortBreak(Processor):

    def __init__(self):
        super().__init__(name='shortbreak')
        self.build_tagger()
        self.build_verbalizer()

    def build_tagger(self):
        rmspace = delete(' ').ques
        number = Cardinal().number

        tagger = (insert('one: "') + number + rmspace + delete('/') +
                  rmspace + insert('" two: "') + number + rmspace + delete('/') + insert('" three: "') + number + rmspace +
                  insert('"')).optimize()
        self.tagger = self.add_tokens(tagger)

    def build_verbalizer(self):
        one = delete('one: "') + self.SIGMA + delete('"')
        two = delete('two: "') + self.SIGMA + delete('"')
        three = delete('three: "') + self.SIGMA + delete('" ')
        verbalizer = one + insert('、') + two + insert('、') + three
        self.verbalizer = self.delete_tokens(verbalizer)

输出为:
`char { value: "点" } shortbreak { one: "三" two: "四" three: "五" } char { value: "击" } char { value: "个" } char { value: "人" } char { value: "头" } char { value: "像" }

File "extensions/_pynini.pyx", line 463, in _pynini.Fst.string
File "extensions/_pynini.pyx", line 508, in _pynini.Fst.string
_pywrapfst.FstOpError: Operation failed`

貌似可以正常解析,但是输出有问题,请问如何设置输出?build_verbalizer这里面的规则是什么?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions