Android 9能在文本中精准检测地址和号码,是这样做到的

  • 时间:
  • 浏览:1

8月10日消息,据国外媒体报道,谷歌本周发布了最新版的移动操作系统AndroidPie,其中的亮点功能之一什么都有有Smart Linkify。这是有另一个 应用多多进程 编程接口,可在文本中检测到地址、电话号码和其他之类信息并调用可点击链接。真是这听起来很炫酷,但事实上一切都在人工智能在转过身作用的结果。

“在文本中识别出电话号码和地址往往是有另一个 问题,”谷歌人工智能软件工程师卢卡斯齐卡(Lukas Zilka)在一篇博客文章中写道。“这不仅是肯能大伙在编写文本时有什么都有有变化,就让 文本中的组合代表哪此样的信息也一直是模棱两可(之类:’确认号码:857-555-3556’并都在有另一个 电话号码,即使它采用了之类于电话号码的形式)。”

齐卡解释说,Smart Linkify是对现有Android Linkify API的改进,其底层由有另一个 紧凑的、低延迟的前馈神经网络组成——由称为节点的简单出理 单元层组成的机器学习算法——其中借用了前版移动操作系统Android Oreo的智能文本选择功能。

这有另一个 神经网络都依赖第有另一个 模型生成的数据。该模型从网络中提取电话号码、地址、产品、地点和商业名称,并随机打上去“文本上下文”和短语(之类“确认号码”和“ID”)。谷歌人工智能团队针对拉丁文字语言(英语、德语、波兰语和捷克语)使用两种生活算法,而针对日语、韩语、泰语、阿拉伯语和俄语等语种分别使用了删剪不同的算法。

整个出理 过程是曾经的:要分析的文本被拆分为单词,就让 从哪此单词中生成所有肯能的最大长度子序列。就让 ,系统中的第有另一个 神经网络为每个子序列分配有另一个 值(在0到1之间),表示它对当时人的身份(之类给定的一串数字是密码还是电话号码)的置信度。

得分最低的子序列从列表中删除,就让 第3个神经网络介入,按类型对子序列进行分类——即电话号码、地址或非实体信息。

“(网络)时要知道实体符近的上下文(除了实体两种生活的文本字符串之外)。在机器学习中,这是通过将哪此部分表示为单独的底部形态来实现的。”齐卡表示,“实际上输入文本被拆分成几部分,分别馈送到神经网络。”

为此,单词被转打上去n-gram模型(有时也称为N元模子,是大词汇连续语音识别中常用的两种生活语言模型),这俩 技术“将(词汇)表示为一定长度的所有字符子序列的集合”。而有另一个 神经网络辨识哪此单词是不是以大写字母开头——这是邮政地址的有另一个 显著底部形态。

在实践中,假设一句话“约翰应该在周二打电话1- 5000-9444-9494”这句话,Smart Linkify首先会将“John应该拨打”与“1- 5000-9444-9494”分开,就让 将“John应该拨打”和“1-5000-944-9494”分类为非实体电话号码和电话号码,最后在网络浏览器或应用多多进程 中通过这俩 电话号码创建有另一个 可点击的链接。

在智能手机硬件的限制下,这俩 工作对人工智能团队来说是有另一个 额外的挑战。大伙通过量化(两种生活将连续范围的值转换为有限范围离散值的压缩技术)以及在系统有另一个 神经网络之间共享其他数值表示等其他技术来出理 这俩 问题。

在不久的将来,这俩 团队希望为日期和时间创建机器学习模型——尤其是识别文本中的非正式短语,如“下周四”或“三周后”。

“大伙相信这俩 架构不需要 扩展到其他设备上的文本注释问题,大伙期待就看新的用例,”齐卡写道。