diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 90b49471..e1269cb5 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: ${{ github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]') || fromJSON('["ubuntu-latest", "macos-latest", "windows-latest"]') }} python-version: ['3.9'] steps: - uses: actions/checkout@v4 diff --git a/tn/chinese/data/math/operator_unambiguous.tsv b/tn/chinese/data/math/operator_unambiguous.tsv new file mode 100644 index 00000000..3bef6459 --- /dev/null +++ b/tn/chinese/data/math/operator_unambiguous.tsv @@ -0,0 +1,6 @@ +× 乘 +÷ 除 +≥ 大于等于 +≤ 小于等于 +>= 大于等于 +<= 小于等于 diff --git a/tn/chinese/rules/math.py b/tn/chinese/rules/math.py index ce358bfb..fbc33981 100644 --- a/tn/chinese/rules/math.py +++ b/tn/chinese/rules/math.py @@ -30,10 +30,11 @@ def __init__(self, cardinal=None): def build_tagger(self): operator = string_file(get_abs_path("chinese/data/math/operator.tsv")) + unambiguous_operator = string_file(get_abs_path("chinese/data/math/operator_unambiguous.tsv")) symbols = cross("~", "到") | cross(":", "比") | cross("<", "小于") | cross(">", "大于") number = self.cardinal.number tagger = number + (delete(" ").ques + (operator | symbols) + delete(" ").ques + number).star - tagger |= operator + tagger |= unambiguous_operator tagger = insert('value: "') + tagger + insert('"') self.tagger = self.add_tokens(tagger)