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

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语言中怎么调用有道翻译

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


文章标题:R语言中怎么调用有道翻译
本文网址:http://ybzwz.com/article/pcpidd.html