File size: 1,366 Bytes
7c19755 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import ctranslate2
from split import split_string
translator_zh2en = ctranslate2.Translator("zh-en_model/", device="cpu")##路径
translator2_zh2en = ctranslate2.Translator("zh2en_cmodel/", device="cpu")##路径
translator_en2zh = ctranslate2.Translator("en-zh_model/", device="cpu")##路径
translator2_en2zh = ctranslate2.Translator("en2zh_cmodel", device="cpu")##路径
def translate(input_tokens, input_tokens2, mode):
source = split_string(input_tokens)
lenth = len(source)
source2 = split_string(input_tokens2)
lenth2 = len(source2)
if mode == "汉译英" :
results = translator_zh2en.translate_batch(source)##翻译的分词分句
results2 = translator2_zh2en.translate_batch(source2)##翻译的分词分句
else :
results = translator_en2zh.translate_batch(source)##翻译的分词分句
results2 = translator2_en2zh.translate_batch(source2)##翻译的分词分句
target = []
target2 = []
for i in range(0, lenth, 1):
target = target + results[i].hypotheses[0]
for i in range(0, lenth2, 1):
target2 = target2 + results2[i].hypotheses[0]
#print(results[0].hypotheses[0])##results[0]为第0句,hypotheses[0]保持0
##print(results[1].hypotheses[0])
#return results[0].hypotheses[0]
return target,target2 |