学界 | 谷歌输入法背后的机器智能:思你所思,想你所想!

很多人每天花费大量时间使用移动设备键盘:撰写电子邮件,发短信,参与社交媒体等。 然而,移动键盘仍然在处理速度方面处于劣势。 用户平均在移动设备上的打字速度比在物理键盘上慢35%。 为了改变这一点,最近谷歌团队为Gboard for Android提供了许多改进,致力于创建一个智能机制的 键盘,能够为用户以任何选择的语言提供建议和纠正错误,从而实现更快更高质量的输入。

事实上,移动键盘将触摸输入转换为文本的方式类似于语音识别系统将语音输入转换为文本的方式,雷锋网了解到,该团队将利用语音识别的经验来实现触摸输入。

  • 团队首先创建了一个强大的空间模型,将原始触摸点的模糊序列映射到键盘上的按键,就像用声学模型将声音定位到语音单元的顺序一样。
  • 第二,构建一个基于有限状态传感器(FST)的核心解码引擎,以确定给定输入触摸序列的最有可能的字符序列。 随着数学形式主义和语音应用的广泛成功, FST解码器将提供支持各种复杂键盘输入行为以及语言特性所需的灵活性。 在这篇文章中,将为您详细介绍这两个系统的发展。

神经空间模型

移动键盘输入的错误通常归结于“胖手指打字”(fat finger typing,或在滑动打字中定位到空间位置相似的词,如下图所示)以及认知和操作错误(表现为拼写错误,字符插入,删除或互换等)。 智能键盘需要能够解决这些错误,并且可以快速准确地预测正确的单词。 据雷锋网了解,该团队为Gboard构建了一个空间模型,在字符级别处理这些错误,将屏幕上的触摸点映射到实际按键。

两个位置相似的词:“吸血鬼vampire”和“价值value”的平均滑动路径

一直到最近,Gboard还在使用高斯模型量化敲击相邻按键的概率和基于规则的模型,来表示认知和动作错误。 这些模型简单直观,但并不能直接优化与更高的打字质量相关的指标。 根据语音搜索声学模型方面的经验,用连接时间分类(CTC)标准训练的单个高效长期短期记忆(LSTM)模型替代了高斯模型和基于规则的模型。

然而,训练这个模型比预期的要复杂得多。 虽然声学模型是从人类转录的音频数据进行训练的,但是并不能轻松地转录数百万的触摸点序列和滑动轨迹。 所以该团队利用用户交互信号,例如自动修正和建议选择作为负面和正面的半监督学习信号,因此形成了丰富的培训和测试集。

对应单词“可以could”(左)的原始数据点,以及每个采样方差(右)的归一化采样轨迹

使用来自语音识别文献的大量技术来迭代NSM模型,使其足够小且足够快以便在任何设备上运行。 TensorFlow基础设施用于训练数百种模型,优化键盘上显示的各种信号:完成,建议,滑动等。

经过一年多的 努力,完成的模型比初始版本快6倍,大小仅是最初的十分之一。同时,它还显示出在脱机数据集上的错误自动更正减少约15%的错误,而错误解码手势则减少了10%。

有限状态转换器

虽然NSM使用空间信息来帮助确定敲击或滑动的字符是什么,但还是有一些额外的限制——词汇和语法 ——这些是可以承受的。词典告诉我们语言中出现了什么词汇,而概率语法告诉我们什么话可能接在其他的话后面。为了对这些信息进行编码,使用有限状态换能器。 FST(Finite-State Transducers)一直是Google语音识别和综合系统的关键组成部分。它提供了一种原则性的方式来表示自然语言处理中使用的各种概率模型(词典,语法,规范化等)以及操纵,优化,组合和搜索模型所需的数学框架。

在Gboard中,一个键传感器紧凑地表示键盘这个词,如下图所示。 它编码从按键序列到字的映射,允许替代键序列和可选空格。

该转换器沿着从起始状态(粗体1)到最终状态(两圈状态0和1)的路径编码“I”,“I’ve”,“If”。 每个弧用一个输入按键(“:”之前)和一个对应的输出字符(“:”之后)标记,其中ε编码空符号。 “I’ve”中的撇号可以省略。 用户有时会跳过空格键。 为了说明这一点,转换器中的单词之间的过渡空格键是可选的。 ε和空格后弧允许存在多个单词。

概率n元传感器用于表示键盘的语言模型。 模型中的状态代表一个(直到)n-1个字的上下文,并且离开该状态的弧,将被标记为一个后续字符以及跟随该上下文的概率(由文本数据估计)。 这些与给出关键触摸序列的可能性(滑动中的离散触摸或连续手势)的空间模型被组合并且用波束搜索进行探索。

通用FST原则,如流式传输,动态模型支持等,为构建新的键盘解码器带来了很大的帮助,但还需要添加一些新的功能。 当人们说话的时候,并不需要解码器来完善你所说的话,或者猜测你会在后面说些什么来省下几个音节; 但是当你输入时,你会感受到词语完成和预测的帮助。 此外,该团队希望键盘可以提供无缝多语言支持,如下所示。

在Gboard上输入三种语言

让新的解码器投入实际应用是一项复杂的工作,但FST原则有很多好处。 例如,支持印地语等语言的音译只是解码器的简单扩展。

音译模型

在许多具有复杂脚本的语言中,已经开发了罗马化系统,以将字符映射成拉丁字母,通常根据其发音。 例如,拼音“xièxiè”对应汉字“谢谢”。 拼音键盘允许用户在QWERTY布局上方便地输入单词,并将它们自动“翻译”到目标脚本中。 同样,一个音译印地语键盘允许用户输入“daanth”(牙齿)“दांत”。 而拼音确定是一个罗马化系统,印地语音译则更模糊; 例如“daant”将是“दांत”的有效替代方案。

印地语的滑动字符转换

正如从字母序列到单词(词典)的传感器映射以及为单词序列提供概率的加权语言模型自动化,该团队为拉丁语按键序列和目标脚本符号序列构建了22种印度语的加权转换器映射。 一些语言属于多个书写系统(例如Bodo可以写在孟加拉文或梵文的脚本中),因此在音译和本机布局之间,在短短几个月内就建立了57种新的输入法。

FST解码器的本质性质将支持完成所有的工作,预测,滑动打字和许多UI功能,无需额外的工作,从而使 Gboard能够从一开始就向印度用户提供丰富的体验,一个更智能的键盘。

总而言之,最近的工作将解码延迟降低了50%,将用户手动更正的字数减少了10%以上,能够为印度的22种官方语言提供音译支持,并启用了许多新功能。

虽然谷歌团队希望这些最近的变化能够改善用户的打字体验,但他们也同时认识到,在移动设备上打字的问题绝对不能算是解决了。 Gboard仍然会提出似乎不直观或低效用的建议,并且手势的解码建议仍然可能为人类永远不会选择的词语。 然而,该团队的工作为强大的机器智能算法的转变开辟了新的空间,谷歌正在积极探索为全球用户提供更有用的工具和产品。

via research.googleblog,AI科技评论编译

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

Python数据分析与挖掘学习路线图

语言的学习,真正掌握语言的方式,是交流与实践,所以,这三本书,是由浅入深的步骤。大家在学习过程中,可以到群里面去进行交流沟通。

462
来自专栏大数据挖掘DT机器学习

天池大赛—商场中精确定位用户所在店铺 作品分享

题目回顾 题目地址: 题目要求给定一条用户的消费记录,求该用户当前所在的店铺。 下面介绍题目数据和评测方式 1. 店铺和商场信息表(mall) ? 2. 用户...

3946
来自专栏数据科学与人工智能

【机器学习】从零实现来理解机器学习算法

从零开始实现机器学习算法的好处 我推广了从零开始实现机器学习算法的观念。 我认为你可以学到很多关于算法是如何工作的。我也认为,作为一名开发者,它提供了一个学习用...

1959
来自专栏PPV课数据科学社区

非主流自然语言处理——遗忘算法系列(一):算法概述

一、前言 ? 这里“遗忘”不是笔误,这个系列要讲的“遗忘算法”,是以牛顿冷却公式模拟遗忘为基础、用于自然语言处理(NLP)的一类方法的统称,而不是大名鼎鼎的“...

37411
来自专栏AI传送门

斯坦福大学《机器学习》课程-中文版笔记(2.2)

955
来自专栏企鹅号快讯

仅需15分钟,使用OpenCV+Keras轻松破解验证码

选自Medium 作者:Adam Geitgey 参与:李泽南、蒋思源 登录网站时必须输入的图片验证码可以用来识别访问者到底是人还是机器——这同时也是某种程度上...

34011
来自专栏牛客网

记录第一次互联网面经Momenta

2194
来自专栏机器人网

谷歌输入法背后的机器智能

很多人每天花费大量时间使用移动设备键盘:撰写电子邮件,发短信,参与社交媒体等。 然而,移动键盘仍然在处理速度方面处于劣势。 用户平均在移动设备上的打字速度比在物...

3297
来自专栏目标检测和深度学习

OCR技术综述

最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解。所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍...

5458
来自专栏PPV课数据科学社区

从零实现来理解机器学习算法:书籍推荐及障碍的克服

【编者按】并非所有的开发者都有机器学习算法的基础知识,那么开发者如何从零入门来学习好机器学习算法呢?本文总结推荐了一些从零开始学习机器学习算法的办法,包括推荐了...

3145

扫描关注云+社区