机器学习服务助应用内文本语种在线和离线检测
当用户有跨语种交流或内容翻译的需求时,应用需要能自动检测文本的语种再进行翻译。
HMS Core机器学习服务的语种检测服务提供在线语种检测和离线语种检测,既支持检测单语种文本,也支持检测混合语种文本,涵盖南非荷兰语、阿拉伯语等百种语言。接入语种检测服务,App可以轻松实现翻译语种检测、网页语种检测,混合语种场景中语种检测等,帮助App提升用户体验。
语种检测流程
输入文本,机器学习服务语种对该文本自动进行语种进行检测,然后返回对应语种编码和相应的置信度,或者返回一个置信度最高的语种编码给开发者的应用。最终在开发app页面呈现出翻译出的文本。
效果演示
1.开发准备
在进行开发前需要配置HMS Core SDK的Maven仓地址
repositories {maven {
url'https://cmc.centralrepo.rnd.huawei.com/artifactory/product_maven/' }
}
集成在线语种检测服务SDK,示例代码如下
dependencies{implementation 'com.huawei.hms:ml-computer-language-detection:3.4.0.301'
}
2. 编辑工程集成
2.1设置应用的鉴权信息
可以通过api_key或者Access Token来设置应用鉴权信息。通过setAccessToken方法设置Access Token,在应用启动时初始化设置一次即可,无需多次设置。
MLApplication.getInstance().setAccessToken("your access token");通过setApiKey方法设置api_key,在应用启动时初始化设置一次即可,无需多次设置。
MLApplication.getInstance().setApiKey("your ApiKey");
2.2 创建语种检测器
// 方式一:使用默认的参数配置创建语种检测器。
MLRemoteLangDetector mlRemoteLangDetector = MLLangDetectorFactory.getInstance().getRemoteLangDetector();
// 方式二:使用自定义的参数配置创建语种检测器。
MLRemoteLangDetectorSetting setting = new MLRemoteLangDetectorSetting.Factory()// 设置语种检测的最低置信度阈值。.setTrustedThreshold(0.01f).create();
MLRemoteLangDetector mlRemoteLangDetector = MLLangDetectorFactory.getInstance().getRemoteLangDetector(setting);
2.3 进行语种检测
异步方法示例代码
// 方式一:返回多个语种检测结果,包括语种编码以及置信度,sourceText表示待检测的文本,长度需小于5000个字符。
Task<List<MLDetectedLang>> probabilityDetectTask = mlRemoteLangDetector.probabilityDetect(sourceText);
probabilityDetectTask.addOnSuccessListener(new OnSuccessListener<List<MLDetectedLang>>() {@Overridepublic void onSuccess(List<MLDetectedLang> result) {// 成功的处理逻辑。}
}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {// 失败的处理逻辑。// Recognition failure.try {MLException mlException = (MLException)e;// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。int errorCode = mlException.getErrCode();// 获取报错信息,开发者可以结合错误码,快速定位问题。String errorMessage = mlException.getMessage();} catch (Exception error) {// 转换错误处理。}}
});
// 方式二:返回置信度最高的语种编码,sourceText表示待检测的文本,长度需小于5000个字符。
Task<String> firstBestDetectTask = mlRemoteLangDetector.firstBestDetect(sourceText);
firstBestDetectTask.addOnSuccessListener(new OnSuccessListener<String>() {@Overridepublic void onSuccess(String s) {// 成功的处理逻辑。}
}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {// 失败的处理逻辑。// Recognition failure.try {MLException mlException = (MLException)e;// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。int errorCode = mlException.getErrCode();// 获取报错信息,开发者可以结合错误码,快速定位问题。String errorMessage = mlException.getMessage();} catch (Exception error) {// 转换错误处理。}}
});
同步方法示例代码
// 方式一:返回多个语种检测结果,包括语种编码以及置信度,sourceText表示待检测的文本,长度需小于5000个字符。
try {List<MLDetectedLang> result= mlRemoteLangDetector.syncProbabilityDetect(sourceText);
} catch (MLException mlException) {// 失败的处理逻辑。// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。int errorCode = mlException.getErrCode();// 获取报错信息,开发者可以结合错误码,快速定位问题。String errorMessage = mlException.getMessage();
}
// 方式二:返回置信度最高的语种编码,sourceText表示待检测的文本,长度需小于5000个字符。
try {String language = mlRemoteLangDetector.syncFirstBestDetect(sourceText);
} catch (MLException mlException) {// 失败的处理逻辑。// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。int errorCode = mlException.getErrCode();// 获取报错信息,开发者可以结合错误码,快速定位问题。String errorMessage = mlException.getMessage();
}
2.4 检测完成后,释放资源。
if (mlRemoteLangDetector != null) {mlRemoteLangDetector.stop();
}
语种检测功能包含端侧和云侧,以上示例仅为云侧功能。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
机器学习服务助应用内文本语种在线和离线检测相关推荐
- HMS Core 机器学习服务6.4.0版本更新啦,文本翻译功能增加10种小语种语言类型
近日,HMS Core机器学习服务(ML Kit)文本翻译功能在6.4.0版本更新中增加了10种小语种语言类型,分别是马其他语.马其顿.冰岛.乌尔都语.波斯尼亚语.乌克兰语.加泰罗尼亚语.斯洛文尼亚语 ...
- 机器学习服务文本识别能力演进,大幅提升识别准确率
文本识别技术(OCR)可以识别收据.名片.文档照片等含文字的图片,将其中的文本信息提取出来,代替了人工信息录入与检测等操作,降低了输入成本,快速.方便,提升产品的易用性. 随着技术的发展,OCR已经深 ...
- 机器学习服务文本翻译能力升级,中文直译模型让译文表达更地道!
HMS Core机器学习服务文本翻译能力提供多种语言和多种应用场景的翻译服务,比如,在出国旅游的场景中,用户可以借助应用的语音翻译播报功能在打车.酒店入住等场景中无障碍沟通,也可以通过拍照翻译功能读懂 ...
- 机器学习服务第一梯队都有谁?权威研究机构Forrester发布最新报告
茕茕 发自 凹非寺 量子位 报道 | 公众号 QbitAI 科技巨头的「云」竞争,如今最核心拼的刀刃就是人工智能. 无论是从不断扩大的云AI市场规模,还是从国内各大云厂商云+AI的标准配置上,都可见一 ...
- 超简单集成华为HMS Core MLKit 机器学习服务银行卡识别SDK,一键实现银行卡绑定
前言 小编前面几期文章分别给大家介绍了使用HMS ML Kit SDK实现微笑抓拍.证件照DIY.拍照翻译的功能开发(链接见文章末尾),本次小编给大家带来的是使用HMS 机器学习服务(ML Kit)银 ...
- 华为机器学习服务语音识别功能,让应用绘“声”绘色
随着人们对生活的仪式感的追求,移动设备.可穿戴设备.智能家居设备.车载信息娱乐系统也变得越来越流行.在这些应用上,鼠标.键盘这样的交互方式不再便捷,而语音作为人类之间最自然的交流方式,语音识别技术俨然 ...
- Azure机器学习——创建Azure机器学习服务
创建Azure机器学习服务 一.Azure订阅 二.创建Azure机器学习服务(工作区) 在Azure portal界面创建Azure机器学习工作区 使用Python SDK创建Azure机器学习工作 ...
- 安卓开发实战,用HMS MLKit华为机器学习服务开发一个拍照翻译小程序
文章目录 引子 想象中的旅游 实际中的旅游 太难了 拍照翻译帮你忙 文本识别 翻译 拍照翻译APP开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的buil ...
- 腾讯云AI平台张文杰:构建一站式机器学习服务平台
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"无界数据无限智能"为主题的腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷幕.此次分 ...
最新文章
- Eclipse 安装热部署JRebel
- SAP 物料XXXXX的强制帐户设置 (输入帐户设置类别) 的问题解决方法
- lintcode-415-有效回文串
- 在知乎引发众多分布式数据库大佬争相回答的问题
- html搜索框美化代码单词,CSS 漂亮搜索框美化代码
- python列反过来_xlwings 教程:使用Python更快速地处理Excel
- NET(C#):await返回Task的async方法
- google的几个搜索业务
- php 5.6.29,源码编译安装PHP 5.6.29
- 对于一些作用域自己的理解,望能帮助某人
- KVM的安装和配置命令详解
- dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
- win11开机记录如何查看 Windows11查看开机记录的设备方法
- HTMLjavaSkcriptCSSjQueryajax(六)
- 中国企业云计算应用现状及需求调研报告
- 竞秀纷享“共享电商、共享商圈”模式
- tiny4412移植uboot-2019-01(三)
- 计算机摄影比赛,计算机系摄影大赛圆满结束
- openwrt wifi 出现missing ACKs和deauthenticated due to inactivity 频繁掉线问题解决方案
- python windows curses库安装教程