NEKOparapa / AiNiee

一款专注于Ai翻译的工具,可以用来一键自动翻译RPG SLG游戏,Epub TXT小说,Srt Lrc字幕等等。
GNU General Public License v3.0
1.09k stars 60 forks source link

是不是可以考虑文本去除英文和数字后,加一个去重功能 #183

Closed stevetrs closed 3 weeks ago

stevetrs commented 1 month ago

发现ainiee在翻译请求的时候会自动删掉文本末尾的英文和数字(又或者是其他什么规则?) 这样在某些情况会重复请求大量相同文本,返回的结果也大概率是错的,所以如果不是很麻烦的话可以考虑去重一下,只请求一次 感觉mtool文本遇到这种情况会比较多 文本举例:

"短剣攻撃R1": "短剣攻撃R1", "短剣攻撃R2": "短剣攻撃R2", "短剣攻撃R3": "短剣攻撃R3", "短剣攻撃R4": "短剣攻撃R4", "短剣攻撃R5": "短剣攻撃R5", "短剣攻撃R6": "短剣攻撃R6", "短剣攻撃R7": "短剣攻撃R7", "短剣攻撃R8": "短剣攻撃R8"

NEKOparapa commented 1 month ago

自动删掉文本末尾的英文和数字,是因为你开启那个处理首尾非文本字符功能,所以偶尔会因为回复相同文本而没有通过检查。我之前也注意到了,但觉得情况比较少见,而且最后能够拆解掉就没有管。issues上有一个类似的问题,他是遇到了因为前面是数字被处理掉,而导致翻译结果错误,加个判断是否纯数字就针对性解决。你这个问题,如果写个正则,判断单字母加数字的字符组合,即“R6”,也能针对性解决,但加个去重功能才是比较有效的通用解决方法,可惜我现在的发送文本逻辑还是比较简单,没有扩展性比较强的发送前处理层,以及回复后处理层,写的功能比较死,加起来比较麻烦。也许现在应该加入一个方便添加各种功能的处理层了,但想一想就觉得累,屎山得先拆解重构。下个版本应该会先针对性解决。

stevetrs commented 1 month ago

自动删掉文本末尾的英文和数字,是因为你开启那个处理首尾非文本字符功能,所以偶尔会因为回复相同文本而没有通过检查。我之前也注意到了,但觉得情况比较少见,而且最后能够拆解掉就没有管。issues上有一个类似的问题,他是遇到了因为前面是数字被处理掉,而导致翻译结果错误,加个判断是否纯数字就针对性解决。你这个问题,如果写个正则,判断单字母加数字的字符组合,即“R6”,也能针对性解决,但加个去重功能才是比较有效的通用解决方法,可惜我现在的发送文本逻辑还是比较简单,没有扩展性比较强的发送前处理层,以及回复后处理层,写的功能比较死,加起来比较麻烦。也许现在应该加入一个方便添加各种功能的处理层了,但想一想就觉得累,屎山得先拆解重构。下个版本应该会先针对性解决。

要请求的文本保存成字典,然后每次添加的时候用update应该就能实现自动去重。 但是我也不知道你具体是怎么实现的,这么做会不会有更麻烦的问题。 这个问题影响确实也不大,我也只是发现了就顺便来提一下