【发布时间】:2019-02-24 11:59:40
【问题描述】:
我在 Python 中创建了一个西班牙语-英语词典,并使用变量 translation 存储了它。我想使用该变量将文本从西班牙语翻译成英语。这是我目前使用的代码:
from corpus.nltk import swadesh
import my_books
es2en = swadesh.entries(['es', 'en'])
translation = dict(es2en)
for sentence in my_books.sents("book_1"):
for word in my_books.words("book_1"):
if word in es2en:
print(translation, end= " ")
else:
print("unknown_word", end= " ")
print("")
我的问题是book_1 中的所有单词实际上都没有翻译成英文,所以我得到了一个充满unknown word 的文本。我想我可能以错误的方式使用translation...我怎样才能达到我想要的结果?
【问题讨论】:
-
swadesh.entries是做什么的? -
这是一个包含多种语言单词列表的语料库。我正在使用它通过“加入”两个适当的列表来创建西班牙语-英语词典
-
我认为这个循环
for word in my_books.words("book_1")可能是错误的。您不应该从外部循环中的sentence获取单词(否则为什么要循环句子)? -
@slider 我必须遍历单词才能获得相应的翻译。但我首先迭代句子,因为我希望我的输出按句子打印,而不是按单词(即,不是单词列表,而是实际文本)
标签: python