针对用户输入的表情预测的制作方法

文档序号:15615606发布日期:2018-10-09 21:17阅读:124来源:国知局

输入法平台是帮助用户在计算设备上输入文本的计算机应用。输入法平台可以基于用户的输入提供多个候选词。用户的输入和所提供的文本可以是相同语言或者不同语言、例如诸如英文之类的拉丁字符和/或诸如汉字之类的非拉丁字符。用户可以通过选择某个候选词而将该候选词输入到当前活跃的应用。

输入法平台除了提供文本输入功能之外,还可以为用户提供其他类型的输入,诸如表情输入。通过提供表情输入可以增加用户输入内容的趣味性,使得用户可以以来直观的表情来传递期望的信息。表情可以包括各种类型和/或格式的图形表示,例如由ascii码组成的颜文字、图形文件、静态图像、动态图像和短视频等等。这样的表情可以由输入法平台预先设置、由用户自定义和/或从其他来源(例如,各种网站、数据库等)获得。用户可以通过对输入法平台提供的表情的选择来将相应的表情输入到当前活跃的应用。



技术实现要素:

根据本公开的实现,提出了一种由输入法平台提供针对用户输入的表情预测的方案。响应于接收用户输入,动态地确定用户输入与多个预定义表情之间的相关度。至少部分地基于相关度,从多个预定义表情中确定至少一个表情。在输入法平台提供的窗口中呈现至少一个表情以供用户选择。响应于用户对至少一个表情中的表情的选择而将所选择的表情输入目标应用。由此,可以动态地为不同的用户输入预测和呈现多个预定义表情中相关的表情,以方便用户选择和加快表情输入的速度。

提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。

附图说明

图1示出了能够实施本公开的多个实现的计算设备的框图;

图2示出了根据本公开的一个实现的由输入法平台实施的方法的流程图;以及

图3a至图3c示出了根据本公开的一些实现的输入法平台上的表情预测的示例场景的用户界面;

图4示出了根据本公开的一些实现的表情关联的示意图;

图5a至图5c示出了根据本公开的一些实现的表情聚类的示意图;

图6示出了根据本公开的另一些实现的输入法平台上的表情预测的示例场景的用户界面;以及

图7示出了根据本公开的一些实现的针对用户输入的表情预测的过程的流程图。

这些附图中,相同或相似参考符号用于表示相同或相似元素。

具体实施方式

现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。

如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

通常,常规的输入法平台将表情作为表情库存储并且可以经由用户对表情库的选择(例如通过选择输入法平台提供的特定按钮)来将表情库存储的所有表情按照固定顺序呈现给用户。用户需要从呈现的所有表情中识别出期望的特定表情并且然后经由特定用户输入将所识别的表情上屏。这在表情库中的表情数目较多时将降低用户的输入速度。

为了加快用户输入表情的速度,一些常规输入法平台还预先设置和存储一些热门词语与经常与这些词语一起被用户选择或者能够表达与这些词语类似含义的表情之间的映射。在获得用户输入之后,除了在候选词窗口中呈现与用户输入对应的词语之外,还呈现在预定映射表中与该用户输入中包含的词语对应的表情。然而,这样的预定映射通常是固定且有限的(例如有限个词语与有限个表情的映射)。因此,该输入法平台无法为所有的用户输入预先设置与表情的相应映射,并且预先存储过多的表情映射也不利用对有限存储资源的利用。

根据本公开的实现,提供了一种针对用户输入的表情预测的方案。在该方案中,用户输入与预定义表情之间相关度动态地被确定,而无需预先设置有限的特定用户输入与有限表情之间的映射。基于确定的相关度,输入法平台可以仅呈现与用户输入相关度较高的表情的子集,而不呈现其他相关度较低的表情,从而有利于促进用户对期望表情的选择。

以下参考附图来说明本公开的基本原理和若干示例实现。图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。

在一些实现中,计算设备100可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。

处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(cpu)、微处理器、控制器、微控制器。

计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或其某种组合。存储器120可以包括一个或多个输入法模块122,其被配置为执行本文所描述的各种实现的功能。输入法模块122可以由处理单元110访问和运行,以实现相应功能。输入法模块122也可以被称为输入法平台122。

存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

输入设备150可以是一个或多个各种输入设备,例如触摸屏、鼠标、键盘、追踪球、语音输入设备、相机等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。

以下将详细讨论在计算设备100处的输入法平台122上实现的表情预测。

图2示出了根据本公开的一些实现的针对用户输入的表情预测的系统的框图。在一些实现中,该系统可被实现为计算设备100中的输入法平台122。在图2的实现中,当用户期望向目标应用输入文字和/或表情时,用户可以使用输入法平台122进行输入。输入法平台122接收到用户输入之后,基于用户输入来动态地确定预定义表情中相关度较高的表情用于呈现,并且基于用户对所呈现的表情的选择来将所选择的表情输入到目标应用。目标应用是可以由用户输入文字和/或表情的各类应用,包括但不限于各类文本编辑应用、消息传送应用、社交应用等等。

如图2所示,输入法平台122包括相关度分析模块210、表情选择模块220、表情呈现模块230和表情输入模块240。相关度分析模块210接收用户输入并且动态地确定用户输入与多个预定义表情之间的相关度。如本文所使用的,“动态地”指的是响应于接收到的用户输入实时地确定相关度。因此,尽管多个预定义表情可能预先被存储,但是却无需预先存储特定用户输入与预定义表情之间的相关关系(例如映射关系)。这区别于传统方案中在用户输入时仅仅基于有限的映射对用户输入的表情确定。

在输入过程中,用户可以经由输入法平台122提供的用户界面并且经由计算设备100的输入设备(例如键盘或触摸屏)进行输入。取决于所使用的语言,用户输入可以是相应的字符,并且还可以输入其他符号。预定义表情可以包括各种类型和/或格式的图形表示,例如由ascii码组成的颜文字、图形文件、静态图像、动态图像和短视频等等。预定义表情可以由输入法平台预先设置、由用户自定义和/或从其他来源(例如,各种网站、数据库等)获得,并且可以被本地存储在例如存储设备130中以供输入法平台122访问或者可以经由网络搜索而获得。在网络搜索的情况中,输入法平台可以经由网络从各种来源、例如网站和可访问的数据库等获得预定义表情以用于模块210的相关度分析。

通常,预定义表情可以被标注有相应的标识信息(例如标签),用于指示预定义表情的含义。例如,用于表示情绪的预定义表情可以由情绪相关的标签(例如“大笑”、“微笑”、“苦笑”、“悲伤”、“哭泣”等等)。对于诸如静态图片、动态图片或视频之类的表情,也可以用标签或者其他描述性信息来标识这些表情所传达的含义。这些标签和/或描述性信息都被称为表情的标识信息。在确定相关度分析时,相关度分析模块210可以比较用户输入与多个预定义表情的标识信息之间的相关度。因为用户输入通常为文字,因此可以基于用户输入与预定义表情的标识信息之间的语义相似度来衡量相关度。

在一些实现中,如果用户输入是包含多个词语的文字串,相关度分析模块210可以采用分词技术将文字串分割成多个文字子串,并且基于分词的结果确定来确定相关度。相关度分析模块210可以采用各种当前正在使用和将来待开发的分词技术对用户输入的文字串进行分割。这样的分词技术的示例包括但不限于基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法等等。注意,如果在用户输入特定字符以由输入法平台转换为文特定语言的文字的情况中(例如用户通过输入拼音以获得对应的汉字),在分词时可以基于用户直接输入的字符或者经过转换后的文字来进行分词。

例如,如果用户输入对应于“我今天很高兴”,那么通过分词技术可能将这一输入分割为“我”、“今天”和“很高兴”三个文字子串。在获得分词的结果后,相关度分析模块210可以从多个文字子串中选择一个文字子串来与多个预定义表情的标识信息相比较以确定相应的相关度。具体地,相关度分析模块210可以选择所分割的多个文字串中包含表达情感的词语(例如“很高兴”)、具体的名词等具有较大概率与预定义表情相关的文字子串。在另外的实现中,相关度分析模块210可以将每个文字子串都分别与多个预定义表情的标识信息进行比较以确定针对相应文字子串的相关度。

在度量相关度时,可以采用各种能够度量文字差异的手段。在一些实现中,相关度分析模块210可以基于词向量(wordvector)来度量用户输入与预定义表情之间的相关度。在这样的实现中,用户输入的文字串(或所选择的文字子串)可以被向量化为第一向量并且预定义表情的标识信息可以被向量化为第二向量。将文本向量化以获得对应的向量(也被称为词向量)是一种基于深度学习算法的自然语言处理技术,用于将文本符号数字化以便于后续处理。当前已经存在多种词向量化的技术可供采用。然而,本公开的实现在此方面不受限制,将来开发的能够实现词语的向量化的技术也可以被采用。在一些实现中,为了提高实时计算的效率,可以预先定义多个文字串或文字子串的词向量以构成词向量库。相关度分析模块210可以从这些词向量库中获得与用户输入的文字串(或所选择的文字子串)以及预定义表情的标识信息对应的词向量。这样的词向量库可以被本地存储或者存储在计算设备100可访问的远程设备。

相关度分析模块210可以基于用户输入向量化后的第一向量和标识信息向量化后的相应第二向量来确定对应的相关度。例如,可以计算第一向量和第二向量之间的差异以用作对应的相关度。在一个示例中,这样的差异可以由两个向量之间的余弦(cosine)距离标识。

除了基于词向量的相关度度量之外或者作为备选,相关度分析模块210还可以采用其他度量文本相似度的技术。在一个实现中,可以根据用户输入的文本串(或所选择的文字子串)与预定义表情的标识信息之间的编辑距离来确定相关度。编辑距离指的是在两个词语或词组之间,由一个转成另一个所需的最少编辑操作次数。在其他实现中,还可以基于同义词词林来判断用户输入的文本串(或所选择的文字子串)与预定义表情的标识信息之间是否属于相关度较高的同义词。

继续参考图2,由相关度分析模块210确定的相关度被提供给表情选择模块220。表情选择模块220基于相关度从多个预定义表情中确定至少一个表情以供呈现。在本公开的实现中,取代于呈现全部预定义表情从而造成选择困难,输入法平台122通过实时确定的相关度可以选择出相关度较高的表情用于呈现,从而加快了用户选择出期望表情的速度。此外,由于不是基于有限的词语和表情之间的预定映射来确定呈现的表情,输入法平台122可以为更多的用户输入预测出相关表情。

在一个实现中,在选择待呈现的表情时,表情选择模块220可以基于相关度的高低从多个预定义表情中选择预定数目的表情用于呈现。在另外的实现中,表情选择模块220还可以将所确定的相关度与相关度阈值进行比较,以选择相关度高于阈值的表情用于呈现。表情选择模块220选择的表情可以由表情呈现模块230呈现给用户。所选择的表情可以被呈现在输入法平台提供的窗口中。这样的窗口可以是输入法平台提供的候选词窗口和/或专用于显示表情的表情专用窗口。

图3a至图3c示出了一些输入法平台122的用户界面。如图3a所示,用户输入拼音“wohenbugaoxing”310(对应于汉语“我很不高兴”)。输入法平台122返回一些与输入310对应的候选词并且显示在候选词窗口320上。例如,这些候选词可以包括:“我很不高兴”、“我很”、“我恨”、“我”等。此外,输入法平台122还根据以上描述的过程确定待呈现的表情,并且将确定的一个或多个表情呈现在候选词窗口320上。例如,在图3a中,颜文字表情“:[”322被呈现在候选词窗口320中。

在一些实现中,还可以在输入法平台122提供的表情专用窗口中呈现由表情选择模块320确定的表情。例如,可以在输入法平台122的用户界面上设置图标330。通过触发图标330,可以触发表情专用窗口340的呈现。在表情专用窗口340中可以显示由表情选择模块320确定的与用户输入310相关的更多表情。这些表情可以按照相关度排序或者被随机呈现。因此,用户可以仅所显示的相关表情中选择要输入的表情。在另一个示例中,如图3b所示,触发表情专用窗口340的图标330也可以被设置在输入法平台122的工具栏或者系统托盘350上。通过触发图标该图标也能够显示更多的与用户输入310相关的表情。除了设置触发图标来触发表情专用窗口之外,在一些实现中,无需用户触发,表情专用窗口340可以与候选词窗口350一起随着用户的输入而直接被呈现在用户界面上,如图3c所示。

应当理解,图3a至图3c仅示出了一些输入法平台的呈现界面的示例,这些示例无意对本公开的范围做出任何限制。根据本公开的原理,本领域技术人员能够设计许多其他的用户界面呈现的示例用于显示待呈现的表情。例如,由表情选择模块220选择的表情均被呈现在表情专用窗口中或者仅被呈现在候选词窗口中。表情专用窗口还可以以其他方式被用户出发和呈现。

以上讨论了基于相关度确定用于呈现的表情的示例。在一些实现中,由于在确定相关度时分词的不准确性,和/或由于相关度仅以绝对值的形式被指示,从而无法明确体现用户输入与预定义表情之间的正或负相关度,因此仅仅依赖于相关度的值来选择表情可能会造成误差表情被选择或者正确的表情被漏选。例如,在图3c的示例中,通过对用户输入“wohenbugaoxing”310分词并且确定相关度之后,基于相关度选择的候选表情可能包括表示“不高兴”的表情子集342和表示“高兴”的表情子集344。然而,表示“高兴”的表情子集344中的表情显然与用户输入310相违背,属于误差表情预测,因此希望不被呈现。此外,由于相关度算法的不准确性,预定义表情中有些表情的标识信息可能被计算为与用户输入的相关度较低,但是在含义上与用户输入较为相近并且因此希望被包括在用于呈现的表情中。

为了进一步优化待呈现的表情,在一些实现中,除了相关度之外,表情选择模块220还可以基于预定的表情关联202来确定待呈现的一个或多个表情。表情关联202指示多个预定义表情中在含义上相对的表情。可以基于预定义表情的标识信息来确定这些表情本身的含义。图4示出了表情关联202的一个示例。如图4所示,在表情关联202中,在列402中每一行指示的表情与在列404的相应行指示的表情在含义上是相反的(例如,含义为“微笑”的表情与含义为“悲伤”的表情是一对相反表情)。类似地,在列406中每一行指示的表情与在列408的相应行指示的表情在含义上是相反的。除了表达情绪的表情之外,表情关联202还可以指示在其他方面含义相反的表情。例如,含义为“热”的表情可以与含义为“冷”的表情构成一对相反的表情。应当理解,虽然在图4的示例中,表情关联202被示出为用表格的形式存储含义相反的表情,在其他示例中,表情关联202可以仅指示含义相反的表情对的映射,而不需要存储表情本身。

在选择表情时,表情选择模块220可以首先基于相关度从多个预定义表情中确定多个候选表情。这些候选表情可以是由相关度分析模块210确定的与用户输入的相关度较高的表情。表情选择模块220基于表情关联202确定多个候选表情中是否包括在含义上相对的两个候选表情。例如,在图3c的示例中,假设仅基于相关度确定的候选表情包括如表情专用窗口所列出的那些(但是在该实现中这些表情尚未被呈现给用户)。表情选择模块220确定这些候选表情中的表情子集342与表情子集344在含义上相对,因为表情子集342中的表情均表达“不高兴”的含义而表情344子集中的表情均表达“高兴”的含义。在含义上相对的表情对中,可能仅有一个表情与用户输入正相关(即在含义上匹配),而另一个表情与用户输入负相关(即在含义上不匹配)。因此,表情选择模块220可以仅选择与用户输入在含义上匹配的候选表情而排除另一个候选表情。

表情选择模块220可以基于对用户输入的语法分析来确定具有相反含义的一对候选表情中哪个表情与用户输入在含义上匹配。由于含义相对的表情均被选作候选表情的情况通常发生在用户输入具有否定含义的情况中,因此表情选择模块220可以采用各种语法分析技术来确定用户输入中是否包含的带有否定意义的词语。在中文中,这样的否定含义的词语可以包括“不”、“勿”、“否”、“非”、“否”、“莫”、“没有”、“缺少”等等。除了明确的否定词之外,在一些情况中还可以通过用户输入的上下文来理解用户输入中是否包含带有否定意义的词语。例如,如果用户输入包含双重否定的词语,虽然其中包括本身为否定含义的词语,但是不认为用户输入包含的带有否定意义的词语。上述这些对用户输入的分析均可以通过各种已有的语法分析技术(例如正则语法分析)来实现。当然,今后开发的适当语法分析技术可以被采用。

如果确定用户输入带有否定意义,表情选择模块220可以选择含义相反的一对候选表情中与否定含义匹配的候选表情用于呈现。在图3a至图3c的示例中,可以选择候选表情子集342而排除表情子集344。否则,如果用户输入中不存在否定意义的词语,则选择含义相反的一对候选表情中与肯定含义匹配的候选表情。

在一些实现中,可以基于预先定义的语法分析模型来确定用户输入是否包含带有否定意义的词语。语法分析模型可以利用文本库来训练,从而使得该模型可以具备将多个或大量词语、词组或文字串向量化成对应词向量的能力。

除了在确定排除含义不匹配的候选表情时采用语法分析技术之外,表情选择模块220还可以将语法分析和相关度结合起来直接选择待呈现的表情。具体地,在从相关度确定模块210获得相关度之后,表情选择模块220可以基于对用户输入的语法分析确定用户输入中是否包含带有否定意义的词语。如果包含带有否定意义的词语(也即如果用户输入总体含义是带有否定含义的),那么可以将相关度确定为与在含义上为否定或负面的表情正相关,而与其他表情负相关。因此,可以将正相关的表情选择为待呈现的表情。

备选地或附加地,在图2的实现中,表情选择模块220还可以基于表情聚类204来在待呈现表情中增加表情,这些表情可能在基于相关度选择时会被排除。表情聚类204被配置为指示预定义表情中在含义上相同或相似的多个表情。可以通过对多个预定义表情进行聚类以确定不同的表情集合。表情聚类204可以指示预定表情中多个表情与相应表情集合的映射。

对于表情的聚类可以基于表情的标识信息,从而使得在含义上相同或相似的表情被划分到同一个表情集合中。在一个示例中,对于表达情绪的表情,可以按照“乐观情绪”来将在含义上表示“微笑”、“大笑”、“捂嘴笑”、“笑哭了”等表情聚类成一个表情集合,如图5a中的表情集合204-1。此外,也可以按照“悲观情绪”来将在含义上表示“悲伤”、“哭泣”、“大哭”、“泪流满面”、“生气”等表情聚类成一个表情集合,如图5b中的表情集合204-2。除了按照情绪聚类之外,也可以按照表情所代表的事物或事件的类别分类。例如,可以将表示各种“甜品”的表情聚类成一个表情集合,如图5c中的表情集合204-3。应当理解,图5a至图5c仅列举了一些表情聚类的示例。在其他示例中,也可以按照其他不同的标准聚类预定义表情。

根据预定的表情集合,在选择待呈现的表情时,表情选择模块220可以首先基于相关度从预定义表情中确定一个或多个候选表情。然而,表情选择模块220还确定每个候选表情是否被包括在特定的表情集合中。如果确定某个候选表情被包括在表情集合中,则将该候选表情和表情集合中包括的其他表情一起确定为待呈现的表情,因为表情集合中的表情均与候选表情在含义上相同或相似。之所以会出现基于相关度无法直接确定在含义上相同或相似的所有表情作为待呈现表情,原因在于相关度的确定方案可能难以保证非常高的准确度。因此,表情选择模块220可以附加地基于表情聚类来增加其他更丰富的表情以供呈现和用户选择。

以上提及了表情选择模块220基于相关度以及还基于表情关联、语法分析和/或表情映射来优化待呈现的表情的多个示例。可以理解的是,表情关联、语法分析和表情映射可以结合起来或者可以单独地使用。图6示出了经优化之后的表情呈现的用户界面。在图6的示例中,基于表情关联202和语法分析,表情选择模块220可以将与用户输入310在含义上不匹配的表情子集344排除掉。此外,基于表情聚类204,表情选择模块220还确定表情子集342中的表情被包括在预定的表情集合204-2中,从而可以将表情集合204-2中的其他表情(例如图6示出的表情子集602)也作为待呈现的表情。经优化后的表情被提供给输入法平台122的表情呈现模块230,用于在输入法平台的表情专用窗口340中呈现给用户。

返回参考图2,在呈现表情之后,输入法平台122的表情输入模块240等待用户对所呈现的表情的选择。如果表情输入模块240接收到用户对待呈现的表情中的表情的选择,则立即将所选择的表情输入目标应用(也被称为“上屏”)。用户可以经由计算设备100的输入设备150(例如触摸屏、鼠标、键盘、追踪球、语音输入设备等)等选择待呈现的表情中的一个或多个表情,实现表情的输入。如以上提及的,目标应用是可以由用户输入文字和/或表情的各类应用,包括但不限于各类文本编辑应用、消息传送应用、社交应用等等。

以上讨论了对用户输入的实时和动态的表情预测的实现。在其他实现中,还可以基于以上提及的方案离线确定与一个或多个特定词语对应的表情。然后,可以将特定词语与表情之间的映射本地存储或存储在可访问的外部设备。当输入法平台122接收到用户输入时,可以基于用户输入与存储的词语之间匹配,将与所匹配的词语对应的表情呈现在输入法平台122的候选词窗口和/或专用表情窗口中。

应当理解,虽然在图3a至图6的示例中仅示出颜文字表情和图形文件的表情,但是这些图示仅是示意性的。根据本公开的实现,不同类型和/或格式的预定义表情均可以被选择、呈现、关联和/或聚类。

图7示出了根据本公开的一些实现的针对用户输入的表情预测的过程700的流程图。该过程700可以由图1的计算设备100实现,例如可以被实现在计算设备100的输入法平台122中。在710,计算设备100响应于接收用户输入,动态地确定用户输入与多个预定义表情之间的相关度。在720,计算设备100至少部分地基于相关度,从多个预定义表情中确定至少一个表情。在730,计算设备100在输入法平台提供的窗口中呈现至少一个表情以供用户选择。在740,计算设备100响应于用户对至少一个表情中的表情的选择而将所选择的表情输入目标应用。

在一些实现中,确定至少一个表情包括:基于相关度从多个预定义表情中确定多个候选表情;基于预定的表情关联来确定多个候选表情中是否包括在含义上相对的第一候选表情和第二候选表情;以及响应于多个候选表情中包括第一候选表情和第二候选表情,选择与用户输入在含义上匹配的第一候选表情而排除第二候选表情。

在一些实现中,确定至少一个表情包括:基于相关度从多个预定义表情中确定候选表情;以及响应于候选表情被包括在预定表情集合中,将候选表情和预定表情集合中包括的其他表情确定为至少一个表情,预定表情集合中的表情在含义上相同或相似。

在一些实现中,确定至少一个表情包括:进一步基于对用户输入的语法分析,确定用户输入中包含的带有否定意义的词语;以及至少部分地基于用户输入中包含的带有否定意义的词语来确定至少一个表情。

在一些实现中,用户输入包括文本串,并且确定用户输入与多个预定义表情之间的相关度包括:将文本串分割为多个文本子串;以及通过将从多个文本子串中选择的文本子串与标识多个预定义表情的标识信息相比较以确定相关度。

在一些实现中,用户输入包括文本串,并且确定用户输入与多个预定义表情之间的相关度包括:将文本串向量化以获得第一向量;将标识多个预定义表情的标识信息向量化以获得相应的第二向量;以及基于第一向量和相应的第二向量确定相关度。

在一些实现中,窗口包括输入法平台的候选词窗口和表情专用窗口中的至少一个。

在一些实现中,多个预定义表情被本地存储和/或其中多个预定义表情经由网络搜索而获得。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

以下列出了本公开的一些示例实现方式。

在一方面,本公开提供了一种由输入法平台实施的方法,包括:响应于接收用户输入,动态地确定所述用户输入与多个预定义表情之间的相关度;至少部分地基于所述相关度,从所述多个预定义表情中确定至少一个表情;在所述输入法平台提供的窗口中呈现所述至少一个表情以供用户选择;以及响应于用户对所述至少一个表情中的表情的选择而将所选择的表情输入目标应用。

在一些实现中,确定所述至少一个表情包括:基于所述相关度从所述多个预定义表情中确定多个候选表情;基于预定的表情关联来确定所述多个候选表情中是否包括在含义上相对的第一候选表情和第二候选表情;以及响应于所述多个候选表情中包括所述第一候选表情和所述第二候选表情,选择与所述用户输入在含义上匹配的所述第一候选表情而排除所述第二候选表情。

在一些实现中,确定所述至少一个表情包括:基于所述相关度从所述多个预定义表情中确定候选表情;以及响应于所述候选表情被包括在预定表情集合中,将所述候选表情和所述预定表情集合中包括的其他表情确定为所述至少一个表情,所述预定表情集合中的表情在含义上相同或相似。

在一些实现中,确定所述至少一个表情包括:进一步基于对所述用户输入的语法分析,确定所述用户输入中包含的带有否定意义的词语;以及至少部分地基于所述用户输入中包含的带有否定意义的词语来确定所述至少一个表情。

在一些实现中,所述用户输入包括文本串,并且确定所述用户输入与所述多个预定义表情之间的相关度包括:将所述文本串分割为多个文本子串;以及通过将从所述多个文本子串中选择的文本子串与标识所述多个预定义表情的标识信息相比较以确定所述相关度。

在一些实现中,所述用户输入包括文本串,并且确定所述用户输入与所述多个预定义表情之间的相关度包括:将所述文本串向量化以获得第一向量;将标识所述多个预定义表情的标识信息向量化以获得相应的第二向量;以及基于所述第一向量和所述相应的第二向量确定所述相关度。

在一些实现中,所述窗口包括所述输入法平台的候选词窗口和表情专用窗口中的至少一个。

在一些实现中,所述多个预定义表情被本地存储和/或其中所述多个预定义表情经由网络搜索而获得。

在另一方面,本公开提供了一种设备。该设备包括:处理单元;以及存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:响应于接收用户输入,动态地确定所述用户输入与多个预定义表情之间的相关度;至少部分地基于所述相关度,从所述多个预定义表情中确定至少一个表情;在所述输入法平台提供的窗口中呈现所述至少一个表情以供用户选择;以及响应于用户对所述至少一个表情中的表情的选择而将所选择的表情输入目标应用。

在一些实现中,确定所述至少一个表情包括:基于所述相关度从所述多个预定义表情中确定多个候选表情;基于预定的表情关联来确定所述多个候选表情中是否包括在含义上相对的第一候选表情和第二候选表情;以及响应于所述多个候选表情中包括所述第一候选表情和所述第二候选表情,选择与所述用户输入在含义上匹配的所述第一候选表情而排除所述第二候选表情。

在一些实现中,确定所述至少一个表情包括:基于所述相关度从所述多个预定义表情中确定候选表情;以及响应于所述候选表情被包括在预定表情集合中,将所述候选表情和所述预定表情集合中包括的其他表情确定为所述至少一个表情,所述预定表情集合中的表情在含义上相同或相似。

在一些实现中,确定所述至少一个表情包括:进一步基于对所述用户输入的语法分析,确定所述用户输入中包含的带有否定意义的词语;以及至少部分地基于所述用户输入中包含的带有否定意义的词语来确定所述至少一个表情。

在一些实现中,所述用户输入包括文本串,并且确定所述用户输入与所述多个预定义表情之间的相关度包括:将所述文本串分割为多个文本子串;以及通过将从所述多个文本子串中选择的文本子串与标识所述多个预定义表情的标识信息相比较以确定所述相关度。

在一些实现中,所述用户输入包括文本串,并且确定所述用户输入与所述多个预定义表情之间的相关度包括:将所述文本串向量化以获得第一向量;将标识所述多个预定义表情的标识信息向量化以获得相应的第二向量;以及基于所述第一向量和所述相应的第二向量确定所述相关度。

在一些实现中,所述窗口包括所述输入法平台的候选词窗口和表情专用窗口中的至少一个。

在一些实现中,所述多个预定义表情被本地存储和/或其中所述多个预定义表情经由网络搜索而获得。

在又一方面,提供了一种计算机程序产品。所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备:响应于接收用户输入,动态地确定所述用户输入与多个预定义表情之间的相关度;至少部分地基于所述相关度,从所述多个预定义表情中确定至少一个表情;在所述输入法平台提供的窗口中呈现所述至少一个表情以供用户选择;以及响应于用户对所述至少一个表情中的表情的选择而将所选择的表情输入目标应用。

在一些实现中,所述机器可执行指令在由所述设备执行时使所述设备:基于所述相关度从所述多个预定义表情中确定多个候选表情;基于预定的表情关联来确定所述多个候选表情中是否包括在含义上相对的第一候选表情和第二候选表情;以及响应于所述多个候选表情中包括所述第一候选表情和所述第二候选表情,选择与所述用户输入在含义上匹配的所述第一候选表情而排除所述第二候选表情。

在一些实现中,所述机器可执行指令在由所述设备执行时使所述设备:基于所述相关度从所述多个预定义表情中确定候选表情;以及响应于所述候选表情被包括在预定表情集合中,将所述候选表情和所述预定表情集合中包括的其他表情确定为所述至少一个表情,所述预定表情集合中的表情在含义上相同或相似。

在一些实现中,所述机器可执行指令在由所述设备执行时使所述设备:进一步基于对所述用户输入的语法分析,确定所述用户输入中包含的带有否定意义的词语;以及至少部分地基于所述用户输入中包含的带有否定意义的词语来确定所述至少一个表情。

在一些实现中,所述用户输入包括文本串,并且所述机器可执行指令在由所述设备执行时使所述设备:将所述文本串分割为多个文本子串;以及通过将从所述多个文本子串中选择的文本子串与标识所述多个预定义表情的标识信息相比较以确定所述相关度。

在一些实现中,所述用户输入包括文本串,并且所述机器可执行指令在由所述设备执行时使所述设备:将所述文本串向量化以获得第一向量;将标识所述多个预定义表情的标识信息向量化以获得相应的第二向量;以及基于所述第一向量和所述相应的第二向量确定所述相关度。

在一些实现中,所述窗口包括所述输入法平台的候选词窗口和表情专用窗口中的至少一个。

在一些实现中,所述多个预定义表情被本地存储和/或其中所述多个预定义表情经由网络搜索而获得。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1