CN116685966A - 调整查询生成模式 - Google Patents

调整查询生成模式 Download PDF

Info

Publication number
CN116685966A
CN116685966A CN202180087306.3A CN202180087306A CN116685966A CN 116685966 A CN116685966 A CN 116685966A CN 202180087306 A CN202180087306 A CN 202180087306A CN 116685966 A CN116685966 A CN 116685966A
Authority
CN
China
Prior art keywords
natural language
query
search query
language query
search
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
CN202180087306.3A
Other languages
English (en)
Inventor
S·A·博克斯韦尔
K·M·布拉克
K·G·弗罗斯特
S·J·弗尼尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116685966A publication Critical patent/CN116685966A/zh
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/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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
    • G06F16/3344Query execution using natural language analysis
    • 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/338Presentation of query results
    • 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/9532Query formulation
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种用于优化搜索查询结果的计算机实现的方法。该计算机实现的方法包括接收第一自然语言查询,基于第一自然语言查询来选择多个搜索查询模式,向多个搜索查询模式中的每个搜索查询模式分配权重,基于被分配给每个搜索查询模式的权重和来自第一自然语言查询的一个或多个关键字从每个搜索查询模式生成一个或多个加权关键字查询,评估由针对第一自然语言查询的一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性,以及迭代地改变被分配给搜索查询模式的权重,直到最优数目的相关搜索结果从针对第一自然语言查询的搜索查询模式被返回。

Description

调整查询生成模式
背景技术
本发明大体上涉及搜索查询的领域,并且更具体地涉及调整搜索查询模式以优化搜索查询结果。
搜索查询或web搜索查询是基于用于满足信息需求的特定搜索词或项的查询。搜索查询通常由用户输入到搜索引擎中以便取回与搜索查询相关的信息(诸如,特定段落、文档或网页)的实际词或词的字符串组成。通常,搜索查询是基于web的,其中用户通过使用诸如计算机、手持移动设备或智能设备的电子设备的用户界面将搜索查询输入到web搜索引擎中。
搜索查询模式(即,“搜索模式”、“查询模式”、“字符串搜索算法”或“字符串匹配算法”)包括用于基于给定搜索查询来生成一个或多个关键字查询的一个或多个预定义规则。例如,查询模式[weather in X]可以表示包括术语“weather”和标识地理位置的术语[X]的所有查询,例如[weather in Paris]、[weather in France]和[weather near me]。
关键字查询是从搜索查询模式和从用户的搜索查询拉取的一个或多个子字符串形成的特定查询。例如,给定搜索查询“What is the Capital of France?”和搜索查询模式[X of Y],可以形成关键字查询[Capital of France]。
发明内容
根据本发明的一个实施例,公开了一种用于优化搜索查询结果的计算机实现的方法。该计算机实现的方法包括接收第一自然语言查询。该计算机实现的方法还包括基于第一自然语言查询来选择多个搜索查询模式。该计算机实现的方法还包括向多个搜索查询模式中的每个搜索查询模式分配权重。该计算机实现的方法还包括基于被分配给每个搜索查询模式的权重和来自第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询。该计算机实现的方法还包括评估由针对第一自然语言查询的一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性。该计算机实现的方法还包括迭代地改变被分配给搜索查询模式的权重,直到最优数目的相关搜索结果从针对第一自然语言查询的搜索查询模式被返回。
根据本发明的另一个实施例,公开了一种用于优化搜索查询结果的计算机程序产品。该计算机程序产品包括一个或多个计算机可读存储介质和存储在该一个或多个计算机可读存储介质上的程序指令。这些程序指令包括指令以接收第一自然语言查询。这些程序指令还包括指令以基于第一自然语言查询来选择多个搜索查询模式。这些程序指令还包括指令以向多个搜索查询模式中的每个搜索查询模式分配权重。这些程序指令还包括指令以基于被分配给每个搜索查询模式的权重和来自第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询。这些程序指令还包括指令以评估由针对第一自然语言查询的一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性。这些程序指令还包括指令以迭代地改变被分配给搜索查询模式的权重,直到最优数目的相关搜索结果从针对第一自然语言查询的搜索查询模式被返回。
根据本发明的另一个实施例,公开了一种用于优化搜索查询结果的计算机系统。该计算机系统包括一个或多个计算机处理器、一个或多个计算机可读存储介质、计算机程序指令,这些计算机程序指令被存储在一个或多个计算机可读存储介质上以用于由一个或多个计算机处理器执行。这些程序指令包括指令以接收第一自然语言查询。这些程序指令还包括指令以基于第一自然语言查询来选择多个搜索查询模式。这些程序指令还包括指令以向多个搜索查询模式中的每个搜索查询模式分配权重。这些程序指令还包括指令以基于被分配给每个搜索查询模式的权重和来自第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询。这些程序指令还包括指令以评估由针对第一自然语言查询的一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性。这些程序指令还包括指令以迭代地改变被分配给搜索查询模式的权重,直到最优数目的相关搜索结果从针对第一自然语言查询的搜索查询模式被返回。
附图说明
包括在本公开中的附图被并入到说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与描述一起用于解释本公开的原理。附图仅说明某些实施例,而不限制本公开。
图1是根据本发明至少一个实施例的用于信息取回的计算系统的功能框图,该计算系统一般地被指定为100。
图2是描绘根据本发明至少一个实施例的用于调整搜索查询生成模式的操作步骤的流程图。
图3是描绘根据本发明至少一个实施例的用于针对特定搜索查询生成和分配预定搜索查询模式和权重的操作步骤的流程图。
图4是描绘了根据本发明至少一个实施例的适于执行搜索查询程序101的计算机的组件的框图,该计算机一般地被指定为300。
虽然本文中所描述的实施例可被修改为各种修改和备选形式,但是其细节已在附图中通过示例的方式示出并将详细描述。然而,应理解,所描述的特定实施例不应被理解为限制性的。相反,本发明将涵盖落入本公开的范围内的所有修改、等同物和备选方案。
具体实施方式
本发明大体上涉及搜索查询的领域,并且更具体地涉及调整搜索查询模式以优化搜索查询结果。
当使用诸如web搜索引擎的信息取回系统时,个人在他们如何构造查询以及个人期望基于特定搜索查询来取回的信息上变化很大。时常,寻求相似的信息的用户输入不同的搜索查询。一些用户可能更喜欢简短的问题,而其他用户可能更喜欢冗长的问题。类似地,一些用户可以包括特定词(例如,找到(find)),期望信息取回系统在所有情况下(例如,找到(find、finds、finding))都将考虑该词,而其他用户更灵活地表达事务(例如,find[])。然而,在搜索查询中使用不同的词、次序和词的组合可能产生不同的结果。用户时常需要多次改变其搜索查询以便接收其正寻找的正确结果。然而,本发明的实施例认识到即使在个人自己多次改变他们的搜索查询之后,个人仍然可能不能找到他们期望的搜索结果。另外,本发明的实施例认识到要求个人花费时间来连续改变和细化搜索查询以找到其所需结果可能是繁重且耗时的。
本发明的实施例通过自动调整特定用户的搜索查询模式以优化其预期结果来改进上述缺陷。根据本发明的实施例,从给定搜索查询的两个或更多搜索查询模式生成多个关键字查询。在一个实施例中,两个或更多搜索查询模式中的每个搜索查询模式被给予初始权重,其中从相应搜索查询模式生成的每个后续关键字查询被分配与向搜索查询模式给予的权重相对应的权重。分析由每个关键字查询返回的结果的相关性。然后评估经由相应关键字查询返回的每个结果的准确性或相关性。在一个实施例中,使用迭代爬山算法来任意地选择相邻状态(例如,通过逐个地递增所选择的搜索查询模式之一的权重)。对于给定搜索查询,通过从相应搜索查询构造关键字查询、搜索文档的语料库以及评估给定搜索查询的得分来评估新状态。在实施例中,当通过爬山算法评估段落时,实时调整权重,直到对于给定搜索查询实现了最优数目的搜索结果。保存分配给实现最优数目的搜索结果的相应关键字查询的加权值,以用于与后续相似关键字查询一起使用。在这样做时,本发明的系统可以自动地将预定权重分配给相似的未来生成的关键字查询,从而优化为特定个人返回的结果。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令以用于使处理器执行本发明的各方面的计算机可读存储介质(或者,多个介质)。
计算机可读存储介质可以是能够保存和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如其上记录有指令的打孔卡或凹槽中的凸起结构的机械编码设备,以及前述的任何合适的组合。如本文中所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或者通过导线传输的电信号。
本文中所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(诸如,Smalltalk、C++等)和常规的过程式编程语言(诸如,“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、分段或部分,其包括用于实现(多个)指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中所提及的功能可以不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的次序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统实现。
已出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文中所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或者使本领域的其他普通技术人员能够理解本文中所公开的实施例。
现在将参照附图详细描述本发明。图1是根据本发明至少一个实施例的用于信息取回的计算系统(一般被指定为100)的功能框图。图1提供了仅一个实现的图示,并且不暗示针对其中可以实现不同实施例的环境的任何限制。本领域技术人员可以对所描述的环境进行许多修改,而不偏离如权利要求所记载的本发明的范围。
计算系统100包括通过网络140互连的用户设备110、服务器120和存储设备130。用户设备120可以表示用户的计算设备,诸如膝上型计算机、平板计算机、上网本计算机、个人计算机、台式计算机、个人数字助理(PDA)、智能电话、可穿戴设备(例如,智能眼镜、智能手表、电子纺织品、AR头戴式耳机等)、或者本领域已知的任何可编程计算机系统。通常,用户设备110可以表示能够执行机器可读程序指令并经由诸如网络140的网络与服务器120、存储设备130和其他设备(未示出)通信的任何可编程电子设备或可编程电子设备的组合。根据本发明的实施例,用户设备120可以包括如关于图3进一步详细描绘和描述的组件。
用户设备110还包括用户界面112和应用114。用户界面112是提供诸如用户设备110的终端用户设备的用户与驻留在设备上的多个应用(例如,应用114)之间的界面的程序。诸如用户界面112的用户界面涉及程序呈现给用户的信息(诸如,图形、文本和声音),以及用户用来控制程序的控制序列。存在各种类型的用户界面。在一个实施例中,用户界面112是图形用户界面。图形用户界面(GUI)是一种用户界面,其允许用户通过图形图标和视觉指示符(例如,辅助符号)与电子设备(例如,计算机键盘和鼠标)交互,这与基于文本的界面、键入的命令标签或文本导航相反。在计算中,GUI是对需要在键盘上键入命令的命令行界面的感知的陡峭学习曲线的反应而引入的。GUI中的动作通常通过直接操纵图形元素来执行。在另一个实施例中,用户界面112是脚本或应用编程接口(API)。
应用114可以表示在用户设备110上操作的一个或多个应用(例如,应用套件)。在各种示例实施例中,应用114可以是用户设备110的用户用来经由用户界面112输入搜索查询和查看搜索结果的应用。在其他实施例中,应用114可以是另一移动设备应用(例如,web浏览器、企业专用消息收发应用、社交媒体应用等)。例如,应用114是与服务器120相关联的客户端侧应用(例如,与搜索查询程序101相关联的客户端侧应用)。
在附加实施例中,根据本发明的各种实施例,应用114可以操作以执行搜索查询程序101的处理步骤(即,应用114可以表示在用户设备110上操作的搜索查询程序101)。例如,用户设备110的用户可以利用应用114来输入自然语言查询,并且在用户设备110上查看结果(例如,经由用户界面112)。在一些实施例中,弹出窗口经由用户界面112出现在应用114上,请求用户指示所显示的搜索结果是否相关。在实施例中,从用户收集的反馈数据被用于改进或“微调”用于构造针对未来查询的关键字查询的搜索查询模式。在实施例中,所收集的反馈数据可以进一步用于训练(例如,经由机器学习),关于分配给特定搜索查询模式的权重是否应该增大或增加。类似地,反馈数据可以用于学习特定搜索查询模式以及分配给其的权重是否应被自动选择以用于相似的未来查询。
在示例实施例中,服务器120可以是台式计算机、计算机服务器或本领域已知的任何其他计算机系统。在某些实施例中,服务器120表示利用集群计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算机系统,当由计算环境100的组件(例如,用户设备110、存储系统130和未示出的其他设备)访问时,集群计算机和组件充当单个无缝资源池。通常,服务器120表示能够执行计算机可读程序指令的任何电子设备或电子设备的组合。根据本发明的实施例,服务器120可以包括关于图3进一步详细描绘和描述的组件。
服务器120包括搜索查询程序101,其进一步包括自然语言处理模块122和语法分析器模块124。在一个实施例中,自然语言处理(NPL)模块122是用于分析输入搜索查询的搜索查询程序101的组件或子程序。自然语言处理是语言学、计算机科学和人工智能的一个领域,用于处理自然语言数据。在各种实施例中,自然语言处理模块122例如通过使用词分割或令牌化将输入搜索查询分离成词。词分割是将连续文本分离成词。例如,从用户接收的输入搜索查询包含多个词并且被分成单独的词。令牌化是将输入字符串的各部分分解和分类的过程。例如,各个词被分解成关键字、短语、令牌或子字符串。例如,查询“西班牙的资本城市是什么?”可以被分解成以下子字符串或令牌:[what]、[is]、[the]、[capital]、[city]、[of]和[Spain]。在实施例中,根据搜索查询模式移除停止词。停用词(例如,a、an、the等)是在不提供帮助标识搜索结果的附加信息的语言中使用的常见词(即,不影响结果的词)。例如,搜索查询“what is the capital city of Spam?”包括停止词[“is”]、[“the”]“和”[“of”]。一旦停止词被移除,当将查询与查询模式匹配时,仅可以使用以下子字符串或令牌:[“capital”]、[“city”]、和[“Spain”]。
在实施例中,自然语言处理模块122对令牌或子字符串执行词性标注。词性标记(即,语法的标记)是基于其定义和其上下文两者将文本中的词标记为对应于特定词性的过程。例如,自然语言处理模块122可以基于词的定义和在输入搜索查询中使用词的上下文,将各个词标记为名词、动词、形容词等。在一个实施例中,当生成从搜索查询模式构造的关键字查询时,仅使用具有预定词性的词。作为一个例子,给定具有[动词]+[形容词]+[名词]查询“who ran the fastest at the Olympics?”可以产生以下关键字查询:[“ran”](动词)[“fastest”](形容词)和“[Olympics]”(名词)。
在实施例中,语法分析器模块124是用于分析输入搜索查询的搜索查询程序101的组件或子程序。语法解析(即,语法分析或解析)是利用形式语法的规则分析自然语言的过程。在此,语法的规则被应用于词类和词组而不是单个词。例如,查询“Why did thechicken cross the road?”包括主语和谓语,其中主语(the chicken)是名词短语,谓语(cross the road)是动词短语。
服务器120利用存储设备130来存储和取回各种信息,例如语料库132和段落134。存储设备130可以用能够存储可以由服务器120和用户设备110访问和利用的数据的任何类型的存储设备来实现,诸如数据库服务器、硬盘驱动器或闪存。在实施例中,存储设备130可以表示服务器120内的多个存储设备和数据集合。
语料库132是文档或结构化信息集。如本文中所使用的语料库一般可以被理解为多个电子段落,其中每个段落是可唯一标识的。例如,语料库132可以是文件或文件集、网页或网页集、数据库、或者存储在存储设备130中的任何类型的结构化数据。在一些实施例中,搜索查询程序101将关键字查询与语料库132进行匹配,以返回来自语料库132的一个或多个搜索结果。在其他实施例中,搜索查询程序101将关键字查询与基于web的数据进行匹配,以经由诸如web搜索引擎的启用因特网的平台返回一个或多个搜索结果(例如,包括在网页中的统一资源定位符(URL)或信息)。
段落134是书面作品的部分或分段或者一条数据。在一些实施例中,搜索查询程序101通过分页过程(即,电子分页或“电子划分页面”)分解文档。分页是将诸如Word文档或网站的电子数据集的内容划分或分割成离散的电子页面的过程。分页通常用于数据库和web应用中,以允许直接访问跨多个不同页面的划分内容。例如,分页可用于在搜索引擎结果页面上显示有限数目的结果,或者在查看论坛主题时显示有限数目的帖子。以用户界面模式(即,“分页模式”)或“分页设计模式”的形式提供对划分的内容的访问,用户界面模式或“分页设计模式”是指机器逻辑规则集,其指定如何划分内容(例如,第一页上的前5,000个词、第二页上的后5,000个词、……剩余部分、最后一页上的剩余词或文档被每十页分解,意味着24页文档将被分解成两个十页部分和一个四页部分)。这些机器逻辑规则规定如何将内容划分成单独的页面。
根据本发明的各种实施例,搜索查询程序101基于查询本身的上下文和/或语法/语义结构来选择和定制搜索查询模式,并由此定制从搜索查询构建的关键字查询。在实施例中,选择特定搜索查询模式,并且向其分配权重,以基于将新查询的上下文和/或语法/语义结构中的至少一个与先前查询的上下文和/或语法/语义结构中的至少一个进行比较来构造新查询的关键字查询。自动选择分配给在训练阶段期间对于过去相似查询实现最优数目的搜索结果(正确回答查询的最高数目的结果)的特定搜索查询模式的加权值,以用于取回用于相似的未来生成的查询的结果。在这样做时,针对查询返回的顶部列出的搜索结果可能与第一次回答查询最相关,而不需要用户改变其搜索查询本身,以便获得用户正寻找的最可能的信息。
在初始训练阶段,接收查询,并且选择预定数目的搜索查询模式。在实施例中,搜索查询模式可以采取正则表达式的形式。正则表达式(即,“regex”或“regexp”)是定义搜索模式的字符序列。在实施例中,搜索查询模式可以采取语法图匹配组件的形式。语义图匹配允许分析查询的关联和上下文特性。语义匹配包括基于查询内的语法、语义和结构信息取回显式和隐式导出的信息。然而,应理解,用于训练或以其他方式调整搜索查询模式的搜索查询模式可以包括任何已知类型的搜索查询模式和已知类型的搜索查询模式的组合。在实施例中,搜索查询程序101存储搜索查询模式并从存储设备130取回搜索查询模式。
在实施例中,搜索查询模式包括以下一项或多项:
(1)一种模式(P),能够:
a.识别查询的特定子字符串(A),以及
b.标识(A)内的特定子字符串(B);
(2)一个或多个格式化字符串,表示搜索令牌和零或多个槽,特定子字符串(B)应被放置到其中;
(3)针对(B)的子字符串标记的列表,指示特定子字符串(B)应被布置的顺序;以及
(4)非负实数形式的权重。
在实施例中,搜索查询模式(P)采取正则表达式的形式,并且特定子字符串(A)和(B)使用命名捕获组来标识。在实施例中,搜索查询模式(P)采取语法图匹配组件的形式,其中语法/语义关系或依赖性被用于标识特定子字符串(A),并且(A)内的特定子字符串(B)由总体搜索查询模式(P)内的语法令牌标识。
在实施例中,搜索查询程序101向为特定查询选择的每个搜索查询模式分配相对得分乘数(即,“提升”或“权重”)。相对得分乘数影响搜索结果的相关性排名。例如,相对得分乘数排名二将是相对得分乘数排名一的影响力的两倍。
在实施例中,搜索查询程序101从搜索查询模式构造关键字查询。例如,将从查询导出的令牌与搜索查询模式进行匹配。在实施例中,分配给特定搜索查询模式的相对得分乘数也被分配给由搜索查询模式生成的每个关键字查询。例如,假设为查询“What is thecapital of France?”选择搜索查询模式“(?<=(|^))(?<field1>\\w+)(?=(|\\??$))”,其中(?=(|^))表示“在该令牌的左侧,应有空格或字符串的开头”,(?<field1>\\w+)表示“令牌本身由与字段1相关联的一个或第一个字母组成(非空格或标点符号)”,并且(?=(|\\??$)“在令牌的右侧,应有空格或问号”。基于该搜索查询模式,可以生成以下两个关键字查询:[capital][France]。因此,向该搜索查询模式分配相对得分乘数[2.0],则还可以如下向每个关键字查询分配相对得分乘数[2.0]:[capital^2.0][France^2.0]。
在实施例中,针对每个查询从语料库132取回一个或多个段落134。分析并评估从每个加权搜索查询模式返回的一个或多个段落134的相关性,并且由此分析并评估从每个加权搜索查询模式构建的加权关键字查询的相关性。在实施例中,评估步骤可以使用多少段落正确地回答问题的简单计数。在实施例中,评估步骤使用每个段落的得分的总和,其中如果段落正确回答问题,则每个段落的得分是1/N(其中N是段落的等级),否则为0。然而,应理解,可以使用任何已知类型的打分。
在实施例中,除了语料库132以外,还提供了由多个查询组成的回答键,其中每个查询包括:(i)自然语言问题,(ii)正确回答问题的段落的列表(不包括碰巧仅包含在未正确回答问题的上下文中的回答字符串的段落),以及(iii)未正确回答问题的段落的列表。在实施例中,注释语料库132,使得对于每个问题,每个段落被标记为“正确地回答问题”或“不正确地回答问题”。在实施例中,正确地回答问题的所有段落被如此注释,并且未被注释的所有其他段落被假设为不正确地回答问题。在实施例中,当段落被评估以确定段落是否正确地回答问题时,主题专家实时地做出判断。当面对彼此相似的关键字查询时,在不止一次取回段落的可能情况下,可以保存这些判断。
在实施例中,爬山算法改变一个或多个搜索查询模式的相对得分乘数。爬山算法试图通过对解进行递增改变来找到对问题的更优解。在实施例中,搜索查询程序101连续地调整一个或多个搜索查询模式的相对得分乘数,以便获得一个或多个查询的相关搜索结果的最优数目。在一个实施例中,为每个搜索查询模式分配1.0的初始相对得分乘数,并且可以基于所返回的那些段落的相关性来向上或向下调整该初始相对得分乘数。
在示例性实施例中,假设搜索查询模式是正则表达式的形式,并且搜索查询模式的评估度量将由多少搜索结果相关的简单计数组成。换言之,搜索查询模式的评估度量基于针对从特定搜索查询模式构建的给定关键字查询返回了多少相关搜索结果。出于该示例性实施例的目的,提供了以下三个搜索查询模式(以JSON格式表示):
SQP Pattern#1:
″pattern″:″(?<=(|^))(?<gield1>\\w+)(?=(|\\??$))″,
″formattingString″:[″%s″],
″fields″:[″field″],
″weight″:1
SQP Pattern#2:
″pattern″:″(?<=(|^))(?<field1>\\w+)of(?<field2>\\w+)(?=(|\\??$))″,
″formattingString″:[″%s of%s″],
″fields″:[″field1″,″field2″],
″weight″:1
SQP Pattern#3:
″pattern″:″(?<=(|^))(?<field1>\\w+)of(?<field2>\\w+)(?=(|\\??$))″,
″formattingString″:[″%s%s″],
″fields″:[″field2″,″field1″],
″weight″:1
继续该示例性实施例,假设有两个查询:(i)“What is the capital of France?”与“Which is the capital city of Spain?”。基于上面列出的三个SQP,可以为第一个查询生成下面的关键字查询(在移除任何停止字之后)一“What is the capital ofFrance?”:
SQP#1:[capital^1.0][France^1.0]
SQP#2:[capital of France^1.0]
SQP#3:[France capital^10]
根据上面列出的关键字查询,可以从语料库132返回以下段落134:
(1)“Paris is the capital of France.It has many fine museums and a lotof history.”
(2)“Capital punishment in France was banned m 2007.”
(3)“France is a capital place to visit if you like museums andgigantic radio towers.”
基于回答关键字,可以确定第一段落与查询相关,但是第二段落和第三段落与查询不相关。
类似地,基于上面列出的三个SQP,可以为第一个查询生成以下关键字查询(在移除任何停用词之后)-“Which is the capital city of Spain?”:
SQP#1:[capital^1.0][city^1.0][Spain^1.0]
SQP#2:[city of Spain^1.0]
SQP#3:[Spain city^1.0]
根据上面列出的关键字查询,可以从语料库132返回以下段落134:
(1)“The president took the time to visit Madrid,the capital city ofSpain;”
(2)“The 1978Spanish Constitution bans capital punishment in Spain.”
(3)“Madrid is the capital and largest city in Spain.”
基于回答关键字,可以确定第一片段和第三片段与查询相关,但是第二片段与查询不相关。在由三个SQP生成的关键字查询返回的六个段落中,只有三个是相关的,因此可以为每个SQP模式分配3的得分。
继续这个示例性实施例,爬山算法为三个SQP选择新的权重集。例如,假设新的权重集被分配给三个SQP中的每个SQP,如下:SQP#1[1.0],SQP#2[2.0],和SQP#3[1.0]。在此,SQP#2的权重或提升已从[1.0]增加到[2.0],表示从相应关键字查询返回的结果([capitalof France^2.0])将是有影响力的两倍。
基于分配给三个SQP的新权重,可以再次为第一查询生成以下关键字查询(在移除任何停止字之后)-“What is the capital of France?”:
SQP#1:[capital^1.0][France^1.0]
SQP#2:[capital of France^2.0]
SQP#3:[France capital^1.0]
根据上面列出的关键字查询,可以从语料库132返回以下段落134:
(1)“The Paris Agreement is an agreement signed in the capital ofFrance in 2016.The capital of France chosen to hoSt becauSe the capital ofFrance haS many conveniently located restaurants.”
(2)“Paris is the capital of France.It has many fine museums and a lotof history.”
(3)“Paris,the capital of France,has hosted many conferences andceremonies.”
基于回答关键字,可以确定所有三个段落都与查询相关(并且比使用分配给SQP的第一权重集而返回的先前搜索结果更可能包含精确短语“capital of France”)。
类似地,基于分配给三个SQP的新权重,可以再次为第二查询生成以下关键字查询(在移除任何停用词之后)-“Which is the capital city of Spam?”:
SQP#1:[capital^1.0][city^1.0][Spain^1.0]
SQP#2:[city of Spain^2.0]
SQP#3:[Spain city^1.0]
根据上面列出的关键字查询,可以从语料库132返回以下段落134:
(1)“The capital of Spain was Toledo until 1561,when the capital cityof Spain was changed.”
(2)“The president took the time to visit Madrid,the capital city ofSpain.”
(3)“Madrid is the capital and largest city in Spain.”
基于回答关键字,可以确定第二片段和第三片段与查询相关,但是第一片段与查询不相关。在由三个SQP生成的关键字查询返回的六个段落中,五个是相关的,因此可以基于新分配的权重[1.0][2.0][1.0]将5的得分分配给每个SQP模式。由于这是基于最初分配的权重[1.0][1.0][1.0]的3的先前得分的改进,因此过程可以继续,并且爬山算法可以增加分配给第二SQP的权重,直到返回最优数目(例如,正确回答问题的所有段落或者正确回答问题的段落的数目已停止响应于权重的增加而增加)的相关段落134。
在实施例中,搜索查询程序101将预定加权搜索查询模式应用于新搜索查询。在实施例中,预定的加权搜索查询模式基于先前确定的用于与新搜索查询匹配或最相似的先前的相似搜索查询的最优加权搜索查询模式。
在实施例中,如果确定在先前的搜索查询和新搜索查询之间存在匹配,则搜索查询程序101生成用于先前的搜索查询的预定加权搜索查询模式。在实施例中,两个搜索查询可以至少部分地基于但不限于它们的语义结构、语法结构、句子结构和上下文中的一个或多个进行匹配。
在实施例中,搜索查询程序101基于标识与新搜索查询具有最高相似度和/或与新搜索查询具有高于预定阈值的相似度的先前搜索查询,来生成用于针对新搜索查询模式的先前搜索查询的预定加权搜索查询模式。在实施例中,两个搜索查询之间的相似度至少部分地基于但不限于它们的语义结构、语法结构、句子结构和上下文中的一个或多个。
在实施例中,如果搜索查询程序101确定先前搜索查询和新搜索查询属于相同主题,则搜索查询程序101基于先前为先前搜索查询确定的最优加权搜索查询模式来生成新搜索查询的预定加权搜索查询模式。
例如,为“What is the weather in Miami?”的先前输入搜索查询确定的先前加权搜索查询模式稍后可以被分配给“What is the weather in Boston?”的新搜索查询输入。在该示例中,搜索查询程序101可以检测到先前搜索查询和新搜索查询都是关于天气和位置的。继续该示例,假设对于“What is the weather in Miami?”的第一搜索查询确定了以下加权搜索查询模式接收到最优搜索结果:
SQP#1:[weather^1.0][Miami^1.0]
SQP#2:[weather in Miami^2.0]
基于先前确定的搜索查询“What is the weather in Miami?”的最优加权搜索查询模式,搜索查询程序101还为新搜索查询“What is the weather in Boston?”生成相同的加权搜索查询模式,如下:
SQP#1:[weather^1.0][Boston^1.0]
SQP#2:[weather in Boston^2.0]
图2是描绘根据本发明的至少一个实施例的用于在用户设备上优化搜索查询模式的操作步骤的流程图,一般被指定为200。图2仅提供了一种实现的图示,并且不暗示对其中可以实现不同实施例的环境的任何限制。本领域技术人员可以对所描述的环境进行许多修改,而不偏离权利要求所陈述的本发明的范围。
在步骤S202,搜索查询程序101接收一个或多个查询。例如,以自然语言问题的形式提出一个或多个查询。在另一示例中,以多段落的形式提出一个或多个查询。然而,应理解,搜索查询程序101可以接收和处理本领域普通技术人员通常已知的任何类型的查询。
在步骤S204,搜索查询程序101将查询分成多个子字符串或令牌。在实施例中,搜索查询程序101移除停止词,诸如“a”、“an”、“the”等。在实施例中,搜索查询程序101例如经由命名的捕获组来标识感兴趣的特定子字符串或令牌。
在步骤S206,搜索查询程序101选择两个或更多个搜索查询模式。在实施例中,基于一个或多个查询本身来选择两个或更多搜索查询模式。例如,搜索查询程序101至少部分地基于查询的上下文、语法和/或语义结构以及新查询与过去查询的用于训练目的相似性中的一个或多个来选择搜索查询模式。在实施例中,搜索查询程序101随机选择两个或更多搜索查询模式的任何变型或组合。
在步骤S208,搜索查询程序101向在步骤S206中选择的每个搜索查询模式分配权重。在实施例中,权重是由非负实数构成的相对得分乘数。
在步骤S210,搜索查询程序101根据在步骤S206中选择的每个搜索查询模式来构造一个或多个关键字查询。
在步骤S212,搜索查询程序101向在步骤S210中构建的每个关键字查询分配权重。在实施例中,分配给每个搜索查询模式的初始权重也被分配给从相应搜索查询模式生成的对应的关键字查询。例如,如果初始权重[1.0]被分配给在步骤S208中选择的搜索查询模式,则权重[1.0]被类似地分配给从具有权重[1.0]的所选择的搜索查询模式构建的任何关键字查询。
在步骤S214,搜索查询程序101基于每个关键字查询来标识段落。在步骤S216,搜索查询程序101评估基于每个关键字查询返回的段落的相关性。
在判定步骤S218,搜索查询程序101确定是否调整分配给每个搜索查询模式的权重。如果确定需要调整分配给搜索查询模式的权重(判定步骤S218的“是”分支),则搜索查询程序101前进到步骤S212。如果确定不需要调整分配给搜索查询模式的权重(判定步骤S218的“否”分支),则过程结束,并且搜索查询程序101终止。
图3是一般地被指定为300的流程图,其描绘了根据本发明的至少一个实施例的用于为特定搜索查询生成和分配预定加权搜索查询模式的操作步骤。图3仅提供了一种实现的图示,并不暗示对其中可实现不同实施例的环境的任何限制。本领域技术人员可以对所描绘的环境进行许多修改,而不偏离权利要求所陈述的本发明的范围。
在步骤S302,搜索查询程序101从用户接收搜索查询。在步骤S304,搜索查询程序101将搜索查询与先前提交的搜索查询进行比较。
在判定步骤S306,搜索查询程序101确定在从用户接收的搜索查询和先前提交的搜索查询之间是否检测到匹配。应理解,两个搜索查询的比较不必由同一个体提交。相反,由一个个体提交的新搜索查询可以与由不同个体提交的先前搜索查询进行比较。在实施例中,如果搜索查询与过去的搜索查询相同,则搜索查询程序101检测到匹配。在实施例中,搜索查询程序101基于标识两个搜索查询之间的最高相似度或相似度高于预定阈值来检测匹配。在实施例中,如果检测到多个匹配,则搜索查询程序101可以比较搜索查询模式匹配。在实施例中,为每个比较分配得分,并且选择相对于新查询具有最高得分的搜索查询作为匹配。如果确定检测到匹配(判定步骤S306的“是”分支),则搜索查询程序101前进到判定步骤S308。如果确定没有检测到匹配(判定步骤S306的“否”分支),则搜索查询程序101前进到步骤S310。
在判定步骤S308,搜索查询程序101确定是否存在与匹配的搜索查询相关联的最优加权查询模式。在实施例中,最优加权查询模式是被确定为取回特定搜索查询的最高数目的相关结果的模式。在实施例中,最优加权查询模式是被确定为取回正确回答特定搜索查询的最相关搜索结果的加权查询模式。如果确定不存在与匹配的查询相关联的最优加权查询模式(判定步骤S308的“否”分支),则搜索查询程序101前进到步骤S310。如果确定存在与匹配的查询相关联的最优加权查询模式(判定步骤S308的“是”分支),则搜索查询程序101前进到步骤S312。
在步骤S310,搜索查询程序101基于默认的加权查询模式生成一个或多个加权关键字查询。例如,默认权重[1.0]被分配给从默认查询模式生成的每个关键字查询。
在步骤S312,搜索查询程序101基于最优加权搜索查询模式来生成一个或多个关键字查询。
在步骤S314,搜索查询程序101返回基于在步骤S310或S312生成的一个或多个加权关键字查询的搜索结果。
图4是描绘根据本发明的至少一个实施例的适合于执行搜索查询程序101的计算设备(一般地被指定为400)的组件的框图。计算设备400包括一个或多个处理器404(包括一个或多个计算机处理器)、通信结构402、包括RAM 416和缓存418的存储器406、还包括搜索查询程序101(包括自然语言处理模块122和语法分析器模块124)的持久性存储装置408、通信单元412、(多个)I/O接口414、显示器422、以及(多个)外部设备420。应理解,图4仅提供了一个实施例的图示,并不暗示对其中可以实现不同实施例的环境的任何限制。可以对所描述的环境进行许多修改。
如所描绘的,计算设备400通过通信结构402操作,该通信结构提供(多个)计算机处理器404、存储器406、持久性存储装置408、通信单元412和(多个)输入/输出(I/O)接口414之间的通信。通信结构402可以用适于在(多个)处理器404(例如,微处理器、通信处理器和网络处理器)、存储器406、(多个)外部设备420和系统内的任何其他硬件组件之间传递数据或控制信息的任何体系结构来实现。例如,通信结构402可以用一个或多个总线来实现。
存储器406和持久性存储装置408是计算机可读存储介质。在所描述的实施例中,存储器406包括随机存取存储器(RAM)416和缓存418。通常,存储器406可以包括任何合适的易失性或非易失性的一个或多个计算机可读存储介质。
用于搜索查询程序101的程序指令可以存储在持久性存储装置408中,或者更一般地,存储在任何计算机可读存储介质中,以便由(多个)相应计算机处理器404中的一个或多个经由存储器406的一个或多个存储器来执行。持久性存储装置408可以是磁硬盘驱动器、固态盘驱动器、半导体存储设备、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存、或者能够存储程序指令或数字信息的任何其它计算机可读存储介质。
持久性存储装置408所使用的介质也可以是可移除的。例如,可移除硬盘驱动器可以用于持久性存储装置408。其它示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便传送到也是持久性存储装置408的一部分的另一计算机可读存储介质上。
在这些示例中,通信单元412提供与其他数据处理系统或设备的通信。在这些示例中,通信单元412可以包括一个或多个网络接口卡。通信单元412可以通过使用物理和无线通信链路中的一种或两种来提供通信。在本发明的一些实施例的上下文中,各种输入数据的源可以在物理上远离计算设备400,使得可以接收输入数据,并且类似地经由通信单元412传输输出。
(多个)I/O接口414允许与可结合计算设备400操作的其它设备输入和输出数据。例如,(多个)I/O接口414可以提供到(多个)外部设备420的连接,该外部设备可以是键盘、小键盘、触摸屏或其他合适的输入设备。(多个)外部设备420还可以包括便携式计算机可读存储介质,例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实践本发明的实施例的软件和数据可以存储在这样的便携式计算机可读存储介质上,并且可以经由(多个)I/O接口414加载到持久性存储装置408上。(多个)I/O接口414也可以类似地连接到显示器422。显示器422提供向用户显示数据的机制,并且可以是例如计算机监视器。

Claims (20)

1.一种用于优化搜索查询结果的计算机实现的方法,包括:
接收第一自然语言查询;
基于所述第一自然语言查询来选择多个搜索查询模式;
向所述多个搜索查询模式中的每个搜索查询模式分配权重;
基于被分配给每个搜索查询模式的所述权重和来自所述第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询;
评估由针对所述第一自然语言查询的所述一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性;以及
迭代地改变被分配给所述多个搜索查询模式中的搜索查询模式的所述权重,直到从针对所述第一自然语言查询的所述搜索查询模式返回最优数目的相关搜索结果。
2.根据权利要求1所述的计算机实现的方法,还包括:
接收第二自然语言查询;
将所述第二自然语言查询与先前已提交的自然语言查询进行比较;以及
确定所述第二自然语言查询与先前提交的自然语言查询匹配。
3.根据权利要求2所述的计算机实现的方法,还包括响应于确定所述第二自然语言查询与先前提交的自然语言查询匹配:
确定最优加权搜索查询模式与所述先前提交的匹配自然语言查询相关联;
基于与所述先前提交的匹配自然语言查询相关联的所述最优加权搜索查询模式和来自所述第二自然语言查询的一个或多个关键词,生成针对所述第二自然语言查询的一个或多个最优加权关键词查询;以及
从针对所述第二自然语言查询的所述一个或多个最优加权关键字查询返回一个或多个搜索结果。
4.根据权利要求2所述的计算机实现的方法,还包括响应于确定所述第二自然语言查询与先前提交的自然语言查询不匹配:
基于被分配给默认搜索查询模式的默认权重和来自所述第二自然语言查询的一个或多个关键字,生成针对所述第二自然语言查询的一个或多个默认加权关键字查询。
5.根据权利要求2所述的计算机实现的方法,其中所述第二自然语言查询和所述先前提交的自然语言查询之间的所述匹配基于以下一项或多项:(i)共享语义结构,(ii)共享语法结构,(iii)共享句子结构,以及(iv)共享上下文。
6.根据权利要求3所述的计算机实现的方法,其中最优加权搜索查询模式是被确定为针对特定自然语言搜索查询取回的最高数目的相关搜索结果的加权搜索查询模式。
7.根据权利要求3所述的计算机实现的方法,其中最优加权搜索查询模式是被确定为最准确地回答特定自然语言查询的加权搜索查询模式。
8.一种用于优化搜索查询结果的计算机程序产品,所述计算机程序产品包括一个或多个计算机可读存储介质和被存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括指令以:
接收第一自然语言查询;
基于所述第一自然语言查询来选择多个搜索查询模式;
向所述多个搜索查询模式中的每个搜索查询模式分配权重;
基于被分配给每个搜索查询模式的所述权重和来自所述第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询;
评估由针对所述第一自然语言查询的所述一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性;以及
迭代地改变被分配给所述多个搜索查询模式中的搜索查询模式的所述权重,直到最优数目的相关搜索结果从针对所述第一自然语言查询的所述搜索查询模式被返回。
9.根据权利要求8所述的计算机程序产品,还包括指令以:
接收第二自然语言查询;
将所述第二自然语言查询与先前已提交的自然语言查询进行比较;以及
确定所述第二自然语言查询与先前提交的自然语言查询匹配。
10.根据权利要求9所述的计算机程序产品,还包括指令以响应于确定所述第二自然语言查询与先前提交的自然语言查询匹配:
确定最优加权搜索查询模式与所述先前提交的匹配自然语言查询相关联;
基于与所述先前提交的匹配自然语言查询相关联的所述最优加权搜索查询模式和来自所述第二自然语言查询的一个或多个关键词,生成针对所述第二自然语言查询的一个或多个最优加权关键词查询;以及
从针对所述第二自然语言查询的所述一个或多个最优加权关键字查询返回一个或多个搜索结果。
11.根据权利要求9所述的计算机程序产品,还包括指令以响应于确定所述第二自然语言查询与先前提交的自然语言查询不匹配:
基于被分配给默认搜索查询模式的默认权重和来自所述第二自然语言查询的一个或多个关键字,生成针对所述第二自然语言查询的一个或多个默认加权关键字查询。
12.根据权利要求9所述的计算机程序产品,其中所述第二自然语言查询和所述先前提交的自然语言查询之间的所述匹配基于以下一项或多项:(i)共享语义结构,(ii)共享语法结构,(iii)共享句子结构,以及(iv)共享上下文。
13.根据权利要求10所述的计算机程序产品,其中最优加权搜索查询模式是被确定为针对特定自然语言搜索查询的取回最高数目的相关搜索结果的加权搜索查询模式。
14.根据权利要求10所述的计算机产品方法,其中最优加权搜索查询模式是被确定为最准确地回答特定自然语言查询的加权搜索查询模式。
15.一种用于优化搜索查询结果的计算机系统,包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;
计算机程序指令;
所述计算机程序指令被存储在所述一个或多个计算机可读存储介质上以用于由所述一个或多个计算机处理器执行;并且
所述计算机程序指令包括指令以:
接收第一自然语言查询;
基于所述第一自然语言查询来选择多个搜索查询模式;
向所述多个搜索查询模式中的每个搜索查询模式分配权重;
基于被分配给每个搜索查询模式的所述权重和来自所述第一自然语言查询的一个或多个关键字,从每个搜索查询模式生成一个或多个加权关键字查询;
评估由针对所述第一自然语言查询的所述一个或多个加权关键字查询中的每个加权关键字查询返回的一个或多个搜索结果的相关性;以及
迭代地改变被分配给所述多个搜索查询模式中的搜索查询模式的所述权重,直到从针对所述第一自然语言查询的所述搜索查询模式返回最优数目的相关搜索结果。
16.根据权利要求15所述的计算机系统,还包括指令以:
接收第二自然语言查询;
将所述第二自然语言查询与先前已提交的自然语言查询进行比较;以及
确定所述第二自然语言查询与先前提交的自然语言查询匹配。
17.根据权利要求16所述的计算机系统,还包括指令以响应于确定所述第二自然语言查询与先前提交的自然语言查询匹配:
确定最优加权搜索查询模式与所述先前提交的匹配自然语言查询相关联;
基于与所述先前提交的匹配自然语言查询相关联的所述最优加权搜索查询模式和来自所述第二自然语言查询的一个或多个关键词,生成针对所述第二自然语言查询的一个或多个最优加权关键词查询;以及
从针对所述第二自然语言查询的所述一个或多个最优加权关键字查询返回一个或多个搜索结果。
18.根据权利要求16所述的计算机系统,还包括指令以响应于确定所述第二自然语言查询与先前提交的自然语言查询不匹配:
基于被分配给默认搜索查询模式的默认权重和来自所述第二自然语言查询的一个或多个关键字,生成针对所述第二自然语言查询的一个或多个默认加权关键字查询。
19.根据权利要求16所述的计算机系统,其中所述第二自然语言查询和所述先前提交的自然语言查询之间的所述匹配基于以下一项或多项:(i)共享语义结构,(ii)共享语法结构,(iii)共享句子结构,以及(iv)共享上下文。
20.根据权利要求17所述的计算机系统,其中最优加权搜索查询模式是通过以下至少一项而被确定的加权搜索查询模式:(i)针对特定自然语言搜索查询的取回最高数目的相关搜索结果,或者(ii)最准确地回答特定自然语言查询。
CN202180087306.3A 2020-12-23 2021-10-25 调整查询生成模式 Pending CN116685966A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/131,978 2020-12-23
US17/131,978 US11681732B2 (en) 2020-12-23 2020-12-23 Tuning query generation patterns
PCT/CN2021/125994 WO2022134824A1 (en) 2020-12-23 2021-10-25 Tuning query generation patterns

Publications (1)

Publication Number Publication Date
CN116685966A true CN116685966A (zh) 2023-09-01

Family

ID=82021325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180087306.3A Pending CN116685966A (zh) 2020-12-23 2021-10-25 调整查询生成模式

Country Status (6)

Country Link
US (1) US11681732B2 (zh)
JP (1) JP2024501501A (zh)
CN (1) CN116685966A (zh)
DE (1) DE112021006602T5 (zh)
GB (1) GB2617302A (zh)
WO (1) WO2022134824A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681732B2 (en) 2020-12-23 2023-06-20 International Business Machines Corporation Tuning query generation patterns
US20230259540A1 (en) * 2022-02-17 2023-08-17 Nvidia Corporation Conversational ai platform with extractive question answering
US20240078234A1 (en) * 2022-09-02 2024-03-07 Starlord (Cayman) Limited Apparatus, method and storage medium for database pagination

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2007E (fr) 1903-01-13 1903-11-24 Auguste Ferraris Motocyclette à moteur libre et à changement de vitesse
US7085708B2 (en) 2000-09-23 2006-08-01 Ravenflow, Inc. Computer system with natural language to machine language translator
US6947920B2 (en) 2001-06-20 2005-09-20 Oracle International Corporation Method and system for response time optimization of data query rankings and retrieval
US7266545B2 (en) 2001-08-07 2007-09-04 International Business Machines Corporation Methods and apparatus for indexing in a database and for retrieving data from a database in accordance with queries using example sets
US7403938B2 (en) * 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7403939B1 (en) * 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US7873624B2 (en) 2005-10-21 2011-01-18 Microsoft Corporation Question answering over structured content on the web
US7818315B2 (en) 2006-03-13 2010-10-19 Microsoft Corporation Re-ranking search results based on query log
US8924197B2 (en) 2006-10-31 2014-12-30 Semantifi, Inc. System and method for converting a natural language query into a logical query
US8346534B2 (en) 2008-11-06 2013-01-01 University of North Texas System Method, system and apparatus for automatic keyword extraction
US8606739B2 (en) 2010-06-30 2013-12-10 Microsoft Corporation Using computational engines to improve search relevance
CN102708129B (zh) 2011-03-04 2017-04-12 微软技术许可有限责任公司 使用计算引擎来改进搜索相关性
CN102708190B (zh) * 2012-05-15 2016-09-28 浪潮电子信息产业股份有限公司 一种CC-NUMA系统中结点控制芯片目录Cache的方法
US9378517B2 (en) 2013-07-03 2016-06-28 Google Inc. Methods and systems for providing potential search queries that may be targeted by one or more keywords
US10339453B2 (en) 2013-12-23 2019-07-02 International Business Machines Corporation Automatically generating test/training questions and answers through pattern based analysis and natural language processing techniques on the given corpus for quick domain adaptation
US9582137B2 (en) * 2014-01-07 2017-02-28 International Business Machines Corporation Intelligent embedded experience gadget selection
US10482089B2 (en) * 2014-12-11 2019-11-19 International Business Machines Corporation Search result optimization based on previous solutions
US20160335372A1 (en) 2015-05-15 2016-11-17 Sap Se Systems and methods for search with priorities by assigning weights to query terms
US10740402B2 (en) * 2016-10-20 2020-08-11 Diwo, Llc System and method for human interaction in cognitive decision making process
US10452682B2 (en) * 2017-01-05 2019-10-22 International Business Machines Corporation Accelerator based data integration
US10635679B2 (en) 2018-04-13 2020-04-28 RELX Inc. Systems and methods for providing feedback for natural language queries
CN109033386B (zh) 2018-07-27 2020-04-10 北京字节跳动网络技术有限公司 搜索排序方法、装置、计算机设备和存储介质
US11681732B2 (en) 2020-12-23 2023-06-20 International Business Machines Corporation Tuning query generation patterns

Also Published As

Publication number Publication date
WO2022134824A1 (en) 2022-06-30
GB2617302A (en) 2023-10-04
US20220197933A1 (en) 2022-06-23
US11681732B2 (en) 2023-06-20
DE112021006602T5 (de) 2023-10-26
JP2024501501A (ja) 2024-01-12

Similar Documents

Publication Publication Date Title
US9881082B2 (en) System and method for automatic, unsupervised contextualized content summarization of single and multiple documents
US9886501B2 (en) Contextual content graph for automatic, unsupervised summarization of content
US10579657B2 (en) Answering questions via a persona-based natural language processing (NLP) system
US10713571B2 (en) Displaying quality of question being asked a question answering system
US11693894B2 (en) Conversation oriented machine-user interaction
US9910886B2 (en) Visual representation of question quality
US20220309109A1 (en) Training and applying structured data extraction models
CN105759983B (zh) 电子设备的文本输入系统及文本输入方法
US8386240B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
KR101465770B1 (ko) 단어 확률 결정
US9471601B2 (en) Images for a question answering system
US11157536B2 (en) Text simplification for a question and answer system
US11681732B2 (en) Tuning query generation patterns
WO2009026850A1 (en) Domain dictionary creation
CN110147494B (zh) 信息搜索方法、装置,存储介质及电子设备
JP2014120053A (ja) 質問応答装置、方法、及びプログラム
Jain et al. “UTTAM” An Efficient Spelling Correction System for Hindi Language Based on Supervised Learning
KR101238927B1 (ko) 전자도서컨텐츠 검색 서비스 시스템 및 전자도서컨텐츠 검색 서비스 방법
US20180293508A1 (en) Training question dataset generation from query data
Lee N-Gram Language Model
US12026157B2 (en) Narrowing synonym dictionary results using document attributes
Kronlid et al. Improving text entry on PDAs

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