CN114090722B - 查询内容自动补全的方法及装置 - Google Patents
查询内容自动补全的方法及装置 Download PDFInfo
- Publication number
- CN114090722B CN114090722B CN202210058334.9A CN202210058334A CN114090722B CN 114090722 B CN114090722 B CN 114090722B CN 202210058334 A CN202210058334 A CN 202210058334A CN 114090722 B CN114090722 B CN 114090722B
- Authority
- CN
- China
- Prior art keywords
- entity
- word
- query
- words
- content
- 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.)
- Active
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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- 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/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种查询内容自动补全的方法及装置,在查询内容自动补全的方法中,获取用户当前输入的针对目标数据的自然语言查询内容。对该自然语言查询内容进行切分,得到若干查询词。将若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词,该若干词典树根据针对目标数据的数据查询预先构建。至少基于各查询词的各候选词对应的实体类别,从各候选词中选取各目标候选词。将各目标候选词确定为自然语言查询内容的补全内容。
Description
技术领域
本说明书一个或多个实施例涉及数据分析领域,尤其涉及一种查询内容自动补全的方法及装置。
背景技术
自然语言查询(natural language query,NLQ)是指使用自然语言对数据进行查询分析。这里的数据可以是存储在数据库、Excel表格或者搜索引擎中。
在用户使用自然语言查询数据时,为提升用户输入效率,在用户输入部分内容时,通常会智能提示用户后续可能想要输入的内容,也即会对用户的自然语言查询内容进行补全。
传统的补全方法,通常是以句子为粒度补全的,也即提示内容通常为一整句话。然而,在用户已经输入部分内容时,其通常希望能够提示与用户的自然语言查询内容相关的词,而不是不相关的一句话。因此,需要提供一种补全方案,以便能够更准确地对用户的自然语言查询内容进行补全。
发明内容
本说明书一个或多个实施例描述了一种查询内容自动补全的方法及装置,可以以词为粒度进行补全,由此可以提升补全内容的准确性,进而可以提升用户体验。
第一方面,提供了一种查询内容自动补全的方法,包括:
获取用户当前输入的针对目标数据的自然语言查询内容;
对所述自然语言查询内容进行切分,得到若干查询词;
将所述若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词;所述若干词典树根据针对所述目标数据的数据查询预先构建;
至少基于所述各查询词的各候选词对应的实体类别,从所述各候选词中选取各目标候选词;
根据所述各目标候选词,确定所述自然语言查询内容的补全内容。
第二方面,提供了一种查询内容自动补全的装置,包括:
获取单元,用于获取用户当前输入的针对目标数据的自然语言查询内容;
切分单元,用于对所述自然语言查询内容进行切分,得到若干查询词;
查询单元,用于将所述若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词;所述若干词典树根据针对所述目标数据的数据查询预先构建;
选取单元,用于至少基于所述各查询词的各候选词对应的实体类别,从所述各候选词中选取各目标候选词;
确定单元,用于根据所述各目标候选词,确定所述自然语言查询内容的补全内容。
第三方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
本说明书一个或多个实施例提供的查询内容自动补全的方法及装置,针对基于自然语言查询内容获得的每个查询词,通过查询词典树,获取该查询词的具有对应的实体类别的各候选词。之后基于对应的实体类别,对各候选词进行筛选,得到作为补全内容的候选词。也就是说,本方案可以基于实体类别,来获取作为补全内容的候选词。由于实体类别之间具有常规的组合方式,因此本方案基于实体类别选取候选词的方式,可以解决补全内容与自然语言查询内容不相关的问题。此外,本方案是将候选词作为补全内容,也即可以以词粒度对自然语言查询内容进行补全,由此可以提升补全内容的准确性,进而可以提升用户体验。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书一个实施例披露的实施场景示意图;
图2示出根据一个实施例的查询内容自动补全的方法流程图;
图3a示出根据一个实施例的前缀树示意图;
图3b示出根据一个实施例的后缀树示意图;
图4a示出根据一个实施例的状态机示意图;
图4b示出根据另一个实施例的状态机示意图;
图5示出根据一个实施例的查询内容自动补全的装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在数据分析领域,通常会涉及到数据查询,即从数据库、Excel表格或者搜索引擎中读取数据。
传统技术中,通常是基于特定查询语言来进行数据查询的,比如,基于SQL语句从数据库中读取数据,然而这会增加数据的使用门槛。为此,提出以下两种改进方案:
第一种,基于自然语言处理( Natural Language Processing, NLP)的方法,然而该方法不能保证所读取的数据完全准确,也就是说该方法是概率性准确的。
第二种,基于seq2SQL的方法,该方法通过将自然语言直接翻译为SQL语句来读取数据。然而该方法仅支持单表单层聚合下的80%左右的准确性,无法支持企业内部真实场景下的各类复杂数据分析需求。也就是说,该方法准确率低、覆盖范围窄。
由于上述两种方案均存在一定的缺陷,因此更进一步的改进方案直接使用自然语言来查询数据。在用户使用自然语言查询数据时,为提升用户输入效率,通常需要对用户的自然语言查询内容进行补全。
目前,在搜索引擎中使用的补全方法,通常是以句子为粒度来进行补全的,也即提示内容通常为的一整句话。然而,在用户已经输入部分内容时,其通常希望能够提示与用户的自然语言查询内容相关的词,而不是不相关的一句话。为此,本申请的发明人提出,以词为粒度进行补全,也即对用户的自然语言查询内容进行更细粒度的补全,由此来提升补全内容的准确性,进而提升用户体验。
图1为本说明书一个实施例披露的实施场景示意图。图1中,首先可以获取用户当前输入的针对目标数据的自然语言查询内容。之后可以对自然语言查询内容进行切分,得到若干查询词:W1、W2、…、WN,其中,N为查询词的数目。将若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的各候选词:W11、W12、W21、W22、W23…、WN1和WN2,且各候选词对应的实体类别可以分别为:C2、C1、C1、C2、C1…、C2和C2。最后,可以基于各查询词的各候选词对应的实体类别,从各候选词中选取各目标候选词:W11、W22、WN1和WN2。根据各目标候选词确定自然语言查询内容的补全内容。
在一个示例中,可以基于正则表达式的状态机,从各候选词中选取各目标候选词,后续详细说明。
以下本说明书实施例提供的方案进行详细说明。
图2示出根据一个实施例的查询内容自动补全的方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图2所示,该方法至少可以包括如下步骤。
步骤202,获取用户当前输入的针对目标数据的自然语言查询内容。
上述实体类别可以分为两种,其中一种为公有类别,可以包括以下中的至少一项:时间、运算符、单位、函数以及意图等。另一种为私有类别,可以包括以下中的至少一项:维度、维值以及度量等等。在一个示例中,可以基于key-value对的key值确定上述私有类别。
在一个例子中,上述对应于时间的实体词例如可以为:“XX年”、“XX月”、“XX日”、“最近N天”、“最近几天”、“最近N年”、“去年”以及“今年”等等。对应于运算符的实体词例如可以为:“大于”、“小于”、“等于”、“超过”以及“以上”等等。对应于单位的实体词例如可以为:“几岁”、“几个”以及“几人”等等。对应于函数的实体词例如可以为:“最大值”、“最小值”以及“平均值”等等。对应于维度的实体词例如可以为:“城市”、“销售金额”以及“班级”等等,上述维值即为维度的取值,以维度为“城市”为例来说,对应的维值例如可以为“北京”或者“上海”等等。
具体地,可以基于光标的位置,获取用户当前输入的自然语言查询内容。比如,将输入框中截至光标的位置的全部内容作为上述自然语言查询内容。
步骤204,对自然语言查询内容进行切分,得到若干查询词。
在一个示例中,在对自然语言查询内容进行切分之前,可以先对其进行实体识别,得到自然语言查询内容的基础实体类别。
举例来说,假设用户当前输入的自然语言查询内容为“昨天各城市支付”,那么先通过实体识别,可以得到基础实体类别:时间和维度。其中,对应于时间的词为:“昨天”,对应于维度的词为:“城市”。
在进行实体识别之后可以针对“昨天各城市支付”进行切分,得到查询词:“昨天”、“各城市支付”、“城市支付”、“市支付”、“支付”和“付”等等。
步骤206,将若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词。
上述若干词典树可以是根据针对目标数据的数据查询预先构建的。这里的数据查询也称历史查询,相应的历史自然语言查询内容可以包含对应于上述共有类别的实体词和/或对应于私有类别的实体词。
以上述若干词典树中对应于第一实体类别(上述公共类别中的任一种,或者上述私有类别中的任一种)的第一词典树为例来说,该第一词典树可以包括多个分支,其中的每个分支代表历史自然语言查询内容中的对应于第一实体类别的一个实体词。此外,各每个分支中的各节点间路径分别对应于所代表实体词中的至少部分字,且叶子节点的值为所代表实体词。枝干节点的值为,从根节点出发至该枝干节点的各节点间路径对应的各字的组合词。
针对上述第一词典树的查询过程具体可以包括:依次将当前查询词与第一词典树中的各个分支进行逐字匹配,若任意的第一分支所覆盖的字包含当前查询词,则将该第一分支的叶子节点的值作为当前查询词的第一实体类别的一个候选词。
以第一词典树中的某个分支为例来说,上述逐字匹配具体可以包括:将当前查询词中的各字与该分支中的各节点间路径对应的各字进行逐字匹配。若该分支中的各节点间路径对应的各字包含当前查询词中的各字,则确定匹配成功,否则匹配失败。
在一个示例中,上述第一词典树可以包括前缀树和后缀树。其中,前缀树可以是基于历史自然语言查询内容中,对应于第一实体类别的各实体词的从开端开始的至少部分字构建得到。后缀树可以是基于历史自然语言查询内容中,对应于第一实体类别的各实体词的截至末尾的至少部分字构建得到。
图3a示出根据一个实施例的前缀树示意图。图3a中,该前缀树可以包括多个分支,其中,最左侧的分支代表的实体词为:“支付金额”,其对应的实体类别为:维度。此外,该分支中的各节点间路径所对应的字分别为:“支”、“付”、“金”和“额”(即该分支中的各节点间路径分别对应于所代表实体词中的全部字),且叶子节点的值为:“支付金额”。3个枝干节点的值分别为:“支”、“支付”、“支付金”。类似地,次左侧的分支代表的实体词为:“交易笔数”,其对应的实体类别为:维度。此外,该分支中的各节点间路径所对应的字分别为:“交”、“易”、“笔”和“数”,且叶子节点的值为:“交易笔数”。3个枝干节点的值分别为:“交”、“交易”、“交易笔”。
由此可以看出,图3a中各分支所代表的各实体词的实体类别相同,即均为该前缀树的实体类别。
图3b示出根据一个实施例的后缀树示意图。图3b中,该后缀树可以包括多个分支,其中,最左侧的分支代表的实体词为:“支付金额”,其对应的实体类别为:维度。此外,该分支中的各节点间路径所对应的字分别为:“付”、“金”和“额”(即该分支中的各节点间路径分别对应于所代表实体词中的部分字),且叶子节点的值为:“支付金额”。两个枝干节点的值分别为:“付”、“付金”。类似地,次左侧的分支代表的实体词为:“支付金额”,其对应的实体类别为:维度。此外,该分支中的各节点间路径所对应的字分别为:“金”和“额”,且叶子节点的值为:“支付金额”。1个枝干节点的值为:“金”。
由此可以看出,图3b中各分支所代表的各实体词的实体类别相同,即均为该后缀树的实体类别。此外,上述前缀树和后缀树的实体类别也相同。类似地,上述若干词典树还可以包括对应于其它实体类别的前缀树和后缀树。
需要说明,在上述第一词典树包括前缀树和后缀树时,上述针对第一词典树的查询过程具体可以包括:将当前查询词作为前缀词,查询前缀树,得到当前查询词的第一实体类别的第一实体词,以及将当前查询词作为后缀词,查询后缀树,得到当前查询词的第一实体类别的第二实体词。第一实体词和第二实体词构成当前查询词的第一实体类别的各候选词。
上述针对前缀树和后缀树的查询过程相类似,且详细的查询过程可以参照上述针对第一词典树的查询过程的描述,只需将第一词典树替换为前缀树或后缀树即可。
以图3a示出的前缀树为例来说,若当前查询词为:“支付”,那么查询得到的候选词可以为:“支付金额”,其对应的实体类别为:维度。再以图3b示出的后缀树为例来说,若当前查询词为:“金额”,那么查询得到的候选词可以为:“支付金额”,其对应的实体类别为:维度。
在前述自然语言查询内容为“昨天各城市支付”的例子中,获取的各候选词例如可以为“支付金额”、“支付笔数”、“支付人数”和“付款日期”等等。
此外,在实际应用中,可能会存在一些词,其可能同时对应于多个实体类别,比如,词“北京”既可以对应于实体类别:维度,也可以对应于实体类别:维值。对于这样的词我们通常称为混淆词。
需要说明,在各查询词的各候选词包括混淆词时,可以向用户展示该混淆词对应的多个实体类别,之后根据用户的选择指令,确定该混淆词的最终的实体类别。
步骤208,至少基于各查询词的各候选词对应的实体类别,从各候选词中选取各目标候选词。
具体地,可以先对各候选词进行去重处理,之后对去重处理后的各候选词中任意的第一候选词,基于基础实体类别以及第一候选词的目标实体类别形成实体类别序列。利用正则表达式,对实体类别序列进行校验,若校验通过,则将第一候选词作为一个目标候选词。
以前述的自然语言查询内容为“昨天各城市”为例来说,如前所述,对其进行实体识别后得到的基础实体类别为:时间和维度,假设上述第一候选词为:“支付金额”,且对应的实体类别为:维度,那么形成的实体类别序列可以为:{时间,维度,维度}。
此外,上述正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的。
其中,上述的特殊字符可以包括但不限于“\”、“.” 、“*”以及“{}”等等,上述普通字符可以为代表各实体类别的各个英文字符。
在一个示例中,上述利用正则表达式,对实体类别序列进行校验可以包括:将实体类别序列输入正则表达式对应的状态机,并进行状态迁移;该状态迁移包括:将实体类别序列中的当前实体类别与当前状态的迁移边对应的标注实体类别进行比对,若相一致,则迁移至下一状态,并更新当前实体类别,否则结束。在状态迁移结束后,若状态机的状态为匹配状态,则校验通过,否则校验不通过。
图4a示出根据一个实施例的状态机示意图。图4a中,该状态机可以是基于正则表达式“a(bb)+a”转换得到,其中,这里的a和b分别代表两种不同的实体类别。图4a中的S0-S4分别为状态机的5种状态,且S4为匹配状态。此外,从每个状态出发的单向箭头表示该状态的迁移边,单向箭头上方或下方的字符表示对应迁移边的标定实体类别。比如,状态S0的迁移边的标定实体类别为:“a”。
以下结合图4a,对上述状态迁移过程进行说明。
假设实体类别序列(以下简称序列)为:abbbba,那么首先将序列中第1个a作为当前实体类别,以及将状态S0作为当前状态,由于第1个a与状态S0的迁移边的标注实体类别:“a”匹配,从而迁移至下一状态S1,也即将状态S1作为更新的当前状态,且将序列中第1个b作为更新的当前实体类别,之后将第1个b与状态S1的迁移边的标注实体类别:“b”进行匹配等等,直至满足迁移结束条件。这的迁移结束条件包括但不限于匹配失败或者序列中的各实体类别均匹配完成。
在该例子中,在序列中的各实体类别均匹配完成后,可以到达状态S4,从而上述序列校验通过。
应理解,图4a只是一种示例性说明,在实际应用中,状态的迁移边可以为多条。比如,本说明书实施例所述的状态机还可以如图4b所示。
在前述自然语言查询内容为“昨天各城市支付”的例子中,选取的各目标候选词例如可以为:“支付金额”、“支付笔数”和“支付人数”。
需要说明,本说明书所述的正则表达式可以是基于实体类别间的常规组合方式编写。从而基于该正则表达式筛选的目标候选词,其与用户的自然语言查询内容关联性更强,由此可以解决补全内容与自然语言查询内容不相关的问题,进而可以节约计算资源。
步骤210,根据各目标候选词,确定自然语言查询内容的补全内容。
在一个示例中,可以先按照排序算法,对各目标候选词进行排序。之后将排序后的各目标候选词确定为自然语言查询内容的补全内容。
其中,上述排序算法可以包括以下中的任一项:最长匹配算法、状态优先级算法、词典基数算法、词组合热度算法、自定义优先级算法以及词使用频次算法。
此外,需要说明,本方案的补全内容可以随着光标的移动而发生变化。比如,当检测到光标的位置位于自然语言查询内容的中间位置时,将自然语言查询内容中截至中间位置的内容作为更新的自然语言查询内容。对更新的自然语言查询内容进行补全。从而本方案的补全方法更灵活。
其中,对更新的自然语言查询内容的补全方法也可以通过步骤202-步骤210来实现,本说明书在此不复赘述。
举例来说,假设用户当前输入的自然语言查询内容为:“各城市的支付笔”,那么首先可以针对该自然语言查询内容进行补全。之后,当光标移动至“付”和“笔”之间时,则针对“各城市的支付”进行补全。
综合以上,本说明书实施例提供的查询内容自动补全的方法,可以基于实体类别,来获取作为补全内容的候选词。由于实体类别之间具有常规的组合方式,因此本方案基于实体类别选取候选词的方式,可以解决补全内容与自然语言查询内容不相关的问题。此外,本方案是将候选词作为补全内容,也即可以以词粒度对自然语言查询内容进行补全,由此可以提升补全内容的准确性,进而可以提升用户体验。
与上述查询内容自动补全的方法对应地,本说明书一个实施例还提供的一种查询内容自动补全的装置,如图5所示,该装置可以包括:
获取单元502,用于获取用户当前输入的针对目标数据的自然语言查询内容。
切分单元504,用于对自然语言查询内容进行切分,得到若干查询词。
查询单元506,用于将若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词,该若干词典树根据针对目标数据的数据查询预先构建。
其中,上述实体类别包括以下中的至少一项:时间、运算符、单位、函数、意图、维度、维值以及度量等。
可选地,上述若干词典树包括对应于第一实体类别的第一词典树,该第一词典树包括前缀树和后缀树。前缀树基于第一实体类别的各实体词的从开端开始的至少部分字构建得到,后缀树基于第一实体类别的各实体词的截至末尾的至少部分字构建得到;
查询单元506具体用于:
将当前查询词作为前缀词,查询前缀树,得到当前查询词的第一实体类别的第一实体词,以及将当前查询词作为后缀词,查询后缀树,得到当前查询词的第一实体类别的第二实体词;
上述第一实体词和第二实体词构成当前查询词的第一实体类别的各候选词。
可选地,上述若干词典树包括对应于第一实体类别的第一词典树,该第一词典树包括多个分支,每个分支中的各节点间路径分别对应于所代表实体词中的至少部分字,且叶子节点的值为所代表实体词;
查询单元506具体用于:
依次将当前查询词与第一词典树中的各个分支进行逐字匹配,若任意的第一分支所覆盖的字包含当前查询词,则将该第一分支的叶子节点的值作为当前查询词的第一实体类别的一个候选词。
选取单元508,用于至少基于各查询词的各候选词对应的实体类别,从各候选词中选取各目标候选词。
确定单元510,用于根据各目标候选词,确定自然语言查询内容的补全内容。
可选地,该装置还包括:
识别单元512,用于对自然语言查询内容进行实体识别,得到对应的基础实体类别。
选取单元508包括:
形成模块5082,用于对于各候选词中任意的第一候选词,基于基础实体类别以及第一候选词的目标实体类别形成实体类别序列。
校验模块5084,用于利用正则表达式,对实体类别序列进行校验,若校验通过,则将第一候选词作为一个目标候选词。
校验模块5084具体用于:
将实体类别序列输入所述正则表达式对应的状态机,并进行状态迁移,该状态迁移包括:将实体类别序列中的当前实体类别与当前状态的迁移边对应的标注实体类别进行比对,若相一致,则迁移至下一状态,并更新当前实体类别;否则结束;
在状态迁移结束后,若状态机的状态为匹配状态,则校验通过,否则校验不通过。
可选地,该装置还包括:
排序单元514,用于按照排序算法,对各目标候选词进行排序。
确定单元510具体用于:
将排序后的各目标候选词确定为自然语言查询内容的补全内容;
其中,上述排序算法包括以下中的任一项:最长匹配算法、状态优先级算法、词典基数算法、词组合热度算法、自定义优先级算法以及词使用频次算法。
可选地,该装置还包括:补全单元516;
获取单元502,还用于当检测到光标的位置位于自然语言查询内容的中间位置时,将自然语言查询内容中截至中间位置的内容作为更新的自然语言查询内容;
补全单元516,用于对所述更新的自然语言查询内容进行补全。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的查询内容自动补全的装置,可以提供补全内容的准确性。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
Claims (16)
1.一种查询内容自动补全的方法,包括:
获取用户当前输入的针对目标数据的自然语言查询内容;
对所述自然语言查询内容进行切分,得到若干查询词;
将所述若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词;所述若干词典树根据针对所述目标数据的数据查询预先构建;
至少基于所述各查询词的各候选词对应的实体类别,从所述各候选词中选取各目标候选词;
根据所述各目标候选词,确定所述自然语言查询内容的补全内容;
所述从所述各候选词中选取各目标候选词,包括:
对于所述各候选词中任意的第一候选词,基于基础实体类别以及所述第一候选词的目标实体类别形成实体类别序列;所述基础实体类别是通过对所述自然语言查询内容进行实体识别得到的;
利用正则表达式,对所述实体类别序列进行校验,若校验通过,则将所述第一候选词作为一个目标候选词。
2.根据权利要求1所述的方法,其中,所述若干词典树包括对应于第一实体类别的第一词典树;所述第一词典树包括前缀树和后缀树;所述前缀树基于所述第一实体类别的各实体词的从开端开始的至少部分字构建得到;所述后缀树基于所述第一实体类别的各实体词的截至末尾的至少部分字构建得到;
所述查询对应于不同实体类别的词典树,包括:
将当前查询词作为前缀词,查询所述前缀树,得到当前查询词的第一实体类别的第一实体词,以及将当前查询词作为后缀词,查询所述后缀树,得到当前查询词的第一实体类别的第二实体词;
所述第一实体词和第二实体词构成当前查询词的第一实体类别的各候选词。
3.根据权利要求1所述的方法,其中,所述若干词典树包括对应于第一实体类别的第一词典树,所述第一词典树包括多个分支,每个分支中的各节点间路径分别对应于所代表实体词中的至少部分字,且叶子节点的值为所代表实体词;
所述查询对应于不同实体类别的若干词典树,包括:
依次将当前查询词与所述第一词典树中的各个分支进行逐字匹配,若任意的第一分支所覆盖的字包含当前查询词,则将该第一分支的叶子节点的值作为当前查询词的第一实体类别的一个候选词。
4.根据权利要求1所述的方法,其中,所述对所述实体类别序列进行校验,包括:
将所述实体类别序列输入所述正则表达式对应的状态机,并进行状态迁移;所述状态迁移包括:将所述实体类别序列中的当前实体类别与当前状态的迁移边对应的标注实体类别进行比对,若相一致,则迁移至下一状态,并更新当前实体类别;否则结束;
在所述状态迁移结束后,若所述状态机的状态为匹配状态,则校验通过,否则校验不通过。
5.根据权利要求1所述的方法,其中,在所述将所述各目标候选词确定为所述自然语言查询内容的补全内容之前,所述方法还包括:
按照排序算法,对所述各目标候选词进行排序;
将排序后的各目标候选词确定为所述自然语言查询内容的补全内容;
其中,所述排序算法包括以下中的任一项:最长匹配算法、状态优先级算法、词典基数算法、词组合热度算法、自定义优先级算法以及词使用频次算法。
6.根据权利要求1所述的方法,还包括:
当检测到光标的位置位于所述自然语言查询内容的中间位置时,将所述自然语言查询内容中截至中间位置的内容作为更新的自然语言查询内容;
对所述更新的自然语言查询内容进行补全。
7.根据权利要求1所述的方法,其中,所述实体类别包括以下中的至少一项:时间、运算符、单位、函数、意图、维度、维值以及度量。
8.一种查询内容自动补全的装置,包括:
获取单元,用于获取用户当前输入的针对目标数据的自然语言查询内容;
切分单元,用于对所述自然语言查询内容进行切分,得到若干查询词;
查询单元,用于将所述若干查询词作为当前查询词,查询对应于不同实体类别的若干词典树,以获取各查询词的对应于多个实体类别的各候选词;所述若干词典树根据针对所述目标数据的数据查询预先构建;
选取单元,用于至少基于所述各查询词的各候选词对应的实体类别,从所述各候选词中选取各目标候选词;
确定单元,用于根据所述各目标候选词,确定所述自然语言查询内容的补全内容;
所述选取单元包括:
形成模块,用于对于所述各候选词中任意的第一候选词,基于基础实体类别以及所述第一候选词的目标实体类别形成实体类别序列;所述基础实体类别是通过对所述自然语言查询内容进行实体识别得到的;
校验模块,用于利用正则表达式,对所述实体类别序列进行校验,若校验通过,则将所述第一候选词作为一个目标候选词。
9.根据权利要求8所述的装置,其中,所述若干词典树包括对应于第一实体类别的第一词典树;所述第一词典树包括前缀树和后缀树;所述前缀树基于所述第一实体类别的各实体词的从开端开始的至少部分字构建得到;所述后缀树基于所述第一实体类别的各实体词的截至末尾的至少部分字构建得到;
所述查询单元具体用于:
将当前查询词作为前缀词,查询所述前缀树,得到当前查询词的第一实体类别的第一实体词,以及将当前查询词作为后缀词,查询所述后缀树,得到当前查询词的第一实体类别的第二实体词;
所述第一实体词和第二实体词构成当前查询词的第一实体类别的各候选词。
10.根据权利要求8所述的装置,其中,所述若干词典树包括对应于第一实体类别的第一词典树,所述第一词典树包括多个分支,每个分支中的各节点间路径分别对应于所代表实体词中的至少部分字,且叶子节点的值为所代表实体词;
所述查询单元具体用于:
依次将当前查询词与所述第一词典树中的各个分支进行逐字匹配,若任意的第一分支所覆盖的字包含当前查询词,则将该第一分支的叶子节点的值作为当前查询词的第一实体类别的一个候选词。
11.根据权利要求8所述的装置,其中,所述校验模块具体用于:
将所述实体类别序列输入所述正则表达式对应的状态机,并进行状态迁移;所述状态迁移包括:将所述实体类别序列中的当前实体类别与当前状态的迁移边对应的标注实体类别进行比对,若相一致,则迁移至下一状态,并更新当前实体类别;否则结束;
在所述状态迁移结束后,若所述状态机的状态为匹配状态,则校验通过,否则校验不通过。
12.根据权利要求8所述的装置,还包括:
排序单元,用于按照排序算法,对所述各目标候选词进行排序;
所述确定单元具体用于:
将排序后的各目标候选词确定为所述自然语言查询内容的补全内容;
其中,所述排序算法包括以下中的任一项:最长匹配算法、状态优先级算法、词典基数算法、词组合热度算法、自定义优先级算法以及词使用频次算法。
13.根据权利要求8所述的装置,还包括:补全单元;
所述获取单元,还用于当检测到光标的位置位于所述自然语言查询内容的中间位置时,将所述自然语言查询内容中截至中间位置的内容作为更新的自然语言查询内容;
所述补全单元,用于对所述更新的自然语言查询内容进行补全。
14.根据权利要求8所述的装置,其中,所述实体类别包括以下中的至少一项:时间、运算符、单位、函数、意图、维度、维值以及度量。
15.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
16.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210675071.6A CN114969242A (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
CN202210058334.9A CN114090722B (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210058334.9A CN114090722B (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210675071.6A Division CN114969242A (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114090722A CN114090722A (zh) | 2022-02-25 |
CN114090722B true CN114090722B (zh) | 2022-04-22 |
Family
ID=80308602
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210675071.6A Pending CN114969242A (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
CN202210058334.9A Active CN114090722B (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210675071.6A Pending CN114969242A (zh) | 2022-01-19 | 2022-01-19 | 查询内容自动补全的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN114969242A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757699B (zh) * | 2022-11-19 | 2023-07-25 | 深圳市宁远科技股份有限公司 | 基于模糊匹配的医疗平台智能用户实体搜索系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808688A (zh) * | 2016-03-02 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 基于人工智能的补全检索方法及装置 |
CN112560477A (zh) * | 2020-12-09 | 2021-03-26 | 中科讯飞互联(北京)信息科技有限公司 | 文本补全方法以及电子设备、存储装置 |
CN112800769A (zh) * | 2021-02-20 | 2021-05-14 | 深圳追一科技有限公司 | 命名实体识别方法、装置、计算机设备和存储介质 |
CN113779176A (zh) * | 2020-12-14 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 查询请求补全方法、装置、电子设备和存储介质 |
CN113821592A (zh) * | 2021-06-23 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4701292B2 (ja) * | 2009-01-05 | 2011-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テキスト・データに含まれる固有表現又は専門用語から用語辞書を作成するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
CN103198149B (zh) * | 2013-04-23 | 2017-02-08 | 中国科学院计算技术研究所 | 一种查询纠错方法和系统 |
US9740736B2 (en) * | 2013-09-19 | 2017-08-22 | Maluuba Inc. | Linking ontologies to expand supported language |
US9208204B2 (en) * | 2013-12-02 | 2015-12-08 | Qbase, LLC | Search suggestions using fuzzy-score matching and entity co-occurrence |
KR101908073B1 (ko) * | 2017-01-26 | 2018-12-18 | 주식회사 마이셀럽스 | 관심도 높은 단어를 검색어로 추천하는 문장완성형 검색시스템 및 방법 |
CN108563637A (zh) * | 2018-04-13 | 2018-09-21 | 北京理工大学 | 一种融合三元组知识库的句子实体补全方法 |
CN110750704B (zh) * | 2019-10-23 | 2022-03-11 | 深圳计算科学研究院 | 一种查询自动补全的方法和装置 |
CN111063447B (zh) * | 2019-12-17 | 2024-05-03 | 北京懿医云科技有限公司 | 查询和文本处理方法及装置、电子设备和存储介质 |
KR102330494B1 (ko) * | 2019-12-23 | 2021-11-24 | 이혜연 | 한국어 언어학습 콘텐츠 제작을 위한 비디오 클립 검색 방법 |
CN113946719A (zh) * | 2020-07-15 | 2022-01-18 | 华为技术有限公司 | 词补全方法和装置 |
CN112287680B (zh) * | 2020-10-23 | 2024-04-09 | 微医云(杭州)控股有限公司 | 一种问诊信息的实体抽取方法、装置、设备及存储介质 |
CN113495900B (zh) * | 2021-08-12 | 2024-03-15 | 国家电网有限公司大数据中心 | 基于自然语言的结构化查询语言语句获取方法及装置 |
-
2022
- 2022-01-19 CN CN202210675071.6A patent/CN114969242A/zh active Pending
- 2022-01-19 CN CN202210058334.9A patent/CN114090722B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808688A (zh) * | 2016-03-02 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 基于人工智能的补全检索方法及装置 |
CN112560477A (zh) * | 2020-12-09 | 2021-03-26 | 中科讯飞互联(北京)信息科技有限公司 | 文本补全方法以及电子设备、存储装置 |
CN113779176A (zh) * | 2020-12-14 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 查询请求补全方法、装置、电子设备和存储介质 |
CN112800769A (zh) * | 2021-02-20 | 2021-05-14 | 深圳追一科技有限公司 | 命名实体识别方法、装置、计算机设备和存储介质 |
CN113821592A (zh) * | 2021-06-23 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Non-Patent Citations (2)
Title |
---|
Learning Entity Type Embeddings for Knowledge Graph Completion;Changsung Moon 等;《ACM》;20171130;第2215-2218页 * |
基于环境信息融合的知识图谱构建方法;宋伟 等;《计算机系统应用》;20200610;第121-125页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114090722A (zh) | 2022-02-25 |
CN114969242A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11798256B2 (en) | Systems and methods for document image analysis with cardinal graph convolutional networks | |
WO2021174783A1 (zh) | 近义词推送方法、装置、电子设备及介质 | |
WO2018157805A1 (zh) | 一种自动问答处理方法及自动问答系统 | |
US11651014B2 (en) | Source code retrieval | |
CN108182972B (zh) | 基于分词网络的中文疾病诊断的智能编码方法及系统 | |
CN109726298B (zh) | 适用于科技文献的知识图谱构建方法、系统、终端及介质 | |
CN108182207B (zh) | 基于分词网络的中文手术操作的智能编码方法及系统 | |
CN110705302B (zh) | 命名实体的识别方法、电子设备及计算机存储介质 | |
US11281864B2 (en) | Dependency graph based natural language processing | |
CN110866836B (zh) | 计算机执行的医疗保险立案审核方法和装置 | |
US11609748B2 (en) | Semantic code search based on augmented programming language corpus | |
CN112925563B (zh) | 一种面向代码重用的源代码推荐方法 | |
JP2020512651A (ja) | 検索方法、装置及び非一時的コンピュータ読取可能記憶媒体 | |
CN110705226A (zh) | 电子表格的创建方法、装置及计算机设备 | |
CN110795526A (zh) | 一种用于检索系统的数学公式索引创建方法与系统 | |
CN111309930A (zh) | 一种基于表示学习的医学知识图谱实体对齐方法 | |
CN114090722B (zh) | 查询内容自动补全的方法及装置 | |
CN115470338A (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
CN116414872B (zh) | 基于自然语言识别及知识图谱的数据搜索方法和系统 | |
CN116166789A (zh) | 一种方法命名精准推荐和审查方法 | |
US10339221B2 (en) | Auto-completion and auto-correction of cryptic language commands with dynamic learning of syntax rules | |
CN115422180A (zh) | 数据校验方法及系统 | |
CN112732423B (zh) | 流程迁移方法、装置、设备及介质 | |
JP2000040085A (ja) | 日本語形態素解析処理の後処理方法および装置 | |
CN116266182A (zh) | Sql语句优化方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |