CN107688616B - 使实体的独特事实显现 - Google Patents

使实体的独特事实显现 Download PDF

Info

Publication number
CN107688616B
CN107688616B CN201710661288.0A CN201710661288A CN107688616B CN 107688616 B CN107688616 B CN 107688616B CN 201710661288 A CN201710661288 A CN 201710661288A CN 107688616 B CN107688616 B CN 107688616B
Authority
CN
China
Prior art keywords
sentence
entity
unique
document
facts
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.)
Active
Application number
CN201710661288.0A
Other languages
English (en)
Other versions
CN107688616A (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 CN107688616A publication Critical patent/CN107688616A/zh
Application granted granted Critical
Publication of CN107688616B publication Critical patent/CN107688616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/35Clustering; Classification
    • 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
    • G06F16/367Ontology
    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/387Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及使实体的独特事实显现。系统和方法识别并且提供与实体有关的有趣事实。示例方法包括:选择与至少一个独特事实触发相关联的文档,所述文档来自文档存储库。所述方法还包括:从所述文档生成实体‑句子对;以及,针对由所述实体‑句子对表示的实体中的第一实体,使用出现在句子中的突显项来将所述第一实体的所述实体‑句子对聚类。所述方法还包括:确定所述集群中的每一个集群的代表句子;以及,响应于识别所述第一实体的查询,提供至少一个代表句子。另一示例方法包括:确定查询与知识库中的实体有关;确定所述实体具有相关联的独特事实列表;以及响应于所述查询,提供在所述列表中的所述独特事实中的至少一个。

Description

使实体的独特事实显现
相关申请
本申请是2016年8月5日提交的标题为“Surfacing Unique Facts for Entities”的美国临时申请No.62,371,461号的非临时申请并且要求其优先权,其公开内容通过引用合并于此。
背景技术
传统上,搜索引擎搜索出现在文档中的查询项(query term),诸如,可通过互联网进行访问的网页。搜索引擎可以用于搜索其它数据源,诸如,知识库。知识库存储与实体有关的信息(例如,属性或者事实)。为知识库中的实体存储的事实往往是结构化的或者模式化的,或者换句话说,针对某种类型的实体的所有实例是共同的。例如,知识库可以包括:动物实体的学名、寿命、质量、保护现状等,并且可以具有城市实体的人口、地理位置、和市长。响应于提及在知识库中的实体的查询,可以将来自知识库的信息包括在文档中。
发明内容
实施方式提供了一种响应于对特定实体的查询自动识别并且提供独特事实(unique facts)的改进型搜索引擎。例如,实施方式可以从文档存储库中识别并且提取表示实体的独特事实的句子、确定最佳事实、并且响应于被定向到实体的查询提供这些事实中的一个或者多个。该查询可以具体地请求实体的独特事实或者有趣的事实或者可以是被定向到实体的查询。系统可以自动选择高质量、支持良好的事实,而不是表达差劣的事实或者缺少支持的事实。系统可以使用格式差劣的句子和需要场境以支持事实的句子,但是可以不响应于查询提供这样的句子。在一些实施方式中,系统可以将句子聚类,从而使得支持特定事实的句子聚类在一起并且可以从集群中选择一个句子作为集群的代表句子。响应于查询而提供的句子可以是代表句子,并且系统可以对代表句子进行分析以确保不显示重复的事实。可以按照随机顺序来显示句子,或者在一些实施方式中,可以对句子和集群进行评分,从而使得在得分较低的句子之前提供得分较高的代表句子。这些句子可被提供有指向它们从中被提取出的源文档的链接。
根据某些方面,一种系统包括:数据存储,该数据存储存储独特事实触发;以及查询处理系统。该查询处理系统可以包括:至少一个处理器;以及存储器,该存储器存储指令,该指令在由至少一个处理器执行时使查询处理系统执行操作。该操作包括:从文档存储库中选择与至少一个独特事实触发相关联的文档;以及为第一实体生成实体-句子对。实体可以是在存储实体和相应事实的知识库中的实体。生成实体-句子对包括:从所选择的文档中提取句子;以及针对所述句子中的至少一些句子中的每一句,在该句子中识别对第一实体的指代(reference);以及存储该句子和从中提取出该句子的文档的标识符,作为第一实体的实体-句子对。该操作还包括:通过对实体-句子对根据突显项(salient term)来聚类,来为第一实体生成至少一个主要独特事实集群;以及确定该至少一个主要独特事实集群中的每一个的代表句子。该操作还包括:响应于识别第一实体的查询,提供至少一个代表句子。
根据某些方面,一种方法包括:选择与至少一个独特事实触发相关联的文档。该文档来自文档存储库。该方法还包括:从选择的文档生成实体-句子对。在实体-句子对中的实体来自知识库并且当实体-句子对中的句子包括对该实体的提及时,将实体-句子对中的该实体与该句子相关联。该方法还包括:针对由实体-句子对表示的实体中的第一实体,使用出现在句子中的突显项来将第一实体的实体-句子对聚类,该聚类产生主要集群,其中,至少一个主要集群具有支持集群;以及确定主要集群中的每一个主要集群的代表句子。该方法还包括:响应于识别第一实体的查询,提供至少一个代表句子。
根据某些方面,一种方法包括:确定查询与知识库中的实体有关并且包括独特事实触发;确定实体具有相关联的独特事实列表,该独特事实列表包括从提及实体的源文档中提取的句子;以及响应于查询,提供独特事实列表。
根据某些方面,一种方法包括:确定查询与知识库中的实体有关;以及确定实体具有相关联的独特事实列表。该独特事实列表包括从提及实体的源文档中提取的句子。该方法还包括:从独特事实列表中选择独特事实中的至少一个独特事实;以及响应于查询,提供至少一个独特事实。
在另一方面中,一种系统可以包括:至少一个处理器;以及存储器,该存储器存储指令,该指令在由至少一个处理器执行时使计算系统执行先前描述的方法或者操作中的任何方法或者操作。
在另一方面中,一种记录并且嵌入有指令的有形计算机可读存储介质,该指令在由计算机系统的一个或者多个处理器执行时使计算机系统执行先前描述的方法或者操作中的任何方法或者操作。
可以实施本文描述的主题的一种或者多种实施方式以实现以下优点中的一个或者多个。作为一个示例,该系统可以增强由搜索引擎提供的搜索结果以包括搜索结果,这些搜索结果是与用户的查询的主题有关的令人感兴趣的并且有深刻见解的事实。作为另一个示例,该系统可以与数字助理一起工作以提供与场境(例如,位置或者主题兴趣)有关的令人感兴趣的并且有深刻见解的事实。例如,数字助理可以确定用户在特定地标附近并且提供与该地标有关的令人感兴趣的事实。可能没有对这样的事实进行具体请求,但是这样的事实可能是用户感兴趣的。添加至搜索结果或者经由数字助理提供的事实可以是高质量的,因为它们由多个源支持。此外,可以预先计算令人感兴趣的事实,从而使得虽然对质量独特事实的识别引起大量的处理功率,但是可以提供这样的事实作为低延迟搜索结果的一部分。
在附图和下面的描述中阐述了一种或者多种实施方式的细节。其它特征将通过描述和附图以及通过权利要求而变得显而易见。
附图说明
图1图示了根据一些实施方式的示例系统。
图2图示了根据一些实施方式的响应于对实体的查询示出独特事实的用户界面的表示。
图3图示了根据一些实施方式的响应于对实体的查询示出独特事实的用户界面的示例。
图4图示了根据一些实施方式的响应于对实体的查询示出独特事实和响应文档的用户界面。
图5图示了根据一些实施方式的用于响应于查询而识别、选择、以及提供独特事实的示例过程的流程图。
图6图示了根据一些实施方式的用于识别实体的独特事实的示例过程的流程图。
图7图示了根据一些实施方式的用于将表示实体的独特事实的句子聚类的示例过程的流程图。
图8图示了根据一些实施方式的用于对句子进行评分并且选择实体的独特事实的最佳表达的过程的流程图。
图9图示了根据一些实施方式的用于选择实体的代表句子列表的过程的流程图。
图10图示了根据一些实施方式的用于响应于对实体的查询选择独特事实进行呈现的过程的流程图。
图11示出了可以用于实施所描述的技术的计算机设备的示例。
图12示出了可以用于实施所描述的技术的分布式计算机设备的示例。
各个附图中的相同的参考标记指示相同的元素。
具体实施方式
图1是根据示例实施方式的搜索系统100的框图。系统100可以用于实施提供独特事实作为特定查询的搜索结果的一部分的搜索引擎。独特事实表示与实体相关的事实,但是当独特事实应用于大群组时(例如,该特定类型的实体),其通常不是令人感兴趣的或者相关的。因此,独特事实表示非结构化属性,或者换句话说,未针对知识库中的实体类型模式化的属性。将对图1中的系统100的说明描述为提供来自互联网语料库和/或知识库的搜索结果的搜索引擎系统,该互联网语料库和/或知识库还响应于对特定实体的查询提供独特事实。可以使用所描述的技术的其它配置和应用。例如,独特事实可以用于营销或者其它数据挖掘任务。在一些实施方式中,搜索引擎可以在不提供来自单独的文档语料库的搜索结果的情况下搜索知识库,反之亦然。
搜索系统100可以包括:独特事实发现系统110和查询系统120。独特事实发现系统110和查询系统120可以是采取若干不同设备形式的计算设备,例如,标准服务器、一组这样的服务器、或者机架式服务器系统。在一些实施方式中,独特事实发现系统110和查询系统120可以是共享组件(诸如,处理器和存储器)的单个系统。另外,可以在个人计算机中实施独特事实发现系统110和查询系统120,例如,台式计算机或者膝上型计算机。如在图12中描绘的,独特事实发现系统110和查询系统120可以是计算机设备1200的示例。
搜索系统100可以包括知识库190。该知识库190可以存储与实体有关的事实。在一些实施方式中,知识库190可以是数据图,在该数据图中,将实体存储为节点并且将事实存储为实体之间或者实体的属性-值对之间的关系。边缘可以是有标签的边缘并且标签可以表示数千或者数十万个不同的事实。如本文使用的,实体可以指人、地方、或者事情的物理实施例或者物理实体的表示,例如,文本、或者指代实体的其它信息。例如,实体可以是考拉或者指代考拉的抽象概念的物理实施例。知识库190可以包括允许查询处理器确定存储在知识库中的实体和那些实体的属性的索引。搜索系统还可以包括可搜索的文档存储库195。例如,文档存储库195可以包括存储出现在文档中的项(term)或者短语的索引、以及文档的内容或者指向内容的指针。在一些实施方式中,文档储存库195表示可通过互联网得到的文档。
可以将文档存储库195和知识库190存储在有形计算机可读存储设备(例如,盘、闪速存储器、高速缓存存储器或者其组合)上,该有形计算机可读存储设备被配置为按照半永久或者非暂时性格式来存储数据。在一些实施方式中,可以将文档储存库195和知识库190存储在各种存储器的组合中,并且可以将文档储存库195和知识库190中的一个或者两者分布在一个或者多个服务器上。在一些实施方式中,可以将文档储存库195和知识库190存储在从系统100去除但是可由系统100访问的服务器处。
独特事实发现系统110可以包括形成在基板中并且被配置为执行一个或者多个机器可执行指令的一个或者多个处理器113或者软件、固件的分片或者其组合。独特事实发现系统110可以包括:操作系统(未示出);以及被配置为临时、永久、或者半永久地存储数据的一个或者多个计算机存储器114(例如,主存储器)、或者其组合。存储器可以包括按照可由处理器113读取和/或执行的格式来存储信息的任何类型的存储设备。存储器114可以包括:易失性存储器、非易失性存储器、或者其组合,并且存储当由处理器113执行时执行某些操作的模块。在其它实施方式中,可以将模块存储在外部存储设备(未示出)中并且加载到存储器114中。模块(诸如,独特事实查找器115)可以使独特事实发现系统110能够识别并且组织(curate)可以直接存储在独特事实存储库153或者知识库190中的各种实体的独特事实。
例如,独特事实查找器115可以使用触发150来从文档存储库中选择文档作为独特事实的源。触发150可以表示用于识别包括有趣的、令人感兴趣的或者独特的事实的文档的短语。例如,触发150可以包括:短语列表,诸如,“fun facts(有趣的事实)”或者“did youknow(你知道吗)”或者“you might not know(你可能不知道)”等。短语是一个或者多个单词。这样的短语可以表示或者伴随着不寻常的或者独特的事实。在一些实施方式中,这些短语可以是白名单短语,并且触发150可以包括列入黑名单的短语,诸如,“fake(假的)”、“false(错误)”、“propaganda(宣传)”、“lies(谎言)”、“bad facts(不好的事实)”、“myths(神话)”等。这种列入黑名单的短语表示不太可能包括可靠事实的内容。在一些实施方式中,在触发150中的这些短语可以使用具有有趣的或者令人感兴趣的事实作为正面训练示例的文档和缺少有趣的/令人感兴趣的事实或者具有不好的事实或者神话作为负面训练示例的文档的预选集合,来进行机器学习。独特事实查找器115可以从作为独特事实源的文档存储库195中选择文档。当已经将文档包括在响应于包括列入白名单的触发短语的查询的文档中时,独特事实查找器115可以从文档存储库195中选择文档作为独特事实源。在这样的情况下,可以将查询视为指向文档。独特事实查找器115可以使用搜索记录155来识别查询和响应文档。当另一文档包括到文档的至少一个链接时,独特事实查找器115还可以将来自文档储存库195的文档视为独特事实源,该链接具有与一个或者多个列入白名单的触发短语相关联的文本。换句话说,如果第一文档包括指向第二文档的锚标记,并且该锚标记包括短语“fun facts(有趣的事实)”,则独特事实查找器115可以将第二文档视为独特事实源。在这个意义上,链接指向文档。
在一些实施方式中,当发现与指向文档的链接相关联的文本包括列入黑名单的触发短语中的任何触发短语时或者当文档被识别为响应于包括列入黑名单的短语的查询时,系统可以消除或者去除作为独特事实源的文档。在这样的实施方式中,当具有列入白名单的触发短语中的任何触发短语的查询或者链接而不是列入黑名单的触发短语中的任何触发短语指向文档时,独特事实查找器115可以将文档视为独特事实源。
在一些实施方式中,独特事实查找器115可以从独特事实源中去除低质量的文档。例如,独特事实查找器115可以利用低页面排名或者包括令人反感的内容的文档(例如,色情文档)来过滤掉文档,从而使得这样的文档不被视为独特事实源。作为另一示例,独特事实查找器115可以过滤掉可能是博客或者论坛的文档。作为另一示例,独特事实查找器115可以例如使用指纹技术来按照低质量(并且因此,不是独特事实源)识别任何聚合的、重复的、或者剽窃的文档。这样的文档仅重复其它文档的内容并且不提供独立的独特事实源,并且可以人为地扭曲对事实的支持。
一旦独特事实查找器115识别到作为独特事实源的文档,独特事实查找器115就可以从文档中提取句子。在提取句子时,独特事实查找器115可以将重点放在文档的正文上。正文是文档的核心、中心、或者重要部分并且不包括任何注释部分、菜单头、侧栏菜单等。事实查找器115可以对在独特事实源的核心部分中的句子执行语义分析以识别在句子中提及的实体。语义分析是自然语言处理中的步骤。例如,给定特定自由文本文档,诸如,网页,理解网页中的文本的语义可以涉及几种类型的分析,诸如,名词短语分段、实体标记、和使用已知的或者稍后开发的针对这样的分析的技术的指代分解。句子可以直接提及实体或者可以经由代词来指代实体。此外,相同句子可以提及超过一个实体。例如,独特事实查找器115可以确定句子“Moby Dick was written by Herman Melville(《白鲸》由赫尔曼·麦尔维尔所著)”提及实体《白鲸》(Moby Dick)和赫尔曼·麦尔维尔(Herman Melville)、以及更多的普通实体,诸如,Book和Author。
在一些实施方式中,独特事实查找器115可以生成实体-句子对,其中,将句子与被发现由该句子提及的每个实体配对。在一些实施方式中,独特事实查找器115可以从实体-句子对中排除低于时事性阈值的实体,例如,从而使得独特事实查找器115不将实体与句子配对。可以在对源文档进行语义分析期间针对句子或者针对文档确定实体-句子对的时事性得分。文档时事性得分表示实体在整体上对文档的时事性。如果实体是文档的主题,则文档时事性得分将很高,例如,以从0到1的尺度打分,接近1.0。在一些实施方式中,语义重要性得分表示实体对句子的时事性。例如,源文档可以是与猫有关的,但是句子可以将与狗有关的独特事实与猫相比较,例如,“a dog’s sense of smell is 100x more sensitivethan a cat’s(狗的嗅觉比猫的觉灵敏100倍)”。语义重要性得分可以用于满足时事性阈值。可以基于文档时事性得分、语义重要性得分、或者这些的组合来确定实体-句子对的时事性得分。实体需要满足的时事性阈值可以取决于实体的类型。例如,独特事实查找器115可以要求表示广泛类别的实体(诸如,书、国家、电影)以满足比特定的实体(诸如,澳大利亚或者《白鲸》)更高的时事性阈值。在一些实施方式中,该系统可以包括阈值表152以考虑不同的阈值。阈值表152可以包括特定实体的时事性阈值。如果阈值表152中存在实体,则该实体的阈值得分必须满足或者超过该实体在阈值表152中的阈值。否则,独特事实查找器115可以使用应用于在阈值表152中不具有条目的实体的默认阈值。按照这样的方式,该系统可以为一些实体设置较高的时事性阈值,但是对所有其它实体使用较低的默认阈值。在基于时事性对实体进行过滤的实施方式中,独特事实查找器115仅为具有满足或者超过适当的时事性阈值的时事性得分的实体生成实体-句子对。在一些实施方式中,将实体-句子对存储在例如,独特事实存储库153或者知识库190本身中。可以与附加信息一起存储实体-句子对,诸如,从中提取出句子的源文档(例如,源文档的URL)的指示、和该句子的实体的时事性得分。
在一些实施方式中,独特事实查找器115可以标记并且可选地过滤掉坏句子。独特事实查找器115可以将写得差劣的句子和/或需要场境的句子视为“坏”。句子可能需要场境,这是因为该句子使用代词,虽然在一些实施方式中独特事实查找器115可能不会因为该句子使用代词来指代与其配对的实体而将句子视为“坏”。当句子包括如同在第一子句中的“稍后”或者“然后”等项时,句子也可能需要场境。独特事实查找器115可以将这样的实体-句子对标志或者标示为“坏”,但是可以保持实体-句子对。在一些实施方式中,独特事实查找器115可以在存储实体-句子对之前从句子中去除某些前缀,例如,去除如“然而”或者“另外”的项。这样的前缀可能不需要场境,但是当将其呈现为查询结果时可能没有意义。在一些实施方式中,独特事实查找器115可以将这些句子标志为“坏”,但是这可以减少被识别并且呈现为搜索结果的独特事实的数量。
在一些实施方式中,独特事实查找器115可以将可能已经在知识库190中表示为结构化事实的句子过滤掉。例如,可以从实体-句子对中去除与某些模式匹配的句子(诸如,“Xis friend with(X是…的朋友)”、“X is married to(X与…结婚了)”、或者“X was bornon(X出生于)”,其中,X表示实体提及),因为这些句子不太可能表示独特事实。相反,这样的句子表示结构化事实。用于识别可能是结构化事实的句子的模式可以是手工策展的并且将其存储为系统100的一部分。
在一些实施方式中,独特事实查找器115可以经由聚类和排名来细化实体的实体-句子对。独特事实查找器115可以将实体的说的是相同事情但是方式略有不同的句子聚类在一起。进行聚类使系统能够避免在搜索结果中显示重复或者几乎重复的事实,并且使系统能够在表达相同事实的句子之间累积支持,这指示事实的正确性和独特性。在一些实施方式中,独特事实查找器115可以通过突显项来将句子聚类,其中,集群中的每个句子具有突显项的等同(equivalent)集合。突显项是句子中的不是停用词(诸如,“the”、“a”、“and”、或者独特事实查找器115认为不重要的其它词)的任何项。如果第一突显项和另一突显项在进行词形还原之后是相同项(例如,播放“play”和播放“playing”在进行词形还原之后是相同的),如果一个是另一个的同义词,或者如果两个项都是数字,则第一突显项和另一突显项等同。因此,为了进行聚类的目的,“three”和“four”可以是等同的突显项。在一些实施方式中,如果值都小于最大值,则数字项可以是等同的。例如,如果两个值都小于100,则项可以是等同的,如果一个或者两个值都超过最大值(例如,100),则项不是等同的。针对要包括在相同集群中的两个句子,在第一个句子的突显项的集合中的每个项必须在第二个句子的突显项的集合中具有等同项,反之亦然。将这些集群视为主要集群。在一些实施方式中,不需要对集群的大小进行最小要求。例如,主要集群可以仅包括一个句子。在一些实施方式中,当与来自支持集群的句子组合时,系统可以要求最小大小。在这样的系统中,例如,当支持集群包括至少一个句子(或者至少三个句子等)时,主要集群可以包括一个句子。
独特事实查找器115还可以识别主要集群中一个或者多个的支持集群。支持集群包括具有在主要集群中的句子的突显项的子集的句子。句子可以在多个支持集群中,但是在支持集群中的句子可以不是主要集群的代表句子。
在一些实施方式中,独特事实查找器115可以对实体-句子对进行排名。可以结合聚类或者独立于聚类来进行该排名。独特事实查找器115可以计算在实体-句子对中的每个句子的句子得分。在一些实施方式中,只有未被标志为坏的句子可以具有计算出的得分。句子得分可以基于若干因子。其中一个因子可以是源文档的实体的时事性。如上面讨论的,该文档时事性得分可以用于将实体-句子对过滤掉,并且可以与实体-句子对一起存储该文档时事性得分。另一因子可以是句子的源的排名(例如,页面排名得分)。在一些实施方式中,独特事实查找器115可以将文档时事性得分乘以源文档的排名以计算实体-句子对的置信因子。另一因子可以是句子的长度,例如,以字符或者单词计。长度因子可以是使太短或者太长的句子降级的降级因子。在一些实施方式中,例如,可以相对于中心点来测量太短或者太长,诸如,140个字符或者20个单词。句子的长度距离中心点越远,降级越高。另一因子可以是测量源文档的有趣商(fun quotient)的促进因子。例如,包括列入白名单的触发短语或者列入白名单的触发短语的同义词的源文档的导入链接越多,该促进因子越高。
另一因子可以是句子的逆文档频率得分。独特事实查找器115可以确定在句子中每个项的逆文档频率(IDF)得分,并且可以选择将在句子中的任何项的最高IDF得分作为句子的IDF得分。IDF得分表示项在文档的语料库中多么罕见,因此,在语料库中出现的频率较低的项具有比非常常见的项更高的IDF得分。句子的IDF得分可以是低IDF得分表示降级的降级因子。在一些实施方式中,可以由外部评价者(人)针对兴趣度因子评价实体-句子对中的一个或者多个。该因子对于评价者是主观的并且表示促进因子,从而使得可以给予令人不感兴趣的句子为零的兴趣度得分。当提供该因子时,可以将该因子包括在句子的得分中并且该因子表示促进因子。
在一些实施方式中,独特事实查找器115可以组合因子中的一个或者多个以计算句子得分。例如,句子得分可以是用于计算得分的因子中的每一个因子的乘积或者因子之和。在一些实施方式中,因子中的一个或者多个可以具有已应用的权重,从而使得在计算句子得分时该因子计数多于另一因子。因子的确切组合必须在句子之间是一致的,但是实施方式包括如上面概述的因子的各种组合。
在一些实施方式中,独特事实查找器115可以将句子得分与实体-句子对一起存储。在一些实施方式中,独特事实查找器115可以使用该得分来选择响应于对实体的查询要显示的句子。在将句子聚类的一些实施方式中,独特事实查找器115可以使用该得分来从每个主要集群中选择代表句子和/或对集群进行排名。例如,可以选择在具有最高句子得分的主要集群中的句子作为主要集群的代表句子。在一些实施方式中,可以响应于对实体的查询,按照递减的句子得分顺序来显示代表句子。在一些实施方式中,可以按照随机顺序来显示代表句子,但是句子得分可以用于影响随机化中使用的概率。在一些实施方式中,该系统可以随机地选择代表句子中的一个代表句子以便响应于查询进行显示。
独特事实查找器115还可以通过计算集群得分来对主要集群进行排名。集群得分可以是在主要集群中并且在支持集群中的句子的句子得分的组合。该组合可以是句子得分之和,但是也可以是一些其它组合,诸如,平均值或者乘积。在一些实施方式中,可以按照组合的方式来对在支持集群中的句子的句子得分进行权重降低。在一些实施方式中,独特事实查找器115可以在计算集群得分之前排除群集内的聚合的或者重复的内容。例如,独特事实查找器115可以确定出现在集群中得分较低的句子之前或者之后的句子是否与集群中得分较高的句子匹配,独特事实查找器115可以从集群得分计算中排除该句子。独特事实查找器115可以将集群指派存储在,例如,独特事实存储库153中,并且可以存储每个集群的集群得分。在一些实施方式中,该得分可以用于确定要显示哪些句子。例如,该系统可以使用代表句子的集群得分而不是句子得分来确定要显示哪些句子和/或显示代表句子的顺序。
系统100还可以包括搜索记录155。该搜索记录155可以包括:搜索日志、从查询采集到的聚合数据、或者与先前处理的查询的搜索项和搜索结果有关的其它数据。在存储或者使用在搜索记录155中的特定数据之前,可以按照一种或者多种方式来处理该特定数据,从而使得可以去除个人可识别信息。例如,可以处理用户的身份,从而使得无法针对用户确定个人可识别信息,或者可以将用户的可以从中获得位置信息(诸如,城市、邮政编码、或者州级别)的地理位置泛化,从而使得无法确定用户的特定位置。在一些实施方式中,可以由查询系统120在生成搜索结果184的正常过程中生成搜索记录155。
系统100还可以包括查询系统120。与独特事实发现系统110一样,查询系统120可以包括:一个或者多个处理器123、操作系统(未示出)和一个或者多个计算机存储器124。查询系统120可以包括模块,该模块存储在存储器124或者外部存储设备(未示出)中并且加载到使查询系统120能够接收和响应于查询的存储器124中。例如,模块可以包括:独特事实选择器125、查询处理器126、和用户界面127。查询处理器126可以从请求者(诸如,客户端170)接收查询,对该查询进行分析以确定搜索知识库190和文档存储库195的索引的方式,并且发起对索引的搜索。查询处理器126还可以接收搜索结果,对结果进行编译和格式化,并且确定返回至请求者的结果。在一些实施方式中,查询处理器126可以与用户界面127一起工作以提供用于显示搜索结果的数据。查询处理器126还可以与独特事实选择器125一起工作以响应于该查询呈现一个或者多个独特事实。独特事实选择器125可以从,例如,查询处理器126接收实体的指示,并且为该实体提供来自独特事实存储库153的一个或者多个实体-句子对。在一些实施方式中,可以将独特事实存储库153包括在知识库190中并且搜索在知识库190中的两个实体之间的公共连接。
查询系统120可以包括从请求者(诸如,客户端170)接收查询182的一个或者多个服务器,并且将这些查询提供至查询系统120。查询系统120可以负责搜索文档存储库195、知识库190、和响应于查询182的结果的潜在的其它数据源。搜索结果可以包括来自响应于查询的文档的信息或者响应于查询的实体的信息。例如,查询系统120可以从客户端(诸如,客户端170)接收查询182、使用查询处理器126来执行一些查询处理、并且从文档存储库195和知识库190检索结果。另外,查询处理器126可以与独特事实选择器125一起工作以通过查询182识别与实体相关联的独特事实。
查询处理器126可以从各种源获取搜索结果并且通过用户界面127将编译结果184提供至客户端170。查询系统120可以通过网络160来与客户端170通信。网络160可以是例如互联网,或者网络160可以是使用例如网关设备、桥接器、交换机等来实施的有线或者无线局域网(LAN)、广域网(WAN)等。经由网络160,查询系统120可以与客户端170通信并且向/从客户端170传输数据。虽然图示为单独的系统,但是在一些实施方式中,可以将独特事实发现系统110的一个或者多个组件包括在查询系统120中。此外,可以将所描述的一个或者多个模块的组件与另一模块组合,或者可以将其包括在单独的模块中。因此,系统100的示例的配置是示例配置,并且实施方式可以包括未示出的其它配置。
图2图示了根据一些实施方式的示出响应于对请求这样的事实的实体的查询而返回的独特事实的用户界面200的示例。查询系统(诸如,图1的查询系统120)可以生成用于响应于来自客户端170的查询而显示用户界面200的信息。在图2的示例中,用户已经提交了查询205—“koala fun facts(考拉有趣的事实)”。查询处理器(诸如,图1的查询处理器126)可以确定查询305与知识库中的实体koala有关并且还包括触发短语,例如,列入白名单的触发短语。这可以是查询处理器从,例如,独特事实存储库153获取实体koala的独特事实的指示。因为查询205包括触发短语,所以,查询处理器可以不直接搜索知识库,因为知识库大多包括不是独特的或者特别令人感兴趣的结构化事实。可以返回独特事实作为可滚动列表210。在该可滚动列表210中,每个事实可以包括事实的源的指示。该指示可以是指向源文档的链接。在一些实施方式中,如上所述,在可滚动列表120中的事实是来自集群的代表句子。在一些实施方式中,按照随机顺序来显示独特事实,并且在一些实施方式中,按照由句子得分或者集群得分确定的顺序来显示独特事实。除了独特事实的可滚动列表210之外,使用常规搜索技术,搜索结果可以包括响应于查询的文档列表215。可滚动列表210可以出现在相对于文档列表215突显的位置。
图3图示了根据一些实施方式的示出响应于对实体的查询而返回的独特事实的用户界面300的示例。查询系统(诸如,图1的查询系统120)可以生成用于响应于来自客户端170的查询而显示用户界面300的信息。在图3的示例中,用户已经提交了查询“考拉”。查询处理器(诸如,图1的查询处理器126)可以确定查询与知识库中的实体koala有关。这可以是查询处理器从知识库获取与koala实体有关的事实的指示。除了来自知识库的事实之外,查询处理器还可以从,例如,独特事实存储库153获取实体的独特事实310(若针对实体存在的话)。在一些实施方式中,可以随机选择独特事实310。在一些实施方式中,独特事实310可以是来自集群的代表语句。在一些施方式中,每当为查询提供搜索结果时,出现不同的独特事实。出现的顺序可以是随机的,或者可以基于首先显示得分最高的句子的句子得分或者集群得分。在一些实施方式中,独特事实310可以是显示为可滚动列表的多个事实中的一个事实,诸如,图2的列表210。独特事实310可以包括事实的源的指示。该指示可以是指向源文档的链接。
图4图示了根据一些实施方式的示出响应于对实体的查询而返回的独特事实的用户界面400的示例。查询系统(诸如,图1的查询系统120)可以生成用于响应于来自客户端170的查询而显示用户界面400的信息。在图4的示例中,用户已经在没有任何触发短语的情况下提交了查询405——“考拉”在没有任何触发短语的情况下。查询处理器(诸如,图1的查询处理器126)可以确定查询与知识库中的实体koala有关。这可以是查询处理器可选地获取与考拉有关的独特事实的指示。图4的界面与其中界面包括响应于查询的文档列表415的图2的界面类似,但是界面400仅包括一个独特事实410而不是可滚动列表。可以随机地选择独特事实410,从而使得每次接收到对实体考拉的查询时,显示的事实410改变。替选地,可以从得分最高的事实开始显示不同的事实410。在一些实施方式中,显示的事实可以是代表事实。
图5图示了根据一些实施方式的用于响应于查询识别、选择、并且提供独特事实的示例过程500的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程500。虽然为了便于讨论,针对单个实体来描述过程500,但是系统100可以同时针对许多实体执行过程500的部分。
过程500可以从提取实体的独特事实开始(505)。如在图6中更详细地图示的,系统可以一次提取多个实体的独特事实,因为提取事实包括对任何实体提及的文档进行分析。可以将每个独特事实表示为实体-句子对,其中,从被识别为独特事实源的文档中提取句子。系统然后可以将实体的独特事实聚类(510)。可以将聚类配置为对句子进行分组,从而使得将说明与实体有关的相同事情的句子放在相同集群中。图7图示了一种示例聚类方法。系统还可以对独特事实进行排名(515)。对独特事实进行排名可以包括:向每个独特事实(例如,每个实体-句子对)指派句子得分并且,如果句子被聚类,则计算每个集群的集群得分。针对图8更详细地描述了对独特事实进行排名。系统还可以响应于对实体的查询提供一个或者多个独特事实(520)。例如,通过包括触发短语(例如,存储在图1的触发150中的列入白名单的触发短语),查询可以是表示对实体的独特事实感兴趣的查询。这样的触发短语包括:“fun facts(有趣的事实)”、“did you know(你知道吗)”、“you might not know(你可能不知道)”、“oddities(怪癖)”等。查询还可以只识别实体。在一些实施方式中,响应于查询而提供的独特事实的数量可以取决于查询是否包括触发短语。
在过程500中,步骤505至步骤515可以周期性地出现(例如,每夜、每两周、每周、每月等),作为批处理或者离线处理。步骤505至步骤515生成可以响应于查询而使用的实体-句子对,例如,作为步骤520的一部分。因此,步骤520可以独立于步骤505至步骤515但是在执行了步骤505至步骤515中的至少一个之后发生。
图6图示了根据一些实施方式的用于识别实体的独特事实的示例过程600的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程600作为图5的步骤505的一部分。过程600识别和检查来自语料库的独特事实源文档,并且为在独特事实源文档中识别到的实体的子集生成实体-句子对。因此,过程600可以为多个实体生成实体-句子对。过程600可以从文档存储库中过滤掉低质量文档开始(605)。在一些实施方式中,文档储存库是可在互联网上获得的文档。文档存储库可以包括:网页、PDF文档、电子表格或者文字处理格式的文档、图像(可以将图像与来自图像标签的文本相关联或者图像可以执行辨识以识别在图像本身内的文本)等。系统可以在识别低质量文档时使用各种标准。在一些实施方式中,标准可以包括与查询无关的文档排名,诸如,页面排名(PageRank)得分。页面排名得分反映有多少其它文档链接至该文档,并且可以包括其它因子。低页面排名得分可以是低质量文档的指示。标准还可以包括分类。例如,系统可以将被分类为色情内容的文档视为低质量文档。同样,可以认为被分类为博客或者论坛的文档是低质量的。博客和论坛可能包括比事实更多的意见,并且不太可能具有可靠的事实。系统还可以将被分类为聚合的或者剽窃的文档视为低质量。被分类为聚合的或者剽窃的文档的内容与其它文档重复。例如,网站可以是来自新闻机构的新闻报道的集合。系统可以将这样的文档视为缺少原始内容并且因此,是低质量的。由系统使用来识别低质量文档的另一标准可以是黑名单。例如,可以将文档或者域添加至列表,并且在列表中的任何文档(例如,特别识别地或者与域匹配的)都被认为是低质量的。可以手动策展这样的列表。系统可以忽略低质量的文档,从而使得绝不将它们视为独特事实源。
系统可以选择与独特事实触发相关联的文档(该文档不是低质量文档)(610)。独特事实触发可以是指示独特的或者不寻常的事实的短语。例如,可以通过短语“did youknow(你知道吗)”来引入令人感兴趣的事实,所以,“did you know(你知道吗)”可以是触发短语。其它这样的触发短语包括:“fun facts(有趣的事实)”、“interesting facts(令人感兴趣的事实)”等。与这样的触发短语相关联的文档可以被认为是独特事实源。该系统可以按照各种方式来考虑与触发短语相关联的文档。例如,在一些实施方式中,该文档可以是被来自包括触发短语的其它文档的链接所指向的。例如,如果第一文档具有指向第二文档的链接并且该链接与文本“与考拉有关的有趣事实”相关联(例如,经由锚标签文本或者引入链接的句子),则将第二文档与触发短语相关联并且第二文档被认为是独特事实源。与指向文档的链接相关联的文本被认为比在文档本身中的文本更可靠,但是在一些实施方式中,文本可以来自文档本身。作为另一示例,如果文档出现在包括触发短语的查询的搜索结果中,则将文档与触发相关联。可以将查询及其搜索结果存储在,例如,匿名搜索记录中。因此,如果包括触发短语的文本指向文档(例如,经由查询或者通过链接),则系统可以将文档视为独特事实源。
在一些实施方式中,这些触发短语可以是列入白名单的触发短语并且触发短语可以包括列入黑名单的触发短语。例如,“interesting facts(有趣的事实)”可以是列入白名单的触发短语并且“lies(谎言)”或者“myths(神话)”可以是列入黑名单的触发短语。在这样的实施方式中,当包括任何列入白名单的触发短语的文本指向文档而不是包括列入黑名单的触发短语的任何文本指向文档时,系统可以仅将文档视为独特事实源。因此,例如,如果特定文档与“koala fun facts(考拉有趣的事实)”的查询相关联,但是也与具有文本“koala myths(考拉神话)”的链接相关联,则系统可以不将特定文档视为独特事实源。列入白名单的触发短语和列入黑名单的触发短语可以是手工策展的。
该系统可以从作为独特事实源的文档的核心部分提取句子(615)。核心部分包括文档的主要内容,但是不包括诸如注释、广告、菜单、侧栏等的部分。针对在核心部分中识别到的每个句子,系统可以识别在句子中提及的一个或者多个实体(620)。这些实体是存在于知识库中并且因此具有来自知识库的标识符的实体。该系统可以使用已知的或者稍后发现的实体提及技术来识别实体。使用这样的技术,系统可以识别在句子中使用的代词以及名词或者名词短语中的实体。另外,系统可以针对特定名词识别一个以上的实体。例如,在句子“cat urine glows under black light(猫尿在黑光下发光)”中,可以识别到句子中的实体cat和animal以及实体urine。
在一些实施方式中,系统可以使用基于文档时事性得分和/或语义重要性得分的时事性得分来对提及的实体进行过滤(625)。文档时事性得分是实体与句子所出现的文档的函数,并且表示实体整体上对文档有多大意义。例如,如果与猫尿有关的句子的源文档是关于猫的,则实体cat将具有高文档时事性得分并且urine的文档时事性得分将较低。然而,如果文档是关于尿的,则urine实体将具有较高的文档时事性得分。该系统还可以使用语义重要性得分来对实体进行过滤,该语义重要性得分表示实体对句子的时事性。例如,源文档可以是与猫有关的,但是句子可以将与狗有关的独特事实与猫相比较,例如,“a dog’ssense of smell is 100x more sensitive than a cat’s(狗的嗅觉比猫的嗅觉灵敏100倍)”。对于该句子,实体dog的语义重要性得分可能较高,但是文档时事性得分可能较低。可以基于文档时事性得分、语义重要性得分、或者这些的组合来确定实体-句子对的时事性得分。在一些实施方式中,如果文档时事性得分或者语义重要性得分满足阈值,则系统可以确定时事性得分满足阈值。系统可以过滤掉具有不能满足时事性阈值的时事性得分的句子的任何实体。时事性阈值可以是可变的并且取决于实体的类型。例如,被分类成类别的实体(例如,动物、国家等)可能必须满足比其它实体高的时事性阈值。作为另一示例,系统可以包括存储特定实体的时事性阈值的时事性表。例如,时事性表可以具有时事性阈值为.80的实体animal的条目和事性阈值为0.85的实体country的另一条目。在这样的实施方式中,如果在时事性表中未识别到实体,则系统可以使用默认时事性阈值(例如,.60)。因此,时事性阈值可以是可变的并且取决于实体。如果实体的时事性得分不满足该实体的时事性阈值,则系统可以忽略该实体,即,不将其与句子配对。
针对提取的每个句子并且针对在未被过滤掉的句子中识别到的每个实体(例如,由于未能达到时事性阈值),系统可以将实体和句子保存为实体-句子对(630)。在一些实施方式中,系统可以将其它信息与实体-句子对一起保存,例如,实体的时事性得分和从中提取出句子的源文档的标识符。还可以与句子-实体对一起存储其它信息。
系统可以继续处理存储库中的文档(635,是),对其它独特事实源文档重复步骤610至步骤630,直到已经处理了文档(635,否)。然后,过程600结束。将实体的已经识别到的独特事实表示为实体-句子对。在一些实施方式中,可以响应于搜索查询提供这些配对。在一些实施方式中,系统可以对集群执行附加处理,和/或对配对进行排名。
图7图示了根据一些实施方式的用于将表示实体的独特事实的句子聚类的示例过程700的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程700作为图5的步骤510的一部分。过程700将句子聚类,目的是按照不同的方式将表达相同事实的句子分组在一起。这样的集群使系统能够避免或者最小化显示重复的独特事实并且能够选择事实的最佳表达。然而,在一些实施方式中,聚类是可选的。针对单个实体讨论过程700,但是系统可以对由实体-句子对表示的每个实体执行过程700。
过程700可以从实体的实体-句子对中识别实体的坏句子(705)开始。坏句子表示需要场境才具有意义的句子和语法不正确的句子。如果句子的语法是不合需要的,则系统可能将实体-句子对标示为“坏”。同样,如果句子需要外部场境,则系统可能将实体-句子对标示为“坏”。可以利用与句子-实体对一起存储的字段或者标示来进行标示。标示为“坏”的句子可以用于支持类似的事实,但是在选择最佳表达时,不会考虑该句子。可以认为包括短语(诸如,在第一子句中的“later(稍后)”或者“then(然后)”)的句子需要外部场境。
同样,可以认为包括未分解的代词的句子需要外部场境。当代词指代的名词包括在句子中时,在句子中对代词进行了分解,并且因此,不需要外部场境。例如,句子“Thekoala gave the kangaroo his banana(考拉将他的香蕉给了袋鼠)”包括分解了的代词his,该代词指代回句子中的名词koala。该系统不会认为这样的代词是未分解的。在一些实施方式中,系统还可以不将唯一代词指代实体的句子(即,实体-句子对中的实体)视为未分解的。当响应于对实体的查询显示这样的句子时,这样的句子将不需要外部场境。
类似地,可以认为包括由专有名词在文档中的其它地方指代的名词的句子需要外部场境。例如,句子“Tom Hanks played the lead in the movie(汤姆·汉克斯在电影中扮演主角)”不包括代词,但是当名词“movie(电影)”单独呈现时,名词“movie(电影)”是不明确的。然而,句子“Sully opened last weekend and Tom Hanks played the lead inthe movie(Sully上周上映了,汤姆·汉克斯在电影中扮演主角)”不需要外部场境,这是因为“movie(电影)”所指的专有名词包括在句子中。类似地,如果由专有名词在文档中的其它地方指代的名词是句子的话题实体(例如,“The movie set box-office records itsopening weekend(电影票房记录其在周末上映)”),则句子不需要外部场境,这是因为,当响应于对主题实体的查询(例如,Star Wars)显示句子时,不需要外部场境。
在一些实施方式中,系统可以将以比如“however(然而)”、“also(还)”、或者“inaddition(另外)”等短语开始的句子视为不需要外部场境。在一些实施方式中,系统可以从句子中去除可以作为句子中的插入语的前缀或者作为插入语出现的这样的短语,并且不认为句子需要外部场境。在这样的实施方式中,不将句子标示为坏。在一些实施方式中,可以将句子识别为坏,作为识别句子中的实体的一部分,例如,作为图6的步骤620的一部分。
系统还可以消除与知识库中的结构化事实匹配的句子(710)。可以将这样的句子从实体-句子对中完全去除,而不是仅仅将其标志为“坏”。与结构化事实的模式匹配的句子不表示独特事实,因为这样的事实被模式化并且因此对若干不同的实体是共同的。模式可以是正则表达,诸如,“X is friends with(X是…的朋友)”和“X was born on(X出生于)”或者“X lives in/on(X生活在)”。可以基于知识库中的事实来手动策展或者自动生成模式。可以将与模式中的一种模式匹配的句子过滤掉,从而使得该句子不用于进行聚类或者排名。在一些实施方式中,可以消除这样的配对,作为识别句子中的实体的一部分,例如,作为图6的步骤620的一部分。
系统可以确定每个句子的突显项的集合(715)。突显项不包括:停用词(诸如,“the”、“a”、“of”、动词形式“to be”等)\以及指代实体(例如,实体-句子对的实体)的项。将提及除了由实体-句子对表示的实体之外的实体的项包括在突显项的集合中。系统可以为突显项的集合生成突显项的引理。该引理表示项的不同变型的单个版本。例如,可以将复数项改变为单数形式,从而使得将单数形式保存在突显项的集合中。同样,还可以将动词的词形变化转换为基本词形变化,从而使得“revolves”和“revolved”在突显项的集合中变为“revolve”。
系统然后可以使用突显项来生成集群(720)。在一些实施方式中,系统可以生成主要集群和支持集群。主要集群可以包括具有突显项的等同集合的句子。因此,如果在突显项集合T中的每个项在突显项的第二集合S中具有等同项,则突显项集合T与突显项的第二集合S等同,反之亦然。当突显项A与另一突显项B相同时,突显项A与另一突显项B等同,突显项A是突显项B的同义词,或者突显项A和突显项B两者都是数值。如上面在一些实施方式中指示的,数值必须都低于某一最大值。支持集群可以支持主要集群。当句子的突显项的集合是主要集群的突显项的集合的子集时,系统可以在主要集群的支持集群中放入句子。句子可以出现在许多支持集群中,但是只可以出现在一个主要集群中。不将在支持集群中的句子视为事实的最佳表达。如上面描述的那样使用突显项来生成集群是生成集群的一个示例,并且实施方式可以使用其它方法。一旦将实体-句子对指派给集群,可以与该配对一起存储集群标识符(或者多个标识符)。然后,过程700结束。
图8图示了根据一些实施方式的用于对句子进行评分并且选择实体的独特事实的最佳表达的过程800的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程800作为图5的步骤515的一部分。过程800向实体-句子对中的每个句子指派得分,目的是识别实体得最令人感兴趣的或者独特的或者有趣的事实。在一些实施方式中,系统还可以对集群进行评分,并且选择由集群表示的事实的最佳表达。针对单个实体讨论了过程800,但是系统可以对由实体-句子对表示的每个实体执行过程800。
过程800可以通过计算在实体的实体-句子对中的每个句子的句子得分开始(805)。句子得分可以是因子的组合。因子中的一个可以是配对的时事性得分,例如,作为图6的过程600的一部分。在一些实施方式中,可以将时事性得分乘以源文档的与查询无关的排名,例如,从中提取出句子的文档的页面排名。当将源文档视为高质量文档时,这会提高实体-句子对的时事性得分。如在图6中讨论的,时事性得分可以是文档时事性得分、语义重要性得分、或者这些得分的组合或者其它类似的得分。另一因子可以是长度因子。长度因子可以是使太短或者太长的句子降级的降级因子。在一些实施方式中,可以针对中心点来测量太短或者太长,诸如,140个字符、20个词等。可以将中心点设置或者调整为系统的配置参数。系统可以给予的降级较高,句子偏离中心点的长度越大。降级因子的中心点和精确量可以是特定于满足系统的需要的实施方式。在通过加法来组合因子的实施方式中,降级因子可以是负数,其中,零表示未降级。在通过乘法来组合因子的实施方式中,降级因子的范围可以在零与正数之间,其中,大于1的正数表示未降级。类似的降级因子可以用于其它实施方式。
另一因子可以是测量源文档的有趣商的促进因子。有趣商测量指向源文档的链接与将源文档包括在包括触发短语(例如,列入白名单的触发短语)的搜索结果中的查询的分数。例如,如果特定句子的源文档具有十个导入链接并且出现在五个查询的搜索结果中,并且其中六个导入链接与触发短语相关联而其中三个查询与触发短语相关联,则文档可以具有9/15或者0.60的有趣商因子。
另一因子可以是句子的逆文档频率因子。逆文档频率因子可以是降低缺少罕见项或者独特项的句子的句子得分的降级因子。系统可以确定在句子中的每个项的逆文档频率(IDF)得分,并且可以选择在句子中的任何项的最高IDF得分作为句子的IDF得分。IDF得分表示项在文档的语料库中多么罕见,因此,在语料库中出现的频率较低的项具有比非常常见的项更高的IDF得分。另外,在一些实施方式中,可以由外部评价者(人)来针对兴趣度因子评价实体-句子对中的一个或者多个。该因子对评价者而言是主观的并且表示促进因子,当呈现句子得分时,该促进因子提高句子的得分。当提供该因子时,可以将该因子包括在句子的得分中并且该因子表示促进因子。
系统可以将因子中的两个或者多个进行组合以计算句子得分。对实体-句子对中的每个句子进行该操作。在一些实施方式中,可以在生成实体-句子对时执行评分,例如,作为图6的过程600的一部分。作为一个示例,句子得分可以是用于计算得分的因子中的每一个的乘积。作为另一示例,句子得分可以是因子之和。在一些实施方式中,因子中的一个或者多个可以被应用了权重,从而使得在计算句子得分时该因子计数多于另一因子。因子的确切组合必须在句子之间是一致的,但是实施方式包括如上面概述的因子的各种组合。在一些实施方式中,可以与实体-句子对一起存储句子得分。
在将句子聚类的实施方式中,系统可以选择在接收到最高句子得分的集群中的句子(810)。可以从主要集群中而不是从支持集群中选择该句子。可以将选择的句子称为代表句子,并且选择的句子可以表示来自集群的事实的最佳表达。
系统还可以识别具有重复内容的实体的句子(815)。虽然系统可以已经过滤掉是重复内容的文档作为初始步骤,但是源文档仍然可以具有重复部分,例如,与另一文档中的段落相同的段落。系统可以试图过滤掉这样的重复内容,从而使得这样的重复内容不会对集群得分产生影响。在一些实施方式中,系统可以通过查看在源文档中的句子的场境来识别重复的句子,例如,系统可以查看前面的句子和在讨论中的句子之后的句子。前一句和下一句与相同集群中的另一句的前一句和下一句匹配,系统可以过滤掉具有较低句子得分的句子。可以将该句子标示为,例如,实体-句子对的属性、标示为重复的,并且可以在对集群进行评分时被排除。
系统可以基于在主要集群及其支持集群中的句子的集群得分来计算每个主要集群的集群得分(820)。该计算可以不包括先前的步骤中被识别为重复内容的任何句子。在一些实施方式中,系统可以添加句子得分。在一些实施方式中,系统可以存储集群得分,从而使得该集群得分可以用于确定响应于查询和/或在对多个事实进行排序时显示哪个事实。然后,针对该实体,过程800结束。
图9图示了根据一些实施方式的用于选择实体的代表句子列表的过程900的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程900。在一些实施方式中,可以执行过程900作为图5的步骤520的一部分。在一些实施方式中,可以在接收查询之前执行过程900,例如,作为过程800的一部分。过程900确定用于响应于对实体的查询而显示的独特事实列表并且旨在排除具有重复内容的事实。为了便于讨论,针对单个实体讨论了过程900,但是系统可以对由实体-句子对表示的每个实体执行过程900。
过程900可以通过确定代表句子中的每一个代表句子的独特项的集合开始(905)。可能已经选择了代表句子,例如,作为过程800的一部分,或者可以如上面针对步骤810描述的那样来选择代表句子。独特项是具有高于指定阈值的逆文档频率的项。该阈值确保用于识别独特事实的项是不常见的项。
系统可以开始按照集群得分的相反顺序来选择代表句子,从而使得首先选择来自具有最高集群得分的集群的代表句子(910)。然后,系统可以确定代表句子是否具有与来自先前选择的代表句子的独特项匹配的任何独特项(915)。例如,系统可以将句子的独特项(在步骤905中识别到的)与已经在该实体的独特事实列表中的任何句子的独特项相比较。如果没有独特项与已经在列表中的句子的独特项匹配(915,否),则系统可以将该代表句子添加至列表(920)。如果存在该句子的与已经在列表中的句子的独特项匹配的独特项(915,是)或者在将句子添加至列表之后,系统可以移动至具有下一最高集群得分的集群(925,是)并且对在该集群中的代表句子重复步骤910至步骤925。该循环继续,直到已经处理了该实体的所有集群(925,否)。系统然后可以存储实体的独特事实列表(930)。可以响应于对如由图2的列表201图示的实体的查询来提供列表。
图10图示了根据一些实施方式的用于响应于对实体的查询选择用于呈现的独特事实的过程1000的流程图。可以由系统(诸如,图1的搜索系统100)来执行过程1000。在一些实施方式中,可以执行过程1000作为图5的步骤520的一部分。过程1000确定是否响应于查询提供独特事实、以及按照哪种格式来提供事实。过程1000是响应于查询的一个示例过程,并且实施方式可以包括从独特事实中进行选择(例如,从实体-句子对或者独特事实列表中)以便响应于对实体的查询而显示的其它方法。
进程1000可以在系统确定查询被定向到或者识别实体时开始(1005)。实体可以存在于知识库中。然后,系统可以确定实体是否具有任何独特事实(1010)。在一些实施方式中,独特事实可以是在独特事实列表中的事实。由系统策展这样的事实以消除重复并且呈现每个事实的最佳表示。在一些实施方式中,系统可以使用实体-句子对。如果实体不具有实体-句子对(1010,否),则过程1000结束,并且系统可以提供来自其它源的搜索结果。
如果实体确实具有独特事实(1010,是),则在一些实施方式中,系统可以将独特事实的顺序随机化(1015)。这可以是可选的,因为在一些实施方式中,系统可以按照排名的顺序来呈现事实(例如,如存储在列表中的顺序或者按照句子得分)。系统还可以确定查询是否包括独特事实触发(1020)。独特事实触发可以是用于选择文档作为独特事实源的短语中的一个。还可以从触发短语的单独的集合中选择独特事实触发。因此,用于选择独特事实源的短语可以与用于识别请求独特事实或者有趣事实的查询的短语不同。在一些实施方式中,这些短语可以是在触发短语的白名单中的短语。如果查询确实包括这样的触发(1020,是),则系统可以响应于查询发起对实体的多个独特事实的呈现(1025)。例如,系统可以呈现生成的整个独特事实列表作为过程900的一部分。在一些实施方式中,系统可以发起呈现独特事实列表的子集。在一些实施方式中,系统可以发起对一定数量的具有最高句子得分的实体-句子对的呈现,尽管不经由某种类型的策展(聚类和排名)来选择事实具有显示重复事实的风险。如果查询不包括独特事实触发(1020,否),则系统可以选择一个独特事实以包括在搜索结果中(1030)。可以随机地选择该事实,或者可以按照顺序来选择,例如,按照它们出现在独特事实列表中的顺序,或者按照句子得分的顺序等。因此,每当用户提交对不具有触发的实体的查询时,系统可以显示不同的独特事实。然后,过程1000结束。
图11示出了通用计算机设备1100的示例,该通用计算机设备1100可以是可以与此处描述的技术一起使用的图1的系统100和/或客户端170。计算设备1100旨在表示各种示例形式的计算设备,诸如,膝上型计算机、台式计算机、工作站、个人数字助理、蜂窝电话、智能电话、平板、服务器、和其它计算设备,包括可穿戴设备。这里所示的组件、它们的连接和关系、以及它们的功能仅仅旨在作为示例,并且不旨在限制本文档中描述的和/或要求保护的本发明的实施方式。
计算设备1100包括:处理器1102、存储器1104、存储设备1106、经由接口1108连接的扩展端口1110。在一些实施方式中,计算设备1100包括:经由接口1108连接的收发器1146、通信接口1144、和GPS(全球定位系统)接收器模块1148以及其它组件。设备1100可以通过通信接口1144来进行无线通信,必要时,该通信接口1144可以包括数字信号处理电路。组件1102、1104、1106、1108、1110、1140、1144、1146和1148中的每一个可以安装在公共主板上或者根据需要以其它方式安装。
处理器1102可以处理对在计算设备1100内执行的指令进行处理,包括存储在存储器1104中或者存储设备1106上以在外部输入/输出设备(诸如,显示器1116,该显示器1116可以是监视器或者平板触摸屏显示器)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多种类型的存储器一起使用。同样,可以连接多个计算设备1100,每个设备提供部分必要的操作(例如,作为服务器群、刀片式服务器组、或者多处理器系统)。
存储器1104在计算设备1100内存储信息。在一种实施方式中,存储器1104是一个或者多个易失性存储器单元。在另一实施方式中,存储器1104是一个或者多个非易失性存储器单元。存储器1104还可以是另一种形式的计算机可读介质,诸如,磁盘或者光盘。在一些实施方式中,存储器1104可以包括通过扩展接口提供的扩展存储器。
存储设备1106能够为计算设备1100提供大容量存储。在一种实施方式中,存储设备1106可以是或者可以包含计算机可读介质,诸如,软盘设备、硬盘设备、光盘设备、或者磁带设备、闪速存储器或者其它类似的固态存储器设备、或者设备的阵列(包括存储区域网络中或者其它配置的设备)。计算机程序产品可以有形地体现为这样的计算机可读介质。计算机程序产品还可以包含指令,该指令在被执行时执行一种或者多种方法,诸如,上文描述的那些方法。计算机或者机器可读介质是存储设备,诸如,存储器1104、存储设备1106、或者在处理器1102上的存储器。
接口1108可以是管理计算设备1100的带宽密集型操作的高速控制器或者管理较低的带宽密集型操作的低速控制器或者这样的控制器的组合。可以提供外部接口1140以使设备1100能够与其它设备进行邻近区域通信。在一些实施方式中,可以将控制器1108耦合至存储设备1106和扩展端口1114。可以例如,通过网络适配器来将可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口耦合至一个或者多个输入/输出设备,诸如,键盘、指针设备、扫描器、或者网络设备(诸如,交换机或者路由器)。
如图所示,可以利用多种不同的形式来实施计算设备1100。例如,可以将计算设备1100实施为标准服务器1130、或者多次实施在这样的服务器组中。还可以将计算设备1100实施为机架服务器系统的一部分。另外,计算设备1100可以被实施在个人计算机(诸如,膝上型计算机1122、或者智能电话1136)中。整个系统可以由彼此通信的多个计算设备1100组成。其它配置也是可能的。
图12示出了通用计算机设备1200的示例,该通用计算机设备1200可以是可以与此处描述的技术一起使用的图1的系统100。计算设备1200旨在表示各种示例形式的大规模数据处理设备,诸如,服务器、刀片式服务器、数据中心、大型计算机、和其它大规模计算设备。计算设备1200可以是具有多个处理器的分布式系统,该多个处理器可能包括通过一个或者多个通信网络相互连接的附接网络的存储节点。本文所示的组件、它们的连接和关系、以及它们的功能仅仅旨在作为示例,并且不旨在限制本文档中描述的和/或要求保护的本发明的实施方式。
分布式计算系统1200可以包括任何数量的计算设备1280。该计算设备1280可以包括通过局域网或者广域网、专用光链路、调制解调器、网桥、路由器、交换机、有线或者无线网络等进行通信的服务器或者机架服务器、大型计算机等。
在一些实施方式中,每个计算设备可以包括多个机架。例如,计算设备1280a包括多个机架1258a至1258n。每个机架可以包括一个或者多个处理器,诸如,处理器1252a至1252n和1262a至1262n。处理器可以包括:数据处理器、附接网络的存储设备、和其它计算机受控设备。在一些实施方式中,一个处理器可以操作为主处理器并且控制调度和数据分布任务。可以通过一个或者多个机架开关1258来使处理器相互连接,并且可以通过开关1278来连接一个或者多个机架。开关1278可以处理多个连接的计算设备1200之间的通信。
每个机架可以包括存储器(诸如,存储器1254和存储器1264)和储存器(诸如,1256和1266)。储存器1256和1266可以提供大容量存储并且可以包括易失性或者非易失性存储器,诸如,附接网络的盘、软盘、硬盘、光盘、磁带、闪速存储器或者其它类似的固态存储器设备,或者设备的阵列(包括存储区域网络中或者其它配置的设备)。可以在多个处理器、多个机架、或者多个计算设备之间共享储存器1256或者1266,并且储存器1256或者1266可以包括存储可由一个或者多个处理器执行的指令的计算机可读介质。存储器1254和1264可以包括:例如,易失性存储器单元、非易失性存储器单元、和/或其它形式的计算机可读介质,诸如,磁盘或者光盘、闪速存储器、高速缓冲存储器、随机存取存储器(RAM)、只读存储器(ROM)及其组合。还可以在处理器1252a至1252n之间共享存储器(诸如,存储器1254)。例如,可以将数据结构(诸如,索引)存储在储存器1256和存储器1254中。计算设备1200可以包括未示出的其它组件,诸如,控制器、总线、输入/输出设备、通信模块等。
整个系统(诸如,系统100)可以由彼此通信的多个计算设备1200组成。例如,设备1280a可以与设备1280b、1280c、和1280d通信,并且可以将这些设备统称为系统100。作为另一示例,图1的系统100可以包括一个或者多个计算设备1200作为独特事实发现系统110或者查询系统120。此外,计算设备中的一些可以在地理位置上彼此靠近,并且其它计算设备可以在地理位置上远离。系统1200的布局仅仅是示例,并且系统可以采取其它布局或者配置。
根据某些方面,一种系统包括:数据存储,该数据存储存储独特事实触发;以及查询处理系统。该查询处理系统可以包括:至少一个处理器;以及存储器,该存储器存储指令,该指令在由至少一个处理器执行时使查询处理系统执行操作。该操作包括:从文档存储库中选择与至少一个独特事实触发相关联的文档;以及为第一实体生成实体-句子对。实体可以是在存储实体和相应事实的知识库中的实体。生成实体-句子对包括:从选择的文档中提取句子;以及针对所述句子中的至少一些句子中的每一句,识别对该句子中的第一实体的指代;以及存储该句子和从中提取出该句子的文档的标识符,作为第一实体的实体-句子对。该操作还包括:通过对实体-句子对根据突显项来聚类,来为第一实体生成至少一个主要独特事实集群;以及确定该至少一个主要独特事实集群中的每一个的代表句子。该操作还包括:响应于识别第一实体的查询,提供至少一个代表句子。
这些和其它方面可以包括以下特征中的一个或者多个。例如,选择与至少一个独特事实触发相关联的文档可以包括:针对选择的文档中的第一文档,在与指向该第一文档的链接相关联的文本中识别独特事实触发短语和/或在存储在历史搜索记录的数据存储中的第一查询中识别独特事实触发短语;该第一文档是在历史搜索记录的数据存储中的第一查询的搜索结果中识别的、和/或从选择中排除与至少一个黑名单短语相关联的文档,该黑名单短语包括lies、myths、和fake中的至少一个。作为另一示例,从文档中选择的句子可以是从不包括注释的中心部分中选择的。
作为另一示例,生成至少一个主要独特事实集群可以包括:确定每个句子的突显项的集合;以及在突显项的相应集合等同时将第一句子和第二句子聚类。突显项的集合不包括停用词。当第一项和第二项相同、第一项是第二项的同义词、或者第一项和第二项是数字(不管该数字表示的值)时,第一项和第二项等同。作为另一示例,响应于查询提供至少一个代表句子可以包括:提供所有代表句子作为可滚动列表。作为另一示例,针对所存储的每个实体-句子对,第一实体满足时事性阈值。该时事性阈值是第一实体的类型和第一实体对于从中提取出句子的文档的时事性的函数。
根据某些方面,一种方法包括:选择与至少一个独特事实触发相关联的文档。该文档来自文档存储库。该方法还包括:从所选择的文档生成实体-句子对。在实体-句子对中的实体来自知识库并且当实体-句子对中的句子包括对所述实体的提及时,将所述实体与所述句子相关联。该方法还包括:针对由实体-句子对表示的实体中的第一实体,使用出现在句子中的突显项来将第一实体的实体-句子对聚类,该聚类产生主要集群,其中,至少一个主要集群具有支持集群;以及确定主要集群中的每一个主要集群的代表句子。该方法还包括:响应于识别第一实体的查询,提供至少一个代表句子。
这些和其它方面可以包括以下特征中的一个或者多个。例如,该方法还可以包括:针对第一实体的实体-句子对中的每个句子:相对于第一实体,确定将句子分类为坏还是好。只有分类为好的句子才有资格成为代表句子。确定将句子分类为坏或者好可以包括:确定句子是否包括代词,以及响应于确定句子确实包括代词,确定该代词是指句子的主题还是句子中的名词,以及当该代词指句子的主题或者指句子中的名词时,将句子分类为好。确定将句子分类为坏还是好还可以包括:确定句子是否包括在句子的源中的其它地方由专有名词指代的名词,以及响应于确定句子确实包括由专有名词指代的名词,确定该名词指句子的主题或者确定句子包括专有名词,以及响应于该确定,将句子分类为好。
作为另一示例,确定每个主要集群的代表句子可以包括:计算在主要集群中的实体-句子对中的每个句子的句子得分;以及选择具有最高句子得分的句子作为主要集群的代表句子。句子得分可以包括基于第一实体对句子的语义重要性的重要性因子。句子得分可以包括第一实体对文档的文档时事性得分。句子得分可以基于第一实体的文档时事性得分、第一实体对句子的语义重要性、句子的源的排名、和句子的长度。
根据某些方面,一种方法包括:确定查询与知识库中的实体有关并且包括独特事实触发,确定实体具有相关联的独特事实列表,该独特事实列表包括从提及实体的源文档中提取的句子;以及响应于查询,提供独特事实列表。
这些和其它方面可以包括以下特征中的一个或者多个。例如,该方法还可以包括:通过文档存储库生成响应于查询的文档列表;以及与独特事实列表一起提供响应于查询的文档。作为另一示例,在相对于响应于查询的文档列表的突出位置呈现独特事实列表。作为另一示例,提供独特事实列表作为可滚动列表。
根据某些方面,一种方法包括:确定查询与知识库中的实体有关;以及确定实体具有相关联的独特事实列表。该独特事实列表包括从提及实体的源文档中提取的句子。该方法还包括:从独特事实列表中选择独特事实中的至少一个独特事实,以及响应于查询,提供至少一个独特事实。
这些和其它方面可以包括以下特征中的一个或者多个。例如,该方法还可以包括:按照随机顺序来对在独特事实列表中的独特事实进行排序,以及选择在独特事实列表中的第一独特事实作为至少一个独特事实。作为另一示例,该方法还可以包括:按照随机顺序来对在独特事实列表中的所述独特事实进行排序,确定查询包括独特事实触发,以及响应于该确定,响应于查询按照随机顺序来提供独特事实。作为另一示例,该方法还可以包括:从知识库获取与实体有关的事实;以及利用至少一个独特事实提供来自知识库的事实,其中,知识库缺少与实体有关的独特事实。
根据某些方面,计算机系统包括:处理器;以及存储器,该存储器存储有指令,该指令在由处理器执行时使系统执行本文公开的方法或者操作中的任何方法或者操作:
根据某些方面,一种非暂时性计算机可读介质存储有代码段,该代码段在由处理器执行时使处理器执行本文公开的方法或者操作中的任何方法或者操作:
各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入设备、和至少一个输出设备接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入设备、和该至少一个输出设备。
这些计算程序(也称为程序、软件、软件应用、或者代码)包括用于可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、装置、和/或设备(例如,磁盘、光盘、存储器(包括读取存取存储器)、可编程逻辑设备(PLD))。
可以将此处描述的系统和技术实施在包括后端组件的计算系统(例如,作为数据服务器)、或者包括中间件组件的计算系统(例如,应用服务器)、或者包括前端组件的计算系统(例如,具有图形用户界面或者web浏览器的客户端计算机,用户可以通过该图形用户界面或者该web浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这样的后端组件、中间件组件、或者前端组件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的组件相互连接。通信网络的示例包括:局域网(“LAN”)、广域网(“WAN”)、和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
已经描述了若干实施方式。然而,在不脱离本发明的精神和范围的情况下,可以做出各种修改。另外,在附图中描绘的逻辑流程不需要所示的特定顺序或者相继顺序,以实现期望的结果。另外,可以提供其它步骤或者可以从描述的流程删除步骤,并且可以将其它组件添加至描述的系统或者从描述的系统移除其它组件。因此,其它实施方式在以下权利要求的范围内。

Claims (25)

1.一种用于提供实体的独特事实的系统,所述系统包括:
数据存储,所述数据存储存储独特事实触发;
知识库,所述知识库被配置为存储关于实体的结构化事实;
查询处理系统,所述查询处理系统包括:
至少一个处理器,以及
存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时使所述查询处理系统执行操作,所述操作包括:
从文档存储库中选择与至少一个独特事实触发相关联的文档,
通过以下方式为第一实体生成实体-句子对,其中,所述第一实体是存储在所述知识库中的实体:
当所述句子包括对所述第一实体的提及时,从所选择的文档中提取句子,以及
针对所述句子中的至少一些句子中的每一句:
在该句子中识别对第一实体的指代,
针对该句子基于时事性和长度相对于所述第一实体来确定句子得分,其中,所述时事性是基于文档时事性和语义重要性中的至少一个,以及
存储该句子和从中提取出该句子的文档的标识符,作为所述第一实体的实体-句子对,所述句子得分是与所述实体-句子对一起存储的,
过滤掉在所述知识库中已经被表示为结构化事实的句子;
通过对所述实体-句子对根据该句子中的突显项来聚类,来为所述第一实体生成至少一个主要独特事实集群,其中,突显项是句子中的不是停用词的单词;
确定所述至少一个主要独特事实集群中的每一个的代表句子,相应主要独特事实集群的代表句子在该主要独特事实集群中具有最高句子得分;以及
响应于识别所述第一实体的查询,提供至少一个代表句子。
2.根据权利要求1所述的系统,其中,选择与至少一个独特事实触发相关联的文档包括:针对所选择的文档中的第一文档:
在与指向所述第一文档的链接相关联的文本中识别独特事实触发短语。
3.根据权利要求1所述的系统,其中,选择与至少一个独特事实触发相关联的文档包括:针对所选择的文档中的第一文档:
在存储在历史搜索记录的数据存储中的第一查询中识别独特事实触发短语;以及
确定在历史搜索记录的所述数据存储中的所述第一查询的搜索结果中识别到所述第一文档。
4.根据权利要求1所述的系统,其中,选择与至少一个独特事实触发相关联的文档包括:针对所选择的文档中的第一文档:
从选择中排除与至少一个黑名单短语相关联的文档,所述黑名单短语包括以下至少一个:lies、myths、和fake。
5.根据权利要求1所述的系统,其中,从所述文档选择的所述句子是从不包括注释的中心部分选择的。
6.根据权利要求1所述的系统,其中,生成所述至少一个主要独特事实集群包括:
确定每个句子的突显项的集合,其中,所述突显项的集合不包括停用词;以及
在相应突显项的集合等同时,将第一句子和第二句子聚类,其中,第一项和第二项在以下情况下等同:
所述第一项和所述第二项相同,
所述第一项是所述第二项的同义词,或者
所述第一项和所述第二项是数字,不管所述数字表示的值。
7.根据权利要求1所述的系统,其中,响应于查询提供至少一个代表句子包括:
提供所有代表句子作为可滚动列表。
8.根据权利要求1所述的系统,其中,针对存储的每个实体-句子对,所述第一实体满足时事性阈值,其中,所述时事性是基于所述文档时事性,其中,所述时事性阈值是所述第一实体的类型和所述第一实体对于从中提取出所述句子的文档的所述文档时事性的函数。
9.根据权利要求1所述的系统,其中,所述知识库包括数据图,其中,实体作为节点被存储并且事实作为实体之间的关系或者作为所述实体的属性-值对被存储。
10.一种用于提供实体的独特事实的方法,所述方法包括:
从文档存储库中选择与至少一个独特事实触发相关联的文档;
从所选择的文档生成实体-句子对,其中,当实体-句子对中的句子包括对来自知识库的实体的提及时,将所述实体与所述句子相关联,所述知识库被配置为存储关于实体的结构化事实;
基于每个实体-句子对的句子的时事性和长度,确定该句子的相应句子得分,其中,所述时事性是基于文档时事性和语义重要性中的至少一个;
将所述实体-句子对与相应句子得分一起存储在数据存储中;
过滤掉在所述知识库中已经被表示为结构化事实的句子;
针对由所述实体-句子对表示的所述实体中的第一实体:
使用出现在所述句子中的突显项来将所述第一实体的所述实体-句子对聚类,所述聚类产生主要集群,其中,突显项是句子中的不是停用词的单词,以及
确定所述主要集群中的每一个主要集群的代表句子,相应主要独特事实集群的代表句子在该主要独特事实集群中具有最高句子得分;以及
响应于识别所述第一实体的查询,提供至少一个代表句子。
11.根据权利要求10所述的方法,进一步包括:针对所述第一实体的所述实体-句子对的每个句子:
相对于所述第一实体,确定将所述句子分类为坏还是好,
其中,只有分类为好的句子才有资格成为代表句子。
12.根据权利要求11所述的方法,其中,确定将所述句子分类为坏或者好包括:
确定所述句子是否包括代词;以及
响应于确定所述句子确实包括代词:
确定所述代词是指所述句子的主题还是所述句子中的名词;以及
当所述代词指所述句子的主题或者指所述句子中的名词时,将所述句子分类为好。
13.根据权利要求11所述的方法,其中,确定将句子分类为坏还是好包括:
确定所述句子是否包括在从中提取出所述句子的源文档中的其它地方由专有名词指代的名词;以及
响应于确定所述句子确实包括由专有名词指代的名词:
确定所述名词指所述句子的主题或者所述句子包括所述专有名词,以及
响应于所述确定,将所述句子分类为好。
14.根据权利要求10所述的方法,其中,所述句子的时事性得分是基于所述第一实体对所述句子的所述语义重要性,并且其中,确定所述代表句子包括:针对每个主要集群:
选择具有最高句子得分的句子作为所述主要集群的所述代表句子。
15.根据权利要求10所述的方法,其中,所述句子的时事性得分是基于所述实体的所述文档时事性,并且其中,确定所述代表句子包括:针对每个主要集群:
选择具有最高句子得分的句子作为所述主要集群的所述代表句子。
16.根据权利要求10所述的方法,其中,所述句子的时事性得分是基于所述实体的所述文档时事性以及所述第一实体对所述句子的所述语义重要性,并且所述句子得分进一步基于从其中提取出所述句子的源文档的排名,并且其中,确定所述代表句子包括:针对每个主要集群:
选择具有最高句子得分的句子作为所述主要集群的所述代表句子。
17.根据权利要求10至16中的任一项所述的方法,其中,所述知识库包括数据图,其中,将实体存储为节点并且将事实存储为实体之间或者实体的属性-值对之间的关系。
18.一种存储有代码段的非暂时性介质,所述代码段在由处理器执行时使所述处理器:
确定查询与知识库中的实体有关;
确定所述实体具有相关联的独特事实列表,所述独特事实列表包括从提及所述实体的源文档中提取的句子,其中,所述独特事实列表中的每个句子具有基于该句子的时事性和该句子的长度的句子得分,所述句子得分被存储在所述实体的所述独特事实列表中,其中,所述时事性是基于文档时事性和语义重要性中的至少一个;
从所述独特事实列表中选择所述独特事实中的至少一个独特事实;以及
响应于所述查询,提供所述至少一个独特事实。
19.根据权利要求18所述的非暂时性介质,所述代码段进一步使所述处理器:
按照随机顺序来对在所述独特事实列表中的所述独特事实进行排序;以及
选择在所述独特事实列表中的第一独特事实作为所述至少一个独特事实。
20.根据权利要求19所述的非暂时性介质,所述代码段进一步使所述处理器:
按照随机顺序来对在所述独特事实列表中的所述独特事实进行排序;
确定所述查询包括独特事实触发;以及
响应于所述确定,响应于所述查询按照所述随机顺序来提供所述独特事实。
21.据权利要求18所述的非暂时性介质,所述代码段进一步使所述处理器:
从所述知识库获取与所述实体有关的事实;以及
与所述至少一个独特事实一起提供来自所述知识库的所述事实,其中,所述知识库缺少与所述实体有关的所述独特事实。
22.一种用于提供实体的独特事实的方法,所述方法包括:
确定查询与知识库中的实体有关;
确定所述实体具有相关联的独特事实列表,所述独特事实列表包括从提及所述实体的源文档中提取的句子,其中,所述独特事实列表中的每个句子具有基于该句子的时事性和该句子的长度的句子得分,所述句子得分被存储在所述实体的所述独特事实列表中,其中,所述时事性是基于文档时事性和语义重要性中的至少一个;
从所述独特事实列表中选择所述独特事实中的至少一个;以及
响应于所述查询,提供所述至少一个独特事实。
23.根据权利要求22所述的方法,进一步包括:
按照随机顺序来对在所述独特事实列表中的所述独特事实进行排序;以及
选择在所述独特事实列表中的第一独特事实作为所述至少一个独特事实。
24.根据权利要求22所述的方法,进一步包括:
按照随机顺序来对在所述独特事实列表中的所述独特事实进行排序;
确定所述查询包括独特事实触发;以及
响应于所述确定,响应于所述查询按照所述随机顺序来提供所述独特事实。
25.根据权利要求22所述的方法,进一步包括:
从所述知识库获取与所述实体有关的事实;以及
与所述至少一个独特事实一起提供来自所述知识库的所述事实,其中,所述知识库缺少与所述实体有关的所述独特事实。
CN201710661288.0A 2016-08-05 2017-08-04 使实体的独特事实显现 Active CN107688616B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662371461P 2016-08-05 2016-08-05
US62/371,461 2016-08-05
US15/648,047 2017-07-12
US15/648,047 US11568274B2 (en) 2016-08-05 2017-07-12 Surfacing unique facts for entities

Publications (2)

Publication Number Publication Date
CN107688616A CN107688616A (zh) 2018-02-13
CN107688616B true CN107688616B (zh) 2021-07-09

Family

ID=61069524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710661288.0A Active CN107688616B (zh) 2016-08-05 2017-08-04 使实体的独特事实显现

Country Status (4)

Country Link
US (2) US11568274B2 (zh)
EP (1) EP3494490A1 (zh)
CN (1) CN107688616B (zh)
WO (1) WO2018026489A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3507723A4 (en) 2016-09-02 2020-04-01 FutureVault Inc. SYSTEMS AND METHODS FOR SHARING DOCUMENTS
SG11201901775SA (en) 2016-09-02 2019-03-28 Futurevault Inc Real-time document filtering systems and methods
US10303771B1 (en) * 2018-02-14 2019-05-28 Capital One Services, Llc Utilizing machine learning models to identify insights in a document
US11468237B2 (en) * 2018-05-11 2022-10-11 Kpmg Llp Audit investigation tool
US11263400B2 (en) * 2019-07-05 2022-03-01 Google Llc Identifying entity attribute relations
US11397857B2 (en) * 2020-01-15 2022-07-26 International Business Machines Corporation Methods and systems for managing chatbots with respect to rare entities
US11526688B2 (en) * 2020-04-16 2022-12-13 International Business Machines Corporation Discovering ranked domain relevant terms using knowledge
CN112100324B (zh) * 2020-08-28 2023-05-05 广州探迹科技有限公司 一种知识图谱的扩展方法、装置、存储介质和计算设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163215A (zh) * 2010-03-08 2011-08-24 微软公司 来自文档概述的问题概念的本体分类
US8655866B1 (en) * 2011-02-10 2014-02-18 Google Inc. Returning factual answers in response to queries
US8719244B1 (en) * 2005-03-23 2014-05-06 Google Inc. Methods and systems for retrieval of information items and associated sentence fragments
CN104615724A (zh) * 2015-02-06 2015-05-13 百度在线网络技术(北京)有限公司 知识库的建立以及基于知识库的信息搜索方法和装置
WO2015084757A1 (en) * 2013-12-02 2015-06-11 Qbase, LLC Systems and methods for processing data stored in a database
CN104978396A (zh) * 2015-06-02 2015-10-14 百度在线网络技术(北京)有限公司 一种基于知识库的问答题目生成方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009271A (en) * 1996-10-28 1999-12-28 Bmc Software, Inc. Method of retrieving data from a relational database
US6269361B1 (en) * 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US7216121B2 (en) * 2002-12-31 2007-05-08 International Business Machines Corporation Search engine facility with automated knowledge retrieval, generation and maintenance
US8612208B2 (en) * 2004-04-07 2013-12-17 Oracle Otc Subsidiary Llc Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query
US7769579B2 (en) * 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8954426B2 (en) 2006-02-17 2015-02-10 Google Inc. Query language
US7814099B2 (en) * 2006-01-31 2010-10-12 Louis S. Wang Method for ranking and sorting electronic documents in a search result list based on relevance
US9084025B1 (en) * 2007-08-06 2015-07-14 Google Inc. System and method for displaying both multimedia events search results and internet search results
US8788476B2 (en) * 2008-08-15 2014-07-22 Chacha Search, Inc. Method and system of triggering a search request
US8260773B2 (en) * 2008-09-24 2012-09-04 International Business Machines Corporation Method for extracting signature from problem records through unstructured and structured text mapping, classification and ranking
US8671093B2 (en) * 2008-11-18 2014-03-11 Yahoo! Inc. Click model for search rankings
US8095489B2 (en) * 2009-06-05 2012-01-10 Chen Thomas C H System and method of real-time group intelligence creation with mass volume of web-based thinking grids
US9208217B2 (en) * 2010-10-06 2015-12-08 Linguamatics Ltd. Providing users with a preview of text mining results from queries over unstructured or semi-structured text
US8935199B2 (en) * 2010-12-14 2015-01-13 Xerox Corporation Method and system for linking textual concepts and physical concepts
US9110977B1 (en) * 2011-02-03 2015-08-18 Linguastat, Inc. Autonomous real time publishing
US9858313B2 (en) * 2011-12-22 2018-01-02 Excalibur Ip, Llc Method and system for generating query-related suggestions
US9443021B2 (en) * 2011-12-30 2016-09-13 Microsoft Technology Licensing, Llc Entity based search and resolution
US9189470B2 (en) * 2012-05-31 2015-11-17 Hewlett-Packard Development Company, L.P. Generation of explanatory summaries
US20140046976A1 (en) * 2012-08-11 2014-02-13 Guangsheng Zhang Systems, methods, and user interface for effectively presenting information
US9576022B2 (en) * 2013-01-25 2017-02-21 International Business Machines Corporation Identifying missing content using searcher skill ratings
US9424524B2 (en) 2013-12-02 2016-08-23 Qbase, LLC Extracting facts from unstructured text
US20160277485A1 (en) * 2015-03-18 2016-09-22 Nuzzel, Inc. Socially driven feed of aggregated content in substantially real time

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719244B1 (en) * 2005-03-23 2014-05-06 Google Inc. Methods and systems for retrieval of information items and associated sentence fragments
CN102163215A (zh) * 2010-03-08 2011-08-24 微软公司 来自文档概述的问题概念的本体分类
US8655866B1 (en) * 2011-02-10 2014-02-18 Google Inc. Returning factual answers in response to queries
WO2015084757A1 (en) * 2013-12-02 2015-06-11 Qbase, LLC Systems and methods for processing data stored in a database
CN104615724A (zh) * 2015-02-06 2015-05-13 百度在线网络技术(北京)有限公司 知识库的建立以及基于知识库的信息搜索方法和装置
CN104978396A (zh) * 2015-06-02 2015-10-14 百度在线网络技术(北京)有限公司 一种基于知识库的问答题目生成方法和装置

Also Published As

Publication number Publication date
US20230177360A1 (en) 2023-06-08
WO2018026489A1 (en) 2018-02-08
US11568274B2 (en) 2023-01-31
EP3494490A1 (en) 2019-06-12
CN107688616A (zh) 2018-02-13
US20180039889A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
CN107688616B (zh) 使实体的独特事实显现
US11573996B2 (en) System and method for hierarchically organizing documents based on document portions
Chen et al. A Two‐Step Resume Information Extraction Algorithm
US20160034512A1 (en) Context-based metadata generation and automatic annotation of electronic media in a computer network
Liu et al. Literature retrieval based on citation context
US20160034514A1 (en) Providing search results based on an identified user interest and relevance matching
US9984166B2 (en) Systems and methods of de-duplicating similar news feed items
US20160292153A1 (en) Identification of examples in documents
US10592841B2 (en) Automatic clustering by topic and prioritizing online feed items
WO2012174637A1 (en) System and method for matching comment data to text data
CN111090731A (zh) 基于主题聚类的电力舆情摘要提取优化方法及系统
Sleeman et al. Entity type recognition for heterogeneous semantic graphs
US20140201185A1 (en) Hybrid method of building topic ontologies for publisher and marketer content and ad recommendations
US20180089193A1 (en) Category-based data analysis system for processing stored data-units and calculating their relevance to a subject domain with exemplary precision, and a computer-implemented method for identifying from a broad range of data sources, social entities that perform the function of Social Influencers
Nasser et al. n-Gram based language processing using Twitter dataset to identify COVID-19 patients
Ghosh et al. A rule based extractive text summarization technique for Bangla news documents
WO2015084757A1 (en) Systems and methods for processing data stored in a database
Ma et al. Stream-based live public opinion monitoring approach with adaptive probabilistic topic model
Xu et al. Measuring semantic relatedness between flickr images: from a social tag based view
Makrynioti et al. PaloPro: a platform for knowledge extraction from big social data and the news
KR101351555B1 (ko) 대용량 데이터의 텍스트마이닝을 위한 의미기반 분류 추출시스템
CN114255067A (zh) 数据定价方法和装置、电子设备、存储介质
Přichystal Mobile application for customers’ reviews opinion mining
Selvadurai A natural language processing based web mining system for social media analysis
US20200410010A1 (en) Expert stance classification using computerized text analytics

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