当前位置: 首页 > 专利查询>微软公司专利>正文

对散列序列矩阵的索引和查询制造技术

技术编号:7495873 阅读:342 留言:0更新日期:2012-07-10 20:13
在此所述的实施例旨在对索引矩阵中的散列值的序列进行索引和查询。计算机系统访问文档以从该文档中提取文本部分。计算机系统将散列算法应用于所提取的文本。提取的文本的散列值形成散列值的代表序列。计算机系统还将散列值的序列的每个散列值插入到索引矩阵中,该索引矩阵被配置为存储多个不同的散列值序列计算机系统还查询索引矩阵以基于选中的散列值序列中有多少散列值与所述存储的散列值序列的散列值相重叠来确定所述多个散列值序列与选中的散列值序列有多相似。

【技术实现步骤摘要】

本申请涉及文档比较,具体而言,通过对散列序列矩阵的索引和查询来比较文档的相似度。
技术介绍
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。在某些情况中,可设计软件应用来比较文档、电子邮件或其它字符串的文本。在这样的情况下,文档可以被分成不同的字单元,这些字单元被转换成散列值。随后,将这些散列值与来自其它文档的散列值进行顺序比较。通常,这样的文档比较程序直到比较的散列序列非常相似(例如95% +相似)才将文档在操作上(performantly)标识为相似或相同的。
技术实现思路
在此所述的实施例旨在对索引矩阵中的散列值序列进行索引和查询。在一个实施例中,计算机系统访问文档以从该文档中提取文本部分。计算机系统将散列算法应用于提取的文本。提取的文本的散列值形成散列值的代表性序列。计算机系统还将散列值的序列的每个散列值插入到索引矩阵中,该索引矩阵被配置为存储多个不同的散列值序列。在另一个实施例中,计算机系统访问索引矩阵,在该索引矩阵中存储有多个散列值序列。散列值序列表示来自各种文档中的字构造。计算机系统访问选中的散列值序列, 该散列值序列对应于查询所要基于的选中的文档。计算机系统确定选中的散列值序列的散列值在哪些地方与多个存储的散列值序列的散列值相重叠。计算机系统还查询索引矩阵以基于选中的散列值序列中有多少散列值与所述存储的散列值序列的散列值相重叠来确定所述多个散列值序列与选中的散列值有多相似。提供本
技术实现思路
以便以简化形式介绍在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本专利技术的各特征和优点可以通过在所附的权利要求书中特别指出的手段和组合来实现和获得。本专利技术的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本专利技术的实践而获知。附图说明为了进一步阐明本专利技术的各实施例的以上和其他优点和特征,将参考附图来呈现本专利技术的各实施例的更具体的描述。可以理解,这些附图只描绘本专利技术的典型实施例,因此将不被认为是对其范围的限制。本专利技术将通过使用附图用附加特征和细节来描述和解释, 附图中图1是本专利技术的实施例可以在其中操作的计算机体系结构,所述操作包括对索引矩阵中的散列值的序列进行索引和查询。图2说明了用于对索引矩阵中的散列值的序列进行索引的示例方法的流程图。图3说明了用于对索引矩阵进行查询以确定散列序列相似度的示例方法的流程4说明了在其中散列值序列在索引矩阵中被索引的本专利技术的实施例。 具体实施例方式在此所述的实施例旨在对索引矩阵中的散列值序列进行索引和查询。在一个实施例中,计算机系统访问文档以从该文档中提取文本部分。计算机系统将散列算法应用于所提取的文本。提取的文本的散列值形成散列值的代表序列。计算机系统还将散列值的序列的每个散列值插入到索引矩阵中,该索引矩阵被配置为存储多个不同的散列值序列在另一个实施例中,计算机系统访问索引矩阵,在该索引矩阵中存储有多个散列值序列。散列值序列表示来自各种文档中的字构造。计算机系统访问选中的散列值序列, 该散列值序列对应于查询所要基于的选中的文档。计算机系统确定选中的散列值序列的散列值在哪些地方与多个存储的散列值序列的散列值相重叠。计算机系统还查询索引矩阵以基于选中的散列值序列中有多少散列值与所述存储的散列值序列的散列值相重叠来确定所述多个散列值序列与选中的散列值有多相似。以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是因为一个动作依赖于另一动作在该动作被执行之前完成而需要的。本专利技术的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本专利技术范围内的各实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这些计算机可读介质可以是通用或专用计算机系统能够访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。携带计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本专利技术的各实施例可包括至少两种完全不同类型的计算机可读介质计算机存储介质和传输介质。计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“mc”) 内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。本领域的技术人员将理解,本专利技术可在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、分布式系统(例如云计算、云服务等等)、移动电话、PDA、寻呼机、路由器、交换机等。本专利技术也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。图1示出了可在其中采用本专利技术的原理的计算机体系结构100。计算机体系结构 100包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C·W·拉曼纳M·H·甘地J·E·布鲁尔
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术