CN109074547A - 基于消息内容的文本消息排序 - Google Patents

基于消息内容的文本消息排序 Download PDF

Info

Publication number
CN109074547A
CN109074547A CN201680084770.6A CN201680084770A CN109074547A CN 109074547 A CN109074547 A CN 109074547A CN 201680084770 A CN201680084770 A CN 201680084770A CN 109074547 A CN109074547 A CN 109074547A
Authority
CN
China
Prior art keywords
text
insertion point
content
text message
received
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.)
Granted
Application number
CN201680084770.6A
Other languages
English (en)
Other versions
CN109074547B (zh
Inventor
马修·谢里菲
雅各布·尼古劳斯·弗尔斯特
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 CN109074547A publication Critical patent/CN109074547A/zh
Application granted granted Critical
Publication of CN109074547B publication Critical patent/CN109074547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1091Recording time for administrative or management purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

用于在通信应用的图形用户界面(GUI)中基于文本内容对文本消息进行排序的技术可以包括接收文本消息,以及基于接收的文本消息的文本内容确定在GUI中的插入点。在一些实施方式中,确定插入点包括利用语言模型来确定文本消息的文本内容与每个在前文本消息相关联的概率。另外地或替代地,确定插入点包括利用与发送方用户发起接收的文本消息的时间相对应的时间戳。该技术进一步可以包括在GUI的已确定的插入点处显示文本消息。在一些实施方式中,文本消息的显示可以包括,提供对插入在已确定的插入点处所接收的文本消息的主动指示。

Description

基于消息内容的文本消息排序
相关申请的交叉引用
本申请要求2016年5月12日提交的第15/153,191号美国申请的优先权。上述申请的全部公开内容通过引用结合在此。
背景技术
这里提供的背景描述是为了总体上呈现本公开的背景。目前列举的发明人的工作,在本背景技术部分中描述的范围,以及在提交时可能不具备现有技术资格的描述的各方面,既不明确也不暗示地被承认为针对本公开的现有技术。
人们越来越多地利用电子设备通过文本(和非文本)消息彼此通信。这些文本消息可以经由诸如即时消息传递应用、社交网络、公告板或其他消息发布服务/网站的通信应用被关联或传送。在典型的通信应用中,例如,在即时消息传递应用中,文本消息按照接收或发送的顺序呈现给用户。因此,可以对用户发送的特定即时消息进行排序,使得在该特定即时消息的时间之前被发送或接收的即时消息被显示在该特定即时消息的在前位置。此外,在该特定即时消息的时间之后被发送/接收的另外的即时消息被显示在该特定即时消息的后续位置。
发明内容
用于在通信应用的图形用户界面(GUI)中基于文本内容对文本消息进行排序的技术可以包括接收文本消息。该技术还可以包括基于所接收的文本消息的文本内容来确定GUI中的插入点。在一些实施方式中,确定插入点包括利用语言模型来确定文本消息的文本内容与每个在前文本消息相关联的概率。另外地或替代地,确定插入点包括利用与发送方用户发起接收的文本消息的时间相对应的时间戳。该技术进一步可以包括在GUI的已确定的插入点处显示文本消息。在一些实施方式中,文本消息的显示可以包括,提供对插入在已确定的插入点处的所接收的文本消息的主动指示。
还呈现了用于在通信应用的图形用户界面(GUI)中基于文本内容对文本消息进行排序的计算设备。计算设备可以包括一个或多个处理器,和非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有多个指令,当所述指令由所述一个或多个处理器执行时,使所述一个或多个处理器进行操作。
操作可以包括接收文本消息,以及基于所接收的文本消息的文本内容确定GUI中的插入点。在一些实施方式中,确定插入点包括利用语言模型来确定文本消息的文本内容与每个在前文本消息相关联的概率。另外地或替代地,确定插入点可以包括利用与发送方用户发起接收的文本消息的时间相对应的时间戳。操作还可以包括在GUI的确定的插入点处显示文本消息。在一些实施方式中,文本消息的显示可以包括,提供对插入已确定的插入点处的所接收的文本消息的主动指示。
根据下文提供的详细描述,本公开的其他应用领域将变得显而易见。应该理解的是,详细的描述和具体示例仅用于说明的目的,并不旨在限制本公开的范围。
附图说明
从详细描述和附图将更全面地理解本公开,其中:
图1是根据本公开的一些实施方式的示例计算系统的示意图,该示例计算系统包括示例计算设备和示例服务器;
图2是图1的示例计算设备的功能框图;
图3A-3D是根据本公开的一些实施方式的示例图形用户界面的示意图;
图4A-4D是根据本公开的一些实施方式的示例图形用户界面的示意图;和
图5是根据本公开的一些实施方式的用于基于文本内容对文本消息进行排序的示例技术的流程图。
具体实施方式
如上面简要提到的,典型的通信应用利用文本消息的时间(诸如,与消息被发送的时间相对应的发送时间或与消息被接收的时间相对应的接收时间)在通信应用程序的图形用户界面(GUI)中排序文本消息。虽然用户熟悉这种排序方案,但在某些情况中-特别是在短时间内发送和接收多个文本消息的情况下-当新接收的文本消息提到先前的文本消息的时候,这种消息的排序会导致歧义。
以下第一用户和第二用户之间的示例即时消息阐明了典型的消息排序方案会发生的潜在歧义。第一用户在第一时间(时间t)发送第一即时消息,说“我被提供了一份新工作!”。第二用户收到该第一即时消息,然后开始输入第二即时消息“那太棒了!”作为回应。然而,在第二用户发送该第二即时消息之前,第一用户向第二用户发送第三即时消息(在时间t+1),说“我在回家的路上丢失了我的电话”。然后,在时间t+2,第二用户完成输入第二即时消息(“那太棒了!”)并将其发送给第一用户。
在典型的即时消息传递应用中,上述第一、第二和第三即时消息可以按以下顺序显示在消息传递应用的GUI中:
我被提供了一份新工作!
-在时间t来自第一用户的第一即时消息
我在回家的路上丢失了我的电话
-在时间t+1来自第一用户的第三即时消息
那太棒了!
-在时间t+2来自第二用户的第二即时消息
在这个示例中,第二用户的即时消息“那太棒了!”提到的是哪个即时消息,对于第一个用户来说是有歧义的。然而,从即时消息中体现的对话的文本内容来看,可能第二即时消息(“那太棒了!”)提到的是第一即时消息(“我被提供了一份新工作!”)而不是第三即时消息(“我在回家的路上丢失了我的电话。”),正如仅基于即时消息的时间的顺序所暗示的那样。
除了其他方面之外,本公开还涉及文本消息的排序和显示的技术问题。更具体地,本公开涉及用于在即时消息传递应用的GUI中基于即时消息的文本内容显示即时消息的技术。可以分析所接收的即时消息的文本内容以确定在GUI中的插入点,其中每个插入点对应于在前即时消息之后或随后的GUI中的位置。仅举例来说,可以利用语言模型确定所接收的即时消息的文本内容与每个在前即时消息相关联的概率。插入点可以基于该概率本身或与一个或多个其他因素的组合(下面讨论)。
在一些实施方式中,插入点的确定还可以基于与每个即时消息相对应的时间(例如,在时间戳中体现)。仅举例来说,如果接收到的即时消息与特定的在前即时消息之间的时间差大于阈值,则特定的在前即时消息之后的位置不被认为是接收到的即时消息的潜在插入点。可选地或另外地,即时消息的时间戳可以对应于发送方用户发起即时消息的时间(开始键入即时消息,最后编辑即时消息等)。
以此方式,本公开可以提供一个或多个益处,包括但不限于,在通信应用的GUI中更直观且更不歧义地呈现文本消息。为了便于描述,将在发送和接收即时消息的即时消息传递应用的情境中描述本公开的技术。然而,应当理解,本公开涉及用于传送、发布等文本消息的任何类型的通信应用,包括但不限于,即时消息传递应用、社交网络、公告板或其他消息发布服务/网站。
现在参考图1,示出了示例计算系统100的示意图。计算系统100可以被配置为在多个用户之间经由用户的计算设备实现即时消息传递通信网络。根据本公开的一些实施方式,计算系统100可包括经由网络130通信的多个示例计算设备110和示例服务器120。
为了便于描述,在本申请中并且如图1所示,示出和描述了两个示例计算设备110:与发送方用户105s相关联的发送计算设备110s,以及与接收用户105r相关联的接收计算设备110r。然而,应当理解,计算设备110s和110r中的每个都能够发送和接收即时消息,并且因此,取决于情形和正在讨论的特定即时消息,计算设备110s和110r中的每个可以被描述为“发送”计算设备或“接收”计算设备(并且,类似地,“发送”用户或“接收”用户)。
虽然被图示为移动电话(“智能”电话),但是每个计算设备110可以是任何类型的合适的计算设备,诸如台式计算机,平板计算机,膝上型计算机,诸如眼镜,手表,或其他珠宝,或包含计算设备的衣服的可穿戴计算设备。图2中示出了示例计算设备110的功能框图。
计算设备110可以包括通信设备200,一个或多个处理器210,存储器220和显示设备230。处理器210可以控制计算设备110的操作,包括实现本公开的至少一部分技术。这里使用的术语“处理器”旨在表示单个处理器和多个处理器一起操作,例如,在并行或分布式架构中。
通信设备200可以被配置为经由网络130与其他设备(例如,服务器120或其他计算设备110)通信。通信设备200的一个非限制性示例是收发器,但是其他形式的硬件也在本公开的范围内。存储器220可以是被配置为存储信息的任何合适的存储介质(闪存,硬盘等)。例如,存储器220可以存储可由处理器20执行的指令集,该指令集使得计算设备110进行操作,例如,诸如本公开的操作。显示设备230可以向用户105显示信息。在一些实施方式中,显示设备230可以包括触敏显示设备(诸如电容式触摸屏等),但是非触摸显示设备也在本公开的范围内。
应当理解,示例服务器计算设备120可以包括与计算设备110相同或相似的组件,并且因此可以被配置为进行本公开的一些或全部技术,这些技术将在下面更全面地描述。
参考图3A至3D,示出了根据本公开的某些实施方式的示例性计算设备110在执行即时消息传递应用时,示例性计算设备110的显示设备230可以显示的示例GUI300。图示的GUI 300包括即时消息显示部分302和即时消息输入部分304。被发送或接收的即时消息可以显示在即时消息显示部分302中,以及,例如,通过虚拟键盘(未示出)或其他用户输入设备,用户105可以在即时消息输入部分304中提供文本或其他输入。
计算设备110可以接收第一接收即时消息310。在所示的示例中,第一接收即时消息310包括文本内容“我被提供了新的工作!”(参见例如,图3A)并且与“时间t”的时间戳相关联。第一接收即时消息310可以显示在即时消息显示部分302中。与计算设备110相关联的用户105可以读取或以其他方式察觉第一接收即时消息310的文本内容(例如,经由文本到语音功能来听取代表文本内容的音频输出)。
响应于第一接收即时消息310,用户105可以开始向即时消息输入部分304提供用户输入306,该用户输入306包括即时消息的文本内容(“那太棒了!”)。如图3B所示,用户输入306尚未被用户105/计算设备110发送,因此不出现在GUI 300的即时消息显示部分302中。在用户105已提供输入以将用户输入306作为即时消息传送(或“发送”)之前,计算设备110已经接收到第二接收即时消息320,具有时间“t+1”的时间戳的第二接收即时消息320包括文本内容“我在回家的路上丢失了我的电话。”,第二接收即时消息320显示在即时消息显示部分302中。
尽管有第二接收即时消息320,但是用户105仍然希望将用户输入306作为即时消息330发送以响应于第一接收即时消息310。当用户输入306被发送给另一个用户时,计算设备110可以为即时消息330确定最适合于即时消息330的文本内容的插入点340-1,340-2,......340-N(在此统称和单独地称为“插入点340”),如下面进一步描述的
每个插入点340可以对应于在GUI 300中的多个可能位置的特定位置,其中多个位置中的每个位置对应于GUI 300中的在前即时消息之后的位置。仅作为示例,如图3B和3C所示,插入点340-1对应于GUI 300中的在前的即时消息“我被提供了新工作!”310之后的位置,插入点340-2对应于GUI 300中的在前的即时消息“我在回家路上丢失了我的电话”320之后的位置,并且插入点340-3对应于GUI 300中的在前的即时消息“那太棒了!”330之后的位置
在本公开的一些实施方式中,可以分析所接收的即时消息(诸如即时消息330)的文本内容以确定该文本内容与一个或多个在前即时消息(例如,第一和第二即时消息310和320)相关联的概率。可以获得用于每个在前即时消息的概率,例如,通过利用语言模型来确定所接收的即时消息330响应于每个在前即时消息的可能性,和/或通过查看用户开始键入即时消息的时间来与一个或多个的在前即时消息的发布时间比较。
语言模型可以是关于一系列文本(字符,单词,短语等)的概率分布,该概率分布来自训练数据(或基于训练数据“训练”)。在一些实施方式中,基于周围文本(在未知文本前面和/或后面)和训练语言模型的训练数据语料库,语言模型可以将概率分配给一段未知文本(字符,单词,短语等)。可以基于有序的即时消息的语料库来训练语言模型。在一些实施方式中,已经手动地对有序的即时消息的语料库进行排序,使得每个即时消息与它的特定的在前消息相关联(或可以被认为是响应于特定的在前消息)。这种对标记的训练语料库或集合的使用可以称为监督学习过程。
在其他实施方式中,有序的即时消息的语料库包括未被手动排序或被以其他方式操纵的即时消息,并且即时消息仅通过与即时消息相关联的时间来排序(“未标记的”训练语料库或集合)。尽管这样的未标记数据可能包含一些不准确的数据(例如,不是响应于在前的即时消息或不是以其他方式与在前的即时消息相关联的即时消息),但是不准确数据的数量是对语言模型没有害处(或具有如此微小影响)的数量,这样学习的语言模型足以达到预期目的。在其他实施方式中,可以基于标记和未标记数据的组合来训练语言模型。
一旦确定了所接收的即时消息330的插入点340,计算设备110就可以在GUI300中在所确定的插入点(在本示例中,该插入点对应于插入点340-1)显示所接收的即时消息330。参考图3C,在GUI 300中即时消息330在第一接收即时消息310之后且第二接收即时消息320之前显示。以这种方式,即时消息310、320和330可以说是被重新排序的,因为这些即时消息不是以完全基于时间的顺序出现在GUI 300中,像熟悉典型排序方案的用户105可能预期的那样。
向用户105提供主动指示是有益的,该指示为即时消息330已插入到插入点340-1而不是如用户105可能期望的插入在最新即时消息之后。因此,具体参考图3D,计算设备110可以提供即时消息330已经插入到插入点340-1的主动指示335。仅作为示例,如果在第一时间接收到即时消息330,则在已确定的插入点340处显示即时消息330可以包括,当计算设备110在第一时间显示GUI 300并且该已确定的插入点340-1对应于重新排序的位置时提供主动指示335。重新排序的位置可以例如包括GUI 300中除最近的即时消息位置(例如图3B和3C中的340-2)之外的任何位置。
相反,当计算设备110在第一时间没有显示GUI 300时和/或当已确定的插入点340不对应于重新排序的位置时(即,当已确定的插入点对应于最近的即时消息位置340-2时),在已确定的插入点340处显示即时消息330可以包括不提供主动指示335。
主动指示335可以是将重新排序的即时消息330与其他即时消息310和320区分开的任何特别的标记或视觉的标识。主动指示335的示例包括,但不限于,修改重新排序的即时消息330的文本(粗体,斜体,不同颜色等),修改即时消息330的外观(阴影,闪光,闪烁,不同颜色或改变颜色等),在GUI 300中移动即时消息330以指示即时消息330的插入,或这些的组合。其他的主动指示335在本公开的范围内。
在进一步的实施方式中,每个即时消息可以包括时间戳,该时间戳对应于发送方用户105s发起该即时消息的时间。在这种情况下,计算设备110对插入点340的确定可以进一步基于时间戳。仅作为示例,两个即时消息之间的时间差(即,两个即时消息的时间戳之间的差)可以与即时消息彼此关联(一个即时消息响应于另一个即时消息等)的可能性相关。两个即时消息的时间戳之间的大的时间差指示该即时消息不太可能是关联的,以及两个即时消息的时间戳之间的小时间差指示该即时消息更加可能是关联的。
可以进一步利用即时消息的时间戳,例如,将某些插入点从特定的即时消息的候选插入点中排除。仅作为示例,可以利用特定的即时消息(例如,即时消息330)的时间戳来消除对应于稍后的即时消息(例如,即时消息320)之后的位置的插入点,该特定的即时消息的时间戳指示在接收到稍后的即时消息之前该特定的即时消息已被发起但未被发送。可以假设特定的即时消息330(或其至少一部分或片段)在逻辑上不能响应当特定即时消息330被发起时尚未接收的即时消息(320)。如在此进一步描述的,另外或替代地,可以分析特定的即时消息(330)以确定是否将即时消息330划分成片段(例如,语义上明显不同的片段)。即时消息330的划分可以进一步基于即时消息330的时间戳或即时消息330的片段的时间戳(例如,下面描述的片段时间戳)。
发送方用户105s发起即时消息的由时间戳指示的时间可以以数个方式确定。在一些情况下,发送方用户105s发起即时消息的时间可以包括发送方用户105s开始输入文本内容或开始提供用户输入306的开始键入时间。然而,如果发送方用户105s通过删除文本内容的先前输入部分(例如,通过删除先前输入的单词,短语或句子)来修改用户输入306,则发送方用户105s发起即时消息的时间可以代替地包括发送方用户105s在删除文本内容的先前输入部分之后,开始输入文本内容的一部分的修改键入时间。在一些实施方式中,并且如下面更全面地讨论的,发送方用户105s发起即时消息的时间可以代替地包括各自对应于即时消息的多个片段的多个片段时间。在这种情况下,多个片段时间中的每一个对应于它的对应片段被发起的时间。
除了基于时间戳确定插入点340之外或替代地,计算设备110可以分析在不超过一定数量的在前即时消息之后的位置作为即时消息330的潜在插入点340。仅作为示例,当确定即时消息330的插入点340时,计算设备110可以被限制为仅分析先前五个即时消息。
如上面简要提到的,不是将每个即时消息作为整体来分析,而是在一些实施方式中,计算设备110可以分析每个即时消息的文本内容,以确定文本内容是否包括两个或更多个潜在语义上明显不同的片段。在这种情况下,可以分别分析两个或更多个潜在语义上明显不同的片段中的每一个,以确定每个片段对应的片段插入点。
现在参考图4A-4D,示出了根据本公开的某些实施方式的示例性计算设备110在执行即时消息传递应用时,示例性计算设备110的显示设备230可以显示的示例GUI400。图示的GUI 400包括即时消息显示部分402和即时消息输入部分404。被发送或接收的即时消息可以显示在即时消息显示部分402中,以及,例如,通过虚拟键盘(未示出)或其他用户输入设备,用户105可以在即时消息输入部分404中提供文本或其他输入。
计算设备110可以接收第一接收即时消息410。在所示的示例中,第一接收即时消息410包括文本内容“我被提供了新的工作!”(参见例如,图4A).第一接收即时消息410可以显示在即时消息显示部分402中。与计算设备110相关联的用户105可以读取或以其他方式察觉第一接收即时消息410的文本内容(例如,经由文本到语音功能来听取代表文本内容的音频输出)。
响应于第一接收即时消息410,用户105可以开始向即时消息输入部分404提供用户输入406,该用户输入406包括即时消息的文本内容(“那太棒了!”)。如图4B所示,用户输入406尚未被用户105/计算设备110发送,因此不出现在GUI 400的即时消息显示部分402中。在用户105已提供输入以将用户输入406作为即时消息传送(或“发送”)之前,计算设备110已经接收到第二接收即时消息420,第二接收即时消息420包括文本内容“我在回家的路上丢失了我的电话。”,第二接收即时消息420显示在即时消息显示部分402中。
鉴于第二接收即时消息420,用户105可能希望在将用户输入406作为即时消息430发送之前改动用户输入406。如图4B所示,用户105可以通过添加用户输入408“我很遗憾”来修改用户输入406(“那太棒了!”),然后将组合的文本内容作为即时消息430发送。
当即时消息430(包括组合的用户输入406和408)被发送给另一个用户时,计算设备110可以分析文本内容以确定文本内容是否包括两个或更多个潜在的语义上明显不同的片段。当确定即时消息430包括两个或更多个潜在的语义上明显不同的片段(诸如,第一片段430-A和第二片段430-B)时,计算设备110基于潜在的语义上明显不同的片段,可以通过为每个潜在的语义上明显不同的片段430-A和430-B确定片段插入点440,来确定用于即时消息430的插入点440-1,440-2,...440-N(在本文中统称和单独地称为“插入点440”)。
类似于上面讨论的插入点340,每个插入点440可以对应于GUI 400中的多个可能位置的特定位置,其中多个位置中的每一个位置对应于在GUI 400中的在前即时消息(或在前即时消息的片段)之后的位置。仅作为示例,如图4B和4C所示,插入点440-1对应于GUI400中的在前的即时消息“我被提供了新工作!”410之后的位置,插入点440-2对应于GUI400中的在前的即时消息“我在回家路上丢失了我的电话”420之后的位置,插入点440-3对应于GUI 400中的在前的即时消息片段“那太棒了!”430-A之后的位置,以及插入点440-4对应于GUI 400中的在前的即时消息片段“我很遗憾”430-B之后的位置。
在本公开的一些实施方式中,可以分析潜在语义上明显不同的片段(诸如片段430-A)的文本内容以确定该文本内容与一个或多个在前即时消息或片段(例如,第一和第二即时消息410和420)相关联的概率。例如,如上所述,通过利用语言模型,可以获得用于每个在前即时消息/片段的概率。
一旦确定了用于潜在语义上明显不同的片段430-A和430-B中的每一个的插入点440,计算设备110就可以在GUI 400中在所确定的片段插入点440(在本示例中,片段插入点440对应用于潜在语义上明显不同的片段430-A的插入点440-1和用于潜在语义上明显不同的片段430-B的插入点440-2)处显示所接收的即时消息片段430-A和430-B。参考图4C,即时消息430被分成两个即时消息片段430-A和430-B,它们分别在第一接收即时消息410之后和第二接收即时消息420之后在GUI 400中示出。以这种方式,即时消息/片段410,420,430-A和430-B可以说是被重新排序的,因为这些即时消息不是以完全基于时间的顺序出现在GUI400中,像用户105可能预期的那样。
在一些实施方式中,分析即时消息430的文本内容以确定文本内容是否包括两个或更多个潜在语义上明显不同的片段(430-A,430-B)可以包括,分析文本内容以确定文本内容是否包括一个或多个文本分割点。文本分割点可以包括但不限于,特有的标点符号,字符或可以指示语义切换点的单词/短语。文本分割点的示例包括但不限于,句号,感叹号或问号,单词“和”或短语缩写“BTW”(代表“顺便说一下”),或者甚至是字符之间的空的空间。
当文本内容包括一个或多个文本分割点时,计算设备110可以在一个或多个文本分割点处分割文本内容以获得两个或更多个潜在语义上明显不同的部分430-A和430-B。在图示的示例中,文本分割点可以是在“太棒了”之后的“!”,它提供了潜在的语义上明显不同的部分“那太棒了!”430-A和“我很遗憾”430-B。然后,如上所述,用于每个潜在语义上明显不同的片段430-A、430-B的片段插入点440可以被确定。
在进一步的实施方式中,每个潜在语义上明显不同的片段430-A和430-B可以包括时间戳,该时间戳对应于发送方用户105s发起该潜在语义上明显不同的片段的片段时间。在这种情况下,计算设备110对插入点440的确定可以进一步基于时间戳。仅作为示例,两个即时消息/潜在语义上明显不同的片段之间的时间差(即,时间戳之间的差)可以与即时消息/潜在语义上明显不同的片段彼此相关联(一个即时消息或片段是响应另一个即时消息或片段等)的可能性相关。两个即时消息/潜在语义上明显不同的片段的时间戳之间的大的时间差指示该即时消息/片段不太可能是关联的,以及两个即时消息/潜在语义上明显不同的片段的时间戳之间的小时间差指示该即时消息/片段更加可能是关联的。
发送方用户105s发起潜在语义上明显不同的片段的由时间戳指示的片段时间可以以数个方式确定。在一些情况下,发送方用户105s发起潜在语义上明显不同的片段430-A的片段时间可以包括,发送方用户105s开始输入文本内容或提供用户输入406的开始键入时间。然而,如果发送方用户105s通过删除文本内容的先前输入部分(例如,通过删除先前输入的单词,短语或句子)来修改用户输入406,则由发送方用户105s发起的潜在语义上明显不同的片段430-A的片段时间可以代替地包括,发送方用户105s在删除文本内容的先前输入部分之后开始输入文本内容406的一部分的修改键入时间。
向用户105提供主动指示435是有益的,该潜在语义上明显不同的片段430-A已经插入到插入点440-1而不是如用户105可能预期的插入在最新即时消息之后。因此,具体参考图4D,计算设备110可以提供即时消息430-A已经插入到插入点440-1的主动指示435。仅作为示例,如果在第一时间接收到潜在的语义上明显不同的片段430-A,则在已确定的插入点440处显示潜在的语义上明显不同的片段430-A可以包括,当计算设备110在第一时间显示GUI 400并且该已确定的插入点440-1对应于重新排序的位置时,提供主动指示435。重新排序的位置可以例如包括GUI 400中除最近的即时消息位置(例如图4B和4C中的440-2)之外的任何位置。
相反,当计算设备110在第一时间没有显示GUI 400时和/或当已确定的插入点440不对应于重新排序的位置时(即,当已确定的插入点对应于最近的即时消息位置440-2时),在已确定的插入点440-2处显示潜在语义上明显不同的片段430-B可以包括,不提供主动指示435。
如上所述,主动指示435可以是将区别重新排序的潜在语义上明显不同的片段430-A与其他的即时消息410和420以及潜在语义上明显不同的片段(潜在语义上明显不同的片段430-B)区分开的任何特别的标记或视觉的标识。主动指示435的示例包括,但不限于,修改重新排序的潜在明显不同的片段430-A的文本(粗体,斜体,不同颜色等),修改潜在语义上明显不同的片段430-A的外观(阴影,闪光,闪烁,不同颜色或改变颜色等),在GUI400中移动潜在语义上明显不同的片段430-A以指示潜在语义上明显不同的片段430-A的插入,或这些的组合。在图4D所示的例子中,潜在语义上明显不同的片段430-A的文本内容已被修改(加粗),并且潜在语义上明显不同的片段430-A的外观已被修改(阴影)。其他的主动指示435在本公开的范围内。
现在参考图5,示出了用于基于文本内容对即时消息进行排序的示例技术500的流程图。虽然技术500将在下面描述为由计算设备110进行,但是应当理解,技术500可以全部或部分地在另一个或多于一个计算设备和/或以上所描述的服务器120上进行。此外,将在接收即时消息330、430的情境中描述示例技术500。尽管对即时消息330、430进行了描述,但是应当理解,如上所述,这些技术也可以或可替代地应用于潜在语义上较远的片段430-A,430-B。
在510处,计算设备110接收即时消息(诸如即时消息330或430)。可以基于所接收的即时消息(330、430)的文本内容来确定插入点(插入点340或440)。在一些实施方式中,确定插入点340、440可以如上所述地,通过利用语言模型(524)确定即时消息330、430的文本内容与每个在前即时消息(310、320、410、420)相关联的概率的方式来确定。另外地或替代地,并且如本文所讨论的,确定插入点340、440可以通过利用与发送方用户105s发起所接收的即时消息330、430的时间相对应的时间戳(528)的方式来确定。
在530处,该技术进一步可以包括在GUI(300、400)的已确定的插入点(340、440)处显示即时消息(330、430)。在一些实施方式中,即时消息330、430的显示530可以包括,提供对插入在已确定的插入点340、440处的所接收的即时消息330、430的主动指示335、435(在534处)。仅作为示例,如上所述,当-如果在第一时间接收到即时消息330、430-计算设备110在第一时间显示GUI 300、400并且确定的插入点340、440对应于重新排序的位置(GUI 300、400中不是最近的即时消息位置的其他任何位置)时,可以提供主动指示335、435。
提供示例实施例使得本公开详尽,并且将向本领域技术人员充分传达保护范围。许多具体细节,例如具体组件,设备和方法的示例被记载,以提供对本公开的实施例的透彻理解。对于本领域技术人员显而易见的是,不需要采用具体细节,示例实施例可以以许多不同形式实施,并且这些不同形式都不应被解释为限制本公开的范围。在一些示例实施例中,没有详细描述众所周知的过程,众所周知的设备结构和众所周知的技术。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。如这里所使用的,除非上下文另有明确说明,单数形式“一”,“一个”和“该”也可以包括复数形式。术语“和/或”包括一个或多个相关联的列出的项目的任何和所有组合。术语“包含”、“蕴含”、“包括”和“具有”是包含性的,因此指定了记载的特征,整数,步骤,操作,元件和/或组件的存在,但不排除一个或多个其他特征,整数,步骤,操作,元件,组件和/或这些的组的存在,或不排除一个或多个其他特征,整数,步骤,操作,元件,组件和/或这些的组的附加。除非进行顺序被具体地标识,否则本文描述的方法步骤,过程和操作不应被解释为必须要求它们以所讨论或说明的特定顺序进行。还应理解,可以采用另外的或替代的步骤。
尽管这里可以使用术语第一,第二,第三等来描述各种元件,组件,区域,层和/或部分,但是这些元件,组件,区域,层和/或部分不应受这些术语的限制。这些术语可仅用于将一个元件,组件,区域,层或部分与另一个区域,层或部分区分开。除非上下文明确指出,否则本文使用的诸如“第一”,“第二”和其他数字术语的术语不暗示顺序或排序。因此,在不脱离示例实施例的教导的情况下,下面讨论的第一元件,组件,区域,层或部分可以被称为第二元件,组件,区域,层或部分。
如这里所使用的,术语“模块”可以指代,部分的或包括:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码或过程的处理器或处理器与在网络集群或数据中心中的存储的分布式网络(共享,专用或分组);提供所描述功能的其他合适组件;或者,诸如在片上系统中,上述部分或全部的组合。术语“模块”还可以包括存储有由一个或多个处理器执行的代码的存储器(共享的,专用的或分组的)。
如上所使用的术语“代码”可以包括软件,固件,字节代码和/或微代码,并且可以指代程序,例程,函数,类和/或对象。如上所使用的术语“共享的”意味着可以使用单个(共享的)处理器来执行来自多个模块的一些或所有代码。另外,来自多个模块的一些或所有代码可以由单个(共享的)存储器存储。如上所使用的术语“组”意味着可以使用一组处理器来执行来自单个模块的一些或所有的代码。另外,可以使用一组存储器来存储来自单个模块的一些或所有的代码。
这里描述的技术可以由一个或多个处理器执行的一个或多个计算机程序实施。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行的指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器,磁性存储和光学存储。
以上描述的一些部分从对信息的操作的算法和符号表示的角度来呈现本文描述的技术。这些算法描述和表示是数据处理领域的技术人员使用的手段,以便最有效地将他们工作的实质传达给本领域其他技术人员。虽然在功能上或逻辑上描述了这些操作,但应理解为这些操作由计算机程序实施。此外,事实证明,在不失一般性的情况下,将这些操作安排称为模块或功能名称也很方便。
除非另外明确地声明或在上面的讨论中显而易见,否则应理解,在整个说明书中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论指的是计算机系统或类似的电子计算设备的动作和过程,计算机系统或类似的电子计算设备操纵和变换数据,数据被表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理(电子)量。
所描述的技术的某些方面包括以算法的形式在此描述的过程步骤和指令。应当注意,所描述的过程步骤和指令可以体现在软件,固件或硬件中,当体现在软件中时,可以下载以驻留在实时网络操作系统所使用的不同平台上,以及并从实时网络操作系统所使用的不同平台操作。
本公开还涉及用于执行此处操作的装置。该装置可以为所需目的而专门构造,或者该装置可以包括由存储在可由计算机访问的计算机可读介质上的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在有形计算机可读存储介质中,例如但不限于,任何类型的盘,包括软盘,光盘,CD-ROM,磁光盘,只读存储器(ROM),随机存取存储器(RAM),EPROM,EEPROM,磁卡或光卡,专用集成电路(ASIC),或适用于存储电子指令的任何类型的介质,并且每个都耦合到计算机系统总线。此外,说明书中提到的计算机可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。
这里给出的算法和操作并非固有地涉及任何特定计算机或其他装置。根据本文的教导,各种通用系统也可以与程序一起使用,或者可以证明构造更专用的装置以执行所需的方法步骤是方便的。对于本领域技术人员来说,各种这些系统所需的结构以及等同的变型是显而易见的。此外,本发明不参考任何特定的编程语言来描述。应当理解,可以使用各种编程语言来实施本公开的在此描述的教导,并且提供用于公开本发明的实现和最佳模式的特定语言的任何参考。
本公开非常适合于使用多种拓扑结构的种类繁多的计算机网络系统。在该领域内,大型网络的配置和管理包括存储设备和计算机,这些存储设备和计算机通过诸如因特网的网络,通信地耦合到不一样的计算机和存储设备。
示例1.一种计算机实施的方法,其特征在于,包括:
在执行通信应用的计算设备接收来自发送方用户的接收的文本消息,所述接收的文本消息包括文本内容;
基于所述文本内容,在所述计算设备确定所述接收的文本消息的插入点,所述插入点对应于所述通信应用的图形用户界面中的多个可能位置的特定位置,所述多个可能位置中的每一个对应于所述图形用户界面中的在前文本消息随后的位置;
在所述计算设备,在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息。
示例2.根据示例1的计算机实施的方法,其中:
所述接收的文本消息是由所述计算设备在第一时间接收;以及
当(i)所述计算设备在所述第一时间显示所述图形用户界面,以及(ii)所述确定的插入点对应于除最近的文本消息位置之外的重新排序的位置时,在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括:提供对插入在所述插入点处的所述接收的文本消息的主动指示。
示例3.根据示例2的计算机实施的方法,其中,当满足以下中的至少一个时在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括不提供所述主动指示:(i)所述计算设备在所述第一时间不显示所述图形用户界面,以及(ii)所述确定的插入点不对应于所述重新排序的位置。
示例4.根据示例1至3中的一个计算机实施的方法,其中,基于所述文本内容确定所述接收的文本消息的所述插入点包括:
利用语言模型确定所述文本内容与每个在前文本消息相关联的概率;以及
基于所述概率确定所述插入点。
示例5.根据示例1至4中的一个计算机实施的方法,其中:
所述接收的文本消息包括键入时间戳,所述键入时间戳与所述发送方用户发起所述接收的文本消息的时间相对应;
进一步基于所述键入时间戳确定所述接收的文本消息的所述插入点。
示例6.根据示例5的计算机实施的方法,其中,由所述发送方用户发起所述接收的文本消息的所述时间包括:所述发送方用户开始输入所述文本内容的开始键入时间。
示例7.根据示例5或6的计算机实施的方法,其中,由所述发送方用户发起所述接收的文本消息的所述时间包括修改键入时间,所述修改键入时间是所述发送方用户在删除所述文本内容的先前输入部分之后开始输入所述文本内容的一部分的时间。
示例8.根据示例1至7中的一个计算机实施的方法,进一步包括,在所述计算设备分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段,
其中,当所述文本内容包括两个或更多个潜在语义上明显不同的片段时:
确定所述接收的文本消息的所述插入点包括:对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定片段插入点,以及
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息包括:在每个特定的潜在语义上明显不同的片段所对应的片段插入点处显示每个特定的潜在语义上明显不同的片段。
示例9.根据示例8的计算机实施的方法,其中,分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段包括:
分析所述文本内容以确定所述文本内容是否包括一个或多个文本分割点;以及
当所述文本内容包括一个或多个文本分割点时,在所述一个或多个文本分割点处分割所述文本内容,以获得所述两个或更多个潜在语义上明显不同的片段。
示例10.根据示例8或9的计算机实施的方法,其中,对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定所述片段插入点包括:
利用语言模型确定所述特定的潜在语义上明显不同的片段与每个在前文本消息相关联的概率;以及
基于所述概率确定所述片段插入点。
示例11.一种计算设备,其特征在于,包括:
一个或多个处理器;以及
非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有多个指令,当所述指令由所述一个或多个处理器执行时,使所述一个或多个处理器进行操作包括:
执行通信应用;
接收来自发送方用户的接收的文本消息,所述接收的文本消息包括文本内容;
基于所述文本内容,确定所述接收的文本消息的插入点,所述插入点对应于所述通信应用的图形用户界面中的多个可能位置的特定位置,所述多个可能位置中的每一个对应于所述图形用户界面中的在前文本消息随后的位置;
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息。
示例12.根据示例11的计算设备,其中:
所述接收的文本消息是由所述计算设备在第一时间接收;以及
当(i)所述计算设备在所述第一时间显示所述图形用户界面,以及(ii)所述确定的插入点对应于除最近的文本消息位置之外的重新排序的位置时,在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括:提供对插入在所述插入点处的所述接收的文本消息的主动指示。
示例13.根据示例12的计算设备,其中当满足以下中的至少一个时在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括不提供所述主动指示:
(i)所述计算设备在所述第一时间不显示所述图形用户界面,以及
(ii)所述确定的插入点不对应于所述重新排序的位置。
示例14.根据示例11至13中的一个计算设备,其中,基于所述文本内容确定所述接收的文本消息的所述插入点包括:
利用语言模型确定所述文本内容与每个在前文本消息相关联的概率;以及
基于所述概率确定所述插入点。
示例15.根据示例11至14中的一个计算设备,其中:
所述接收的文本消息包括键入时间戳,所述键入时间戳与所述发送方用户发起所述接收的文本消息的时间相对应;
进一步基于所述键入时间戳确定所述接收的文本消息的所述插入点。
示例16.根据示例15的计算设备,其中由所述发送方用户发起所述接收的文本消息的所述时间包括,所述发送方用户开始输入所述文本内容的开始键入时间。
示例17.根据示例15或16的计算设备,其中由所述发送方用户发起所述接收的文本消息的所述时间包括修改键入时间,所述修改键入时间是所述发送方用户在删除所述文本内容的先前输入部分之后开始输入所述文本内容的一部分的时间。
示例18.根据示例11至17中的一个计算设备,进一步包括,在所述计算设备分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段,
其中,当所述文本内容包括两个或更多个潜在语义上明显不同的片段时:
确定所述接收的文本消息的所述插入点包括:对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定片段插入点,以及
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息包括:在每个特定的潜在语义上明显不同的片段所对应的片段插入点处显示每个特定的潜在语义上明显不同的片段。
示例19.根据示例18的计算设备,其中分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段包括:
分析所述文本内容以确定所述文本内容是否包括一个或多个文本分割点;以及
当所述文本内容包括一个或多个文本分割点时,在所述一个或多个文本分割点处分割所述文本内容以获得所述两个或更多个潜在语义上明显不同的片段。
示例20.根据示例18或19的计算设备,其中,对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定所述片段插入点包括:
利用语言模型确定所述特定的潜在语义上明显不同的片段与每个在前文本消息相关联的概率;以及
基于所述概率确定所述片段插入点。
出于说明和描述的目的已经提供了实施例的前述描述。描述并非旨在是穷举或限制本公开。特定实施例的单独的元件或特征通常不限于该特定实施例,而是在适用的情况下,单独的元件或特征可互换并且可以在所选实施例中使用,即使所选实施例没有被具体示出或描述。单独的元件或特征也可以以多种方式变化。不应将这些变型视为脱离本公开,并且所有这些修改旨在包括在本公开的范围内。

Claims (20)

1.一种计算机实施的方法,其特征在于,包括:
在执行通信应用的计算设备接收来自发送方用户的接收的文本消息,所述接收的文本消息包括文本内容;
基于所述文本内容,在所述计算设备确定所述接收的文本消息的插入点,所述插入点对应于所述通信应用的图形用户界面中的多个可能位置的特定位置,所述多个可能位置中的每一个对应于所述图形用户界面中的在前文本消息随后的位置;以及
在所述计算设备,在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息。
2.根据权利要求1所述的计算机实施的方法,其特征在于,
所述接收的文本消息是由所述计算设备在第一时间接收;以及
当(i)所述计算设备在所述第一时间显示所述图形用户界面,以及(ii)所述确定的插入点对应于除最近的文本消息位置之外的重新排序的位置时,在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括:提供对插入在所述插入点处的所述接收的文本消息的主动指示。
3.根据权利要求2所述的计算机实施的方法,其特征在于,当满足以下中的至少一个时在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括不提供所述主动指示:(i)所述计算设备在所述第一时间不显示所述图形用户界面,以及(ii)所述确定的插入点不对应于所述重新排序的位置。
4.根据权利要求1所述的计算机实施方法,其特征在于,基于所述文本内容确定所述接收的文本消息的所述插入点包括:
利用语言模型确定所述文本内容与每个在前文本消息相关联的概率;以及
基于所述概率确定所述插入点。
5.根据权利要求1所述的计算机实施的方法,其特征在于,
所述接收的文本消息包括键入时间戳,所述键入时间戳与所述发送方用户发起所述接收的文本消息的时间相对应;
进一步基于所述键入时间戳确定所述接收的文本消息的所述插入点。
6.根据权利要求5所述的计算机实施的方法,其特征在于,由所述发送方用户发起所述接收的文本消息的所述时间包括:所述发送方用户开始输入所述文本内容的开始键入时间。
7.根据权利要求5所述的计算机实施的方法,其特征在于,由所述发送方用户发起所述接收的文本消息的所述时间包括修改键入时间,所述修改键入时间是所述发送方用户在删除所述文本内容的先前输入部分之后开始输入所述文本内容的一部分的时间。
8.根据权利要求1所述的计算机实施的方法,其特征在于,进一步包括,在所述计算设备分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段,
其中,当所述文本内容包括两个或更多个潜在语义上明显不同的片段时:
确定所述接收的文本消息的所述插入点包括:对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定片段插入点,以及
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息包括:在每个特定的潜在语义上明显不同的片段所对应的片段插入点处显示每个特定的潜在语义上明显不同的片段。
9.根据权利要求8所述的计算机实施的方法,其特征在于,分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段包括:
分析所述文本内容以确定所述文本内容是否包括一个或多个文本分割点;以及
当所述文本内容包括一个或多个文本分割点时,在所述一个或多个文本分割点处分割所述文本内容以获得所述两个或更多个潜在语义上明显不同的片段。
10.根据权利要求9所述的计算机实施的方法,其特征在于,对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定所述片段插入点包括:
利用语言模型确定所述特定的潜在语义上明显不同的片段与每个在前文本消息相关联的概率;以及
基于所述概率确定所述片段插入点。
11.一种计算设备,其特征在于,包括:
一个或多个处理器;以及
非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有多个指令,当所述指令由所述一个或多个处理器执行时,使所述一个或多个处理器进行操作包括:
执行通信应用;
接收来自发送方用户的接收的文本消息,所述接收的文本消息包括文本内容;
基于所述文本内容,确定所述接收的文本消息的插入点,所述插入点对应于所述通信应用的图形用户界面中的多个可能位置的特定位置,所述多个可能位置中的每一个对应于所述图形用户界面中的在前文本消息随后的位置;以及
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息。
12.根据权利要求11所述的计算设备,其特征在于,
所述接收的文本消息是由所述计算设备在第一时间接收;以及
当(i)所述计算设备在所述第一时间显示所述图形用户界面,以及(ii)所述确定的插入点对应于除最近的文本消息位置之外的重新排序的位置时,在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括:提供对插入在所述插入点处的所述接收的文本消息的主动指示。
13.根据权利要求12所述的计算设备,其特征在于,当满足以下中的至少一个时在所述图形用户界面中所述确定的插入点处显示所述接收的文本消息包括不提供所述主动指示:(i)所述计算设备在所述第一时间不显示所述图形用户界面,以及(ii)所述确定的插入点不对应于所述重新排序的位置。
14.根据权利要求11所述的计算设备,其特征在于,基于所述文本内容确定所述接收的文本消息的所述插入点包括:
利用语言模型确定所述文本内容与每个在前文本消息相关联的概率;以及
基于所述概率确定所述插入点。
15.根据权利要求11所述的计算设备,其特征在于,
所述接收的文本消息包括键入时间戳,所述键入时间戳与所述发送方用户发起所述接收的文本消息的时间相对应;
进一步基于所述键入时间戳确定所述接收的文本消息的所述插入点。
16.根据权利要求15所述的计算设备,其特征在于,由所述发送方用户发起所述接收的文本消息的所述时间包括:所述发送方用户开始输入所述文本内容的开始键入时间。
17.根据权利要求15所述的计算设备,其特征在于,由所述发送方用户发起所述接收的文本消息的所述时间包括修改键入时间,所述修改键入时间是所述发送方用户在删除所述文本内容的先前输入部分之后开始输入所述文本内容的一部分的时间。
18.根据权利要求11所述的计算设备,其特征在于,进一步包括,在所述计算设备分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段,
其中,当所述文本内容包括两个或更多个潜在语义上明显不同的片段时:
确定所述接收的文本消息的所述插入点包括:对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定片段插入点,以及
在所述通信应用的所述图形用户界面中确定的插入点处显示所述接收的文本消息包括:在每个特定的潜在语义上明显不同的片段所对应的片段插入点处显示每个特定的潜在语义上明显不同的片段。
19.根据权利要求18所述的计算设备,其特征在于,分析所述文本内容以确定所述文本内容是否包括两个或更多个潜在语义上明显不同的片段包括:
分析所述文本内容以确定所述文本内容是否包括一个或多个文本分割点;以及
当所述文本内容包括一个或多个文本分割点时,在所述一个或多个文本分割点处分割所述文本内容以获得所述两个或更多个潜在语义上明显不同的片段。
20.根据权利要求19所述的计算设备,其特征在于,对于每个特定的潜在语义上明显不同的片段,基于所述特定的潜在语义上明显不同的片段确定所述片段插入点包括:
利用语言模型确定所述特定的潜在语义上明显不同的片段与每个在前文本消息相关联的概率;以及
基于所述概率确定所述片段插入点。
CN201680084770.6A 2016-05-12 2016-12-19 基于消息内容的文本消息排序 Active CN109074547B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/153,191 US9870345B2 (en) 2016-05-12 2016-05-12 Textual message ordering based on message content
US15/153,191 2016-05-12
PCT/US2016/067475 WO2017196396A1 (en) 2016-05-12 2016-12-19 Textual message ordering based on message content

Publications (2)

Publication Number Publication Date
CN109074547A true CN109074547A (zh) 2018-12-21
CN109074547B CN109074547B (zh) 2022-05-31

Family

ID=57681816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680084770.6A Active CN109074547B (zh) 2016-05-12 2016-12-19 基于消息内容的文本消息排序

Country Status (4)

Country Link
US (1) US9870345B2 (zh)
EP (1) EP3455804A1 (zh)
CN (1) CN109074547B (zh)
WO (1) WO2017196396A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018030557A1 (ko) * 2016-08-10 2018-02-15 라인 가부시키가이샤 출력 효과를 제공하는 메신저 서비스 방법, 시스템 및 기록 매체
US10581888B1 (en) * 2017-07-31 2020-03-03 EMC IP Holding Company LLC Classifying software scripts utilizing deep learning networks
US11151616B2 (en) 2019-07-12 2021-10-19 International Business Machines Corporation Contextual information insertion in context with content
KR20230050807A (ko) 2021-10-08 2023-04-17 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2023102762A1 (en) * 2021-12-08 2023-06-15 Citrix Systems, Inc. Systems and methods for intelligent messaging

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263157A1 (en) * 2007-04-18 2008-10-23 Kulvir Singh Bhogal Method and system for ordering instant messages
US20160021033A1 (en) * 2014-07-17 2016-01-21 Lenovo (Singapore) Pte, Ltd. Temporal message ordering
US20160065519A1 (en) * 2014-08-27 2016-03-03 Lenovo (Singapore) Pte, Ltd. Context-aware aggregation of text-based messages

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480696B2 (en) * 2004-01-07 2009-01-20 International Business Machines Corporation Instant messaging priority filtering based on content and hierarchical schemes
US7475110B2 (en) * 2004-01-07 2009-01-06 International Business Machines Corporation Method and interface for multi-threaded conversations in instant messaging
US20060059235A1 (en) * 2004-09-15 2006-03-16 International Business Machines Corporation System and method for multi-threaded discussion within a single instant messenger pane
US20080028027A1 (en) * 2006-07-25 2008-01-31 Jack Jachner Multi-threaded instant messaging
CA2554951A1 (en) * 2006-08-01 2008-02-01 Ibm Canada Limited - Ibm Canada Limitee Systems and methods for clustering data objects
US8250154B2 (en) 2006-12-15 2012-08-21 International Business Machines Corporation Structured archiving and retrieval of linked messages in a synchronous collaborative environment
US8364767B2 (en) 2008-06-11 2013-01-29 International Business Machines Corporation Message processing in a messaging service client device
US9262531B2 (en) * 2010-07-23 2016-02-16 Applied Minds, Llc System and method for chat message prioritization and highlighting
KR20140065075A (ko) 2012-11-21 2014-05-29 삼성전자주식회사 메시지 기반의 대화기능 운용방법 및 이를 지원하는 단말장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263157A1 (en) * 2007-04-18 2008-10-23 Kulvir Singh Bhogal Method and system for ordering instant messages
US20160021033A1 (en) * 2014-07-17 2016-01-21 Lenovo (Singapore) Pte, Ltd. Temporal message ordering
US20160065519A1 (en) * 2014-08-27 2016-03-03 Lenovo (Singapore) Pte, Ltd. Context-aware aggregation of text-based messages

Also Published As

Publication number Publication date
US20170329745A1 (en) 2017-11-16
EP3455804A1 (en) 2019-03-20
CN109074547B (zh) 2022-05-31
WO2017196396A1 (en) 2017-11-16
US9870345B2 (en) 2018-01-16

Similar Documents

Publication Publication Date Title
US11455981B2 (en) Method, apparatus, and system for conflict detection and resolution for competing intent classifiers in modular conversation system
CN109074547A (zh) 基于消息内容的文本消息排序
CN104813275B (zh) 用于预测文本的方法和系统
JP7283067B2 (ja) 通信プラットフォームにおける割り込み会話のデタングル化システムと方法、非構造化メッセージを解析する方法、プログラム、及びコンピュータ装置
US10509531B2 (en) Grouping and summarization of messages based on topics
CN107992596A (zh) 一种文本聚类方法、装置、服务器和存储介质
US20210352059A1 (en) Message Display Method, Apparatus, and Device
US20170109336A1 (en) Annotating text using emotive content and machine learning
EP2774107A1 (en) Email tags
CN105814556B (zh) 语境敏感的输入工具
CN110059241A (zh) 信息查询方法及装置、计算机可读存储介质、电子设备
CN108241464A (zh) 一种显示聊天信息的方法、终端及计算机可读存储介质
US20210377198A1 (en) Method and system for presenting conversation thread
EP2869219A1 (en) Text processing apparatus, text processing method, and computer program product
CN108920649A (zh) 一种信息推荐方法、装置、设备和介质
US9298276B1 (en) Word prediction for numbers and symbols
CN113010255A (zh) 基于捆绑会话组的交互方法、装置和计算机设备
CN107357481A (zh) 消息展示方法及消息展示装置
CN106716308A (zh) 用于输入地理位置名称的输入法编辑器
CN105718492A (zh) 一种信息处理方法及电子设备
CN102404292A (zh) 账号自动匹配方法和系统
CN111756614A (zh) 聊天内容的显示方法和显示系统
WO2024040914A1 (zh) 知识搜索方法及相关设备
AU2013200005B2 (en) Method and apparatus for analyzing abbreviations in a document
CN109669551A (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
GR01 Patent grant
GR01 Patent grant