Rumah > pembangunan bahagian belakang > Tutorial Python > Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

Lepaskan: 2023-08-09 17:37:52
ke hadapan
1544 orang telah melayarinya

Artikel ini akan berkongsi dengan anda skrip automasi pejabat Python praktikal

"Gunakan Python untuk Batch menterjemahkan dokumen perkataan Inggeris dan memelihara format". perisian! Mari kita lihat kandungan kerja tertentu terlebih dahulu.
1. Penerangan keperluan

Saya mempunyai sejumlah besar dokumen bahasa asing di tangan (dalam kes ini, kami mengambil
5

dokumen sebagai contoh, bernama
dan sebagainya), salah satunya adalah seperti berikut :

Keperluan asas

:

"Terjemah semua kandungan dokumen ini ke dalam bahasa Cina secara berkelompok dan pindahkannya ke fail baharu" , kesannya adalah seperti berikut:

Keperluan lanjutan : Manakala keperluan asas test1.docx test2.docx dipenuhi, keperluan Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar? "pelihara format dokumen asal"

, kesannya adalah seperti berikut:

2. Pengisihan logik Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

1. API Terjemahan keperluan ini adalah teras TerjemahanAlat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?, strateginya ialah menggunakan API terjemahan rangkaian,

di sini kami mengesyorkan Baidu Translation Open Platform, Jika anda tidak mempertimbangkan bilangan pengguna serentak, anda boleh menggunakan versi standard, yang percuma dan tidak mempunyai karakter had

!

Baidu Translation Open Platform: http: //api.fanyi.baidu.com/api/trans/product/indexhttp://api.fanyi.baidu.com/api/trans/product/index

在使用百度的通用翻译 API 之前需要完成以下工作:

  1. 使用百度账号登录百度翻译开放平台(http://api.fanyi.baidu.com);
  2. 注册成为开发者,获得APPID;
  3. 进行开发者认证(如仅需标准版可跳过);
  4. 开通通用翻译API服务:开通链接
  5. 参考技术文档和Demo编写代码
Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

完成后在个人页面在即可看到 ID 和密钥,这个很重要!下面给出整理好的通用翻译 API 的 demo,已经对输出做简单修改,代码拿走就能用!Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

可以看到,测试内容准确的被翻译出来,注意如果需要多次访问 API,免费版有并发数和时间限制,可以用 time

Kerja berikut perlu disiapkan sebelum menggunakan API terjemahan universal Baidu:
    Gunakan akaun Baidu untuk log masuk ke Baidu Translation Open Platform ( http://api.fanyi.baidu.com code>) ;
  1. Daftar sebagai Pembangun, dapatkan
  2. Lakukan pensijilan pembangun (anda boleh melangkaunya jika anda hanya mahu versi standard);
  3. Buka perkhidmatan API terjemahan universal: buka pautan
  4. Rujuk dokumentasi teknikal dan Demo untuk menulis kod
Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?
Selepas selesai, anda boleh melihat ID dan kunci pada halaman peribadi. penting! Demonstrasi API terjemahan universal yang disusun diberikan di bawah Output telah diubah suai secara ringkas, dan kod itu boleh digunakan!

Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

Anda dapat melihat bahawa kandungan ujian diterjemahkan dengan tepat. Ambil perhatian bahawa jika anda perlu mengakses API beberapa kali, versi percuma mempunyai kesesuaian dan had masa , anda boleh menggunakan masa Modul tidur selama satu saat

🎜2. Pengubahsuaian format🎜🎜🎜Kesukaran dengan keperluan lanjutan adalah untuk mengekalkan format🎜Apakah format halaman dan format perenggan dokumen asal, dan apakah bahagian yang sepadan selepas terjemahan. 🎜🎜🎜Berdasarkan hubungan logik di atas, anda hanya perlu mendapatkan kandungan dokumen asal yang sepadan dan menyerahkannya kepada dokumen yang baru diterjemahkan. (Buat masa ini, ia hanya boleh memenuhi penyatuan tetapan halaman dan tetapan perenggan. Untuk pengubahsuaian format perkataan tertentu dalam perenggan, memastikan ketepatan memerlukan pemprosesan bahasa semula jadi NLP, yang tidak diliputi dalam artikel ini.) 🎜

2.1 Gaya halaman

Gaya halaman hanya perlu memasukkan jidar, arah, ketinggian, lebar, dll. Seperti yang anda boleh lihat daripada dokumen asal, jidar sempit diterima pakai. Tetapi kita tidak perlu tahu cara menetapkan empat arah margin sempit Kita hanya perlu membentangkan pemindahan berubah-ubah dokumen lama dan baharu dalam kod, seperti berikutAlat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

2.2 Gaya perenggan

. Gaya perenggan termasuk penjajaran, lekukan, Jarak, dsb. diinden selepas perenggan dalam dokumen asal dan tajuk ditengahkan. Tetapan ini boleh dilakukan dengan baik dalam hantaran berubah-ubah. Jika nilai pembolehubah yang tidak ditetapkan dalam dokumen asal ialah NoneAlat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

2.3 Pengubahsuaian gaya blok teks

Untuk pelarasan gaya seperti saiz fon, tebal, condong, warna, dsb., strategi yang digunakan adalah untuk buat senarai kosong dan rentasi dokumen asal Untuk setiap blok teks dalam setiap perenggan, atribut yang sepadan diperoleh dan diletakkan dalam senarai masing-masing Untuk perenggan yang sama, pilihan dengan atribut blok teks yang paling banyak diberikan kepada perenggan yang sepadan dokumen terjemahan (seperti semua atau sebahagian besar perenggan) Jika teks tebal, semua blok teks perenggan yang sepadan akan ditetapkan kepada tebal selepas terjemahan) Pembaca yang berminat dengan NLP boleh cuba memulihkan pengubahsuaian gaya perkataan tertentu tertentu dalam dokumen bahasa Inggeris ke tahap yang tinggi dan mencerminkannya dalam dokumen terjemahanAlat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

Kod di atas tidak termasuk tetapan fon, kerana tidak perlu menukar Bahasa Inggeris Fon diserahkan kepada dokumen Cina. Tetapan fon Cina telah disebutkan dalam artikel sebelum ini terdapat banyak Setiap dokumen perlu diterjemahkan, jadi keseluruhan logik adalah seperti berikut:

  1. 利用 glob 模块批处理框架可获取某个文件的绝对路径
  2. python-docx 完成 Word 文件实例化后对段落进行解析
  3. 解析出的段落文本交给百度通用翻译 API,解析返回的 Json 格式结果(上面的修改 demo 中已经完成了这一步)并重新写入新的文件
  4. 同个文件全部解析、翻译并写入新文件后保存文件

三、代码实现

导入需要的模块,除翻译 demo 中需要的库外还需要 glob 库批量获取文件、python-docx 读取文件、time 模块控制访问并发。为什么要 os 模块见下文:

import requests
import random
import json
from hashlib import md5
import time
from docx import Document
import glob
import os
Salin selepas log masuk

对原 demo 的部分内容进行保留,涉及到 query 参数的代码需要移动到后面的循环中。保留的部分:Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

效果如下Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

获取到段落文本后,可以将段落文本赋值给 query 参数,调用 API demo 的后续代码。输出结果的同时用 add_paragraph 将结果写入新文档:Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

最后保存成新文件,期望命名为 原文件名_translated 的形式,可用 os.path.basename 方法获取并经字符串拼接达到目的:

wordfile_new.save(path + r'\\' + os.path.basename(file)[:-5] + '_translated.docx')
Salin selepas log masuk
Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

单个文件操作完成后将读取和创建文件的代码块放到批处理框架内:Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

完成了上面的内容后,基本需求就完成了。根据我们梳理的对样式的修改知识,再把样式调整的代码加进来就行了,最终完整代码如下:Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

代码运行完毕后得到五个新的翻译后文件Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

翻译效果如下,可以看到英文被翻译成中文,并且样式大部分保留!Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?

至此,所有文档都被成功翻译,当然这是机器翻译的,具体应用时还需要对关键部分进一步人工调整,不过整体来说还是一次成功的Python办公自动化尝试!

Atas ialah kandungan terperinci Alat terjemahan kumpulan dokumen yang ditulis dalam Python, kesannya lebih baik daripada perisian berbayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:Python当打之年
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan