写点什么

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:441928
用户头像

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

关注

评论

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

2022年中国露营市场专题洞察

易观分析

露营

java开发技术培训MyBatis的缓存

@零度

mybatis JAVA开发

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

鳄鱼视界

前后端的爱恨情仇

Liam

前端 后端 Postman 开发工具 swagger

阻塞与非阻塞客户端

Damon

微服务 6月月更

ABAP 程序间传递数据

桥下本有油菜花

Windows/Linux系统下python的安装与环境配置

左手の明天

Python Python库安装 python安装

十分钟带汝入门大数据开发语言Scala

百思不得小赵

scala 大数据 6月月更

ABAP BDC常见问题-FICO

桥下本有油菜花

abap

【Spring 学习笔记(十一)】基于注解的Spring AOP

倔强的牛角

Java spring spring aop Java EE 6月月更

ABAP BDC的执行模式和更新模式

桥下本有油菜花

abap

Java—线程池

武师叔

6月月更

企业级Web应用系统权限设计

BigBang!

权限 权限架构 权限设计

Windows域提权漏洞分析与复现

网络安全学海

网络安全 安全 渗透测试 WEB安全 漏洞挖掘

焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁

焱融科技

研发效能管理如何建立闭环?

思码逸研发效能

研发效能

大数据相关名称解释看这里!简单通俗理解大数据!

行云管家

云计算 大数据 数据安全

解决方案| 快对讲综合调度系统

anyRTC开发者

音视频 快对讲 语音对讲 调度系统 视频对讲

盲盒APP开发新玩法,盲盒APP需具备的模块

WDL22119

盲盒商城 盲盒开发 盲盒APP开发 盲盒源码 盲盒H5开发

React Suspense 尝鲜,处理前后端IO异步操作

葡萄城技术团队

大前端 SpreadJS 表格控件 纯前端表格组件

office 2016连接mysql并执行复杂查询

阿呆

MySQL Office

墨天轮访谈 | 叶金荣:GreatSQL开源社区——做中国广受欢迎的开源数据库

墨天轮

数据库 开源数据库 国产数据库

不会乘法表怎么做乘法?这个远古的算法竟然可以!

博文视点Broadview

web前端培训JS 运行机制的梳理

@零度

JavaScript 前端开发

基于宽表的数据建模应用

百度Geek说

大数据 数据建模

使用 eBPF 增强监控和可观测性

观测云

盲盒APP开发:如何抓住消费者的心?

WDL22119

盲盒商城 盲盒APP开发 盲盒源码 盲盒H5开发 盲盒小程序

易观分析《机器学习平台市场研究,2022》研究报告正式启动

易观分析

机器学习 AI软件

开发者能力大赏,谁是技术知识达人?

华为云开发者联盟

华为云

NLP论文领读|合成数据的妙用:低成本构建高质量的大规模平行语料

澜舟孟子开源社区

人工智能 自然语言处理 数据挖掘 深度学习 nlp

敏捷需求管理篇|如何从0-1写好一个用户故事

云智慧AIOps社区

需求管理 编程效率 用户故事 敏捷管理 需求迭代

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