CN114428788A - 自然语言处理方法、装置、设备及存储介质 - Google Patents
自然语言处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114428788A CN114428788A CN202210106438.2A CN202210106438A CN114428788A CN 114428788 A CN114428788 A CN 114428788A CN 202210106438 A CN202210106438 A CN 202210106438A CN 114428788 A CN114428788 A CN 114428788A
- Authority
- CN
- China
- Prior art keywords
- entity
- aggregation
- natural language
- sequence
- character 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
Links
- 238000003058 natural language processing Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004220 aggregation Methods 0.000 claims abstract description 315
- 230000002776 aggregation Effects 0.000 claims abstract description 299
- 230000004931 aggregating effect Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003062 neural network model Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 230000011218 segmentation Effects 0.000 description 15
- 238000009826 distribution Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 238000006116 polymerization reaction Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 1
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/244—Grouping and aggregation
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种自然语言处理方法、装置、设备、存储介质及程序产品,应用于云技术、人工智能、智慧交通和车载等各种场景;该自然语言处理方法包括:对自然语言描述进行实体识别,得到实体字符串序列,实体字符串序列中的每个实体字符串为自然语言描述中的实体在目标语言中的标签;基于目标语法对实体字符串序列进行聚合,并对聚合失败的实体字符串序列进行聚合回退,其中,目标语法为目标语言的语法;基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,待解析语义信息为实体字符序列中的实体字符串之间的聚合关系;对待解析语义信息进行解析,获得目标语言描述。通过本申请,能够提升自然语言处理的准确率。
Description
技术领域
本申请涉及人工智能领域中的自然语言处理技术,尤其涉及一种自然语言处理方法、装置、设备、存储介质及程序产品。
背景技术
随着人工智能的快速发展,自然语言处理应用到了生活中的各个角落。在自然语言处理过程中,常常涉及将自然语言描述转换为结构化查询语言描述的处理,以基于结构化查询语言文本与数据库交互,从而实现基于自然语言描述对数据库的处理。
一般来说,为了将自然语言描述转换为结构化查询语言描述,通常是对自然语言描述进行实体标签(比如,列名,表名等)提取,并对相邻实体标签进行聚合,最终拼接所聚合出的局部聚合结果获得结构化查询语言描述。然而,上述将自然语言描述转换为结构化查询语言描述的过程中,相邻的实体标签均会确定一个聚合结果,会导致最终所获得的结构化查询语言描述是错误的;因此,自然语言处理的正确率较低。
发明内容
本申请实施例提供一种自然语言处理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升自然语言处理的正确率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种自然语言处理方法,包括:
对自然语言描述进行实体识别,得到实体字符串序列,其中,所述自然语言描述为采用自然语言描述的用于与数据库交互的信息,所述实体字符串序列中的每个实体字符串为所述自然语言描述中的实体在目标语言中的标签;
基于目标语法对所述实体字符串序列进行聚合,并对聚合失败的所述实体字符串序列进行聚合回退,其中,所述目标语法为目标语言的语法;
基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,所述待解析语义信息为所述实体字符序列中的所述实体字符串之间的聚合关系;
对所述待解析语义信息进行解析,获得目标语言描述,其中,所述目标语言描述为采用所述目标语言描述的用于与所述数据库交互的信息。
本申请实施例提供一种自然语言处理装置,包括:
实体识别模块,用于对自然语言描述进行实体识别,得到实体字符串序列,其中,所述自然语言描述为采用自然语言描述的用于与数据库交互的信息,所述实体字符串序列中的每个实体字符串为所述自然语言描述中的实体在目标语言中的标签;
序列聚合模块,用于基于目标语法对所述实体字符串序列进行聚合,并对聚合失败的所述实体字符串序列进行聚合回退,其中,所述目标语法为目标语言的语法;
所述序列聚合模块,还用于基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,所述待解析语义信息为所述实体字符序列中的所述实体字符串之间的聚合关系;
信息解析模块,用于对所述待解析语义信息进行解析,获得目标语言描述,其中,所述目标语言描述为采用所述目标语言描述的用于与所述数据库交互的信息。
在本申请实施例中,所述聚合回退包括实体字符串回退和序列回退中的至少一种,其中,所述实体字符串回退是指对所述实体字符串进行再次聚合的回退处理,所述实体字符串回退是指对所述实体字符串序列的下个所述实体字符串序列进行再次聚合的回退处理。
在本申请实施例中,当所述聚合回退包括实体字符串回退时,所述聚合回退结果为所述实体字符串序列中聚合失败的连续的所述实体字符串。
在本申请实施例中,所述序列聚合模块,还用于针对所述实体字符串序列中聚合失败的连续的所述实体字符串,将相邻的且不属于所述目标语法对应的聚合方式的所述实体字符串,聚合为指定聚合结果;对所述指定聚合结果进行聚合,得到所述待解析语义信息。
在本申请实施例中,所述信息解析模块,还用于在所述待解析语义信息中,获取与所述指定聚合结果中的所述实体字符串为兄弟关系的目标实体字符串;结合所述指定聚合结果中的所述实体字符串与所述目标实体字符串进行解析,获得所述目标语言描述。
在本申请实施例中,当所述聚合回退包括序列回退时,所述聚合回退结果为聚合失败的所述实体字符串序列的下个所述实体字符串序列,其中,聚合失败的所述实体字符串序列和下个所述实体字符串序列属于所述自然语言描述对应的至少两个所述实体字符串序列,每个所述实体字符串序列对应所述自然语言描述的一种实体切分方式。
在本申请实施例中,所述序列聚合模块,还用于对下个所述实体字符串序列进行再次聚合,得到所述待解析语义信息。
在本申请实施例中,当所述聚合回退包括实体字符串回退和序列回退时,所述序列聚合模块,还用于对聚合失败的所述实体字符串序列进行所述实体字符串回退,得到实体字符串回退结果;对所述实体字符串回退结果进行再次聚合;对聚合失败的所述实体字符串回退结果进行序列回退,其中,序列回退结果为所述聚合回退结果。
在本申请实施例中,所述自然语言处理装置还包括资源获取模块,用于获取所述自然语言描述的领域资源,其中,所述领域资源包括实体字符串库和实体识别模型中的至少一种,所述实体识别模型为用于识别实体的神经网络模型。
在本申请实施例中,所述实体识别模块,还用于基于所述领域资源对所述自然语言描述进行实体识别,得到所述实体字符串序列。
在本申请实施例中,所述实体识别模块,还用于对所述自然语言描述进行实体提取,得到初始实体字符串序列;基于数据库属性与实体之间的对应关系,将所述初始实体字符串序列中的初始实体字符串映射为所述实体字符串,得到与所述初始实体字符串对应的所述实体字符串序列,其中,所述数据库属性与实体之间的对应关系是指数据库中的属性与自然语言所描述的实体之间的对应关系。
在本申请实施例中,所述序列聚合模块,还用于将所述实体字符串序列中的每个所述实体字符串,映射为所述目标语法的语法元素,得到与所述实体字符串序列对应的语法元素序列;基于所述目标语法对应的聚合规则,对所述语法元素序列进行逐层聚合,直至聚合为单个聚合结果时结束聚合,其中,所述待解析语义信息包括所述单个聚合结果。
在本申请实施例中,所述序列聚合模块,还用于当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列时,确定聚合成功;当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列中的部分所述实体字符串时,确定聚合失败。
在本申请实施例中,所述信息解析模块,用于对所述待解析语义信息进行逐层解析,得到待拼接子描述;对所述待拼接子描述进行拼接,获得所述目标语言描述。
在本申请实施例中,所述自然语言处理装置还包括数据库交互模块,用于基于所述目标语言描述对所述数据库进行处理,得到数据库处理结果,其中,所述数据库处理结果包括查询到的目标数据、删除结果、修改结果和增加结果中的至少一种;呈现所述数据库处理结果。
本申请实施例提供一种自然语言处理设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的自然语言处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令用于被处理器执行时,实现本申请实施例提供的自然语言处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的自然语言处理方法。
本申请实施例至少具有以下有益效果:由于在对自然语言描述进行处理的过程中,当对自然语言描述对应的实体字符串序列聚合失败时,能够通过聚合回退进行再次聚合,从而能够获得正确的待解析语义信息;如此,再对待解析语义信息进行解析时,能够获得正确的目标语言文本;从而,能够提升自然语言处理的准确性。
附图说明
图1是一种示例性的自然语言处理的示意图;
图2是另一种示例性的自然语言处理的示意图;
图3是本申请实施例提供的自然语言处理***的架构示意图;
图4是本申请实施例提供的图3中的服务器的组成结构示意图;
图5是本申请实施例提供的自然语言处理方法的流程示意图一;
图6是本申请实施例提供的自然语言处理方法的流程示意图二;
图7是本申请实施例提供的自然语言处理方法的流程示意图三;
图8是本申请实施例提供的一个示例性应用流程示意图;
图9是本申请实施例提供的一种示例性的数据库的示意图;
图10是本申请实施例提供的一种示例性的数据查询示意图;
图11是本申请实施例提供的一种示例性的自然语言处理流程示意图;
图12是本申请实施例提供的另一种示例性的自然语言处理流程示意图;
图13是本申请实施例提供的一种示例性的聚合回退流程示意图;
图14是本申请实施例提供的另一种示例性的聚合回退流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。
3)人工神经网络,是一种模仿生物神经网络结构和功能的数学模型,本申请实施例中人工神经网络的示例性结构包括深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent NeuralNetwork,RNN)、神经状态机(Neural State Machine,NSM)和相位函数神经网络(Phase-Functioned Neural Network,PFNN)等。本申请实施例中所涉及的实体识别模型即为人工神经网络的模型。
4)自然语言处理(Nature Language Processing,NLP),是计算机科学领域与人工智能领域中的一个重要方向,用于研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学,因此,自然语言处理领域的研究将涉及自然语言,即人们日常使用的语言,所以自然语言与语言学的研究有着密切的联系。
5)自然语言至结构化查询语言(Nature Language to Structured QueryLanguage,NL2SQL),是指将自然语言转化为电子设备可以理解的规范化的语义表示(Formal Meaning Represention)。NL2SQL任务是语义解析任务的一种类型,用于将用户输入的自然语言问题转成可与数据库操作的SQL查询语句,从而通过自然语言完成与数据库的交互及获得数据库中的信息。
6)上下文无关判断算法(Cocke Younger Kasami Algorithm,CYK算法),用于判断一个字符串是否符合上下文无关语法的算法;其中,上下文无关语法(Context FreeGrammar,CFG)是指字符V总可以被字符串w替换,而无需考虑字符V出现的上下文。在本申请实施例中,通过CYK算法进行聚合。
7)语法聚合,是指基于结构化查询语言的语法,将自然语言对应的字符串自底向上聚合成层级语义信息的处理;在本申请实施例中简称为聚合。
8)层次解析,是指采用自顶向下对层级语义信息进行逐层解析,以获得结构化查询语言的过程;在本申请实施例中简称为解析。
9)领域适用性,是指神经网络模型适用于不同领域(比如,金融领域,教育领域等)的能力。
10)自然语言解析鲁棒性,是指对变化多样的自然语言描述进行处理时的泛化能力;自然语言解析鲁棒性越强,解析结果越不受自然语言的描述顺序和是否有歧义的影响。
一般来说,为了将自然语言描述转换为结构化查询语言描述,通常是对自然语言描述进行实体标签提取,并对相邻实体标签进行聚合,最终拼接所聚合出的局部聚合结果获得结构化查询语言描述。
参见图1,图1是一种示例性的自然语言处理的示意图;如图1所示,利用数据库信息1-12、通用领域的同义词信息1-131、以及问题模板1-132对用户问题1-11(称为自然语言描述)进行成分映射,得到实体成分1-2;利用标签识别模型1-3获取实体成分1-2的实体标签(比如,列名,表名等);基于问题模板1-132在SQL文法库1-4中对相邻实体标签进行查询,将查询到的相邻实体标签聚合为一个新的文法单元1-5(称为局部聚合结果);其中,聚合的过程中,利用打分模型1-6,基于聚合出的文法单元和问题的相似度进行打分,以选择分数最高的文法单元作为新的文法单元;拼接各个新的文法单元也就获得了SQL语句1-7(称为结构化查询语言描述)。
基于图1,参见图2,图2是另一种示例性的自然语言处理的示意图;如图2所示,描述了利用图1示出的处理流程进行自然语言处理的过程;如图2所示,针对用户问题2-1(绿化不低于30%的城市有哪些,并给出它们的占地面积)和数据库2-2(即为包括名称(简称为Col0)、所属省(简称为Col1)、人口(万)(简称为Col2)、面积(平方千米)(简称为Col3)和绿化率(简称为Col4)的城市表格),采用图1中的通用领域的同义词信息1-13、标签识别模型1-3、SQL文法库1-4进行聚合,得到一个个新的文法单元2-3(“condition:Col 4>=Num”、“select:Tab.Col0”、“select:Col3”、“select:Col0,Col3”和“sele ct:Col0,Col3 whereCol4>=Num”),最终基于一个个新的文法单元2-3拼接为SQL语句2-4(称为结构化查询语言文本)。其中,“condition”、“Num”、“T ab”和“select”为SQL文法库中的信息。
基于图1和图2,可以确定上述基于用户问题进行聚合来获得SQL语句的过程中,由于对相邻实体标签是否能够聚合进行检测的过程中,是直接将能够聚合的至少一个实体标签聚合为文法单元的,由于文法单元即为一个SQL子句,因此上述聚合过程中的每次聚合均能获得一个局部聚合结果;并且,聚合过程中相邻的实体标签才能聚合出一个局部聚合结果,聚合是基于相邻的实体标签进行的,而自然语言描述的方式多种多样,比如有的自然语言描述文本中存在长距离的语义关系,即上下文相关的两个实体标签之间包括其他实体标签,此时,再基于相邻的实体标签进行聚合,将会导致最终所获得的结构化查询语言描述是错误的;因此,自然语言处理的正确率和鲁棒性较低。
示例性地,利用图1示出的自然语言处理过程对用户问题“各区县的平均教师工资是多少?”进行处理时,获取到的标签“平均”(函数)和标签“教师工资”(列名)能够聚合出的局部聚合结果为“select avg(教师工资)”,能够获得正确的SQL语句。而利用图1示出的自然语言处理过程对用户问题“教师工资在各区县的平均工资是多少”进行处理时,由于“教师工资”标签(列名)和标签“平均值”(函数)之间包括标签“区县”(列名),因此聚合出的结果为包括“select教师工资,区县”或者“select avg(区县)”的错误SQL语句。也就是说,对于多变的自然语言描述,图1示出的自然语言处理方式的正确率和鲁棒性较差。
另外,还需要说明的是,上述自然语言处理过程中,所获得的结构化查询语言描述的正确性还取决于实体成分的识别结果。由于自然语言在描述顺序上是多样的,且常常包括存在歧义的情况,因此所获得的实体成分的正确率较低;当因为识别错误导致所获得的实体成分是错误时,基于实体成分聚合出的结构化查询语言描述也是错误的。
示例性地,用户问题“查询下各区县骨干教师人数分布情况”可以切分为识别结果1“查询下|各|区县骨干教师(列值)|人数(函数)|分布情况”(错误识别结果)和识别结果2“查询下|各|区县(列名)|骨干教师(列值)|人数(函数)|分布情况”(正确识别结果);由于“区县骨干教师”是列值,不能使用“各”这种遍历的请求,故识别结果1是错误识别结果,导致获得的SQL语句也是错误的。这是因为自然语言处理的领域适应性较低导致的,比如,在金融领域和教育领域等领域应用。
另外,图1和图2中在进行成分映射和文法单元聚合的过程中,还使用到了问题模板1-132;利用问题模板1-132对用户问题进行描述上的转换、并结合问题模板1-132与SQL文法库1-4进行文法单元聚合;如此,自然语言处理过程中对问题模板1-132具有依赖性,导致聚合过程的复杂度较高,导致自然语言处理的效率较低。
基于此,本申请实施例提供一种自然语言处理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升自然语言处理的效率、正确率和鲁棒性,还能够提升自然语言处理的领域适用性。下面说明本申请实施例提供的自然语言处理设备的示例性应用,本申请实施例提供的自然语言处理设备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能家电、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、智能语音交互设备、便携式游戏设备和智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明自然语言处理设备实施为服务器时的示例性应用。
参见图3,图3是本申请实施例提供的自然语言处理***的架构示意图;如图3所示,为支撑一个自然语言处理应用,在自然语言处理***100中,终端200(示例性示出了终端200-1和终端200-2)通过网络300连接服务器400(称为自然语言处理设备),网络300可以是广域网或者局域网,又或者是二者的组合。另外,该自然语言处理***100中还包括数据库500,用于向服务器400提供数据支持;并且,图1中示出的为数据库500独立于服务器400的一种情况,此外,数据库500还可以集成在服务器400中,本申请实施例对此不作限定。
终端200,用于通过网络300向服务器发送的自然语言描述,并通过网络300接收服务器发送的与自然语言描述对应的数据库处理结果,并在图形界面中显示数据库处理结果。
服务器400,用于通过网络300接收终端200发送的自然语言描述,对自然语言描述进行实体识别,得到实体字符串序列,其中,自然语言描述为采用自然语言描述的用于与数据库交互的信息,实体字符串序列中的每个实体字符串为自然语言描述中的实体在目标语言中的标签;基于目标语法对实体字符串序列进行聚合,并对聚合失败的实体字符串序列进行聚合回退,其中,目标语法为目标语言的语法;基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,待解析语义信息为实体字符序列中的实体字符串之间的聚合关系;对待解析语义信息进行解析,获得目标语言描述,其中,目标语言描述为采用目标语言描述的用于与数据库交互的信息;基于目标语言描述对数据库进行处理,得到数据库处理结果;通过网络300向终端200发送与自然语言描述对应的数据库处理结果。
参见图4,图4是本申请实施例提供的图3中的服务器的组成结构示意图;图4所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线***440耦合在一起。可理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算机设备,示例性的网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的自然语言处理装置可以采用软件方式实现,图4示出了存储在存储器450中的自然语言处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:实体识别模块4551、序列聚合模块4552、信息解析模块4553、资源获取模块4554和数据库交互模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本申请实施例提供的自然语言处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的自然语言处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的自然语言处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的自然语言处理方法。举例来说,计算机程序可以是操作***中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作***中安装才能运行的程序,如问答APP、对话APP或者智能客服APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面,将结合本申请实施例提供的自然语言处理设备的示例性应用和实施,说明本申请实施例提供的自然语言处理方法。另外,本申请实施例提供的自然语言处理方法应用于云技术、人工智能、智慧交通和车载等各种场景。
参见图5,图5是本申请实施例提供的自然语言处理方法的流程示意图一,将结合图5示出的步骤进行说明。
S501、对自然语言描述进行实体识别,得到实体字符串序列。
在本申请实施例中,自然语言处理设备获取采用自然语言描述的用于与数据库交互的信息,也就获得了自然语言描述;接着,自然语言处理设备对自然语言描述进行实体的提取和转换,也就完成了对自然语言描述的实体识别,所获得的实体识别结果即为实体字符串序列。其中,实体字符串序列包括至少一个实体字符串,且实体字符串序列中的实体字符串之间包括描述顺序,以及该描述顺序与实体字符串对应的每个实体在自然语言描述中出现的顺序对应。
需要说明的是,自然语言处理设备可以通过响应于用户操作获得自然语言描述,还可以通过接收其他设备响应于用户操作所发送的信息获得自然语言描述,又可以通过执行所接收到的获取指令来获得自然语言描述,等等,本申请实施例对此不作限定。自然语言描述为采用自然语言描述的用于与数据库交互的信息,其中,与数据库交互的信息可以是获取待查询数据的信息,比如,采用自然语言描述的用户提问的问题和用户请求等数据获取描述,可以是音频形式的信息,还可以是视频形式的信息,又可以是文本形式的信息,也可以为图片形式的信息,等等,本申请实施例对此不作限定;而当自然语言描述为非文本形式的信息时,自然语言处理设备需要将自然语言描述转换文本形式的描述后再进行实体识别;另外,与数据库交互的信息还可以是增加待增加数据的信息,又可以是删除待删除数据的信息,还可以是修改待修改数据是信息,等等,本申请实施例对此不作限定。
还需要说明的是,实体识别是从自然语言描述中识别出数据库对应的字符串的处理过程,包括自然语言描述中的实体提取和提取到的实体向数据库中的字符串的转换,从而,实体字符串序列中的每个实体字符串为自然语言描述中的实体在目标语言中的标签,比如,列名(教师工资,区县代码,教师标识,等),计数(count),平均值(avg)等。其中,数据库用于存储待交互的数据。
S502、基于目标语法对实体字符串序列进行聚合,并对聚合失败的实体字符串序列进行聚合回退。
在本申请实施例中,自然语言处理设备用于将自然语言描述转换为能够与数据库交互的数据查询描述,比如,SQL语句等与数据库交互的语句。这里,自然语言处理设备能够获得用于与数据库交互的目标语言(比如,SQL语言等与数据库交互的语言)的语法,这里称为目标语法;也就是说,目标语法为目标语言的语法。
需要说明的是,自然语言处理设备采用目标语法将实体字符串序列中的至少一个实体字符串进行聚合,以获得实体字符序列中的实体字符串之间的聚合关系,这里,将实体字符序列中的实体字符串之间的聚合关系称为待解析语义信息。在自然语言处理设备基于目标语法对实体字符串序列进行聚合的过程中,如果聚合失败,则进行聚合回退处理。
还需要说明的是,由于自然语言描述在描述顺序和描述用语等方面是多样的,从而当对相同语义的信息采用自然语言进行描述时,能够获得多种描述结果;而与数据库进行交互的描述方式是固定的,因此,自然语言处理设备在将自然语言描述转换为能够与数据库进行交互的描述时,需要依据目标语言的语法对自然语言描述对应的实体字符串序列进行聚合,以基于聚合结果获得能够与数据库进行交互的描述;其中,聚合是指确定实体字符序列中的实体字符串之间的聚合关系的处理。另外,聚合失败是指最终的聚合结果与目标语法不匹配,或者最终的聚合结果与实体字符串序列不匹配等无法获取与自然语言描述对应的交互结果的情况。聚合回退是指对聚合进行回退以重新聚合的处理,包括实体字符串回退和序列回退中的至少一种,其中,实体字符串回退是指对实体字符串进行再次聚合的回退处理,实体字符串回退是指对实体字符串序列的下个实体字符串序列进行再次聚合的回退处理。
S503、基于聚合回退结果进行再次聚合,得到待解析语义信息。
在本申请实施例中,自然语言处理设备通过对实体字符串序列进行聚合回退,也就获得了聚合回退结果;接着,自然语言处理设备对聚合回退结果进行再次聚合,也就获得了待解析语义信息;其中,待解析语义信息为实体字符序列中的实体字符串之间的聚合关系,且待解析语义信息为实体字符串序列的成功聚合结果;这里,当自然语言处理设备对聚合回退结果进行再次聚合时,如果还是聚合失败的情况,自然语言处理设备可采用S502描述的聚合回退的处理方式进行再次聚合回退并重新聚合,即迭代执行聚合回退和再次聚合的处理,直至获得待解析语义信息。
需要说明的是,自然语言处理设备对实体字符串序列进行聚合回退后,所获得的聚合回退结果是指待进行再次聚合的信息,可以是实体字符串和下个实体字符串序列中的任一个;而当聚合回退结果包括下个实体字符串序列时,自然语言描述对应多个实体字符串序列,而每个实体字符串序列对应于自然语言描述的一种实体切分方式。
S504、对待解析语义信息进行解析,获得目标语言描述。
在本申请实施例中,自然语言处理设备获得了待解析语义信息之后,对待解析语义信息进行解析,也就获得了采用目标语言描述的用于与数据库交互的信息;其中,目标语言描述即为采用目标语言描述的用于与数据库交互的信息。
需要说明的是,由于待解析语义信息中包括了实体字符串序列的实体字符串之间的聚合关系,因此,自然语言处理设备采用目标语言描述实体字符串序列的实体字符串之间聚合关系,也就获得了目标语言描述。
可以理解的是,由于在对自然语言描述进行处理的过程中,当对自然语言描述对应的实体字符串序列聚合失败时,能够通过聚合回退进行再次聚合,从而能够获得正确的待解析语义信息;如此,再对待解析语义信息进行解析时,能够获得正确的目标语言文本;从而,能够提升自然语言处理的准确性和自然语言解析鲁棒性。
在本申请实施例中,当聚合回退包括实体字符串回退时,聚合回退结果为实体字符串序列中聚合失败的连续的实体字符串;此时,S503可通过S5031和S5032(图中未示出)实现;也就是说,自然语言处理设备基于聚合回退结果进行再次聚合,得到待解析语义信息,包括S5031和S5032,下面对各步骤分别进行说明。
S5031、针对实体字符串序列中聚合失败的连续的实体字符串,将相邻的且不属于目标语法对应的聚合方式的实体字符串,聚合为指定聚合结果。
在本申请实施例中,自然语言处理设备确定实体字符串序列中聚合失败的连续的实体字符串,并在聚合失败的连续实体字符串中,将相邻的且不属于目标语法对应的聚合方式的实体字符串,聚合为指定聚合结果;其中,聚合失败的连续的实体字符串是指导致聚合失败的连续的至少两个实体字符串;指定聚合结果中的实体字符串用于与实体字符串序列中的其他任一实体字符串聚合。
S5032、对指定聚合结果进行聚合,得到待解析语义信息。
在本申请实施例中,自然语言处理设备基于指定聚合结果继续对实体字符串序列进行聚合,也就得到了包括指定聚合结果的待解析语义信息。另外,自然语言处理设备在对指定聚合结果进行聚合时,可以将指定聚合结果与任意实体字符串进行聚合。
相应地,在本申请实施例中,S504可通过S5041和S5042(图中未示出)实现;也就是说,自然语言处理设备对待解析语义信息进行解析,获得目标语言描述,包括S5041和S5042,下面对各步骤分别进行说明。
S5041、在待解析语义信息中,获取与指定聚合结果中的实体字符串为兄弟关系的目标实体字符串。
在本申请实施例中,自然语言处理设备在对待解析语义信息进行解析的过程中,当解析至指定聚合结果时,获取与指定聚合结果为同父亲节点的聚合结果;这里,与指定聚合结果为同父亲节点的聚合结果中的实体字符串,即为与指定聚合结果中的实体字符串为兄弟关系的目标实体字符串;其中,父亲节点为指定聚合结果和目标实体字符串的聚合结果,也就是说,兄弟关系是指能够聚合为一个聚合结果的关系。
S5042、结合指定聚合结果中的实体字符串与目标实体字符串进行解析,获得目标语言描述。
在本申请实施例中,自然语言处理设备结合指定聚合结果中的实体字符串与目标实体字符串进行解析,以获得与指定聚合结果中的实体字符串与目标实体字符串共同对应的目标语言的子描述。
可以理解的是,由于自然语言描述的方式多种多样,比如有的自然语言描述文本中存在长距离的语义关系,即上下文相关的两个实体字符串之间包括其他实体字符串;此时,通过实体字符串的聚合回退,将相邻但不属于目标语法对应的聚合方式聚合为指定聚合结果,并将指定聚合结果中的任一实体字符串与目标实体字符串聚合,实现了不连续聚合,从而,能够实现正确的聚合,进而能够获得正确的目标语言描述。
在本申请实施例中,当聚合回退包括序列回退时,聚合回退结果为聚合失败的实体字符串序列的下个实体字符串序列;其中,聚合失败的实体字符串序列和下个实体字符串序列属于自然语言描述对应的至少两个实体字符串序列,每个实体字符串序列对应自然语言描述的一种实体切分方式;此时,S503还可通过S5033(图中未示出)实现;也就是说,自然语言处理设备基于聚合回退结果进行再次聚合,得到待解析语义信息,包括S5033,下面对各步骤分别进行说明。
S5033、对下个实体字符串序列进行再次聚合,得到待解析语义信息。
需要说明的是,当自然语言处理设备将实体字符串序列的聚合回退至下个实体字符串序列时,基于目标语法对下个实体字符串序列进行再次聚合,以获得待解析语义信息。这里,由于自然语言中,同样的描述有时对应至少一种实体切分方式,因此,当自然语言处理设备采用不同的实体切分方式对自然语言描述进行实体切分时,也就获得了自然语言描述对应的多个实体字符串序列。另外,当自然语言处理设备对下个实体字符串序列进行再次聚合时,聚合成功后也就获得了待解析语义信息;如果对下个实体字符串序列进行再次聚合时也失败了,自然语言处理设备则会对再次聚合失败的下个实体字符串序列进行聚合回退,并将再下个实体字符串序列作为又一聚合回退结果进行再次聚合,如此迭代地进行聚合回退,直至成功聚合出待解析语义信息;在迭代地聚合回退过程中,是通过遍历自然语言描述对应的至少两个实体字符串序列实现的。
可以理解的是,由于自然语言描述中同样的描述对应至少一种语义,因此,自然语言处理设备通过采用不同的实体切换方式对自然语言描述进行实体切分,来获得自然语言描述对应的至少两个实体字符串序列;并在对当前的实体字符串序列的聚合失败时,确定当前的实体字符串序列对应的实体切分方式是错误的;如此,通过聚合回退,能够确定出正确的实体切分方式对应的实体字符串序列,进而能够获得正确的目标语言描述。
在本申请实施例中,当聚合回退包括实体字符串回退和序列回退时,S502中自然语言处理设备对聚合失败的实体字符串序列进行聚合回退,包括S5021至S5023(图中未示出),下面对各步骤分别进行说明。
S5021、对聚合失败的实体字符串序列进行实体字符串回退,得到实体字符串回退结果。
需要说明的是,当自然语言描述包括至少两个实体字符串序列时,自然语言处理设备先对聚合失败的实体字符串序列进行实体字符串回退,所获得的结果即为实体字符串回退结果;其中,实体字符串回退结果为实体字符串序列中聚合失败的连续的实体字符串。
S5022、对实体字符串回退结果进行再次聚合。
在本申请实施例中,自然语言处理设备获得了实体字符串回退结果之后,对实体字符串回退结进行再次聚合;如果对实体字符串回退结果的再次聚合成功,表明当前的实体字符串序列为采用正确的实体划分方式划分出来的,也就获得了自然语言描述对应的待解析语义信息。
S5023、对聚合失败的实体字符串回退结果进行序列回退。
在本申请实施例中,自然语言处理设备对实体字符串回退结果进行再次聚合时,如果聚合失败,表明当前的实体字符串序列为采用错误的实体划分方式划分出来的,对聚合失败的实体字符串回退结果进行序列回退;这里,序列回退结果即为聚合回退结果。
参见图6,图6是本申请实施例提供的自然语言处理方法的流程示意图二;如图6所示,在本申请实施例中,S501之前还包括S506;也就是说,自然语言处理设备对自然语言描述进行实体识别,得到实体字符串序列之前,该自然语言处理方法还包括S506,下面对该步骤进行说明。
S506、获取自然语言描述的领域资源。
需要说明的是,自然语言描述所操作的数据库对应一个所属领域,比如,教育领域,金融领域等;所对应的该领域中包括用于在该领域内进行实体提取的领域资源,该领域资源包括实体字符串库和实体识别模型中的至少一种;其中,实体字符串库可以包括自然语言描述操作的数据库所对应的领域内的各个实体字符串,也可以包括每个语义分别对应的至少一个字符串;实体识别模型为用于在自然语言描述所操作的数据库对应的领域内识别实体的神经网络模型,是通过自然语言描述样本和实体标注样本训练得到的,自然语言描述样本和实体标注样本也属于自然语言描述所操作的数据库对应的领域。
继续参见图6,相应地,S501可通过S5011实现;也就是说,自然语言处理设备对自然语言描述进行实体识别,得到实体字符串序列,包括S5011,下面对该步骤进行说明。
S5011、基于领域资源对自然语言描述进行实体识别,得到实体字符串序列。
需要说明的是,自然语言处理设备获得了领域资源之后,采用领域资源对自然语言描述进行实体识别;这里,当领域资源包括实体字符串库时,实体字符串序列中的实体字符串是通过实体字符串库对自然语言描述进行实体提取获得的;当领域资源包括实体识别模型时,实体字符串序列中的实体字符串是通过实体识别模型对自然语言描述进行实体提取获得的;而当领域资源包括实体字符串库和实体识别模型时,实体字符串序列中的实体字符串是通过结合两种实体提取结果获得的,这两种实体提取结果为利用实体字符串库和实体识别模型分别对自然语言描述进行实体提取所获得的。其中,利用实体字符串库对自然语言描述进行实体提取是一种字符串匹配方式,利用实体识别模型对自然语言描述进行实体提取是一种字符串语义特征分析的方式。
可以理解的是,由于领域资源相对于通用资源,精准度较高,因此,本申请实施例中通过领域资源获取实体字符串序列,能够提升获得的实体字符串序列的精准度;另外,当自然语言处理设备利用实体字符串库和实体识别模型获取实体字符串序列时,通过匹配方式和字符串语义特征分析的方式进行实体提取,能够提升实体字符串的召回率。另外,本申请实施例基于本领域的领域资源进行实体提取,能够适用于各种应用领域,提升领域适应性。
在本申请实施例中,S501还可通过S5012和S5013(图中未示出)实现;也就是说,自然语言处理设备对自然语言描述进行实体识别,得到实体字符串序列,包括S5012和S5013,下面对各步骤分别进行说明。
S5012、对自然语言描述进行实体提取,得到初始实体字符串序列。
在本申请实施例中,自然语言处理设备先对自然语言描述中的实体进行提取,也就获得了初始实体字符串序列,即为上述的实体提取结果;其中,初始实体字符串序列包括至少一个初始实体字符串,每个初始实体字符串为自然语言描述中的一个实体,并且,至少一个初始实体字符串之间包括组合顺序,该组合顺序是指每个初始实体字符串在自然语言描述中出现的顺序。
S5013、基于数据库属性与实体之间的对应关系,将初始实体字符串序列中的初始实体字符串映射为实体字符串,得到与初始实体字符串对应的实体字符串序列。
在本申请实施例中,自然语言处理设备还用于将初始实体字符串转换为数据库中的属性,即为将从自然描述语言中提取到的实体转换为数据库中的字符串。这里,自然语言处理设备能够获取到数据库属性与实体之间的对应关系,该数据库属性与实体之间的对应关系是指数据库中的属性与自然语言所描述的实体之间的对应关系,比如,自然语言所描述的实体“A大附中”,对应数据库中的属性“A大学附属中学”;自然语言处理设备基于数据库属性与实体之间的对应关系进行转换处理。
可以理解的是,通过对自然语言描述中提取出的实体(即为初始实体字符串)进行转换,以转换为数据库的属性(即为实体字符串),使得聚合的过程中能够准确地对确定每个实体字符串的聚合方式,提升自然语言处理的准确度。
在本申请实施例中,S502中自然语言处理设备基于目标语法对实体字符串序列进行聚合,包括S5024和S5025(图中未示出),下面对各步骤分别进行说明。
S5024、将实体字符串序列中的每个实体字符串,映射为目标语法的语法元素,得到与实体字符串序列对应的语法元素序列。
需要说明的是,目标语法包括语法元素;其中,语法元素是目标语音中的语法单元,比如,列名,函数(AGG),意图(INT),排序(SORT),值(VAL),等等。这里,自然语言处理设备能够获取到数据库属性与语法元素之间的对应关系,基于数据库属性与语法元素之间的对应关系将实体字符串序列中的每个实体字符串,映射为目标语法的语法元素,也就得到了与实体字符串序列对应的语法元素序列。其中,语法元素序列中的每个语法元素对应一个实体字符串。
S5025、基于目标语法对应的聚合规则,对语法元素序列进行逐层聚合,直至聚合为单个聚合结果时结束聚合。
需要说明的是,目标语法还包括聚合规则;其中,聚合规则是指个各语法元素的聚合方式,比如,函数和列名聚合,函数和列名的聚合结果与排序聚合,等等。这里,自然语言处理设备基于聚合规则对语法元素序列中的至少一个语法元素进行逐层聚合,直至聚合出最终的单个聚合结果时结束聚合。其中,单个聚合结果中包括实体字符串序列中的实体字符串对应的聚合关系,即为待解析语义信息。
可以理解的是,本申请实施例通过自底向上将语言元素序列聚合为单个聚合结果之后再解析为目标语言描述,使得聚合的过程中能够进行聚合回退,实现对错误聚合和错误切分的纠正,从而,能够提升自然语言处理的准确度。
在本申请实施例中,S502之后还包括S507和S508(图中未示出);也就是说,自然语言处理设备基于目标语法对实体字符串序列进行聚合之后,该自然语言处理方法还包括S507和S508,下面对各步骤分别进行说明。
S507、当单个聚合结果对应的实体字符串包括实体字符串序列时,确定聚合成功。
在本申请实施例中,自然语言处理设备获得了单个聚合结果之后,对单个聚合结果所对应的实体字符串进行判断;当确定单个聚合结果对应的实体字符串包括实体字符串序列时,表明对实体字符串序列中全部的实体字符串完成了聚合,从而确定聚合成功。
S508、当单个聚合结果对应的实体字符串包括实体字符串序列中的部分实体字符串时,确定聚合失败。
在本申请实施例中,当自然语言处理设备确定单个聚合结果对应的实体字符串包括实体字符串序列中的部分实体字符串时,表明是对实体字符串序列中的部分实体字符串完成了聚合,从而确定聚合失败。
需要说明的是,S507和S508是两个独立的步骤,在执行顺序上不分先后。
在本申请实施例中,S504可通过S5043和S5044(图中未示出)实现;也就是说,自然语言处理设备对待解析语义信息进行解析,获得目标语言描述,包括S5043和S5044,下面对各步骤分别进行说明。
S5043、对待解析语义信息进行逐层解析,得到待拼接子描述。
在本申请实施例中,由于待解析语义信息是自然语言处理设备通过对实体字符串序列进行自底向上聚合获得的,因此,这里自然语言处理设备对待解析语义信息进行自上向下解析,以获得采用目标语言所描述的各个子描述,并将该各个字描述确定为待拼接子描述。
需要说明的是,由于待解析语义信息包括单个聚合结果,因此自然语言处理设备从单个聚合结果开始,对单个聚合结果所包括的聚合结果进行逐层解析,直至解析至最先获得的聚合结果,结束解析,得到待拼接子描述。
S5044、对待拼接子描述进行拼接,获得目标语言描述。
在本申请实施例中,自然语言处理设备获得了待拼接子描述之后,对待拼接子描述中的至少一个子描述进行拼接,所获得的拼接结果即为目标语言描述。
可以理解的是,由于自然语言处理设备对实体字符串序列是采用自底向上的聚合方式进行聚合的,因此,对聚合出的待解析语义信息进行自顶向下的解析方式进行解析,以与聚合过程对应,来解析出正确的目标语言描述,提升自然语言处理的准确度。
参见图7,图7是本申请实施例提供的自然语言处理方法的流程示意图三;如图7所示,在本申请实施例中,S504之后还包括S509和S510;也就是说,自然语言处理设备对待解析语义信息进行解析,获得目标语言描述之后,该自然语言处理方法还包括S509和S510,下面对各步骤分别进行说明。
S509、基于目标语言描述对数据库进行处理,得到数据库处理结果。
需要说明的是,当自然语言处理设备获得了目标语言描述之后,就能够基于该目标语言描述与数据库进行交互,以操控数据库;这里,当自然语言处理设备基于目标语言描述与数据库进行交互时,即基于目标语言描述对数据库进行处理,以对数据库进行操控,所获得的处理结果即为数据库处理结果。其中,数据库处理结果包括查询到的目标数据、删除结果、修改结果和增加结果中的至少一种。
S510、呈现数据库处理结果。
在本申请实施例中,自然语言处理设备可以在自身中呈现数据库处理结果,也可以将数控处理结果发送至呈现端设备,以使呈现端设备呈现该数据库处理结果,等等,本申请实施例对此不作限定。
可以理解的是,本申请实施例通过对聚合失败的实体字符串序列进行聚合回退,使得能够获得正确的目标语言描述;进而,当基于目标语言描述对数据库进行处理时,能够获得正确的数据库处理结果,提升基于自然语言与数据库交互的准确度。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。该示例性应用描述了针对指定领域构建基于数据表(称为数据库)的对话***时,根据自然语言所描述的问题或查询描述(称为自然语言描述)从数据表中提取对应的内容(与数据库的一种交互)的过程。这里,由于SQL语言(称为目标语言)是一种有效的提取数据表内容的方法,因此先将自然语言描述的问题或查询描述转换成SQL语句(称为目标语言描述),再利用SQL语句从数据表中提取对应的内容,就能够实现根据自然语言描述的问题或查询描述从数据表中提取对应的内容的处理。
示例性地,参见图8,图8是本申请实施例提供的一个示例性应用流程示意图;如图8所示,页面8-1是通过调用对话***的小程序所呈现的,示出了数据查询流程8-11(首先是语音识别,然后是自然语言处理,再后是智能分析,最后是数据结论)。当获取到的用户问题为语音形式时则进行语音识别,当获取到的用户问题为文本形式时,直接进行自然语言处理。
当基于该对话***采用图8示出的示例性应用流程进行智能对话时,参见图9,图9是本申请实施例提供的一种示例性的数据库的示意图;如图9所示,数据表9-1为金融表(finance),包括名称、赎回费用(shfy)、买入限制、风险等级(fxdj)、开售时间、买入年龄和买入收益7个列名(称为数据库属性);当获取到用户输入的用户问题“不同风险等级的平均赎回费用的最大值”时,采用本申请实施例提供的自然语言处理方法,能够获取到SQL语句“select avg(shfy),fxdj from finace group by fxdj order by avg(shfy)desc limit1”;接着针对数据表9-1执行该SQL语句,也就获得了查询结果(称为数据库处理结果中的目标数据)。参见图10,图10是本申请实施例提供的一种示例性的数据查询示意图;如图10所示,智能对话页面10-1中,针对用户问题10-11,显示查询结果10-12、以及附加信息10-13。
下面说明本申请实施例提供的自然语言处理方法的示例性处理流程。
参见图11,图11是本申请实施例提供的一种示例性的自然语言处理流程示意图;如图11所示,针对数据表11-1、以及数据表11-1对应的默认配置表11-2,确定该对话***的领域所对应的实体关键字符串识别模块11-3;当获得用户问题11-4(公司A上月的达成成交总额(Gross Merchandise Volume,GMV)的总和是多少)时,利用实体关键字符串识别模块11-3对用户问题11-4进行实体识别,并对实体识别结果(称为实体字符串序列)进行自底向上可回退的SQL语法聚合11-5,接着对聚合结果进行自顶向下层次化SQL解析11-6,得到SQL语句11-7(select sum(达成GMV)from地产样表where品牌=公司Aand统计时间=202108)。
需要说明的是,实体关键字符串识别模块11-3是通过对话***对应的领域内的实体字符串库和实体识别模型中的至少一种构建的;这里,当通过实体字符串库和实体识别模型构建实体关键字符串识别模块11-3进行实体提取时,可以结合两种的提取结果来获得实体,以增加实体关键字符串识别模块11-3的召回率。另外,实体关键字符串识别模块11-3除了包括实体提取功能,还包括实体转换功能,即将从用户问题或查询描述中提取出的实体转换为数据表对应的属性(比如,列名),以解决别名导致的问题,如此,能够提升聚合的准确度;比如,用户问题中的实体“A大附中”,转换为数据表中的属性“A大学附属中学”。
还需要说明的是,实体关键字符串识别模块11-3还用于获取至少一种实体切分结果,从而,一个用户问题对应至少一个实体切分结果;比如,区县骨干教师对应{“区县”,“骨干教师”}和{“区县骨干教师”}两个实体切分结果。
下面对实体识别结果、自底向上可回退的SQL语法聚合和自顶向下层次化SQL解析分别进行说明。
参见图12,图12是本申请实施例提供的另一种示例性的自然语言处理流程示意图;如图12所示,采用实体关键字符串识别模块12-1对用户问题12-2(女教师人数最少的任教学科是什么)进行实体识别时,得到实体识别结果为实体关键字符串序列12-3({“性别码_女(xbm_女)”,“教师标识(jsid)”,“计数”(count),“升序_1”,“任教课程(rjkc)”},称为实体字符串序列);接着,当基于SQL语法12-4(称为目标语法)对实体关键字符串序列12-3进行自底向上可回退的SQL语法聚合12-5时,得到聚合结果12-6(称为待解析语义信息);最后,对聚合结果12-6进行自顶向下层次化SQL解析,得到待拼接子句12-7(where子句、order子句和select子句,称为待拼接子描述),从而通过拼接待拼接子句12-7得到SQL语句12-8(select rjkc,count(jsid)from教师表where xbm="女"group by rjkc order by count(jsid)desc limit 1)。
需要说明的是,实体关键字符串序列12-3中,“性别码_女”是由转换用户问题12-2中的“女”得到的,“计数”是由转换用户问题12-2中的“人数”得到的,“升序_1”是由转换用户问题12-2中的“最少”得到的。采用自底向上可回退的SQL语法聚合12-5进行聚合的过程中,先将每个实体关键字符串(称为实体字符串)映射为SQL语法中的语法元素;比如,将“性别码_女”映射为条件(COND),将“教师标识”映射为列名(COL),将“计数”映射为函数(AGG),将“升序_1”映射为排序(SORT),将“任教课程”映射为选择(SELECT);如此,基于SQL语法中各个语法元素的聚合方式对实体关键字符串序列对应的语法元素序列进行自底向上聚合,直至聚合出根节点(称为最终的单个聚合结果,这里,用“S”表示聚合结果)。采用自顶向下层次化SQL解析时,从根节点开始解析,基于实体关键字符串之间的聚合关系自顶向下逐层解析,得到各个子句。
下面对自底向上可回退的SQL语法聚合过程中的回退进行说明。
示例性地,参见图13,图13是本申请实施例提供的一种示例性的聚合回退流程示意图;如图13所示,针对用户问题13-1(教师工资在各区县的平均值),获得对应的实体提取结果13-2({“教师工资”,“区县”,“平均值”},称为初始实体字符串序列),并获取实体提取结果13-2对应的实体关键字符串序列13-3({“jsgz”(对应于实体“教师工资”),“qxdm”(对应于实体“区县”),“avg”(对应于实体“平均值”)}),接着获取实体关键字符串序列13-3对应的语法元素序列13-4{“COL”(列名),“COL”(列名),“AGG”(函数)}。在对语法元素序列13-4进行自低向上可回溯语法聚合的过程中,根据SQL语法函数和文本列名不能聚合,因此,“平均值”对应的语法元素“AGG”和“区县”对应的语法元素“COL”不能聚合,故将“工资”和“区县”两个分别对应的列名可以聚合为多个列(MulC)节点,进入下一步聚合,由于MulC节点不能和“平均值”对应的语法元素“AGG”进行聚合,因此,获得的为丢掉“平均值”的错误SQL语句13-5(select jsgz,qxdm from教师表)。
需要说明的是,MulC节点不能和“平均值”对应的语法元素“AGG”进行聚合,表明聚合中断,触发回退,并回退到上一层聚合过程,将相邻的但是不在SQL语法中出现的语法节点聚合为“Check”节点(称为指定聚合结果),“Check”节点可以与任何SQL语法节点进行聚合。聚合完毕后,通过自上而下层次化SQL解析流程可以将“Check”节点中的实体与其同父亲节点的实体进行解析:树13-6即为“Check”节点所在的子树,“Check”节点属于同父亲的节点为“教师工资”对应的语法元素“COL”,由于“教师工资”可以和“Check”中的“平均值”进行聚合(函数和数值型列名的聚合),解析出对应的“select”子句;“Check”中剩下的“区县”对应节点则作为单独的节点进行解析,解析出对应的“select”子句;最后拼接为正确的SQL语句13-7(“select avg(jsid),qxdm from教师表”);因此,本申请实施例提供的自底向上可回退的SQL语法聚合,能够提升自然语言处理的泛化能力和鲁棒性。
需要说明的是,图13描述了在实体关键字符串序列中回退的情况,下面说明当用户问题对应多个实体切分方式时,在实体关键字符串序列间回退的情况。
示例性地,参见图14,图14是本申请实施例提供的另一种示例性的聚合回退流程示意图;如图14所示,针对查询描述14-1(各区骨干教师人数分布)的一种实体提取结果14-2{“区骨干教师”,“人数”,“分布”},聚合过程中无法满足“分布”意图的聚合,得到错误的SQL语句14-3(select count(*)where jsdj="区骨干教师"),因此聚合中断,触发回退,回退到查询描述14-1(各区骨干教师人数分布)的另一种实体提取结果14-4{“区”,“骨干教师”,“人数”,“分布”},重新采用自低向上可回溯语法聚合,得到聚合结果14-5。在对聚合结果14-5进行自顶向下解析的过程中,“分布”意图节点在同父节点“C-V-A”中匹配列名实体,解析到按照“区(列名)”进行分组(group),生成最后正确的SQL语句14-6(select qxcm,count(*)from教师表where jsdj="骨干教师"group by qxcm)。其中,“qxdm”(区县代码,对应于实体“区”)、“jsdj”(教师等级,对应于实体“区骨干教师”或“骨干教师”)、“count”(计数,对应于实体“人数”)和“intent”(意图,对应于实体“分布”)是数据库对应的属性,“VAL”、“AGG”、“INT”、“COL”、“Mulc”、“C-V-A”和“S”是SQL语法中的语法元素或聚合结果。
可以理解的是,本申请实施例中通过对目标领域构建实体关键字符串识别模块,能够快速准确的应用用于不同领域的自然语言向结构化查询语言的转换;并且通过自底向上可回退的SQL语法聚合,能够适用于不同语言的NL2SQL场景,能够在多样的问题描述场景中实现准确地SQL解析,减少对问题模版的依赖;以及对于存在歧义的问题描述,仍能够进行正确聚合和解析,获得正确的SQL语句,能够降低串联***的错误传递,提升NL2SQL的准确性。
下面继续说明本申请实施例提供的自然语言处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器450的自然语言处理装置455中的软件模块可以包括:
实体识别模块4551,用于对自然语言描述进行实体识别,得到实体字符串序列,其中,所述自然语言描述为采用自然语言描述的用于与数据库交互的信息,所述实体字符串序列中的每个实体字符串为所述自然语言描述中的实体在目标语言中的标签;
序列聚合模块4552,用于基于目标语法对所述实体字符串序列进行聚合,并对聚合失败的所述实体字符串序列进行聚合回退,其中,所述目标语法为目标语言的语法;
所述序列聚合模块4552,还用于基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,所述待解析语义信息为所述实体字符序列中的所述实体字符串之间的聚合关系;
信息解析模块4553,用于对所述待解析语义信息进行解析,获得目标语言描述,其中,所述目标语言描述为采用所述目标语言描述的用于与所述数据库交互的信息。
在本申请实施例中,所述聚合回退包括实体字符串回退和序列回退中的至少一种,其中,所述实体字符串回退是指对所述实体字符串进行再次聚合的回退处理,所述实体字符串回退是指对所述实体字符串序列的下个所述实体字符串序列进行再次聚合的回退处理。
在本申请实施例中,当所述聚合回退包括实体字符串回退时,所述聚合回退结果为所述实体字符串序列中聚合失败的连续的所述实体字符串。
在本申请实施例中,所述序列聚合模块4552,还用于针对所述实体字符串序列中聚合失败的连续的所述实体字符串,将相邻的且不属于所述目标语法对应的聚合方式的所述实体字符串,聚合为指定聚合结果;对所述指定聚合结果进行聚合,得到所述待解析语义信息。
在本申请实施例中,所述信息解析模块4553,还用于在所述待解析语义信息中,获取与所述指定聚合结果中的所述实体字符串为兄弟关系的目标实体字符串;结合所述指定聚合结果中的所述实体字符串与所述目标实体字符串进行解析,获得所述目标语言描述。
在本申请实施例中,当所述聚合回退包括序列回退时,所述聚合回退结果为聚合失败的所述实体字符串序列的下个所述实体字符串序列,其中,聚合失败的所述实体字符串序列和下个所述实体字符串序列属于所述自然语言描述对应的至少两个所述实体字符串序列,每个所述实体字符串序列对应所述自然语言描述的一种实体切分方式。
在本申请实施例中,所述序列聚合模块4552,还用于对下个所述实体字符串序列进行再次聚合,得到所述待解析语义信息。
在本申请实施例中,当所述聚合回退包括实体字符串回退和序列回退时,所述序列聚合模块4552,还用于对聚合失败的所述实体字符串序列进行所述实体字符串回退,得到实体字符串回退结果;对所述实体字符串回退结果进行再次聚合;对聚合失败的所述实体字符串回退结果进行序列回退,其中,序列回退结果为所述聚合回退结果。
在本申请实施例中,所述自然语言处理装置455还包括资源获取模块4554,用于获取所述自然语言描述的领域资源,其中,所述领域资源包括实体字符串库和实体识别模型中的至少一种,所述实体识别模型为用于识别实体的神经网络模型。
在本申请实施例中,所述实体识别模块4551,还用于基于所述领域资源对所述自然语言描述进行实体识别,得到所述实体字符串序列。
在本申请实施例中,所述实体识别模块4551,还用于对所述自然语言描述进行实体提取,得到初始实体字符串序列;基于数据库属性与实体之间的对应关系,将所述初始实体字符串序列中的初始实体字符串映射为所述实体字符串,得到与所述初始实体字符串对应的所述实体字符串序列,其中,所述数据库属性与实体之间的对应关系是指数据库中的属性与自然语言所描述的实体之间的对应关系。
在本申请实施例中,所述序列聚合模块4552,还用于将所述实体字符串序列中的每个所述实体字符串,映射为所述目标语法的语法元素,得到与所述实体字符串序列对应的语法元素序列;基于所述目标语法对应的聚合规则,对所述语法元素序列进行逐层聚合,直至聚合为单个聚合结果时结束聚合,其中,所述待解析语义信息包括所述单个聚合结果。
在本申请实施例中,所述序列聚合模块4552,还用于当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列时,确定聚合成功;当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列中的部分所述实体字符串时,确定聚合失败。
在本申请实施例中,所述信息解析模块4553,用于对所述待解析语义信息进行逐层解析,得到待拼接子描述;对所述待拼接子描述进行拼接,获得所述目标语言描述。
在本申请实施例中,所述自然语言处理装置455还包括数据库交互模块4555,用于基于所述目标语言描述对所述数据库进行处理,得到数据库处理结果,其中,所述数据库处理结果包括查询到的目标数据、删除结果、修改结果和增加结果中的至少一种;呈现所述数据库处理结果。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备(称为自然语言处理设备)的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的自然语言处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的自然语言处理法,例如,如图5示出的自然语言处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算机设备上执行(此时,这一个计算机设备即自然语言处理设备),或者在位于一个地点的多个计算机设备上执行(此时,位于一个地点的多个计算机设备即自然语言处理设备),又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行(此时,分布在多个地点且通过通信网络互连的多个计算机设备即自然语言处理设备)。
综上所述,通过本申请实施例,由于在对自然语言描述进行处理的过程中,当对自然语言描述对应的实体字符串序列聚合失败时,能够通过聚合回退进行再次聚合,从而能够获得正确的待解析语义信息;如此,再对待解析语义信息进行解析时,能够获得正确的目标语言文本;从而,能够提升自然语言处理的准确性和鲁棒性。另外,还能够提升自然语言处理的领域适用性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种自然语言处理方法,其特征在于,所述方法包括:
对自然语言描述进行实体识别,得到实体字符串序列,其中,所述自然语言描述为采用自然语言描述的用于与数据库交互的信息,所述实体字符串序列中的每个实体字符串为所述自然语言描述中的实体在目标语言中的标签;
基于目标语法对所述实体字符串序列进行聚合,并对聚合失败的所述实体字符串序列进行聚合回退,其中,所述目标语法为所述目标语言的语法;
基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,所述待解析语义信息为所述实体字符序列中的所述实体字符串之间的聚合关系;
对所述待解析语义信息进行解析,获得目标语言描述,其中,所述目标语言描述为采用所述目标语言描述的用于与所述数据库交互的信息。
2.根据权利要求1所述的方法,其特征在于,所述聚合回退包括实体字符串回退和序列回退中的至少一种,其中,所述实体字符串回退是指对所述实体字符串进行再次聚合的回退处理,所述实体字符串回退是指对所述实体字符串序列的下个所述实体字符串序列进行再次聚合的回退处理。
3.根据权利要求1或2所述方法,其特征在于,当所述聚合回退包括实体字符串回退时,所述聚合回退结果为所述实体字符串序列中聚合失败的连续的所述实体字符串;
所述基于聚合回退结果进行再次聚合,得到待解析语义信息,包括:
针对所述实体字符串序列中聚合失败的连续的所述实体字符串,将相邻的且不属于所述目标语法对应的聚合方式的所述实体字符串,聚合为指定聚合结果;
对所述指定聚合结果进行聚合,得到所述待解析语义信息;
所述对所述待解析语义信息进行解析,获得目标语言描述,包括:
在所述待解析语义信息中,获取与所述指定聚合结果中的所述实体字符串为兄弟关系的目标实体字符串;
结合所述指定聚合结果中的所述实体字符串与所述目标实体字符串进行解析,获得所述目标语言描述。
4.根据权利要求1或2所述的方法,其特征在于,当所述聚合回退包括序列回退时,所述聚合回退结果为聚合失败的所述实体字符串序列的下个所述实体字符串序列,其中,聚合失败的所述实体字符串序列和下个所述实体字符串序列属于所述自然语言描述对应的至少两个所述实体字符串序列,每个所述实体字符串序列对应所述自然语言描述的一种实体切分方式;
所述基于聚合回退结果进行再次聚合,得到待解析语义信息,包括:
对下个所述实体字符串序列进行再次聚合,得到所述待解析语义信息。
5.根据权利要求1或2所述的方法,其特征在于,当所述聚合回退包括实体字符串回退和序列回退时,所述对聚合失败的所述实体字符串序列进行聚合回退,包括:
对聚合失败的所述实体字符串序列进行所述实体字符串回退,得到实体字符串回退结果;
对所述实体字符串回退结果进行再次聚合;
对聚合失败的所述实体字符串回退结果进行序列回退,其中,序列回退结果为所述聚合回退结果。
6.根据权利要求1或2所述的方法,其特征在于,所述对自然语言描述进行实体识别,得到实体字符串序列之前,所述方法还包括:
获取所述自然语言描述的领域资源,其中,所述领域资源包括实体字符串库和实体识别模型中的至少一种,所述实体识别模型为用于识别实体的神经网络模型;
所述对自然语言描述进行实体识别,得到实体字符串序列,包括:
基于所述领域资源对所述自然语言描述进行实体识别,得到所述实体字符串序列。
7.根据权利要求1或2所述的方法,其特征在于,所述对自然语言描述进行实体识别,得到实体字符串序列,包括:
对所述自然语言描述进行实体提取,得到初始实体字符串序列;
基于数据库属性与实体之间的对应关系,将所述初始实体字符串序列中的初始实体字符串映射为所述实体字符串,得到与所述初始实体字符串对应的所述实体字符串序列,其中,所述数据库属性与实体之间的对应关系是指数据库中的属性与自然语言所描述的实体之间的对应关系。
8.根据权利要求1或2所述的方法,其特征在于,所述基于目标语法对所述实体字符串序列进行聚合,包括:
将所述实体字符串序列中的每个所述实体字符串,映射为所述目标语法的语法元素,得到与所述实体字符串序列对应的语法元素序列;
基于所述目标语法对应的聚合规则,对所述语法元素序列进行逐层聚合,直至聚合为单个聚合结果时结束聚合,其中,所述待解析语义信息包括所述单个聚合结果。
9.根据权利要求8所述的方法,其特征在于,所述基于目标语法对所述实体字符串序列进行聚合之后,所述方法还包括:
当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列时,确定聚合成功;
当所述单个聚合结果对应的所述实体字符串包括所述实体字符串序列中的部分所述实体字符串时,确定聚合失败。
10.根据权利要求1或2所述的方法,其特征在于,所述对所述待解析语义信息进行解析,获得目标语言描述,包括:
对所述待解析语义信息进行逐层解析,得到待拼接子描述;
对所述待拼接子描述进行拼接,获得所述目标语言描述。
11.根据权利要求1或2所述的方法,其特征在于,所述对所述待解析语义信息进行解析,获得目标语言描述之后,所述方法还包括:
基于所述目标语言描述对所述数据库进行处理,得到数据库处理结果,其中,所述数据库处理结果包括查询到的目标数据、删除结果、修改结果和增加结果中的至少一种;
呈现所述数据库处理结果。
12.一种自然语言处理装置,其特征在于,所述自然语言处理装置包括:
实体识别模块,用于对自然语言描述进行实体识别,得到实体字符串序列,其中,所述自然语言描述为采用自然语言描述的用于与数据库交互的信息,所述实体字符串序列中的每个实体字符串为所述自然语言描述中的实体在目标语言中的标签;
序列聚合模块,用于基于目标语法对所述实体字符串序列进行聚合,并对聚合失败的所述实体字符串序列进行聚合回退,其中,所述目标语法为所述目标语言的语法;
所述序列聚合模块,还用于基于聚合回退结果进行再次聚合,得到待解析语义信息,其中,所述待解析语义信息为所述实体字符序列中的所述实体字符串之间的聚合关系;
信息解析模块,用于对所述待解析语义信息进行解析,获得目标语言描述,其中,所述目标语言描述为采用所述目标语言描述的用于与所述数据库交互的信息。
13.一种自然语言处理设备,其特征在于,所述自然语言处理设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的自然语言处理方法。
14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令用于被处理器执行时,实现权利要求1至11任一项所述的自然语言处理方法。
15.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至11任一项所述的自然语言处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210106438.2A CN114428788A (zh) | 2022-01-28 | 2022-01-28 | 自然语言处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210106438.2A CN114428788A (zh) | 2022-01-28 | 2022-01-28 | 自然语言处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114428788A true CN114428788A (zh) | 2022-05-03 |
Family
ID=81314106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210106438.2A Pending CN114428788A (zh) | 2022-01-28 | 2022-01-28 | 自然语言处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114428788A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115329753A (zh) * | 2022-10-13 | 2022-11-11 | 北京谊慧信息技术有限公司 | 一种基于自然语言处理的智能数据分析方法和*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684448A (zh) * | 2018-12-17 | 2019-04-26 | 北京北大软件工程股份有限公司 | 一种智能问答方法 |
US20190272296A1 (en) * | 2018-03-02 | 2019-09-05 | Thoughtspot, Inc. | Natural Language Question Answering Systems |
CN110717025A (zh) * | 2019-10-08 | 2020-01-21 | 北京百度网讯科技有限公司 | 一种问答方法、装置、电子设备及存储介质 |
US20200073983A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Generating nested database queries from natural language queries |
CN111177184A (zh) * | 2019-12-24 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 基于自然语言的结构化查询语言转换方法、及其相关设备 |
CN112580357A (zh) * | 2019-09-29 | 2021-03-30 | 微软技术许可有限责任公司 | 自然语言查询的语义解析 |
US20210209309A1 (en) * | 2020-04-30 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Semantics processing method, electronic device, and medium |
CN113918589A (zh) * | 2020-07-10 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 一种查询语句的生成方法、相关方法及装置 |
CN113939812A (zh) * | 2019-07-24 | 2022-01-14 | 思杰***有限公司 | 使用自然语言输入生成查询 |
-
2022
- 2022-01-28 CN CN202210106438.2A patent/CN114428788A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190272296A1 (en) * | 2018-03-02 | 2019-09-05 | Thoughtspot, Inc. | Natural Language Question Answering Systems |
US20200073983A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Generating nested database queries from natural language queries |
CN109684448A (zh) * | 2018-12-17 | 2019-04-26 | 北京北大软件工程股份有限公司 | 一种智能问答方法 |
CN113939812A (zh) * | 2019-07-24 | 2022-01-14 | 思杰***有限公司 | 使用自然语言输入生成查询 |
CN112580357A (zh) * | 2019-09-29 | 2021-03-30 | 微软技术许可有限责任公司 | 自然语言查询的语义解析 |
CN110717025A (zh) * | 2019-10-08 | 2020-01-21 | 北京百度网讯科技有限公司 | 一种问答方法、装置、电子设备及存储介质 |
CN111177184A (zh) * | 2019-12-24 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 基于自然语言的结构化查询语言转换方法、及其相关设备 |
US20210209309A1 (en) * | 2020-04-30 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Semantics processing method, electronic device, and medium |
CN113918589A (zh) * | 2020-07-10 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 一种查询语句的生成方法、相关方法及装置 |
Non-Patent Citations (3)
Title |
---|
王东升;王石;王卫民;符建辉;诸峰;: "基于带约束语义文法的领域相关自然语言理解方法", 中文信息学报, no. 02, 15 February 2018 (2018-02-15), pages 38 - 49 * |
董立岩;张高祥;孙博;郎一宁;: "从自然语言向SPARQL语言映射的歧义消解算法", 吉林大学学报(理学版), no. 03, 26 May 2016 (2016-05-26), pages 535 - 538 * |
赵飞;刘文婷;: "基于自然语言的数据库查询接口探究", 赤峰学院学报(自然科学版), no. 06, 25 June 2018 (2018-06-25), pages 54 - 55 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115329753A (zh) * | 2022-10-13 | 2022-11-11 | 北京谊慧信息技术有限公司 | 一种基于自然语言处理的智能数据分析方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489538B (zh) | 基于人工智能的语句应答方法、装置及电子设备 | |
CN106919655B (zh) | 一种***方法和装置 | |
WO2022218186A1 (zh) | 个性化知识图谱的生成方法、装置及计算机设备 | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
Llopis et al. | How to make a natural language interface to query databases accessible to everyone: An example | |
WO2022237253A1 (zh) | 一种测试用例生成方法、装置及设备 | |
CN107798123B (zh) | 知识库及其建立、修改、智能问答方法、装置及设备 | |
WO2021218029A1 (zh) | 基于人工智能的面试方法、装置、计算机设备及存储介质 | |
US20220405484A1 (en) | Methods for Reinforcement Document Transformer for Multimodal Conversations and Devices Thereof | |
US20100223214A1 (en) | Automatic extraction using machine learning based robust structural extractors | |
US20220414463A1 (en) | Automated troubleshooter | |
CN111656453A (zh) | 用于信息提取的层次实体识别和语义建模框架 | |
CN114281957A (zh) | 自然语言数据查询方法、装置、电子设备及存储介质 | |
CN111143556A (zh) | 软件功能点自动计数方法、装置、介质及电子设备 | |
CN113704420A (zh) | 文本中的角色识别方法、装置、电子设备及存储介质 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
CN117251455A (zh) | 一种基于大模型的智能报表生成方法及其*** | |
KR102149935B1 (ko) | 8품사 및 문장 내 사용역할로 성분을 구분하는 단순도해법을 이용한 영어문장 학습 서비스 제공 방법 | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN114428788A (zh) | 自然语言处理方法、装置、设备及存储介质 | |
CN117932022A (zh) | 一种智能问答方法、装置、电子设备及存储介质 | |
CN117193738A (zh) | 应用搭建方法、装置、设备及存储介质 | |
CN116561275A (zh) | 对象理解方法、装置、设备及存储介质 | |
CN110110050B (zh) | 一种新闻事件生成式问答数据集的生成方法 | |
CN115757469A (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 |