Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

badcase咨询,连续的重复数字itn转换错误 #237

Closed
vbiwuevbaeib opened this issue Jun 6, 2024 · 8 comments
Closed

badcase咨询,连续的重复数字itn转换错误 #237

vbiwuevbaeib opened this issue Jun 6, 2024 · 8 comments

Comments

@vbiwuevbaeib
Copy link

例如“三十万三十万”,预期得到“30万 30万”,但现有结果是

invnormalizer.normalize("三十万三十万")
cardinal { value: "303000 100000" }
'303000 100000'
对于这样重复的数字,应该怎么判断分词呢?

除此之外,像“三万一天的利息”在itn转换过程中也存在问题,现有结果是

invnormalizer.normalize("三万一天的利息")
measure { value: "31000天" } char { value: "的" } char { value: "利" } char { value: "息" }
'31000天的利息'
这里的一天其实是指每天,应该是单位

@xingchensong
Copy link
Member

第一个不是很好弄,第二个应该可以改下规则,让天数前面匹配数字的时候不匹配x万x这种数字,只匹配x万或者x这种

@xingchensong
Copy link
Member

可以尝试改一下然后给我们pr哦

@weimeng23
Copy link
Contributor

确实这种case很多, 三千一年 三千一个月 三百一顿 这类

@xingchensong
Copy link
Member

确实这种case很多, 三千一年 三千一个月 三百一顿 这类

这个很好改的,你给measure里加一条路径 digit + union("百", "千", "万") + digit + unit

然后给这条路径加一个非常优先的权重,这样 x千y年 就不会被分成 number了,可以提个pr,记得加一下单元测试样例

@weimeng23
Copy link
Contributor

确实这种case很多, 三千一年 三千一个月 三百一顿 这类

这个很好改的,你给measure里加一条路径 digit + union("百", "千", "万") + digit + unit

然后给这条路径加一个非常优先的权重,这样 x千y年 就不会被分成 number了,可以提个pr,记得加一下单元测试样例

嗯嗯是这个思路,我之前这么改的

        cardinal |= add_weight(
            ((digit + delete('百') + add_weight(addzero**2, 1.0)) |
             (digit + delete('千') + add_weight(addzero**3, 1.0)) |
             (digit + delete('万') + add_weight(addzero**4, 1.0))) +
            insert(' ') + digit +
            (accep('个') | accep('个月') | accep('月') | accep('天') | accep('年')),
            -0.5)

@xingchensong
Copy link
Member

@weimeng23 方便提个pr不

@weimeng23
Copy link
Contributor

@weimeng23 方便提个pr不

没问题

@weimeng23
Copy link
Contributor

@xingchensong #255

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants