CN102236696A - 从非结构化文本提取可伸缩增量语义实体和相关性 - Google Patents
从非结构化文本提取可伸缩增量语义实体和相关性 Download PDFInfo
- Publication number
- CN102236696A CN102236696A CN2011101115780A CN201110111578A CN102236696A CN 102236696 A CN102236696 A CN 102236696A CN 2011101115780 A CN2011101115780 A CN 2011101115780A CN 201110111578 A CN201110111578 A CN 201110111578A CN 102236696 A CN102236696 A CN 102236696A
- Authority
- CN
- China
- Prior art keywords
- text element
- text
- entropy
- data structure
- adjacency matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
Abstract
公开了从非结构化文本提取可伸缩增量语义实体和相关性。用于包含文本的文档的搜索引擎可以使用统计语言模型来处理文本,基于熵对该文本进行分类,并且创建后缀树或每一分类的文本的其他映射。可以从后缀树或映射中用不同单词或文本串之间的关系来构造图。可以使用该图来确定搜索结果,并且在查看搜索结果之前可以对该图进行浏览或导航。由于添加了新文档,可以对它们进行处理并且添加到后缀树,随后可以响应于搜索请求按需创建该图。可以将该图表示为邻接矩阵,并且传递闭包算法可以处理该邻接矩阵作为后台进程。
Description
技术领域
本发明涉及网络技术领域,尤其涉及网络技术中的搜索技术。
背景技术
搜索文本是通常由web搜索引擎以及用于桌面和局域网环境的搜索引擎执行的任务。存储在文件系统、网站、或其他数据库中的大量数据可以是文本形式。
关键词搜索可以返回来自具有精确匹配的文档的结果。当关键词搜索还搜索同义词时,该搜索可以返回附加结果。然而,关键词搜索可能不揭示文档中的不同概念与词语之间的关系。
发明内容
用于包含文本的文档的搜索引擎可以使用统计语言模型来处理文本,基于熵对该文本进行分类,并且为每一分类创建后缀树或文本的其他映射。可以从后缀树或映射中用不同单词或文本串之间的关系强度来构造图。可以使用该图来确定搜索结果,并且在查看搜索结果之前可以对该图进行浏览或导航。由于添加了新文档,可以对它们进行处理并且添加到后缀树,随后可以响应于搜索请求按需创建该图。可以将该图表示为邻接矩阵,并且传递闭包算法可以处理该邻接矩阵作为后台进程。
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
在附图中,
图1是示出搜索引擎以及搜索引擎可在其中操作的环境的实施例的图示。
图2是示出用于对文本项进行索引以及处理查询的通用方法的实施例的流程图示。
图3是示出熵排序的金字塔的示例实施例的图示。
图4是示出可作为后台进程来执行的用于执行传递闭包的方法的一个实施例的流程图示。
图5是示出用于响应于搜索查询以及呈现结果的方法的实施例的流程图示。
具体实施方式
搜索引擎可以接收项用于索引,并且可以使用统计语言模型对来自项的元素进行分类和分组。分组可以基于项的‘熵’或稀有性,并且可以形成熵排序的金字塔。可以将每一分组添加到该组的数据结构中,其中该数据结构可以是后缀树或其他结构。各种数据结构可以被合并成表示每一元素以及与其他元素的关系的图。每一关系可以具有相关联的关系强度。
搜索引擎可以使用那些项内的任何类型的元素来处理任何类型的项。在示例实施例中,项内的文本串被用于突出显示搜索引擎如何操作,但可以使用不同的实施例来搜索任何类型的元素。
用于在新的项被添加到可搜索的数据库时对那些项进行索引的机制是可伸缩的。无论数据库的大小如何,可以用接近相同的处理时间将新的项添加到可伸缩的数据库中。传递闭包算法可以在数据库上操作以标识项之间暗示的关系。
当数据库是小的时,传递闭包算法可以填充数据库中的元素之间通过未显式地示出来暗示的该数据库内的关系。因为文档的语料库可以是小的,因此可以快速地执行传递闭包算法。当数据库非常大时,传递闭包算法仍可处理,但数据库中大量的项可能已经拥有许多关系。因为该属性,传递闭包算法可以作为后台进程来操作,并且在很大的语料库中可以被省略。
贯穿本说明书和权利要求书,术语‘项’和‘元素’被用于表示特定事物。‘项’被用于表示被索引且可使用搜索引擎搜索的单元。‘项’可以是的文档、网站、网页、电子邮件、或被搜索和索引的其他单元。
‘元素’是构成‘项’的被索引的单元。在基于文本的搜索系统中,‘元素’可以是例如单词或短语。‘元素’是在搜索索引中被定义成具有与其他元素的关系的单元。
本说明书通篇中,在所有附图的描述中,相似的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其它合适的介质,因为程序可以经由例如对纸张或其它介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其它合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、RF、红外及其它无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
当本发明主题在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其它设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是实施例100的图,它示出了具有用于对项进行索引并且响应于搜索查询的搜索引擎的系统。实施例100是搜索引擎的一个实现的简化示例,因为它可以被部署在独立系统上。
图1的图示出了系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其它情况下,连接可以通过跨长距离的网络连接来形成。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。
实施例100示出了可以在单个设备中部署的搜索引擎的各种组件。在某些实施例中,为搜索引擎所描述的功能组件可以驻留在许多不同的设备上,该功能组件例如可被配置成供负载平衡。在某些情况下,搜索引擎的功能可以被部署在基于云的计算平台中。
实施例100的搜索引擎可以创建熵排序的金字塔,该熵排序的金字塔基于元素的稀有性或‘熵’来将诸如文本元素等元素分组成各级别。元素越稀有则熵越高。各分组可以通过包括具有高于一组预定义级别的熵的所有元素来定义。这一安排可以创建金字塔效果,最高熵的元素是最小的分组,随着金字塔前进到底部,每一后续分组包括附加元素。熵排序的金字塔的示例可以在本说明书稍后给出的实施例300中示出。
可以使用分开的数据结构来存储不同分组的元素中的每一个。存储最高熵的元素的数据结构可以是最小数据结构,并且可以包含最稀有的元素。存储最低熵的元素的数据结构可以是最大数据结构。
数据结构可以是捕捉元素之间的关系的任何数据结构。在一个示例中,可以使用后缀树来标识并且存储各种元素之间的关系。在另一示例中,可以使用短语倒排的索引数据结构。后缀树可能能够表示无限长度的短语,然而,短语倒排的数据结构在可以避免后缀树的复杂性的实施例中可能是有用的。
数据结构可以包括对数据的源的引用。在基于文本的项的例子下,数据源可以是各文档的分组或集合、单个文档、或文档的子节。在某些实施例中,单个元素可以具有对源项的两个或多个不同的引用,其中一个引用可以是对源文档的引用,而另一引用可以是对源文档内的子节的引用。
在填充了数据结构之后,可以从数据结构中构造图。该图可以包括作为节点的每一索引的元素,关系强度被应用于每一边缘。从该图中,可以创建邻接矩阵,并且可以对邻接矩阵执行传递闭包算法。
可以从邻接矩阵中直接处理搜索请求,或通过将数据结构投射通过过滤器并且基于该投射来创建图。在某些这样的实施例中,用户界面可以允许用户浏览该图,以在选择详细查看搜索结果之前探索各关系,并且查看底层源文档。
设备102被示为具有硬件组件104和软件组件106的单个、独立设备。实施例100可以示出搜索引擎的部署,可以在小网络内使用该搜索引擎以搜索存储在各种服务器和客户机设备上的文档。
实施例100中所描述的搜索引擎可以是可扩展到诸如公共因特网等可包含数十亿文档的非常大的数据集。在这样的实施例中,搜索引擎的各种组件可以部署在许多服务器设备上,一大群服务器执行单个任务或功能。
在某些实施例中,搜索引擎可以被部署为桌面或设备专用搜索引擎,其中该搜索引擎对存储在单个设备上的文档执行搜索。
设备102被示为传统的计算机设备,诸如服务器计算机或台式机计算机。设备102可以是独立设备,诸如个人计算机、游戏控制台、或其他计算设备。在某些情况下,设备102可以是手持式或便携式设备,诸如膝上计算机、上网本计算机、移动电话、个人数字助理、或其他设备。在某些实施例中,设备102可以是例如可爬行局域网并且响应于使用web浏览器所传送的搜索查询的专用搜索设备。
硬件组件104可以包括处理器108、随机存取存储器110、以及非易失性存储112。硬件组件104还可以包括网络接口114和用户接口116。
软件组件106可包括操作系统118的文件系统119。在搜索引擎提供桌面或本地搜索服务的实施例中,该搜索引擎可以对位于本地文件系统119中的文件进行索引和搜索。
搜索引擎的组件可以包括可具有若干过滤器122的文档适配器120。文档适配器120可以消耗各种文档或数据的源用于索引和搜索。在文本搜索的示例中,文档可以是文字处理文档、经历光学字符识别(OCR)的扫描的文档、电子邮件文档、网站文档、数据库中基于文本的项、或任何其他基于文本的项。过滤器122可以用作用于从特定类型的文档中捕捉数据的机制。例如,可以使用一过滤器以供文字处理文档,并且可以使用另一过滤器以供幻灯片演示。文档适配器120可以将文档排队以供输入适配器124分析。
输入适配器124可以将要搜索的项解构成元素。在文本文档的情况下,元素可以是单词或短语。具体地,输入适配器124可以标识单元语法、二元语法、三元语法、以及元素的其他组。
当元素被输入适配器124标识时,可以向该元素分配一标识符并且将该元素存储在文本标识符数据库126中。标识符可以是例如表示该元素的整数。贯穿创建数据解构的过程,当图组合了数据结构以及邻接矩阵,可以使用各元素的标识符来引用它们。标识符可以是用于压缩数据库大小并且允许更高效的处理的简单技术。在某些实施例中,其中数据库是小的或当元素是一致的且小的时,可以将实际元素存储在各种数据库中,并且可以不使用文本标识符数据库。
输入适配器124可以将项内的某些元素标识为在项内被不同地处理。在文本搜索引擎中,加下划线、加粗、或斜体的文本可以被标识为具有额外重要性。类似地,被用作节题目的文档的标题或图示的标题中的文本可以比文档中的常规正文文本具有更高的相对重要性。可以对被标识的那些元素加标志或以其他方式进行标记,使得所标识的元素之间的关系在以下定义的数据结构或图中被加强。
在某些实施例中,输入适配器124可以具有噪声抑制器146。噪声抑制器146可以标识并且移除可能破坏可搜索的数据库的元素。例如,某些文档可以包含元数据、特殊字符、嵌入式脚本、或创建或消耗这些文档的应用程序可以使用的其他信息。噪声抑制器146可以将这些信息从项的可搜索元素中移除。
语言模型处理器128可以分析各个元素以将熵值分配给各元素。熵值可以指示该元素与其他元素相比有多稀有。例如,诸如“反例”等词语在英语语言中可以是相对稀有的单词,并且可以具有高熵值。在另一示例中,单词“比”在英语中可以是很常见的单词,并且可以具有低熵值。
语言模型处理器128可以使用一个或多个统计语言模型以确定元素的熵值。许多实施例可以使用基本语言模型130,该基本语言模型可以是诸如美式英语等语言的统计语言模型。统计语言模型可以基于该语言的概率分布为一个或多个单词分配概率。概率的逆(inverse)可以是分配给该元素的熵。
美式英语的统计语言模型可以包含120,000单元语法、12,000,000双元语法以及4,000,000三元语法的数量级。
当项可包含来自特定技术领域、特定方言的信息或包含在基本语言模型130中通常找不到或不使用的单词时,可以使用特定专用语言模型132。例如,与计算机领域有关的文档可以包含具有特殊含义或在基本语言模型130中通常找不到的某些单词和短语。这样的专用语言模型132可以包括与基本语言模型130不同的一组概率或熵级别。
在某些实施例中,语言模型处理器128可以为被处理的文档开发定制的统计语言模型。例如,企业可以具有专用于该企业且可为其构造定制的语言模型的词语和短语的方言。
在将熵分配给元素之后,数据库引擎134可以通过根据元素的熵对元素进行分组来创建熵排序的金字塔。熵排序的金字塔的示例可以在本说明书稍后给出的实施例300中示出。
熵排序的金字塔可以是基于熵的对元素的分组。在一个实施例中,具有大于阈值的熵的那些元素可以被分组在一起。另一组可以是具有低于阈值的熵的元素。在第二组中也可以找到第一组的成员。
数据结构136可以包含来自特定熵级别的所有元素。元素分组中的每一个可以具有可捕捉分组中的元素的数据结构136。例如,在具有五级的熵分组的实施例中,存在数据结构136的五个实例。
数据结构136可以捕捉熵分组中的元素以及那些元素之间的关系。例如,从文本串构建的后缀树能够存储文本元素序列。元素之间的关系以及元素彼此的邻近度可以在稍后步骤中对索引的数据执行的分析中出现。
图138可以合并数据结构136以创建以元素为顶点而以元素与其它元素的连接为边缘的图。对于每一元素,相同的元素与其具有直接关系的每个元素可具有它们之间的边缘。可以用加权来定义该边缘。
在一个实施例中,边缘加权可以使用Jaccard相似度来定义,边缘加权可被定义为:
边缘加权可以通过两节点的交集除以两节点的并集来定义。节点中的值可以是包含在节点中的文档引用。
图138可以包含来自所有数据结构136的所有数据。在某些实施例中,每一数据结构可以具有所应用的不同权重。例如,可以向表示最高熵元素的数据结构分配比其他数据结构更高的权重,因为可以假定最高熵元素表示比较低熵元素更重要的关系。
可以从图138中创建邻接矩阵144。在一个实施例中,数据库引擎134可以创建邻接矩阵144,该邻接矩阵包含每一元素与每个其他元素的关系值。在某些实施例中,查询引擎140可能能够直接执行针对邻接矩阵144的查询。
在某些实施例中,查询引擎140可以响应于查询从数据结构136中创建图138。在这样的实施例中,查询引擎140可以接收可过滤或排除某些类型的数据的各种参数。在简单的示例中,用户可以发起将搜索范围限制到电子邮件文档而排除文字处理器或其他文档的的搜索请求。
在接收过滤参数之后,数据结构136的投影可以导致修剪的数据结构集。根据那些数据结构,可构造一图并且用于向用户呈现数据。在某些实施例中,用户可能能够可视地浏览该图,并且检查相关词语以及它们之间的关系强度。
相关引擎142可以对邻接矩阵144执行传递闭包算法,以标识不存在直接关系的实体之间的关系。一种用于执行传递闭包的算法可以是Floyd-Warshall算法。
相关引擎142可以作为后台进程来操作。在这样的操作中,相关引擎142可以锁定邻接矩阵144中的单个行,并且对该锁定的行执行传递闭包算法。在对该行解锁之前,相关引擎142可以更新该行。一旦被解锁,则该行可以由查询引擎140使用以执行搜索。
设备102被示为可以在网络148中操作的搜索引擎,该网络可以是局域网或广域网。爬行器150可以爬行附连到网络148的设备,并且检索文档以供设备102上的搜索引擎处理。例如,服务器152可以具有各种文档154,以及客户机156可以具有文档158。类似地,web服务160也可以具有文档162。
设备102可以被配置成对来自客户机156、服务器152、或web服务160的搜索查询请求作出响应。
图2是示出用于对文本项进行索引以及处理查询的方法的实施例200的流程图示。实施例200是可由如实施例100中所示的搜索引擎的各种组件执行的过程的简化示例。
其它实施例可以使用不同顺序的、附加的或更少的步骤以及不同的名称或术语来实现类似的功能。在一些实施方式中,各种操作或一组操作可以按同步或异步的方式与其它操作并行执行。在此选择的这些步骤被挑选来以简化的形式示出操作的一些原理。
实施例200示出了用于处理项并且将该项的元素添加到数据结构中的方法。各元素可以通过熵来分类和分组,以创建熵排序的金字塔。可以将各组添加到数据结构中,随后对数据结构进行组合以创建从其中可执行搜索的图。
在框202,可接收要索引的项。项可以是被分解成元素且对其可执行搜索的任何东西。在实施例200中所讨论的示例中,项可以是基于文本的文档,并且元素可以是那些文档中的单词或短语。然而,其他实施例可以使用具有不同元素的不同项。例如,可以使用搜索引擎来搜索DNA序列。在这样的示例中,项可以是包含DNA映射的文档或文件,并且元素可以是DNA序列的小部分。
在基于文本的搜索引擎的示例中,项可以是存储在文件系统中的文档,诸如文字处理文档、所扫描的文档、演示文档、电子表格、或其他文档。文档还可以包括电子邮件消息、即时消息抄本、或其他基于文本的通信。某些实施例可以包括视频和音频文件,其中视频和音频文件可以包含标签、标题、以及其他元数据形式的文本。
在某些实施例中,可以从数据库或其他服务中检索项。例如,某些实施例可以查询会计数据库以从该数据库中拉取报告,或可以查询web服务以拉取信息或文档。
某些实施例可以采用爬行器以寻找驻留在特定文件夹的文档、各种设备的文件系统、或位于本地文件系统或跨局域网或广域网的远程设备上的其他文档。
在框204中可以创建项标识符。项标识符可以是包含该项的完整地址的表中的索引。地址可以是统一资源标识符(URI)的形式或其他格式。项标识符可以在数据结构中被用作该项的简写符号。
在某些实施例中,项可以具有子项。例如,长的单词处理文档可以具有章、节、或文档内定义的其他子项。在另一示例中,扫描的文档可以将多页文档的每一页视为一个子文档。
在框206中,如果文档中存在子项,则在框208中可以标识子项,并且在框210中可以创建子项的项标识符。
当在实施例中使用子项时,以上描述的项表可以包含每一项的两个或更多条目,主项是包含一元素的子项。例如,具有多章的文档可以具有为每一章定义的子项。对于每一章,在被索引的数据库中所使用的主项可以是章的子项标识符,并在项表中具有由于完整文档项标识符的附加项标识符。
在框212中,可以对项进行分析以标识文本元素。在基于文本的文档的示例中,该分析可以标识单词或短语。
在框213中,降噪算法可以清理可能没有意义的任何元素。例如,许多文档可以包含格式化或不向用户显示的其他元数据。在某些情况下,这样的元素可以包含非字母数字数据以及特殊字符。这样的字符或格式化可能在稍后的处理步骤中被不正确地标识为具有很高的熵,并且可能损坏数据库。在许多情况下,可以创建特定文档类型的过滤器,过滤器可以标识非文本元素并且移除那些元素而不被处理。
在框214中,可以处理每一文本元素。对于每一元素,可以在框216中确定元素身份,并且可以在框218中确定熵值。
元素身份可以是可引用该元素的整数或其他索引。在许多情况下,可以将元素存储在可包含索引和实际元素的元素表中。当元素在框216中被处理时,可以对元素表执行查找以确定元素是否已经被使用。如果是,则可以对该元素使用来自成功搜索的索引。
在某些实施例中,可以使用元素的标准字典。当可以组合两个或更多搜索引擎数据库时,这样的实施例可能是有用的。在一个示例实施例中,统计语言模型可以包含具有预定义的索引的元素字典。
在框218中,元素的熵值可以从概率值中确定,该概率值可以从统计语言模型中确定。熵值可以通过采用由统计语言模型确定的概率值的逆(inverse)来计算。
在某些实施例中,可以使用两个或多个统计语言模型。在这样的实施例中,基本语言模型可以表示通常讲的或通用目的语言模型,而附加语言模型包含专用于不同行业、技术、方言或特定应用的其他细微差别的语言元素。
当使用了两个或更多语言模型时,可以按预定义顺序查询语言模型,第一语言模型包含元素,该元素用于该元素的熵。例如,对计算机科学文档进行索引的数据库可以具有计算机科学的统计语言模型,该计算机科学的统计语言模型包括在计算机科学世界中所使用的不同词语的概率或熵。当遇到计算机科学词语并且统计语言模型包含该词语,则可以将用于该词语的熵分配给该词语,并且可能不向基本统计语言模型咨询。在相同的实施例中,可以在基本统计语言模型中找到没有在计算机科学统计语言模型中定义的项,熵可以从该项中确定。
在框220中,可以从该项内的元数据中确定该元素的任何修饰符。例如,突出显示、加粗或与大多数元素具有不同格式化的元素可以被认为比其他元素的重要性更高。在某些实施例中,可以将修饰符添加到熵值中,提高该元素的稀有性或重要性。
修饰符的其他示例可以包括当元素可被用作文档或文档的节的标题时,以及当元素可被用作图、表、或说明的标题。
在某些实施例中,修饰符可以降低元素的重要性。例如,脚注中的元素或较小字体大小的元素可以被认为比正常正文文本的重要性低。在这样的情况下,修饰符可以降低与该元素相关联的熵。
在框222中,可以确定元素的同义词。在某些实施例中,可以通过将同义词添加到文本串中或创建合并各种同义词的新文本串来使用同义词。
当在框214中单独地处理了每一文本元素之后,可以在框224中确定一组熵截止值,并且可以在框226中通过截止值对文本元素进行分组。可以在实施例300中示出这样的过程的示例。
熵截止值可以定义不同组的元素以创建熵排序的金字塔。在许多实施例中,熵截止值可以是预定义的并且可以同等地应用于可搜索的数据库中的所有项。在其他实施例中,可以对可被分析的每一项或文档重新计算熵截止值。在这样的实施例中,可以基于文档的最大熵值来定义熵截止值,并且基于最大值来确定熵截止值。
在框228中,可以处理每一组元素。对于每一组,可以将该组中的文本元素添加到该组的数据结构中。在使用后缀树的情况下,可以搜索后缀树以标识该组中的第一元素,随后可以从该元素开始添加该组。
在某些实施例中,可以使用要索引的第一项从空白数据结构中创建第一后缀树或其他数据结构。在某些实施例中,可以将可预先填充的基本数据结构用于被索引的第一项。
当已将每一元素组添加到相应数据结构中之后,在框232中可以将加权应用于每一数据结构,并且在框234中可以创建或更新图。
该图可以通过收集每一数据结构中的元素的每一实例以及标识到可能是该元素的邻居的任何其他元素的边缘来定义。可以使用Jaccard索引或其他公式来对图的边进行加权,以确定关系的加权或强度。
当对数据结构进行组合时,可以将不同的权重作为整体应用于每一数据结构。具有较高熵截止的数据结构可以被认为比较低熵的数据结构更重要,并且由被给予更高的权重。当计算图中的边缘关系时,可以使用加权。
在框236中,可以通过邻接矩阵来表示该图。邻接矩阵可以具有表示每一元素的行以及表示每一元素的列。邻接矩阵中的值可以表示两个相交元素之间的关系的强度。
邻接矩阵可以是较高的三角形矩阵,并且可以被稀疏地填充。在某些实施例中,诸如实施例400,可以对邻接矩阵执行传递闭包算法。
在某些实施例中,在框238中可以使用完整的邻接矩阵来对查询请求作出响应。在其他实施例中,可以响应于搜索查询来创建新图,如实施例500中示出的。
图3是示出熵排序的金字塔的示例实施例的图示。实施例300是文本项302的简化示例,该文本项可由语言模型处理器304处理以产生熵排序的金字塔306。
在实施例300的示例中,文本项302可以包含“Lack of counterexample doesnot a proof make(缺少反例不构成证据)”。当由语言模型处理器304处理时,诸如实施例100的语言模型处理器128或通过实施例200的步骤214至222,可以分析文本项302的元素并且应用熵值。
可以基于各个单词的熵值以及一组熵阈值将单词分组成组310、312、314以及316。根据熵308将各组安排在熵排序的金字塔306中,最高熵的组在顶部。
组310可以包括最高熵的单词,它是‘counterexample(反例)’。组312可以包含具有大于阈值的熵值的单词,并且那些单词可以是‘lackcounterexample proof(缺少反例证据)’。由于分组的算法采用具有大于阈值的熵值的任何元素,因此熵排序的金字塔的每一后续级别或分组可以包括来自较高级别的单词。类似地,组314包含‘lack counterexample does not proof(缺少反例不是证据)’,以及组316包含‘lack of counterexample does not a proofmake(反例的缺少不构成证据)’。
可以将各组中的每一组添加到相应级别的数据结构中。例如,最高级别的组310的数据结构可以接收文本‘counterexample(反例)’,以及下一级别的组312的分开的数据结构可以接收文本‘lack counterexample proof(缺少反例证据)’。
图4是示出用于执行作为后台进程的传递闭包的方法的实施例400的流程图示。实施例400是可由相关引擎142执行的过程的示例,该相关引擎可以在邻接矩阵上执行传递闭包,而邻接矩阵可用于对查询作出响应。
其它实施例可以使用不同顺序的、附加的或更少的步骤以及不同的名称或术语来实现类似的功能。在一些实施方式中,各种操作或一组操作可以按同步或异步的方式与其它操作并行执行。在此选择的这些步骤被挑选来以简化的形式示出操作的一些原理。
实施例400是可以在邻接矩阵上执行传递闭包的过程的示例。传递闭包可以在元素之间的路径上测量相对距离,并且计算不直接连接的元素的关系强度。
贯穿创建数据结构和建立图的过程,可以仅为彼此直接相邻的元素之间的那些关系确定元素之间的关系。在实施例300的示例中,文本‘counterexample(反例)’可以具有;来自组312的词语‘lack(缺少)’与‘proof(证据)’之间的直接关系,以及来自组314和316的词语‘does(是)’与‘of(的)’的直接关系。可以从诸如后缀树等数据结构中确定这些关系,并且从各种数据结构中创建图。然而,元素‘counterexample(反例)’与单词‘make(构成)’不具有直接关系。这样的关系可以通过传递闭包算法来揭示。
可以在逐行的基础上对邻接矩阵执行传递闭包算法。在操作期间,当执行传递闭包算法时可以锁定单个行而不可访问。当更新该行中的关系之后,可以对该行进行解锁并且对不同的行执行该过程。当邻接矩阵的其余部分被用于处理搜索查询时,这样的实施例可以在后台进程中执行传递闭包。
在框402中,可以为传递闭包定义限制集。在许多情况下,诸如Floyd-Warshall算法等传递闭包算法可以用有限的输入值集来更高效地操作。在框402中定义的限制可以通过若干不同的方法标识行中所有值的子集。在一个实施例中,限制可以定义关系强度的最小值,并且可以忽略小于最小值的值。在另一实施例中,限制可以定义要处理的元素的最大数量。在这样的实施例中,可以对行中的元素进行排序,并且所处理的元素数量可以等于在该限制中定义的最大数量。
在框404中,可以处理每一行。对于将在框404中处理的每一行,可以在框406中锁定对该行的访问。可以在框408中标识在该行中符合或超出框402中所定义的限制的元素。
在框410中,可以对所选择的元素执行传递闭包。
当在框410中执行传递闭包之后,在框412中可以更新该行,并且在框414中可以对该行进行解锁。该过程可返回到框404以处理更多行。
当搜索索引中的文档的语料库很小时,传递闭包算法可以相当快,并且可以标识在行索引的数据中非显式的关系。当搜索索引中的文档的语料库很大时,可能有非常大量的元素之间的直接关系,并且传递闭包算法的效果可能远小于当文档的语料库是小的时的效果。在使用非常大的语料库的情况下,可以省略传递闭包算法。
图5是示出用于收集和呈现搜索结果的实施例500的流程图示。实施例500仅仅是用于对搜索结果作出响应的一种方法,其中可以响应于该搜索结果来创建新的邻接矩阵。
其它实施例可以使用不同顺序的、附加的或更少的步骤以及不同的名称或术语来实现类似的功能。在一些实施方式中,各种操作或一组操作可以按同步或异步的方式与其它操作并行执行。在此选择的这些步骤被挑选来以简化的形式示出操作的一些原理。
在框502中,可以接收具有过滤参数的查询请求。过滤参数可以定义要包括和排除的文档、或可限制要搜索的文档的语料库的其他因素。例如,过滤参数可以定义包括所有文字处理文档并且排除早于一年的那些文档的搜索。
可以通过在框504中将加权应用于数据结构以及在框506中采用来自每一数据结构中的投影来创建新的邻接矩阵。投影可以过滤或修剪数据结构,以移除数据结构的排除在搜索请求之外的部分。从所投影的数据结构中,可以在框508中创建所修剪的邻接矩阵。
在框510中,可以使用邻接矩阵来呈现邻接矩阵的子集。在框512中,如果用户希望浏览结果,则在框514中可以确定所更新的查看位置,并且该过程可以循环返回以示出框510中邻接矩阵的所选择的部分。在某一时刻,用户可以在框512中结束浏览,并且可以在框516中向用户呈现详细的搜索结果。
以上对本发明主题的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其它修改和变形都是可能的。选择并描述实施方式来最好地解释本发明的原理及其实践应用,从而使本领域的其它技术人员能够在各种实施方式和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在包括除受现有技术所限的范围之外的其它替换实施方式。
Claims (15)
1.一种在计算机处理器上执行的方法,所述方法包括:
接收包含文本串的项(202);
确定所述项的项标识符(204);
用统计语言模型处理所述文本串(212),用于:
标识文本元素;
确定所述文本元素的文本元素标识符;以及
将熵值分配给所述元素的每一个;
选择所述文本元素的第一子集(228),所述第一子集中的所述文本元素的每一个具有大于第一预定义的熵值的熵值;
将所述文本元素的每一个添加(230)到第一数据结构,所述第一数据结构包括所述文本元素标识符以及所述项标识符;
创建邻接矩阵(236),所述邻接矩阵表示包括表示所述文本元素的顶点以及表示加权的关系的边缘的图,所述加权的关系是从所述第一数据结果中确定的;以及
接收对第一文本元素的搜索查询(238),并且用从所述邻接矩阵中导出的搜索结果来作出响应。
2.如权利要求1所述的方法,其特征在于,还包括:
使用第一算法对所述邻接矩阵执行传递闭包,以使用附加值对所述邻接矩阵进行填充。
3.如权利要求2所述的方法,其特征在于,所述第一算法是Floyd-Warshall算法。
4.如权利要求1所述的方法,其特征在于,所述第一数据结果包括后缀树,所述后缀树包括表示所述文本元素的边缘以及包括所述项标识符的节点。
5.如权利要求1所述的方法,其特征在于,所述第一数据结构包括短语倒排的索引数据结构。
6.如权利要求1所述的方法,其特征在于,还包括:
选择所述文本元素的第二子集,所述第二子集中的所述文本元素的每一个具有大于第二预定义的熵值的熵值;
将所述文本元素的第二子集中的每一个添加到第二数据结构,所述第二数据结构包括所述文本元素以及所述项标识符;以及
所述图中的所述边缘是从所述第一数据结构和所述第二数据结构中进一步确定的。
7.如权利要求6所述的方法,其特征在于,还包括:
所述边缘是部分地通过在确定所述边缘之前将第一加权应用于所述第一数据结构并且将第二加权应用于所述第二数据结构来确定的。
8.如权利要求1所述的方法,其特征在于,还包括:
在所述处理之前对所述项执行降噪。
9.如权利要求1所述的方法,其特征在于,所述文本元素包括含有下列各项的组中的至少一个:
单元语法;
二元语法;以及
三元语法。
10.如权利要求1所述的方法,其特征在于,还包括:
标识第一文本元素;
确定所述第一文本元素的同义词;以及
将所述同义词添加到所述文本元素的第一子集。
11.如权利要求1所述的方法,其特征在于,还包括:
检查所述项以确定第一文本项的格式化特征;以及
基于所述格式化特征对所述第一文本项进行加权。
12.如权利要求11所述的方法,其特征在于,所述格式化特征包括以下各种中的至少一个:
标题;
题目;
字体效果;以及
字体修饰符。
13.一种系统,包括:
文档适配器(120),用于:
接收包括文本元素的项;以及
创建所述项的项标识符;
输入适配器(124),用于:
将所述项解析成文本元素;以及
为所述文本元素中的每一个分配文本元素标识符;
语言模型处理器(128),用于:
基于统计语言模型将熵值分配给所述文本元素的每一个;
数据库引擎(134),用于:
选择所述文本元素的第一子集,所述第一子集中的所述文本元素的每一个具有大于第一预定义的熵值的熵值;
将所述文本元素的每一个添加到第一数据结构,所述第一数据结构包括所述文本元素标识符以及所述项标识符;以及
创建邻接矩阵,所述邻接矩阵表示包括表示所述文本元素的顶点以及表示加权的关系的边缘的图,所述加权的关系是从所述第一数据结果中确定的;
查询引擎(140),用于:
接收包括第一文本元素的第一查询;以及
返回从所述邻接矩阵中导出的结果,所述结果包括观察到的结果。
14.如权利要求13所述的系统,其特征在于,还包括:
后台处理器,用于
锁定所述邻接矩阵的第一行;
当所述第一行被锁定时,使用第一算法对所述邻接矩阵的所述第一行执行传递闭包,所述第一算法确定所述图中的两个所述顶点中的最短路径;以及
当对所述第一行完成所述传递闭包时,对所述第一行进行解锁。
15.如权利要求14所述的系统,其特征在于,所述语言模型处理器使用多个所述统计语言模型来确定所述熵值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/764,107 | 2010-04-21 | ||
US12/764,107 US20110264997A1 (en) | 2010-04-21 | 2010-04-21 | Scalable Incremental Semantic Entity and Relatedness Extraction from Unstructured Text |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102236696A true CN102236696A (zh) | 2011-11-09 |
Family
ID=44816828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101115780A Pending CN102236696A (zh) | 2010-04-21 | 2011-04-20 | 从非结构化文本提取可伸缩增量语义实体和相关性 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110264997A1 (zh) |
CN (1) | CN102236696A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105981006A (zh) * | 2014-02-14 | 2016-09-28 | 三星电子株式会社 | 电子装置和用于提取和使用电子装置的文本消息中的语义实体的方法 |
CN107037770A (zh) * | 2015-09-29 | 2017-08-11 | 西门子公司 | 用于对技术系统进行建模的方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254333A1 (en) * | 2010-01-07 | 2012-10-04 | Rajarathnam Chandramouli | Automated detection of deception in short and multilingual electronic messages |
US8700986B1 (en) | 2011-03-18 | 2014-04-15 | Google Inc. | System and method for displaying a document containing footnotes |
US8510266B1 (en) | 2011-03-03 | 2013-08-13 | Google Inc. | System and method for providing online data management services |
US9268749B2 (en) * | 2013-10-07 | 2016-02-23 | Xerox Corporation | Incremental computation of repeats |
US10114823B2 (en) * | 2013-11-04 | 2018-10-30 | Ayasdi, Inc. | Systems and methods for metric data smoothing |
US10545918B2 (en) * | 2013-11-22 | 2020-01-28 | Orbis Technologies, Inc. | Systems and computer implemented methods for semantic data compression |
US10216721B2 (en) | 2014-09-30 | 2019-02-26 | Hewlett-Packard Development Company, L.P. | Specialized language identification |
CN105630766B (zh) * | 2015-12-22 | 2018-11-06 | 北京奇虎科技有限公司 | 多新闻之间相关性计算方法和装置 |
US11182558B2 (en) * | 2019-02-24 | 2021-11-23 | Motiv8Ai Ldt | Device, system, and method for data analysis and diagnostics utilizing dynamic word entropy |
US11861301B1 (en) * | 2023-03-02 | 2024-01-02 | The Boeing Company | Part sorting system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1237726A (zh) * | 1998-06-02 | 1999-12-08 | Lg电子株式会社 | 带有改进的自动平衡装置的盘驱动装置 |
US20050149494A1 (en) * | 2002-01-16 | 2005-07-07 | Per Lindh | Information data retrieval, where the data is organized in terms, documents and document corpora |
US20050220351A1 (en) * | 2004-03-02 | 2005-10-06 | Microsoft Corporation | Method and system for ranking words and concepts in a text using graph-based ranking |
CN1755685A (zh) * | 2004-09-30 | 2006-04-05 | 微软公司 | 查询图 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325298A (en) * | 1990-11-07 | 1994-06-28 | Hnc, Inc. | Methods for generating or revising context vectors for a plurality of word stems |
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
US7043422B2 (en) * | 2000-10-13 | 2006-05-09 | Microsoft Corporation | Method and apparatus for distribution-based language model adaptation |
US7783644B1 (en) * | 2006-12-13 | 2010-08-24 | Google Inc. | Query-independent entity importance in books |
US8577670B2 (en) * | 2010-01-08 | 2013-11-05 | Microsoft Corporation | Adaptive construction of a statistical language model |
-
2010
- 2010-04-21 US US12/764,107 patent/US20110264997A1/en not_active Abandoned
-
2011
- 2011-04-20 CN CN2011101115780A patent/CN102236696A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1237726A (zh) * | 1998-06-02 | 1999-12-08 | Lg电子株式会社 | 带有改进的自动平衡装置的盘驱动装置 |
US20050149494A1 (en) * | 2002-01-16 | 2005-07-07 | Per Lindh | Information data retrieval, where the data is organized in terms, documents and document corpora |
US20050220351A1 (en) * | 2004-03-02 | 2005-10-06 | Microsoft Corporation | Method and system for ranking words and concepts in a text using graph-based ranking |
CN1755685A (zh) * | 2004-09-30 | 2006-04-05 | 微软公司 | 查询图 |
Non-Patent Citations (1)
Title |
---|
刘迁,贾惠波: "中文信息处理中自动分词技术的研究与展望", 《计算机工程与应用》, no. 03, 31 December 2006 (2006-12-31), pages 176 - 177 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105981006A (zh) * | 2014-02-14 | 2016-09-28 | 三星电子株式会社 | 电子装置和用于提取和使用电子装置的文本消息中的语义实体的方法 |
US10630619B2 (en) | 2014-02-14 | 2020-04-21 | Samsung Electronics Co., Ltd. | Electronic device and method for extracting and using semantic entity in text message of electronic device |
CN107037770A (zh) * | 2015-09-29 | 2017-08-11 | 西门子公司 | 用于对技术系统进行建模的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110264997A1 (en) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236696A (zh) | 从非结构化文本提取可伸缩增量语义实体和相关性 | |
US9298813B1 (en) | Automatic document classification via content analysis at storage time | |
US10740545B2 (en) | Information extraction from open-ended schema-less tables | |
US10095690B2 (en) | Automated ontology building | |
Kolda et al. | Higher-order web link analysis using multilinear algebra | |
US7739258B1 (en) | Facilitating searches through content which is accessible through web-based forms | |
US10289717B2 (en) | Semantic search apparatus and method using mobile terminal | |
CN106126648B (zh) | 一种基于重做日志的分布式商品信息爬虫方法 | |
US20160034514A1 (en) | Providing search results based on an identified user interest and relevance matching | |
US20100228733A1 (en) | Method and System For Semantic Distance Measurement | |
CN106202514A (zh) | 基于Agent的突发事件跨媒体信息的检索方法及系统 | |
CN110309393A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN107085583B (zh) | 一种基于内容的电子文档管理方法及装置 | |
CN106776567B (zh) | 一种互联网大数据分析提取方法及系统 | |
CN103874994A (zh) | 用于自动概括电子文档的内容的方法和装置 | |
CN104915413A (zh) | 一种健康检测方法及系统 | |
KR20130060720A (ko) | 목적 기반 시맨틱 서비스 디스커버리를 위한 서비스 목적 해석 장치 및 방법 | |
CN102243645A (zh) | 将分层内容归类成深度分类 | |
CN102622453A (zh) | 基于本体的食品安全事件语义检索系统 | |
CN104679783A (zh) | 一种网络搜索方法和装置 | |
US20180232410A1 (en) | Refining structured data indexes | |
KR100954842B1 (ko) | 카테고리 태그 정보를 이용한 웹 페이지 분류 방법, 그 시스템 및 이를 기록한 기록매체 | |
KR20180129001A (ko) | 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템 | |
CN110633375A (zh) | 一种基于政务工作的媒体信息整合利用的系统 | |
CN110674087A (zh) | 文件查询方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111109 |