CN112579765A - 基于布尔表达式的数据筛选方法、装置、设备及存储介质 - Google Patents
基于布尔表达式的数据筛选方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112579765A CN112579765A CN202011510166.XA CN202011510166A CN112579765A CN 112579765 A CN112579765 A CN 112579765A CN 202011510166 A CN202011510166 A CN 202011510166A CN 112579765 A CN112579765 A CN 112579765A
- Authority
- CN
- China
- Prior art keywords
- word
- text
- screening
- screened
- character
- 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
- 238000012216 screening Methods 0.000 title claims abstract description 168
- 230000014509 gene expression Effects 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000011218 segmentation Effects 0.000 claims abstract description 210
- 238000004458 analytical method Methods 0.000 claims abstract description 73
- 239000013598 vector Substances 0.000 claims description 63
- 239000011159 matrix material Substances 0.000 claims description 28
- 239000013604 expression vector Substances 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000008451 emotion Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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/3341—Query execution using boolean 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于大数据中的数据处理技术领域,涉及一种基于布尔表达式的数据筛选方法、装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,用户的筛选文本可存储于区块链中。本申请通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。
Description
技术领域
本申请涉及大数据中的数据处理技术领域,尤其涉及一种基于布尔表达式的数据筛选方法、装置、计算机设备及存储介质。
背景技术
在检索,FAQ场景,召回模块是其中不可或缺的一部分。因为在检索或者FAQ场景,我们经常需要从数以百万计的文档或者标准问题中寻找最相关的内容,而通过召回模块,我们可以快速的将领域无关的文档或者内容筛选出去,这就大大降低了后续模块(如排序)的处理难度。
现有一种数据筛选方法,即通过“关键词”来定义检索文档或者FAQ标准问题,作为示例,例如“关键词-乘风破浪”可以表示为成语,通过“关键词-乘风破浪”的检索式可以筛选与“乘风破浪”相关的成语、词语解释。
然而,传统的数据筛选方法普遍不智能,由于某些关键词存在多种词义原因,导致部分关键词存在歧义的情况,作为示例,例如上述“关键词-乘风破浪”还可以用来表示“乘风破浪的姐姐”这个综艺节目,通过传统的数据筛选方法进行检索则无法保证筛选结果的准确性。
发明内容
本申请实施例的目的在于提出一种基于布尔表达式的数据筛选方法、装置、计算机设备及存储介质,以解决传统的数据筛选方法进行检索则无法保证筛选结果的准确性的问题。
为了解决上述技术问题,本申请实施例提供一种基于布尔表达式的数据筛选方法,采用了如下所述的技术方案:
接收用户终端发送的数据筛选请求,所述数据筛选请求至少携带有筛选文本;
对所述筛选文本进行分词操作,得到初始筛选词组;
将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;
基于布尔表达式以及所述词组词义数据对所述初始筛选词组进行公式转换操作,得到布尔筛选公式;
基于所述布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;
向所述用户终端输出所述目标筛选数据。
为了解决上述技术问题,本申请实施例还提供一种基于布尔表达式的数据筛选装置,采用了如下所述的技术方案:
请求接收模块,用于接收用户终端发送的数据筛选请求,所述数据筛选请求至少携带有筛选文本;
分词操作模块,用于对所述筛选文本进行分词操作,得到初始筛选词组;
词义分析模块,用于将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;
公式转换模块,用于基于布尔表达式以及所述词组词义数据对所述初始筛选词组进行公式转换操作,得到布尔筛选公式;
筛选操作模块,用于基于所述布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;
数据输出模块,用于向所述用户终端输出所述目标筛选数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的基于布尔表达式的数据筛选方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于布尔表达式的数据筛选方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例提供的基于布尔表达式的数据筛选方法,接收用户终端发送的数据筛选请求,所述数据筛选请求至少携带有筛选文本;对所述筛选文本进行分词操作,得到初始筛选词组;将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;基于布尔表达式以及所述词组词义数据对所述初始筛选词组进行公式转换操作,得到布尔筛选公式;基于所述布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;向所述用户终端输出所述目标筛选数据。通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的基于布尔表达式的数据筛选方法的实现流程图;
图2是图1中步骤S102的实现流程图;
图3是图2中步骤S201的实现流程图;
图4是本申请实施例一提供的获取语义分析模型的实现流程图;
图5是图4中步骤S403的实现流程图;
图6是图5中步骤S404的实现流程图;
图7是本申请实施例二提供的基于布尔表达式的数据筛选装置的结构示意图:
图8是图7中分词操作模块120的结构示意图;
图9是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,,示出了本申请实施例一提供的基于布尔表达式的数据筛选方法的实现流程图,为了便于说明,仅示出与本申请相关的部分。
上述的基于布尔表达式的数据筛选方法,包括以下步骤:
步骤S101:接收用户终端发送的数据筛选请求,数据筛选请求至少携带有筛选文本。
在本申请实施例中,用户终端指的是用于执行本申请提供的预防证件滥用的图像处理方法的终端设备,该用户终端可以是诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,应当理解,此处对用户终端的举例仅为方便理解,不用于限定本申请。
在本申请实施例中,筛选文本指的是在检索、FAQ等场景中,用户需要获取目标数据所提供的筛选条件,作为示例,例如:“唐人街探案”用来筛选和唐人街探案相关的影视作品,应当理解,此处对筛选文本的举例仅为方便理解,不用于限定本申请。
步骤S102:对筛选文本进行分词操作,得到初始筛选词组。
在本申请实施例中,分词操作主要用于将用户发送的筛选文本以词组的形式进行分解,作为示例,例如:筛选文本为“北京天气”,那么分词操作得到的初始筛选词组则为“北京”和“天气”,应当理解,此处对分词操作的举例仅为方便理解,不用于限定本申请。
在本申请实施例中,初始筛选词组主要用于限定用户所需要筛选的关键词。
步骤S103:将初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据。
在本申请实施例中,词义分析操作为预先训练好的深度识别网络模型,该词义分析模型可以通过分析关联文本内容获知目标词汇的真实含义。
步骤S104:基于布尔表达式以及词组词义数据对初始筛选词组进行公式转换操作,得到布尔筛选公式。
在本申请实施例中,布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。逻辑与(AND)操作用“·”表示,在不引起歧义的情况下,“·”通常可以省略;逻辑或(OR)操作用“+”表示;逻辑非操作(NOT)用“ˉ”或“!”表示,在本文中,将主要采用“ˉ”来表示。布尔表达式的其他操作符在本文中不会出现,因此不作说明。在本文中,每个布尔变量成为一个词(Literal);一个或几个词通过布尔操作符连接后成为一个项(Term);一个或几个项通过布尔操作符连接后成为一个表达式(Expression)。
步骤S105:基于布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据。
在本申请实施例中,筛选操作主要是基于上述得到的布尔筛选公式在系统数据库中进行索引,并依据表达式的逻辑关系选取符合逻辑条件的数据,将该数据作为用户所需要的目标筛选数据。
步骤S106:向用户终端输出目标筛选数据。
在本申请实施例中,提供了一种基于布尔表达式的数据筛选方法,接收用户终端发送的数据筛选请求,数据筛选请求至少携带有筛选文本;对筛选文本进行分词操作,得到初始筛选词组;将初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;基于布尔表达式以及词组词义数据对初始筛选词组进行公式转换操作,得到布尔筛选公式;基于布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;向用户终端输出目标筛选数据。通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。
继续参阅图2,示出了图1中步骤S102的实现流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S102具体包括:步骤S201、步骤S202、步骤S203、步骤S204以及步骤S205。
步骤S201:基于前向字典树对筛选文本进行前向最大匹配操作,得到筛选文本的前向分词结果。
在本申请实施例中,字典树又称单词查找树,字典树中存储了词典中的文本数据,利用字符串的公共前缀或公共后缀来进行字符串查询,最大限度地减少无意义的字符串比较,查询效率较高。该字典树由多个以树状结构相连的节点组成。根据节点的位置不同,字典树中的节点可以分为根节点和子节点,根节点即为字典树中处于顶点位置的节点。
在本申请实施例中,字典树又分为前向字典树和后向字典树,前向字典树是将词典中的文本数据,按照由前到后的顺序构建得到,例如:词典中的词语“今天”,在前向字典树中,“今”作为根节点中存储的单个字符,“天”则作为“今”这个节点中的与本节点相连的下一个节点的数据信息进行保存。并且,“天”还会作为“今”这个节点的下一个节点中存储的单个字符。
在本申请实施例中,在前向字典树中查询字符串,是利用字符串的公共前缀作为查询字符进行字符串查询。
步骤S202:基于后向字典树对筛选文本进行后向最大匹配操作,得到筛选文本的后向分词结果。
在本申请实施例中,同上,后向字典树是将词典中的文本数据按照由后往前的顺序构建得到,同样以“今天”这个词为例,在后向字典树中,“天”作为根节点中存储的单个字符,“今”则作为“天”这个节点中的与本节点相连的下一个节点的数据信息进行保存。并且,“今”还会作为“天”这个节点的下一个节点中存储的单个字符。
在本申请实施例中,在后向字典树中查询字符串,则是利用字符串的公共后缀进行字符串查询。
在本申请实施例中,步骤S201和步骤S202可以并列执行,也可以先执行步骤S201后执行步骤S202,或者可以先执行步骤S202后执行步骤S201。
步骤S203:判断前向分词结果的词数与后向分词结果的词数是否相同。
步骤S204:若前向分词结果的词数与后向分词结果的词数相同,则将前向分词结果作为初始筛选词组。
在本申请实施例中,如果前向分词结果的词数与后向分词结果的词数相同,按照汉语的语法习惯,前向分词的结果会更为准确。
步骤S205:若前向分词结果的词数与后向分词结果的词数不相同,则将在前向分词结果以及后向分词结果中获取词数较少的分词结果,并将词数较少的分词结果作为初始筛选词组。
在本申请实施例中,如果前向分词结果的词数与后向分词结果的词数不相同,那么词数划分得更少的结果准确性会更高。
在本申请实施例中,通过前向字典树,对筛选文本进行前向最大匹配分词,得到筛选文本的前向分词结果。又通过后向字典树,对筛选文本进行后向最大匹配分词,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
继续参阅图3,示出了图2中步骤S201的实现流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S201具体包括:步骤S301、步骤S302、步骤S303、步骤S304、步骤S305、步骤S306、步骤S307、步骤S308以及步骤S309。
步骤S301:在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点。
在本申请实施例中,可通过创建指针S,使指针S指向筛选文本中的第一个字符,以实现在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点。
在本申请实施例中,将筛选文本中的第一个字符,和前向字典树中的各个根节点中单个字符进行比对,查询筛选文本中的第一个字符所在的根节点。其中,查询到筛选文本中的第一个字符所在的根节点后,可以将第一个字符保存至数组tmp中。需要说明的是,数组tmp用于保存查询到相应节点的字符。
在本申请实施例中,若在前向字典树的所有根节点中,查询不到筛选文本中的第一个字符所在的根节点,则将筛选文本的第一个字符删除,将第一个字符的下一个字符替换成第一个字符,执行上述步骤S301。若筛选文本中没有字符了,则停止查找,不执行后续步骤,直到筛选文本中有了字符,才执行上述步骤S301。
步骤S302:在根节点的下一层子节点中,查询第一个字符的下一个字符是否存在子节点。
在本申请实施例中,第一个字符所在的根节点的下一层子节点,指的是与第一个字符所在的根节点相连的子节点。
步骤S303:若查询不到第一个字符的下一个字符所在的子节点,则将筛选文本中的第一个字符作为词,存储于前向分词结果中,并将第一个字符的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤。
在本申请实施例中,如果查询不到第一个字符的下一个字符所在的子节点,则在前向分词结果的字符串中存储第一个字符的下一个字符,并在前向分词结果的字符串的最后加上一个空格,作为进行分词的标记。可选地,也可以选择在前向分词结果的字符串的最后加别的符号作为分词的标记。之后清空数组tmp,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤,即返回执行上述步骤S301。具体地,使得第一个字符的下一个字符替换成筛选文本的第一个字符,并将指针S指向第一个字符的下一个字符后执行上述步骤S301。
步骤S304:若查询到第一个字符的下一个字符所在的子节点,则判断第一个字符所在的根节点至当前子节点所包含的字符是否构成词;其中,当前子节点为当前查询到的子节点。
在本申请实施例中,当前子节点为当前查询到的子节点。
在本申请实施例中,第一个字符所在的根节点至当前子节点所包含的字符是指:第一个字符所在的根节点中的单个字符(即第一个字符)至当前子节点中包括的单个字符之间的所有单个字符所构成的字符串,也可以理解成是在筛选文本中第一个字符到当前子节点所包含的字符之间的所有字符所构成的字符串。
步骤S305:若第一个字符所在的根节点至当前子节点所包含的字符构成词,则将构成的词存储于前向分词结果中,并将构成的词的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤。
在本申请实施例中,可以将构成的词保存至前向分词结果的字符串中,然后清空数组tmp,另指针S指向构成的词的下一个字符,使得构成的词的下一个字符替换成筛选文本的第一个字符,并执行上述步骤S301。
步骤S306:若第一个字符所在的根节点至当前子节点所包含的字符不构成词,则在当前子节点的下一层中查询是否有当前子节点中的字符的下一个字符所在的子节点。
在本申请实施例中,当前子节点为当前查询到的子节点,当前子节点的下一层为与当前子节点相连的子节点所在的一层。当前子节点中的字符的下一个字符是指:在筛选文本中,当前子节点中的字符的下一个字符。
步骤S307:若查询到当前子节点中的字符的下一个字符所在的子节点,则将当前子节点中的字符的下一个字符所在的子节点作为当前子节点,返回执行判断第一个字符所在的根节点至当前子节点所包含的字符是否构成词步骤。
步骤S308:若查询不到当前子节点中的字符的下一个字符所在的子节点,则将第一个字符所在的根节点至当前子节点所包含的字符作为词,存储于前向分词结果中,并将当前子节点中的字符的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤。
在本申请实施例中,如果查询不到当前子节点中的字符的下一个字符所在的子节点,则将第一个字符所在的根节点至当前子节点所包含的字符作为词,存储于前向分词结果的字符串中,之后清空数组tmp,将指针S指向当前子节点中的字符的下一个字符,即将当前子节点中的字符的下一个字符替换成筛选文本的第一个字符,并返回执行上述步骤S301。
步骤S309:当完成查询筛选文本中的最后一个字符所在的根节点后,得到前向分词结果。
继续参阅图4,示出了本申请实施例一提供的获取语义分析模型的实现流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,在步骤S103之前,还包括:步骤S401、步骤S402、步骤S403、步骤S404、步骤S405以及步骤S406。
步骤S401:在本地数据库中获取样本文本,并确定样本文本中包含的每个分词。
在本申请实施例中,本地数据库是指驻留于运行客户应用程序的机器的数据库。本地数据库提供最快的响应时间。因为在客户(应用程序)和服务器之间没有网络转输。该本地数据库预先存储有用于训练词义分析模型的训练样本。
在本申请实施例中,可以先从上述本地数据库中获取多个文本,确定由获取的多个文本所构成的训练集,则,针对训练集中的每个文本,可将该文本作为样本文本。
在本申请实施例中,确定该样本文本中包含的分词时,可先对该样本文本进行分词处理,以得到该样本文本中包含的每个分词。在对样本文本进行分词处理时,可采用任何分词方法,当然,也可将该样本文本中的每个字符都作为一个分词进行处理,应当理解,此处对分词处理的举例仅为方便理解,不用于限定本申请。
步骤S402:将每个分词分别输入至待训练的词义分析模型中的BERT子模型进行向量转换操作,得到每个分词对应的词向量。
在本申请实施例中,词义分析模型可至少包括四层,分别是:BERT子模型、属性表征层、属性相关性表示层、分类层。
在本申请实施例中,BERT(Bidirectional Encoder Representations fromTransformers)子模型为现有通用的BERT模型架构。
在本申请实施例中,可将每个分词输入词义分析模型中的BERT子模型,得到BERT子模型输出的每个分词分别对应的双向词义表示向量,作为每个分词对应的词向量。
步骤S403:在本地数据库中获取词义属性,根据待训练的词义分析模型中包含词义属性对应的注意力矩阵,以及每个分词对应的词向量,确定样本文本涉及词义属性的第一特征表示向量。
在本申请实施例中,可将每个分词对应的词向量输入词义分析模型中的属性表征层,通过属性表征层中包含的该词义属性对应的注意力矩阵,对每个分词对应的词向量进行注意力加权,根据注意力加权后的每个分词对应的词向量,确定样本文本涉及该词义属性的第一特征表示向量。
步骤S404:根据待训练的词义分析模型中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,以及第一特征表示向量,确定样本文本涉及词义属性的第二特征表示向量。
在本申请实施例中,可将样本文本涉及每个词义属性的第一特征表示向量输入语音分析模型中的属性相关性表示层,通过属性相关性表示层中包含的上述自注意力矩阵,对样本文本涉及每个词义属性的第一特征表示向量进行自注意力加权,根据自注意力加权后的各第一特征表示向量,确定样本文本涉及每个词义属性的第二特征表示向量。
步骤S405:根据待训练的词义分析模型以及第二特征表示向量,确定待训练的词义训练模型输出的分类结果,分类结果包括样本文本所属的词义属性以及样本文本所属的词义属性对应的情感极性。
在本申请实施例中,分类层至少包括隐层、全连接层和softmax层。
在本申请实施例中,可将样本文本涉及每个词义属性的第二特征表示向量依次输入分类层中的隐层、全连接层和softmax层,根据每个第二特征表示向量以及分类层的隐层、全连接层和softmax层中包含的与每个词义属性对应的分类参数,对样本文本进行分类,得到分类层输出的分类结果。
在本申请实施例中,的分类结果至少包括样本文本所属的词义属性以及样本文本在其所属的词义属性上对应的情感极性。
在本申请实施例中,该情感极性可以采用数值进行量化,例如,数值越接近于1,则表示情感极性越倾向于正面,数值越接近于-1,则表示情感极性越倾向于负面,数值接近于0,则表示情感极性倾向于中性。
步骤S406:根据分类结果和样本文本预设的标注,对词义分析模型中的模型参数进行调整,得到词义分析模型。
在本申请实施例中,需要调整的模型参数至少包括上述的分类参数,还可包括上述的注意力矩阵和自注意力矩阵。可采用传统的训练方法对词义分析模型中的模型参数进行调整。即,直接根据步骤S108得到的分类结果和针对样本文本预设的标注,确定分类结果对应的损失(以下将其称之为第一损失),并以该第一损失最小化为训练目标对词义分析模型中的模型参数进行调整,以完成对词义分析模型的训练。
在本申请实施例中,由于上述词义分析模型中已经加入了用于表示不同词义属性之间相关性的自注意力矩阵,因此,采用上述传统的训练方法训练得到的词义分析模型可更加准确的对待分析文本的词义进行分析。
继续参阅图5,示出了图4中步骤S403的实现流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S403具体包括:步骤S501、步骤S502以及步骤S503。
步骤S501:将每个分词对应的词向量输入至词义分析模型中的属性表征层。
在本申请实施例中,在本申请实施例中,属性表征层中至少包含每个词义属性各自对应的注意力矩阵。
步骤S502:通过属性表征层中包含的词义属性对应的注意力矩阵,对每个分词对应的词向量进行注意力加权,得到加权词向量。
在本申请实施例中,可将每个分词对应的词向量输入词义分析模型中的属性表征层,通过属性表征层中包含的该词义属性对应的注意力矩阵,对每个分词对应的词向量进行注意力加权,根据注意力加权后的每个分词对应的词向量,确定样本文本涉及该词义属性的第一特征表示向量。
步骤S503:基于加权词向量确定样本文本涉及词义属性的第一特征表示向量。
在本申请实施例中,上述的第一特征表示向量可以表征该样本文本涉及该词义属性的概率以及在该词义属性上的情感极性。
继续参阅图6,示出了图5中步骤S404的实现流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S404具体包括:步骤S601、步骤S602以及步骤S603。
步骤S601:将第一特征表示向量输入至词义分析模型中的属性相关性表示层。
在本申请实施例中,词义分析模型中的属性相关性表示层中至少包含自注意力矩阵,该自注意力矩阵用于表示不同词义属性之间的相关性,该自注意力矩阵的形式可以为:矩阵中的元素Rij表示第i个词义属性与第j个词义属性的相关性,相关性越强,Rij的值越大,反之越小。
步骤S602:通过属性相关性表示层中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,对样本文本涉及每个词义属性的第一特征表示向量进行自注意力加权,得到加权特征表示向量。
步骤S603:基于加权特征表示向量确定样本文本涉及每个词义属性的第二特征表示向量。
在本申请实施例中,第二特征表示向量同样可以表征该样本文本涉及每个词义属性的概率以及在该词义属性上的情感极性,但与第一特征表示向量不同的是,第一特征表示向量是采用各自独立的每个词义属性对应的注意力矩阵对词向量加权得到的,因此,其表征的样本文本涉及每个词义属性的概率以及在该词义属性上的情感极性并未考虑不同词义属性之间的相关性。而第二特征表示向量是采用用于表示不同词义属性之间相关性的自注意力矩阵对第一特征表示向量加权得到的,相当于由自注意力矩阵引入了不同词义属性之间相关性的因素,因此,其表征的样本文本涉及每个词义属性的概率以及在该词义属性上的情感极性考虑了不同词义属性之间的相关性。
综上所述,本申请实施例提供的基于布尔表达式的数据筛选方法,接收用户终端发送的数据筛选请求,数据筛选请求至少携带有筛选文本;对筛选文本进行分词操作,得到初始筛选词组;将初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;基于布尔表达式以及词组词义数据对初始筛选词组进行公式转换操作,得到布尔筛选公式;基于布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;向用户终端输出目标筛选数据。通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。同时,通过前向字典树,对筛选文本进行前向最大匹配分词,得到筛选文本的前向分词结果。又通过后向字典树,对筛选文本进行后向最大匹配分词,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
需要强调的是,为进一步保证上述筛选文本信息的私密和安全性,上述筛选文本信息还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图7,作为对上述图1所示方法的实现,本申请提供了一种基于布尔表达式的数据筛选装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的基于布尔表达式的数据筛选装置100包括:请求接收模块110、分词操作模块120、词义分析模块130、公式转换模块140、筛选操作模块150以及数据输出模块160。其中:
请求接收模块110,用于接收用户终端发送的数据筛选请求,数据筛选请求至少携带有筛选文本;
分词操作模块120,用于对筛选文本进行分词操作,得到初始筛选词组;
词义分析模块130,用于将初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;
公式转换模块140,用于基于布尔表达式以及词组词义数据对初始筛选词组进行公式转换操作,得到布尔筛选公式;
筛选操作模块150,用于基于布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;
数据输出模块160,用于向用户终端输出目标筛选数据。
在本申请实施例中,提供了一种基于布尔表达式的数据筛选装置,通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。
继续参阅图8,示出了图7中分词操作模块120的结构示意图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,上述分词操作模块120包括:前向最大匹配子模块121、后向最大匹配子模块122、词数判断子模块123、词数相同子模块124以及词数不同子模块125。其中:
前向最大匹配子模块121,用于基于前向字典树对筛选文本进行前向最大匹配操作,得到筛选文本的前向分词结果;
后向最大匹配子模块122,用于基于后向字典树对筛选文本进行后向最大匹配操作,得到筛选文本的后向分词结果;
词数判断子模块123,用于判断前向分词结果的词数与后向分词结果的词数是否相同;
词数相同子模块124,用于若前向分词结果的词数与后向分词结果的词数相同,则将前向分词结果作为初始筛选词组;
词数不同子模块125,用于若前向分词结果的词数与后向分词结果的词数不相同,则将在前向分词结果以及后向分词结果中获取词数较少的分词结果,并将词数较少的分词结果作为初始筛选词组。
在本申请实施例中,通过前向字典树,对筛选文本进行前向最大匹配分词,得到筛选文本的前向分词结果。又通过后向字典树,对筛选文本进行后向最大匹配分词,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
在本实施例的一些可选的实现方式中,上述前向最大匹配子模块121具体包括:
根节点查询单元,用于在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点;
第一子节点查询单元,用于在根节点的下一层子节点中,查询第一个字符的下一个字符是否存在子节点;
无子节点单元,用于若查询不到第一个字符的下一个字符所在的子节点,则将筛选文本中的第一个字符作为词,存储于前向分词结果中,并将第一个字符的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤;
有子节点单元,用于若查询到第一个字符的下一个字符所在的子节点,则判断第一个字符所在的根节点至当前子节点所包含的字符是否构成词;其中,当前子节点为当前查询到的子节点;
第一前向分词结果存储单元,用于若第一个字符所在的根节点至当前子节点所包含的字符构成词,则将构成的词存储于前向分词结果中,并将构成的词的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤;
第二子节点查询单元,用于若第一个字符所在的根节点至当前子节点所包含的字符不构成词,则在当前子节点的下一层中查询是否有当前子节点中的字符的下一个字符所在的子节点;
当前子节点替换单元,用于若查询到当前子节点中的字符的下一个字符所在的子节点,则将当前子节点中的字符的下一个字符所在的子节点作为当前子节点,返回执行判断第一个字符所在的根节点至当前子节点所包含的字符是否构成词步骤;
第二前向分词结果存储单元,用于若查询不到当前子节点中的字符的下一个字符所在的子节点,则将第一个字符所在的根节点至当前子节点所包含的字符作为词,存储于前向分词结果中,并将当前子节点中的字符的下一个字符替换成筛选文本的第一个字符,返回执行在前向字典树的所有根节点中,查询筛选文本中的第一个字符所在的根节点步骤;
前向分词结果获取单元,用于当完成查询筛选文本中的最后一个字符所在的根节点后,得到前向分词结果。
在本实施例的一些可选的实现方式中,上述基于布尔表达式的数据筛选装置100还包括:分词确定模块、词向量确定模块、第一特征模块、第二特征模块、分类结果确定模块以及参数调整模块。其中:
分词确定模块,用于在本地数据库中获取样本文本,并确定样本文本中包含的每个分词;
词向量确定模块,用于将每个分词分别输入至待训练的词义分析模型中的BERT子模型进行向量转换操作,得到每个分词对应的词向量;
第一特征模块,用于在本地数据库中获取词义属性,根据待训练的词义分析模型中包含词义属性对应的注意力矩阵,以及每个分词对应的词向量,确定样本文本涉及词义属性的第一特征表示向量;
第二特征模块,用于根据待训练的词义分析模型中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,以及第一特征表示向量,确定样本文本涉及词义属性的第二特征表示向量;
分类结果确定模块,用于根据待训练的词义分析模型以及第二特征表示向量,确定待训练的词义训练模型输出的分类结果,分类结果包括样本文本所属的词义属性以及样本文本所属的词义属性对应的情感极性;
参数调整模块,用于根据分类结果和样本文本预设的标注,对词义分析模型中的模型参数进行调整,得到词义分析模型。
在本实施例的一些可选的实现方式中,上述分词确定模块具体包括:分词确定子模块。其中:
分词确定子模块,用于将每个分词输入语义分析模型中的服务表征层,得到服务表征层输出的每个分词分别对应的双向服务表示向量,作为每个分词对应的词向量。
在本实施例的一些可选的实现方式中,上述第一特征模块具体包括:词向量输入子模块、注意力加权子模块以及第一特征确定子模块。其中:
词向量输入子模块,用于将每个分词对应的词向量输入至词义分析模型中的属性表征层;
注意力加权子模块,用于通过属性表征层中包含的词义属性对应的注意力矩阵,对每个分词对应的词向量进行注意力加权,得到加权词向量;
第一特征确定子模块,用于基于加权词向量确定样本文本涉及词义属性的第一特征表示向量。
在本实施例的一些可选的实现方式中,上述第二特征模块具体包括:第一特征表示向量输入子模块、自注意力加权子模块以及第二特征确定子模块。其中:
第一特征表示向量输入子模块,用于将第一特征表示向量输入至词义分析模型中的属性相关性表示层;
自注意力加权子模块,用于通过属性相关性表示层中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,对样本文本涉及每个词义属性的第一特征表示向量进行自注意力加权,得到加权特征表示向量;
第二特征确定子模块,用于基于加权特征表示向量确定样本文本涉及每个词义属性的第二特征表示向量。
综上所述,本申请实施例提供的基于布尔表达式的数据筛选装置,通过将筛选文本进行分词操作,得到分词后的初始筛选词组,对该初始筛选词组进行词义分析操作,得到该初始筛选词组的真实词义,即词组词义数据,从而获知该词组在该筛选文本中的真实词义信息,最后基于布尔表达式转换成布尔筛选公式,以进行数据筛选操作,从而有效避免筛选文本存在歧义的情况影响数据筛选结果的情况,有效提高筛选结果的准确性。同时,通过前向字典树,对筛选文本进行前向最大匹配分词,得到筛选文本的前向分词结果。又通过后向字典树,对筛选文本进行后向最大匹配分词,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过系统总线相互通信连接存储器210、处理器220、网络接口230。需要指出的是,图中仅示出了具有组件210-230的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器210至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器210可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器210也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器210还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器210通常用于存储安装于所述计算机设备200的操作系统和各类应用软件,例如基于布尔表达式的数据筛选方法的计算机可读指令等。此外,所述存储器210还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器220在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器220通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器220用于运行所述存储器210中存储的计算机可读指令或者处理数据,例如运行所述基于布尔表达式的数据筛选方法的计算机可读指令。
所述网络接口230可包括无线网络接口或有线网络接口,该网络接口230通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
本申请提供的基于布尔表达式的数据筛选方法,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于布尔表达式的数据筛选方法的步骤。
本申请提供的基于布尔表达式的数据筛选方法,得到筛选文本的后向分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数相同时,则将前向分词结果作为筛选文本的分词结果。当筛选文本的前向分词结果的词数与筛选文本的后向分词结果的词数不相同时,则将词数较少的分词结果作为筛选文本的分词结果。由于采用了字典树进行分词,分词的速度得到了提高。并且通过采用前向最大匹配分词和后向最大匹配分词,提高了分词的准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于布尔表达式的数据筛选方法,其特征在于,包括下述步骤:
接收用户终端发送的数据筛选请求,所述数据筛选请求至少携带有筛选文本;
对所述筛选文本进行分词操作,得到初始筛选词组;
将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;
基于布尔表达式以及所述词组词义数据对所述初始筛选词组进行公式转换操作,得到布尔筛选公式;
基于所述布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;
向所述用户终端输出所述目标筛选数据。
2.根据权利要求1所述的基于布尔表达式的数据筛选方法,其特征在于,所述对所述筛选文本进行分词操作,得到初始筛选词组的步骤,具体包括:
基于前向字典树对所述筛选文本进行前向最大匹配操作,得到所述筛选文本的前向分词结果;
基于后向字典树对所述筛选文本进行后向最大匹配操作,得到所述筛选文本的后向分词结果;
判断所述前向分词结果的词数与所述后向分词结果的词数是否相同;
若所述前向分词结果的词数与所述后向分词结果的词数相同,则将所述前向分词结果作为所述初始筛选词组;
若所述前向分词结果的词数与所述后向分词结果的词数不相同,则将在所述前向分词结果以及所述后向分词结果中获取词数较少的分词结果,并将所述词数较少的分词结果作为所述初始筛选词组。
3.根据权利要求2所述的基于布尔表达式的数据筛选方法,其特征在于,所述基于前向字典树对所述筛选文本进行前向最大匹配操作,得到所述筛选文本的前向分词结果的步骤,具体包括:
在所述前向字典树的所有根节点中,查询所述筛选文本中的第一个字符所在的根节点;
在所述根节点的下一层子节点中,查询所述第一个字符的下一个字符是否存在子节点;
若查询不到所述第一个字符的下一个字符所在的子节点,则将所述筛选文本中的第一个字符作为词,存储于前向分词结果中,并将所述第一个字符的下一个字符替换成所述筛选文本的第一个字符,返回执行在所述前向字典树的所有根节点中,查询所述筛选文本中的第一个字符所在的根节点步骤;
若查询到所述第一个字符的下一个字符所在的子节点,则判断所述第一个字符所在的根节点至当前子节点所包含的字符是否构成词;其中,所述当前子节点为当前查询到的子节点;
若所述第一个字符所在的根节点至当前子节点所包含的字符构成词,则将构成的词存储于前向分词结果中,并将所述构成的词的下一个字符替换成所述筛选文本的第一个字符,返回执行在所述前向字典树的所有根节点中,查询所述筛选文本中的第一个字符所在的根节点步骤;
若所述第一个字符所在的根节点至当前子节点所包含的字符不构成词,则在所述当前子节点的下一层中查询是否有所述当前子节点中的字符的下一个字符所在的子节点;
若查询到所述当前子节点中的字符的下一个字符所在的子节点,则将所述当前子节点中的字符的下一个字符所在的子节点作为当前子节点,返回执行判断所述第一个字符所在的根节点至当前子节点所包含的字符是否构成词步骤;
若查询不到所述当前子节点中的字符的下一个字符所在的子节点,则将所述第一个字符所在的根节点至所述当前子节点所包含的字符作为词,存储于所述前向分词结果中,并将所述当前子节点中的字符的下一个字符替换成所述筛选文本的第一个字符,返回执行在所述前向字典树的所有根节点中,查询所述筛选文本中的第一个字符所在的根节点步骤;
当完成查询所述筛选文本中的最后一个字符所在的根节点后,得到所述前向分词结果。
4.根据权利要求1所述的基于布尔表达式的数据筛选方法,其特征在于,在所述将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据的步骤之前,还包括:
在本地数据库中获取样本文本,并确定所述样本文本中包含的每个分词;
将所述每个分词分别输入至待训练的词义分析模型中的BERT子模型进行向量转换操作,得到所述每个分词对应的词向量;
在所述本地数据库中获取词义属性,根据所述待训练的词义分析模型中包含所述词义属性对应的注意力矩阵,以及所述每个分词对应的词向量,确定所述样本文本涉及所述词义属性的第一特征表示向量;
根据所述待训练的词义分析模型中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,以及所述第一特征表示向量,确定所述样本文本涉及所述词义属性的第二特征表示向量;
根据所述待训练的词义分析模型以及所述第二特征表示向量,确定所述待训练的词义训练模型输出的分类结果,所述分类结果包括所述样本文本所属的词义属性以及所述样本文本所属的词义属性对应的情感极性;
根据所述分类结果和所述样本文本预设的标注,对所述词义分析模型中的模型参数进行调整,得到所述词义分析模型。
5.根据权利要求4所述的基于布尔表达式的数据筛选方法,其特征在于,所述在所述本地数据库中获取词义属性,根据所述待训练的词义分析模型中包含所述词义属性对应的注意力矩阵,以及所述每个分词对应的词向量,确定所述样本文本涉及所述词义属性的第一特征表示向量的步骤,具体包括:
将所述每个分词对应的词向量输入至所述词义分析模型中的属性表征层;
通过所述属性表征层中包含的所述词义属性对应的注意力矩阵,对所述每个分词对应的词向量进行注意力加权,得到加权词向量;
基于所述加权词向量确定所述样本文本涉及所述词义属性的所述第一特征表示向量。
6.根据权利要求4所述的基于布尔表达式的数据筛选方法,其特征在于,所述根据所述待训练的词义分析模型中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,以及所述第一特征表示向量,确定所述样本文本涉及所述词义属性的第二特征表示向量的步骤,具体包括:
将所述第一特征表示向量输入至所述词义分析模型中的属性相关性表示层;
通过所述属性相关性表示层中包含的用于表示不同词义属性之间的相关性的自注意力矩阵,对所述样本文本涉及每个词义属性的第一特征表示向量进行自注意力加权,得到加权特征表示向量;
基于所述加权特征表示向量确定所述样本文本涉及每个词义属性的第二特征表示向量。
7.一种基于布尔表达式的数据筛选装置,其特征在于,包括:
请求接收模块,用于接收用户终端发送的数据筛选请求,所述数据筛选请求至少携带有筛选文本;
分词操作模块,用于对所述筛选文本进行分词操作,得到初始筛选词组;
词义分析模块,用于将所述初始筛选词组输入至训练好的词义分析模型进行词义分析操作,得到词组词义数据;
公式转换模块,用于基于布尔表达式以及所述词组词义数据对所述初始筛选词组进行公式转换操作,得到布尔筛选公式;
筛选操作模块,用于基于所述布尔筛选公式在数据库中进行筛选操作,得到目标筛选数据;
数据输出模块,用于向所述用户终端输出所述目标筛选数据。
8.根据权利要求7所述的基于布尔表达式的数据筛选装置,其特征在于,所述分词操作模块包括:
前向最大匹配子模块,用于基于前向字典树对所述筛选文本进行前向最大匹配操作,得到所述筛选文本的前向分词结果;
后向最大匹配子模块,用于基于后向字典树对所述筛选文本进行后向最大匹配操作,得到所述筛选文本的后向分词结果;
词数判断子模块,用于判断所述前向分词结果的词数与所述后向分词结果的词数是否相同;
词数相同子模块,用于若所述前向分词结果的词数与所述后向分词结果的词数相同,则将所述前向分词结果作为所述初始筛选词组;
词数不同子模块,用于若所述前向分词结果的词数与所述后向分词结果的词数不相同,则将在所述前向分词结果以及所述后向分词结果中获取词数较少的分词结果,并将所述词数较少的分词结果作为所述初始筛选词组。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的基于布尔表达式的数据筛选方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的基于布尔表达式的数据筛选方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510166.XA CN112579765A (zh) | 2020-12-18 | 2020-12-18 | 基于布尔表达式的数据筛选方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510166.XA CN112579765A (zh) | 2020-12-18 | 2020-12-18 | 基于布尔表达式的数据筛选方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579765A true CN112579765A (zh) | 2021-03-30 |
Family
ID=75136290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011510166.XA Pending CN112579765A (zh) | 2020-12-18 | 2020-12-18 | 基于布尔表达式的数据筛选方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579765A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289081A1 (en) * | 2010-05-20 | 2011-11-24 | Intelliresponse Systems Inc. | Response relevance determination for a computerized information search and indexing method, software and device |
CN104679784A (zh) * | 2013-12-03 | 2015-06-03 | 上海博科资讯股份有限公司 | 一种o2b智能搜索方法及系统 |
CN109918664A (zh) * | 2019-03-05 | 2019-06-21 | 北京声智科技有限公司 | 分词方法和装置 |
CN111144126A (zh) * | 2019-12-24 | 2020-05-12 | 北京三快在线科技有限公司 | 一种语义分析模型的训练方法、语义分析方法及装置 |
CN111191105A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 政务信息的搜索方法、装置、系统、设备及存储介质 |
CN111914534A (zh) * | 2020-07-30 | 2020-11-10 | 上海数策软件股份有限公司 | 构建知识图谱语义映射方法及系统 |
-
2020
- 2020-12-18 CN CN202011510166.XA patent/CN112579765A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289081A1 (en) * | 2010-05-20 | 2011-11-24 | Intelliresponse Systems Inc. | Response relevance determination for a computerized information search and indexing method, software and device |
CN104679784A (zh) * | 2013-12-03 | 2015-06-03 | 上海博科资讯股份有限公司 | 一种o2b智能搜索方法及系统 |
CN109918664A (zh) * | 2019-03-05 | 2019-06-21 | 北京声智科技有限公司 | 分词方法和装置 |
CN111191105A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 政务信息的搜索方法、装置、系统、设备及存储介质 |
CN111144126A (zh) * | 2019-12-24 | 2020-05-12 | 北京三快在线科技有限公司 | 一种语义分析模型的训练方法、语义分析方法及装置 |
CN111914534A (zh) * | 2020-07-30 | 2020-11-10 | 上海数策软件股份有限公司 | 构建知识图谱语义映射方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177532A (zh) | 一种垂直搜索方法、装置、计算机系统及可读存储介质 | |
CN113822067A (zh) | 关键信息提取方法、装置、计算机设备及存储介质 | |
CN111832290B (zh) | 用于确定文本相关度的模型训练方法、装置、电子设备及可读存储介质 | |
CN110929125B (zh) | 搜索召回方法、装置、设备及其存储介质 | |
CN110413787B (zh) | 文本聚类方法、装置、终端和存储介质 | |
CN113434636B (zh) | 基于语义的近似文本搜索方法、装置、计算机设备及介质 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN111160007B (zh) | 基于bert语言模型的搜索方法、装置、计算机设备及存储介质 | |
CN112328786A (zh) | 基于bert的文本分类方法、装置、计算机设备及存储介质 | |
CN113326702B (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN110674635B (zh) | 一种用于文本段落划分的方法和装置 | |
CN112287069A (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN113609847B (zh) | 信息抽取方法、装置、电子设备及存储介质 | |
CN112925912B (zh) | 文本处理方法、同义文本召回方法及装置 | |
CN113987125A (zh) | 基于神经网络的文本结构化信息提取方法、及其相关设备 | |
CN112686053A (zh) | 一种数据增强方法、装置、计算机设备及存储介质 | |
CN112650858A (zh) | 应急协助信息的获取方法、装置、计算机设备及介质 | |
CN110147494A (zh) | 信息搜索方法、装置,存储介质及电子设备 | |
CN114495143A (zh) | 一种文本对象识别方法、装置、电子设备及存储介质 | |
CN114691828A (zh) | 数据处理方法、装置、设备以及介质 | |
CN115438149A (zh) | 一种端到端模型训练方法、装置、计算机设备及存储介质 | |
CN113282754A (zh) | 针对新闻事件的舆情检测方法、装置、设备和存储介质 | |
CN112199954A (zh) | 基于语音语义的疾病实体匹配方法、装置及计算机设备 | |
CN112446209A (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 |