解析器生成方法、检索方法、服务器及存储介质技术

技术编号:24205201 阅读:14 留言:0更新日期:2020-05-20 14:22
本申请实施例提供一种解析器生成方法、检索方法、服务器以及存储介质,在本申请一些实施例中,通过开发用户熟悉的编程语言编写解析组件描述文本,根据其中的组件标识获取对应解析组件模板中,再根据解析组件描述文本中的解析参数来设置解析组件模板的参数,生成解析组件并得到解析器,使得开发用户无需去学习其他编程语言来编写解析组件描述文本,就可以设置解析组件模板的参数,降低了开发用户的学习成本以及解析组件的开发成本,同时,开发用户可以根据不同需求来设置不同的解析参数,得到不同需求的解析组件以及解析器,提高解析器的灵活性以及普适性。

Parser generation method, retrieval method, server and storage medium

【技术实现步骤摘要】
解析器生成方法、检索方法、服务器及存储介质
本申请涉及互联网
,尤其涉及一种解析器生成方法、检索方法、服务器以及存储介质。
技术介绍
大数据时代经过若干年的发展,文本数据的产生速度越来越快,数据量也急剧增长,由此方便人们从海量文本数据中获取更多想要的信息,而如何从海量文本数据中准确获取到所需的文本数据也变得尤为关键,为此,文本数据检索方式:全文检索方式得到了广泛的关注和应用。全文检索方式是通过解析、召回和排序等过程实现文本数据检索的。其中,解析文本数据过程是全文检索重要步骤,直接决定了检索的完备度、准确度。
技术实现思路
本申请的多个方面提供了一种解析器生成方法、检索方法、服务器以及存储介质,用以根据用户的不同需求自定义解析器,降低开发成本。本申请实施例提供了一种解析器生成方法,所述方法包括:接收采用第一编程语言编写的解析组件描述文本,所述解析组件描述文本包含至少一个组件标识及其对应的解析参数;从采用第二编程语言编写的解析组件模板中,选择与所述至少一个组件标识分别对应的解析组件模板;根据所述至少一个组件标识对应的解析参数及解析组件模板,生成至少一个解析组件;对所述至少一个解析组件进行组合,得到用于面向采用所述第一编程语言编写的数据库语句进行解析的解析器。本申请实施例还提供了一种服务器,包括:存储器、处理器以及通信组件;所述通信组件,用于;接收采用第一编程语言编写的解析组件描述文本,所述解析组件描述文本包含至少一个组件标识及其对应的解析参数;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:从采用第二编程语言编写的解析组件模板中,选择与所述至少一个组件标识分别对应的解析组件模板;根据所述至少一个组件标识对应的解析参数及解析组件模板,生成至少一个解析组件;对所述至少一个解析组件进行组合,得到用于面向采用所述第一编程语言编写的数据库语句进行解析的解析器。本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述解析器生成方法中的步骤。本申请实施例还提供了一种数据库检索方法,包括:接收检索设备发送的待检索文本;利用解析器中包含的至少一个解析组件对所述待检索文本进行解析处理,得到至少一个子文本;利用所述至少一个子文本在数据库中获取检索结果并返回给所述检索设备。本申请实施例还提供了一种服务器,包括:存储器、处理器以及通信组件;所述通信组件,用于接收检索设备发送的待检索文本;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:利用解析器中包含的至少一个解析组件对所述待检索文本进行解析处理,得到至少一个子文本;利用所述至少一个子文本在数据库中获取检索结果;所述通信组件,用于将所述检索结果返回给所述检索设备。本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述数据库检索方法中的步骤。本申请实施例还提供了一种数据库检索方法,所述方法包括:获取待处理文本;利用解析器中包含的至少一个解析组件对所述待处理文本进行解析处理,得到至少一个子文本;根据所述至少一个子文本建立检索索引,生成数据库,以供数据检索。本申请实施例还提供了一种服务器,包括:存储器、处理器以及通信组件;所述通信组件,用于获取待处理文本;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:利用解析器中包含的至少一个解析组件对所述待处理文本进行解析处理,得到至少一个子文本;根据所述至少一个子文本建立检索索引,生成数据库,以供数据检索。本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述数据库检索方法中的步骤。在本申请实施例中,通过开发用户熟悉的编程语言编写解析组件描述文本,根据其中的组件标识获取对应解析组件模板中,再根据解析组件描述文本中的解析参数来设置解析组件模板的参数,生成解析组件并得到解析器,使得开发用户无需去学习其他编程语言来编写解析组件描述文本,就可以设置解析组件模板的参数,降低了开发用户的学习成本以及解析组件的开发成本,同时,开发用户可以根据不同需求来设置不同的解析参数,得到不同需求的解析组件以及解析器,提高解析器的灵活性以及普适性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1A为本申请一示例性解析器生成工具所部署的网络系统的结构示意图;图1B为本申请又一示例性解析器所部署的网络系统的结构示意图;图2为本申请一示例性实施例的解析器生成方法的流程示意图;图3为本申请一示例性实施例提供的得到组件标识以及解析参数的流程示意图;图4为本申请一示例性实施例的数据库检索方法的流程示意图;图5为本申请又一示例性实施例的数据库检索方法的流程示意图;图6为本申请一示例性实施例提供的解析器生成装置的结构框架示意图;图7为本申请一示例性实施例提供的生成模块的结构框架示意图;图8为本申请一示例性实施例提供的数据库检索装置的结构框架示意图;图9为本申请又一示例性实施例提供的数据库检索装置的结构框架示意图;图10为本申请一示例性实施例提供的服务器的结构示意图;图11为本申请又一示例性实施例提供的服务器的结构示意图;图12为本申请另一示例性实施例提供的服务器的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。全文检索是指数据库中的索引程序通过扫描文本中的每一个词,对每一个词建立一个索引,指明该词在文本中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式,从而达到搜索相对较快的目的。其中,文本可以包括书籍、标题、新闻、论文等非结构化数据,全文检索一般分为三个主要构成部分:解析、召回、排序。其中,解析过程是全文检索的核心步骤,直接决定了检索的完备度、准确度;而解析过程需要通过解析器来实现将文本根据语义,解析为多个独立的词语,从而进行召回和排序过程,然而由于不同的服务需求,需要设置不同的解析器来进行解析,同时,解析器的设置方法还需要与数据库的主流开发语言进行兼容。在本申请一些实施例中,通过开发用户熟悉的编程语言编写解析组件描述文本,根据其中的组件标识获取对应解析组件模板中,再根据解析组件描述文本中的解析参数来本文档来自技高网...

【技术保护点】
1.一种解析器生成方法,其特征在于,所述方法包括:/n接收采用第一编程语言编写的解析组件描述文本,所述解析组件描述文本包含至少一个组件标识及其对应的解析参数;/n从采用第二编程语言编写的解析组件模板中,选择与所述至少一个组件标识分别对应的解析组件模板;/n根据所述至少一个组件标识对应的解析参数及解析组件模板,生成至少一个解析组件;/n对所述至少一个解析组件进行组合,得到用于面向采用所述第一编程语言编写的数据库语句进行解析的解析器。/n

【技术特征摘要】
1.一种解析器生成方法,其特征在于,所述方法包括:
接收采用第一编程语言编写的解析组件描述文本,所述解析组件描述文本包含至少一个组件标识及其对应的解析参数;
从采用第二编程语言编写的解析组件模板中,选择与所述至少一个组件标识分别对应的解析组件模板;
根据所述至少一个组件标识对应的解析参数及解析组件模板,生成至少一个解析组件;
对所述至少一个解析组件进行组合,得到用于面向采用所述第一编程语言编写的数据库语句进行解析的解析器。


2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述解析组件描述文本中的段落结束符,确定所述解析组件描述文本包含的至少一个文本段落,一个文本段落对应一个解析组件;
对所述至少一个文本段落分别进行语法解析,以得到至少一个组件标识及其对应的解析参数。


3.根据权利要求2所述的方法,其特征在于,对所述至少一个文本段落分别进行语法解析,以得到至少一个组件标识及其对应的解析参数,包括:
对所述至少一个文本段落分别进行语义解析,得到每个文本段落中的动作描述词语以及其具体含义;
获取所述每个文本段落中动作描述词语后面指定位置处的参数作为组件标识;
从所述每个文本段落中组件标识后面的文本语句中分别解析出每个文本段落中组件标识对应的解析参数。


4.根据权利要求1所述的方法,其特征在于,根据所述至少一个组件标识对应的解析参数及解析组件模板,生成至少一个解析组件,包括:
按照所述第一编程语言的语法结构分别为所述至少一个组件标识对应的解析组件模板命名;
分别解析所述至少一个组件标识对应的解析组件模板中的参数位置;
将所述至少一个组件标识各自对应的解析参数分别设置于各自对应的解析组件模板中的参数位置处,以得到至少一个解析组件。


5.根据权利要求4所述的方法,其特征在于,按照所述第一编程语言的语法结构分别为所述至少一个组件标识对应的解析组件模板命名,包括:
若所述至少一个组件标识分别是所述解析组件描述文本包含的至少一个语句中动作描述词语后面指定位置处的参数,根据所述至少一个组件标识后面指定位置处的参数为各自对应的解析组件模板命名。


6.根据权利要求3所述的方法,其特征在于,所述至少一个解析组件包括字符过滤器组件、分词器组件和/或词语过滤器组件。


7.根据权利要求6所述的方法,其特征在于,从所述每个文本段落中组件标识后面的文本语句中分别解析出每个文本段落中组件标识对应的解析参数,包括:
对每个文本段落,从所述文本段落中组件标识后面第一位置处解析出参数定义标识;
从所述参数定义标识后面获取所述文本段落中组件标识对应的解析组件所能处理的对象类型。


8.根据权利要求7所述的方法,其特征在于,所述方法进一步包括:
当解析组件包括分词器组件时,从所述参数定义标识后面依次获取所述文本段落中组件标识对应的解析组件所能处理的对象类型以及切分词语指定规则。


9.根据权利要求7所述的方法,其特征在于,所述方法进一步包括:从所述参数定义标识后面依次获取所述文本段落中组件标识对应的解析组件所能处理的对象类型、对象类型的属性及属性值。


10.根据权利要求8所述的方法,其特征在于,所述方法进一步包括:从所述参数定义标识后面依次获取所述文本段落中组件标识对应的解析组件所能处理的对象类型、指定词语切分规则、对象类型的属性及属性值。


11.根据权利要求7所述的方法,其特征在于,
当解析组件是字符过滤器组件,所述字符过滤器组件所能处理的对象类型包括:英文字体转换以及中文字体转换;
当解析组件是分词器组件,所述分词器组件所能处理的对象类型包括:切分词语;
当解析组件是词语过滤器组件,所述词语过滤器组件所能处理的对象类型包括:删除指定词语以及词语转拼音。


12.根据权利要求1-11任一项所述的方法,其特征在于,对所述至少一个解析组件进行组合,得到用于面向采用所述第一编程语言编写的数据库语句进行解析的解析器,包括:
接收采用第一编程语言编写的解析器描述文本,所述解析器描述文本包含解析器标识以及解析器所包含的至少一个解析组件的名称;
根据所述解析器标识获取解析器模板,并解析所述解析组件模板中的参数位置;
将所述解析组件的名称设置于解析组件模板中的参数位置处,以得到解析器。


13.根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括以下至少一种操作:
响应于第一查看请求,发送所述解析器的描述信息;
响应于第二查看请求,发送所述解析器的代码信息;
响应于第三查看请求,发送至少...

【专利技术属性】
技术研发人员:涂继业魏闯先占超群
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1