CN109564580A - 使用消息交换线程促进有效搜索 - Google Patents
使用消息交换线程促进有效搜索 Download PDFInfo
- Publication number
- CN109564580A CN109564580A CN201680085782.0A CN201680085782A CN109564580A CN 109564580 A CN109564580 A CN 109564580A CN 201680085782 A CN201680085782 A CN 201680085782A CN 109564580 A CN109564580 A CN 109564580A
- Authority
- CN
- China
- Prior art keywords
- participant
- message
- message exchange
- thread
- personal assistant
- 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
Links
- 230000004044 response Effects 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims description 46
- 238000013518 transcription Methods 0.000 claims description 18
- 230000035897 transcription Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000003860 storage Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 241000208340 Araliaceae Species 0.000 description 6
- 241001414890 Delia Species 0.000 description 6
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 6
- 235000003140 Panax quinquefolius Nutrition 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 230000000712 assembly Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 235000013305 food Nutrition 0.000 description 6
- 235000008434 ginseng Nutrition 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000021152 breakfast Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 235000020803 food preference Nutrition 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000013549 information retrieval technique Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 235000003563 vegetarian diet Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G06Q50/50—
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
Abstract
提供用于通过下述促进使用消息交换线程的有效搜索的技术:基于对与线程的参与者相关联的个人助理模块可访问的第一消息交换线程的参与者贡献的消息确定第一个消息交换线程的至少第一参与者的属性;由个人助理模块与第一参与者相关联地存储所述属性;基于第一消息交换线程的内容或涉及所述参与者的第二消息交换线程的内容由个人助理模块形成搜索查询;由个人助理模块获取响应于所述搜索查询的内容;以及由个人助理模块将与所述响应内容相关联的消息合并到第一线程或第二线程中。所述搜索查询包括基于第一参与者的所存储的属性选择的项目。
Description
背景技术
个人助理模块是安装在诸如智能电话、平板电脑、车辆导航系统和智能手表的计算设备上的软件过程,以为用户提供用户友好的接口以发布自然语言命令。用户经常使用他们的声音发出自然语言命令,但是个人助理模块也可以响应其他模态,诸如各种形式的文本和/或图像输入。用户可以经由使用各种技术实现的消息交换线程,诸如文本消息、在线聊天(例如,即时消息、互联网中继聊天等)、社交网络线程、交互式语音响应等等与个人助理模块和/或彼此通信。正在进行的消息交换线程可以限于文本、音频或其他数据,诸如由参与者或个人助理模块合并到消息交换线程中的图片。
发明内容
本公开总体上涉及用于促进使用消息交换线程的有效搜索的方法、装置和计算机可读介质(暂时和非暂时性)。例如,方法、装置和计算机可读介质可以确定消息交换线程参与者的属性,并使用这些属性来有效地形成搜索查询或者用于偏置响应于搜索查询而返回的内容(例如,搜索结果)。从以下描述将理解,可以有效地形成搜索查询,因为搜索查询可以自动包括基于存储的一个或多个属性选择的一个或多个项目,从而减少为了手动地提供这些项目而对用户-设备交互(以及相关联的计算资源的支出)的需要。另外,通过包括基于搜索查询中的一个或多个属性选择的一个或多个项目,对于用户细化产生的搜索结果或执行进一步搜索(以及计算资源的相关联的支出)的需求可以被减少。类似地,通过基于属性偏置响应于搜索查询而返回的内容,可以减少与搜索结果的交互量和/或细化(以及计算资源的相关联的支出)。这样,无论属性是否被用于在搜索查询中包括项目或者用于响应于搜索查询的内容的偏置,都可以改进搜索过程的整体效率。
假设用户使用他或她的个人助理模块参与多个对话流程。这些对话也可能包括或不包括其他用户(或“参与者”)。在一个或多个对话中,用户和个人助理模块交换若干消息以努力例如挑选合适的餐馆。在此过程中,用户和/或其他参与者可以隐含地或明确地表达可能适用于将来的类似对话的偏好和选择。例如,参与者可能表示烹饪偏好(“我是素食者”)、成本偏好(“没有太多的花哨”)、时间偏好(“在8点有空”)等等。
在各种实施方式中,可以代表与个人助理模块相关联的参与者来存储这些交互。在一些实施方式中,这些交互可以被解释和/或注释,并且在一些实例中,当对话发生时,与一个或多个参与者的时间和/或位置相关联。此信息稍后能够被用于改进后续的对话流。例如,如果先前表达对法国美食感兴趣的参与者说“我饿了”,则个人助理模块可能会回答:“好的,你还要再次购买法国食品吗?”,并且呈现适当约束的一组选项代替可能以其他方式示出的更广泛的一组替选。这能够通过例如针对相关陈述搜索与个人助理模块相关联的参与者所关联的历史来完成。例如,可以对已经提及烹饪偏好的所有实例执行搜索。然后可以基于各种信号使结果变窄,诸如提及偏好的位置、提及的时间等。例如,如果参与者搜索晚餐选项,则可以使用晚餐消息/偏好喜欢早餐。消息可以类似地缩小范围到先前在其当前位置处或附近陈述的那些消息。例如,参与者的偏好可能在家中与旅行时不同。
在一些实施方式中,个人助理模块可以基于消息交换线程的内容从消息交换线程的内容确定与其相关联的参与者和/或另一参与者的属性。当扩充消息交换线程时,可以为个人助理模块的后续使用存储被确定的属性和/或传送属性的信息。当稍后指示(或以其他方式激励)个人助理模块以向知识系统的一个或多个组件制定和/或提交搜索查询时,可以通过来自消息交换线程的内容(例如,“我们应在哪里吃?”)并且通过基于存储的参与者属性选择一个或多个项目(例如,参与者A先前指示资金短缺,因此形成查询以仅查找中等价格(“$$”)或低价(“$”)餐厅)来形成搜索查询。
另外或可替选地,所存储的参与者属性可以被用于偏置响应内容,而不是形成搜索查询。例如,前述知识系统的一个或多个组件可以在将响应内容返回到客户端设备之前基于所存储的参与者属性来偏置结果。或者,在一些实施方式中,个人助理模块可以基于所存储的参与者属性来偏置其从知识系统接收的响应内容。
作为示例,假设消息交换线程的第一参与者告诉第二参与者(或多个其他参与者),“我不喜欢中国食物”。通过访问(例如,参与)消息交换线程的个人助理模块可以从此陈述中推断线程的至少一个参与者(基于IVR实现中个人助理模块可能或可能不具有在多个参与者之间辨别的能力)不喜欢中国食物。个人助理模块可以存储此属性。在一些中间时间段之后,或者甚至在与相同或类似参与者的后续消息交换线程中,当参与者询问“BOT,附近有什么好的便宜的午餐地点?”时,个人助理模块可以制定排除中国餐馆的搜索查询。另外或可替选地,个人助理模块可以提交专门从参与者的请求在线程中形成的搜索查询,并且然后偏置结果以丢弃与中国餐馆有关的结果或至少将低排名分配给与中国餐馆有关的结果。
在一些实施方式中,可以提供一种方法,其包括下述操作:由一个或多个处理器操作的个人助理模块基于个人助理模块可访问的第一消息交换线程的参与者贡献消息来确定第一消息交换线程的至少第一参与者的一个或多个属性。个人助理模块与第一消息交换线程的参与者相关联,并且该方法还包括:由个人助理模块与第一参与者相关联地存储所述一个或多个属性;至少部分地基于第一消息交换线程的内容或涉及与个人助理模块相关联的参与者的第二消息交换线程的内容由个人助理模块形成搜索查询。搜索查询还包括基于第一参与者的所存储的一个或多个属性选择的一个或多个项目,并且该方法还包括:由个人助理模块响应搜索查询获取内容;以及由个人助理模块将与响应内容相关联的一个或多个消息合并到第一消息交换线程或第二消息交换线程中。
本文公开的此方法和技术的其他实施方式均可以可选地包括以下特征中的一个或多个。
在一些实施方式中,与个人助理模块相关联的参与者是第一参与者。
在一些实施方式中,个人助理模块与第一消息交换线程中的与第一参与者不同的第二参与者相关联。
在一些实施方式中,合并包括与响应内容相关联的一个或多个消息的经由一个或多个扬声器的可听地渲染作为计算机生成的语音。
在一些实施方式中,合并包括在显示器上可视地渲染与响应内容相关联的一个或多个图形元素。
在一些实施方式中,合并包括请求由第一消息交换线程或第二消息交换线程的至少一个参与者操作的至少一个消息交换客户端将一个或多个图形元素插入到第一消息交换线程或第二消息交换线程的转录中。转录被显示在至少一个消息交换客户端的图形用户接口中,并且一个或多个图形元素与响应内容相关联。在这些实施方式中的一些实施方式中,一个或多个图形元素包括:传达响应内容的文本和/或传达响应内容的一个或多个图像。
在一些实施方式中,参与者贡献的消息从第一消息交换线程的一个参与者被引导到另一个参与者。在这些实施方式中的一些实施方式中,确定包括基于参与者贡献的消息推断一个或多个属性。
在一些实施方式中,一个或多个属性包括第一用户的偏好。
在一些实施方式中,形成包括:形成搜索查询以捕获与一个或多个属性相关的搜索结果。
在一些实施方式中,形成包括:形成搜索查询以排除与一个或多个属性相关的搜索结果。
在一些实施方式中,可以提供一种方法,其包括下述操作:基于个人助理模块可访问的第一消息交换线程的参与者贡献的消息,确定第一个消息交换线程的至少第一个参与者的一个或多个属性。个人助理模块与第一消息交换线程的第二参与者相关联,并且该方法还包括:与第一参与者相关联地存储所述一个或多个属性;从第一消息交换线程的内容或涉及第二参与者的第二交换线程的内容形成搜索查询;响应于搜索查询获得多个项目。至少部分地基于一个或多个属性来分配多个项目排名,并且方法还包括:至少部分地基于排名将与多个项目相关联的一个或者多个消息选择性地合并到第一消息交换线程或者第二消息交换线程中。
本文公开的此方法和技术的其他实施方式均可以可选地包括下述特征中的一个或多个。
在一些实施方式中,选择性地合并包括经由一个或多个扬声器将与响应内容相关联的一个或多个消息的可听渲染作为计算机生成的语音。
在一些实施方式中,选择性地合并包括在显示器上的与响应内容相关联的一个或多个图形元素的视觉渲染。
在一些实施方式中,选择性地合并包括请求由第一或第二消息交换线程的至少一个参与者操作的至少一个消息交换客户端将一个或多个图形元素插入到第一或第二消息交换线程的转录中。转录被显示在至少一个消息交换客户端的图形用户接口中,并且一个或多个图形元素与多个项目相关联。在这些实施方式中的一些实施方式中,一个或多个图形元素包括传达一个或多个消息的文本和/或传达一个或多个消息的一个或多个图像。
在一些实施方式中,可以提供一种方法,其包括下述操作:基于至少第一和第二参与者之间的第一消息交换线程的参与者贡献消息,确定第一参与者的一个或多个属性;与第一参与者相关联地存储所述一个或多个属性;至少部分地基于第一消息交换线程的内容或涉及第二参与者的第二消息交换线程的内容形成搜索查询,其中搜索查询还包括基于存储的第一个参与者的一个或多个属性选择的一个或多个项目;获取响应于搜索查询的内容;以及向第二参与者提供与响应内容相关联的数据。
其他实施方式可以包括非暂时性计算机可读存储介质,其存储可由处理器执行以执行诸如上述方法中的一个或多个的方法的指令。又一实施方式可以包括含存储器和一个或多个处理器的系统,该处理器可操作以执行存储在存储器中的指令,以实现单独或共同执行诸如在上面所描述的方法中的一个或多个的方法的一个或多个模块或引擎。
应理解,本文更详细地描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开结尾处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1图示根据各种实施方式的可以将一个或多个图形元素合并到消息交换线程中的环境。
图2、图3、图4和图5各自描绘根据各种实施方式的确定消息交换线程参与者的属性并稍后使用那些属性的示例。
图6描绘图示根据各种实施方式的确定消息交换线程参与者的属性并且稍后使用那些属性的示例方法的流程图。
图7示意性地描绘计算机系统的示例架构。
具体实施方式
图1图示适合于确定消息交换线程参与者的属性并且稍后使用那些属性的环境。示例环境包括多个客户端设备106I-N和知识系统102。知识系统102可以在例如通过网络通信的一个或多个计算机中实现。知识系统102是信息检索系统的示例,在其中可以实现本文描述的系统、组件和技术,并且/或者本文描述的系统、组件和技术可以与之对接。
用户可以经由客户端设备106与知识系统102交互。每个客户端设备106可以是通过诸如局域网(LAN)或诸如互联网的广域网(WAN)的一个或多个网络110耦合到知识系统102的计算机。每个客户端设备106可以是例如,桌面计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、参与者的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立语音命令设备,或参与者的可佩戴式装置,其包括计算设备(例如,具有计算设备的参与者的手表、拥有计算设备参与者的眼镜)。可以提供附加的和/或可替代的客户端设备。参与者可能将要操作可以或可以不被参与者拥有,并且可以或可以不与参与者的在线账户相关联的多个计算设备,所述多个计算设备共同形成计算设备的协调“生态系统”。然而,为了简洁起见,本公开中描述的示例将集中于操作单个客户端设备106的参与者。
每个客户端设备106可以操作各种不同的应用,例如消息交换客户端107和/或个人助理模块109。消息交换客户端107可以以各种形式出现。在一些实施方式中,消息交换客户端107可以以短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端、在线聊天客户端(例如,即时消息、互联网中继聊天、或“IRC”等)、与社交网络相关联的消息传递应用、被用于与个人助理模块109通信的接口等的形式出现。在一些实施方式中,消息交换客户端107可以在由web浏览器(未描绘)渲染的网页内实现。在各种情况下,由消息交换线程的参与者操作的两个客户端设备106可以运行不同的消息交换客户端107,尽管如此,不同的消息交换客户端107也促进使用公共通信协议的通信。例如,客户端设备1061可以具有由安装的一个供应商分发的一个SMS应用,并且客户端设备106N可以具有由安装的另一个供应商分发的另一个SMS应用。
如背景技术中所述,个人助理模块109可以采用安装在给定客户端计算设备106上的软件过程的形式,以为用户提供用户友好的接口以发布自然语言命令。可以通过各种激励,诸如用户说出被选择以激活个人助理模块109的一个或多个代码字,调用或“唤醒”个人助理模块109。在这里描述的各种实施方式中,用户可以在消息交换线程中,例如,使用语音输入、文本输入等与个人助理模块109通信。此外,个人助理模块109可以参与消息交换线程,该消息交换线程涉及在多个客户端设备106上操作并由多个参与者控制的多个消息交换客户端107。例如,并且如下面将更详细描述的,个人助理模块109可以响应于由一个或多个参与者贡献给消息交换线程的一个或多个消息自动选择内容并将其合并到消息交换线程中。
客户端设备106和知识系统102中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及促进通过网络进行通信的其他组件。由客户端设备106和/或知识系统102执行的操作可以分布在多个计算机系统上。知识系统102可以被实现为例如在通过网络彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。
在各种实施方式中,知识系统102可以包括消息交换引擎120、一个或多个个人助理引擎122、索引引擎124、信息引擎128、排名引擎134和替选查询建议引擎136。在一些实施方式中,可以省略引擎120、122、124、128、134和/或136中的一个或多个。在一些实施方式中,可以组合引擎120、122、124、128、134和/或136中的一个或多个的全部或方面。在一些实施方式中,引擎120、122、124、128、134和/或136中的一个或多个可以在与知识系统102分离的组件中实现。在一些实施方式中,引擎120、122、124、128、134和/或136的一个或多个、或其任何操作部分可以在由客户端设备106执行的组件中实现。
在各种实施方式中,消息交换引擎120可以被配置成促进在由多个参与者控制的多个客户端设备106上操作的多个消息交换客户端107之间的消息交换线程。在一些实施方式中,消息交换引擎120可以维护消息的全局“转录”,并且其他内容参与者在消息交换线程中彼此交换。如本文所使用的,“转录”可以指的是由消息交换线程中的一个或多个参与者交换和/或查看的文本、图像、声音和/或小程序的实时记录。在一些实施方式中,当参与者交谈时,可以实时或近实时地更新消息交换线程的转录。在单个参与者与个人助理模块109通信的场景中,转录可以由个人助理模块109本地维护和/或由个人助理引擎122远程维护。
在各种实施方式中,个人助理引擎122可以包括用于例如使用依赖于可以存储在索引123中的各种在线声学/语言、语法和/或动作模型的基于语音的查询处理器来处理语音输入的补充功能。将会理解,在一些实施方式中,特别是因为大多数客户端设备106是资源受限的设备,个人助理引擎122可以实现比每个客户端设备106本地更复杂和计算资源密集的语音处理功能。应进一步理解,当在此将动作描述为由个人助理模块109执行时,可以或者也可以不包括由个人助理引擎122执行的动作的一个或多个方面。
在一些实施方式中,可以采用多个个人助理引擎122,每个个人助理引擎122充当一个或多个个人助理模块109的在线对应物。例如,在一些实施方式中,可以配置用户生态系统中的每个客户端设备106以操作与用户相关联的个人助理模块109的实例(例如,配置有用户的偏好、与相同的交互历史相关联等)。取决于用户当时正在操作哪个设备,个人助理模块109的单个以用户为中心的在线实例可以访问个人助理模块109的这些多个实例中的每一个。
在一些实施方式中,可以支持在线和离线功能两者,例如,使得每当客户端设备106与在线服务通信时使用在线功能,而当不存在连接时使用离线功能。在其他实施方式中,可以将不同的动作或动作域分配给在线和离线功能,并且在其他实施方式中,仅当离线功能不能充分地处理特定的语音输入时,可以使用在线功能。然而,在其他实施方式中,可以不使用补充的在线功能。
在各种实施方式中,个人助理模块109和/或个人助理引擎122可以存储供以后使用的参与者之间交换的消息和/或从这些消息中获知的关于参与者的属性。例如,个人助理模块109可以将其已经访问(例如,被涉及)的消息交换线程中的一个或多个参与者的一个或多个属性存储在相应的客户端设备106本地的存储器中。个人助理引擎122可以在索引123中存储其已经访问(例如,经由消息交换引擎120被涉及等)的消息交换线程中的一个或多个参与者的一个或者多个属性。另外或可替选地,个人助理模块109和/或个人助理引擎122可以例如在索引123中存储消息本身。在一些实施方式中,这些消息可以例如以时间戳、消息被贡献给消息交换线程的位置、消息的主题等等来注释。这些被存储的消息和注释(或视情况而定的元数据)可以稍后用于改进参与者和他/她的个人助理模块109之间的对话流,并且/或者改进多个参与者(包括与个人助理模块109相关联的参与者)之间的对话。
索引引擎124可以维护索引126以供知识系统102使用。例如,使用传统和/或其他索引技术,索引引擎124处理文档并更新索引126中的索引条目。例如,索引引擎124可以抓取诸如万维网的一个或多个资源并且对经由这种抓取访问的文档编索引。作为另一示例,索引引擎124可以从诸如控制这些文档的web主控器的一个或多个资源接收与一个或多个文档有关的信息,并基于这样的信息对文档编索引。文档是与文档地址关联的任何数据。文档包括网页、文字处理文档、便携式文档格式(PDF)文档、图像、电子邮件、日历条目、视频和Web订阅源,仅举几例。每个文档可以包括内容,例如:文本、图像、视频、声音、嵌入信息(例如,元信息和/或超链接);和/或嵌入指令(例如,诸如JavaScript的ECMAScript实现)。
信息引擎128可以维护另一索引130,其包括或促进对非文档特定信息的访问以供知识系统102使用。例如,知识系统102可以被配置成响应于似乎搜寻特定信息的搜索查询而返回信息。如果参与者搜寻“Ronald Reagan的生日”,则知识系统102可以例如从信息引擎128接收日期,“1911年2月6日”。此信息可以作为从索引引擎124接收的文档分离的搜索结果的一部分返回给参与者。在各种实施方式中,索引130本身可以包含信息,或者其可以链接到一个或多个其他信息源,诸如在线百科全书、历书等。在各种实施方式中,索引126或索引130可以包括查询(或查询项)与文档和/或信息之间的映射。
在本说明书中,术语“数据库”和“索引”将被广泛使用以指代数据的任何集合。数据库和/或索引的数据不需要以任何特定方式构造,并且能够被存储在一个或多个地理位置中的存储设备上。因此,例如,索引123、126和130可以包括数据的多个集合,每个数据集合可以被不同地组织和访问。
例如,使用传统和/或其他信息检索技术,排名引擎134可以使用索引126和/或130以响应于搜索查询来识别文档和其他信息。例如,使用一个或多个排名信号,排名引擎134可以计算文档的分数和被识别为响应于搜索查询的其他信息。每个排名信号可以提供关于文档或信息本身的信息、文档或信息与搜索查询之间的关系、和/或文档或信息与执行搜索的参与者之间的关系。
替选查询建议引擎136可以使用一个或多个信号和/或其他信息,诸如替选查询建议的数据库(未被描绘)和/或关于客户端设备106的用户的信息(例如,搜索历史、GPS位置、用户属性),以生成替选查询建议以伴随任何搜索结果提供给客户端设备106。当用户键入搜索查询的连续字符时,替选查询建议引擎136可以识别可能产生对用户有用的结果的替选查询。例如,假设客户端设备106位于芝加哥,并且已键入字符“restaur”。替选查询建议引擎136可以基于指示客户端设备106在芝加哥的位置信号和指示用户对具有现场音乐的餐馆的偏好的搜索历史信号,建议查询“芝加哥的具有现场音乐的餐馆。”作为另一示例,对于已经键入“Ronald Reagan的生”的用户,替选查询建议引擎136可以例如使用诸如前缀匹配的技术确定和建议诸如“Ronald Reagan的生日”、“Ronald Reagan的出生地”、“RonaldReagan的生育控制位置”等等的替选查询。替选查询建议引擎136也可以提供其他建议,诸如部分形成的搜索查询的拼写校正版本。
在各种实施方式中,客户端设备106和/或知识系统102的各种组件,诸如个人助理模块109、消息交换引擎120和/或个人助理引擎122,可以被配置成基于第一消息交换线程的参与者贡献的消息确定第一消息交换线程的至少第一参与者的一个或多个属性。在一些实施方式中,至少一个个人助理模块109与第一消息交换线程的参与者相关联,尽管这不是必须的。然后这些组件中的一个或多个可以例如在客户端设备106本地的索引123和/或存储器中与第一参与者相关联地存储所述一个或多个属性。
稍后,在相同的第一消息交换期间或在涉及至少一些相同参与者的第二消息交换期间,这些组件中的一个或多个可以至少部分地基于当前消息交换线程的内容形成搜索查询。在各种实施方式中,搜索查询还可以包括基于所存储的第一参与者的一个或多个属性而选择的一个或多个项目。
然后可以例如从索引引擎124、信息引擎128、或甚至从客户端设备106本地获得响应于搜索查询的内容(例如,SMS/MMS历史、日历条目、照片、视频、游戏、提醒等等)。然后,例如,可以通过个人助理模块109、消息交换引擎120、消息交换客户端107或个人助理引擎122将与响应内容相关联的一个或多个消息合并到当前消息交换线程中。在各种实施方式中,响应于搜索查询的内容可以进一步包括从替选查询建议引擎136返回的替选查询建议。在一些实施方式中,可以在提供给消息交换引擎120之前通过排名引擎134对响应于搜索查询的内容进行排名。
基于响应于搜索查询的内容,与响应内容相关联的各种项目可以被合并在当前消息交换线程中,诸如图形元素(单词、图像、动画、小应用)、声音等。通过消息交换线程中的一个或多个参与者,例如,在与描绘正在进行的消息交换线程的转录的消息交换客户端107相关联的图形用户接口上,或者作为可听输出(例如,来自个人助理模块109的计算机生成的语音),所合并的项目可以是感知的。
可以以各种方式将项目合并到多个消息交换客户端107之间的消息交换线程中。在一些实施方式中,消息交换引擎120、个人助理引擎122或个人助理模块109可以请求参与消息交换线程的至少一个消息交换客户端107将与响应内容相关联的一个或多个图形元素插入到在至少一个消息交换客户端107的图形用户接口中显示的正在进行的消息交换线程的转录中。在一些场景中,图形元素可以合并到由多于一个消息交换客户端107渲染的转录中,诸如在由参与消息交换线程的所有消息交换客户端107渲染的转录中。在一些实施方式中,消息交换引擎120可以简单地向消息交换客户端107提供响应内容,然后消息交换客户端107可以选择要合并在消息交换线程中的内容。
可以将各种类型的图形元素合并到消息交换线程中。在一些实施方式中,一个或多个图形元素可以包括传达响应于使用本文描述的技术制定的搜索查询的信息的文本。除了文本之外或替代文本,在各种实施方式中,合并到消息交换线程中的一个或多个图形元素可以包括响应于搜索查询传达内容的一个或多个图像。
在许多情况下,响应于搜索查询的信息可能过于笨重(例如,太长、太多细节等)而不能在不中断对话的流程的情况下可行地合并到消息交换线程。在这种情况下,可以选择总响应信息的子集(即,可以摘录总响应信息)以合并到线程中。该子集可以包括例如从一个或多个响应文档(例如,N个排名最高的文档)中提取的文本/图像的片段,和/或由信息引擎128提供的信息。
在一些实施方式中,消息交换引擎120和/或个人助理引擎122可以选择子集(或摘录响应信息)以合并到消息交换线程中。在其他实施方式中,消息交换引擎120和/或个人助理引擎122可以向客户端设备106的一个或多个组件提供综合响应信息,并且那些客户端设备组件可以执行摘录。例如,在一些实施方式中,消息交换客户端107和/或个人助理模块109可以基于主机客户端设备106的屏幕大小来摘录信息。在一些实施方式中,可以选择前N个搜索结果以合并到消息交换线程中。可以基于例如屏幕尺寸、参与者偏好等来选择N,或者可以手动选择N(例如,N可以设置为五、十、二、一等)。
在各种实施方式中,是否文本或图像被合并到消息交换线程中,图形元素可以链接到响应于搜索查询的一个或多个电子文档,使得参与者仅需要选择要被指向新资源(例如,显示信息的网络浏览器)的图形元素。在一些实施方式中,一个或多个图形元素可以链接到安装在操作至少一个消息交换客户端107的客户端设备106上的响应于搜索查询的应用。例如,如果参与者输入消息交换线程“男孩,我肯定可以去Frank吃晚餐”,则与位置Frank相关的一个或多个图形元素可以例如通过消息交换引擎120被合并到消息交换线程中。一个或多个图形元素可以是可选择的,以在客户端设备106上打开可专门操作以创建在Frank的位置预订的一个应用,和/或可操作以显示Frank的地图和/或方向的另一个应用。
在一些实施方式中,响应于从消息交换线程的内容提取的查询,可以将一个或多个图形元素合并到基于从替选查询建议引擎136接收的信息生成的消息交换线程中。例如,假设参与者开始操作她的消息交换客户端107以提出问题“谁是美国的第18任总统?”在参与者已经完成问题之前,也就是说,在键入下述字符——“谁是8”——之后,可以将她的部分键入的问题提交给知识系统102。知识系统102可以从替选查询建议引擎136中获得是参与者当前正在键入的内容的潜在完成版本的一个或多个替选查询建议。响应于接收这些完成的版本,客户端设备106可以渲染作为消息交换客户端107的图形用户接口的一部分的一个或多个图形元素,诸如按钮,参与者能够选择来完成她的查询。例如,参与者可能会看到以下两个按钮出现:“谁是美国的第8任总统?”和“谁是美国的第18任总统?”在一些实施方式中,在参与者选择替选查询建议并且在线程中显示所选择的自动文本之后,可以例如通过替选查询建议引擎136提供一个或多个后续问题,诸如“该总统任期在哪些年?”或者“该总统最显着的成就是什么?”在例如参与者关于历史测验其他人(例如作为学习会话的一部分)的情况下,可以向参与者提供诸如对应于这些后续问题的按钮的可选择的图形元素。
在一些实施方式中,知识系统102可以具有例如作为信息引擎128和/或另一组件的一部分的所谓知识库,其包含已知实体(例如,人、地点、事物)和已知实体之间的关系的记录。在一些实施方式中,这样的知识库可以例如在索引130中实现为其中节点表示实体并且边表示实体之间的关系的图,尽管这不是必须的。在一些这样的实施方式中,例如,响应于使用本文描述的技术形成的搜索查询,可以使得关于来自这种知识库的实体的信息可用于知识系统102的各种组件。
在一些实施方式中,例如,通过消息交换引擎120和/或信息引擎128,可以使用知识库,以识别在两个或更多个参与者之间交换的一个或多个消息中提及的第一实体,作为消息交换线程的一部分。然后可以将响应于与实体相关的搜索查询的信息合并到消息交换线程中。假设用户提到特定电影。一旦在知识库中识别电影,例如,通过个人助理模块109和/或个人助理引擎122,关于电影的各种信息,诸如其关键分数、主要演员、导演等,可以被贡献给消息交换线程。
图2描绘由名为Sven的参与者(称为“你”)操作的示例客户端设备206。客户端设备206包括与在客户端设备206上操作的消息交换客户端(未在图2中具体地描绘)相关联的图形用户接口250。图形用户接口250显示在Sven和另外两个参与者John和Dennis之间的消息交换线程的转录252。图形用户接口250还包括文本输入字段254,Sven能够例如响应于其他两个人的先前陈述使用文本输入字段254将文本或其他内容输入到消息交换线程中。在此示例中,John已经陈述他喜欢和其他一些不参与此消息交换线程的人一起玩“组队战”游戏。Sven(图2中的“你”,因为这是Sven的客户端设备206)回应他不喜欢游戏的流派(例如,“军事”)。然后Dennis问道“真的吗?你最喜欢的流派是什么?”Sven回答“我喜欢幻想/RPG”。
在各种实施方式中,可以存储这些交换的消息中的一个或多个,或者从这些消息确定的关于参与者的属性(例如,存储在索引123中和/或在客户端设备上本地)以供以后使用。例如,Sven可能与诸如“不喜欢军事游戏”、“喜欢幻想游戏”和“喜欢RPG游戏”的属性相关联。John可能与诸如“已经玩了组战队”和“喜欢军事游戏”等属性相关联。稍后,例如通过与Sven(或任何其他参与者)相关联的个人助理模块可以使用这些属性(或消息本身),以改进消息交换线程中的对话流,特别是涉及相同或者相似参与者的消息交换线程。
在图3中描绘这可能发生的示例,其描绘相同三个参与者之间的后续消息交换线程的转录252。John问道其他两位用户在等待延误航班时想做什么。Sven答道“让我们试一下新游戏吧。”Dennis要求提出建议。Sven的个人助理模块(图3中的“PAM”)通过生成用于例如提交到与知识系统102相关联的app服务器的用于建议的游戏的搜索查询来响应。因为Sven建议尝试新游戏,所以可以制定查询(或结果可能被偏置)以排除任何参与者已经玩过的任何游戏,例如“组战队”(John先前已经指示已经玩过)。搜索查询也可能被制定以排除“军事游戏”,因为Sven先前表达对该游戏流派的厌恶。此外,该查询可以被制定以包括和/或向“幻想”和“RPG”游戏分配相对较高的排名,因为Sven之前说他喜欢这些流派。因此,个人助理模块建议多个幻想/RPG游戏,接着是赛车游戏(没有人表达厌恶)。在各种实施例中,响应于搜索结果的内容还可以通过除了诸如流行度、与促使搜索的陈述的相关性等的参与者的属性之外的各种信号来排名。
图4描绘由名为Sven的参与者操作的另一示例客户端设备406。在本示例中,Sven正在与他的个人助理模块(图4中的“PAM”)参与消息交换线程。Sven向他的私人助理模块指示他需要准备晚餐。个人助理模块询问Sven的食物偏好。Sven回答他喜欢法国菜,并且他的女朋友喜欢泰国菜,但不喜欢墨西哥菜。然后个人助理模块使用这些陈述来制定搜索查询,该搜索查询寻求法国/泰国融合食谱的食谱,并返回响应结果。如上所述,这些属性和/或消息可以与Sven和/或他的女朋友相关联地存储以供将来使用。Sven的女朋友可以通过各种方式推断,诸如来自他的社交网络简介和/或来自Sven的明确陈述。
图5再次描绘Sven的客户端设备406,除了这次他正从事于与他的女友Delia的消息交换线程。Sven询问Delia想要为情人节做些什么,Delia回答说:“我们出去吃吧。”Sven询问Delia的建议。Sven的个人助理模块(图5中的“PAM”)通过搜索过去的消息(诸如图4中描绘的那些)和/或存储的Sven和Delia的属性来响应Sven的请求以形成搜索查询。因为搜索查询寻求情人节晚餐的餐馆,所以属于晚餐用餐的过去的消息和/或属性可能特别有用。搜索查询可能会排除墨西哥餐馆,因为Delia不喜欢墨西哥食物,而是提供一些法国/泰国融合餐厅的响应内容作为建议。
个人助理模块不限于使用本文描述的技术以将纯文本消息合并到消息交换线程中,如图3-图5中所描绘的。在各种实施方式中,个人助理模块也可以将其他项目合并到消息交换线程中。例如,在一些基于视觉的实施方式中,个人助理模块可以利用本文描述的技术将可选择的链接(例如,超链接、图标等)合并到消息交换线程中。如上所述,这些可选择链接可以由参与者操作以执行各种功能。在一些实施方式中,可以呈现可选择的链接,其链接到与对话相关的应用。例如,不是简单地建议如图5中所描绘的法国/泰国融合餐馆,而是可以呈现指向那些餐馆的网页的可选择的链接。另外或可替选地,可选择的链接可以是到与对话相关的应用,诸如餐馆预订应用(如果点击,预先填充各种数据点,诸如用餐者的数量)、映射应用(如果点击,则提供到餐馆的方向)等等的链接。例如,在图3的示例中,除了建议的游戏之外或代替建议的游戏,可以提供指向应用安装程序的链接。在一些实施方式中,可选择链接可以包括自动响应,其合并响应于使用本文描述的技术制定的搜索查询的内容。例如,如果一个参与者询问另一个“您预订了什么航班?”,则另一参与者的个人助理模块可以例如从另一参与者的电子邮件获得航班行程信息。然后可以向另一参与者呈现列出她的航班行程的按钮。在选择按钮时,指示另一参与者的航班行程的数据可以自动地合并到线程中。
现在参考图6,描述确定和使用消息交换线程参与者的属性的一个示例方法600。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括各种计算机系统的各种组件,包括这里描述的各种引擎。此外,虽然方法600的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框602处,系统可以基于第一消息交换线程的一个或多个参与者贡献的消息来确定第一参与者的一个或多个属性。例如,可以(例如,以时间戳、位置、贡献该消息的参与者等)注释线程的一个或多个消息。另外或可替选地,可以独立于消息从消息中提取一个或多个属性。在框604处,消息和/或属性可以例如与贡献消息的参与者和/或消息参考的参与者相关联。
在框606处,在相同的第一消息交换线程期间或在随后的第二消息交换线程(即,“当前”消息交换线程)期间,可以至少部分地基于当前的交换线程来制定一个或多个搜索查询。例如,参与者可以向另一参与者或与该线程的一个或多个参与者相关联的个人助理模块提出问题。或者,参与者可以提及与知识库中的实体匹配的实体。可以使用基于在框604处存储的属性选择的一个或多个项目来制定一个或多个搜索查询。例如,如果参与者提到是素食者,则可以定制搜索查询以包括素食餐馆和/或排除牛排餐厅。在各种实施方式中,可以形成多个搜索查询以提交给多个数据源。
在框608处,可以将在框606处形成的一个或多个搜索查询提交给各种源,诸如知识系统102的各种组件和/或由消息交换线程的一个或多个参与者操作的一个或多个客户端设备106,并且可以获得响应内容。在框610处,可以将与响应内容相关联的一个或多个消息合并到当前消息交换线程中。
图7是示例计算机系统710的框图。计算机系统710通常包括至少一个处理器714,其经由总线子系统712与多个外围设备通信。这些外围设备可以包括存储子系统724,包括例如存储器子系统725和文件存储子系统726;用户接口输出设备720、用户接口输入设备722和网络接口子系统716。输入和输出设备允许用户与计算机系统710交互。网络接口子系统716提供到外部网络的接口,并且耦合到其他计算机系统中的相应接口设备。
用户接口输入设备722可以包括键盘;诸如鼠标、轨迹球、触摸板或图形输入板的指示设备;扫描仪;合并到显示器中的触摸屏;诸如语音识别系统的音频输入设备;麦克风和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备和将信息输入计算机系统710或通信网络的方式。
用户接口输出设备720可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板装置、投影装置或用于产生可视图像的一些其他机制。显示子系统还可以提供非可视显示,诸如经由音频输出设备。通常,术语“输出设备”的使用旨在包括所有可能类型的设备和将信息从计算机系统710输出到用户或另一机器或计算机系统的方式。
存储子系统724存储编程和数据构造,其提供本文描述的一些或所有模块的功能。例如,存储子系统724可以包括执行方法600的所选择的方面的逻辑,和/或实现消息交换客户端107、个人助理模块109、消息交换引擎120、个人助理引擎122、索引引擎124、信息引擎128、排名引擎134和/或替选查询建议引擎136中的一个或多个。
这些软件模块通常由处理器714单独执行或与其他处理器组合执行。存储子系统724中使用的存储器725可以包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)730和其中存储固定指令的只读存储器(ROM)732。文件存储子系统726能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统726存储在存储子系统724中,或者存储在处理器714可访问的其他机器中。
总线子系统712提供用于使计算机系统710的各种组件和子系统按预期彼此通信的机制。虽然总线子系统712被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算机系统710能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图7中描绘的计算机系统710的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算机系统710的许多其他配置可能具有比图7中描绘的计算机系统更多或更少的组件。
在这里描述的系统收集关于用户的个人信息(或者如本文中经常提到的“参与者”)或者可以利用个人信息的情况下,可以向用户提供控制是否程序或者特征收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,某些数据可以在存储或使用之前以一种或多种方式处理,使得移除个人可识别信息。例如,可以处理用户的身份,使得不能为用户确定个人可识别信息,或者可以概括获得地理位置信息(诸如,城市、邮政编码或州级)的用户的地理位置,使得无法确定用户的特定地理位置。因此,用户可以控制如何收集关于用户和/或使用的信息。
虽然本文已描述和说明若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文中所描述的一个或多个优点的各种其他装置和/或结构,并且这些变化和/或修改中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用或应用。本领域的技术人员将认识到或能够使用不超过常规的实验确定对本文所述具体实施方式的许多等效物。因此,要理解,前述实施方式仅作为示例呈现,并且在所附权利要求及其等效物的范围内,可以以不同于具体描述和主张的方式实践实施方式。本公开的实施方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。
Claims (20)
1.一种计算机实现的方法,包括:
由一个或多个处理器操作的个人助理模块基于对所述个人助理模块可访问的第一消息交换线程的参与者贡献的消息,确定所述第一消息交换线程的至少第一参与者的一个或多个属性,其中所述个人助理模块与所述第一消息交换线程的参与者相关联;
由所述个人助理模块与所述第一参与者相关联地存储所述一个或多个属性;
至少部分地基于所述第一消息交换线程的内容或涉及与所述个人助理模块相关联的所述参与者的第二消息交换线程的内容,由所述个人助理模块形成搜索查询,其中所述搜索查询还包括基于所述第一参与者的所存储的一个或多个属性选择的一个或多个项目;
由所述个人助理模块获取响应于所述搜索查询的内容;以及
由所述个人助理模块将与所述响应内容相关联的一个或多个消息合并到所述第一消息交换线程或所述第二消息交换线程中。
2.根据权利要求1所述的计算机实现的方法,其中,与所述个人助理模块相关联的所述参与者是所述第一参与者。
3.根据权利要求1所述的计算机实现的方法,其中,所述个人助理模块与所述第一消息交换线程中的与所述第一参与者不同的第二参与者相关联。
4.根据任意前述权利要求所述的计算机实现的方法,其中,所述合并包括:经由一个或多个扬声器可听地渲染与所述响应内容相关联的所述一个或多个消息作为计算机生成的语音。
5.根据权利要求1至3中的任意一项所述的计算机实现的方法,其中,所述合并包括:在显示器上可视地渲染与所述响应内容相关联的一个或多个图形元素。
6.根据权利要求1至3中的任意一项所述的计算机实现的方法,其中,所述合并包括:请求由所述第一消息交换线程或所述第二消息交换线程的至少一个参与者操作的至少一个消息交换客户端将一个或多个图形元素插入到所述第一消息交换线程或所述第二消息交换线程的转录,其中所述转录被显示在所述至少一个消息交换客户端的图形用户接口中,并且其中,所述一个或多个图形元素与所述响应内容相关联。
7.根据权利要求6所述的计算机实现的方法,其中,所述一个或多个图形元素包括传达所述响应内容的文本。
8.根据权利要求6或7所述的计算机实现的方法,其中,所述一个或多个图形元素包括传达所述响应内容的一个或多个图像。
9.根据任意前述权利要求所述的计算机实现的方法,其中,所述参与者贡献的消息从所述第一消息交换线程的一个参与者被引导到另一个参与者。
10.根据权利要求9所述的计算机实现的方法,其中,所述确定包括:基于所述参与者贡献的消息推断所述一个或多个属性。
11.根据任意前述权利要求所述的计算机实现的方法,其中,所述一个或多个属性包括所述第一用户的偏好。
12.根据任意前述权利要求所述的计算机实现的方法,其中,所述形成包括:形成所述搜索查询以捕获与所述一个或多个属性相关的搜索结果。
13.根据权利要求1至11中的任意一项所述的计算机实现的方法,其中,所述形成包括:形成所述搜索查询以排除与所述一个或多个属性相关的搜索结果。
14.一种包括存储器和一个或多个处理器的系统,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器操作个人助理模块,所述个人助理模块被配置成:
基于对所述个人助理模块可访问的第一消息交换线程的参与者贡献的消息,确定所述第一消息交换线程的至少第一参与者的一个或多个属性,其中所述个人助理模块与所述第一消息交换线程的第二参与者相关联;
与所述第一参与者相关联地存储所述一个或多个属性;
从所述第一消息交换线程的内容或涉及所述第二参与者的第二交换线程的内容形成搜索查询;
响应于所述搜索查询获得多个项目,其中所述多个项目至少部分地基于所述一个或多个属性而被分配排名;以及
至少部分地基于所述排名将与所述多个项目相关联的一个或多个消息选择性地合并到所述第一消息交换线程或所述第二消息交换线程中。
15.根据权利要求14所述的系统,其中,所述选择性合并包括:与所述响应内容相关联的所述一个或多个消息经由一个或多个扬声器的可听地渲染作为计算机生成的语音。
16.根据权利要求14所述的系统,其中,所述选择性合并包括:在显示器上与所述响应内容相关联的一个或多个图形元素的视觉渲染。
17.根据权利要求14所述的系统,其中,所述选择性合并包括:请求由所述第一消息交换线程或所述第二消息交换线程的至少一个参与者操作的至少一个消息交换客户端将一个或多个图形元素插入到所述第一消息交换线程或所述第二消息交换线程的转录中,其中所述转录被显示在至少一个消息交换客户端的图形用户接口中,并且其中所述一个或多个图形元素与所述多个项目相关联。
18.根据权利要求17所述的系统,其中,所述一个或多个图形元素包括传达所述一个或多个消息的文本。
19.根据权利要求17所述的系统,其中,所述一个或多个图形元素包括传达所述一个或多个消息的一个或多个图像。
20.一种计算机可读指令,在由一个或多个处理器执行时,使所述一个或多个处理器执行权利要求1至13中的任意一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/157,382 US20170337284A1 (en) | 2016-05-17 | 2016-05-17 | Determining and using attributes of message exchange thread participants |
US15/157,382 | 2016-05-17 | ||
PCT/US2016/068923 WO2017200591A1 (en) | 2016-05-17 | 2016-12-28 | Facilitating efficient searching using message exchange threads |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109564580A true CN109564580A (zh) | 2019-04-02 |
Family
ID=57838523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680085782.0A Pending CN109564580A (zh) | 2016-05-17 | 2016-12-28 | 使用消息交换线程促进有效搜索 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20170337284A1 (zh) |
EP (1) | EP3458977A1 (zh) |
JP (1) | JP6644171B2 (zh) |
KR (1) | KR102226243B1 (zh) |
CN (1) | CN109564580A (zh) |
WO (1) | WO2017200591A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10874949B2 (en) * | 2017-04-17 | 2020-12-29 | Facebook, Inc. | Games tabs in messaging applications |
US10679627B2 (en) * | 2017-07-28 | 2020-06-09 | Bank Of America Corporation | Processing system for intelligently linking messages using markers based on language data |
US20190385251A1 (en) * | 2018-06-14 | 2019-12-19 | International Business Machines Corporation | Cognitive alternate vacation booking |
USD950587S1 (en) | 2018-08-31 | 2022-05-03 | Zoox, Inc. | Display screen or portion thereof having a graphical user interface |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275164A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Intelligent Automated Assistant |
CN103377276A (zh) * | 2012-04-16 | 2013-10-30 | 宏达国际电子股份有限公司 | 在对话期间提供建议的方法以及使用所述方法的电子装置 |
CN103430578A (zh) * | 2010-10-27 | 2013-12-04 | 诺基亚公司 | 用于标识多个字符串中的对话的方法和装置 |
US20140164953A1 (en) * | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for invoking virtual agent |
US20140164312A1 (en) * | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
WO2014093339A1 (en) * | 2012-12-11 | 2014-06-19 | Nuance Communications, Inc. | System and methods for virtual agent recommendation for multiple persons |
US20140195621A1 (en) * | 2013-01-08 | 2014-07-10 | Vmware, Inc. | Intelligent chat system |
US20140317502A1 (en) * | 2013-04-18 | 2014-10-23 | Next It Corporation | Virtual assistant focused user interfaces |
US20150248651A1 (en) * | 2014-02-28 | 2015-09-03 | Christine E. Akutagawa | Social networking event planning |
CN105247511A (zh) * | 2013-06-07 | 2016-01-13 | 苹果公司 | 智能自动化助理 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234492A (ja) * | 2003-01-31 | 2004-08-19 | Nec Software Tohoku Ltd | チャットシステム及び広告提供方法 |
US7363295B2 (en) * | 2004-04-19 | 2008-04-22 | Yahoo! Inc. | Techniques for inline searching in an instant messenger environment |
US8499248B1 (en) * | 2004-04-29 | 2013-07-30 | Paul Erich Keel | Methods and apparatus for managing and exchanging information using information objects |
US7818350B2 (en) * | 2005-02-28 | 2010-10-19 | Yahoo! Inc. | System and method for creating a collaborative playlist |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080201434A1 (en) * | 2007-02-16 | 2008-08-21 | Microsoft Corporation | Context-Sensitive Searches and Functionality for Instant Messaging Applications |
US20080288349A1 (en) * | 2007-02-22 | 2008-11-20 | Weisberg Jonathan S | Methods and systems for online interactive communication |
KR101683083B1 (ko) * | 2011-09-30 | 2016-12-07 | 애플 인크. | 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용 |
US10096316B2 (en) * | 2013-11-27 | 2018-10-09 | Sri International | Sharing intents to provide virtual assistance in a multi-person dialog |
WO2016018039A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for providing information |
-
2016
- 2016-05-17 US US15/157,382 patent/US20170337284A1/en not_active Abandoned
- 2016-12-28 CN CN201680085782.0A patent/CN109564580A/zh active Pending
- 2016-12-28 KR KR1020187034857A patent/KR102226243B1/ko active IP Right Grant
- 2016-12-28 JP JP2018560468A patent/JP6644171B2/ja active Active
- 2016-12-28 WO PCT/US2016/068923 patent/WO2017200591A1/en unknown
- 2016-12-28 EP EP16828871.0A patent/EP3458977A1/en not_active Withdrawn
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275164A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Intelligent Automated Assistant |
CN103430578A (zh) * | 2010-10-27 | 2013-12-04 | 诺基亚公司 | 用于标识多个字符串中的对话的方法和装置 |
CN103377276A (zh) * | 2012-04-16 | 2013-10-30 | 宏达国际电子股份有限公司 | 在对话期间提供建议的方法以及使用所述方法的电子装置 |
US20140164953A1 (en) * | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for invoking virtual agent |
US20140164312A1 (en) * | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
WO2014093339A1 (en) * | 2012-12-11 | 2014-06-19 | Nuance Communications, Inc. | System and methods for virtual agent recommendation for multiple persons |
CN104813311A (zh) * | 2012-12-11 | 2015-07-29 | 纽昂斯通讯公司 | 用于多人的虚拟代理推荐的系统和方法 |
US20140195621A1 (en) * | 2013-01-08 | 2014-07-10 | Vmware, Inc. | Intelligent chat system |
US20140317502A1 (en) * | 2013-04-18 | 2014-10-23 | Next It Corporation | Virtual assistant focused user interfaces |
CN105247511A (zh) * | 2013-06-07 | 2016-01-13 | 苹果公司 | 智能自动化助理 |
US20150248651A1 (en) * | 2014-02-28 | 2015-09-03 | Christine E. Akutagawa | Social networking event planning |
Also Published As
Publication number | Publication date |
---|---|
KR102226243B1 (ko) | 2021-03-10 |
WO2017200591A1 (en) | 2017-11-23 |
JP2019520635A (ja) | 2019-07-18 |
US20170337284A1 (en) | 2017-11-23 |
KR20190003709A (ko) | 2019-01-09 |
EP3458977A1 (en) | 2019-03-27 |
JP6644171B2 (ja) | 2020-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391523B (zh) | 多用户消息交互话题中提供用于与自动化助理交互的建议 | |
US11303590B2 (en) | Suggested responses based on message stickers | |
JP7419485B2 (ja) | 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み | |
JP6776462B2 (ja) | 会議能力を有する自動アシスタント | |
CN107430626B (zh) | 提供建议的基于话音的动作查询 | |
CN107391521B (zh) | 基于消息分类自动扩增消息交换话题 | |
KR102393817B1 (ko) | 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합 | |
JP6942821B2 (ja) | 複数のコーパスからの応答情報取得 | |
CN114556355A (zh) | 抑制助理系统的提醒 | |
JP2017153078A (ja) | 人工知能学習方法、人工知能学習システムおよび返答中継方法 | |
JP2021515938A (ja) | 自動化されたアシスタントによる以前の対話コンテキスト間の遷移 | |
CN109564580A (zh) | 使用消息交换线程促进有效搜索 | |
JP6530573B1 (ja) | メッセージ交換スレッドの拡張 |
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 |