温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言中怎么调用有道翻译

发布时间:2021-06-24 16:02:14 来源:亿速云 阅读:327 作者:Leah 栏目:大数据

R语言中怎么调用有道翻译,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

方法一:

url<-paste("http://fanyi.youdao.com/openapi.do?keyfrom=JustForTestYouDao&key=498375134&type=data&doctype=json&version=1.1&q=",word,sep="")

url<-youdaoUrl(word=word,api="498375134",keyfrom="JustForTestYouDao")

以上两句等价。

Res<-c()

for( i in word){

     Res[i] = youdaoLookUp(i,api="282671603",keyfrom="fy1991--421fy")

    }

以上使用for循环,结合包内的查询函数,可获取查询结果向量。

R语言中怎么调用有道翻译

其实我是觉得这样的不加筛选的输出不够友好,看了下源码里面的封装函数,稍微做了些改动,以下是方法二。

方法二:

youdaoUrl = function(word){

paste("http://fanyi.youdao.com/openapi.do?keyfrom=fy1991--421fy&key=282671603&type=data&doctype=json&version=1.1&q=",word,sep="")

}

youdaoTranslate<-function(word){

  url = getURL(youdaoUrl(word))

  obj = fromJSON(url) 

  result=paste0(obj$web[[1]]$value,collapse=";")

  return(result)

}

以上构造了两个函数,一个提供单词的URL地址匹配,一个提供查询结果。

sapply(word,youdaoTranslate,simplify=TRUE)

这里结果摒弃for循环,使用内置的apply组函数sapply,懂行的都知道为什么!

R语言中怎么调用有道翻译

以上经过我的进一步筛选,结果更加简洁,实用。

如果是遇到大批量的翻译需求,这种方式还是很能提高效率的,不过我还没有测试中文单词的翻译效果,有兴趣的大家可以自己玩。

你以为到这里就结束了吗? NO!

后面还有好戏呢!

其实微软的excel更新至13版以后,也提供了调用有道在线翻译的服务。而且使用比较简单。以下是函数语句,不要被冗长的各种参数吓到了,你需要改的只是其中的单元格引用。(本例中位于中间位置的A2,记得用的时候是相对引用,否则填充后只能翻译首个单元格内容)。

本小编已经测试过了翻译结果,中英文互译效果相当棒,但是限制是:

单词翻译效果好,句子不行,水平还不如小编我,即便是那种带空格的短句、地名、人名也够呛。

=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=xml&version"),"//translation") 

R语言中怎么调用有道翻译

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI