从Google翻译请求中获取罕见的翻译

时间:2015-08-20 19:12:45

标签: python nlp google-translate

对于我的学士学位,我正在研究统计机器翻译。目前,我需要一本包含所有可能翻译的英语单词词典。例如:

[EN] Food -> [RO] Mancare

[EN] Food -> [RO] Hrana

为了构建我需要的字典,我修改了一个python脚本(原始here),它从英文单词列表中取出每个单词并将其发送到谷歌翻译,然后将结果写入文件。但是,我每个单词只收到一个结果,这是最常见的翻译。

我如何收到罕见且罕见的翻译? Google翻译网站列出了其他可能的翻译,但它们不会出现在我的结果中。 link used in the script与常规Google翻译不同。我尝试将请求发送到常规Google翻译链接,但返回页面并不包含我需要的信息。

或者,你知道一个已经存在的英语 - 罗马尼亚语词典,每个单词有多个可能的翻译吗?

谢谢!

这是我的Google翻译脚本:

    import urllib2

def translate(word, sourceLanguage, targetLanguage):
    agents = {'User-Agent':"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"}
    before_trans = 'class="t0">'
    link = "http://translate.google.com/m?hl=%s&sl=%s&q=%s" % (targetLanguage, sourceLanguage, word)
    request = urllib2.Request(link, headers=agents)
    page = urllib2.urlopen(request).read()
    result = page[page.find(before_trans)+len(before_trans):]
    result = result.split("<")[0]
    return (result,page)

def main():
    englishWords = open('englishWords.txt', 'r')
    romanianWords = open('romanianWords.txt', 'w')
    studyHTML = open('studyHTML.html', 'w')
    studyTXT = open('studyTXT.txt', 'w')
    for englishWord in englishWords:
        translation = translate(englishWord, 'en', 'ro')
        romanianWord = translation[0]
        page = translation[1]
        if romanianWord != "d>":
            romanianWords.write(romanianWord)
            romanianWords.write("\n")
            studyHTML.write(page)
            studyTXT.write(page)


if __name__ == '__main__':
    main()

我想要获得的例子:

Food: Mancare, Hrana, Aliment
Car: Masina, Autovehicul
Cat: Pisica, Felina

0 个答案:

没有答案