CN108701137A - 键盘内的图标建议 - Google Patents

键盘内的图标建议 Download PDF

Info

Publication number
CN108701137A
CN108701137A CN201680081867.1A CN201680081867A CN108701137A CN 108701137 A CN108701137 A CN 108701137A CN 201680081867 A CN201680081867 A CN 201680081867A CN 108701137 A CN108701137 A CN 108701137A
Authority
CN
China
Prior art keywords
text
emoticon
computing device
candidate
candidate emoticon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680081867.1A
Other languages
English (en)
Inventor
R.帕特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN108701137A publication Critical patent/CN108701137A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

描述了计算设备,其输出包括多个键的图形键盘以供显示,并且基于来自多个键的一个或多个键的选择来确定文本。计算设备至少部分地基于文本来预测候选表情符号,并且确定是否通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本。计算设备基于该确定通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本,并输出修改的文本以供显示。

Description

键盘内的图标建议
背景技术
尽管能够同时执行多个应用,但是一些移动计算设备一次只能呈现单个应用的图形用户界面(graphical user interface,GUI)。为了一次与多个应用交互,移动计算设备的用户可能必须在不同的应用GUI之间转换。例如,移动计算设备的用户可能必须停止在消息收发应用中录入文本,并且当编写消息或以其他方式录入文本时,提供输入以使得设备切换到搜索应用以搜索诸如表情(emoji)符号的特定信息条以便使用。
发明内容
在一个示例中,方法包括:由移动计算设备输出包括多个键的图形键盘以供显示;由移动计算设备基于来自多个键的一个或多个键的选择来确定文本;由移动计算设备并且至少部分基于文本预测候选表情符号;由移动计算设备确定是否通过用候选表情符号替换文本的部分或将候选表情符号附加到文本来修改文本;由移动计算设备并基于该确定,通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;以及由移动计算设备输出修改的文本并用于在显示设备处显示。
在另一示例中,计算设备包括存在敏感型显示器、至少一个处理器和包括指令的存储器,当该指令被执行时该指令使得至少一个处理器输出包括多个键的图形键盘以供显示;基于来自多个键的一个或多个键的选择来确定文本;至少部分基于文本预测候选表情符号;确定是否通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;基于该确定,通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;并输出修改的文本以供显示。
在另一示例中,用指令编码计算机可读存储介质,当该指令由计算设备的至少一个处理器执行时,使得该至少一个处理器输出包括多个键的图形键盘以供显示;基于来自多个键的一个或多个键的选择来确定文本;至少部分基于文本预测候选表情符号;确定是否通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;基于该确定,通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;并输出修改后的文本以供显示。
在附图和以下描述中阐述一个或多个示例的细节。根据说明书和附图以及根据权利要求,本公开的其他特征、目的和优点将是显而易见的。
附图说明
图1A-1E是示出根据本公开的一个或多个方面的、被配置为呈现具有集成的表情符号建议的图形键盘的示例计算设备的概念图。
图2是示出根据本公开的一个或多个方面的、被配置为呈现具有集成表情符号建议的图形键盘的示例计算设备的框图。
图3是示出根据本公开的一个或多个技术的输出图形内容用于在远程设备处显示的示例计算设备的框图。
图4A-4D是示出根据本公开的一个或多个方面的、被配置为呈现具有集成表情符号建议的图形键盘的示例计算设备的示例图形用户界面的概念图。
图5是示出根据本公开的一个或多个方面的被配置为呈现具有集成表情符号建议的图形键盘的计算设备的示例操作的流程图。
具体实施方式
一般来说,本公开涉及用于使计算设备能够选择性地将一个或多个建议的表情符号附加到文本或用一个或多个建议的表情符号替换文本的技术。例如,在计算设备在图形用户界面(GUI)的图形键盘处检测到输入时,计算设备可以确定电子通信(例如,聊天会话)的文本,并输出该文本以用于在GUI的编辑区域内显示。计算设备还可以输出被预测为与文本的部分相对应的建议的表情符号的图形指示(例如,在图形键盘的建议区域内),以用于在图形键盘内显示。在检测到与建议的表情符号相关联的输入之后,计算设备可以将表情符号插入编辑区域内。
在一些情况下,用户可能希望将表情符号附加到文本(例如,以向文本提供强调),而在其他情况下,用户可能希望用表情符号(例如,作为速记文本)替换文本的部分。计算设备依赖于被集成到图形键盘当中的模型来自动地确定是否通过用表情符号替换文本的部分或者将表情符号附加到文本的部分来修改文本,而不是要求来自用户的、指定他或她希望将表情符号附加到文本的部分还是用表情符号替换文本的部分的额外的输入。这样,响应于检测到与表情符号的图形指示相关联的输入,计算设备可以通过用表情符号替换文本的部分或者将表情符号附加到文本的部分来自动地修改文本并输出修改后的文本以供显示。
通过提供被预测为与文本的部分相对应的表情符号,计算设备的用户可以在用户键入时在图形键盘内自动地获取可选的表情符号,而不要求用户在不同的应用GUI之间转换以查找对应的表情符号。在文本的部分被表情符号自动地替换的情况下,用户可以通过主动地确定是用表情符号替换文本还是将表情符号附加到文本来利用表情符号而不必删除文本的部分。类似地,在表情符号被自动地附加到文本的部分的情况下,用户可以通过主动确定是用表情符号替换文本还是将表情符号附加到文本来利用由文本的部分提供的上下文更容易理解的表情符号。以这种方式,本公开的技术可以减少利用表情符号所要求的用户输入的数量,这可以简化用户体验并且可以减少计算设备的功耗。
在整个公开中,描述了仅当计算设备从计算设备的用户接收到分析信息的许可时,计算设备和/或计算系统分析与计算设备和计算设备的用户相关联的信息(例如,上下文、位置、速度、搜索查询等)的示例。例如,在下面讨论的情形中,在计算设备或计算系统可以收集或可以使用与用户相关联的信息之前,可以将提供输入的机会提供给用户以控制计算设备和/或计算系统的程序或特征是否可以收集和使用用户信息(例如,关于用户的当前位置、当前速度等的信息),或者规定设备和/或系统是否和/或如何可以接收可能与用户相关的内容。此外,某些数据可以在其被计算设备和/或计算系统存储或使用之前以一个或多个方式处理,使得个人可识别信息被移除。例如,可以处理用户的身份使得不能确定关于该用户的个人可识别信息,或者可以概括在该处获取位置信息的用户的地理位置(诸如,城市、ZIP编码或州级),从而不能确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息并由计算设备和计算系统使用。
图1A-1E是示出根据本公开的一个或多个方面的、被配置为呈现具有集成表情符号建议的图形键盘示例计算设备110的概念图。计算设备110可以表示移动设备,诸如智能电话、平板电脑、膝上型计算机、计算机手表、计算机眼镜、计算机手套或任何其他类型的便携式计算设备。计算设备110的额外的示例包括桌上型计算机、电视、个人数字助理(personal digital assistants,PDA)、便携式游戏系统、媒体播放器、电子书阅读器、移动电视平台、汽车导航和娱乐系统、车辆(例如汽车、飞机或其他车辆)驾驶舱显示器,或者可以输出图形键盘以供显示的任何其他类型的可佩戴和不可佩戴、移动或非移动计算设备。
计算设备110包括存在敏感型显示器(presence-sensitive display,PSD)112、用户界面(UI)模块120和键盘模块122。模块120和122可以使用驻留在计算设备110中和/或在计算设备110处执行的软件、硬件、固件或硬件、软件和固件的混合物来执行所描述的操作。计算设备110的一个或多个处理器可以执行存储在计算设备110的存储器或其他非瞬时性存储介质中的指令,以执行模块120和122的操作。计算设备110可以作为在底层硬件上执行的虚拟机执行模块120和122。模块120和122可以作为操作系统或计算平台的一个或多个服务来执行。模块120和122可以作为一个或多个可执行程序在计算平台的应用层执行。
计算设备110的PSD 112可以用作用于计算设备110的各个输入和/或输出设备。可以使用各种技术来实现PSD 112。例如,PSD 112可以用作使用存在敏感型输入屏幕(诸如电阻式触摸屏、表面声波触摸屏、电容触摸屏、投射电容触摸屏、压敏屏幕、声脉冲识别触摸屏或)或使用另一存在敏感型显示技术的输入设备。PSD 112还可以用作使用任何一个或多个显示器设备(诸如液晶显示器(liquid crystal displays,LCD)、点阵显示器、发光二极管(light emitting diode,LED)显示器、有机发光二极管(organic light-emitting diode,OLED)显示器、e-ink或能够向计算设备110的用户输出可视信息的类似单色或彩色显示器)的输出(例如,显示)设备。
PSD 112可以检测来自各个计算设备110的用户的输入(例如,触摸和非触摸输入)。PSD 112可以通过检测来自用户的一个或多个手势(例如,用户用手指或触针(stylus)笔在PSD 112的一个或多个位置处或附近触摸、指向和/或滑动)来检测输入的指示。PSD112可以以用户界面(例如,用户界面114A)的形式向用户输出信息,该信息可以与由计算设备110提供的功能相关联。这样的用户界面可以与在计算设备110处执行或可从计算设备110访问的计算平台、操作系统、应用和/或服务(例如,电子消息应用、聊天应用、互联网浏览器应用、移动或桌上型操作系统、社交媒体应用、电子游戏和其他类型的应用)相关联。例如,PSD 112可以呈现如图1A所示作为在计算设备110处执行的聊天应用的图形用户界面并且包括在PSD 112的各个位置处显示的各种图形元素的用户界面。
尽管被显示为聊天用户界面,但是用户界面114A可以是包括具有集成搜索特征的图形键盘的任何图形用户界面。用户界面114A包括输出区域116A、图形键盘116B和编辑区域116C。计算设备110的用户可以在图形键盘116B处提供输入,以在编辑区域116C内产生文本字符,该文本字符形成在输出区域116A内显示的电子消息的内容。在输出区域116A内显示的消息形成计算设备110的用户和不同计算设备的用户之间的聊天会话。
UI模块120管理与PSD 112和计算设备110的其他组件的用户交互。换句话说,UI模块120可以充当计算设备110的各种组件之间的中介(intermediary),以基于由PSD 112检测到的用户输入做出确定,并响应于用户输入在PSD 112处生成输出。UI模块120可以从计算设备110的应用、服务、平台或其他模块接收指令,以使得PSD 112输出用户界面(例如,用户界面114A)。UI模块120可以在用户查看PSD 112处呈现的用户界面并与在PSD 112处呈现的用户界面交互时管理由计算设备110接收的输入,并且响应于从正处理用户输入的计算设备110的应用、服务、平台或其他模块接收附加指令来更新用户界面。
键盘模块122表示在计算设备110处执行或可由计算设备110访问的应用、服务或组件,其向计算设备110提供具有集成搜索特征的图形键盘。键盘模块122可以在文本录入模式下的操作或搜索模式下的操作之间转换,在该文本录入模式中,键盘模块122功能类似于传统的图形键盘;在该搜索模式中,键盘模块122执行各种集成搜索功能。
在一些示例中,键盘模块122可以是在计算设备110处执行的独立应用、服务或模块,并且在其他示例中,键盘模块122可以是其子组件。例如,键盘模块122可以被集成到在计算设备110处执行的聊天应用或消息收发应用中,而在其他示例中,键盘模块122可以是在应用或操作平台要求图形键盘输入功能的任意时间由计算设备110的应用或操作平台调用的独立应用或子程序。在一些示例中,计算设备110可以(例如,经由互联网)从服务提供商的应用储存库下载并安装键盘模块122。在其他示例中,键盘模块122可以在计算设备110的生产期间被预加载。
当以文本录入模式操作时,计算设备110的键盘模块122可以执行用于文本录入的传统图形键盘操作,诸如,生成用于在PSD 112处显示的图形键盘布局、将在PSD 112处检测到的输入映射到对图形键的选择、基于选择的键确定字符以及基于根据选择的键确定的字符预测或自动校正词和/或短语。
图形键盘116B包括被显示为图形键118A的图形元素。键盘模块122可以向UI模块120输出在用户界面114A内指定图形键盘116B的布局的信息。例如,该信息可以包括指定图形键118A的位置、大小、颜色和其他特性的指令。基于从键盘模块122接收的信息,UI模块120可以使得PSD 112显示图形键盘116B作为用户界面114A的部分。
图形键118A中的每个键可以与键内显示的各个字符(例如,字母、数字、标点符号或其他字符)相关联。计算设备110的用户可以在PSD 112的位置处提供输入,在该位置处显示一个或多个图形键118A以将内容输入(例如,字符、搜索结果等)到编辑区域116C当中(例如,用于编写在输出区域116A内被传送和显示的消息,或者用于输入计算设备110从图形键盘116B内执行的搜索查询)。键盘模块122可以从UI模块120接收指示与由PSD 112检测到的输入相关联的位置的信息,该位置相对于图形键的每一个的位置。使用空间和/或语言模型,键盘模块122可以将输入翻译成对键和字符、词和/或短语的选择。
例如,在计算设备110的用户在PSD 112的呈现图形键118A的位置处或附近提供用户输入时,PSD 112可以检测用户输入的指示。UI模块120可以在PSD 112处从PSD 112接收用户输入的指示,并且向键盘模块122输出关于用户输入的信息。关于用户输入的信息可以包括由PSD 112检测到的一个或多个触摸事件(例如,关于输入的位置和其他信息)的指示。
基于从UI模块120接收的信息,键盘模块122可以将在PSD 112处检测到的输入映射到图形键118A的选择,基于选择的键118A确定字符,以及基于与选择的键118A相关联的字符来预测或自动更正词和/或短语。例如,键盘模块122可以包括空间模型,该空间模型可以基于键118A的位置和关于输入的信息来确定最有可能被选择的一个或多个键118A。响应于确定最有可能被选择的一个或多个键118A,键盘模块122可以确定一个或多个字符、词和/或短语。例如,从PSD 112处的用户输入中选择的一个或多个键118A中的每一个可以表示单个字符或键盘操作。键盘模块122可以确定基于一个或多个选择的键118A来选择的字符的序列。在一些示例中,键盘模块122可以将语言模型应用于字符的序列,以基于键118A的选择来确定用户试图输入的最可能的候选字母、语素、词和/或短语。
键盘模块122可以将字符和/或候选词和短语的序列传送到UI模块120,并且UI模块120可以使得PSD 112将根据一个或多个键118A的选择来确定的字符和/或候选词呈现为编辑区域116C内的文本。在一些示例中,当用作用于执行文本录入操作的传统键盘时,并且响应于在图形键118A处接收到用户输入(例如,在用户在图形键盘116B处键入以在编辑区域116C内录入文本时),键盘模块122可以使得UI模块120在建议区域119A-119C(统称为“建议区域119”)内将候选词和/或短语显示为一个或多个可选的拼写校正和/或可选的词或短语建议。
除了确定词和/或短语建议之外,键盘模块122可以至少部分地基于在编辑区域116C内录入的文本来确定候选表情符号(例如,对应于在编辑区域116C内录入的文本的至少部分的候选表情符号和/或基于键118A的选择而确定的候选词和/或短语中的一个)。例如,键盘模块122可以将表情训练的语言模型应用于在编辑区域116C内录入的文本,以确定被预测为对应于在编辑区域116C内录入的文本的至少部分的一个或多个候选表情符号。在一些示例中,键盘模块122可以使得UI模块120在一个或多个建议区域119内将候选表情符号显示为一个或多个可选表情符号。出于本公开的目的,术语表情符号可以指可以在文本中内嵌使用的象形图。例如,诸如Unicode 8.0.0版的Unicode标准包含可由键盘模块122确定的表情符号的示例列表。
在一些示例中,键盘模块122可以对候选表情符号和候选词和/或短语进行排序,并且使得UI模块120在建议区域119内显示最可能的候选表情符号、候选词和/或候选短语。在一些示例中,键盘模块122可以使得UI模块120在建议区域119内显示最可能的候选表情符号、候选词和/或候选短语,而不考虑显示最多的候选是表情符号、词还是短语。在一些示例中,键盘模块122可以为候选表情符号保留建议区域119中的一个或多个建议区域。例如,键盘模块122可以保留建议区域119B以用于候选表情符号,而剩余的建议区域119A和119C用于显示候选词和/或短语。
键盘模块122可以从UI模块120接收指示建议区域119中的特定建议区域的选择的信息。例如,在计算设备110的用户在其中PSD 112呈现建议区域199中的特定建议区域的PSD 112的位置处或附近提供用户输入时,PSD 112可以检测用户输入的指示。UI模块120可以在PSD 112处从PSD 112接收用户输入的指示,并且向键盘模块122输出关于用户输入的信息。关于用户输入的信息可以包括由PSD 112检测到的一个或多个触摸事件(例如,关于输入的位置和其他信息)的指示。
响应于接收到指示建议区域119中的特定建议区域的选择的信息,键盘模块122可以基于在特定建议区域内显示的候选来修改编辑区域116C内的文本。当在特定建议区域内显示的候选是基于编辑区域116C内的部分词或短语的完整词或短语时,键盘模块122可以通过用完整候选词或短语简单地替换该部分词或短语来修改编辑区域116C内的文本。例如,如图1A所示,键盘模块122可以响应于接收到指示建议区域119A的选择的信息用词“burger”替换编辑区域116C内的“burgers”。
然而,当在特定建议区域内显示的候选是表情符号时,对于键盘模块122来说,总是通过用候选表情符号替换对应于候选表情符号的文本的部分来修改编辑区域116C内的文本可能不是期望的。例如,在一些示例中,将候选表情符号附加到对应于候选表情符号的文本的部分可能是期望的,因为用候选表情符号替换对应于候选表情符号的文本的部分可能会混淆文本/表情符号的含义。另一方面,在一些示例中,对于键盘模块122来说,通过用候选表情符号替换对应于候选表情符号的文本的部分来修改编辑区域116C内的文本是期望的,因为包括对应于候选表情符号的文本的部分和候选表情符号两者可能是冗余的。
根据本公开的一个或多个技术,与总是用候选表情符号替换对应于候选表情符号的文本的部分或者总是将候选表情符号附加到文本的部分相反,键盘模块122可以选择性地确定是否用候选表情符号替换对应于候选表情符号的文本的部分,或者将候选表情符号附加到文本的部分。在一些示例中,键盘模块122可以基于表情训练的语言模型(诸如由键盘模块122用来预测候选表情符号的表情符号训练的语言模型)来确定是附加还是替换。
在操作中,用户可以依靠计算设备110与设备交换电子通信(例如,文本消息),该设备与朋友相关联。如图1A中所示,在向与朋友相关联的设备传送询问“今晚一起吃晚餐?”的消息之后,计算设备110可以从与朋友相关联的设备接收陈述了“当然,你有什么想法?[正在思考的面部表情(例如,Unicode U+1F914)]”的消息。计算设备110可以在PSD 112处输出包括具有被传送到与朋友相关联的设备的消息和从与朋友相关联的设备接收的消息的消息气泡的用户界面114A以供显示。
在查看在PSD 112处显示的消息之后,计算设备110的用户可以,例如通过在显示键118A的PSD 112的位置处或附近做手势,提供输入以选择键118A来编写回复消息。计算设备110可以基于一个或多个键118A的选择来确定一个或多个候选词。例如,在计算设备的用户在键118A处提供输入时,键盘模块122可以从UI模块120接收输入的指示并且根据输入确定键118A的选择。使用空间和/或语言模型,键盘模块122可以基于该选择确定用户可能输入文本“How about burgers”。
计算设备110可以将文本字符“How about burgers”作为计算设备110从用户输入导出的候选词的指示输出用于在编辑区域116C内显示。例如,键盘模块122可以向UI模块120传送信息,该信息得使UI模块120在编辑区域116C内呈现文本“How about burgers”。
计算设备110可以基于键118A的选择来确定用户试图输入的最可能的候选字母、词素、词和/或短语,并且确定对应于编辑区域116C内录入的文本的至少部分和/或基于键118A的选择确定的候选词和/或短语中的一个的候选表情符号。计算设备110可以输出最可能的候选表情符号、候选词和/或候选短语,用于在PSD 112处和建议区域119内显示。如图1A所示,基于在编辑区域116C内录入的词“burgers”,计算设备110可以在建议区域119A中输出文本“burger”、在建议区域119B中输出汉堡表情(例如,Unicode U+1F354)以及在建议区域119C中输出文本“budge”。如以下更详细地讨论的,在一些示例中,计算设备110可以使用表情训练的语言模型来预测最可能的候选表情符号。
在查看在PSD 112处显示的候选之后,计算设备110的用户可以,例如通过在显示建议区域119的PSD 112的位置处或附近做手势,提供输入来选择候选中的一个。响应于建议区域119中的建议区域的选择,计算设备110可以基于对应于所选的建议区域的候选来修改编辑区域116C内显示的文本。在图1A的示例中,响应于建议区域119B的选择,计算设备110可以基于汉堡表情符号(例如,Unicode U+1F354)来修改在编辑区域116C内显示的文本。
如以上所讨论并且根据本公开的一个或多个技术,计算设备110可以选择性地确定是用汉堡表情符号(即,候选表情符号)替换“burgers”(即,对应于候选表情符号的文本的部分),还是将汉堡表情符号附加到文本的该部分。如以下更详细讨论的,在一些示例中,计算设备110可以基于表情训练语言模型(诸如由键盘模块122用来预测候选表情符号的表情训练语言模型)来确定是附加还是替换。
如图1B中所示,在计算设备110确定将候选表情符号附加到文本的情况下,计算设备110可以通过将汉堡表情附加到文本“burgers”来修改编辑区域116C中的文本。在用候选表情符号修改编辑区域116C中的文本之后,计算设备110可以在键118A的“传送”键处检测输入119B(例如,轻敲手势)。例如,UI模块120可以确定PSD 112在PSD 112呈现用户界面114B的图形键盘116B的“传送”键的位置处或附近检测到了输入119B。
如图1C中所示,计算设备110可以将编辑区域116C的内容作为消息输出到与朋友相关联的设备,并且可以在输出区域116A内显示该消息。例如,UI模块120可以向与用户界面114C相关联的聊天应用传送信息,并且聊天应用可以将编辑区域116C的内容打包成电子消息格式,并且使得计算设备110向与朋友相关联的设备传送该电子消息。在传送该电子消息的同时,聊天应用可以使得UI模块120在输出区域116A处呈现该电子消息的图形指示。
如图1D中所示,在计算设备110确定将候选表情符号附加到文本的情况下,计算设备110可以通过用汉堡表情替换文本“burgers”来修改编辑区域116C中的文本。在用候选表情符号修改编辑区域116C中的文本之后,计算设备110可以在键118A的“传送”键处检测输入119B(例如,轻敲手势)。例如,UI模块120可以确定PSD 112在PSD 112呈现用户界面114B的图形键盘116B的“传送”键的位置处或附近检测到了输入119B。
如图1E所示,计算设备110可以将编辑区域116C的内容作为消息输出到与朋友相关联的设备,并且可以在输出区域116A内显示该消息。例如,UI模块120可以向与用户界面114C相关联的聊天应用传送信息,并且聊天应用可以将编辑区域116C的内容打包成电子消息格式,并且使得计算设备110向与朋友相关联的设备传送该电子消息。在传送该电子消息的同时,聊天应用可以使得UI模块120在输出区域116A处呈现该电子消息的图形指示。
通过提供被预测为对应于文本的部分的表情符号,计算设备110的用户可以在用户键入时在图形键盘内自动地获取可选的表情符号,而不要求用户在不同的应用GUI之间转换以查找相应的表情符号。在文本的部分被表情符号自动地替换的情况下,用户可以通过主动地确定是用表情符号替换文本还是将表情符号附加到文本来利用表情符号而不必删除文本的部分。类似地,在表情符号被自动地附加到文本的部分的情况下,用户可以通过主动地确定是用表情符号替换文本还是将表情符号附加到文本来利用在由文本的部分提供的上下文的情况下更容易理解的表情符号。以这种方式,本公开的技术可减少利用表情符号所要求的用户输入的数目,这可简化用户体验且可减少计算设备110的功耗。
如上所指示,键盘模块122可以作为在计算设备110处执行的独立应用、服务或模块,或者作为其单个的集成子组件来执行。因此,如果键盘模块122形成在计算设备110处执行的聊天应用或消息收发应用的部分,则键盘模块122可以向聊天应用或消息收发应用提供文本录入能力。类似地,如果键盘模块122是由计算设备110的应用或操作平台调用的独立应用或子程序,则在应用或操作平台要求图形键盘输入功能的任何时间,键盘模块122可以向调用应用或操作平台提供文本录入功能。
图2是根据本公开的一个或多个方面将计算设备210示出为被配置为呈现具有集成表情符号建议的图形键盘的示例计算设备的框图。以下将图2的计算设备210描述为图1A-1E的计算设备110的示例。图2仅示出了计算设备210的一个特定示例,并且计算设备210的许多其他示例可以在其他实例中使用,并且可以包括被包括在示例计算设备210中的组件的子集或者可以包括图2中未显示的额外的组件。
如图2的示例中所示,计算设备210包括PSD 212、一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246、以及一个或多个存储组件248。存在敏感型显示器212包括显示器组件202和存在敏感型输入组件204。计算设备210的存储组件248包括UI模块220、键盘模块222和一个或多个应用模块224。键盘模块122可以包括空间模型(spatial model,“SM”)模块226和语言模型(language model,“LM”)模块228。通信信道250可以(物理地、通信地和/或可操作地)互连组件212、240、242、244、246、248、220、222、224、226和228中的每一个以用于组件间通信。在一些示例中,通信信道250可以包括系统总线、网络连接、进程间通信数据结构或用于通信传达数据的任何其他方法。
计算设备210的一个或多个通信单元242可以通过在一个或多个网络上发送和/或接收网络信号,经由一个或多个有线和/或无线网络与外部设备通信。通信单元242的示例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、GPS接收器或能够传送和/或接收信息的任何其他类型的设备。通信单元242的其他示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电以及通用串行总线(universal serial bus,USB)控制器。
计算设备210的一个或多个输入组件244可以接收输入。输入的示例是触觉输入、音频输入和视频输入。在一个示例中,计算设备210的输入组件242包括对存在敏感型输入设备(例如,触敏屏幕、PSD)、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自人或机器的输入的任何其他类型的设备。在一些示例中,输入组件242可以包括一个或多个传感器组件、一个或多个位置传感器(GPS组件、Wi-Fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个运动传感器(例如,加速度计、陀螺仪)、一个或多个压力传感器(例如,气压计)、一个或多个环境光传感器、以及一个或多个其他传感器(例如麦克风、照相机、红外接近传感器、湿度计等)。其他传感器可以包括心率传感器、磁力计、葡萄糖传感器、湿度计传感器、嗅觉传感器、罗盘传感器、阶跃计数器传感器,这只是举出几个非限制性实例。
计算设备110的一个或多个输出组件246可以生成输出。输入的示例是触觉输入、音频输入和视频输入。在一个示例中,计算设备210的输出组件246包括PSD、声卡、视频图形适配器卡、扬声器、阴极射线管(cathode ray tube,CRT)监视器、液晶显示器(LCD)或用于生成到人或机器的输出的任何其他类型的设备。
计算设备210的PSD 212类似于计算设备110的PSD 112,并且包括显示器组件202和存在敏感型输入组件204。显示器组件202可以是由PSD 212显示信息的屏幕,并且存在敏感型输入组件204可以在显示器组件202处和/或附近检测对象。作为一个示例范围,存在敏感型输入组件204可以检测对象,诸如在显示器组件202的两英寸或更小的范围内的手指或触针。存在敏感型输入组件204可以确定在该处检测到对象的显示器组件202的位置(例如,[x,y]坐标)。在另一示例范围中,存在敏感型输入组件204可以检测距显示器组件202六英寸或更小的对象,并且其他范围也是可能的。存在敏感型输入组件204可以使用电容、电感和/或光学识别技术来确定由用户的手指选择的显示器组件202的位置。在一些示例中,如关于显示器组件202所述,存在敏感型输入组件204还使用触觉、音频或视频刺激向用户提供输出。在图2的示例中,PSD 212可以呈现用户界面(诸如图1A的图形用户界面114A)。
虽然被示出为计算设备210的内部组件,但是PSD 212也可以表示与计算设备210共享数据路径以用于发送和/或接收输入和输出的外部组件。例如,在一个示例中,PSD 212表示计算设备210的内置组件,该内置组件位于计算设备210的外部封装(例如,移动电话上的屏幕)内并物理地连接到计算设备210的外部封装(例如,移动电话上的屏幕)。在另一个示例中,PSD 212表示计算设备210的外部组件,该外部组件位于计算设备210的封装或外壳的外部并与其物理地分离(例如,监视器、投影仪等,其与计算设备210共享有线和/或无线数据路径)。
计算设备210的PSD 212可以检测作为来自计算设备210的用户的输入的二维和/或三维手势。例如,PSD 212的传感器可以在PSD 212的传感器的阈值距离内检测用户的移动(例如,移动手、手臂、笔、触针等)。PSD 212可以确定运动的二维或三维矢量表示,并且将矢量表示与具有多个维度的手势输入(例如,挥手(hand-wave)、捏、拍手、笔划等)进行相关。换句话说,PSD 212可以检测多维手势,而不要求用户在PSD 212输出信息以供显示的屏幕或表面处或附近做出手势。相反,PSD 212可以检测在传感器处或附近执行的多维手势,该传感器可以或可以不位于PSD 212输出信息以供显示的的屏幕或表面附近。
一个或多个处理器240可以实施功能和/或执行与计算设备210相关联的指令。处理器240的示例包括应用处理器、显示器控制器、辅助处理器、一个或多个传感器集线器以及被配置为用作处理器、处理单元或处理设备的任何其他硬件。模块220、222、224、226和228可由处理器240操作以执行计算设备210的各种动作、操作或功能。例如,计算设备210的处理器240可以检索和执行由存储组件248存储的指令,这些指令使得处理器240执行操作模块220、222、224、226和228。该指令当由处理器240执行时,可以使得计算设备210在存储组件248内存储信息。
计算设备210内的一个或多个存储组件248可以存储用于在计算设备210的操作期间处理的信息(例如,计算设备210可以在计算设备210处存储执行期间由模块220、222、224、226和228访问的数据)。在一些示例中,存储组件248是临时存储器,这意味着存储组件248的主要目的不是长期存储。计算设备210上的存储组件248可以为了信息的短期存储被配置为易失性存储器,因此如果断电则不保留存储的内容。易失性存储器的示例包括随机存取存储器(random access memories,RAM)、动态随机存取存储器(dynamic randomaccess memories,DRAM)、静态随机存取存储器(static random access memories,SRAM)以及本领域中已知的其他形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非瞬时性计算机可读存储介质。存储组件248可以被配置为存储比通常由易失性存储器存储的信息量更大的信息量。存储组件248还可以为了信息的长期存储被配置为非易失性存储空间并且在通电/断电循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(electricallyprogrammable memories,EPROM)或电可擦除可编程存储器(electrically erasable andprogrammable,EEPROM)的形式。存储组件248可以存储与模块220、222、224、226和228相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括被配置为存储与模块220、222、224、226和228相关联的数据或其他信息的存储器。
UI模块220可以包括图1A-1E中的计算设备110的UI模块120的所有功能并且可以执行与UI模块120类似的操作以用于管理计算设备210在存在敏感型显示器212处提供的用于处理来自用户的输入的用户界面(例如,用户界面114A)。例如,计算设备210的UI模块220可以向键盘模块222查询键盘布局(例如,英语QWERTY键盘等)。UI模块220可以通过通信信道250向键盘模块222发送针对键盘布局的请求。键盘模块222可以接收请求并利用与键盘布局相关联的数据回复UI模块220。UI模块220可以通过通信信道250接收键盘布局数据并使用该数据来生成用户界面。UI模块220可以通过通信信道250发送显示命令和数据以使得PSD 212在PSD 212处呈现用户界面。
在一些示例中,UI模块220可以接收在PSD 212处检测到的一个或多个用户输入的指示,并且可以将关于用户输入的信息输出到键盘模块222。例如,PSD 212可以检测用户输入并将关于用户输入的数据传送到UI模块220。UI模块220可以基于检测到的输入生成一个或多个触摸事件。触摸事件可以包括表征用户输入的信息,诸如用户输入的位置分量(例如,[x,y]坐标)、时间分量(例如,当接收到用户输入时)、力分量(例如,由用户输入施加的压力量)或关于用户输入的其他数据(例如,速度、加速度、方向、密度等)。
基于根据用户输入生成的触摸事件的位置信息,UI模块220可以确定检测到的用户输入与图形键盘相关联。UI模块220可以将一个或多个触摸事件的指示传送到键盘模块222用于进一步解释。键盘模块22可以基于从UI模块220接收的触摸事件确定检测到的用户输入表示图形键盘的一个或多个键的初始选择。
应用模块224表示在计算设备210处执行并且可从计算设备210访问的所有各种单独的应用和服务,其可以依赖于具有集成搜索特征的图形键盘。计算设备210的用户可以与与一个或多个应用模块224相关联的图形用户界面交互以使得计算设备210执行功能。应用模块224的许多示例可以存在,并且包括健身应用、日历应用、个人助理或预测引擎、搜索应用、地图或导航应用、交通服务应用(例如,公共汽车或火车跟踪应用)、社交媒体应用、游戏应用、电子邮件应用、聊天或消息收发应用、互联网浏览器应用或者可以在计算设备210处执行的任何和所有其他应用。
键盘模块222可以包括图1A-1E中的计算设备110的键盘模块122的所有功能并且可以执行与键盘模块122类似的操作以用于提供具有集成搜索特征的图形键盘。键盘模块222可以包括可以执行键盘模块222的功能的、诸如SM模块226和LM模块228的各种子模块。
SM模块226可以接收一个或多个触摸事件作为输入,并输出可能表示一个或多个触摸事件的字符或字符的序列以及指示一个或多个字符定义触摸事件的可能性或精确度的确定程度或空间模型得分。换句话说,SM模块226可以将触摸事件推断为键盘的一个或多个键的选择,并且可以基于一个或多个键的选择输出字符或字符的序列。
当键盘模块222在文本录入模式下操作时,LM模块228可以接收字符或字符的序列作为输入,并输出一个或多个候选字符、词或短语,LM模块228从词库中将所述一个或多个候选字符、词或短语识别为对于字符的序列的潜在替代物,LM模块228接收所述对于字符的序列的潜在替代物作为针对给定的语言上下文(例如,书面语言中的句子)的输入。键盘模块222可以使得UI模块220在用户界面114A的建议区域118C处呈现候选词中的一个或多个。
计算设备210的词库可以包括书面语言词汇(例如,词典)内的词的列表。例如,词库可以包括词的数据库(例如,标准词典中的词和/或由用户或计算设备210添加到词典中的词。LM模块228可以在词库中执行字符串的查找以识别包括字符串的部分或所有字符的一个或多个字母、词和/或短语。例如,LM模块228可以将语言模型概率或相似系数(例如,Jaccard相似系数)分配给包括与输入的字符或字符的序列相同的字符中的至少一些字符的、位于计算设备210的词库中的一个或多个候选词。被分配给一个或多个候选词中的每一个的语言模型概率指示通常发现候选词位于词的序列(例如,句子)之后、之前和/或之内的确定程度或可能程度,该词的序列(例如,句子)在接收由LM模块228正在分析的当前字符的序列之前和/或之后根据由存在敏感型输入组件204检测到的文本输入生成。响应于确定一个或多个候选词,LM模块228可以输出具有最高相似系数的、来自词库数据的一个或多个候选词。
在一些示例中,计算设备210的词库可以包括多个表情符号,并且LM模块228是表情训练的语言模型。例如,LM模块228可以将指示通常发现候选表情符号位于词的序列(例如,句子)之后、之前、的位置和/或之内的确定程度或可能程度的语言模型概率、得分或相似系数分配给一个或多个候选表情符号,该词的序列(例如,句子)根据可以包括也可以不包括由LM模块228正在分析的当前的字符的序列的、由存在敏感型输入组件204检测到的文本输入生成。响应于确定一个或多个候选表情符号,LM模块228可以输出具有最高相似系数的、来自词库数据的一个或多个候选表情符号。
在一些示例中,由LM模块228用于将语言模型概率或相似系数分配给一个或多个候选表情符号的语言模型可以指示一个或多个候选表情符号与特定文本字符串共同出现的频率。一个或多个候选表情符号与特定文本字符串共同出现的频率越大,一个或多个候选表情符号对应于特定文本字符串的概率越大。通常,LM模块228可以使用基于特定表情符号和n-gram同时出现在文本中的概率以及仅仅该n-gram出现在文本中的概率的提高(lift)计算。例如,如果P{N}表示消息中出现n-gram的概率,而P{E,N}表示在同一消息中出现特定表情符号和n-gram的概率,则LM模块228可以通过将在消息中出现特定表情符号和n-gram的概率除以在消息中出现n-gram的概率(即P{E,N}/P{N})来计算提高。在一些示例中,LM模块228可以将平滑先验应用于每个概率(例如,在仅在少量训练数据上训练模型的情形下)。
在一些示例中,由LM模块228使用的语言模型可以依赖于人工智能和机器学习技术以更好地预测对应于文本的部分的表情符号。LM模块228的语言模型可以基于由大量用户录入的文本和表情符号来训练,并且基于该训练生成用于匹配针对文本的不同部分的表情符号的规则。
例如,由大量用户录入的文本和表情符号的语料库可以指示:词“love”具有与心形表情符号(例如,Unicode U+2764)相对应的高概率,词“haha”具有与笑的表情(例如,Unicode U+1F602)相对应的高概率,和/或n-gram“united states”具有与美国旗帜表情(例如,Unicode U+1F1FA)相对应的高概率。LM模块228的语言模型可以生成用于将文本词关联到频繁使用的表情符号的全局规则。在一些示例中,可以基于由计算设备210的用户录入的文本和表情符号(例如,基于单个用户可能使用的表情关系)来进一步精细化语言模型。例如,如果计算设备210的用户在文本“awesome”之后录入一百个表情符号(例如,Unicode U+1F4AF),则LM模块228可以更新语言模型以增加文本“awesome”对应于该一百个表情符号的概率(例如,增加针对一百个表情符号和文本“awesome”的P{E,N})。以这种方式,LM模块228的语言模型可以生成用于将文本词关联到频繁使用的表情符号的本地规则(例如,用户和/或设备专用)。另外,通过最初基于由大量的用户录入的文本和表情符号来训练语言模型并且基于由计算设备210的用户录入的文本和表情符号来精细化语言模型,本公开的技术可以立即使能针对所有支持的键盘语言的语言模型的训练,并且快速地为每个用户个性化语言模型。
如上所述,LM模块228可以输出具有最高相似系数的、来自词库数据一个或多个候选词和/或具有最高相似系数的、来自词库数据的一个或多个候选表情符号。在一些示例中,LM模块228可以输出包括具有最高相似系数的、来自词库数据的一个或多个候选词和/或表情符号的候选的组合列表。例如,如果第一候选词具有85的相似系数、第二候选词具有63的相似系数、第三候选词具有58的相似系数、第一候选表情符号具有81的相似系数以及第二候选表情符号具有55的相似系数,则LM模块228可输出包括第一候选词、第二候选词和第一候选表情符号的组合列表。
如上所讨论,键盘模块222可以使得UI模块220在建议区域内显示最可能的候选(例如,表情符号、词和/或短语),并且响应于接收到指示所显示的建议区域中的特定建议区域的选择的信息,键盘模块222可以基于在特定建议区域内显示的候选来修改编辑区域内的文本。然而,当在特定建议区域内显示的候选是表情符号时,对于键盘模块222来说,总是通过用候选表情符号替换对应于候选表情符号的文本的部分来修改编辑区域内的文本可能不是期望的。例如,在一些示例中,将候选表情符号附加到对应于候选表情符号的文本的部分可能是期望的,因为以候选表情符号替换对应于候选表情符号的文本部分可能混淆文本/表情符号的含义(例如,其中候选表情符号修改文本的含义,反之亦然)。另一方面,在一些示例中,对于键盘模块222来说,通过用候选表情符号替换对应于候选表情符号的文本的部分来修改编辑区域内的文本可能是期望的,因为包括对应于候选表情符号的文本的部分和候选表情符号的两者可能是冗余的(例如,其中候选表情符号是文本的部分的象形图)。
根据本公开的一个或多个技术,键盘模块222可以选择性地确定是否通候选表情符号替换对应于候选表情符号的文本的部分或者将候选表情符号附加到文本的部分,而不是总是用候选表情符号替换对应于候选表情符号的文本的部分或者总是将候选表情符号附加到文本的部分。例如,LM模块228可以基于表情训练的语言模型(诸如,由LM模块228用于预测候选表情符号的表情符号训练的语言模型)来确定是附加还是替换。
在任何情况下,键盘模块222可以通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本的部分来修改文本并且使得UI模块220显示修改的文本。例如,键盘模块222可以使得UI模块220在编辑区域(诸如GUI 114A的编辑区域116C)中显示修改的文本。
如上所讨论,LM模块228可以确定是否通过用候选表情符号替换文本部分或者将候选表情符号附加到文本的部分来修改文本。作为一个示例,LM模块228通常可以对所有表情符号进行附加/替换确定。例如,LM模块228可以确定文本的部分是否通常由表情符号(例如,基于全局或本地规则)替换或者表情符号是否通常被附加到文本的部分。在这样的示例中,当选择候选表情符号时,键盘模块222可以总是用候选表情符号替换文本的部分或者总是将候选表情符号附加到文本的部分,而不管哪个表情符号是候选表情符号并且不管文本部分中包含什么。
作为另一示例,LM模块228可以针对每个特定表情符号单独地进行附加/替换确定。例如,LM模块228可以确定文本的部分是否通常被特定表情符号(例如,基于全局或本地规则)替换,或者特定表情符号是否通常被附加到文本的部分。在这样的示例中,当选择的候选表情符号是特定表情符号时,键盘模块222可以总是以特定表情符号替换文本的部分,或者总是将特定表情符号附加到文本的部分,而不管文本部分中包含什么。
作为另一示例,LM模块228可以针对文本和表情符号的每个组合单独地进行附加/替换确定。例如,LM模块228可以确定文本的特定部分是否通常由特定表情符号替换,或者特定表情符号是否通常被附加到文本的特定部分。在这样的示例中,当针对文本的特定部分选择的候选表情是特定表情符号时,键盘模块222可以总是用特定表情符号替换文本的特定部分或者总是将特定表情符号附加到文本的特定部分。
如上所述,LM模块228可以将语言模型概率或相似系数分配到一个或多个候选表情符号,并输出具有最高相似系数的、来自词库数据的一个或多个候选表情符号。在一些示例中,由LM模块228确定的候选表情符号中的每一个可以包括单个表情符号。例如,基于文本“我什么都不知道”,LM模块228可以确定包括非礼勿视(see-no-evil)猴子表情符号(例如,Unicode U+1F648)的第一候选表情符号、包括非礼勿听(hear-no-evil)猴子表情符号(例如,Unicode U+1F649)的第二候选表情符号,以及包括非礼勿说(speak-no-evil)猴子表情符号(例如,Unicode U+1F64A)的第三候选表情符号。在一些示例中,由LM模块228确定的候选表情符号中的一个或多个可以是候选表情符号短语,其包括被共同地预测为对应于文本的部分的多个表情符号。例如,基于文本“我什么都不知道”,LM模块228可以确定包括所有的非礼勿视猴子表情(例如,Unicode U+1F648)、非礼勿听猴子表情(例如,Unicode U+1F649)以及非礼勿说猴子表情(例如,Unicode U+1F64A)的候选表情短语,并确定包括拉链嘴(zipper-mouth)面部表情(例如,Unicode U+1F910)的候选表情符号。
在选择的候选是表情短语的情况下,LM模块228可以确定是否通过用候选表情短语替换文本的部分或者将候选表情短语附加到文本的部分来修改文本。类似于对候选表情符号的确定,LM模块228可以对所有表情短语进行附加/替换确定,对每个特定表情短语单独地进行附加/替换确定,或者对文本和表情短语的每个组合单独地进行附加/替换确定。
在一些示例中,LM模块228可以将附加/替换确定基于计算设备210的当前上下文。如本文所使用的,当前上下文在特定时间处指定诸如计算设备210的计算设备以及该计算设备的用户的物理环境和/或虚拟环境的特性。此外,术语“上下文信息”用于描述可以由计算设备用来定义计算设备和计算设备的用户在特定时间处可能体验的虚拟环境和/或物理环境特征的任何信息。
上下文信息的示例很多,并且可以包括:由计算设备210的传感器(例如,位置传感器、加速度计、陀螺仪、气压计、环境光传感器、接近传感器、麦克风和任何其他传感器)获取的传感器信息、由计算设备210的通信模块传送和接收的通信信息(例如,基于文本的通信、可听通信、视频通信等)以及与在计算设备210处执行的应用相关联的应用使用信息(例如,与应用相关联的应用数据、互联网搜索历史、文本通信、语音和视频通信、日历信息、社交媒体帖子和相关信息等)。上下文信息的进一步示例包括从计算设备210外部的发送设备获取的信号和信息。
除了依赖于在计算设备210处输入的当前消息的文本之外,LM模块228可以依赖与由计算设备210传送和/或接收以确定是附加还是替换的先前的消息相关联的先前的词、句子等。换句话说,LM模块228可以依赖于包括计算设备210已经传送和接收以确定是在当前会话中添加还是替换表情符号的多个消息的整个会话的文本。
图3是示出根据本公开的一个或多个技术的输出图形内容用以在远程设备上显示的示例计算设备的框图。通常,图形内容可以包括可以被输出以供显示的任何视觉信息,诸如文本、图像或运动图像的组,这仅举几个例子。图3中的示例包括计算设备310、PSD 312、通信单元342、投影仪380、投影仪屏幕382、移动设备386和视觉显示器组件390。在一些示例中,PSD 312可以是如图1-2中所描述的存在敏感型显示器。尽管出于在图1和图2中的示例的目的被显示为独立的计算设备110和计算设备210,但是诸如计算设备310的计算设备通常可以是包括用于执行软件指令的处理器或其他合适的计算环境的任何组件或系统,并且例如不需要包括存在敏感型显示器。
如图3中的示例中所示,计算设备310可以是包括关于图2中的处理器240所描述的功能的处理器。在这样的示例中,计算设备310可以通过通信信道362A可操作地被耦合到PSD 312,该通信信道362A可以是系统总线或其他合适的连接。如以下进一步描述的,计算设备310还可以通过通信信道362B可操作地被耦合到通信单元342,该通信信道362B也可以是系统总线或其他合适的连接。尽管在图3中被作为示例分开地示出,但是计算设备310可以通过任意数量的一个或多个通信信道可操作地被耦合到PSD 312和通信单元342。
在其他示例中,诸如先前由图1A-1E中的计算设备110或图2中的计算设备210所示,计算设备可以指的是诸如移动电话(包括智能电话)、膝上型计算机等的便携式或移动设备。在一些示例中,计算设备可以是桌上型计算机、平板计算机、智能电视平台、照相机、个人数字助理(PDA)、服务器或主机。
PSD 312可以包括显示器组件302和存在敏感型输入组件304。显示器组件302可以例如从计算设备310接收数据并显示图形内容。在一些示例中,存在敏感型输入组件304可以使用电容、电感和/或光学识别技术确定PSD 312处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势)并使用通信信道362A将这种用户输入的指示传送到计算设备310。在一些示例中,存在敏感型输入组件304可以物理地定位在显示器组件302的顶部,使得当用户将输入单元定位在由显示器组件302显示的图形元素上时,存在敏感型输入组件304的位置对应于显示图形元素的显示器组件302的位置。
如图3中所示,计算设备310还可以包括通信单元342和/或与通信单元342可操作地耦合。通信单元342可以包括如图2中所描述的通信单元242的功能。通信单元342的示例可以包括网络接口卡、以太网卡、光收发器、射频收发器或能够发送和接收信息的任何其他类型的设备。这种通信单元的其他示例可以包括蓝牙、3G和Wi-Fi无线电、通用串行总线(USB)接口等。计算设备310还可以包括一个或多个其他设备(例如,输入设备、输出组件、存储器、存储设备)和/或与这些设备可操作地耦合,为了简洁和说明的目的这些设备没有在图3中显示。
图3还示出了投影仪380和投影仪屏幕382。投影设备的其他这样的示例可以包括电子白板、全息显示器组件以及用于显示图形内容的任何其他合适的设备。投影仪380和投影仪屏幕382可以包括使得各个设备能够与计算设备310通信的一个或多个通信单元。在一些示例中,一个或多个通信单元可以使能投影仪380和投影仪屏幕382之间的通信。投影仪380可以从计算设备310接收包括图形内容的数据。投影仪380响应于接收到数据,可以将图形内容投影到投影仪屏幕382上。在一些示例中,投影仪380可以使用光学识别或其他合适的技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势),并且使用一个或多个通信单元向计算设备310传送这种用户输入的指示。在这样的示例中,投影仪屏幕382可以是不必要的,并且投影仪380可以将图形内容投影在任何合适的介质上,并且使用光学识别或其他这样合适的技术来检测一个或多个用户输入。
在一些示例中,投影仪屏幕382可以包括存在敏感型显示器384。如本公开中所描述的,存在敏感型显示器384可以包括存在敏感型显示器112和/或312的功能的子集或所有功能。在一些示例中,存在敏感型显示器384可以包括额外的功能。投影仪屏幕382(例如,电子白板)可以从计算设备310接收数据并显示图形内容。在一些示例中,存在敏感型显示器384可以使用电容、电感和/或光学识别技术来确定投影仪屏幕382处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势),并且使用一个或多个通信单元向计算设备310传送这种用户输入的指示。
图3还示出了移动设备386和可视显示器组件390。移动设备386和可视显示器组件390每一个可以包括计算能力和连接能力。移动设备386的示例可以包括电子阅读器设备、可转换笔记本设备、混合平板设备等。视觉显示器组件390的示例可以包括诸如电视、计算机监视器等的其他设备。在一些示例中,视觉显示器组件390可以是(例如,在汽车、飞机或一些其他车辆中)车辆驾驶舱显示器或导航显示器。在一些示例中,视觉显示器组件390可以是与计算设备310分离的家庭自动化显示器或一些其他类型的显示器。
如图3中所示,移动设备386可以包括存在敏感型显示器388。视觉显示器组件390可以包括存在敏感型显示器392。如本公开中所描述的,存在敏感型显示器388、392可以包括存在敏感型显示器112、212和/或312的功能的子集或所有功能。在一些示例中,存在敏感型显示器388、392可以包括额外的功能。在任何情况下,存在敏感型显示器392例如可以从计算设备310接收数据并显示图形内容。在一些示例中,存在敏感型显示器392可以使用电容、电感和/或光学识别技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势),并且使用一个或多个通信单元向计算设备310传送这种用户输入的指示。
如上所述,在一些示例中,计算设备310可以输出图形内容用以在PSD 312处显示,该PSD 312通过系统总线或其他合适的通信信道被耦合到计算设备310。计算设备310还可以输出图形内容用以在诸如投影仪380、投影仪屏幕382、移动设备386和视觉显示器组件390的一个或多个远程设备处显示。例如,根据本公开的技术计算设备310可以执行一个或多个指令来生成和/或修改图形内容。计算设备310可以将包括图形内容的数据输出到诸如通信单元342的计算设备310的通信单元。通信单元342可以将数据传送到诸如投影仪380、投影仪屏幕382、移动设备386和/或视觉显示器组件390的远程设备中的一个或多个。以这种方式,计算设备310可以输出图形内容用以在远程设备中的一个或多个处显示。在一些示例中,远程设备中的一个或多个可以在包括在各个远程设备中和/或可操作地被耦合到各个远程设备的存在敏感型显示器处输出图形内容。
在一些示例中,计算设备310可以不在被可操作地耦合到计算设备310的PSD 312处输出图形内容。在其他示例中,计算设备310可以输出图形内容,用以在通过通信信道362A被耦合到计算设备310的PSD 312和一个或多个远程设备两者处显示。在这样的示例中,可以基本上同时地在每一个各个设备处显示图形内容。例如,通信延迟可能会引入一些延迟以将包括图形内容的数据发送到远程设备。在一些示例中,由计算设备310生成的并且被输出用于在PSD 312处显示的图形内容可以不同于被输出用于在一个或多个远程设备处显示的图形内容显示。
计算设备310可以使用任何合适的通信技术传送和接收数据。例如,计算设备310可以使用网络链路373A被可操作地耦合到外部网络374。图3中所示的远程设备中的每一个可以通过各个网络链路373B、373C或373D中的一个可操作地被耦合到网络外部网络374。外部网络374可以包括网络集线器、网络交换机、网络路由器等,其被可操作地互相耦合从而在图3中所示的计算设备310和远程设备之间提供信息的交换。在一些示例中,网络链路373A-373D可以是以太网、ATM或其他网络连接。这种连接可以是无线连接和/或有线连接。
在一些示例中,计算设备310可以使用直接设备通信378来可操作地耦合到图3中包括的远程设备中的一个或多个。直接设备通信378可以包括计算设备310通过其使用有线或无线通信直接与远程设备传送和接收数据的通信。也就是说,在直接设备通信378的一些示例中,由计算设备310传送的数据在远程设备处被接收之前可以不被一个或多个额外的设备转发,反之亦然。直接设备通信378的示例可以包括蓝牙、近场通信、通用串行总线、Wi-Fi、红外线等。图3中所示的远程设备中的一个或多个可以通过通信链路376A-376D与计算设备310可操作地耦合。在一些示例中,通信链路376A-376D可以是使用蓝牙、近场通信、通用串行总线、红外线等的连接。这种连接可以是无线连接和/或有线连接。
根据本公开的技术,计算设备310可以使用外部网络374可操作地耦合到视觉显示器组件390。计算设备310可以输出图形键盘用于在PSD 312处显示。例如,计算设备310可以将包括图形键盘的表示的数据传送到通信单元342。通信单元342可以使用外部网络374将包括图形键盘的表示的数据传送到可视显示器组件390。响应于使用外部网络374接收数据,可视显示器组件390可以使得PSD 392输出图形键盘。响应于在PSD 392处接收用户输入以选择键盘中一个或多个键,视觉显示设备130可以使用外部网络374向计算设备310传送用户输入的指示。通信单元342可以接收用户输入的指示,并将该指示传送到计算设备310。
计算设备310可以基于用户输入选择一个或多个键。计算设备310可以基于一个或多个键的选择来确定文本。在一些示例中,计算设备310可以预测与所确定的文本的至少部分相对应的候选表情符号。计算设备310可以输出包括更新的图形键盘的更新的图形用户界面的表示。更新的图形键盘可以包括编辑区域和建议区域,该编辑区域包括文本和包括预测的候选表情符号的建议区域。通信单元342可以接收更新的图形用户界面的表示,并且可以将该表示传送到视觉显示器组件390,以便视觉显示器组件390可以使得PSD 312输出更新的图形键盘,该更新的图形键盘包括编辑区域和包括预测候选表情符号的建议区域。响应于在PSD 312处接收用户输入以选择包括预测候选表情符号的建议区域,视觉显示设备130可使用外部网络374向计算设备310传送用户输入的指示。通信单元342可以接收用户输入的指示,并将该指示传送到计算设备310。
计算设备310可以基于用户输入通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本部分来修改文本。在一些示例中,计算设备310可以基于表情训练的语言模型,确定是通过用候选表情符号替换文本部分还是将候选表情符号附加到文本的部分来修改文本。计算设备310可以输出包括更新的图形键盘的更新的图形用户界面的表示。该更新的图形键盘可以包括编辑区域,该编辑区域包括修改的文本。通信单元342可以接收更新的图形用户界面的表示,并且可以将该表示传送到视觉显示器组件390,以便视觉显示器组件390可以使得PSD 312输出包括编辑区域的更新的图形键盘,该编辑区域包括修改的文本。
图4A-4D是示出根据本公开的一个或多个方面的示例计算设备的示例图形用户界面的概念图,该示例计算设备被配置为呈现具有集成的表情符号建议的图形键盘。图4A-4D分别示出了示例图形用户界面414A-414D(统称为“用户界面414”)。然而,图形用户界面414的许多其他示例可以在其他实例中使用。图形用户界面414中的每一个可以分别对应于由图1和2的计算设备110或210显示的图形用户界面。用户界面414A中的每一个包括输出区域416A、图形键盘416B和编辑区域116C。在每个用户界面414中每一个中的图形键盘416B包括建议区域419A-419C(统称为“建议区域419”)和图形键418A。以下在计算设备110的上下文中描述图4A-4D。
在图4A和4B的示例中,用户界面414A和414B显示了在一些示例中,计算设备110如何选择性地将选择的候选表情符号附加到文本而不是替换文本。例如,如图4A中所示,计算设备110可以在编辑区域416C内显示由计算设备110的用户录入的文本(例如,“Let mewrite you a check”)。至少部分地基于在编辑区域416C中显示的文本,计算设备110可以预测与在编辑区域416C中显示的文本的至少部分相对应的候选表情符号(例如,诸如Unicode U+270D的手写表情)、候选文本(例如,“for”和“chick”)。计算设备110可以在建议区域419内显示预测的候选。用户可以在建议区域419A的位置处或附近提供一个轻敲输入。响应于在建议区域419A处的轻敲输入,计算设备110可以基于在建议区域419A内显示的候选表情符号自动地修改编辑区域416C内所示的文本。
接下来,如图4B中所示,并且根据本公开的一个或多个技术,计算设备110可以确定是否通过用候选表情符号替换编辑区域416C内显示的文本的部分或者将候选表情符号附加到编辑区域416C内显示的文本的部分来修改文本。在图4A和图4B的示例中,计算设备110可以确定将候选表情符号附加到编辑区域416C内显示的文本的部分。在这种情况下,通过将候选表情符号附加到文本,计算设备110可以保留消息的含义(其中由于用手写表情替换“write you a check”将混淆消息的含义)。
在图4C和4D的示例中,用户界面414C和414D显示了在一些示例中,计算设备110可以如何选择性地用选择的候选表情符号替换文本。例如,如图4C中所示,计算设备110可以在编辑区域416C内显示由计算设备110的用户录入的文本(例如,“你能相信刚才发生了什么吗?”)。至少部分地基于在编辑区域416C中显示的文本,计算设备110可以预测与在编辑区域416C中显示的文本的至少部分相对应的第一候选表情符号(例如,诸如Unicode U+2049的感叹号问号表情),以及与在编辑区域416C中显示的文本的至少部分相对应的第二候选表情符号(例如,诸如Unicode U+1F632的惊讶的面部表情)。计算设备110可以在建议区域419A和419B内显示预测的候选表情符号。用户可以在建议区域419B的位置处或附近提供轻敲输入。响应于在建议区域419B处的轻敲输入,计算设备110可以基于在建议区域419B内显示的候选表情符号自动地修改在编辑区域416C内显示的文本。
接下来,如图4D中所示并且根据本公开的一个或多个技术,计算设备110可以确定是否通过用候选表情符号替换编辑区域416C内显示的文本的部分或者将候选表情符号附加到编辑区域416C内显示的文本的部分来修改文本。在图4C和4D的示例中,计算设备110可以确定以候选表情符号替换在编辑区域416C内显示的、与选择的候选表情符号(例如,问号)对应的文本的部分。在这种情况下,通过替换与候选表情符号相对应的文本的部分,计算设备110可以从消息中移除冗余(其中将感叹号问号表情附加到问号将是冗余的)。
图5是示出根据本公开的一个或多个方面的被配置为呈现具有集成的表情符号建议的图形键盘的计算设备的示例操作的流程图。图5的操作可以由计算设备(诸如图1的计算设备110或图2的计算设备210)的一个或多个处理器执行。仅出于图示的目的,以下在图1A-1E的计算设备110的上下文内描述图5。
在操作中,计算设备110可以输出包括多个键的图形键盘以供显示(502)。例如,计算设备110可以使得PSD 112呈现包括图形键盘116B和编辑区域116C的用户界面114A。图形键盘116B可包括键118A和建议区域119。
计算设备110可以基于来自多个键的一个或多个键的选择来确定文本(504)。例如,用户可以在显示键118A的PSD 112的位置处或附近提供轻敲和/或手势输入。键盘模块122的语言和/或空间模型可以基于从UI模块120和PSD 112接收的触摸事件来确定用户可能正在基于在PSD 112处的输入录入的一个或多个词。在一些示例中,键盘模块122可以使得UI模块120在编辑区域116C内显示所确定的一个或多个词。
计算设备110可以至少部分地基于文本来预测候选表情符号(506)。例如,键盘模块122可以使用表情训练的语言模型来确定具有与文本的至少部分相对应的最高得分或可能性的一个或多个表情符号。
计算设备110可以确定是否通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本(508)。例如,键盘模块122可以使用表情训练的语言模型来确定候选表情符号是否通常被附加到文本或者文本的部分是否通常被候选表情符号替换。
计算设备110可以基于该确定来修改文本(510)。作为一个示例,在候选表情符号通常附加到文本的情况下,键盘模块122可以通过将候选表情符号附加到文本来修改文本,诸如在图1B、1C、4A和4B的示例中。作为另一示例,在文本的部分通常由候选表情符号替换的情况下,键盘模块122可以通过用候选表情符号替换文本的部分来修改文本,诸如在图1D、1E、4C和4D的示例中。
计算设备110可以输出修改的文本以供显示(512)。例如,键盘模块122可以使得UI模块120在编辑区域116C内显示修改的文本。
以下编号的条款可以说明本公开的一个或多个方面:
条款1.一种方法包括:由移动计算设备输出包括多个键的图形键盘以供显示;由移动计算设备基于来自多个键的一个或多个键的选择来确定文本;由移动计算设备并且至少部分地基于文本来预测候选表情符号;由移动计算设备确定是否通过用候选表情符号替换文本的部分或将候选表情符号附加到文本来修改文本;由移动计算设备并基于该确定,通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本;以及由移动计算设备输出修改的文本并用于在显示器设备处显示。
条款2.根据条款1的方法,其中,候选表情符号包括候选表情短语,该候选表情短语包括被共同预测为对应于该文本的部分的多个表情符号。
条款3.根据条款1-2的任意组合的方法,还包括:由移动计算设备输出候选表情符号以供显示;以及响应于由移动计算设备接收到选择候选表情符号的手势的指示来修改文本。
条款4.根据条款1-3的任何组合的方法,其中预测与文本的部分相对应的候选表情符号包括:基于表情训练的语言模型来预测候选表情符号。
条款5.根据条款1-4的任何组合的方法,其中确定是否通过用候选表情符号替换文本的部分或者将候选表情符号附加到文本来修改文本包括:基于表情训练的语言模型确定是否通过用候选表情符号替换文本的部分或将候选表情符号附加到文本来来修改文本。
条款6.根据条款1-5的任何组合的方法,还包括:确定文本的部分是否通常由特定候选表情符号替换,或者特定表情符号通常是否被附加到文本;并且确定通过用候选表情符号替换文本的部分来修改文本,其中文本的部分通常被特定候选表情符号替换;或者确定通过将候选表情符号附加到文本来修改文本,其中特定表情符号通常被附加到文本。
条款7.根据条款1-5的任何组合的方法,还包括:确定文本的部分是否通常由表情符号代替,或者表情符号通常是否被附加到文本;并且确定通过用候选表情符号替换文本的部分来修改文本,其中文本的部分通常由表情符号替换;或者确定通过将候选表情符号附加到文本来修改文本,其中特定表情符号通常被附加到文本。
条款8.一种系统,其包括用于执行条款1-7的方法中的任何一个的装置。
条款9.一种计算设备,其包括用于执行条款1-7的方法中的任何一个的装置。
在整个公开中,描述了仅当计算设备从计算设备的用户接收到分析信息的许可时,计算设备和/或计算系统分析与计算设备和计算设备的用户相关联的信息(例如,上下文、位置、速度、搜索查询等)的示例。例如,在下面讨论的情形中,在计算设备或计算系统可以收集或可以使用与用户相关联的信息之前,可以将提供输入的机会提供给用户以控制计算设备和/或计算系统的程序或特征是否可以收集和使用用户信息(例如,关于用户的当前位置、当前速度等的信息),或者规定设备和/或系统是否和/或如何可以接收可能与用户相关的内容。此外,某些数据可以在其被计算设备和/或计算系统存储或使用之前以一个或多个方式处理,使得个人可识别信息被移除。例如,可以处理用户的身份使得不能确定关于该用户的个人可识别信息,或者可以概括在该处获取位置信息的用户的地理位置(诸如,城市、ZIP编码或州级),从而不能确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息并由计算设备和计算系统使用。
在一个或多个示例中,描述的功能可以以硬件、软件、固件或其任意组合来实施。如果以软件来实施,这些功能可以作为一个或多个指令或代码被存储在计算机可读介质上或通过计算机可读介质发送,并可以由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质的有形介质相对应的计算机可读存储介质,或者包括例如根据通信协议便于从一个地方到另一地方的计算机程序的传输的任何介质的通信介质。以这种方式,计算机可读介质通常可以与(1)非瞬时性的有形计算机可读存储介质相对应,或与(2)诸如信号或载波的通信介质相对应。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以用于本公开中描述的技术的实施的任何可用的介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、闪速存储器或可以用于以指令或数据结构形式存储期望的程序代码并且可以由计算机访问的任何其他介质。并且,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(digital subscriber line,DSL)或无线技术(诸如红外、无线电和微波)从网站、服务器或其他远程源发送指令,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电和微波)被包括在介质的定义中。然而,应当理解的是计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,而是指向非瞬时的、有形的存储介质。所使用的磁盘和光盘包括压缩光盘(compact disc,CD)、激光光盘、光盘、数字多功能光盘(digitalversatile disc,DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘以激光光学地再现数据。上述的组合也应被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器(诸如,一个或多个数字信号处理器(digitalsignal processors,DSPs)、通用微处理器、专用集成电路(application specificintegrated circuits,ASICs)、现场可编程逻辑阵列(field programmable logicarrays,FPGAs)或其他等效的集成逻辑电路或离散逻辑电路)执行。因此,所使用的术语“处理器”可以指的是前述结构的任何一个或适合于描述的技术的实施的任何其他结构。此外,在一些方面,可以在专用硬件和/或软件模块内提供所描述的功能。而且,可以在一个或多个电路或逻辑元件中完全实施这些技术。
本发明的技术可在各种设备或装置中实施,包括无线手持设备、集成电路(integrated circuit,IC)或IC的集合(例如,芯片组)。在本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但不一定要求由不同的硬件单元实现。相反,如上所述,各种单元可以结合在硬件单元中,或者由包括如上所述的一个或多个处理器的可以互操作的硬件单元的集结合适当的软件和/或固件来提供。
已经描述了各种示例。这些和其他示例在以下权利要求的范围内。

Claims (15)

1.一种方法,包括:
由移动计算设备输出包括多个键的图形键盘以供显示;
由所述移动计算设备基于来自多个键的一个或多个键的选择来确定文本;
由所述移动计算设备并至少部分基于所述文本来预测候选表情符号;
由所述移动计算设备确定是否通过用所述候选表情符号替换所述文本的部分或将所述候选表情符号附加到所述文本来修改所述文本;
由所述移动计算设备并基于所述确定,通过用所述候选表情符号替换所述文本的部分或者将所述候选表情符号附加到所述文本来修改所述文本;以及
由所述移动计算设备输出修改的文本并用于在显示器设备处显示。
2.如权利要求1所述的方法,其中,所述候选表情符号包括候选表情短语,所述候选表情短语包括被共同预测为与所述文本的部分相对应的多个表情符号。
3.如权利要求1和2的任何组合所述的方法,还包括:
由所述移动计算设备输出所述候选表情符号以供显示;以及
响应于由所述移动计算设备接收选择所述候选表情符号的手势的指示来修改文本。
4.如权利要求1-3的任何组合所述的方法,其中,预测与所述文本的部分相对应的所述候选表情符号包括:
基于表情训练的语言模型预测所述候选表情符号。
5.如权利要求4所述的方法,其中,确定是否通过用所述候选表情符号替换所述文本的部分或者将所述候选表情符号附加到所述文本来修改所述文本包括:
基于所述表情训练的语言模型确定是否通过用所述候选表情符号替换所述文本的部分或者将所述候选表情符号附加到文本来修改所述文本。
6.如权利要求1-5的任何组合所述的方法,还包括:
确定文本的部分通常是否被特定候选表情符号替换或者所述特定表情符号通常是否被附加到所述文本;以及
确定通过用所述候选表情符号替换所述文本的部分来修改文本,其中所述文本部分通常被所述特定候选表情符号替换;或者
确定通过将所述候选表情符号附加到所述文本来修改文本,其中所述特定表情符号通常被附加到所述文本。
7.如权利要求1-5的任何组合所述的方法,还包括:
确定所述文本的部分是否通常被表情符号替换,或者表情符号是否通常被附加到文本;以及
确定通过用所述候选表情符号替换所述文本的部分来修改所述文本,其中所述文本的部分通常被表情符号代替;或者
确定通过将所述候选表情符号附加到所述文本来修改所述文本,其中表情符号通常被附加到所述文本。
8.一种移动计算设备,包括:
存在敏感型显示器;
至少一个处理器;以及
存储器,包括指令,所述指令当由所述至少一个处理器执行时使得所述至少一个处理器:
输出包括多个键的图形键盘以供显示;
基于来自多个键的一个或多个键的选择来确定文本;
至少部分地基于所述文本来预测候选表情符号;
确定是否通过用所述候选表情符号替换所述文本的部分或将所述候选表情符号附加到所述文本来修改所述文本;
基于所述确定,通过用所述候选表情符号替换所述文本的部分或者将所述候选表情符号附加到所述文本来修改所述文本;以及
输出修改的文本以供显示。
9.如权利要求8所述的移动计算设备,其中,所述候选表情符号包括候选表情符号短语,所述候选表情符号短语包括被共同预测为与所述文本的部分相对应的多个表情符号。
10.如权利要求8和9的任何组合所述的移动计算设备,其中,所述指令在被执行时使得所述至少一个处理器:
输出所述候选表情符号以供显示;以及
响应于接收选择所述候选表情符号的手势的指示来修改文本。
11.如权利要求8-10的任何组合所述的移动计算设备,其中使得所述至少一个处理器预测与所述文本的部分相对应的所述候选表情符号的所述指令包括使得所述至少一个处理器执行以下操作的指令:
基于表情训练的语言模型来预测所述候选表情符号。
12.如权利要求11所述的移动计算设备,其中,使得所述至少一个处理器确定是否通过用所述候选表情符号替换所述文本的部分或将所述候选表情符号附加到所述文本来修改所述文本的指令包括使得所述至少一个处理器执行以下操作的指令:
基于所述表情训练的语言模型,确定是否通过用所述候选表情符号替换所述文本的部分或者将所述候选表情符号附加到所述文本来修改所述文本。
13.如权利要求8-12的任何组合所述的移动计算设备,其中,所述指令在执行时使得所述至少一个处理器:
确定所述文本的部分通常是否被特定候选表情符号替换,或者所述特定表情符号通常是否被附加到所述文本;以及
确定通过用所述候选表情符号替换所述文本的部分来修改所述文本,其中所述文本的部分通常被所述特定候选表情符号替换;或者
确定通过将所述候选表情符号附加到所述文本来修改所述文本,其中所述特定表情符号通常被附加到所述文本。
14.一种计算设备,包括用于执行如权利要求1-7的任何组合所述的方法的装置。
15.一种编码有指令的计算机可读存储介质,当所述指令由计算设备的至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1-7的任何组合所述的方法。
CN201680081867.1A 2016-04-20 2016-12-22 键盘内的图标建议 Pending CN108701137A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/133,316 2016-04-20
US15/133,316 US20170308290A1 (en) 2016-04-20 2016-04-20 Iconographic suggestions within a keyboard
PCT/US2016/068399 WO2017184213A1 (en) 2016-04-20 2016-12-22 Iconographic suggestions within a keyboard

Publications (1)

Publication Number Publication Date
CN108701137A true CN108701137A (zh) 2018-10-23

Family

ID=57794389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680081867.1A Pending CN108701137A (zh) 2016-04-20 2016-12-22 键盘内的图标建议

Country Status (4)

Country Link
US (1) US20170308290A1 (zh)
EP (1) EP3403193A1 (zh)
CN (1) CN108701137A (zh)
WO (1) WO2017184213A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046350A (zh) * 2019-04-12 2019-07-23 百度在线网络技术(北京)有限公司 文法错误识别方法、装置、计算机设备及存储介质

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043196B1 (en) 2014-07-07 2015-05-26 Machine Zone, Inc. Systems and methods for identifying and suggesting emoticons
CN105763431B (zh) * 2016-05-06 2019-03-26 腾讯科技(深圳)有限公司 一种信息推送方法、装置及系统
US10831283B2 (en) * 2016-06-02 2020-11-10 Samsung Electronics Co., Ltd. Method and electronic device for predicting a response from context with a language model
US10348662B2 (en) * 2016-07-19 2019-07-09 Snap Inc. Generating customized electronic messaging graphics
US10546061B2 (en) * 2016-08-17 2020-01-28 Microsoft Technology Licensing, Llc Predicting terms by using model chunks
TWI754694B (zh) * 2017-03-21 2022-02-11 香港商阿里巴巴集團服務有限公司 通訊方法及裝置
US11899904B2 (en) * 2017-04-12 2024-02-13 Microsoft Technology Licensing, Llc. Text input system with correction facility
US20190087466A1 (en) * 2017-09-21 2019-03-21 Mz Ip Holdings, Llc System and method for utilizing memory efficient data structures for emoji suggestions
US10453560B2 (en) 2018-01-30 2019-10-22 Perkinelmer Informatics, Inc. Context-aware virtual keyboard for chemical structure drawing applications
KR102456601B1 (ko) * 2018-02-23 2022-10-19 삼성전자주식회사 키보드 레이아웃과 관련된 기능을 제공하기 위한 장치 및 방법
US10726603B1 (en) 2018-02-28 2020-07-28 Snap Inc. Animated expressive icon
US10970329B1 (en) * 2018-03-30 2021-04-06 Snap Inc. Associating a graphical element to media content item collections
US10839143B2 (en) * 2018-06-29 2020-11-17 Dropbox, Inc. Referential gestures within content items
US11106870B2 (en) * 2018-08-28 2021-08-31 International Business Machines Corporation Intelligent text enhancement in a computing environment
CN113366483A (zh) * 2019-02-14 2021-09-07 索尼集团公司 信息处理装置、信息处理方法及信息处理程序
US11170064B2 (en) * 2019-03-05 2021-11-09 Corinne David Method and system to filter out unwanted content from incoming social media data
USD930695S1 (en) 2019-04-22 2021-09-14 Facebook, Inc. Display screen with a graphical user interface
USD914051S1 (en) 2019-04-22 2021-03-23 Facebook, Inc. Display screen with an animated graphical user interface
USD914049S1 (en) 2019-04-22 2021-03-23 Facebook, Inc. Display screen with an animated graphical user interface
USD912693S1 (en) 2019-04-22 2021-03-09 Facebook, Inc. Display screen with a graphical user interface
USD912697S1 (en) 2019-04-22 2021-03-09 Facebook, Inc. Display screen with a graphical user interface
USD913314S1 (en) 2019-04-22 2021-03-16 Facebook, Inc. Display screen with an animated graphical user interface
USD914058S1 (en) 2019-04-22 2021-03-23 Facebook, Inc. Display screen with a graphical user interface
USD913313S1 (en) 2019-04-22 2021-03-16 Facebook, Inc. Display screen with an animated graphical user interface
US10776004B1 (en) * 2019-05-07 2020-09-15 Capital One Services, Llc Methods and devices for providing candidate inputs
US10817142B1 (en) 2019-05-20 2020-10-27 Facebook, Inc. Macro-navigation within a digital story framework
US10757054B1 (en) 2019-05-29 2020-08-25 Facebook, Inc. Systems and methods for digital privacy controls
US11388132B1 (en) * 2019-05-29 2022-07-12 Meta Platforms, Inc. Automated social media replies
USD914739S1 (en) 2019-06-05 2021-03-30 Facebook, Inc. Display screen with an animated graphical user interface
USD912700S1 (en) 2019-06-05 2021-03-09 Facebook, Inc. Display screen with an animated graphical user interface
USD914705S1 (en) 2019-06-05 2021-03-30 Facebook, Inc. Display screen with an animated graphical user interface
USD924255S1 (en) 2019-06-05 2021-07-06 Facebook, Inc. Display screen with a graphical user interface
USD914757S1 (en) 2019-06-06 2021-03-30 Facebook, Inc. Display screen with an animated graphical user interface
USD917533S1 (en) 2019-06-06 2021-04-27 Facebook, Inc. Display screen with a graphical user interface
USD918264S1 (en) 2019-06-06 2021-05-04 Facebook, Inc. Display screen with a graphical user interface
USD916915S1 (en) 2019-06-06 2021-04-20 Facebook, Inc. Display screen with a graphical user interface
WO2021006906A1 (en) * 2019-07-11 2021-01-14 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
WO2021061435A1 (en) 2019-09-27 2021-04-01 Apple Inc. User interfaces for customizing graphical objects
US11082375B2 (en) * 2019-10-02 2021-08-03 Sap Se Object replication inside collaboration systems
US10956295B1 (en) * 2020-02-26 2021-03-23 Sap Se Automatic recognition for smart declaration of user interface elements
US11755661B2 (en) 2020-03-31 2023-09-12 Roche Molecular Systems, Inc. Text entry assistance and conversion to structured medical data
US11775583B2 (en) * 2020-04-15 2023-10-03 Rovi Guides, Inc. Systems and methods for processing emojis in a search and recommendation environment
US11604845B2 (en) 2020-04-15 2023-03-14 Rovi Guides, Inc. Systems and methods for processing emojis in a search and recommendation environment
US11209964B1 (en) 2020-06-05 2021-12-28 SlackTechnologies, LLC System and method for reacting to messages
US11609640B2 (en) * 2020-06-21 2023-03-21 Apple Inc. Emoji user interfaces
US11662886B2 (en) * 2020-07-03 2023-05-30 Talent Unlimited Online Services Private Limited System and method for directly sending messages with minimal user input
GB2598000A (en) 2020-08-08 2022-02-16 Sony Interactive Entertainment Inc Content generation system and method
US11175746B1 (en) * 2020-10-01 2021-11-16 Lenovo (Singapore) Pte. Ltd. Animation-based auto-complete suggestion
US11875133B2 (en) * 2021-02-02 2024-01-16 Rovi Guides, Inc. Methods and systems for providing subtitles
US11593548B2 (en) 2021-04-20 2023-02-28 Snap Inc. Client device processing received emoji-first messages
US11888797B2 (en) * 2021-04-20 2024-01-30 Snap Inc. Emoji-first messaging
US11531406B2 (en) 2021-04-20 2022-12-20 Snap Inc. Personalized emoji dictionary
KR102628773B1 (ko) * 2021-06-21 2024-01-23 주식회사 카카오 이모티콘 추천 방법 및 이모티콘 추천을 제공하는 사용자 단말
KR102652719B1 (ko) * 2021-06-25 2024-03-28 주식회사 카카오 커스텀 키워드를 이용하여 이모티콘을 표시하는 방법 및 사용자 단말
WO2023014352A1 (en) * 2021-08-03 2023-02-09 Google Llc User content modification suggestions at consistent display locations
US11797153B1 (en) * 2022-08-08 2023-10-24 Sony Group Corporation Text-enhanced emoji icons

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183294A (zh) * 2007-12-17 2008-05-21 腾讯科技(深圳)有限公司 表情输入方法及装置
US20080244446A1 (en) * 2007-03-29 2008-10-02 Lefevre John Disambiguation of icons and other media in text-based applications
CN104053131A (zh) * 2013-03-12 2014-09-17 华为技术有限公司 一种文本通讯信息处理方法及相关设备
US20150222617A1 (en) * 2014-02-05 2015-08-06 Facebook, Inc. Controlling Access to Ideograms
CN104933113A (zh) * 2014-06-06 2015-09-23 北京搜狗科技发展有限公司 一种基于语义理解的表情输入方法和装置
CN105389078A (zh) * 2014-09-02 2016-03-09 苹果公司 用于接收用户输入的用户界面

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070896A1 (en) * 2008-08-27 2010-03-18 Symb , Inc Symbol Based Graphic Communication System
US20130159919A1 (en) * 2011-12-19 2013-06-20 Gabriel Leydon Systems and Methods for Identifying and Suggesting Emoticons
US20150100537A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
US11025565B2 (en) * 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244446A1 (en) * 2007-03-29 2008-10-02 Lefevre John Disambiguation of icons and other media in text-based applications
CN101183294A (zh) * 2007-12-17 2008-05-21 腾讯科技(深圳)有限公司 表情输入方法及装置
CN104053131A (zh) * 2013-03-12 2014-09-17 华为技术有限公司 一种文本通讯信息处理方法及相关设备
US20150222617A1 (en) * 2014-02-05 2015-08-06 Facebook, Inc. Controlling Access to Ideograms
CN104933113A (zh) * 2014-06-06 2015-09-23 北京搜狗科技发展有限公司 一种基于语义理解的表情输入方法和装置
CN105389078A (zh) * 2014-09-02 2016-03-09 苹果公司 用于接收用户输入的用户界面

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046350A (zh) * 2019-04-12 2019-07-23 百度在线网络技术(北京)有限公司 文法错误识别方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2017184213A1 (en) 2017-10-26
US20170308290A1 (en) 2017-10-26
EP3403193A1 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
CN108701137A (zh) 键盘内的图标建议
US9977595B2 (en) Keyboard with a suggested search query region
EP3479213B1 (en) Image search query predictions by a keyboard
EP3400539B1 (en) Determining graphical elements associated with text
CN108700951B (zh) 图形键盘内的图标符号搜索
US9720955B1 (en) Search query predictions by a keyboard
US10140017B2 (en) Graphical keyboard application with integrated search
CN108205376A (zh) 用于对话的图标符号预测
US20220229548A1 (en) Keyboard Automatic Language Identification and Reconfiguration
US9946773B2 (en) Graphical keyboard with integrated search features
US20190034080A1 (en) Automatic translations by a keyboard
CN108701124A (zh) 预测接下来的字母并在图形键盘的键中显示它们
CN108701123A (zh) 图形键盘的动态键映射

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181023

WD01 Invention patent application deemed withdrawn after publication