本发明专利技术涉及数据压缩和关键词识别。第一遍走查文本串、生成各个项、为每个生成项计算散列值。对于每个散列值,创建一个散列桶,其中维护相关联的出现计数。散列桶可以根据出现计数进行排序,并且少数几个排在前面的桶得到保留。一旦知道了这些排在前面的桶,则第二遍可以走查该文本串、生成各个项、为每个生成项计算散列值。如果项的散列值与某一个保留的桶的散列值匹配,则可以认为这个项是频繁项。因此,这个项就连同相对应的频率计数一起添加到词典中。然后,可以对词典进行审查,移除并非频繁但是由于散列冲突而出现的那些项。
【技术实现步骤摘要】
【国外来华专利技术】文本串的二次散列提取背景在信息理论中,数据压缩或源编码是一个通过使用特定编码方案来以少于未编码表示的位数将信息进行编码的过程。例如,如果接受将“compression”一词编码成“comp. ” 的约定,则文本可以用较少的位来编码。许多计算机用户都熟悉的一个常规压缩实例是 “ZIP”文件格式,它在提供压缩的同时还充当档案库存储器,将许多文件存储成单个输出文 件。与任何通信一样,只有当信息的发出方和接收方都理解编码方案时压缩数据通信 方可奏效。例如,只有当接收方理解要将文本解释为表示英语的字符的时候,这个文本才有 意义。类似地,只有当解码方法为接收方所知晓时,压缩数据才能够被理解。数据压缩之所以有用,是因为它帮助减少诸如存储器或传输带宽等宝贵资源的消 耗。不利方面是压缩数据必须经过解压才能够查看(或收听)。这个额外的解压处理对于 一些应用程序而言可能是有害的。例如,视频压缩方案可能需要昂贵的硬件才能使该视频 能够足够快的得到解压以便在解压的时候进行观看(选择在观看该视频前进行完全解压 可能是不方便的,并且需要存储空间来存放解压视频)。因此,数据解压方案涉及各种因素 之间的折中,包括存储器、压缩程度、所引入的失真量(如果使用的是有损压缩方案)、以及 压缩和解压数据所需要的计算资源。概述提供本概述部分是为了以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并非旨在标识出所要求保护的主题的关键特征或必要特征。本概述亦非旨 在用于限制所要求保护的主题的范围。提供数据压缩和关键词识别。第一遍走查文本串,生成各个项,为每个生成项计算 散列值。针对每个散列值,创建一个散列桶,其中维持相关联的出现计数。散列桶可以根据 出现计数进行排序并且保留少数排在头几位的桶。一旦知道了头几位的这些桶,第二遍可 以走查该文本串,生成各个项,为每个生成项计算散列值。如果这些项的散列值与保留桶之 一的散列值匹配,则可以认为这个项是频繁出现的项。因此,将该项连同相对应的出现计数 一起添加到词典中。然后,可以对词典进行审查,移除那些并非频繁出现但是由于散列冲突 而出现的项。前述概括描述和以下详细描述两者都提供示例且都只是说明性的。因此,前述概 括描述和以下详细描述不应被认为是限制性的。此外,除了此处所阐明的那些之外还可提 供其它特征或变型。例如,各实施方式可涉及在详细描述中描述的各种特征组合和子组合。附图简述合并在本专利技术中并构成其一部分的附图示出本专利技术的各种实施方式。在附图中附图说明图1是一操作环境的框图;图2是用于识别文本的方法流程图;图3是第一遍的框图;图4是第二遍的框图5示出一种算法;以及图6是包括计算设备的系统的框图。详细描述以下详细描述参考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的要素。尽管可能描述了本专利技术的各实施方式,但修改、改编和其它 实现也是可能的。例如,可以对附图中所示出的要素进行置换、添加、或修改,且可以通过对 所公开的方法置换、重新排序、或添加阶段来修改此处所描述的方法。因此,以下详细描述 并不限制本专利技术。相反,本专利技术的正确范围由所附权利要求书确定。根据本专利技术的实施方式,可以用基于二次散列的算法来发现文档(例如文本串) 中的频繁项。此外,存储器质量对存储器对运行时可以得到控制。例如,本专利技术的实施方式 可以花费1. 5秒的时间,在一个1. 68兆的文档中以的误差缺失率找到100个最频繁的 关键词,同时使存储器低于3KB。例如,下面描述的算法可以发现文本串中的频繁关键词。考虑包含以下文本的文 本串"1 went to the market but the market was closed. ”。本专利技术的实施方式会发现 “market”和“the”是频繁项而有资格成为关键词。然而,本专利技术的实施方式也可以用于压 缩目的。考虑包含以下文本的文本串“abracadabra,abrasive brats ! ”。本专利技术的实施 方式会发现“bra”是或许值得压缩的频繁项。无论如何,本专利技术的实施方式的一个目的可 以是发现频繁重复的项。另一个目的可以是产生文档概要、突出显示重要的项、压缩文档数 据、找出过度的语法重复等等。换言之,本专利技术的实施方式可以找出文本串中的频繁项,不 管是串中的关键词或者甚至是子串。此外,本专利技术的实施方式还可以确定每个频繁项在文 本串中出现的次数并控制存储器使用、运行时执行以及结果质量。传统的压缩算法是为压缩并存储的目的而设计的。因而,传统系统会在不进行完 全解压的情况下使查找变得开销巨大,或有时是不可能的。根据本专利技术的实施方式,前面提 到的基于二次散列的算法能够实现轻量压缩,使快速查询变成可能。例如,考虑以下场景。 可能有很长的帐户/联系人列表-John Doe-John Wayne-Wayne Smith-·..当用户键入一些文本时(将其称为“输入”),我们会快速地标识上面的帐户/联 系人,然后将它们突出显示。ZIP可以用来压缩这个列表。尽管该列表可以得到高效压缩,但可能没有方式进 行快速查找。因为ZIP压缩可以是适应性的,我们或许不能希望将输入进行压缩并在压缩 列表中搜索匹配的字节。将该列表进行解压并与输入进行比较可能也会使整个目的遭到失 败。如果运行前面提到的基于二次散列的算法来找出最频繁的两个符号(例如同时 对该串的长度以及编码成本进行加权,以找出“最佳”的两个符号来进行压缩)。我们在轻 量压缩后可能得到压缩列表-$1 = John-$2 = Wayne-$lDoe-$1$2-$2Smith-·..因为我们可以控制编码符号的数量,我们可以在输入中替换这些符号并进行比较。下面是使用XML的另一示例。例如,我们可能有一个包含下列内容的大型XML文 档〈Greetings〉〈Word id =〃 Welcome" >English</fford><fford id = " Bonjour〃 >French</fford><fford id = " Danke" >German</fford>…〈/Greetings〉我们可能希望用较少的存储器来保存这个XML文档,但是仍能够使用XPath查询 来进行查找XPath = Greetings/Word·我们可以使用ZIP来压缩该XML文档。XPath可能无法奏效(因为我们有的是压 缩字节,而不再是XML文档)。如果现在我们运行前面提到的基于二次散列的算法来找出最 频繁的两个符号(例如,可能用避免编码特定XML节点或属性的1来找出“最佳”的两个符 号进行压缩)。我们可能在轻量压缩之后得到压缩XML文档。$1 = Greetings$2 = Word<$1><$2id=" Welcome” >English<$2><$2id=〃 Bonjour" >French<$2><$2id=〃 Danke 〃 >German<$2>…</$l>现在我们可以继续运行XPath 查询XPath = $l/$2。图1示出根据本专利技术的实施方式的识别系统100。如图1本文档来自技高网...
【技术保护点】
一种用于识别文本的方法,所述方法包括:生成用在文本串(105)中的多个生成项(305);从所述多个生成项(305)计算多个散列值;创建分别与所述多个散列值相对应的多个散列桶(310);维护分别对应于所述多个散列桶(310)的多个出现计数值,所述多个出现计数值中的每一个分别指示所述多个生成项(305)中的具有分别对应于所述多个出现计数值各自的散列桶的散列值的那些项在所述文本串(105)中出现的次数;舍弃所述多个散列桶(310)中其各自的出现计数值小于第一预定值的那些桶;将词典项添加到词典(120)中,所述词典项包括所述多个生成项(305)中具有分别对应于分别与剩余的多个散列桶(310)相对应的所述多个散列值中的任意一个的散列值的那些项,所述词典(120)包括分别指示所述词典项中的每一个在所述文本串(105)中出现的次数的多个频率计数值。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:D普赞,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。