开源免费多语言翻译模型

 

今天给大家介绍赫尔辛基大学开源免费的多语言翻译模型,赫尔辛基大学开发了1400多个多语种翻译模型,我们可以在Hugging Face网站上免费下载免费使用这些模型,今天我来介绍其中的中译英和英译中两个模型。

我机器的环境是win11,adaconda,python10,最好在adaconda的环境里创建一个专用的虚拟环境,这样不好导致依赖冲突,我们可以在虚拟环境中需要安装以下包:

  • pip install transformers[sentencepiece]
  • pip install torch
  • pip install sacremoses(可选)

1.模型下载

我们需要去Hugging Face的网站下载语言模型和所需文件,下面是中译英英译中的两个模型所需的文件,并将它们分别存放在两个指定的本地文件夹中:

 我们只需下载两个模型的这7个文件即可。

 

 

1.中译英

下面我们通过加载本地模型来实现中译英翻译功能:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
from transformers import pipeline

model_path = './zh-en/'  
#创建tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path) 
#创建模型 
model = AutoModelForSeq2SeqLM.from_pretrained(model_path) 
#创建pipeline
pipeline = pipeline("translation", model=model, tokenizer=tokenizer)

 下面我们来实现翻译功能:

chinese = """
六岁时,我家在荷兰的莱斯韦克,房子的前面有一片荒地,
我称其为“那地方”,一个神秘的所在,那里深深的草木如今只到我的腰际,
当年却像是一片丛林,即便现在我还记得:“那地方”危机四伏,
洒满了我的恐惧和幻想。
"""
result = pipeline(chinese)
print(result[0]['translation_text'])

 

chinese="""
谷歌于2019年推出了 53 量子位的 Sycamore 处理器,
而本次实验进一步升级了 Sycamore 处理器,已提升达到 70 个量子位。
谷歌表示升级 Sycamore 处理器之后,虽然受到相干时间等其它因素的影响,
其性能是此前版本的 2.41 亿倍。
在实验中,科学家们执行了随机电路采样任务。在量子计算中,
这涉及通过运行随机电路和分析结果输出来测试量子计算机的性能,
以评估其在解决复杂问题方面的能力和效率。
"""

result = pipeline(chinese)
print(result[0]['translation_text'])

 

 2.英译中

接下来我们来实现英译中的功能:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
from transformers import pipeline

model_path = './en-zh/' 
english="""
China has expanded its share of global commercial services exports from 3 percent \
in 2005 to 5.4 percent in 2022, according to a report jointly released by \
the World Bank Group and World Trade Organization earlier this week.
"""

tokenizer = AutoTokenizer.from_pretrained(model_path)  
model = AutoModelForSeq2SeqLM.from_pretrained(model_path) 
pipeline= pipeline("translation", model=model, tokenizer=tokenizer)

finaltext = pipeline(english)
print(finaltext[0]['translation_text'])

 

%%time
english="Which TV can I buy if I'm on a budget?"
finaltext = pp(english)
print(finaltext[0]['translation_text'])

 

%%time
english="""
The European Union and Japan will increase cooperation around key \
technologies, including artificial intelligence and computer chip \
production, the 27-member bloc's commissioner for the internal market \
has said.
"""
finaltext = pp(english)
print(finaltext[0]['translation_text'])

 

 大家可以尝试一下,看看这两个模型的翻译效果怎么样。

参考资料

中译英模型

英译中模型

 

去年,谷歌发布了 Google Neural Machine Translation (GNMT),即谷歌神经机器翻译,一个 sequence-to-sequence (“seq2seq”) 的模型。现在,它已经用于谷歌翻译的产品系统。   虽然消费者感受到的提升并不十分明显,谷歌宣称,GNMT 对翻译质量带来了巨大飞跃。   但谷歌想做的显然不止于此。其在官方博客表示:“由于外部研究人员无法获取训练这些模型的框架,GNMT 的影响力受到了束缚。”   如何把该技术的影响力最大化?答案只有一个——开源。   因而,谷歌于昨晚发布了 tf-seq2seq —— 基于 TensorFlow 的 seq2seq 框架。谷歌表示,它使开发者试验 seq2seq 模型变得更方便,更容易达到一流的效果。另外,tf-seq2seq 的代码库很干净并且模块化,保留了全部的测试覆盖,并把所有功能写入文件。   该框架支持标准 seq2seq 模型的多种配置,比如编码器/解码器的深度、注意力机制(attention mechanism)、RNN 单元类型以及 beam size。这样的多功能性,能帮助研究人员找到最优的超参数,也使它超过了其他框架。详情请参考谷歌论文《Massive Exploration of Neural Machine Translation Architectures》。   上图所示,是一个从中文到英文的 seq2seq 翻译模型。每一个时间步骤,编码器接收一个汉字以及它的上一个状态(黑色箭头),然后生成输出矢量(蓝色箭头)。下一步,解码器一个词一个词地生成英语翻译。在每一个时间步骤,解码器接收上一个字词、上一个状态、所有编码器的加权输出和,以生成下一个英语词汇。雷锋网(公众号:雷锋网)提醒,在谷歌的执行中,他们使用 wordpieces 来处理生僻字词。   据雷锋网了解,除了机器翻译,tf-seq2seq 还能被应用到其他 sequence-to-sequence 任务上;即任何给定输入顺序、需要学习输出顺序的任务。这包括 machine summarization、图像抓取、语音识别、对话建模。谷歌自承,在设计该框架时可以说是十分地仔细,才能维持这个层次的广适性,并提供人性化的教程、预处理数据以及其他的机器翻译功能。   谷歌在博客表示: “我们希望,你会用 tf-seq2seq 来加速(或起步)你的深度学习研究。我们欢迎你对 GitHub 资源库的贡献。有一系列公开的问题需要你的帮助!”   GitHub 地址:https://github.com/google/seq2seq   GitHub 资源库:https://google.github.io/seq2seq/nmt/ 标签:tensorflow  seq2seq  谷歌  机器学习
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-派神-

感谢您慷慨解囊,我会更加努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值