我想为外语学习者自动注释文本,翻译困难的单词。在
例如,如果原始文本是:
El gato esta en la casa de mis vecinos
变成
El gato esta en la casa de mis vecinos (neighbours)
第一步是找出哪些词是难的。这可以通过对原文中的单词进行柠檬化,并将它们与一系列“简单词汇”(1500-2000个单词的基本词汇)进行比较来实现。在这个列表中找不到的单词将被指定为“硬单词”。使用Python的自然语言工具包(NLTK),这个过程看起来很简单。在
有些词必须成对翻译,例如“新婚夫妇”或短语动词“hecalledmeup”或德语“erruftmichan”(anrufen)。在这里,单词不能单独处理。对于短语动词之类的,也许需要一些语法方面的理解。在
第二步是根据困难词出现的语境,对其进行正确的翻译。据我所知,这是有效地应用了前半部分的统计机器翻译系统,如谷歌翻译。我相信这个问题可以通过googletranslateresearch API来解决,这个API可以让你发送要翻译的文本,并且响应包括关于翻译中的哪个单词对应于原文中的哪个单词的信息。所以你可以输入整个句子,然后从回答中找出你想要的单词。但是,您必须申请使用此API,而且它们有使用限制,这可能会对我的应用程序造成问题。我宁愿另寻出路。我希望没有一个解决方案能给出100%的正确翻译,他们将不得不手工检查,但这仍然应该加快速度。在
谢谢你的评论。在
大卫
对于第一步,不需要依赖先验词汇表-只需在训练语料库中累积标记计数,并标记测试集中没有出现在秩序词汇表中截止点之前的标记就足够了。在
http://vuw.academia.edu/JosephSorell/Papers/549885/Zipfs_Law_and_Vocabulary
对于第二步,“根据出现的上下文获得困难单词的正确翻译”,是的,您需要访问mtapi和/或人工翻译。选择最好的方法取决于你的目标。在
你可以有一个正确的翻译,一个快速的翻译,或廉价的翻译-我不知道你不可能同时拥有这三个。在
相关问题 更多 >
编程相关推荐