xd2333 / GalTransl

支持GPT-3.5/GPT-4/Newbing/Sakura等大语言模型的Galgame自动化翻译解决方案 Automated translation solution for visual novels supporting GPT-3.5/GPT-4/Newbing/Sakura
GNU General Public License v3.0
1.24k stars 72 forks source link

一个可能能改善称呼的思路 #119

Closed uueu closed 4 months ago

uueu commented 4 months ago

先说一个翻译时遇到的问题,在后期处理的时候经常会看到如小姐翻译成先生,爱称如某酱,某君搞错,这种方法虽然一定程度上可以用字典替换和gpt喂词解决,但是一个太僵硬,一个触发不是那么稳定而且也有可能错翻。举个例子,我和女盆友和女盆友的姐姐出门逛街,对于女友,我直呼其名,对于女友姐姐,我称呼她时却加上了酱,就很怪。其他类似的情况还有称呼学妹加酱,学姐也加酱。 其原因也很简单,一些词本来就是加在男女之后用来称呼的(ps:我日语不太好,这个是我观察文本加查字典得到的,如有不对请指正) 如果直接找到所有加了这些词的称呼然后用字典替换,就会发生一些男女对了但是怪怪的情况,因为字典替换是针对全局的,,而不同的人称呼同一个人会因身份的不同产生差异。 接下来谈一下思路。其实很简单,就像我刚刚说的不同的人称呼同一个人会因身份的不同产生差异,反过来同一个人对其他所有人的称呼其实是相对固定的(ps:观察得到),所以只要知道了谁是文本的所有人,就可以知道他应该如何称呼其他人。而gal对应轻小说有一个很大的优点,那就是其实我们知道说话人是谁,就写在name里,没有name的就是旁白或者主视角(根据游戏类型来定,第一人称还是第三人称)。所以我的思路就是对说话人进行定制,有点类似条件字典,但是判断条件是人物。 下面举个应用实例: A B C D E F 年龄 8 15 18 18 26 26 性别 男 女 男 女 女 女 关系 邻家小弟 C,D的学妹 D男友 C女友 F的闺蜜 E的闺蜜 如果直接替换会发生问题的主要是 A,B称呼D,D酱(因为男友称呼D酱)A,B,C,D称呼E与F,E酱,F酱(因为EF互相称呼酱) 而使用如下替换 name A B B姐姐 name A D D姐姐 name A E E阿姨 name A F F阿姨 name B D D姐姐 name B E E姐姐 ..................................... 最后你就会惊奇的发现称呼变得顺眼了很多。 可能问题: 1、准备费时间 在人物极少且关系不复杂的情况下,这种方法会耗费比你替换加修改更多的时间。 2、必要性不是很强 我相信对于很多人来说,称呼怪怪的不是什么大问题,甚至有的人觉得看懂就行,男女也不重要。在这种情况下,这个思路就不太实用了。 可能的解决方法: 1、与现有的人名表结合,找到要改的人物然后在提供一张表,2*2的,然后在对应的空填上称呼,没填的就保持不动,可以减少一大部分工作量。 当然,这个还是推荐有时间,且追求精度的人搞,只想看懂故事的,我觉得直接翻就很够了。

最后提一句,本方法不仅适用于称呼改变,因为他其实是对特定的人物的特定的词的精确翻译,你也可以根据其他条件翻译出独属于这个人的特有翻译,可以广泛应用于比较特殊的情况,比如,口癖,还有,瑟瑟。