您好,登錄后才能下訂單哦!
R語言中怎么調(diào)用有道翻譯,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
方法一:
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")
以上兩句等價(jià)。
Res<-c()
for( i in word){
Res[i] = youdaoLookUp(i,api="282671603",keyfrom="fy1991--421fy")
}
以上使用for循環(huán),結(jié)合包內(nèi)的查詢函數(shù),可獲取查詢結(jié)果向量。
其實(shí)我是覺得這樣的不加篩選的輸出不夠友好,看了下源碼里面的封裝函數(shù),稍微做了些改動(dòng),以下是方法二。
方法二:
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)
}
以上構(gòu)造了兩個(gè)函數(shù),一個(gè)提供單詞的URL地址匹配,一個(gè)提供查詢結(jié)果。
sapply(word,youdaoTranslate,simplify=TRUE)
這里結(jié)果摒棄for循環(huán),使用內(nèi)置的apply組函數(shù)sapply,懂行的都知道為什么!
以上經(jīng)過我的進(jìn)一步篩選,結(jié)果更加簡(jiǎn)潔,實(shí)用。
如果是遇到大批量的翻譯需求,這種方式還是很能提高效率的,不過我還沒有測(cè)試中文單詞的翻譯效果,有興趣的大家可以自己玩。
你以為到這里就結(jié)束了嗎? NO!
后面還有好戲呢!
其實(shí)微軟的excel更新至13版以后,也提供了調(diào)用有道在線翻譯的服務(wù)。而且使用比較簡(jiǎn)單。以下是函數(shù)語句,不要被冗長(zhǎng)的各種參數(shù)嚇到了,你需要改的只是其中的單元格引用。(本例中位于中間位置的A2,記得用的時(shí)候是相對(duì)引用,否則填充后只能翻譯首個(gè)單元格內(nèi)容)。
本小編已經(jīng)測(cè)試過了翻譯結(jié)果,中英文互譯效果相當(dāng)棒,但是限制是:
單詞翻譯效果好,句子不行,水平還不如小編我,即便是那種帶空格的短句、地名、人名也夠嗆。
=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=xml&version"),"//translation")
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。