CN107203567A - 用于搜索字串的方法和设备 - Google Patents

用于搜索字串的方法和设备 Download PDF

Info

Publication number
CN107203567A
CN107203567A CN201610158006.0A CN201610158006A CN107203567A CN 107203567 A CN107203567 A CN 107203567A CN 201610158006 A CN201610158006 A CN 201610158006A CN 107203567 A CN107203567 A CN 107203567A
Authority
CN
China
Prior art keywords
document
collection
section
distance
word string
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
Application number
CN201610158006.0A
Other languages
English (en)
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.)
EMC Corp
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Priority to CN201610158006.0A priority Critical patent/CN107203567A/zh
Priority to US15/463,010 priority patent/US10546024B2/en
Publication of CN107203567A publication Critical patent/CN107203567A/zh
Priority to US16/731,374 priority patent/US11048763B2/en
Pending legal-status Critical Current

Links

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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • 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
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例公开了用于搜索字串的方法和设备。在一个实施例中,提供一种用于搜索字串的方法。该方法包括:确定包含该字串中的第一项的第一文档集合,以及包含该字串中的第二项的第二文档集合;以及基于该第一文档集合和该第二文档集合生成第三文档集合,该第三文档集合中的文档:i)被包括在该第一文档集合和该第二文档集合二者中,并且ii)该第一项和该第二项在该文档中的距离等于该第一项和该第二项在该字串中的距离。还公开了相应的设备和计算机程序产品。

Description

用于搜索字串的方法和设备
技术领域
本公开的实施例总体上涉及信息搜索领域,并且更具体地,涉及用于搜索字串的方法和设备。
背景技术
在信息搜索领域中,诸如倒排索引之类搜索技术可被用来在海量文档(例如,互联网上的网页)中搜索给定的字串。在传统的倒排索引技术中,待搜索的字符串被划分为项(token)。在此使用的术语“项”是指组成字串的单位,诸如字符、单词、词组,等等。在进行搜索时,会对包含所有项的所有文档进行搜索。
这种搜索所面临的最大问题是搜索效率。可以理解,对于字串中的每一项,可能存在包含该项的大量文档;反之,在一个文档中,每一项可能出现数次。传统的搜索引擎必须处理所有这些文档中的所有这些项。这极大地降低了搜索效率,使得字串搜索成为一个耗时的过程。迟缓的响应转而降低了使用搜索引擎的用户体验。
发明内容
总体上,本公开的实施例提出用于搜索字串的方法和设备。
根据本公开的第一方面,提供了一种用于搜索字串的方法,包括:确定包含该字串中的第一项的第一文档集合,以及包含该字串中的第二项的第二文档集合;以及基于该第一文档集合和该第二文档集合生成第三文档集合,该第三文档集合中的文档:i)被包括在该第一文档集合和该第二文档集合二者中,并且ii)该第一项和该第二项在该文档中的距离等于该第一项和该第二项在该字串中的距离。
根据本公开的第二方面,提供了一种用于搜索字串的设备,包括:处理单元,被配置用于:确定包含该字串中的第一项的第一文档集合,以及包含该字串中的第二项的第二文档集合;以及基于该第一文档集合和该第二文档集合生成第三文档集合,该第三文档集合中的文档:i)被包括在该第一文档集合和该第二文档集合二者中,并且ii)该第一项和该第二项在该文档中的距离等于该第一项和该第二项在该字串中的距离。
根据本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器执行根据本公开的第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例适用于其中的示例环境;
图2示出了根据本公开的某些实施例的用于搜索字串的方法的流程图;
图3示出了根据本公开的某些实施例的在搜索字串过程中生成文档集合的示例过程;以及
图4示出了可以用来实施本公开的实施例的计算设备的示意性框图。
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施例
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
如上所述,在传统搜索技术中,对包含待搜索字串中的所有项的所有文档进行搜索。然而,一般而言,作为搜索对象的文档的数目非常庞大,而每个文档中包含的各项的数目也可能多达数百万。因此,传统搜索技术往往需要相当大的运算量,导致整个搜索过程非常耗时。
为了解决这些以及其他潜在问题,本公开的实施例提供一种用于搜索字串的方法。该方法基于包含字串中的两个项的两个文档集合,生成新的文档集合。该新的文档集合被包括在这两个文档集合中,并且这两个项在该新的文档集合中的各文档中的距离等于它们在字串中的距离。如此,可以基于新的文档集合执行字串搜索。这种搜索方式有效减少了需要搜索的文档的数目,从而显著减少了搜索过程中所需的运算量,提高了搜索性能。
首先参考图1描述本公开实施例的一般原理。图1示出了本公开的实施例可以实施于其中的示例环境100。计算设备110可以是具有字串搜索功能的任意适当设备。计算设备110的示例包括但不限于:服务器、个人计算机(PC)、膝上型计算机、平板式计算机、个人数字助理(PDA)、移动电话、智能手机、智能眼镜、智能手表,等等。
如图所示,计算设备110可以向用户呈现用户界面(UI)111,例如图形用户界面(GUI)。UI 111显示有供用户输入待搜索字串的域(field)112。计算设备110可以经由诸如键盘、手写输入或语音输入来接收用户输入的待搜索的字串。应当理解,用户界面111仅仅示例性的,无意对本公开的范围施加任何限制。例如,在一个备选实施例中,待搜索的字串可由另一计算设备(未示出)接收,并且提供给计算设备110。
计算设备110在获得待搜索字串后,可以将该字串拆分为多个项,并且为其中的每个项确定包含该项的文档的集合。根据本公开的实施例,计算设备110可以将包含两个项的两个文档集合合并成新的文档集合,使得新文档集合中的每个文档都包含这两个项,并且这两个项在每个文档中的距离等于它们在字串中的距离。作为示例,在某些实施例中,合并操作可以开始于包含文档数目最少的两个文档集合,这将在下文详述。
如图1所示,假设用户输入字串“AABBCCDD”112。计算设备110首先根据给定的字串切分方法将该字串切分为项,例如“AA”、“BB”、“CC”和“DD”。这仅仅是示例性的,无意以任何方式限制本公开的范围。任何目前已知或者将来开发的字串切分算法都可以与本公开的实施例结合使用。
继而,对于每个项,可以确定包含该项的文档的集合。由此,可以获得四个文档集合121、122、123和124。文档集合121中的文档包含项“AA”,文档集合122中的文档包含项“BB”,文档集合123中的文档包含项“CC”,并且文档集合124中的文档包含项“DD”。在某些实施例中,四个文档集合121、122、123和124可以以列表的形式存储于计算设备110的存储单元中。任何其他适当的数据结构也是可行的。
接下来,计算设备110根据预定的标准从文档集合中选择两个或多个。如上所述,文档选择标准的一个示例是文档集合的大小。也即,计算设备110可以初始地选择所包含的文档数目比较少(例如,最少)的两个或多个文档集合。为讨论目的,假设首先选择了文档集合122和123。所选择的文档集合122和123继而被合并为新文档集合125。合并的总体原则是,对于新集合125中的每个文档:(i)该文档同时处于文档集合122和123中,也即,同时包含项“BB”和“CC”;并且(ii)项BB和CC在该文档中的距离与其在字串112中相同。项之间的距离的度量将在下文描述。依照这样的原则,在此例中,文档4和文档16将被归入新文档集合125。
通过以这样的方式来合并文档集合,能够显著地提高搜索的效率。下面将结合若干示例,详细描述合并的过程及其效果。图2示出了根据本公开的实施例的搜索字串的过程。图2中所示的方法200可以由计算设备110来执行。为讨论方便,以下将结合图1来描述方法200。
如图2所示,在步骤202中,计算设备110确定包含待搜索的字串(例如,图1中的“AABBCCDD”)中的第一项的第一文档集合,以及包含字串中的第二项的第二文档集合。“第一项”和“第二项”是从字串中包含的多个项中选出的,例如图1所描述示例中的“BB”和“CC”。
如上所述,可以根据各种标准来选择第一项和第二项。例如,可以按照各个文档集合中的文档数目从少到多的顺序来确定第一项和第二项。也就是说,可以首先按照与各个项对应的文档集合中所包含的文档数目,对这些文档集合进行排序。而后,选择包括文档数目较少的文档集合。特别地,在一个实施例中,可以选择包含文档数目最少的两个或更多文档集合。以此方式,可以显著降低在下文将要描述的文档集合合并以及后续处理中的运算量。应当理解,上述选择文档数目最少的文档集合仅仅是示例,其他选择方式也是可行的。例如,可以随机选择随机选择文档集合,或者选择包括文档数目较多的文档集合用于合并。
方法200进行到步骤204,在此基于第一文档集合和第二文档集合生成第三文档集合。第三文档集合中的任何文档都应满足如下条件:i)被包括在第一文档集合和第二文档集合二者中,并且ii)第一项和第二项在该文档中的距离等于第一项和第二项在字串中的距离。
仍然参考图1的示例,在合并第一项“BB”所对应的文档集合122和第二项“CC”所对应的文档集合123时,要考虑如下两个条件。第一,新文档集合125中的每个文档都要被包括在文档集合122和123中。也就是说,文档集合125中的文档要同时包含第一项“BB”和第二项“CC”。第二,项“BB”和“CC”在文档集合125中的每个文档中的距离要与其在待搜索字串“AABBCCDD”中的距离相等。字串之间的距离可以按照各种方式来度量,例如欧氏距离、汉明距离,等等。作为一个示例,如果两个项紧邻,则二者之间的距离为0;如果两个项之间间隔一个其他项,则二者之间的距离为1;以此类推。
在某些实施例中,每个项的文档集合中的每个文档可以具有一个位置列表,其中记录着对应的项在该文档中出现的位置。例如,在图1所示的示例中,在第一项“BB”的文档集合122中,文档4和文档16分别具有位置列表131和132。以位置列表32为例,其指明:项“BB”出现在文档4的位置32、…以及位置u处。通过检索这样的位置列表,可以快速地确定项在文档中的位置以及不同项在任何一个文档中的距离。当然,这并不是必须的,在某些实施例中也可以在运行时计算项之间的距离。
在某些实施例中,在步骤204,上述两个条件可以被依次应用。例如,在图1描述的示例中,可以首先获取文档集合122和123的交集。该交集中的文档即包含项“BB”和“CC”二者。确定交集的方式有很多种。例如,可以将文档集合122作为基准,对文档集合123进行筛查。如果文档集合122中的某个文档未被包括在文档集合123中,则将该文档从文档集合122中移除。最后保留下来的元素即为文档集合122和123的交集。交集中所包含的文档被称为“候选文档”。第二个条件可被应用于交集中的候选文档,以确定哪些候选文档中“BB”和“CC”的距离与这两个项在字串112中相同。满足第二条件的那些候选文档构成了第三文档集合125。
备选地,也可以在扫描文档集合时同时应用上述两个条件。例如,在确定某个文档被包括在文档集合122和123二者之中后,可以随即确定项“BB”和“CC”在该文档中的距离是否与这两个项在字串112中的距离相等。如果是,则将该文档添加到第三文档集合125中。否则,可以直接将该文档排除在后续处理之外。
可选地,在某些实施例中,在生成第三文档集合之后,可以基于第三文档集合重复地执行步骤202和204一次或多次,以实现文档集合的进一步合并。例如,可以确定包含字串中的第三项的第四文档集合,并且通过将第三文档集合和第四文档集合合并,来生成第五文档集合。类似于上文描述的合并原则,第五文档集合中的文档应当满足如下条件:i)被包括在第三文档集合和第四文档集合二者中,并且第一项和第三项在该文档中的距离等于第一项和第三项在字串中的距离,并且第二项和第三项在该文档中的距离等于第二项和第三项在字串中的距离。
与上述确定第一文档集合和第二文档集合的过程类似,可以选择任意其他文档集合作为第四文档集合。在某些实施例中,可以选择目前剩余的文档集合中文档数目较少的那个文档集合作为第四文档集合。例如,在图1的示例中,在已经选择了文档数目最少的两个文档集合122和123来生成第三文档集合125的情况下,可以选择文档数目第三少的文档集合121,与第三文档集合125进行下一轮的合并。合并的原理和具体过程已在上文详述,故在此不再赘述。
在某些实施例中,新文档集合生成的过程可以一直进行,直到找出包含待搜索字串中的所有项的文档为止。作为备选,在某些实施例中,可以在满足给定条件之后停止这种合并,然后执行常规搜索过程。例如,可以在新的文档集合中文档的数目少于预定阈值时停止。备选地或附加地,也可以在已经进行的合并轮数超过预定数目之后停止,等等。常规搜索过程是本领域已知的,故文本不对此进行讨论。
图3示出了根据本公开的某些实施例的在搜索字串过程中生成文档集合的示例过程。图3所示的示例过程可以视为图1所示的文档集合生成过程的后续示例实现。上文结合图1已经描述,计算设备110基于文档集合121、122、123和124中文档数目最少的文档集合122和123生成了新的文档集合125。新生成的文档集合125中包括文档4和文档16。
接下来,如图3所示,基于第三文档集合125继续执行新文档集合的生成。在此示例中,文档集合121中的文档数目少于文档集合124,所以使用第四文档集合121与第三文档集合125一起,来生成新的第五文档集合301。因为文档集合121中包括文档16但不包括文档4,所以新生成的文档集合301只包括文档16。至此,新文档集合生成过程停止,执行常规搜索过程。例如,直接在文档16中搜索字串“AABBCCDD”,或者基于相关联的位置集合确定文档16中是否包含位置连续的“AA”、“BB”、“CC”和“DD”。根据本公开的实施例,通过这种文档集合的渐进合并,能够极大地改善搜索效率,降低响应时间,从而提高用户体验。
图4示出了一个可以用来实施本公开的实施例的计算设备400的示意性框图。如图4所示,计算设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
计算设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
在某些实施例中,CPU 401可被配置为执行上文所描述的各个过程和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元409而被载入和/或安装到计算设备400上。当计算机程序被加载到RAM并由CPU 401执行时,可以执行上文描述的方法200的一个或多个步骤。
特别地,根据本公开的实施例,文参考图1、图2和图3a至图3c描述的过程可以被实现为计算机程序产品,其可以被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器实现根据本公开的各个方面。
计算机可读存储介质可以是可以存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的、非穷举的例子包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的设备、方法和计算机程序产品的框图和/或流程图描述了本公开的各个方面。应当理解,框图和/或流程图的每个方框以及框图和/或流程图中各方框的组合,都可以由计算机可读程序指令实现。
已经出于示例的目的描述了本公开的各个实施例,但是本公开并不意图限于所公开的这些实施例。在不脱离本公开实质的前提下,所有修改和变型均落入由权利要求所限定的本公开的保护范围之内。

Claims (15)

1.一种用于搜索字串的方法,包括:
确定包含所述字串中的第一项的第一文档集合,以及包含所述字串中的第二项的第二文档集合;以及
基于所述第一文档集合和所述第二文档集合生成第三文档集合,所述第三文档集合中的文档:
i)被包括在所述第一文档集合和所述第二文档集合二者中,并且
ii)所述第一项和所述第二项在所述文档中的距离等于所述第一项和所述第二项在所述字串中的距离。
2.根据权利要求1所述的方法,其中所述确定包括:
确定包含所述字串中的多个项的多个文档集合;以及
根据所述多个文档集合中各自包含的文档数目从少到多的顺序,从所述多个文档集合中选择所述第一文档集合和所述第二文档集合。
3.根据权利要求1所述的方法,其中所述生成第三文档集合包括:
选择被包括在所述第一文档集合和所述第二文档集合二者中的候选文档;
确定所述第一项和所述第二项在所述候选文档中的候选距离是否等于所述第一项和所述第二项在所述字串中的所述距离;以及
响应于所述候选距离等于所述距离,将所述候选文档添加到所述第三文档集合中。
4.根据权利要求3所述的方法,其中所述选择包括:
获取所述第一文档集合和所述第二文档集合的交集;以及
从所述交集中选择所述候选文档。
5.根据权利要求3所述的方法,其中所述确定所述候选距离是否等于所述距离包括:
确定所述第一项在所述候选文档中的第一位置集合;
确定所述第二项在所述候选文档中的第二位置集合;以及
基于所述第一位置集合和所述第二位置集合,来确定所述候选距离是否等于所述第一项和所述第二项在所述字串中的所述距离。
6.根据权利要求1所述的方法,还包括:
确定包含所述字串中的第三项的第四文档集合;
基于所述第三文档集合和所述第四文档集合生成第五文档集合,所述第五文档集合中的文档:
i)被包括在所述第三文档集合和所述第四文档集合二者中,并且
ii)所述第一项和所述第三项在所述文档中的距离等于所述第一项和所述第三项在所述字串中的距离,并且所述第二项和所述第三项在所述文档中的距离等于所述第二项和所述第三项在所述字串中的距离。
7.根据权利要求1所述的方法,还包括:
通过对所述字串切词,获取所述第一项和所述第二项。
8.一种用于搜索字串的设备,包括:
处理单元,被配置用于:
确定包含所述字串中的第一项的第一文档集合,以及包含所述字串中的第二项的第二文档集合;以及
基于所述第一文档集合和所述第二文档集合生成第三文档集合,所述第三文档集合中的文档:
i)被包括在所述第一文档集合和所述第二文档集合二者中,并且
ii)所述第一项和所述第二项在所述文档中的距离等于所述第一项和所述第二项在所述字串中的距离。
9.根据权利要求8所述的设备,其中所述处理单元被配置用于:
确定包含所述字串中的多个项的多个文档集合;以及
根据所述多个文档集合中各自包含的文档数目从少到多的顺序,从所述多个文档集合中选择所述第一文档集合和所述第二文档集合。
10.根据权利要求8所述的设备,其中所述处理单元被配置用于:
选择被包括在所述第一文档集合和所述第二文档集合二者中的候选文档;
确定所述第一项和所述第二项在所述候选文档中的候选距离是否等于述第一项和所述第二项在所述字串中的所述距离;以及
响应于所述候选距离等于所述距离,将所述候选文档添加到所述第三文档集合中。
11.根据权利要求10所述的设备,其中所述处理单元被配置用于:
获取所述第一文档集合和所述第二文档集合的交集;以及
从所述交集中选择所述候选文档。
12.根据权利要求10所述的设备,其中所述处理单元被配置用于:
确定所述第一项在所述候选文档中的第一位置集合;
确定所述第二项在所述候选文档中的第二位置集合;以及
基于所述第一位置集合和所述第二位置集合,来确定所述候选距离是否等于述第一项和所述第二项在所述字串中的所述距离。
13.根据权利要求8所述的设备,其中所述处理单元还被配置用于:
确定包含所述字串中的第三项的第四文档集合;
基于所述第三文档集合和所述第四文档集合生成第五文档集合,所述第五文档集合中的文档:
i)被包括在所述第三文档集合和所述第四文档集合二者中,并且
ii)所述第一项和所述第三项在所述文档中的距离等于所述第一项和所述第三项在所述字串中的距离,并且所述第二项和所述第三项在所述文档中的距离等于所述第二项和所述第三项在所述字串中的距离。
14.根据权利要求8所述的设备,其中所述处理单元还被配置用于:
通过对所述字串切词,获取所述第一项和所述第二项。
15.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,所述指令在被执行时使得所述机器执行根据权利要求1到7任一项所述的方法的步骤。
CN201610158006.0A 2016-03-18 2016-03-18 用于搜索字串的方法和设备 Pending CN107203567A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610158006.0A CN107203567A (zh) 2016-03-18 2016-03-18 用于搜索字串的方法和设备
US15/463,010 US10546024B2 (en) 2016-03-18 2017-03-20 Method and device for searching character string
US16/731,374 US11048763B2 (en) 2016-03-18 2019-12-31 Method and device for searching character string

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610158006.0A CN107203567A (zh) 2016-03-18 2016-03-18 用于搜索字串的方法和设备

Publications (1)

Publication Number Publication Date
CN107203567A true CN107203567A (zh) 2017-09-26

Family

ID=59847528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610158006.0A Pending CN107203567A (zh) 2016-03-18 2016-03-18 用于搜索字串的方法和设备

Country Status (2)

Country Link
US (2) US10546024B2 (zh)
CN (1) CN107203567A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526746B (zh) 2016-06-22 2020-11-24 伊姆西Ip控股有限责任公司 管理文档索引的方法和设备
CN107766414B (zh) * 2017-09-06 2020-06-12 北京三快在线科技有限公司 多文档交集获取方法、装置、设备及可读存储介质
SG10201904554TA (en) 2019-05-21 2019-09-27 Alibaba Group Holding Ltd Methods and devices for quantifying text similarity
CN111078821B (zh) * 2019-11-27 2023-12-08 泰康保险集团股份有限公司 字典设置方法、装置、介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240409B1 (en) * 1998-07-31 2001-05-29 The Regents Of The University Of California Method and apparatus for detecting and summarizing document similarity within large document sets
CN100433007C (zh) * 2005-10-26 2008-11-12 孙斌 提供搜索结果的方法
CN102156712A (zh) * 2011-03-08 2011-08-17 国网信息通信有限公司 一种基于云存储的电力信息检索方法及***
US20130151503A1 (en) * 2011-12-08 2013-06-13 Martin Pfeifle Optimally ranked nearest neighbor fuzzy full text search
US20130304720A1 (en) * 2009-11-30 2013-11-14 International Business Machines Corporation Methods and Apparatus for Presenting Search Results with Indication of Relative Position of Search Terms
US20130325881A1 (en) * 2012-05-29 2013-12-05 International Business Machines Corporation Supplementing Structured Information About Entities With Information From Unstructured Data Sources

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0583559B1 (en) * 1992-07-31 2004-02-25 International Business Machines Corporation Finding token sequences in a database of token strings
US6810398B2 (en) 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
US8364470B2 (en) * 2008-01-15 2013-01-29 International Business Machines Corporation Text analysis method for finding acronyms
US20090234852A1 (en) * 2008-03-17 2009-09-17 Microsoft Corporation Sub-linear approximate string match
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US8365247B1 (en) 2009-06-30 2013-01-29 Emc Corporation Identifying whether electronic data under test includes particular information from a database
CA2791566C (en) 2010-03-01 2018-09-18 Andreas Wittenstein System and method for network security including detection of attacks through partner websites
US8756684B2 (en) 2010-03-01 2014-06-17 Emc Corporation System and method for network security including detection of attacks through partner websites
JP2011243148A (ja) * 2010-05-21 2011-12-01 Sony Corp 情報処理装置、情報処理方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240409B1 (en) * 1998-07-31 2001-05-29 The Regents Of The University Of California Method and apparatus for detecting and summarizing document similarity within large document sets
CN100433007C (zh) * 2005-10-26 2008-11-12 孙斌 提供搜索结果的方法
US20130304720A1 (en) * 2009-11-30 2013-11-14 International Business Machines Corporation Methods and Apparatus for Presenting Search Results with Indication of Relative Position of Search Terms
CN102156712A (zh) * 2011-03-08 2011-08-17 国网信息通信有限公司 一种基于云存储的电力信息检索方法及***
US20130151503A1 (en) * 2011-12-08 2013-06-13 Martin Pfeifle Optimally ranked nearest neighbor fuzzy full text search
US20130325881A1 (en) * 2012-05-29 2013-12-05 International Business Machines Corporation Supplementing Structured Information About Entities With Information From Unstructured Data Sources

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张雪源等: ""一种基于倒排索引的音频检索方法"", 《电子与信息学报》 *
杨小龙: ""面向脑科学领域的信息检索***设计与实现"", 《万方数据知识服务平台》 *

Also Published As

Publication number Publication date
US11048763B2 (en) 2021-06-29
US20200133981A1 (en) 2020-04-30
US10546024B2 (en) 2020-01-28
US20170270114A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
EP3989131A1 (en) Method and system for realizing machine learning modeling process
CN109918511B (zh) 一种基于bfs和lpa的知识图谱反欺诈特征提取方法
Mbaziira et al. A text-based deception detection model for cybercrime
Zhang et al. Extracting implicit features in online customer reviews for opinion mining
US20220318275A1 (en) Search method, electronic device and storage medium
US11556572B2 (en) Systems and methods for coverage analysis of textual queries
US9846953B2 (en) Visualization of relationships and strengths between data nodes
US20180025121A1 (en) Systems and methods for finer-grained medical entity extraction
CN104615608A (zh) 一种数据挖掘处理***及方法
US20200151560A1 (en) Apparatus and methods for using bayesian program learning for efficient and reliable generation of knowledge graph data structures
CN107203567A (zh) 用于搜索字串的方法和设备
CN110909540B (zh) 短信垃圾新词识别方法、装置及电子设备
CN110457708A (zh) 基于人工智能的词汇挖掘方法、装置、服务器及存储介质
WO2024109619A1 (zh) 敏感数据识别方法、装置、设备及计算机存储介质
US20230133981A1 (en) Method of training image generation model, and method of generating image
Gu et al. Model editing can hurt general abilities of large language models
CN112115710B (zh) 一种行业信息识别方法及装置
KR20210121921A (ko) 키워드 공동출현 네트워크를 기반으로 핵심 키워드를 추출하는 방법 및 장치
US20210271637A1 (en) Creating descriptors for business analytics applications
EP4120101A1 (en) Concepts and link discovery system
Cai et al. A risk identification model for ICT supply chain based on network embedding and text encoding
US20210176279A1 (en) Enforcement Knowledge Graph-Based Data Security Rule Change Analysis
CN111527492A (zh) 社会情感与自然语言生成的量子的叠加与纠缠
Wu et al. Big Data Management and Analytics in Scientific Programming: A Deep Learning‐Based Method for Aspect Category Classification of Question‐Answering‐Style Reviews
Harshvardhan et al. Topic modelling Twitterati sentiments using Latent Dirichlet allocation during demonetization

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
TA01 Transfer of patent application right

Effective date of registration: 20200415

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170926

RJ01 Rejection of invention patent application after publication