谷歌翻译API
1 模型训练
相关参考资源:
通用翻译:可以采用R包
googleLanguageR,具体可以查看github仓库ropensci/googleLanguageR官方文档https://github.com/ropensci/googleLanguageR机器学习V3翻译:Guide: How to Train a Google Translate AutoML v3 Model https://custom.mt/guide-how-to-train-a-google-translate-automl-v3-model/
1.1 谷歌翻译简介
谷歌翻译有两个API产品:
Cloud Translation API:是Google 久经考验的预训练模型(通用型)。
AutoML Translation:使用对你最重要的字词、短语和习语,在 Google 强大的 Translation API 基础上进行构建(定制型),无需机器学习经验。
我们这里考虑使用后者。
1.2 V3模型训练
(1)前提条件:谷歌账号、翻译API接口打开、信用卡账单。
(2)自定义的对照词典表:以.tsv文件格式维护并上传。
(3)模型训练:根据词典表的大小,需要耗时若干小时。关键是要注意信用卡扣费情况。
2 Python准备
相关参考资源:
在线图书 The Hitchhiker’s Guide to Python! https://docs.python-guide.org/starting/installation/
POSIT Minimum Viable Python — Working with Python https://solutions.posit.co/write-code/minimum-viable-python/
Tomas Beuzen(个人站点)的在线图书 Python Programming for Data Science https://www.tomasbeuzen.com/python-programming-for-data-science/README.html
2.1 安装python及常用工具
(1)安装chocolatey https://chocolatey.org/install。scoop是另一个同类工具,但Windows用户还是更推荐chocolatey。
(2)命令行安装python
$ choco install python(3)安装和升级pip
$ python -m pip install -U pip确认上述安装
$ python --version
$ pip --version(4)安装虚拟环境工具virtualenv
$ pip install virtualenv
$ virtualenv --version2.2 虚拟环境管理
进入工作项目文件夹根目录,并设定虚拟环境
(1)为项目生成虚拟环境,会产生一个文件夹venv/,默认情况下该文件夹会自动添加到.gitignore列表而不会进入托管系统(github)
$ cd project_folder
$ virtualenv venv(2)激活项目虚拟环境(每次都要如此操作)
$ source venv/Scripts/activate
(3)此时可以安装自己想要的python包
$ pip install requests(4)如果虚拟环境下的工作已经完成,则可以解除环境激活
$ deactivate(5)冻结备份虚拟环境下的python包列表(freeze),以便后面复现使用install。该冻结列表文件.txt应该被托管系统(github)记录和保存。
$ pip freeze > py/requirements.txt$ pip install -r py/requirements.txt3 谷歌本地验证
Google Cloud CLI 是一套用于创建和管理 Google Cloud 资源的工具。借助这些工具,您可以通过命令行或通过脚本和其他自动化功能执行许多常见的平台任务。
如果您使用的是 Cloud Shell,则 gcloud CLI 自动可用,您无需安装。否则,请下载并安装 gcloud CLI,然后initialize它。
主要过程如下:
下载
gcloud CLI:官网链接安装
gcloud CLI:默认安装即可。如果出现HTTP无服务的报错,可以尝试把网络代理取消掉。初始化。按照引导进行初始化配置。注意在验证项目选择中,识别并选中自己的训练模型id。
4 API调用
相关参考资源:
- Google Cloud Client Libraries for google-cloud-translate https://googleapis.dev/python/translation/latest/UPGRADING.html。介绍了新一代翻译接口的python代码改变。
4.1 python包准备
需要安装一个新的python库libcst
pip install google-cloud-translate libcst4.2 python代码更新
旧代码:
from google.cloud import translate
client = translate.TranslationServiceClient()
parent = client.location_path("<PROJECT_ID>", "<LOCATION>")
text = "Good morning!"
response = client.translate_text(
parent=parent,
contents=[text],
mime_type="text/plain",
source_language_code="en-US",
target_language_code="fr",
)新代码:
from google.cloud import translate
client = translate.TranslationServiceClient()
parent = "projects/<PROJECT_ID>/locations/<LOCATION>"
text = "Good morning!"
response = client.translate_text(
request={
"parent": parent,
"contents": [text],
"mime_type": "text/plain",
"source_language_code": "en-US",
"target_language_code": "fr"
}
)4.3 python翻译
具体代码参看项目hansenEM/MLtrain/predictv3.py,其中最关键的是三个参数:
project_id = '10xxxxxxxxxx2x'。你个人谷歌项目的代码。location = 'us-central1'。对于个人训练模型,这个是硬编码,不能更改!因为这个原因,在调用翻译接口时,你的网络必须要开(漂亮国)全局代理。model。个人定制化的训练模型的id。
登录你自己的Google Cloud Translation API(网址),点开已经训练好的模型,里面会提供一段python示例代码。
但是因为上述python代码更新的原因,这段示例代码实际上是无法运行的。