CN107851092A - 个人实体建模 - Google Patents

个人实体建模 Download PDF

Info

Publication number
CN107851092A
CN107851092A CN201680025098.3A CN201680025098A CN107851092A CN 107851092 A CN107851092 A CN 107851092A CN 201680025098 A CN201680025098 A CN 201680025098A CN 107851092 A CN107851092 A CN 107851092A
Authority
CN
China
Prior art keywords
entity
personal
content
personal entity
recommendation
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
CN201680025098.3A
Other languages
English (en)
Other versions
CN107851092B (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 CN107851092A publication Critical patent/CN107851092A/zh
Application granted granted Critical
Publication of CN107851092B publication Critical patent/CN107851092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

为用于计算设备的个人实体建模提供了系统和方法。例如,移动设备包括至少一个处理器和存储指令的存储器,所述指令在由至少一个处理器执行时使移动设备执行操作,操作包括在所生成的用于在移动设备上显示的内容中识别个人实体、从内容生成针对个人实体的训练示例、以及使用训练示例来更新用于将个人实体建模的嵌入。嵌入可用于作出关于个人实体的预测。例如,操作也可以包括基于嵌入来预测在计算设备上显示的第一个人实体与第二实体之间的关联,并提供将显示在计算设备上的与第二实体相关的推荐。

Description

个人实体建模
相关申请
本申请要求2015年7月29日提交的并且题为“个人实体建模(MODELING PERSONALENTITIES)”的美国申请No.14/812,877的优先权并且是其继续申请,该申请的公开以其整体并入本文。
背景技术
移动设备例如智能手机、可穿戴设备、平板电脑、膝上型计算机等的使用已经增长。通过了解由用户查看的内容和用户的互动,移动设备能够例如为用户提供个性化的预测和辅助。了解内容和互动的一部分涉及将在设备屏幕的内容中认识的实体映射到知识库中的实体。虽然这样的公共知识库可能是庞大的,但它们将缺少用户经常与其互动的许多个人实体。
发明内容
本文中描述的实施在嵌入空间中检测个人实体并将个人实体建模。嵌入空间随时间学习和调整,使得嵌入成为用户的个人知识库的表示。系统能够在由计算设备生成的任何内容,包括移动设备上的屏幕、用户的账户中的电子邮件消息、用户的社交媒体账户中的更新和帖子等中,对实体进行建模。在一些实施例如电子邮件系统中,个人实体的检测可以基于专门识别实体的用户(例如在电子邮件的发送者或接受者地址中)。在一些实施中,系统可以确定给定屏幕上的什么文本可能构成实体。在一些实施中,系统可以跟踪跨应用/屏幕遇到的n元(n-gram),并且当特定的n元频繁出现时,系统可以将n元认为个人实体。当个人实体尚未被建模时,系统可以将实体的名称标准化、为实体分配特征向量的随机的集合、并开始对实体建模。
在对实体建模中,系统可以使用连续词袋(continuous bag of words,CBOW)类训练模型,其中系统相对于特征或特征的集合来预测个人实体。特征能够包括其它个人实体(例如从过去和当前屏幕)、公共实体/主题、实体最常出现的应用等。例如,系统可以训练模型相对于另一实体来预测一个实体(例如Mary和Rob两者都经常被包括在相同的电子邮件流中,或者在通信中常与John讨论足球)。在一些实施中,所捕获的屏幕内容的滑动窗口能够用来提供用于识别在所述窗口中所识别的个人实体和将所识别的个人实体建模的上下文。另外,能够训练所述系统来预测个人顺序,例如用户通常读取电子邮件并然后打开新闻应用。
在本文描述的方面中,一种方法包括:在所生成的用于在移动设备上显示的内容中识别个人实体;从所述内容生成针对个人实体的训练示例;以及使用训练示例来更新用于将个人实体建模的嵌入。个人实体可以是移动设备的用户个人的。所述嵌入可用于做出关于个人实体的预测。
在本文所描述的另一方面中,一种方法包括:在所生成的用于在计算设备上显示的内容中识别第一个人实体,第一个人实体与个人知识库中的嵌入关联,个人知识库与计算设备的用户关联;基于所述嵌入预测第一个人实体和第二实体之间的关联;以及提供与第二实体相关的推荐,所述推荐将显示在所述计算设备上。
在本文所描述的另一方面中,一种方法包括:在所生成的用于在显示设备上显示的内容中识别特征;在将个人实体作为嵌入建模的个人知识库中使用针对个人实体的嵌入来识别由所述特征所预测的个人实体;以及提供与个人实体相关的推荐,所述推荐将显示在所述显示设备上。
在本文所述的另一方面中,计算系统包括至少一个处理器和存储指令的存储器,所述指令在由至少一个处理器执行时使计算系统执行所公开的方法、操作或过程中的任何一个。
在本文所描述的另一方面中,体现在计算机可读存储设备上的计算机程序产品包括指令,所述指令在由在基板中形成的至少一个处理器执行时使计算设备执行所公开的方法、操作或过程中的任何一个。本文描述的另一总体方面包括一种用于训练预测模型以对在所生成的用于在计算设备上显示的内容中发现的个人实体建模的系统和/或方法,基本上如结合附图中的至少一个所示出和/或描述的,并且如权利要求书中更完全地阐述。针对个人实体的嵌入考虑上下文,因为当讨论特定主题或执行特定活动等时,所述模型确定特定实体当在特定应用中遇到时的可能性更大。
能够实施本文描述的主题的实施中的一种或多种,以便实现以下优点中的一个或多个。作为一个示例,一旦生成个人实体的建模(例如个人知识库),系统就能够利用它来基于屏幕上的内容来预测词或短语,以识别个人实体的圈子或类别、用最近邻居检索来增强在设备上的搜索、个性化预测(例如基于以前的屏幕上的内容来预测文本消息的接受者,以便当向特定的人发消息等时偏向与特定类别相关的实体等等)、将递送给用户的内容个性化等。利用嵌入作为针对个人实体的表示意味着系统不需要关于涉及实体的关系作出决定,提供了在个人实体的利用中更大的灵活性。在嵌入空间中对每个个人实体建模也使任何分类器能够利用所述嵌入作为针对预测任务的特征。
一种或多种实施的细节在附图和下面的描述中阐述。从描述和附图以及从权利要求书中,其它特征将是显而易见的。
附图说明
图1是示出了根据所公开的主题的示例系统的框图。
图2根据所公开的主题,示出了用于发现和利用个人实体来个性化用户体验的示例过程的流程图。
图3根据所公开的实施,示出了用于将个人实体建模的示例过程的流程图。
图4根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的示例过程的流程图。
图5根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的另一示例过程的流程图。
图6根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的另一示例过程的流程图。
图7根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的另一示例过程的流程图。
图8示出了能够用来实施所描述的技术的计算机设备的示例。
图9示出了能够用来实施所描述的技术的分布式计算机设备的示例。
各附图中的相同附图标记指示相同的元件。
具体实施方式
图1是根据示例实施的个人实体建模系统的框图。系统100可用于检测在所生成的用于在计算设备上显示的内容中的个人(例如非公共)实体,并将所述实体建模为由机器学习推荐引擎使用的嵌入以在计算设备上个性化用户体验。个性化用户体验能够包括预测主题、词或短语,识别相关个人实体的群集(cluster),递送用户的目标内容等。图1中的系统100能够由客户端—服务器系统使用,在服务器170处发生一些数据处理或数据存储。然而,可以使用其它配置和应用。例如,所述数据处理和数据存储能够专门在计算设备110上发生。在一些实施中,计算设备110的用户可以指示所述处理的部分在服务器170处执行。因此,实施不限于所示出的精确配置。
个人实体建模系统100可以包括计算设备110。计算设备110可以是在封闭的移动环境而不是常规的开放的基于web的环境中操作的任何移动计算设备,例如智能电话或其它手持计算设备、平板电脑、可穿戴式计算设备等。计算设备110也可以是其它类型的个人电子计算设备,例如膝上型计算机或基于网络的计算机、台式计算机、具有处理器的电视机等。计算设备110可以是计算机设备800或850的示例,如在图8中所描绘。计算设备110可以是由单个用户使用的计算设备,或者能够是由多个用户共享的计算设备。
计算设备110可以包括在基板中形成的一个或多个处理器,其被配置为执行一个或多个机器可执行指令或软件块、固件块、或其组合。所述处理器能够是基于半导体的,也就是说,所述处理器能够包括能执行数字逻辑的半导体材料。因此,计算设备110可以包括一个或多个计算机存储器,其被配置为临时、永久、半永久或其组合地存储一个或多个数据块。因此,计算设备110可以包括应用120,其以软件、固件或其组合的形式表示机器可执行指令。在应用120中标识的部件可以是操作系统的一部分,或者可以是被开发为利用所述操作系统运行的应用。在一些实施中,应用120可以是移动应用。常规地,移动应用在封闭环境中操作,意味着用户使用单独的应用来执行在基于web的浏览器环境中常规执行的活动。例如,计算设备110的用户能够利用由bookit.com提供的应用120中的移动应用而不是去bookit.com预订宾馆。应用120也可以包括web应用,其可以镜像移动应用,例如提供与移动应用相同或相似的内容。在一些实施中,应用120可以包括由计算设备110的操作系统执行的功能。
应用120可以包括屏幕内容引擎122、个人实体检测引擎124、个人实体建模引擎126和推荐引擎128。在一些实施中,这些应用中的一个或多个能够由计算设备110的操作系统(未示出)提供。在一些实施中,这些应用中的一个或多个能够由用户下载和安装。
屏幕内容引擎122能够包括各种功能。在一些实施中,屏幕内容引擎122可以被配置为从应用程序接口(API)得到在计算设备的屏幕上表示的文本信息。在一些实施中,屏幕内容引擎122可以构建到操作系统中,其能够确定在屏幕上显示的文本域的内容。所述文本信息可以被认为屏幕捕获的内容,并且对API的每次调用或者每次确定文本域的内容都可以被认为是屏幕捕获。在一些实施中,屏幕内容引擎122可以被配置为通过复制或读取设备的帧缓冲器的内容来捕获在屏幕上显示的图像。因此,所捕获的屏幕可以是图像,并且可以被称为所捕获的图像。屏幕内容引擎122可以按间隔捕获屏幕。所述间隔能够小,例如每半秒或每秒。在一些实施中,屏幕内容引擎122可以被配置为在每次触摸事件发生(例如每次用户触摸屏幕来滚动、缩放、点击链接等)时响应于明确的用户请求或命令、或者当设备从一个移动应用转换到另一移动应用时捕获屏幕。在一些实施中,当屏幕没有变化时,屏幕内容引擎122可以增加屏幕捕获发生的间隔。换句话说,当屏幕是静态时,屏幕内容引擎122可以较少捕获图像。
屏幕内容引擎122可以将所捕获的内容或屏幕图像和元数据提供给识别引擎,该识别引擎可以是屏幕内容引擎122的一部分并且位于计算设备110或服务器例如服务器170上。如果向识别引擎提供屏幕捕获图像,则识别引擎可以识别屏幕捕获图像的内容中的词、实体、标志等。因此,识别引擎可以生成所识别的内容,其能够来自词以及来自图像。所述元数据可以包括时间戳、移动设备类型、移动设备标识符、当捕获内容时运行的移动应用,例如提供在屏幕上显示的内容的应用等。在一些实施中,所述元数据也可以包括哪些应用是活动的、设备的位置、环境光、设备的运动等。所述系统可以利用这种附加的设备信息来辅助内容分析(例如实体消歧)、特征生成(例如确定与实体相关联的上下文和环境)等。因此,识别引擎可以被配置为利用常规或后来开发的技术来执行各种类型的识别,例如字符识别、图像识别、标志识别等。
计算设备110也可以包括个人实体检测引擎124。个人实体检测引擎124可以被配置为确定由屏幕内容引擎122识别的哪些实体是潜在的个人实体。实体可以是个人、地点、项目、思想、主题、词、短语、抽象概念、具体要素、其它合适的东西、或这些的任何组合。实体可以存储在知识库中,知识库不仅存储实体,而且存储关于实体的信息。在一些实施中,知识库以实体之间的关系的形式存储关于实体的信息。例如,公共知识库中的实体可以通过表示关系的标记边来彼此相关。知识库,例如公共知识库144或公共知识库184,可以包括公共实体。公共实体是存在于公共可用的知识库、例如知识库184中的实体。所述公共知识库可以从互联网上可用的信息生成,并且可以由一批用户来管理(curate)。这些公共知识库是大的,有时包括数百万个实体。相反,个人实体是与计算设备的用户相关或对于用户有兴趣的实体,并且不存在于公共知识库中。例如,用户可能对演员Tom Hanks感兴趣,但是大多数公共知识库都具有表示Tom Hanks的实体,所以Tom Hanks不是个人实体。相反,用户可能经常给Tom Smith同事发信息或提到他。同事Tom Smith可能是个人实体,因为公共知识库不具有表示该同事的实体,或者可能具有名为Tom Smith的实体,但是基于屏幕上的上下文,系统可以决定公共的Tom Smith与所提到的实体不相同。同样地,用户可能对猎石(rockhounding)感兴趣。因为猎石是更专业的兴趣,所以公共知识库可能不包括表示猎石的实体。那么这样的实体可能是用户的个人实体。
在一些实施中,个人实体检测引擎124可以利用具有已知实体类型的域来识别潜在的个人实体。例如,在电子邮件应用或联系人应用中,某些文本域已知包含个人实体,例如电子邮件的to或cc域。其它域可能已知包括其它实体类型,例如地址或电话号码等。当应用已知包括这样的实体类型域时,个人实体检测引擎124可以利用所述实体类型域中的文本来识别潜在的个人实体。个人实体检测引擎124也可以利用识别个人实体的其它方法。例如,所述系统可以利用常规的实体识别方法来确定哪些被识别的项目是可能的实体。常规方法涉及自然语言处理技术来识别内容中的潜在个人实体。自然语言处理包括词性(part-of-speech)标注、名词短语识别、命名实体识别和类型分配等。在一些实施中,个人实体检测引擎124也可以跟踪跨应用发生的n元。个人实体检测引擎124可以寻找在私人内容应用像电子邮件、联系人、消息、社交媒体上的评论或帖子等中频繁出现但在公共内容应用(例如新闻馈送、预订应用、游戏等)中并未以相同的频率出现的n元。个人实体检测引擎124可以将在个人内容应用中比在公共内容应用中更频繁出现的n元认为个人实体。
在一些实施中,个人实体检测引擎124可以验证潜在的个人实体是否发生在公共知识库中。例如,公共知识库,诸如知识库144或184,可以包括用于识别实体的文本描述或描述或关键词以及消歧数据。例如,公共知识库也可以包括与实体共同发生的其它实体或词,以帮助确定两个类似命名的实体之间的差异。如果个人实体检测引擎124在公共知识库中找到潜在的个人实体的匹配,则个人实体检测引擎124可以丢弃所述实体。否则,所述实体可被认为个人实体。个人实体检测引擎124可以将所述实体的名称标准化并将个人实体存储在个人知识库134中。个人实体检测引擎124然后可以将所述实体提供给个人实体建模引擎128来学习个人实体的嵌入。
最初,个人实体可以被分配初始嵌入。当已知时,所述初始嵌入可以是随机的或基于个人实体的实体类型。所述初始嵌入可以与实体名称一起存储在个人知识库134中。然后,个人实体建模引擎126可以连续地训练预测模型例如word2vec系统来学习个人实体的适当嵌入。例如,个人实体建模引擎126可以使用连续词袋(CBOW)类模型,所述模型相对于其它个人实体的集合来预测个人实体。所述其它个人实体可以在个人实体被建模的当前屏幕(例如当前屏幕捕获)上发生,或者在过去和/或将来的屏幕捕获的窗口中发生。窗口的长度能够是依赖的实施。这种类型的训练将相关的个人实体一起群集在嵌入空间中。
在一些实施中,个人实体建模引擎126可以训练预测模型来相对于在相同屏幕(例如相同的屏幕捕获事件)上或者在屏幕捕获事件的窗口中与个人实体一起发生的公共和个人实体的集合来预测所述个人实体。在一些实施中,个人实体建模引擎126可以被训练成预测所述个人实体在屏幕捕获内容中出现在何处和如何出现的结构属性。所述结构属性能够包括字体、格式编排或布局属性。这种类型的训练将在相同上下文中出现的个人实体群集在一起。在一些实施中,个人实体建模引擎126可以相对于特定个人实体来预测当前执行的应用、下一个应用、或个人实体类型。这种类型的训练将在相同上下文中发生的相同类型的个人实体一起群集在嵌入空间中。给出这些作为用于预测模型的连续训练的类型的示例。预测模型的预期用途可能规定了使用哪种训练方法。在一些实施中,个人实体建模引擎126可以生成表示多个预测类型的训练示例(例如预测结构属性的示例和相对于其它实体来预测个人实体的示例)。在一些实施中,不同类型的训练示例可以被加权以偏爱一种类型优于另一种类型。例如,预测结构的训练示例可以比预测个人实体的训练示例较少加权(反之亦然)。在这样的实施中,较高加权的示例对于结果的嵌入贡献更多。
预测模型,例如个人实体建模引擎126,是能够相对于特征集合来预测类别或值的任何类型的机器学习算法,例如长短期记忆(LSTM)神经网络、前馈神经网络、支持向量机(SVM)分类器等。例如,预测模型能够被训练成相对于另一实体、特定移动应用、其它实体的集合、主题、结构属性的集合等来预测一个实体。个人实体建模引擎126具有两种模式,训练模式和推理模式。在训练模式中,个人实体检测引擎124使用从所捕获的内容(例如在计算设备上显示的内容)生成的特征向量作为预测模型的正训练示例。训练示例可以随时间收集,并用于更新个人实体的嵌入。特征向量可以取决于正在训练模型预测什么(例如另一实体、主题、实体的集合、移动应用等)。在一些实施中,实体的训练示例可以包括用户在实体的显示之后采取什么类型的动作。例如,当用户从一个移动应用切换到另一移动应用时,该上下文可用于更新在所述第一移动应用中出现的个人实体的嵌入。因此,在随时间遇到特定的个人实体时,所述嵌入将更准确地反映实体出现的上下文以及通常后面是什么上下文。模型可用于推理模式,以便取决于模型已经如何被训练,以各种方式来个性化用户体验。
在一些实施中,屏幕内容引擎122能够包括索引引擎,索引引擎被配置为索引所捕获的内容。索引也可以将屏幕捕获图像与在图像中识别的文本、实体、图像、标志等相关联。因此,例如,索引引擎可以为所捕获的图像和所捕获的内容生成索引条目(例如存储在屏幕捕获索引146中)。在一些实施中,索引引擎可以在服务器、例如服务器170上,并且屏幕内容引擎122可以将所捕获的图像和所捕获的内容提供给服务器。索引可以是倒排索引,其中键值(例如词、短语、实体、图像、标志等)与包括所述键值的图像列表(例如所捕获的屏幕图像的副本)相关联。索引可以包括与列表中的每个所捕获的图像相关联的元数据(例如在所捕获的图像上所述键值在何处发生、所述键值对于图像的排名等)。在一些实施中,索引也可以包括由时间戳索引的所捕获图像的列表。索引引擎可以将索引存储在存储器中,例如在屏幕捕获索引146中。当然,在一些实施中,除了计算设备110之外或代替计算设备110,系统可以将索引存储在服务器上的用户账户中。计算设备110的用户可以控制屏幕内容引擎122何时是活动的。例如,用户可以指定仅当其它指定的应用120正在运行时(例如仅当在社交媒体移动应用中时)屏幕内容引擎122才是活动的。用户也可以手动地打开和关闭屏幕内容引擎122,例如经由设置应用。在一些实施中,用户可以用手势或动作来调用屏幕内容引擎122。禁止屏幕内容引擎122也可以禁止在本文中描述的屏幕内容中的个人实体的检测和建模。
应用120也可以包括推荐引擎128。推荐引擎128可以在推理模式中利用个人实体建模引擎126和个人知识库134来为计算设备110的用户提供个性化辅助。个性化辅助可以取决于实施包括各种技术。例如,在一些实施中,推荐引擎128可以基于输入的上下文来确定输入的补全(completion)。在另一示例中,推荐引擎128可以识别类似的个人实体的群集或群组。例如,推荐引擎128可以识别分享对足球的兴趣的个人实体的群组、与墨西哥餐馆有关的个人实体的群组、共享上下文例如在星期二的午餐会议的个人实体的群组等。推荐引擎128,或另一应用,能够利用所述群组来建议递送给用户的内容、另外的电子邮件或文本接受者、讨论的主题、与其共享当前屏幕的人等。在一些实施中,推荐引擎128可以包括当两个个人实体的嵌入接近时建议合并两个个人实体的调和(reconciliation)过程。例如,当两个个人实体的嵌入之间的距离在高阈值内时,例如表示高度的相似性,推荐引擎128可以建议两个个人实体的合并或自动执行两个个人实体的合并。合并个人知识库中的个人实体可以使得能够经由各种名称来识别个人实体。同样地,当嵌入不稳定或者针对个人实体的训练示例经常不一致时,推荐引擎128可以建议(或自动执行)将一个个人实体分裂成两个个人实体。上述个性化辅助场景仅作为示例提供,并且实施不限于给出的示例。
计算设备110可以包括数据存储130,其存储在计算设备110的存储器中并被应用120使用。在一些实施中,数据存储130可以包括:屏幕捕获索引146,屏幕捕获索引146包括在屏幕捕获图像中识别的项目;以及公共知识库144。公共知识库144可以是基于图形的数据存储,其存储数据和规则,所述规则以提供用于演绎推理的形式来描述关于所述数据的知识。例如,在知识库中,可以按与其它实体的关系的形式存储关于实体的信息。实体可以是个人、地点、项目、思想、主题、词、短语、抽象概念、具体要素、其它合适的东西,或这些的任何组合。实体可以通过表示关系的标记边彼此相关。所述标记边可以是有向的或无向的。例如,表示国家足球联盟(National Football League)的实体可以通过“有团队”关系而与美洲豹(Jaguar)实体相关。公共知识库144可以是位于服务器170处的较大知识库184中的实体和关系的子集,尤其是如果所述大知识库184包括数百万个实体和数十亿个关系。例如,公共知识库144中的实体和关系可以表示来自知识库184的最流行的实体和关系,或者可以基于用户偏好来选择。例如,如果用户具有简档(profile),则可以基于所述简档或基于在屏幕捕获图像的内容中频繁识别出的实体的类型来选择实体和关系以包括在公共知识库144中。
数据存储130可以包括个人知识库134。个人知识库134可以存储在用户设备例如计算设备110和/或服务器170上在与用户相关联的账户、例如个人知识库182中。个人知识库134(和个人知识库182)可以存储个人实体的一个或多个描述和个人实体的相关联嵌入。因此,在个人知识库134中,个人实体由嵌入来表示并由一个或多个文本描述来识别。文本描述可以是标准化的,例如去除首字母大写(capitalization)等。在一些实施中,关于个人实体的其它信息也可以存储在个人知识库134中。例如,电子邮件地址、电话号码或社交媒体标识符可以与个人实体相关联,它们能够辅助推荐引擎128。例如,当推荐引擎128建议个人实体与其共享主题时,推荐引擎128可以利用该附加信息以自动向个人实体发送电子邮件、文本或帖子。
个人实体建模系统100可以包括服务器170,服务器170可以是计算设备或采取许多不同设备的形式的设备,例如标准服务器、一组这样的服务器、或机架式服务器系统。例如,服务器170可以按跨多个计算设备的分布方式实施。另外,服务器170可以在个人计算机、例如膝上型计算机中实施。服务器170可以是如在图8中所描绘的计算机设备800或如在图9中所描绘的计算机设备900的示例。服务器170可以包括在基板中形成的一个或多个处理器,其被配置为执行一个或多个机器可执行指令或软件块、固件块、或其组合。处理器能够是基于半导体的,也就是说,处理器能够包括能执行数字逻辑的半导体材料。
服务器170也能够包括一个或多个计算机存储器。存储器,例如主存储器,可以被配置为临时、永久、半永久或其组合地存储一个或多个数据块。存储器可以包括以能够由一个或多个处理器读取和/或执行的格式存储信息的任何类型的存储设备。存储器可以包括易失性存储器、非易失性存储器或其组合,并且存储当由一个或多个处理器执行时执行某些操作的模块或引擎。在一些实施中,所述模块可以存储在外部存储设备中并被加载到服务器170的存储器中。在一些实施中,所述模块可以执行屏幕内容引擎122、个人实体检测引擎124、个人实体建模引擎126或推荐引擎128的功能中的一个或多个。在一些实施中,服务器170可以将信息文件中的一个或多个的备份副本存储在数据存储130中,可以为数据存储130中的信息文件中的一个或多个提供源数据。
例如,服务器170可以包括屏幕内容引擎172、实体建模引擎176和/或推荐引擎178。例如,屏幕内容引擎172可以从计算设备110上的屏幕内容引擎122接收屏幕捕获图像,并且可以执行识别来识别图像中的关键项目。因此,屏幕内容引擎172可以包括分析屏幕捕获图像中的屏幕内容并识别所述屏幕内容中的关键项目例如词、实体、标志等的部件。所识别的实体可以是公共知识库184中和/或个人知识库182中的与用户账户相关联的实体。因此,屏幕内容引擎172能够被配置为利用常规的或以后开发的技术来执行各种类型的识别,例如字符识别、图像识别、标志识别等。在一些实施中,屏幕内容引擎172可以如上所述索引所述关键项目,将倒排索引存储在屏幕捕获索引186中。屏幕捕获索引186与计算设备110的用户相关联。
在一些实施中,屏幕内容引擎172可以向计算设备110上的个人实体检测引擎124提供所识别的项目,或者可以向实体建模引擎176提供所识别的项目。实体建模引擎176可以从所捕获的屏幕(或屏幕的窗口)识别个人实体,如上文关于个人实体检测引擎124所述。在一些实施中,实体建模引擎176也可以更新在屏幕内容中所识别的个人实体的嵌入,如上文关于个人实体建模引擎126所述。因而,实体建模引擎176可以执行个人实体检测引擎124或个人实体建模引擎126的功能中的一个或多个。因此实体建模引擎176可更新个人知识库134或个人知识库182。
服务器170可以存储公共知识库184。公共知识库184可以是大型基于图形的数据存储,其存储数据和规则,所述规则以提供用于演绎推理的形式来描述关于所述数据的知识。具有大量实体和即使有限数目的关系的知识库可以具有数十亿的连接。在一些实施中,知识库184可以存储在可从服务器170和/或计算设备110访问的外部存储设备中。在一些实施中,公共知识库184可以跨多个存储设备和/或多个计算设备、例如多个服务器分布。公共知识库184中的实体和关系可以是例如经由索引可搜索的。例如,索引可以包括已经提到实体的文本。因此,参考知识库184可以被理解为包括有助于利用文本等同物找到实体的索引。
计算设备110可以经过网络160与服务器170和与其它移动设备通信。网络160可以是例如因特网,或者网络160能够是利用例如网关设备、网桥、交换机等实施的有线或无线局域网(LAN)、广域网(WAN)等。网络160也可以表示蜂窝通信网络。经由网络160,服务器170可以与计算设备110通信并向/从计算设备110传送数据,并且计算设备110可以与其它移动设备(未示出)通信。
个人实体建模系统100代表了一种示例配置,而实施可以结合有其它配置。例如,一些实施可以将屏幕内容引擎122、个人实体检测引擎124、个人实体建模引擎126或推荐引擎128的部件中的一个或多个组合成单个模块或引擎。类似地,一些实施可以将屏幕内容引擎172、实体建模引擎176或推荐引擎178中的一个或多个组合成单个模块或应用。作为另一示例,所述数据存储例如屏幕捕获索引146、公共知识库144或个人知识库134中的一个或多个可以组合成单个数据存储,或者可以跨多个计算设备分布,或者可以存储在服务器170或由用户指定的另一位置处。此外,在某些实施例中,本文中描述的方法的方面可以在未与服务器170通信的情况下在计算设备110上进行,例如为了隐私、低延时、网络范围之外的操作等。
在个人实体建模系统100收集和存储用户特定数据或可以利用个人信息的范围上,用户可以被提供机会来控制程序或特征是否收集用户信息(例如关于用户的社交网络、社交动作或活动、用户的偏好或用户的当前位置的信息)、或者控制是否和/或如何存储屏幕捕获图像和内容。例如,系统可以制止捕获某些应用例如银行应用、健康应用、或其它类似应用的内容,或者其中捕获此类内容违反服务条款的内容。此外,用户可以被提供机会来禁止捕获针对特定应用或应用类别的屏幕内容。另外,某些数据在它被存储或使用之前可以用一种或多种方式处理,使得去除个人可识别的信息。例如,可以处理用户的身份使得不能对于用户确定个人可识别信息,或者在获得位置信息(例如城市、邮政编码或州级)的情况下可以将用户的地理位置一般化(generalize),使得不能确定用户的具体位置。因而,用户可以控制关于用户如何收集信息并且信息如何由移动个人实体建模系统使用。
图2根据所公开的主题,示出了用于发现和利用个人实体来个性化用户体验的示例过程200的流程图。过程200可以由移动个人实体建模系统、例如图1的系统100执行。过程200可用于检测个人实体并将其作为嵌入建模,这使得所述系统能够以各种灵活的方式个性化用户体验。过程200可以由在所生成的用于在计算设备上显示的内容中检测个人实体(205)开始。所述系统可以利用屏幕捕获图像或API调用来获得在屏幕上显示的信息,并对所述信息执行识别,如上面关于图1所讨论的。基于在私人内容应用中出现的频繁的n元,或者基于对文本和图像的常规实体检测技术,系统可以基于与特定数据域(例如电子邮件应用中的接受者地址)的关联来检测个人实体。个人实体可以是在公共知识库中未找到的实体。系统可以将个人实体作为嵌入建模(210)。在一些实施中,系统可以仅将已被检测到最少次数的个人实体建模。所述建模可以从初始嵌入开始,其然后由机器学习预测模型基于提供给模型的示例进行修改。例如,系统可以在定期的基础上获得屏幕信息(例如来自屏幕捕获或API调用),并且以个人实体发生的上下文作为训练示例提供给预测模型。如下面关于图3所述,作为训练示例提供的上下文可以取决于实施。
一旦所述嵌入已经被充分训练,系统就可以利用个人实体的嵌入来个性化用户体验(215)。例如,当个人实体已被被遇到一定次数时、一个涉及所述个人实体(在训练数据上)的分类的错误率降至低于某个阈值等,足够的训练可以被确定。个性化用户体验可以包括各种功能。例如,系统可以基于屏幕上的内容来预测词或短语。屏幕上的内容能够包括其它个人实体和公共实体两者。作为另一示例,系统可以利用所述嵌入来识别类似的个人实体,例如与特定主题或事件共同发生的个人实体(例如,动漫(anime)讨论、平日期间的午餐、或踢足球)。作为另一示例,系统可以利用用于主题分类器的嵌入,其能够基于在屏幕上的上下文来预测用户可能何时想要联系特定的人。例如,系统可以确定当用户查看餐馆的信息时,用户通常与三个个人实体进餐,并且可以建议与三个个人实体共享所述餐馆的信息或预订所述餐馆。
类似地,系统可以确定用户正在与一个或多个个人实体闲谈,并且可以建议讨论的主题。例如,所述嵌入可以指示在电影的上下文中经常提及一组个人实体,并且当用户与该组中的一个或多个成员闲谈时可以建议一部新电影或关于演员最近的新闻项目以供讨论。作为另一示例,系统可以基于所述嵌入提供递送给用户的个性化内容。例如,系统可以为所述嵌入指示在电影的上下文中共同发生的屏幕上的个人实体提供新电影的广告。作为另一示例,系统可以在设备上的搜索中利用用于最近邻居检索的嵌入。因此,如果用户搜索特定实体,则系统可以为所述搜索提供最近邻居匹配来增强搜索结果。从所述嵌入个性化用户体验的这些说明仅作为示例提供,并且实施能够包括所述嵌入的其它用途以个性化用户体验。
图3根据所公开的实施,示出了用于将个人实体建模的示例过程300的流程图。过程300可以由移动个人实体建模系统、例如图1的系统100执行。过程300可用于检测个人实体并将其作为嵌入建模。过程300可以由在所捕获的屏幕信息中检测非公共实体(305)开始。如上所述,非公共实体是在公共知识库、例如由系统访问的公共知识库中不存在的实体。如果由系统使用的公共知识库缺乏实体,则它是非公共实体。非公共实体可以在图像以及文本中被识别。例如,一些图像具有相关联的描述,并且所述描述可以是或包括对非公共实体的描述或其它标识符。这种的示例是与被标记到社交媒体用户标识符的联系人或图像相关联的图像。系统可以确定非公共实体是否是个人实体(310)。如果实体已经存在于个人知识库、例如图1的个人知识库134中,则实体是个人实体(310,是)。如果不是(310,否),则系统可以确定非公共实体是否已经被频繁遇到足以被认为个人实体(315)。频率可以取决于用于检测实体的方法。例如,基于域类型(例如发送者电子邮件地址)检测到的实体可能只需要出现一次,而作为从由私人内容应用生成的内容中检测到的n元的实体可能需要被遇到几次。因此,频率阈值可以是实施特定的以及源特定的(例如不同的源具有不同的阈值)。如果不满足频率阈值(315,否),则系统可以继续分析屏幕内容以找到实体的其它发生(305)。如果满足频率阈值(315,是),则系统可以为实体分配初始嵌入(320)。所述初始嵌入能够是随机分配的或基于实体类型分配的默认值。例如,个人实体可以具有来自地址实体、主题实体或电话号码实体等的不同的初始嵌入。作为步骤320的一部分,将所述初始嵌入和非公共实体添加到个人知识库,使得系统可以开始将个人实体作为嵌入建模。
系统可以从所捕获的屏幕信息生成针对个人实体的训练示例(325)。训练示例可以包括从屏幕捕获信息检测到的各种信息。例如,训练示例可以包括在屏幕捕获信息中所识别的其它个人实体、在屏幕捕获信息中所识别的公共实体、在屏幕捕获信息中所标识的公共和个人实体的组合、结构属性例如个人实体在屏幕上在何处和如何出现的格式编排和布局、关于计算设备的状态的元数据、关于当前正在运行的应用的元数据等。在一些实施中,训练示例可以基于对一个屏幕的屏幕捕获信息。在一些实施中,训练示例可以基于来自过去屏幕或过去和未来屏幕的窗口的屏幕捕获信息。换句话说,系统可以延迟生成训练示例直到时间窗已经经过为止,并且可以包括来自所述时间窗的屏幕捕获事件以生成训练示例。在利用时间窗的实施中,一些训练示例可以包括在检测到个人实体的屏幕捕获事件之后由用户采取的动作。例如,如果用户在讨论特定主题(例如午餐)之后经常切换到预订应用,则系统可以包括相对于所述主题来预测预订应用的训练示例。系统可以利用训练示例来训练预测模型,从而更新个人实体的嵌入(330)。系统可以在连续的基础上执行过程300,只要用户设置允许这样,以改进(refine)针对实体的嵌入。这允许系统最终可以利用所述嵌入,以当个人实体在屏幕上的内容中被遇到或与屏幕上的内容相关联时提供基于所述嵌入的个性化辅助。
图4根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的示例过程400的流程图。一旦预测模型被训练,系统可以用各种方式利用预测模型。一种方式可以是提供个人和私人这两者实体作为自动补全操作中的建议。所训练的预测模型可以基于其它屏幕上内容来预测词或短语。这与仅使用用户已输入内容的传统自动补全操作不同。过程400超过常规自动补全操作的益处是,即使在没有由用户提供的任何字符的情况下,过程400也能够建议词或短语。换句话说,在用户输入任何文本之前,过程400能够在确定用户已将光标放置在文本框中时提供所建议的实体。过程400可以由移动个人实体建模系统、例如图1的系统100执行。过程400是利用所述嵌入来个性化用户体验的示例,如关于图2的步骤215所述。过程400可以由系统在重复发生的基础上执行—例如,当用户最初将焦点发送到输入控件例如文本框时,系统可以执行过程400并提供实体的列表作为所建议的补全。如果用户没有所述补全中的一个,则系统可以在接收来自用户的输入之后,例如在接收到每个文本输入之后,利用所述文本输入再次执行过程400以改进所建议的作为补全的实体。
过程400通过确定由用户提供的输入(405)开始。实际的输入可以是空白或空值,表示要提供输入的意图。例如,当用户将焦点发送到输入控件、诸如将光标放置在文本框中时,系统可以确定用户意图提供输入并确定输入当前为空白或空值。如果用户已经经由输入控件提供任何文本、数字或字符,则系统可以确定输入包括所提供的文本。系统也可以确定由计算设备显示的与输入相关联的内容。例如,系统可以确定在与输入控件相关联的屏幕捕获信息中显示的其它实体,例如在当前屏幕上显示的实体或在包括当前屏幕的窗口中显示的实体。在屏幕捕获信息中所识别的实体和屏幕捕获信息的元数据是与输入相关联的内容。系统可以基于所述内容生成输入的特征的集合(410)。特征包括其它实体和关于当前屏幕的元数据。例如,特征可以包括正在执行的应用、在屏幕上输入发生在何处、通常与输入控件相关联的实体的类型(例如人或地点)等。
系统然后可以确定输入的补全(415)。系统可以利用常规方法(例如已知以由用户提供的输入开始的词)、以及利用特征和预测模型确定的补全来确定补全。换句话说,系统可以向预测模型提供特征,这又可以基于所述嵌入和特征为输入提供一些补全。由预测模型提供的补全可以是个人实体、一组个人实体、公共实体、主题等,呈描述实体或多个实体的词或短语的形式。例如,词可以描述与群组的实体相关的类别或主题。作为另一示例,词可以描述实体。在确定补全中,预测模型可以仅提供满足概率阈值的补全。换句话说,只有最可能的补全,包括人、地点、主题,可以由预测模型作为补全提供。系统可以对补全排名,排名考虑了基于所述嵌入由预测模型确定的分值(420)。所述分值可以表示基于所提供的特征预测出补全的概率。由预测模型提供的补全的排名可以考虑该分值以及与补全关联的词/短语如何接近地匹配由用户迄今提供的输入的确定。例如,当输入为空值时,排名可以只依赖于概率分值。当输入包括三个字符时,排名可以是概率分值和反映词/短语如何接近地匹配三个字符的分值的组合。这允许系统解决用户的拼写错误和打字错误。例如,即使在补全的描述中的第一三个字符中的仅两个与由用户提供的三个字符相匹配,很大可能预测的补全仍然可以具有高排名。
系统可以向用户提供最高排名的补全作为建议(425)。这可以允许用户以更少的按键来补全输入。在一些情况下,用户可能只需要在选择所预测的补全之一之前将光标放置在文本框中,从而完全避免任何按键。因此,过程400是通过基于被作为嵌入建模的个人实体提供个性化补全来改善用户体验的示例。
图5根据所公开的实施,示出了用于利用建模的个人实体来定制用户体验的另一示例过程500的流程图。过程500示出了另一方式以利用预测模型而通过提供与在当前屏幕上显示的个人实体相关联的兴趣有关的推荐来定制用户体验。过程500超过常规推荐系统的益处是,过程500能够建议与个人实体、而不仅仅公共实体相关的推荐。将个人实体建模已经是具有挑战性的问题,因为将实体建模通常需要显著量的输入。例如,公共知识库的管理包括数十万工时。这在个人层面上是不可行的。此外,知识库通常包括以实体之间的关系的形式的关于实体的信息。这种类型的表示在个人层面上也是不可行的。在过程500中使用的个人知识库将个人实体作为嵌入表示,使得用户不需要积极地填充和训练知识库。代替地,个人知识库运用机器学习预测模型。因此,过程500可以由移动个人实体建模系统、例如图1的系统100执行。过程500是利用所述嵌入来个性化用户体验的示例,如关于图2的步骤215所述。过程500可以由所述系统在连续的基础上执行——例如,所述系统可以在定期的基础上执行过程500以显示递送给用户的内容,例如与屏幕上的内容相关的广告,或者在个人通信类型应用中建议谈话的主题。
过程500以在所生成的用于在计算设备上显示的内容中识别个人实体(505)开始。所述内容可以与屏幕捕获事件或屏幕捕获事件的窗口相关联。系统可以利用上文关于屏幕内容引擎122和个人实体检测引擎124以及图2的步骤205和图3的步骤305所描述的识别技术来识别个人实体。系统可以利用对个人实体的嵌入来识别与个人实体相关的第二实体(510)。换句话说,系统可以提供具有从屏幕捕获内容和所识别的个人实体生成的特征的预测模型,并且预测模型可以基于所述特征和个人实体的嵌入来预测第二实体。第二实体可以是另一个人实体或可以是公共实体。所述个人和公共实体可以表示经常与个人实体相关联的人、地点、上下文、主题、爱好、活动等。例如,系统可以确定个人实体Rob经常与关于足球(很可能是公共实体,但有可能是个人实体)的讨论相关联。作为另一示例,系统可以确定个人实体Alice经常与上下文相关联,例如Joe叔叔处的午餐。上下文能够表示事件的时间或地点。
系统然后可以提供与第二实体相关的推荐并且在计算设备上启动所述推荐的显示(515)。所述推荐能够是递送给用户的内容,例如与第二实体相关的广告、与第二实体相关的谈话的所建议的主题、与第二实体相关的朋友圈(例如主题或兴趣)等。例如,当用户开始与Rob谈话时,系统可以提供新的足球电影的广告或即将到来的足球比赛的细节。作为另一示例,系统可以建议将Tom添加到与Rob的谈话中,因为Tom可能是与足球相关联的第二个个人实体。类似地,当用户与Alice关于午餐闲谈时,系统可以推荐在Joes叔叔处进行预订。这些是作为系统可以如何利用过程500来基于屏幕上的内容提供个性化推荐的非穷尽示例提供的。在一些实施中,系统可以利用所选的推荐作为预测模型的训练示例。过程500然后结束。
图6根据所公开的实施,示出了用于利用所建模的个人实体来定制用户体验的另一示例过程600的流程图。过程600示出了另一种方式以利用预测模型而通过提供与当前屏幕相关联的个人实体有关的推荐来定制用户体验。过程600可以由移动个人实体建模系统、例如图1的系统100执行。过程600是利用所述嵌入来个性化用户体验的示例,如关于图2的步骤215所述。过程600可以由系统在连续的基础上执行—例如,系统可在定期的基础上执行过程600,以基于在屏幕内容中识别的公共实体建议个人实体包括在谈话中、与之共享屏幕或屏幕上的信息、或者包括在预订中等等。
过程600以在所生成的用于在计算设备上显示的内容中识别特征(605)开始。所述内容可以与屏幕捕获事件或屏幕捕获事件的窗口相关联。所述特征可以包括公共实体、上下文、个人实体等。上下文可以表示事件的时间和/或地点(例如在Luigis处的晚餐)。实体,无论是公共还是私人,都可以表示人、地点、主题、爱好、活动等。系统可以利用上文关于屏幕内容引擎122和个人实体检测引擎124以及图2的步骤205和图3的步骤305所描述的识别技术来识别所述特征。如本文中指出,屏幕捕获信息的窗口可以用作用于识别内容中的特征的上下文。系统可以利用对个人实体的嵌入来识别由所述特征预测出的个人实体(610)。换句话说,系统可以提供具有从所述内容生成的特征的预测模型,并且预测模型可以基于所述特征来预测个人实体。个人实体可以表示在个人知识库中找到的人、主题、爱好、活动等。例如,系统可以确定Alice与意大利餐馆相关联。系统然后可以提供与个人实体相关的推荐并且在计算设备上启动所述推荐的显示(615)。所述推荐能够是递送给用户的与兴趣相关的内容、与兴趣相关的谈话的所建议主题、与兴趣相关的朋友圈、与上下文相关的动作等。例如,当用户指示期望共享关于足球的文章时,系统可以推荐Rob和Tom作为接受者。作为另一示例,如果用户正在看Joe叔叔处的午餐菜单,则系统可以建议动作,例如与Alice共享屏幕或将Alice包括在Joe叔叔处的午餐日历邀请中。这些是作为系统可以如何利用过程600来基于屏幕上的内容提供个性化推荐的非穷尽示例提供的。在一些实施中,如果用户选择推荐,则系统可以将所述选择作为个人实体的正训练示例使用。过程600然后结束。
图7根据所公开的实施,示出了用于利用所建模的个人实体来定制用户体验的另一示例过程700的流程图。过程700示出了另一种方式以利用预测模型而通过找到相关的个人实体并将这些包括在提供给用户的搜索结果中来定制在设备上的搜索。过程700可以由移动个人实体建模系统、例如图1的系统100执行。过程700是利用所述嵌入来个性化用户体验的示例,如关于图2的步骤215所述。过程700可以由用户例如通过显式搜索请求启动,或作为按照请求的隐式搜索请求的结果由系统启动。
过程700由接收到针对设备上的搜索的查询(705)开始。查询可以包括个人实体。系统可以基于上文关于屏幕内容引擎122和个人实体检测引擎124以及图2的步骤205和图3的步骤305所描述的实体识别技术,在查询中识别个人实体。系统可以基于所述嵌入来确定个人实体的最近邻居(710)。换句话说,系统可以利用常规最近邻居技术,基于所述嵌入的相似性来寻找与个人实体的近似匹配。系统可以利用所述最近邻居和个人实体来确定搜索结果(715)并将搜索结果提供给用户(720)。搜索结果能够从例如屏幕捕获的索引或文件的目录等获得。过程700然后结束。
例如,预测模型可以包括两个个人实体,Bill和Jason。Bill和Jason由于两者经常出现在相同的上下文(例如包括在同一日历邀请中、包括在群组文本谈话中、包括在同一电子邮件中等)中,所以可以具有非常相似的嵌入。当用户正在搜索与Bill的谈话或Bill的照片时,系统也可以包括与Jason的谈话或Jason的照片。这使得系统能够提供与在以下情况下用户所要求的内容相似的搜索结果,用户在错误地认为所搜索的谈话与Rob而不是Jason相关联或者所寻求的照片被标记为Jason而不是Rob。作为另一示例,用户可以在计算设备上搜索“网球”。响应于这种查询,系统可以利用预测模型来确定个人实体(或者两个或更多个个人实体)与网球有关,并且响应于对网球的查询而返回与个人实体的谈话,即使谈话并没有包括术语网球。
图8示出了可以作为的图1的服务器170和/或设备110操作的通用计算机设备800的示例,其可以与在此描述的技术一起使用。计算设备800旨在表示各种示例形式的计算设备,例如膝上型计算机、台式电脑、工作站、个人数字助理、蜂窝电话、智能电话、平板电脑、服务器和其它计算设备,包括可穿戴设备。在此示出的部件、它们的连接和关系、以及它们的功能意味着仅仅是示例,并不意味着限制本文件中描述和/或要求保护的发明的实施。
计算设备800包括经由接口808连接的处理器802、存储器804、存储设备806和扩展端口810。在一些实施中,在经由接口808连接的其它部件中,计算设备800可以包括收发器846、通信接口844、和GPS(全球定位系统)接收器模块848。设备800可以通过通信接口844无线通信,通信接口844在必要时可以包括数字信号处理电路。部件802、804、806、808、810、840、844、846和848中的每一个可以安装在公共母板上或适当地以其它方式安装。
处理器802能够处理用于在计算设备800内执行的指令,包括存储在存储器804中或存储设备806上的指令,以在外部输入/输出设备例如显示器816上显示GUI的图形信息。显示器816可以是监视器或扁平触摸屏显示器。在一些实施中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器的类型。而且,可以连接多个计算设备800,其中每个设备提供必要操作的一部分(例如作为服务器排、一组刀片式服务器、或多处理器系统)。
存储器804在计算设备800内存储信息。在一个实施中,存储器804是易失性存储器单元或多个单元。在另一实施中,存储器804是非易失性存储器单元或多个单元。存储器804也可以是另一种形式的计算机可读介质,例如磁盘或光盘。在一些实施中,存储器804可以包括通过扩展接口提供的扩展存储器。
存储设备806能够为计算设备800提供大容量存储。在一个实施中,存储设备806可以是或包括计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备,闪存或其它类似的固态存储器设备、或设备的阵列,包括存储区域网络中的设备或其它配置。计算机程序产品能够有形地体现在这样的计算机可读介质中。计算机程序产品也可以包括在被执行时执行一种或多种方法、例如上述方法的指令。计算机可读或机器可读的介质是存储设备,例如存储器804、存储设备806、或处理器802上的存储器。
接口808可以是管理对计算设备800的带宽密集型操作的高速控制器或管理较低带宽密集型操作的低速控制器,或这样的控制器的组合。可以提供外部接口840,以便使得能够进行设备800与其它设备的近区域通信。在一些实施中,控制器808可以与存储设备806和扩展端口814耦接。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的扩展端口可以例如通过网络适配器与一个或多个输入/输出设备例如键盘、指向设备、扫描仪或网络设备例如交换机或路由器耦接。
如图中所示,计算设备800可以用许多不同的形式来实施。例如,它可以被作为标准服务器830、或者在一组这样的服务器中多次实施。它也可以实施为机架式服务器系统的一部分。此外,它可以在计算设备例如膝上型计算机832、个人计算机834或平板/智能电话836中实施。整个系统可以由彼此通信的多个计算设备800组成。其它配置是可能的。
图9示出了通用计算机设备900的示例,通用计算机设备900可以是图1的服务器170,其可以与在此描述的技术一起使用。计算设备900旨在表示各种示例形式的大规模数据处理设备,例如服务器、刀片式服务器、数据中心、大型机(mainframe)和其它大规模计算设备。计算设备900可以是具有由一个或多个通信网络互连的多个处理器的分布式系统,所述处理器可能包括网络附接的存储节点。在此示出的部件、它们的连接和关系、以及它们的功能意味着仅仅是示例,并不意味着限制本文件中描述和/或要求保护的发明的实施。
分布式计算系统900可以包括任何数目的计算设备980。计算设备980可以包括经过局域或广域网、专用光链路、调制解调器、网桥、路由器、交换机、有线或无线网络等通信的服务器或机架服务器、大型机等。
在一些实施中,每个计算设备可以包括多个机架。例如,计算设备980a包括多个机架958a-958n。每个机架可以包括一个或多个处理器,例如处理器952a-952n和962a-962n。处理器可以包括数据处理器、网络附接的存储设备、和其它计算机控制的设备。在一些实施中,一个处理器可以作为主处理器操作并控制调度和数据分配任务。处理器可以通过一个或多个机架式交换机958互连,并且一个或个多个机架可以通过交换机978连接。交换机978可以处理多个连接的计算设备900之间的通信。
每个机架可以包括存储器,例如存储器954和存储器964,以及存储,例如956和966。存储956和966可以提供大容量存储,并且可以包括易失性或非易失性存储,例如网络附接的盘、软盘、硬盘、光盘、磁带、闪存或其它类似的固态存储器设备,或者设备的阵列,包括存储区网络中的设备或其它配置。存储956或966可以在多个处理器、多个机架或多个计算设备之间共享,并且可以包括存储可由一个或多个处理器执行的指令的计算机可读介质。存储器954和964可以包括例如易失性存储器单元或多个单元、非易失性存储器单元或多个单元、和/或其它形式的计算机可读介质,例如磁盘或光盘、闪存、高速缓存、随机存取存储器(RAM)、只读存储器(ROM)及其组合。存储器、例如存储器954也可以在处理器952a-952n之间共享。数据结构,例如索引,可以例如跨存储956和存储器954存储。计算设备900可以包括未示出的其它部件,例如控制器、总线、输入/输出设备、通信模块等。
整个系统,例如系统100,可以由彼此通信的多个计算设备900组成。例如,设备980a可以与设备980b、980c和980d通信,并且这些可以被共同称为系统100。作为另一示例,图1的系统可以包括一个或多个计算设备900。一些计算设备可以地理上彼此靠近地定位,而其它可以地理上遥远地定位。系统900的布局只是示例,并且系统可以采取其它布局或配置。
根据本公开的某些方面,移动设备包括至少一个处理器和存储指令的存储器,所述指令当由至少一个处理器执行时,引起移动设备执行操作。所述操作可以包括在所生成的用于在移动设备上显示的内容中识别个人实体、从所述内容生成针对个人实体的训练示例、以及利用训练示例来更新用于将个人实体建模的嵌入。个人实体可能是移动设备的用户个人的。所述嵌入可用于做出关于个人实体的预测。
这个和其它方面能够包括一个或多个以下特征。例如,个人实体可以基于在消息的发送者或接受者域中的位置来被识别。作为另一示例,识别个人实体能够包括识别所述内容中的n元并且确定n元在私人内容应用中的发生频率满足或超过阈值。作为另一示例,识别个人实体能够包括:确定个人实体是否存在于个人知识库中,并且当个人实体不存在于个人知识库中时为个人实体分配初始嵌入。作为另一示例,所述内容是第一内容,并且存储器进一步存储引起移动设备识别由移动设备的用户提供的输入的指令,所述输入与在移动设备上显示的第二内容相关联,确定针对所述输入的补全,所述补全包括基于第二内容的个人实体,将所述补全排名,个人实体的排名考虑了由在第二内容的条件下针对个人实体的所述嵌入确定的分值,并提供用于在移动设备上显示的最高排名的补全。
作为另一示例,生成训练示例包括对于在内容中标识的其它个人实体的集合,生成所述集合和个人实体之间的预测。在另一示例中,生成训练示例包括,对于在内容中识别的公共实体,生成公共实体和个人实体之间的预测。作为另一示例,个人实体是第一个人实体,并且生成训练示例包括,对于在内容中识别的第二个人实体和公共实体,生成第二个人实体和公共实体和第一个人实体之间的预测。在另一示例中,所生成的用于显示的内容包括在时间窗期间生成的内容。
根据本公开的某些方面,一种方法包括在所生成的用于在计算设备上显示的内容中识别第一个人实体,第一个人实体与计算设备的用户关联的个人知识库中的嵌入相关联,基于所述嵌入预测第一个人实体和第二实体之间的关联,并提供与第二实体相关的推荐,所述推荐将在计算设备上显示。
这个和其它方面能够包括以下特征中的一个或多个。例如,所述推荐可以是与第二实体相关的广告。作为另一示例,第二实体表示主题,并且推荐是与第二实体相关联的第三个人实体。在这样的实施中,显示推荐能够包括建议与第三个人实体共享内容。所述内容可以包括消息,并且推荐能够是邀请第三个人实体查看所述消息。作为另一示例,第二实体可以表示上下文,并且显示推荐能够包括建议包含第一个人实体和上下文的动作。在一些实施中,上下文是时间,并且动作是与第一个人实体相关的预订。
应领会,结合上述任何方面描述的特征可以与上述其它方面一起使用。
根据本公开的某些方面,计算系统包括至少一个处理器、显示设备、存储个人知识库的存储器、将个人实体作为嵌入建模的个人知识库、和存储指令的存储器,所述指令当由至少一个处理器执行时引起计算系统执行操作。所述操作可以包括在所生成的用于在显示设备上显示的内容中识别特征、利用个人知识库中针对个人实体的嵌入来识别由所述特征预测的个人实体、以及提供与个人实体有关的推荐,所述推荐将显示在显示设备上。
这个和其它方面能够包括一个或多个以下特征。例如,所述推荐可以是涉及个人实体的动作或与个人实体共享与当前屏幕相关联的内容的建议。作为另一示例,所生成的用于显示的内容可以由第一应用产生,并且推荐是打开第二应用的建议。第二应用可以不安装在计算设备上,并且所述建议可以包括安装第二应用。作为另一示例,所述推荐是在输入控件中从用户接收输入之前对输入控件的补全。
各种实施能够包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施,可编程系统包括至少一个可编程处理器,可编程处理器可以是专用或通用目的的,被耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向它们传送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言和/或以汇编/机器语言实施。如在本文中使用,术语“机器可读介质”“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何非暂时计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器(包括阅读存取存储器)、可编程逻辑器件(PLD))。
在此描述的系统和技术能够在包括后端部件(例如作为数据服务器)、或包括中间件部件(例如应用服务器))、或包括前端部件(例如具有图形用户界面或网页浏览器的客户端计算机,用户能够通过它与在此描述的系统和技术的实施进行交互)、或者这样的后端、中间件或前端部件的任何组合的计算系统中实施。系统的部件能够通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统能够包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系依靠在各自的计算机上运行并且具有彼此客户端-服务器关系的计算机程序而产生。
已经描述了许多实施。然而,在不脱离本发明的精神和范围的情况下,可以进行各种修改。另外,在附图中描绘的逻辑流程不需要所示的特定次序或相继次序来实现期望的结果。另外,从所描述的流程中可以提供其它步骤,或者可以消除步骤,并且其它部件可以添加到所描述的系统或从所描述的系统移除。因此,其它实施在所附权利要求书的范围内。
下面,描述根据本公开的系统和方法的进一步示例。
在第一示例中,一种方法包括在所生成的用于在移动设备上显示的内容中识别个人实体、从所述内容生成针对个人实体的训练示例、以及利用训练示例来更新用于将个人实体建模的嵌入。
在基于第一示例的第二示例中,个人实体可以基于消息的发送者或接受者域中的位置来被识别。在基于第一示例或第二示例的第三示例中,识别个人实体可以包括识别所述内容中的n元并确定n元在私人内容应用中的发生频率满足或超过阈值。在基于任何前述示例的第四示例中,识别个人实体可以包括:确定个人实体是否存在于个人知识库中,并且当个人实体不存在于个人知识库中时为个人实体分配初始嵌入。
在基于任何前述示例的第五示例中,所述内容可以是第一内容,并且所述方法可以进一步包括识别由移动设备的用户提供的输入。所述输入可以与移动设备上显示的第二内容相关联。可以确定对所述输入的补全,所述补全包括基于第二内容的个人实体。所述补全可以被排名,个人实体的排名考虑了由在第二内容的条件下针对个人实体的嵌入确定的分值。最高排名的补全可以提供用于在移动设备上显示。
在基于任何前述示例的第六示例中,生成训练示例可以包括,对于在所述内容中所识别的其它个人实体的集合,生成所述集合和个人实体之间的预测。在基于任何前述示例的第七示例中,生成训练示例可以包括,对于在所述内容中所识别的公共实体,生成公共实体和个人实体之间的预测。在基于任何前述示例的第八示例中,所生成的用于显示的内容可以包括在时间窗期间生成的内容。在基于任何前述示例的第九示例中,个人实体可以是移动设备的用户个人的。
在第十示例中,一种方法包括在所生成的用于在计算设备上显示的内容中识别第一个人实体,第一个人实体与计算设备的用户关联的个人知识库中的嵌入相关联,基于所述嵌入预测第一个人实体和第二实体之间的关联,并提供与第二实体相关的推荐,所述推荐将显示在计算设备上。
在基于第十示例的第十一示例中,所述推荐可以是递送给用户与第二实体相关的内容。
在基于第十示例的第十二示例中,第二实体可以表示主题,并且推荐是与第二实体相关联的第三个人实体。
在基于第十二示例的第十三示例中,显示所述推荐可以包括建议与第三个人实体共享所述内容。
在基于第十三示例的第十四示例中,所述内容可以包括消息,并且所述推荐可以是邀请第三个人实体来查看所述消息。
在基于第十示例的第十五示例中,第二实体可以表示上下文,并且显示推荐可以包括建议包含第一个人实体和上下文的动作。
在基于第十五示例的第十六示例中,上下文可以是时间,并且动作可以是与第一个人实体相关的预订。
在第十七示例中,一种方法包括在所生成的用于在显示设备上显示的内容中识别特征,在将个人实体作为嵌入建模的个人知识库中利用针对个人实体的嵌入来识别由所述特征预测的个人实体,并提供与个人实体相关的推荐,所述推荐将显示在显示设备上。
在基于第十七示例的第十八示例中,所述推荐可以是涉及个人实体的动作。在基于第十七示例的第十九示例中,所述推荐可以是与个人实体共享与当前屏幕相关联的内容的建议。在基于第十七示例的第二十示例中,所生成的用于显示的内容可以由第一应用生成,并且所述推荐是打开第二应用的建议。
在基于第十七示例的第二十一示例中,所述推荐可以是在输入控件中从用户接收输入之前对输入控件的补全。
在第二十二示例中,计算系统包括至少一个处理器和存储指令的存储器,所述指令当由至少一个处理器执行时,引起计算系统执行任何前述示例的方法。
在第二十三示例中,存储计算机可读指令的计算机可读介质,所述指令当被执行时引起计算系统执行第一示例至第二十示例的方法。

Claims (19)

1.一种移动设备,包括:
至少一个处理器;和
存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述移动设备:
在所生成的用于在所述移动设备上显示的内容中识别个人实体,
从所述内容生成针对所述个人实体的训练示例,以及
使用所述训练示例来更新用于将所述个人实体建模的嵌入。
2.根据权利要求1所述的移动设备,其中,所述个人实体是基于在消息的发送者或接受者域中的位置来识别的。
3.根据权利要求1所述的移动设备,其中,识别所述个人实体包括:
识别所述内容中的n元;以及
确定所述n元在私人内容应用中的发生频率满足或超过阈值。
4.根据权利要求1所述的移动设备,其中,识别所述个人实体包括:
确定所述个人实体是否存在于个人知识库中,以及
当所述个人实体不存在于所述个人知识库中时,为所述个人实体分配初始嵌入。
5.根据权利要求1所述的移动设备,其中,所述内容是第一内容并且所述存储器进一步存储指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
识别由所述移动设备的用户提供的输入,所述输入与在所述移动设备上显示的第二内容相关联;
确定针对所述输入的补全,所述补全包括基于所述第二内容的个人实体;
将所述补全排名,所述个人实体的排名考虑由在所述第二内容的条件下针对所述个人实体的嵌入确定的分值;以及
提供最高排名的补全用于在所述移动设备上显示。
6.根据权利要求1所述的移动设备,其中,生成所述训练示例包括:对于在所述内容中所识别的其它个人实体的集合,生成所述集合和所述个人实体之间的预测。
7.根据权利要求1所述的移动设备,其中,生成所述训练示例包括:对于在所述内容中所识别的公共实体,生成所述公共实体和所述个人实体之间的预测。
8.根据权利要求1所述的移动设备,其中,所生成的用于显示的所述内容包括在时间窗期间生成的内容。
9.一种方法,包括:
在所生成的用于在计算设备上显示的内容中识别第一个人实体,所述第一个人实体与个人知识库中的嵌入关联,所述个人知识库与所述计算设备的用户关联;
基于所述嵌入来预测所述第一个人实体和第二实体之间的关联;以及
提供与所述第二实体相关的推荐,所述推荐将显示在所述计算设备上。
10.根据权利要求9所述的方法,其中,所述第二实体表示主题,并且所述推荐是与所述第二实体相关联的第三个人实体。
11.根据权利要求10所述的方法,其中,显示所述推荐包括:
建议与所述第三个人实体共享所述内容。
12.根据权利要求11所述的方法,其中,所述内容包括消息,并且所述推荐是邀请所述第三个人实体来查看所述消息。
13.根据权利要求9所述的方法,其中,所述第二实体表示上下文,并且显示所述推荐包括建议包含所述第一个人实体和所述上下文的动作。
14.根据权利要求13所述的方法,其中,所述上下文是时间,并且所述动作是与所述第一个人实体相关的预订。
15.一种方法,包括:
在所生成的用于在显示设备上显示的内容中识别特征;
在将个人实体作为嵌入建模的个人知识库中使用针对所述个人实体的嵌入来识别由所述特征所预测的个人实体;以及
提供与所述个人实体相关的推荐,所述推荐将显示在所述显示设备上。
16.根据权利要求15所述的方法,其中,所述推荐是涉及所述个人实体的动作。
17.根据权利要求15所述的方法,其中,所述推荐是与所述个人实体共享与当前屏幕相关联的所述内容的建议。
18.根据权利要求15所述的方法,其中,所生成的用于显示的所述内容由第一应用生成,并且所述推荐是打开第二应用的建议。
19.根据权利要求15所述的方法,其中,所述推荐是在输入控件中从用户接收输入之前针对所述输入控件的补全。
CN201680025098.3A 2015-07-29 2016-07-28 个人实体建模 Active CN107851092B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/812,877 US10803391B2 (en) 2015-07-29 2015-07-29 Modeling personal entities on a mobile device using embeddings
US14/812,877 2015-07-29
PCT/US2016/044464 WO2017019861A1 (en) 2015-07-29 2016-07-28 Modeling personal entities

Publications (2)

Publication Number Publication Date
CN107851092A true CN107851092A (zh) 2018-03-27
CN107851092B CN107851092B (zh) 2022-04-26

Family

ID=56684743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680025098.3A Active CN107851092B (zh) 2015-07-29 2016-07-28 个人实体建模

Country Status (9)

Country Link
US (1) US10803391B2 (zh)
EP (1) EP3295329A1 (zh)
JP (1) JP6882988B2 (zh)
KR (2) KR102048029B1 (zh)
CN (1) CN107851092B (zh)
DE (1) DE112016003112T5 (zh)
GB (1) GB2553994A (zh)
RU (1) RU2017137748A (zh)
WO (1) WO2017019861A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795624A (zh) * 2019-01-11 2020-02-14 谷歌有限责任公司 分析个性化框架

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140156901A1 (en) 2005-10-26 2014-06-05 Cortica Ltd. Computing device, a system and a method for parallel processing of data streams
US11604847B2 (en) 2005-10-26 2023-03-14 Cortica Ltd. System and method for overlaying content on a multimedia content element based on user interest
US20160085733A1 (en) 2005-10-26 2016-03-24 Cortica, Ltd. System and method thereof for dynamically associating a link to an information resource with a multimedia content displayed in a web-page
US11361014B2 (en) 2005-10-26 2022-06-14 Cortica Ltd. System and method for completing a user profile
US11403336B2 (en) 2005-10-26 2022-08-02 Cortica Ltd. System and method for removing contextually identical multimedia content elements
US9646005B2 (en) 2005-10-26 2017-05-09 Cortica, Ltd. System and method for creating a database of multimedia content elements assigned to users
US10848590B2 (en) 2005-10-26 2020-11-24 Cortica Ltd System and method for determining a contextual insight and providing recommendations based thereon
US8326775B2 (en) 2005-10-26 2012-12-04 Cortica Ltd. Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof
US10742340B2 (en) 2005-10-26 2020-08-11 Cortica Ltd. System and method for identifying the context of multimedia content elements displayed in a web-page and providing contextual filters respective thereto
US10949773B2 (en) 2005-10-26 2021-03-16 Cortica, Ltd. System and methods thereof for recommending tags for multimedia content elements based on context
US11620327B2 (en) 2005-10-26 2023-04-04 Cortica Ltd System and method for determining a contextual insight and generating an interface with recommendations based thereon
US11032017B2 (en) 2005-10-26 2021-06-08 Cortica, Ltd. System and method for identifying the context of multimedia content elements
US11019161B2 (en) 2005-10-26 2021-05-25 Cortica, Ltd. System and method for profiling users interest based on multimedia content analysis
US11386139B2 (en) 2005-10-26 2022-07-12 Cortica Ltd. System and method for generating analytics for entities depicted in multimedia content
US11216498B2 (en) 2005-10-26 2022-01-04 Cortica, Ltd. System and method for generating signatures to three-dimensional multimedia data elements
US20160321253A1 (en) 2005-10-26 2016-11-03 Cortica, Ltd. System and method for providing recommendations based on user profiles
US11537636B2 (en) 2007-08-21 2022-12-27 Cortica, Ltd. System and method for using multimedia content as search queries
US10803391B2 (en) 2015-07-29 2020-10-13 Google Llc Modeling personal entities on a mobile device using embeddings
US10241754B1 (en) * 2015-09-29 2019-03-26 Amazon Technologies, Inc. Systems and methods for providing supplemental information with a response to a command
US11195043B2 (en) 2015-12-15 2021-12-07 Cortica, Ltd. System and method for determining common patterns in multimedia content elements based on key points
US11037015B2 (en) 2015-12-15 2021-06-15 Cortica Ltd. Identification of key points in multimedia data elements
US11210583B2 (en) * 2016-07-20 2021-12-28 Apple Inc. Using proxies to enable on-device machine learning
US10841257B1 (en) * 2016-10-25 2020-11-17 Twitter, Inc. Determining engagement scores for sub-categories in a digital domain by a computing system
US11153234B2 (en) * 2017-03-31 2021-10-19 Microsoft Technology Licensing, Llc Providing new recommendation in automated chatting
US11074280B2 (en) 2017-05-18 2021-07-27 Aiqudo, Inc Cluster based search and recommendation method to rapidly on-board commands in personal assistants
WO2018214164A1 (en) * 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Recommending friends in automated chatting
WO2019008581A1 (en) 2017-07-05 2019-01-10 Cortica Ltd. DETERMINATION OF DRIVING POLICIES
US11899707B2 (en) 2017-07-09 2024-02-13 Cortica Ltd. Driving policies determination
US11361383B1 (en) * 2017-09-06 2022-06-14 United Services Automobile Association (Usaa) Simplified interactive user interface
US11216745B2 (en) 2017-11-07 2022-01-04 Google Llc Incognito mode for personalized machine-learned models
US11422996B1 (en) * 2018-04-26 2022-08-23 Snap Inc. Joint embedding content neural networks
CN108959461B (zh) * 2018-06-15 2021-07-27 东南大学 一种基于图模型的实体链接方法
US10887655B2 (en) * 2018-06-27 2021-01-05 Microsoft Technology Licensing, Llc Cluster-based collaborative filtering
US10846544B2 (en) 2018-07-16 2020-11-24 Cartica Ai Ltd. Transportation prediction system and method
US10706308B2 (en) * 2018-08-07 2020-07-07 Accenture Global Solutions Limited Image processing for automated object identification
US11613261B2 (en) 2018-09-05 2023-03-28 Autobrains Technologies Ltd Generating a database and alerting about improperly driven vehicles
US11526670B2 (en) * 2018-09-28 2022-12-13 The Mitre Corporation Machine learning of colloquial place names
US20200133308A1 (en) 2018-10-18 2020-04-30 Cartica Ai Ltd Vehicle to vehicle (v2v) communication less truck platooning
US10839694B2 (en) 2018-10-18 2020-11-17 Cartica Ai Ltd Blind spot alert
US10748038B1 (en) 2019-03-31 2020-08-18 Cortica Ltd. Efficient calculation of a robust signature of a media unit
US11270132B2 (en) 2018-10-26 2022-03-08 Cartica Ai Ltd Vehicle to vehicle communication and signatures
US11392738B2 (en) 2018-10-26 2022-07-19 Autobrains Technologies Ltd Generating a simulation scenario
US11904863B2 (en) 2018-10-26 2024-02-20 AutoBrains Technologies Ltd. Passing a curve
US11604844B2 (en) * 2018-11-05 2023-03-14 Samsung Electronics Co., Ltd. System and method for cross-domain recommendations
US10789535B2 (en) 2018-11-26 2020-09-29 Cartica Ai Ltd Detection of road elements
CN109767301B (zh) * 2019-01-14 2021-05-07 北京大学 推荐方法及系统、计算机装置、计算机可读存储介质
US11170647B2 (en) 2019-02-07 2021-11-09 Cartica Ai Ltd. Detection of vacant parking spaces
US11643005B2 (en) 2019-02-27 2023-05-09 Autobrains Technologies Ltd Adjusting adjustable headlights of a vehicle
US11285963B2 (en) 2019-03-10 2022-03-29 Cartica Ai Ltd. Driver-based prediction of dangerous events
US11694088B2 (en) 2019-03-13 2023-07-04 Cortica Ltd. Method for object detection using knowledge distillation
US11132548B2 (en) 2019-03-20 2021-09-28 Cortica Ltd. Determining object information that does not explicitly appear in a media unit signature
US11908242B2 (en) 2019-03-31 2024-02-20 Cortica Ltd. Efficient calculation of a robust signature of a media unit
US11222069B2 (en) 2019-03-31 2022-01-11 Cortica Ltd. Low-power calculation of a signature of a media unit
US10776669B1 (en) 2019-03-31 2020-09-15 Cortica Ltd. Signature generation and object detection that refer to rare scenes
US11397742B2 (en) 2019-06-21 2022-07-26 Microsoft Technology Licensing, Llc Rescaling layer in neural network
US11204968B2 (en) * 2019-06-21 2021-12-21 Microsoft Technology Licensing, Llc Embedding layer in neural network for ranking candidates
US11704292B2 (en) 2019-09-26 2023-07-18 Cortica Ltd. System and method for enriching a concept database
KR20210045891A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 전자 장치의 화면 캡쳐 운용 방법
US11593662B2 (en) 2019-12-12 2023-02-28 Autobrains Technologies Ltd Unsupervised cluster generation
US11590988B2 (en) 2020-03-19 2023-02-28 Autobrains Technologies Ltd Predictive turning assistant
US11827215B2 (en) 2020-03-31 2023-11-28 AutoBrains Technologies Ltd. Method for training a driving related object detector
US11347780B2 (en) * 2020-04-30 2022-05-31 Intuit Inc. System and method for automatic suggestion and or correcting of search keywords
US11321785B2 (en) 2020-04-30 2022-05-03 Intuit Inc. System and method for providing global tag suggestions based on user information and transaction data
CN111710011B (zh) * 2020-06-10 2021-06-25 广州梦映动漫网络科技有限公司 一种漫画生成方法、系统、电子设备及介质
US11687833B2 (en) * 2020-08-27 2023-06-27 Google Llc Data management forecasting from distributed tracing
US11790172B2 (en) * 2020-09-18 2023-10-17 Microsoft Technology Licensing, Llc Systems and methods for identifying entities and constraints in natural language input
CN113298253B (zh) * 2021-06-03 2021-12-14 清华大学 用于命名实体识别的模型训练方法、识别方法及装置
US20230091581A1 (en) * 2021-09-21 2023-03-23 Bank Of America Corporation Personal Data Discovery

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009052308A1 (en) * 2007-10-17 2009-04-23 Roseman Neil S Nlp-based content recommender
US20090282012A1 (en) * 2008-05-05 2009-11-12 Microsoft Corporation Leveraging cross-document context to label entity
US20140052540A1 (en) * 2012-08-20 2014-02-20 Giridhar Rajaram Providing content using inferred topics extracted from communications in a social networking system
CN104598617A (zh) * 2015-01-30 2015-05-06 百度在线网络技术(北京)有限公司 一种搜索结果展示方法及装置
CN104636466A (zh) * 2015-02-11 2015-05-20 中国科学院计算技术研究所 一种面向开放网页的实体属性抽取方法和系统
JP5954053B2 (ja) * 2012-08-29 2016-07-20 コニカミノルタ株式会社 検索支援システム、検索支援方法、およびコンピュータプログラム

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60128486T2 (de) * 2000-12-08 2008-01-17 Chikka Pte. Ltd. Nachrichtensystem mit drahtloser kommunikation und verfahren dafür
WO2002088989A1 (en) 2001-04-30 2002-11-07 Goraya Tanvir Y Adaptive dynamic personal modeling system and method
US20040230572A1 (en) * 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
CA2481080C (en) 2002-04-05 2010-10-12 At&T Corp. Method and system for detecting and extracting named entities from spontaneous communications
US20060235873A1 (en) * 2003-10-22 2006-10-19 Jookster Networks, Inc. Social network-based internet search engine
US7421514B2 (en) * 2004-05-21 2008-09-02 J2 Global Communications Messaging protocol for processing messages with attachments by inserting into a field of the message a unique property of the attaching entity
US7478192B2 (en) * 2004-11-03 2009-01-13 Saffron Technology, Inc. Network of networks of associative memory networks
US7917943B1 (en) * 2006-12-01 2011-03-29 Goodmail Systems, Inc. E-mail Stamping with accredited entity name
US20070168379A1 (en) * 2006-01-17 2007-07-19 Patel Sushma B Method and apparatus for cataloging screen shots of a program
US20080109714A1 (en) * 2006-11-03 2008-05-08 Sap Ag Capturing screen information
US8626840B2 (en) * 2006-11-17 2014-01-07 Comverse Ltd. Method and system for generating a referencing secondary electronic mail message from a primary electronic mail message
WO2008120030A1 (en) * 2007-04-02 2008-10-09 Sobha Renaissance Information Latent metonymical analysis and indexing [lmai]
JP5351182B2 (ja) * 2008-02-25 2013-11-27 アティジオ リミテッド ライアビリティ カンパニー 関心領域についての関連情報の決定
WO2010008685A2 (en) * 2008-05-28 2010-01-21 Aptima, Inc. Systems and methods for analyzing entity profiles
US8185492B2 (en) * 2008-08-14 2012-05-22 Google Inc. Messaging application with multiple viewports for presenting messages in different orders
CN102326144B (zh) * 2008-12-12 2015-06-17 阿迪吉欧有限责任公司 使用感兴趣领域确定的信息提供建议
JP5044591B2 (ja) 2009-03-13 2012-10-10 株式会社東芝 メンバキーワード関係表示装置
US20100293247A1 (en) * 2009-05-18 2010-11-18 Verizon Patent And Licensing Inc. Application of social networking data
WO2010139277A1 (en) * 2009-06-03 2010-12-09 Google Inc. Autocompletion for partially entered query
US8719191B2 (en) 2010-03-01 2014-05-06 International Business Machines Corporation Training and verification using a correlated boosted entity model
JP5849953B2 (ja) 2010-08-06 2016-02-03 日本電気株式会社 コミュニケーション支援装置、コミュニケーション支援方法、およびプログラム
US9065786B2 (en) * 2010-09-24 2015-06-23 Yagi Corp. Context-sensitive auto-responder
WO2012177862A1 (en) * 2011-06-22 2012-12-27 Retail Royalty Company Methods and systems for online shopping incorporating dashboard features
US8983826B2 (en) 2011-06-30 2015-03-17 Palo Alto Research Center Incorporated Method and system for extracting shadow entities from emails
US20130031106A1 (en) 2011-07-29 2013-01-31 Microsoft Corporation Social network powered query suggestions
US10263936B2 (en) * 2011-09-07 2019-04-16 Elwha Llc Computational systems and methods for identifying a communications partner
TWI473474B (zh) * 2012-01-06 2015-02-11 Univ Nat Central 電子郵件分類方法
KR101994987B1 (ko) * 2012-02-22 2019-09-30 구글 엘엘씨 관련 엔티티들
CN103514165A (zh) * 2012-06-15 2014-01-15 佳能株式会社 用于识别对话中所提及的人的方法和装置
WO2014000200A1 (en) * 2012-06-28 2014-01-03 Sap Ag Consistent interface for document output request
US20140031060A1 (en) * 2012-07-25 2014-01-30 Aro, Inc. Creating Context Slices of a Storyline from Mobile Device Data
JP2014032434A (ja) 2012-08-01 2014-02-20 Sony Corp 情報処理装置、情報処理方法、及び、情報処理システム
US20140059130A1 (en) * 2012-08-22 2014-02-27 Mainsoft R&D Ltd. System and method for updating connections in social networks
US20140095629A1 (en) * 2012-10-02 2014-04-03 Thinkpuddle Inc. Systems and Methods for Organizing Events
US8949358B2 (en) 2012-10-25 2015-02-03 Palo Alto Research Center Incorporated Method and system for building an entity profile from email address and name information
US10025445B2 (en) * 2012-12-21 2018-07-17 International Business Machines Corporation Automated screen captures
US9129227B1 (en) * 2012-12-31 2015-09-08 Google Inc. Methods, systems, and media for recommending content items based on topics
WO2014139120A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Search intent preview, disambiguation, and refinement
US9191357B2 (en) * 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
TWI502381B (zh) * 2013-04-24 2015-10-01 Ind Tech Res Inst 別名查詢系統及其方法
KR102067057B1 (ko) * 2013-07-24 2020-01-16 엘지전자 주식회사 디지털 디바이스 및 제어 방법
US9384243B2 (en) * 2013-08-07 2016-07-05 Facebook, Inc. Real-time trend detection in a social network
US9727752B2 (en) * 2013-09-25 2017-08-08 Kairos Social Solutions, Inc. Device, system, and method of identifying a specific user from a profile image containing multiple people
US20150256491A1 (en) * 2014-03-04 2015-09-10 Microsoft Corporation Recipient suggestion system
IN2014MU00919A (zh) * 2014-03-20 2015-09-25 Tata Consultancy Services Ltd
US9459889B2 (en) * 2014-05-19 2016-10-04 Qualcomm Incorporated Systems and methods for context-aware application control
US10078631B2 (en) * 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US9686275B2 (en) * 2014-07-07 2017-06-20 International Business Machines Corporation Correlating cognitive biometrics for continuous identify verification
US9875268B2 (en) * 2014-08-13 2018-01-23 International Business Machines Corporation Natural language management of online social network connections
US9965559B2 (en) * 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9621650B2 (en) * 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US9575952B2 (en) * 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Unsupervised topic modeling for short texts
US10079785B2 (en) * 2015-02-12 2018-09-18 Google Llc Determining reply content for a reply to an electronic communication
US20170004134A1 (en) * 2015-07-03 2017-01-05 Microsoft Technology Licensing, Llc Asynchronous search query
US10803391B2 (en) 2015-07-29 2020-10-13 Google Llc Modeling personal entities on a mobile device using embeddings

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009052308A1 (en) * 2007-10-17 2009-04-23 Roseman Neil S Nlp-based content recommender
US20090282012A1 (en) * 2008-05-05 2009-11-12 Microsoft Corporation Leveraging cross-document context to label entity
US20140052540A1 (en) * 2012-08-20 2014-02-20 Giridhar Rajaram Providing content using inferred topics extracted from communications in a social networking system
JP5954053B2 (ja) * 2012-08-29 2016-07-20 コニカミノルタ株式会社 検索支援システム、検索支援方法、およびコンピュータプログラム
CN104598617A (zh) * 2015-01-30 2015-05-06 百度在线网络技术(北京)有限公司 一种搜索结果展示方法及装置
CN104636466A (zh) * 2015-02-11 2015-05-20 中国科学院计算技术研究所 一种面向开放网页的实体属性抽取方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周练: "Word2vec的工作原理及应用探究", 《科技情报开发与经济》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795624A (zh) * 2019-01-11 2020-02-14 谷歌有限责任公司 分析个性化框架
US11669431B2 (en) 2019-01-11 2023-06-06 Google Llc Analytics personalization framework
CN110795624B (zh) * 2019-01-11 2023-11-07 谷歌有限责任公司 分析个性化框架

Also Published As

Publication number Publication date
JP6882988B2 (ja) 2021-06-02
DE112016003112T5 (de) 2018-04-12
GB201717801D0 (en) 2017-12-13
KR20190130685A (ko) 2019-11-22
US20170032257A1 (en) 2017-02-02
KR20170132271A (ko) 2017-12-01
JP2018523187A (ja) 2018-08-16
WO2017019861A1 (en) 2017-02-02
EP3295329A1 (en) 2018-03-21
KR102048029B1 (ko) 2019-11-22
US10803391B2 (en) 2020-10-13
KR102189854B1 (ko) 2020-12-11
RU2017137748A (ru) 2019-08-29
CN107851092B (zh) 2022-04-26
GB2553994A (en) 2018-03-21

Similar Documents

Publication Publication Date Title
CN107851092A (zh) 个人实体建模
CN109800325B (zh) 视频推荐方法、装置和计算机可读存储介质
US11089457B2 (en) Personalized entity repository
US9965559B2 (en) Providing automatic actions for mobile onscreen content
JP2021108183A (ja) 意図推薦方法、装置、機器及び記憶媒体
EP3819791A2 (en) Information search method and apparatus, device and storage medium
US20230306052A1 (en) Method and system for entity extraction and disambiguation
US20180293483A1 (en) Creating a Conversational Chat Bot of a Specific Person
US20190188285A1 (en) Image Search with Embedding-based Models on Online Social Networks
US10540666B2 (en) Method and system for updating an intent space and estimating intent based on an intent space
US20140279722A1 (en) Methods and systems for inferring user attributes in a social networking system
CN108780463A (zh) 社交图的生成和管理
CN105512316B (zh) 一种结合移动终端的知识服务系统
MX2015006040A (es) Modelo de gramatica para consultas de busqueda estructuradas.
WO2018204076A1 (en) Personalized user-categorized recommendations
CN114328838A (zh) 事件抽取方法、装置、电子设备及可读存储介质
WO2017062256A1 (en) Method and system for generating a card based on intent
WO2017062245A1 (en) Method and system for dynamically generating a card
CN110347314A (zh) 一种内容展示方法、装置、存储介质和计算机设备
CN110020132B (zh) 关键词推荐方法、装置、计算设备及存储介质
Negaresh et al. Gender identification of mobile phone users based on internet usage pattern
KR102113663B1 (ko) 디지털 스토리텔링을 위한 계층적 분류 기반의 증분 클래스 학습 방법 및 컴퓨팅 장치
JP2018169661A (ja) 情報処理方法、装置、及びプログラム
US20230094459A1 (en) Data modeling for virtual collaboration environment
Chen et al. Predicting Next-use Mobile Apps Using App Semantic Representations

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