首页 / 专利库 / 人工智能 / 查询似然模型 / 基于句级深度学习语言模型的语义模糊搜索的方法

基于句级深度学习语言模型的语义模糊搜索的方法

阅读:862发布:2020-05-12

专利汇可以提供基于句级深度学习语言模型的语义模糊搜索的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了基于句级 深度学习 语言模型的语义模糊搜索的方法。本发明中,本发明模糊程度高,本发明引入了深度学习语言模型,充分的考虑了语义问题,可以将与目标语句语义相似度高的语句检索出来,并且使用分层计算语义相似度的方式高效的判断语句之间的语义相似度大小;运算速度快,使用了向量化处理代替常规的循环遍历处理文本的方式,确保了每个语义匹配任务单元能够并行处理,极大提高了搜索速度;搜索查全率高,利用蕴含指数,使得系统对语法干扰的鲁棒性更好,有效提升了搜索的查全率;系统灵活,本发明将语义理解、模糊查询、信息精准 定位 等机制进行融合,然后将整个 算法 模 块 进行了 接口 封装,方便用户调用。,下面是基于句级深度学习语言模型的语义模糊搜索的方法专利的具体信息内容。

1.基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,包括以下步骤:
S1、搭建应用场景,给定长文本S,查询句Q,需要在S中查询与Q最相关的字符串;
S2、搭建语言模型库,训练或直接调用经过预训练的句级深度学习语言模型方法,并将其运作机制统一调整;
S3、设置自定义终止符接口,由使用者对期望的终止符进行设置,再根据这些终止符对长文本S进行任务分割,得到针对S的亚任务组{S1,S2,S3,…Sk},并将完成分割的文本单元进行向量化处理,并为之配备常用的GPU加速配置;
S4、调用已整理完毕的语言模型库,对经过向量化处理的长文本进行语义特征高维向量的生成,包括对查询句Q进行同样的运算处理,最终得到查询句Q、各个亚任务Si的囊括其自身语义特征的高维向量,并将其运算结果作为储存内容,各亚任务作为索引,储存在语义特征库里,等候进一步处理;
S5、调取查询句Q的语义特征高维向量Q_vec,分别调取语义特征库里储存的亚任务的语义特征高维向量Si_vec,对Q_vec与Si_vec做如下运算得到Si与Q的语义相似度Ci:
S6、针对各个亚任务,结合查询句Q的特征,计算各个亚任务Si所对应的蕴含指数Li:Li=f(Q,Si);
S7、对各亚任务Si的语义相似度Ci与蕴含指数Li进行数值相乘运算,得到关于Si的综合指数Gi,并根据Gi对各亚任务进行排序,选取综合指数最高的一部分亚任务进入细化定位
S8、依次对进入细化定位模块的亚任务进行长度判断,设定最大长度偏差容忍值delta,若某亚任务字符串的长度小于Q的长度加delta,则该亚任务以(Si,Ci)的形式直接进入备选库,否则,需对该亚任务进行分层拆分处理;
S9、分层拆分处理相当于对某字符串逐次划分为与目标字符串长度接近的小字符串,再对此进行相似度计算;
S10、在备选库中,不可出现多个同属于一个亚任务的储存单元;
S11、对备选库中的储存单元(Sx,Cx)根据其Cx进行排序,并输出,得到长文本S中所包含的针对查询文本Q的语义片段
S12、对S1至S11进行模块封装处理,并配备相应的多线程运算机制,得到专属的接口产品,其输入参数包括:长文本S、查询文本Q、自定义终止符。
2.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述S2中的将其运作机制统一调整包括:为接收字符串作为输入,进行解码得到此字符串的语义特征作为高维向量输出。
3.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述S4中的维度量范围在500-1000之间。
4.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述S5中的运算方式还可以采用向量化运算。
5.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述Li的运算包括Q与Si作为输入条件,输出为取值范围1-2的数值。
6.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述语言模型为谷歌开源bert语言模型。
7.根据权利要求1所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述S12中其输出参数为以如下形式作为构成单元的组合:[ri,Si,Ci]。
8.根据权利要求7所述的基于句级深度学习语言模型的语义模糊搜索的方法,其特征在于,所述ri代表该单元所对应的Ci在所有单元中的数值排名。

说明书全文

基于句级深度学习语言模型的语义模糊搜索的方法

技术领域

[0001] 本发明涉及深度学习语言模型与模糊搜索的相关领域,尤其涉及基于句级深度学习语言模型的语义模糊搜索的方法。

背景技术

[0002] 语言模型应用广泛,早在上世纪70年代统计语言模型在应用上就已经获得了成功,2003年,有学者提出了将词向量(word vector)的概念引用到基于神经网络的语言模型中,但这种模型的参数较多,训练比较复杂;2010年,有学者提出了将循环神经网络(Recurrent Neural Network)应用到语言模型种,从此开启了深度学习在语言模型种的广泛使用,再到后来相继出现了一系列优秀的语言模型,比如:ELMO(Embedding from Language Models)模型、Transformer模型以及BERT(Bidirectional  Encoder Representations from Transformer)模型等。文本的模糊搜索应用在很多地方,模糊搜索需要使用到文本匹配算法,最初对于文本的匹配主要是使用BF(Brute Force)、RK(Robin-Karp)、KMP(Knuth-Morris-Pratt)、BM(Boyer Moore)等算法进行字符的精准匹配,也就是在文本信息中找到与关键词完全一样的字符串才算匹配成功,这样的方式没有考虑到语义信息,不能完成模糊匹配的任务。对文本进行模糊匹配,即字符串模糊匹配,主要的方法有位向量方法、过滤方法等等,应用位向量方法时,需要大量的空间,对于内存小的微型计算机,比如嵌入式系统,这将会是一个问题。
[0003] 当前的文本模糊搜索存在以下缺点:
[0004] 1、当前的文本模糊搜索多数都不能解决文本的语义理解问题,这样使得搜索的查全率较低,因为如果不考虑语义理解问题,很多意思相同但是语言结构不同的文本不能被匹配出来;
[0005] 2、当前的文本模糊搜索多数效率都比较低,对于在比较长的文本中进行关键词或关键语句搜索时,由于会使用到比较暴的方式对文本进行处理,导致效率比较低;
[0006] 3、当前的文本模糊搜索在对文本做语义理解分析时,不能很好的解决在文本中上下文导致关键词或关键语句发生语义偏移的问题,从而会使得搜索的查全率降低,而且在分析语义相似度时,采用的都是比较单一的相似度度量指标,不能精准的计算出语义之间的相似度,即不能高效的衡量语义之间的相关性。
[0007] 为此,我们提出了基于句级深度学习语言模型的语义模糊搜索的方法。

发明内容

[0008] 本发明的目的在于提供基于句级深度学习语言模型的语义模糊搜索的方法,以解决上述背景技术中提出的问题。
[0009] 为了实现上述目的,本发明采用了如下技术方案:
[0010] 基于句级深度学习语言模型的语义模糊搜索的方法,包括以下步骤:
[0011] S1、搭建应用场景,给定长文本S,查询句Q,需要在S中查询与Q最相关的字符串;
[0012] S2、搭建语言模型库,训练或直接调用经过预训练的句级深度学习语言模型方法,并将其运作机制统一调整;
[0013] S3、设置自定义终止符接口,由使用者对期望的终止符进行设置,再根据这些终止符对长文本S进行任务分割,得到针对S的亚任务组{S1,S2,S3,…Sk},并将完成分割的文本单元进行向量化处理,并为之配备常用的GPU加速配置;
[0014] S4、调用已整理完毕的语言模型库,对经过向量化处理的长文本进行语义特征高维向量的生成,包括对查询句Q进行同样的运算处理,最终得到查询句Q、各个亚任务Si的囊括其自身语义特征的高维向量,并将其运算结果作为储存内容,各亚任务作为索引,储存在语义特征库里,等候进一步处理;
[0015] S5、调取查询句Q的语义特征高维向量Q_vec,分别调取语义特征库里储存的亚任务的语义特征高维向量Si_vec,对Q_vec与Si_vec做如下运算得到Si与Q的语义相似度Ci:
[0016] S6、针对各个亚任务,结合查询句Q的特征,计算各个亚任务Si所对应的蕴含指数Li:Li=f(Q,Si);
[0017] S7、对各亚任务Si的语义相似度Ci与蕴含指数Li进行数值相乘运算,得到关于Si的综合指数Gi,并根据Gi对各亚任务进行排序,选取综合指数最高的一部分亚任务进入细化定位
[0018] S8、依次对进入细化定位模块的亚任务进行长度判断,设定最大长度偏差容忍值delta,若某亚任务字符串的长度小于Q的长度加delta,则该亚任务以(Si,Ci)的形式直接进入备选库,否则,需对该亚任务进行分层拆分处理;
[0019] S9、分层拆分处理相当于对某字符串逐次划分为与目标字符串长度接近的小字符串,再对此进行相似度计算;
[0020] S10、在备选库中,不可出现多个同属于一个亚任务的储存单元;
[0021] S11、对备选库中的储存单元(Sx,Cx)根据其Cx进行排序,并输出,得到长文本S中所包含的针对查询文本Q的语义片段
[0022] S12、对S1至S11进行模块封装处理,并配备相应的多线程运算机制,得到专属的接口产品,其输入参数包括:长文本S、查询文本Q、自定义终止符。
[0023] 优选地,所述S2中的将其运作机制统一调整包括:为接收字符串作为输入,进行解码得到此字符串的语义特征作为高维向量输出。
[0024] 优选地,所述S4中的维度量范围在500-1000之间。
[0025] 优选地,所述S5中的运算方式还可以采用向量化运算。
[0026] 优选地,所述Li的运算包括Q与Si作为输入条件,输出为取值范围1-2的数值。
[0027] 优选地,所述语言模型为谷歌开源bert语言模型。
[0028] 优选地,所述S12中其输出参数为以如下形式作为构成单元的组合:[ri,Si,Ci]。
[0029] 优选地,所述ri代表该单元所对应的Ci在所有单元中的数值排名。
[0030] 与现有技术相比,本发明具有以下有益效果:
[0031] 1、模糊程度高,本发明引入了深度学习语言模型,充分的考虑了语义问题,可以将与目标语句语义相似度高的语句检索出来,并且使用分层计算语义相似度的方式高效的判断语句之间的语义相似度大小;
[0032] 2、运算速度快,使用了向量化处理代替常规的循环遍历处理文本的方式,确保了每个语义匹配任务单元能够并行处理,极大提高了搜索速度;
[0033] 3、搜索查全率高,利用蕴含指数,使得系统对语法干扰的鲁棒性更好,有效提升了搜索的查全率;
[0034] 4、系统灵活,本发明将语义理解、模糊查询、信息精准定位等机制进行融合,然后将整个算法模块进行了接口封装,方便用户调用。附图说明
[0035] 图1为本发明提出的基于句级深度学习语言模型的语义模糊搜索的方法的方法流程示意图;
[0036] 图2为本发明提出的基于句级深度学习语言模型的语义模糊搜索的方法的方法流程示意图;
[0037] 图3为本发明提出的基于句级深度学习语言模型的语义模糊搜索的方法的方法流程示意图。

具体实施方式

[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0039] 参照图1-3,本发明还提出了基于句级深度学习语言模型的语义模糊搜索的方法,包括以下步骤:
[0040] S1、搭建应用场景,给定长文本S,查询句Q,需要在S中查询与Q最相关的字符串;
[0041] S2、搭建语言模型库,训练或直接调用经过预训练的句级深度学习语言模型方法,例如:ELMo(Embeddings from Language Models)、BERT(Bidirectional Encoder Representations from Transformers)等,并将其运作机制统一调整;
[0042] S3、设置自定义终止符接口,由使用者对期望的终止符进行设置,再根据这些终止符对长文本S进行任务分割,得到针对S的亚任务组{S1,S2,S3,…Sk},并将完成分割的文本单元进行向量化处理,并为之配备常用的GPU加速配置;
[0043] S4、调用已整理完毕的语言模型库,对经过向量化处理的长文本进行语义特征高维向量的生成,包括对查询句Q进行同样的运算处理,最终得到查询句Q、各个亚任务Si的囊括其自身语义特征的高维向量,并将其运算结果作为储存内容,各亚任务作为索引,储存在语义特征库里,等候进一步处理;
[0044] S5、调取查询句Q的语义特征高维向量Q_vec,分别调取语义特征库里储存的亚任务的语义特征高维向量Si_vec,对Q_vec与Si_vec做如下运算得到Si与Q的语义相似度Ci:
[0045] S6、针对各个亚任务,结合查询句Q的特征,计算各个亚任务Si所对应的蕴含指数Li:Li=f(Q,Si);其具体运算方法有多种,大致思路为:对于与查询句Q的语义相似度基本一致的两个亚任务Si与Sj,意味着Ci和Cj的值相差较小,在句法层面(如句子长度、句子结构)上,若Si与Q差异度比Sj与Q的差异度更大,基于Ci和Cj的值相差较小,则越应该赋予Si更高的蕴含指数,因为其意味着,从句法度来看,即使Si本身比Sj更具有劣势,Si仍能取得与Sj不相上下的语义相似度,这说明Si内部包含与Q语义相似度很高的字符串的概率会高于Sj。某一特定的具体运算例如下:
[0046]
[0047] S7、对各亚任务Si的语义相似度Ci与蕴含指数Li进行数值相乘运算,得到关于Si的综合指数Gi,并根据Gi对各亚任务进行排序,选取综合指数最高的一部分亚任务进入细化定位模块;
[0048] S8、依次对进入细化定位模块的亚任务进行长度判断,设定最大长度偏差容忍值delta,若某亚任务字符串的长度小于Q的长度加delta,则该亚任务以(Si,Ci)的形式直接进入备选库,否则,需对该亚任务进行分层拆分处理;
[0049] S9、分层拆分处理相当于对某字符串逐次划分为与目标字符串长度接近的小字符串,再对此进行相似度计算;
[0050] S10、在备选库中,不可出现多个同属于一个亚任务的储存单元;
[0051] S11、对备选库中的储存单元(Sx,Cx)根据其Cx进行排序,并输出,得到长文本S中所包含的针对查询文本Q的语义片段,在备选库的储存单元中,各个Sx于长文本S中的具体定位信息同样已被储存,在此为方便描述,进行省略;
[0052] S12、对S1至S11进行模块封装处理,并配备相应的多线程运算机制,得到专属的接口产品,其输入参数包括:长文本S、查询文本Q、自定义终止符。
[0053] 其中,S9相似度计算包括给定需要进行分层拆分处理的亚任务Si,给定目标字符串(即查询文本)Q,则需将Si分拆为:Si[0:len(Q)+delta],Si[delta,len(Q)+2*delta],Si[2*delta:len(Q)+3*delta],…;设分拆后的字符串分别为:Si1,Si2,Si3,…;接下来再将{Si1,Si2,Si3,…}进行向量化处理,并送往语言模型库,得到其对应的语义特征高维向量:Si1_vec,Si2_vec,…;再分别将这些向量与Q所对应的语义特征高维向量进行与S5一致的语义相似度计算,得到各个分拆后的字符串Sij与Q的语义相似度Cij,并将各个(Sij,Cij)作为储存单元进入备选库。
[0054] 其中,所述S2中的将其运作机制统一调整包括:为接收字符串作为输入,进行解码得到此字符串的语义特征作为高维向量输出。
[0055] 其中,所述S4中的维度量范围在500-1000之间。
[0056] 其中,所述S5中的运算方式还可以采用向量化运算。
[0057] 其中,所述Li的运算包括Q与Si作为输入条件,输出为取值范围1-2的数值。
[0058] 其中,所述语言模型为谷歌开源bert语言模型。
[0059] 其中,所述S12中其输出参数为以如下形式作为构成单元的组合:[ri,Si,Ci]。
[0060] 其中,所述ri代表该单元所对应的Ci在所有单元中的数值排名。
[0061] 本发明中,借助句级深度学习语言模型来解决模糊搜索场景的文本语义理解问题,并将其拓展到文本信息查询等场景,使之能够结合语义来进行模糊查询。利用自定义的终止符模式对长文本进行任务划分处理,有助于对长文本的深度学习运算进行向量化处理(Vectorization),代替常规的循环遍历处理方法,从而保证各个语义匹配任务单位能够并行处理,提高运算速率。有效解决片段字符在模糊搜索场景中被周边字符干扰的问题。若在长文本S中查询目标文本Q,且Q自身并非结构完整的语句;假设S中的两句子Si与Sj均与Q的相似度很高,其中,Sj略高于Si,已知,Sj中包含与Q相似度极高的字符串片段Sg,即Si=Sa+Sg+Sb,但因为Sa与Sb的存在,导致Sg所在的Si并没有比Sj更有优势。该发明提出一种结合蕴含指数的方法,能够高效避免诸如Sa与Sb这种类型的字符干扰项。同时该发明提出一种能够结合分层计算语义相似度的方式来精准定位长文本S中与Q相关的目标字符串。本发明将语义理解、模糊查询、信息精准定位等机制进行融合,得到一种高效灵活的开放式接口产品。
[0062] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈