CN114064861A - 一种查询语句的生成方法和装置 - Google Patents
一种查询语句的生成方法和装置 Download PDFInfo
- Publication number
- CN114064861A CN114064861A CN202010761820.8A CN202010761820A CN114064861A CN 114064861 A CN114064861 A CN 114064861A CN 202010761820 A CN202010761820 A CN 202010761820A CN 114064861 A CN114064861 A CN 114064861A
- Authority
- CN
- China
- Prior art keywords
- query
- candidate
- keyword
- determining
- keywords
- 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
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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/3346—Query execution using probabilistic model
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种查询语句的生成方法和装置,包括:获取文本信息;在所述文本信息中提取查询关键词;根据文本信息,确定所述查询关键词对应的槽位类型;采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句。可以从文本信息中直接确定查询关键词以及查询关键词对应的槽位类型,并生成查询语句查询数据库,可以提高处理效率,且可以获得较高的准确率。
Description
技术领域
本申请涉及文本处理技术领域,特别是涉及一种查询语句的生成方法和一种查询语句的生成装置。
背景技术
在现有技术中,为了实现人与计算机之间的交互,计算机通常可以获取人输入的文本信息,将文本信息转换为计算机可以理解的查询语句,并返回查询语句对应的答案。
但是,为了将文本信息转换为计算机可以理解的查询语句,通常需要采用大量预设的文本信息-查询语句对训练模型或者建立语法数据库。但是,如果获取到的文本信息不存在于预设的文本信息-查询语句对中的情况下,容易出现准确率降低的情况。并且端到端的模型训练,对领域有很强的依赖性,较难将在一个领域中训练好的模型迁移到一个新的领域。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种查询语句的生成和相应的一种查询语句的生成装置。
为了解决上述问题,本申请实施例公开了一种查询语句的生成方法,包括:
获取文本信息;
在所述文本信息中提取查询关键词;
根据文本信息,确定所述查询关键词对应的槽位类型;
采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句;
在预设的数据库中,查找所述查询语句对应的查询结果信息。
可选地,所述在所述文本信息中提取查询关键词的步骤,包括:
在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
所述在所述文本信息中提取候选关键词以及候选关键词对应的数据类型的步骤,包括:
提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
可选地,所述在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型的步骤,包括:
基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
可选地,所述基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词的步骤,包括:
采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;
基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
可选地,所述根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词的步骤,包括:
将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
采用预设的语言模型,确定所述候选语言信息对应的语法概率;
根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
采用所述句法树,确定所述查询关键词对应的槽位类型。
可选地,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种;
所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
确定所述查询关键词对应的数据类型是否包含元数据;
若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
可选地,所述确定所述查询关键词对应的槽位类型的步骤,还包括:
若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
可选地,所述方法还包括:
采用预设的文本分类模型,确定所述文本信息对应的意图类别。
本申请实施例还公开了一种查询语句的生成装置,包括:
获取模块,用于获取文本信息;
提取模块,用于在所述文本信息中提取查询关键词;
槽位类型确定模块,用于根据文本信息,确定所述查询关键词对应的槽位类型;
生成模块,用于采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句;
查找模块,用于在预设的数据库中,查找所述查询语句对应的查询结果信息。
可选地,所述提取模块包括:
候选关键词提取子模块,用于在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
查询关键词确定子模块,用于根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
所述候选关键词提取子模块包括:
候选实体词提取单元,用于提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
候选关键词提取单元,用于在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
可选地,所述候选关键词提取单元包括:
候选关键词提取子单元,用于基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
数据类型确定单元,用于将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
可选地,所述候选关键词提取子单元具体用于采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
可选地,所述查询关键词确定子模块包括:
候选语言信息获取单元,用于将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
语法概率确定单元,用于采用预设的语言模型,确定所述候选语言信息对应的语法概率;
查询关键词确定单元,用于根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述槽位类型确定模块包括:
查询语言信息获取子模块,用于将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
句法树确定子模块,用于对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
槽位类型确定子模块,用于采用所述句法树,确定所述查询关键词对应的槽位类型。
可选地,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种;
所述槽位类型确定子模块包括:
元数据确定单元,用于确定所述查询关键词对应的数据类型是否包含元数据;
第一槽位类型确定单元,用于若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
可选地,所述槽位类型确定子模块还包括:
历史查询关键词确定单元,用于若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
第二槽位类型确定单元,若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
第三槽位类型确定单元,若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
可选地,所述装置还包括:
意图类别确定模块,用于采用预设的文本分类模型,确定所述文本信息对应的意图类别。
本申请实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本申请实施例所述的一个或多个的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本申请实施例所述的一个或多个的方法。
本申请实施例包括以下优点:
通过本申请实施例的查询语句的生成方法,获取文本信息;在所述文本信息中提取查询关键词;根据文本信息,确定所述查询关键词对应的槽位类型;采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句。从而可以从文本信息中直接确定查询关键词以及查询关键词对应的槽位类型,并生成查询语句查询数据库,可以提高处理效率,且可以获得较高的准确率。
附图说明
图1是本申请的一种查询语句的生成方法实施例的步骤流程图;
图2是本申请的另一种查询语句的生成方法实施例的步骤流程图;
图3为本申请的一种句法树示意图;
图4是本申请的一种查询语句的生成装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请通过在文本信息中提取查询关键词,并确定所述查询关键词对应的槽位类型,基于所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句,从而可以实现面对多种领域的查询语句的生成。本申请的查询语句的生成方法可用于自然语言问询***、智能数据交互、智能对话机器人等领域,实现通过用户输入的文本与计算机进行交互。
例如,在用户通过网络购物,需要查询物流状态、咨询商品信息、订购商品、获取售后支持等情况下,可以通过输入文本与智能对话机器人沟通,智能对话机器人可以在文本信息中提取查询关键词,并确定所述查询关键词对应的槽位类型,基于所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句,获取用户希望查询的内容对应的查询结果,并基于查询结果实现与用户互动。
参照图1,示出了本申请的一种查询语句的生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取文本信息;
在本申请实施例中,可以获取用户输入的文本信息。具体地,用户可以通过麦克风等语音输入设备输入语音,从而可以对应所述语音进行语音识别,得到文本信息。用户可以通过键盘、鼠标、触摸屏等外部输入设备输入文本,从而可以得到文本信息。
可选地,所述文本信息可以为随着人类社会的发展而自然产生的,人平时在交流中使用的语言信息,例如,汉语、英语、日语等。
步骤102,在所述文本信息中提取查询关键词;
在本申请实施例中,可以在所述文本信息中提取用于在数据库中进行查询所使用的查询关键词。
在具体实现中,所述文本信息中可以包括实体词语,所述实体词语可以为所述文本信息中具有特定意义的词语。例如,人名、地名、机构名、日期时间、专有名词等。
用户所要查询的信息可以为与实体词语存在关键词的信息,由此,可以在所述文本信息中提取实体词语作为查询关键词,从而可以在数据库中查询与实体词语存在关联的信息。
步骤103,根据文本信息,确定所述查询关键词对应的槽位类型;
在本申请实施例中,可以根据文本信息,确定所述查询关键词对应的槽位类型,确定所述查询关键词在查询语句中需要填入的位置。
在具体实现中,在所述数据库中查询信息,通常需要采用数据库专用的查询语句进行查询。例如,SQL查询语句等。所述查询语句可以具有具有预设的查询语法格式以及至少一个槽位,所述槽位对应具有槽位类型。所述查询语法格式可以为所述查询语句固定的表达格式。所述槽位类型可以为所述查询语句中槽位所对应的功能类型。
文本信息也可以多种不同类型的句子成分组成,例如,主语、谓语、宾语、补语、定语、状语、同位语等。由此,所述查询关键词在所述文本信息中,可以对应属于不同类型的句子成分。不同类型的句子成分,以及句子成分在所述文本信息中所处的位置,可以对应属于查询语句中不同的槽位类型。从而可以基于所述查询关键词在所述文本信息中所属的句子成分,以及在文本信息中查询关键词所处的位置,确定所述查询关键词对应的槽位类型,以将所述查询关键词相应地填入属于不同槽位类型的槽位,组成查询语句。
作为本申请的一种示例,所述查询语句可以包括SELECT语句。SELECT语句的查询语法格式可以为“SELECT要查询的列名FROM表名字WHERE限制条件”。在SELECT语句中,“SELECT”、“FROM”以及“WHERE”可以为SELECT语句中的组成,每一组成可以具有不同的槽位类型。“SELECT”用于确定要查询的列名,“FROM”用于确定所要查询的数据表名称,“WHERE”用于对查询语句做进一步限制。
文本信息可以为“查询雇员表中的姓名以及年龄”,其中查询关键词包括“名称”、“年龄”、“雇员表”。查询关键词“名称”以及“年龄”位于文本信息中的末尾,为文本信息中的宾语。查询关键词“雇员表”位于文本信息中的中间位置,为文本信息中宾语的定语。可以确定所述查询关键词“名称”以及“年龄”对应的槽位类型为查询列名,查询关键词“雇员表”对应的槽位类型为表名称,以将所述查询关键词相应地填入属于不同槽位类型的槽位,组成查询语句。
步骤104,采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句;
在本申请实施例中,在确定所述查询关键词对应的槽位类型之后,可以采用所述查询关键词以及所述查询关键词对应的槽位类型,生成可用于在数据库中进行查询的查询语句。
具体地,可以基于所述查询语句的查询语法格式,根据所述查询关键词对应的槽位类型,将查询关键词填入查询语句中。
作为本申请的一种示例,如上所述,所述查询关键词“名称”以及“年龄”对应的槽位类型为查询列名,查询关键词“雇员表”对应的槽位类型为表名称。SELECT语句的查询语法格式可以为“SELECT要查询的列名FROM表名字WHERE限制条件”,则可以根据所述查询关键词对应的槽位类型,将查询关键词填入SELECT语句不同的槽位中,得到查询语句“SELECT名称,年龄FROM雇员表”。
在本申请实施例中,可以采用所述查询语句,在预设的数据库中进行查询,得到所述查询语句对应的查询结果信息。
在本申请实施例中,在确定所述查询语句对应的查询结果信息之后,可以直接将所述查询结果信息向用户展示。也可以基于所述查询结果信息,生成采用自然语言表达的交互信息,并向用户展示所述交互信息。从而实现用户与计算机之间的自然语言交互。
通过本申请实施例的查询语句的生成方法,获取文本信息;在所述文本信息中提取查询关键词;根据文本信息,确定所述查询关键词对应的槽位类型;采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句。从而可以从文本信息中直接确定查询关键词以及查询关键词对应的槽位类型,并生成查询语句查询数据库,可以提高处理效率,且可以获得较高的准确率。
参照图2,示出了本申请的一种查询语句的生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,获取文本信息;
在本申请实施例中,可以获取用户输入的文本信息。具体地,用户可以通过麦克风等语音输入设备输入语音,从而可以对应所述语音进行语音识别,得到文本信息。用户可以通过键盘、鼠标、触摸屏等外部输入设备输入文本,从而可以得到文本信息。
可选地,所述文本信息可以为随着人类社会的发展而自然产生的,人平时在交流中使用的语言信息,例如,汉语、英语、日语等。
步骤202,在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
在本申请实施例中,所述文本信息中可以包括实体词语,所述实体词语可以为所述文本信息中具有特定意义的词语。例如,人名、地名、机构名、日期时间、专有名词等。
在本申请实施例中,所述预设的数据库可以为多维数据库,所述数据库中的数据可以采用多个N维数组的方式进行存储。可以将N维数组称为立方体(Cube),所述数据库可以具有元数据、维度属性、指标、维度枚举值、时间值等多种不同层次的数据类型。
其中,元数据可以包括立方体的描述信息、立方体的实例信息、项目信息、表信息、字典信息等。维度属性可以为立方体中某一维度的属性信息。指标可以为立方体中某一维度下聚合分析的信息。维度枚举值可以为立方体中某一维度下,每个数据具体的值。时间值可以为立方体中采用时间形式表达的数据的值。
在本申请实施例中,可以将所述文本信息中提取实体词语,将实体词语作为候选关键词,并确定所述候选关键词对应的数据类型,以进一步基于所述候选关键词的数据类型,确定目标关键词。
在具体实现中,可以基于所述预设的数据库,确定所述文本信息中是否存在可以与预设的数据库中的数据具有较高相似度的实体词语,作为候选关键词,并进一步基于所述数据库,确定所述候选关键词对应的数据类型。
在本申请的一种实施例中,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
在本申请实施例中,所述数据库可以包括至少一个预设实体数据,所述预设实体数据可以为所述数据库中具有特定意义的数据信息,例如,元数据信息、维度属性信息、指标信息、维度枚举值信息、时间值信息等。
在本申请实施例中,所述预设实体数据可以对应具有数据类型。例如,所述数据类型可以为元数据、维度属性、指标、维度枚举值、时间值等。
所述在所述文本信息中提取候选关键词以及候选关键词对应的数据类型的步骤,包括:
S11,提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
在本申请实施例中,可以提取所述文本信息中,与所述数据库中的预设实体数据匹配的实体词语,作为候选实体词。所述候选实体词与所述预设实体数据可以具有一定的相似度,可以在所述候选实体词中,进一步筛选出目标实体词。
在具体实现中,可以采用字符串匹配的方式,将所述文本信息中的至少一个词语与所述数据库中的预设实体数据进行匹配,得到至少一个与所述数据库中预设实体数据匹配的候选实体词。
S12,在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
在本申请实施例中,可以在所述候选实体词中进一步筛选与预设的数据库中的数据具有较高相似度的实体词语,作为候选关键词,并基于所述数据库,确定所述候选关键词对应的数据类型。
在本申请的一种实施例中,所述在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型的步骤,包括:
S21,基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
在本申请实施例中,在提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词之后,可以进一步确定所述候选实体词与所述预设实体数据之间的相似度。其后,可以基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词。
在具体实现中,可以采用计算最小编辑距离、余弦相似度等文本相似度的计算方式,确定所述候选实体词与所述预设实体数据之间的相似度。其后,可以基于相似度由高至低的顺序,依次选取至少一个候选实体词,确定为目标实体词,并将其作为候选关键词。
S22,将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
在本申请实施例中,所述预设实体数据可以具有对应的数据类型。与所述预设实体数据相匹配的候选关键词,可以认为其与所述预设实体数据基本相同,从而所述预设实体数据对应的数据类型,也可以为所述候选关键词对应的数据类型。由此,可以将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
在本申请的一种实施例中,所述基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词的步骤,包括:
S31,采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;
在本申请实施例中,可以采用预设的实体标注模型,对所述文本信息进行实体识别,识别所述文本信息中的实体词语,并对实体词语进行实体标注,给出实体词语属于某一种实体类型的概率,从而得到实体类型概率。所述实体词语可以包括候选实体词,从而可以得到所述候选实体词对应的实体类型概率。
在本申请实施例中,所述实体类型可以包括人名、地名、机构名、日期时间、专有名词等,本申请对此不做限制。
在本申请实施例中,所述实体标注模型可以为HMM(Hidden Markov Model,隐马尔科夫模型)模型,CRF(Conditional Random Fields,条件随机场)模型,Bi-LSTM(Bi-directional Long Short-Term Memory,双向长短记忆网络)模型,Bi-LSTM+CRF(双向长短记忆网络+条件随机场)模型等,本申请对此不做限制。所述实体标注模型可以采用已经标注有实体词语以及实体词语对应的实体类型的样本训练得到。可选地,可以在采用通用样本进行训练的基础上,根据用户与计算机进行自然语言交互的应用领域,采用该应用领域下的样本对实体标注模型进行进一步训练,以提高实体标注模型在某一领域下的实体标注准确率。其中,所述应用领域根据实际需要,划分为电子商务领域、金融领域、娱乐领域、个人助理领域、地图导航领域、智能家居领域等,本申请对此不做限制。
S32,基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
在本申请实施例中,可以基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,综合地在所述候选实体词中,确定与预设实体数据较为相似的目标实体词,作为候选关键词。
在具体实现中,可以确定所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率之间的加权平均值,并基于所述加权平均值由高至低的顺序,依次选取至少一个候选实体词,确定为目标实体词,并将其作为候选关键词。
步骤203,根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
在本申请实施例中,由于所述候选关键词不一定为用户希望查询的内容。例如,文本信息为“查询电影蜘蛛侠”,则可能匹配到候选关键词“蜘蛛”以及“蜘蛛侠”,其中候选关键词“蜘蛛”与用户希望查询的内容并不相符。由此,可以根据所述候选关键词对应的数据类型,以及所述候选关键词在所述文本信息中所处的位置,确定所述候选关键词是否为用户希望查询的内容,从而在所述候选关键词中确定目标关键词,作为查询关键词。
在本申请的一种实施例中,所述根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词的步骤,包括:
S41,将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
在本申请实施例中,可以将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息,以确定所述候选语言信息是否符合文本信息的语法规则,属于正常语句。例如,在文本信息“你好,今天天气不错”以及“你好,今天天气错”之间,“你好,今天天气不错”更加符合文本信息的语法规则,更接近正常语句。
作为本申请的一种示例,所述文本信息为“查询电影蜘蛛侠”,可以匹配到候选关键词“电影”、“蜘蛛”以及“蜘蛛侠”。其中,“蜘蛛”以及“蜘蛛侠”的数据类型可以为维度枚举值,标记为#dimEnum;“电影”的数据类型可以为维度,标记为#dimension。可以将所述文本信息中的所述候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息,从而可以得到候选语言信息“查询#dimension#dimEnum侠”以及“查询#dimension#dimEnum”。
S42,采用预设的语言模型,确定所述候选语言信息对应的语法概率;
在本申请实施例中,可以采用预设的语言模型,确定所述候选语言信息对应的语法概率,从而可以基于所述语法概率,确定所述候选语言信息是否符合文本的语法规则,接近正常语句。
在本申请实施例中,所述语言模型可以为n-gram(n元语法)模型、NNLM(NeuralNetwork Language Models,神经网络语言模型)模型等,本申请对此不做限制。可以所述文本信息可能涉及的句式结构,预先设计若干文本信息被部分替换为数据类型的样本,并采用该样本对待训练语言模型进行训练,得到语言模型。
作为本申请的一种示例,文本信息被部分替换为数据类型的样本可以为“#cube”、“#dimEnum”、“#time”、“#measure”、“#cube的#measure是多少”、“#time#cube#dimEnum的#measure是多少”等。
S43,根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
在本申请实施例中,可以根据所述语法概率,确定语法概率较高,属于正常语句的候选语言信息,并将属于正常语句的候选语言信息中包含的候选关键词确定为目标关键词,并将所述目标关键词作为查询关键词。
在本申请实施例中,可能存在多个候选语言信息都具有较高的语法概率,属于正常语句。此时根据实际需要,可以将语法概率最高的候选语言信息中的候选关键词作为目标关键词,也可以基于语法概率较高的候选语言信息中的候选关键词,进一步与用户交互,通过向用户确定用户意图,让用户在候选关键词中选取目标关键词等方式,确定候选关键词中的目标关键词。
步骤204,根据文本信息,确定所述查询关键词对应的槽位类型;
在本申请实施例中,可以根据文本信息,确定所述查询关键词对应的槽位类型,确定所述查询关键词在查询语句中需要填入的位置。
在具体实现中,在所述数据库中查询信息,通常需要采用数据库专用的查询语句进行查询。例如,SQL查询语句等。所述查询语句可以具有具有预设的查询语法格式以及至少一个槽位,所述槽位对应具有槽位类型。所述查询语法格式可以为所述查询语句固定的表达格式。所述槽位类型可以为所述查询语句中槽位所对应的功能类型。
文本信息也可以多种不同类型的句子成分组成,例如,主语、谓语、宾语、补语、定语、状语、同位语等。由此,所述查询关键词在所述文本信息中,可以对应属于不同类型的句子成分。不同类型的句子成分,以及句子成分在所述文本信息中所处的位置,可以对应属于查询语句中不同的槽位类型。从而可以基于所述查询关键词在所述文本信息中所属的句子成分,以及在文本信息中查询关键词所处的位置,确定所述查询关键词对应的槽位类型,以将所述查询关键词相应地填入属于不同槽位类型的槽位,组成查询语句。
在本申请的一种实施例中,所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
S51,将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
在本申请实施例中,为了进一步确定所述查询关键词对应的槽位类型,可以将述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息。从而可以将确定查询关键词对应的数据类型,转换为确定数据类型对应的槽位类型,避免针对大量不同的查询关键词形成文本信息直接进行句法分析,导致分析难度加大。
S52,对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
在本申请实施例中,可以对所述查询语言信息进行句法分析,确定所述查询语言信息中每一个词对应的句子成分,并生成相应的句法树。
在具体实现中,可以采用概率上下文无关文法(PCFG,Probabilistic ContextFree Grammar)进行句法分析。概率上下文无关文法可以定义一四元组{N,E,S,R}。其中,N代表非终结符号集合,E代表终结符号集合,S代表初始符号,R代表一组语法规则,并且一组语法规则中的每条语法规则可以设置有概率P。
其后,可以采用CYK(CockeYounger-Kasami algorithm)算法,基于概率上下文无关文法进行动态规划,得到所述查询语言信息对应的至少一个句法树。而每一所述句法树的概率可以为所有用到的语法规则的概率的乘积。句法树的概率越高,其更有可能为正确的句法树。从而可以在所述句法树中确定目标句法树,作为所述查询语言信息对应的句法树。
S53,采用所述句法树,确定所述查询关键词对应的槽位类型。
在本申请实施例中,可以采用所述句法树,确定所述查询关键词对应的槽位类型,以将查询关键词组成查询语句。其中,所述槽位类型可以为所述查询语句中每一组成所对应的功能类型。
在具体实现中,在处理文本信息的情况下,句法树中通常可以标注出文本信息中的短语结构,以及文本信息中每一个词的词性。
例如,对于文本信息“老师被迟到的学生逗乐了”,其中“老师”属于名词性短语,“被迟到的学生逗乐了”属于动词性短语,动词性短语“被迟到的学生逗乐了”还可以包括介词短语“被迟到的学生”以及动词性短语“逗乐了”,介词短语“被迟到的学生”可以包括介词“被”以及名词性短语“迟到的学生”,名词性短语“迟到的学生”可以包括动词性短语“迟到”,虚词“的”,名词性短语“学生”,动词性短语“逗乐了”可以包括动词性短语“逗乐”和虚词“了”,从而划分出文本信息中的短语结构。并且文本信息“老师被迟到的学生逗乐了”中,“老师”以及“学生”属于名词,“被”属于介词,“迟到”以及“逗乐”属于动词。
由于所述查询语言信息中查询关键词已经替换为数据类型,因此可以为所述查询语言信息设计一自定义的四元组,从而可以为所述查询语言信息中的数据类型确定对应的槽位类型,以确定查询关键词对应的槽位类型。
具体地,对于所述四元组中的非终结符号集合以及终结符号集合,原本非终结符号集合以及终结符号集合通常可以包括名词、名词短语、动词、连接词等词性标注符号,从而可以为所述文本信息中的词语进行词性标注,而本申请可以将非终结符号集合以及终结符号集合中的部分词性标注符号替换为槽位类型以及数据类型。对于所述四元组中的语法规则,可以基于查询语言信息的常见句式结构,设置针对所述查询语言信息的语法规则。从而本申请可以采用所述句法树标注所述查询语言信息中数据类型对应的槽位类型。
作为本申请的一种具体示例,所述非终结符号集合可以包括:
S(初始符号),以及TABLE_SLOT、SELECT_TARGET、SELECT_C ONCAT、SELECT_COLUMN、SELECT_AGG_MAX_PREFIX、SELECT_A GG_MAX_SUFFIX、WHERE_CLAUSE、WHERE_CONDITION、WHERE_CONCAT_AND、WHERE_CONCAT_OR WHERE_SLOT、WHERE_VALUE、WHERE_OPERATOR_EQUAL_PREFIX等槽位类型。
作为本申请的一种具体示例,所述终结符号集合可以包括:
连接词、修饰词、助词、标点符号,以及#cube(元数据)、#dimension(维度属性)、#dimenum(维度枚举值)、#measure(指标)、#time(时间)、#number(数字)等数据类型。
作为本申请的一种具体示例,所述语法规则可以包括:
S→TABLE_SLOT WHERE_CLAUSE SELECT_TARGET
TABLE_→#cube
WHERE→WHERE_CONDITION aux
WHERE_CONDITION→#dimEnum
Aux→的SELECT_TARGET→的
作为本申请的一种具体示例,图3为本申请的一种句法树示意图。文本信息为“某产品会员问询的解决率”,可以提取得到查询关键词“某产品”、“会员问询”、“解决率”,并进一步确定查询关键词“某产品”对应的数据类型为元数据、查询关键词“会员问询”对应的数据类型为维度枚举值、查询关键词“解决率”对应的数据类型为指标,从而生成查询语言信息“#cube#dimenum的#measure”。对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树。其中,S为初始符号,查询语言信息被分为“table name(表格名称)”、“whereClause(where子句)”、以及“selectTarget(选择目标)”,其中“whereClause”进一步被分为“whereCondition(where变量)”以及“aux(助词)”。其中,#cube属于table name,#dimenum属于whereCondition,#measure属于selectTarget。
在本申请的一种实施例中,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种。
其中,元数据可以包括立方体的描述信息、立方体的实例信息、项目信息、表信息、字典信息等。维度属性可以为立方体中某一维度的属性信息。指标可以为立方体中某一维度下聚合分析的信息。维度枚举值可以为立方体中某一维度下,每个数据具体的值。时间值可以为立方体中采用时间形式表达的数据的值。
在本申请的一种实施例中,所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
S61,确定所述查询关键词对应的数据类型是否包含元数据;
在本申请实施例中,由于元数据可以包括立方体的描述信息、立方体的实例信息、项目信息、表信息、字典信息等。从而通常元数据可以指向用户希望查询的数据所在的立方体。如果所述查询关键词不存元数据的情况下,容易导致查询准确率降低。由此,确定所述查询关键词对应的数据类型之后,可以确定所述查询关键词对应的数据类型是否包含元数据。
S62,若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
在本申请实施例中,如果所述查询关键词对应的数据类型包含元数据,则此时可以确定用户希望查询的数据所在的立方体,从而可以根据文本信息,确定所述查询关键词对应的槽位类型。
在本申请的一种实施例中,所述确定所述查询关键词对应的槽位类型的步骤,还包括:
S71,若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
在本申请实施例中,若所述查询关键词对应的数据类型不包含元数据,则用户可能在与计算机进行多轮交互的过程中,数据类型为元数据的查询关键词可能在用户历史与计算机进行交互输入的历史文本信息中。由此,可以确定历史文本信息中是否包含数据类型为元数据的历史查询关键词。
S72,若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
在本申请实施例中,若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则可以基于查询关键词的数据类型,将历史文本信息中数据类型与当前查询关键词的数据类型相同的历史查询关键词,替换为当前查询关键词,从而得到新的文本信息,且新的文本信息中包含数据类型为元数据的历史查询关键词。其后可以采用新的文本信息,确定数据类型为元数据的所述历史查询关键词,以及所述查询关键词的槽位类型。由此,可以无需用户反复输入包含元数据的文本信息,实现用户与计算机之间的多轮交互。
S73,若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
在本申请实施例中,若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则此时可以采用当前文本信息中包含的查询关键词,确定包含查询关键词的立方体,并基于所述立方体的元数据,确定数据类型为元数据的元数据关键词。其后可以根据实际需要,向用户展示所述元数据关键词,确定所述元数据关键词是否正确,或者可以直接将所述元数据关键词加入文本信息中,并根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
步骤205,采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句;
在本申请实施例中,在确定所述查询关键词对应的槽位类型之后,可以采用所述查询关键词以及所述查询关键词对应的槽位类型,生成可用于在数据库中进行查询的查询语句。
具体地,可以基于所述查询语句的查询语法格式,根据所述查询关键词对应的槽位类型,将查询关键词填入查询语句中。
在本申请实施例中,可以采用所述查询语句,在预设的数据库中进行查询,得到所述查询语句对应的查询结果信息。
在本申请实施例中,在确定所述查询语句对应的查询结果信息之后,可以直接将所述查询结果信息向用户展示。也可以基于所述查询结果信息,生成采用文本表达的交互信息,并向用户展示所述交互信息。从而实现用户与计算机之间的文本交互。
在本申请的一种实施例中,所述方法还包括:
S81,采用预设的文本分类模型,确定所述文本信息对应的意图类别。
在本申请实施例中,可以采用预设的文本分类模型,对所述文本信息进行意图识别,确定所述文本信息对应的意图类别。作为本申请了的一种可选的实施方式,所述意图类别可以包括数据查询、因子分析、异常检测、时间序列预测等,本申请对此不做限制。
其中,所述文本分类模型可以为TextCNN(Convolutional Neural Networks forText Classification,用于文本分类的卷积神经网络)模型,基于BERT(BidirectionalEncoder Representation from Transformers,基于Transformers的双向解码器)的分类器等,本申请对此不做限制。
在本申请实施例中,确定获取所述查询结果信息之后,可以基于所述文本信息对应的意图类别,分析所述查询结果信息是否符合所述意图类别,以确定查询结果信息是否存在异常。如果存在异常,则可以进一步调整查询语句的生成过程中使用到的实体标注模型、语法类型、划分句法树的算法等,以进一步提高查询结果信息的准确率。
通过本申请实施例的查询语句的生成方法,获取文本信息;在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词;采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句。从而可以从文本信息中直接确定查询关键词以及查询关键词对应的槽位类型,并生成查询语句查询数据库,可以提高处理效率,且可以获得较高的准确率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种查询语句的生成装置实施例的结构框图,具体可以包括如下模块:
获取模块401,用于获取文本信息;
提取模块402,用于在所述文本信息中提取查询关键词;
槽位类型确定模块403,用于根据文本信息,确定所述查询关键词对应的槽位类型;
生成模块404,用于采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句;
查找模块405,用于在预设的数据库中,查找所述查询语句对应的查询结果信息。
可选地,所述提取模块包括:
候选关键词提取子模块,用于在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
查询关键词确定子模块,用于根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
所述候选关键词提取子模块包括:
候选实体词提取单元,用于提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
候选关键词提取单元,用于在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
可选地,所述候选关键词提取单元包括:
候选关键词提取子单元,用于基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
数据类型确定单元,用于将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
可选地,所述候选关键词提取子单元具体用于采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
可选地,所述查询关键词确定子模块包括:
候选语言信息获取单元,用于将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
语法概率确定单元,用于采用预设的语言模型,确定所述候选语言信息对应的语法概率;
查询关键词确定单元,用于根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
可选地,所述槽位类型确定模块包括:
查询语言信息获取子模块,用于将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
句法树确定子模块,用于对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
槽位类型确定子模块,用于采用所述句法树,确定所述查询关键词对应的槽位类型。
可选地,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种;
所述槽位类型确定子模块包括:
元数据确定单元,用于确定所述查询关键词对应的数据类型是否包含元数据;
第一槽位类型确定单元,用于若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
可选地,所述槽位类型确定子模块还包括:
历史查询关键词确定单元,用于若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
第二槽位类型确定单元,若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
第三槽位类型确定单元,若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
可选地,所述装置还包括:
意图类别确定模块,用于采用预设的文本分类模型,确定所述文本信息对应的意图类别。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本申请实施例所述的方法。
本申请实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本申请实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种查询语句的生成方法和一种查询语句的生成装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (22)
1.一种查询语句的生成方法,其特征在于,包括:
获取用户在对话过程中输入的文本信息;
在所述文本信息中提取查询关键词;
根据所述文本信息,确定所述查询关键词对应的槽位类型;
采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句,所述查询语句用于在数据库中查询数据并反馈给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述在所述文本信息中提取查询关键词的步骤,包括:
在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
3.根据权利要求2所述的方法,其特征在于,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
所述在所述文本信息中提取候选关键词以及候选关键词对应的数据类型的步骤,包括:
提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
4.根据权利要求3所述的方法,其特征在于,所述在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型的步骤,包括:
基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
5.根据权利要求4所述的方法,其特征在于,所述基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词的步骤,包括:
采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;
基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
6.根据权利要求2所述的方法,其特征在于,所述根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词的步骤,包括:
将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
采用预设的语言模型,确定所述候选语言信息对应的语法概率;
根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
7.根据权利要求1所述的方法,其特征在于,所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
采用所述句法树,确定所述查询关键词对应的槽位类型。
8.根据权利要求2所述的方法,其特征在于,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种;
所述根据文本信息,确定所述查询关键词对应的槽位类型的步骤,包括:
确定所述查询关键词对应的数据类型是否包含元数据;
若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
9.根据权利要求8所述的方法,其特征在于,所述确定所述查询关键词对应的槽位类型的步骤,还包括:
若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用预设的文本分类模型,确定所述文本信息对应的意图类别。
11.一种查询语句的生成装置,其特征在于,包括:
获取模块,用于获取文本信息;
提取模块,用于在所述文本信息中提取查询关键词;
槽位类型确定模块,用于根据文本信息,确定所述查询关键词对应的槽位类型;
生成模块,用于采用所述查询关键词以及所述查询关键词对应的槽位类型,生成查询语句。
12.根据权利要求11所述的装置,其特征在于,所述提取模块包括:
候选关键词提取子模块,用于在所述文本信息中提取候选关键词以及候选关键词对应的数据类型;
查询关键词确定子模块,用于根据所述候选关键词对应的数据类型,在所述候选关键词中确定目标关键词,作为查询关键词。
13.根据权利要求12所述的装置,其特征在于,所述数据库包括至少一个预设实体数据以及所述预设实体数据对应的数据类型;
所述候选关键词提取子模块包括:
候选实体词提取单元,用于提取所述文本信息中,与所述数据库中预设实体数据匹配的候选实体词;
候选关键词提取单元,用于在所述候选实体词中确定目标实体词,作为候选关键词,并确定所述候选关键词对应的数据类型。
14.根据权利要求13所述的装置,其特征在于,所述候选关键词提取单元包括:
候选关键词提取子单元,用于基于所述候选实体词与所述预设实体数据之间的相似度,在所述候选实体词中确定目标实体词,作为候选关键词;
数据类型确定单元,用于将与所述候选关键词匹配的预设实体数据对应的数据类型,作为所述候选关键词对应的数据类型。
15.根据权利要求14所述的装置,其特征在于,所述候选关键词提取子单元具体用于采用预设的实体标注模型,确定所述文本信息中候选实体词对应的实体类型概率;基于所述候选实体词与所述预设实体数据之间的相似度,以及所述候选实体词对应的实体类型概率,在所述候选实体词中确定目标实体词,作为候选关键词。
16.根据权利要求12所述的装置,其特征在于,所述查询关键词确定子模块包括:
候选语言信息获取单元,用于将所述文本信息中的候选关键词替换为所述候选关键词对应的数据类型,得到候选语言信息;
语法概率确定单元,用于采用预设的语言模型,确定所述候选语言信息对应的语法概率;
查询关键词确定单元,用于根据所述语法概率,在所述候选关键词中确定目标关键词,作为查询关键词。
17.根据权利要求11所述的装置,其特征在于,所述槽位类型确定模块包括:
查询语言信息获取子模块,用于将所述文本信息中的中的查询关键词替换为所述查询关键词对应的数据类型,得到查询语言信息;
句法树确定子模块,用于对所述查询语言信息进行句法分析,确定所述查询语言信息对应的句法树;
槽位类型确定子模块,用于采用所述句法树,确定所述查询关键词对应的槽位类型。
18.根据权利要求12所述的装置,其特征在于,所述数据类型包括元数据、维度属性、指标、维度枚举值、时间值中的至少一种;
所述槽位类型确定子模块包括:
元数据确定单元,用于确定所述查询关键词对应的数据类型是否包含元数据;
第一槽位类型确定单元,用于若所述查询关键词对应的数据类型包含元数据,则根据文本信息,确定所述查询关键词对应的槽位类型。
19.根据权利要求18所述的装置,其特征在于,所述槽位类型确定子模块还包括:
历史查询关键词确定单元,用于若所述查询关键词对应的数据类型不包含元数据,则确定历史文本信息中是否包含数据类型为元数据的历史查询关键词;
第二槽位类型确定单元,若所述历史文本信息中包含数据类型为元数据的历史查询关键词,则根据历史文本信息,确定所述历史查询关键词以及所述查询关键词的槽位类型;
第三槽位类型确定单元,若所述历史文本信息中不包含数据类型为元数据的历史查询关键词,则采用所述查询关键词,确定数据类型为元数据的元数据关键词;根据文本信息,确定所述元数据关键词以及所述查询关键词的槽位类型。
20.根据权利要求1所述的装置,其特征在于,所述装置还包括:
意图类别确定模块,用于采用预设的文本分类模型,确定所述文本信息对应的意图类别。
21.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-10所述的一个或多个的方法。
22.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-10所述的一个或多个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761820.8A CN114064861A (zh) | 2020-07-31 | 2020-07-31 | 一种查询语句的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761820.8A CN114064861A (zh) | 2020-07-31 | 2020-07-31 | 一种查询语句的生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064861A true CN114064861A (zh) | 2022-02-18 |
Family
ID=80227787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010761820.8A Pending CN114064861A (zh) | 2020-07-31 | 2020-07-31 | 一种查询语句的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064861A (zh) |
-
2020
- 2020-07-31 CN CN202010761820.8A patent/CN114064861A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502621B (zh) | 问答方法、问答装置、计算机设备及存储介质 | |
CN110399457B (zh) | 一种智能问答方法和*** | |
CN108304375B (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
US11182435B2 (en) | Model generation device, text search device, model generation method, text search method, data structure, and program | |
US5680511A (en) | Systems and methods for word recognition | |
CN112417102B (zh) | 一种语音查询方法、装置、服务器和可读存储介质 | |
US20120179694A1 (en) | Method and system for enhancing a search request | |
US20220277005A1 (en) | Semantic parsing of natural language query | |
CN111625621B (zh) | 一种文档检索方法、装置、电子设备及存储介质 | |
CN112925563B (zh) | 一种面向代码重用的源代码推荐方法 | |
CN114036930A (zh) | 文本纠错方法、装置、设备及计算机可读介质 | |
KR20230009564A (ko) | 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치 | |
JP4266222B2 (ja) | 単語翻訳装置およびそのプログラム並びにコンピュータ読み取り可能な記録媒体 | |
CN111553160A (zh) | 一种获取法律领域问句答案的方法和*** | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
CN110750967B (zh) | 一种发音的标注方法、装置、计算机设备和存储介质 | |
JP2011008784A (ja) | ローマ字変換を用いる日本語自動推薦システムおよび方法 | |
Sen et al. | Bangla natural language processing: A comprehensive review of classical machine learning and deep learning based methods | |
CN115712713A (zh) | 一种文本匹配方法、装置、***以及存储介质 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
Alwaneen et al. | Stacked dynamic memory-coattention network for answering why-questions in Arabic | |
CN114064861A (zh) | 一种查询语句的生成方法和装置 | |
CN114444492A (zh) | 一种非标准词类判别方法及计算机可读存储介质 | |
CN114118082A (zh) | 一种简历检索方法及装置 | |
CN113822053A (zh) | 一种语法错误检测方法、装置、电子设备及存储介质 |
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 |