最强翻译?Facebook AI可以直接翻译100种语言-1
近日,Facebook 宣称已经开发出一种人工智能翻译系统,能够在 100 种语言之间进行精确翻译,而不需要像许多现有 AI 翻译那样先翻译成英语在翻译成目标语言。
在学术机构用来自动评估机器翻译质量的 100 分制中,该人工智能的表现比同类翻译系统高出 10 分。该模型的翻译也由人类进行了翻译评估,其准确率约为 90%。
Facebook 的研究人员在网上收集了 100 种语言的 75 亿对句子,然后对翻译 AI 进行训练。当然,并非所有语言的句子对数量都相同。Facebook 智能翻译项目负责人安吉拉・范 (Angela Fan) 说:“全球有很多地区使用两种语言,而且其中并不包括英语。我真正感兴趣的是,我们不需要再用英语作为‘中间人’。”
该翻译 AI 的训练方法关注的是那些通常需要相互切换的语言,然后根据地理和文化相似性将语言分为 14 个不同的集合。这确保了对更常用的交流进行高质量的翻译,并更准确地训练模型。
对于一些语言对来说,新翻译系统比现有的翻译质量有了显著提高。例如,将西班牙语翻译成葡萄牙语的难度特别大,因为西班牙语是世界上使用人数第二多的官方语言,这意味着研究人员可以获得大量的训练数据。英语和白俄罗斯语之间的翻译质量也比现有系统有所提高,因为白俄罗斯语和俄语有相似之处,AI 通过翻译俄语进行了训练。
目前该系统还没有在社交网站上使用,但 Facebook 计划很快将其投入使用。Facebook 希望借助它来处理人们每天使用 160 多种语言撰写的帖子时产生的 200 亿份翻译任务。未来,Facebook 还将解决其他语言上的翻译难题,Fan 说,“特别是那些我们没有很多数据的语言,比如东南亚和非洲的语言。”
爱尔兰都柏林圣三一大学 ADAPT 中心的 Sheila Castilho 说,这项工作 “打破了以英语为中心的翻译模式,并试图建立更多样化的多语言翻译模式,让人耳目一新。” 但 Castilho 表示,人类只评估考察了一小部分翻译实例,这是否是对人工智能表现的准确判断尚未可知。
她还担心,这项评估是由双语志愿者完成的,而不是专业的翻译人员。她说:“非专业人士缺乏翻译知识,因此可能不会注意到一个翻译比另一个翻译更好的细微差别。”
她在 ADAPT 中心的同事 Andy Way 认为,Facebook 并没有和最先进的翻译系统进行公平的比较。他说:“他们声称新系统比‘以英语为中心’的翻译模式有了很大的进步,这种说法有点空洞,因为大多数时候,人们已经不这么做了”。然而 Facebook 不同意这种说法,称通过英语翻译仍然是普遍现象。
道翰天琼CiGril机器人API
道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:
- 在平台注册账号
- 登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。
- 在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。
开始接入
请求地址:http://www.weilaitec.com/cigirlrobot.cgr
请求方式:post
请求参数:
参数 |
类型 |
默认值 |
描述 |
userid |
String |
无 |
平台注册账号 |
appid |
String |
无 |
平台创建的应用id |
key |
String |
无 |
平台应用生成的秘钥 |
msg |
String |
"" |
用户端消息内容 |
接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552
注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。
示例代码JAVA:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class apitest {
/**
* Get请求,获得返回数据
* @param urlStr
* @return
*/
private static String opUrl(String urlStr)
{
URL url = null;
HttpURLConnection conn = null;
InputStream is = null;
ByteArrayOutputStream baos = null;
try
{
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 10000);
conn.setConnectTimeout(5 * 10000);
conn.setRequestMethod("POST");
if (conn.getResponseCode() == 200)
{
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
int len = -1;
byte[] buf = new byte[128];
while ((len = is.read(buf)) != -1)
{
baos.write(buf, 0, len);
}
baos.flush();
String result = baos.toString();
return result;
} else
{
throw new Exception("服务器连接错误!");
}
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (is != null)
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
try
{
if (baos != null)
baos.close();
} catch (IOException e)
{
e.printStackTrace();
}
conn.disconnect();
}
return "";
}
public static void main(String args []){
//msg参数就是传输过去的对话内容。
System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));
}
}