写点什么

Android Smart Linkify API 背后的机器学习

  • 2018-08-23
  • 本文字数:918 字

    阅读完需:约 3 分钟

上周,谷歌发布了代号为 Pie 的 Android 9 。Android 正在推出一系列由人工智能提供支持的新功能。 Android Smart Linkify 是最重要的新 AI 功能之一。

Smart Linkify 建立在先前版本 Android Oreo 发布的 Smart Text Selection 之上。Smart Linkify 可以检测文本中的某些类型的实体(例如地址、电话号码)并添加可点击的链接,允许用户直接启动地图或拨打电话。它由设备内的前馈神经网络提供支持,每种语言大小仅 500KB,推理代码不超过 250KB。这个系统为几近实时的系统,在 Google Pixel 手机上计算时间短于 20 毫秒。

系统首先通过空格将输入文本拆分为单词,并计算最多 15 个单词所有可能的单词子序列。每个子序列被提供给神经网络,神经网络基于其有效性为它们分配 [0 … 1] 范围的值。在删除重叠实体后,系统为子序列打较高的分数。在整个过程的第一部分结束时,每个未知类型都有一个不重复单词子序列。

然后使用第二个神经网络来识别每个单词子序列的类型,无论是电话号码、地址还是未识别的实体。神经网络将上下文中的单词子序列作为输入。通过将子序列的前三个和后三个单词作为实体,将它们前面的五个单词作为左上下文,将随后的五个单词作为右上下文,然后将它们作为不同的特征来识别单词的含义。这个神经网络中一个有趣的优化是使用二进制特征来识别以大写字母开头的单词。其背后的原因是,邮政地址非常独特,使用这种方式更容易识别出来。

为了训练神经网络,谷歌团队从真实数据中生成了虚假样本。他们使用 Schema.org 注解的实体、地址、电话号码和随机单词的自定义列表合成了一个训练集。他们采用可观察的实体并用随机单词围绕它们达到更理想的结果。另外,有意生成负数据训练样本,让神经网络避免将“ID:”识别为电话号码。

国际化是这个功能的一个重要方面,根据测试,一种模型适用于所有拉丁语言,并可以为中文、日文、韩文、泰文、阿拉伯文和俄文添加单独的模型。目前,API 支持 16 种语言,未来几个月将支持更多语言。这些模型使用 TensorFlow 进行训练,自定义的推理库由 TensorFlow Lite 和 FlatBuffers 提供支持。开发人员可以通过 TextClassifier API generateLinks 方法开始使用 Smart Linkify。

查看英文原文 The Machine Learning behind Android Smart Linkify API

2018-08-23 07:441901
用户头像

发布了 731 篇内容, 共 483.3 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

零基础如何上手APICloud App、小程序多端开发

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 多端开发 小程序开发

Wi-Fi 6 提升了哪些方面?

BUG侦探

wifi MU-MIMO Wi-Fi 6 协商速率

有了小程序还要不要做app?

石云升

小程序 1月月更

深入浅出Apache Pulsar(3):Pulsar Schema

云智慧AIOps社区

云原生 消息中间件 schema Apache Pulsar 社区 java 编程

详解策略梯度算法

行者AI

人工智能 强化学习

.Net Minimal API 介绍

MASA技术团队

C# .net 微软 接口 API

javaagent

淡泊明志、宁静致远

javaagent

Apache APISIX 社区双周报 | 1.28 线上直播预约开启

API7.ai 技术团队

后端 社区周报

架构训练营 - 模块五作业

伊静西蒙

科技为驱,创新为翼——鲸鲮科技喜获“2021北京软件核心竞争力企业”评价

鲸鲮JingOS

操作系统 创新 信创 信息化 科技企业

火山引擎MARS-APMPlus专栏——iOS Heimdallr 卡死卡顿监控方案与优化之路

字节跳动终端技术

ios 字节跳动 性能调优 应用性能监控产品 运维监控

深入分析H2数据库控制台中无需身份验证的RCE漏洞

H

数据库 网络安全 漏洞

百亿级监控场景大数据分位值计算实践

百度Geek说

大数据 后端

一图看懂 | 2021阿里云混合云的高能时刻

科技

投稿有奖丨阿里云云服务器ECS开发实践征文活动

阿里云弹性计算

阿里云 ECS 征文活动

第五周作业

cqyanbo

中国AIOps们,你们究竟是在骗谁?

码农一米

云计算 云服务

XSS跨站脚本攻击:获取键盘记录

喀拉峻

Hyperf结合Redis异步队列任务async-queue实现后台操作日志写入

Owen Zhang

hyperf async-queue Redis异步队列任务

阿里云EMAS 12月产品动态更新

移动研发平台EMAS

阿里云 移动研发平台 emas

架构实战营模块五作业

zhongwy

架构实战营

来自开发者的点赞!网易云信揽获三大技术奖项

网易云信

资讯

深入剖析 HDFS 3.x 新特性-纠删码

五分钟学大数据

hdfs 1月月更

Hive底层 explain 执行计划详解

五分钟学大数据

hive 1月月更

一文带你快速拆解云智慧前端技术架构

云智慧AIOps社区

前端 前端开发 可视化 框架 技术干货

网络安全kali渗透学习 web渗透入门 Layer子域名挖掘机收集信息

学神来啦

恒源云gpushare.com_Byte-Pair Encoding算法超详细讲解

恒源云

自然语言处理 深度学习 NLP 大模型

java开发之SpringBoot+flowable实现工作流

@零度

Java springboot

【OpenMLDB Meetup #1】会议纪要

第四范式开发者社区

机器学习 第四范式 OpenMLDB 特征平台

政法委跨单位重点人员联防联控系统开发,重点人员管理平台

a13823115807

Android Smart Linkify API背后的机器学习_移动_Alex Giamas_InfoQ精选文章