【问题标题】:GoogleTrans Python not translatingGoogleTrans Python 不翻译
【发布时间】:2020-07-24 15:53:08
【问题描述】:

我正在为我的项目使用 GoogleTrans。实际上,我有一个马拉地语文本,是从“语音到文本”中获得的,但是当我将该文本转换为英语时,它并没有正确翻译。

但是当我在网站上使用谷歌翻译时,它的翻译准确率是 100% 吗?

Image

这是一段代码:

import speech_recognition as sr
from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
import goslate
import googletrans

print("Hello World")

filename = r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav"
r = sr.Recognizer()

with sr.AudioFile(filename) as source:
    audio_data = r.record(source)

    text = r.recognize_google(audio_data,language='mr')
    print("Text\n",text)

    print(type(text))
    
    translator = Translator()
    converted_text = translator.translate(text)
    print("Converted text\n",converted_text)

    with open("D:/output.txt",'w',encoding="utf-8") as f:
        f.write(text)
        f.write(str(converted_text))

请建议,我该怎么办?

【问题讨论】:

标签: python google-translate


【解决方案1】:

https://pypi.org/project/googletrans 是一个非官方的软件包(不是由 Google 创建的)。同样在免责声明中,它具有以下“...此 API 不保证该库将始终正常工作...”。如果你想要稳定,请使用谷歌官方 API https://cloud.google.com/translate/docs

无论如何,下面是一个测试,以显示翻译工作

from googletrans import Translator

translator = Translator()
results =translator.translate('हॅलो वर्ल्ड')
print(results.text)

输出:

Hello World

我不确定您遇到了什么问题。不过,我建议将您的代码重构为方法,然后您可以单独进行测试。

以下代码经过测试,但应该有助于调试:

import speech_recognition as sr
#from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
#import goslate
#import googletrans

def provideAudioToText(filename):
    r = sr.Recognizer()
    with sr.AudioFile(filename) as source:
    audio_data = r.record(source)
    return r.recognize_google(audio_data,language='mr')

def translate(text):
    translator = Translator()
    results = translator.translate(text)
    return results.text

def Save(filename, original_text, converted_text):
    with open(filename,'w',encoding="utf-8") as f:
        f.write(original_text)
        f.write(str(converted_text))

original_text = provideAudioToText(r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav")
print("Text\n", original_text)
print(type(original_text))
converted_text = translate(original_text)
print("Converted text\n",converted_text)
Save("D:/output.txt", original_text, converted_text) 

【讨论】:

【解决方案2】:

如下升级您的 googletrans 模块。

pip install googletrans==4.0.0rc1

我看到默认安装googletrans使用的是3.x版本,有你上面提到的问题。

查看Github page上的对话

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2022-01-17
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多