我需要翻译数据库中的大量文本。因此,我这几天一直在和变压器和模型打交道。我绝对不是数据科学专家,不幸的是我没有进一步了解。
\n问题始于较长的文本。第二个问题是定序器的通常最大令牌大小 (512)。仅仅截断并不是一个真正的选择。在这里,我确实找到了一种解决方法,但它无法正常工作,结果是较长文本(> 300 个序列)上的单词沙拉
\n这是一个示例(请忽略警告,这是另一个问题 - 目前没有那么严重);
\n如果我使用例句 2(55 个序列)或 5 次(163 个序列)-没有问题。
\n但它会被例如 433 序列(屏幕截图中的第三个绿色文本块)搞乱。
\n\n对于超过 510 个序列,我尝试将其分成块,如上面描述的链接所示。但这里的结果也很奇怪。
\n我很确定 - 我有不止一个错误并且低估了这个主题。\n但我认为没有其他(免费/便宜)的方法来翻译大量文本。
\n你们能帮我一下吗?您发现哪些(思维)错误以及您建议如何解决这些问题?非常感谢。
\n\nfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM\nimport torch\n\nif torch.cuda.is_available(): \n dev = "cuda"\nelse: \n dev = "cpu" \ndevice = torch.device(dev)\n \nmname = \'Helsinki-NLP/opus-mt-de-en\'\ntokenizer = AutoTokenizer.from_pretrained(mname)\nmodel = AutoModelForSeq2SeqLM.from_pretrained(mname)\nmodel.to(device)\n\nchunksize = 512\n\ntext_short = "Nach nur sieben Seiten appellierte man an die W\xc3\xa4hlerinnen und W\xc3\xa4hler, sich richtig …Run Code Online (Sandbox Code Playgroud) python translation huggingface-transformers huggingface-tokenizers