一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于知识体系的长文本检索方法以及装置与流程

2022-10-29 02:23:18 来源:中国专利 TAG:


1.本公开涉及数据检索领域,具体而言,涉及一种基于知识体系的长文本检索方法、装置、电子设备以及计算机可读存储介质。


背景技术:

2.文本检索,亦称为自然语言检索,指不对文献进行任何标引,直接通过计算机以自然语言中的语词匹配查找的系统。文本检索进行匹配的对象,可以是整个出版的文本,包括文章、报告甚整本图书,也可以是它的部分,如文摘、摘录或只是文献的题名。以整个文献正文为对象进行的匹配查找,称为全文检索。这种方式无需标引,数据库制作快,可以很快投入运行。它是目前很多系统依赖的基础,通过文本检索,用户可以快速的从大量非结构化的信息中获取到目标文本。
3.现有的文本检索算法大多以提高模型的精确度为目标进行优化。目前主流的模型主要分为两大类,一是词袋模型,例如tf-idf和bm25等,二是深度学习方法,该方法主要利用cnn,rnn等网络提取文本语义向量,然后计算向量相似度代表文档和查询语句之间的语义相似度。现有技术中检索方法存在的主要问题是:1.模型语义提取能力差。深度语义模型在语义相似度计算任务里面语义提取能力比较差,提取的特征不能充分表述文本语义或者计算的语义相似度不够准确。2.计算资源消耗大。首先,大规模语句对进行相似度计算十分地耗时,如果想要充分的提取查询语句的语义特征就要扩大神经网络的规模,也需要扩大embedding向量的维度,这会进一步加大计算资源的消耗。3.检索召回率低。由于硬件限制和时间限制,无法对所有文本用深度学习进行语义匹配,需要先使用倒排索引和词袋模型预筛选一定量的数据,大量匹配的文档都会在这一步没有被召回。4.需要标注大量数据标注数据。为了让网络能够充分提取语句隐藏的语义信息,需要进行语句对相似度的标注,需要人为的标注大量表述不同但是语义相似和大量表述相似但是语义相差很大的数据。
4.因此,需要一种或多种方法解决上述问题。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种基于知识体系的长文本检索方法、装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
7.根据本公开的一个方面,提供一种基于知识体系的长文本检索方法,包括:
8.将待检索关键词基于预设知识体系匹配扩展词,分别基于所述关键词、所述扩展词在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;
9.分别以所述关键词、所述扩展词为输入,在预设的基于深度学习方法训练的语义模型中匹配生成语义特征,在预设的主题特征模型中匹配生成主题特征;
10.计算所述语义特征与所述预筛选集合中文本的语义相似度,计算所述主题特征与所述预筛选集合中文本的主题相似度;
11.将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。
12.在本公开的一种示例性实施例中,所述方法还包括:
13.基于预设领域知识,构建预设知识体系,所述预设知识体系包括知识森林,所述知识森林包括扩展词对应关系。
14.在本公开的一种示例性实施例中,所述方法还包括:
15.对预设长文本的数据基于所述预设知识体系进行预处理,生成长文本库倒排索引;
16.所述长文本库倒排索引包括长文本库倒排索引缓存和长文本库倒排索引压缩。
17.在本公开的一种示例性实施例中,所述扩展词包括基于所述预设知识体系生成的与所述关键词对应的上位词、下位词、同位词。
18.在本公开的一种示例性实施例中,所述将待检索关键词基于预设知识体系匹配扩展词,包括:
19.将待检索关键词进行分词处理,将所述关键词分词基于预设知识体系进行关键词扩充,匹配获取所述关键词对应的扩展词。
20.在本公开的一种示例性实施例中,所述方法还包括:
21.基于改进的bert预训练模型进行预训练生成语义模型;
22.基于lda预训练模型进行预训练生成主题模型。
23.在本公开的一种示例性实施例中,所述将所述语义相似度与所述主题相似度求和生成总相似度并排序,包括:
24.将所述语义相似度与所述主题相似度加权求和生成总相似度并排序。
25.在本公开的一个方面,提供一种基于知识体系的长文本检索装置,包括:
26.预筛选集合生成模块,用于将待检索关键词基于预设知识体系匹配扩展词,分别基于所述关键词、所述扩展词在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;
27.特征生成模块,用于分别以所述关键词、所述扩展词为输入,在预设的基于深度学习方法训练的语义模型中匹配生成语义特征,在预设的主题特征模型中匹配生成主题特征;
28.相似度计算模块,用于计算所述语义特征与所述预筛选集合中文本的语义相似度,计算所述主题特征与所述预筛选集合中文本的主题相似度;
29.检索结果生成模块,用于将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。
30.在本公开的一个方面,提供一种电子设备,包括:
31.处理器;以及
32.存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的方法。
33.在本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所
述计算机程序被处理器执行时实现根据上述任意一项所述的方法。
34.本公开的示例性实施例中的一种基于知识体系的长文本检索方法,其中,该方法包括:将待检索关键词基于预设知识体系匹配扩展词,并在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;分别以所述关键词、所述扩展词为输入,匹配生成语义特征、主题特征;计算所述语义特征与所述预筛选集合中文本的语义相似度、主题相似度;将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成总相似度对应的检索结果并发送至用户。本公开通过设计缓存体系和文本id映射算法减少了算法执行过程的时间和空间开销,提升了检索效率与准确度。
35.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
36.通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。
37.图1示出了根据本公开一示例性实施例的一种基于知识体系的长文本检索方法的流程图;
38.图2示出了根据本公开一示例性实施例的一种基于知识体系的长文本检索方法的预设的基于深度学习方法训练的语义模型训练流程示意图;
39.图3示出了根据本公开一示例性实施例的一种基于知识体系的长文本检索方法的知识体系示意图;
40.图4示出了根据本公开一示例性实施例的一种基于知识体系的长文本检索装置的示意框图;
41.图5示意性示出了根据本公开一示例性实施例的电子设备的框图;以及
42.图6示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。
具体实施方式
43.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
44.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
45.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
46.在本示例实施例中,首先提供了一种基于知识体系的长文本检索方法;参考图1中所示,该一种基于知识体系的长文本检索方法可以包括以下步骤:
47.步骤s110,将待检索关键词基于预设知识体系匹配扩展词,分别基于所述关键词、所述扩展词在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;
48.步骤s120,分别以所述关键词、所述扩展词为输入,在预设的基于深度学习方法训练的语义模型中匹配生成语义特征,在预设的主题特征模型中匹配生成主题特征;
49.步骤s130,计算所述语义特征与所述预筛选集合中文本的语义相似度,计算所述主题特征与所述预筛选集合中文本的主题相似度;
50.步骤s140,将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。
51.本公开的示例性实施例中的一种基于知识体系的长文本检索方法,其中,该方法包括:将待检索关键词基于预设知识体系匹配扩展词,并在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;分别以所述关键词、所述扩展词为输入,匹配生成语义特征、主题特征;计算所述语义特征与所述预筛选集合中文本的语义相似度、主题相似度;将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。本公开通过设计缓存体系和文本id映射算法减少了算法执行过程的时间和空间开销,提升了检索效率与准确度。
52.下面,将对本示例实施例中的一种基于知识体系的长文本检索方法进行进一步的说明。
53.实施例一:
54.在步骤s110中,可以将待检索关键词基于预设知识体系匹配扩展词,分别基于所述关键词、所述扩展词在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合。
55.在本示例的实施例中,所述方法还包括:
56.基于预设领域知识,构建预设知识体系,所述预设知识体系包括知识森林,所述知识森林包括扩展词对应关系。
57.在本示例的实施例中,所述方法还包括:
58.对长文本的数据基于所述预设知识体系进行预处理,生成长文本库倒排索引;
59.所述长文本库倒排索引包括长文本库倒排索引缓存和长文本库倒排索引压缩。
60.在本示例的实施例中,所述扩展词包括但不限于基于所述预设知识体系生成的与所述关键词对应的上位词、下位词、同位词。
61.在本示例的实施例中,所述将待检索关键词基于预设知识体系匹配扩展词,包括:
62.将待检索关键词进行分词处理,将所述关键词分词基于预设知识体系进行关键词扩充,匹配获取所述关键词对应扩展词。
63.在步骤s120中,可以分别以所述关键词、所述扩展词为输入,在预设的基于深度学习方法训练的语义模型中匹配生成语义特征,在预设的主题特征模型中匹配生成主题特征。
64.在本示例的实施例中,所述方法还包括:
65.基于改进的bert预训练模型进行预训练生成语义模型;
66.基于lda预训练模型进行预训练生成主题模型。
67.在本示例的实施例中,
68.在步骤s130中,可以计算所述语义特征与所述预筛选集合中文本的语义相似度,计算所述主题特征与所述预筛选集合中文本的主题相似度。
69.在步骤s140中,可以将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。
70.在本示例的实施例中,所述将所述语义相似度与所述主题相似度求和生成总相似度并排序,包括:
71.将所述语义相似度与所述主题相似度加权求和生成总相似度并排序。
72.实施例二:
73.在本示例的实施例中,基于知识体系的长文本检索方法包括以下步骤:
74.构建领域知识体系,构建完整的知识森林。
75.使用深度学习方法训练语义模型,用于提取文本语义特征。
76.预处理文本。
77.对知识库文本进行预处理分词时融入知识体系,保证不会将知识体系中的关键词拆分,并由此构建倒排索引,同时使用索引缓存和索引压缩的方法提高算法的执行效率并减少时间开销;
78.检索时首先对查询进行分词,然后基于知识体系对查询进行关键词扩充,同时获取当前关键词的上下位词;
79.将上下位词加入查询语句,使用倒排索引从文本库中预筛选出一定最相关的文本;
80.将扩展的上下位词替换原有词语,分别使用神经网络获取语义embedding;
81.并行计算语义embedding以及预筛选embedding的语义相似度;
82.计算主题相似度,最后加权计算整体相似度得分。
83.在本示例的实施例中,构建完整的各个领域知识体系,包括:
84.领域知识收集;
85.知识上下位词分析;
86.知识体系构建,构建完整的知识森林;
87.进行知识体系的存储,以森林的结构存储,同时建立关键词到节点的映射,可以根据关键词名字快速访问到相应节点,以便快速获取关键词的上下位词以及同义词。
88.以关键词本体、扩展词为相关节点归并出相关词的上位词,下位词以及同位词;
89.在本示例的实施例中,使用深度学习方法训练语义模型,用于提取文本语义特征。
90.本方法采用分类问题的训练方法,以少量标注句子对,微调预训练模型,再将模型选取编码层和池化层用于回归问题,即计算两个文本的语义相似度。
91.在本示例的实施例中,预处理文本包括:
92.文本数据量十分巨大,后续还会继续扩充,所以本方法采用非关系数据库mongodb基于知识体系,预先计算所有分词的idf放入缓存数据库,预先计算所有文本tf-idf属性存入文本数据库,通过训练好的模型预先提取所有文本语义特征序列存入文本数据库。
93.在本示例的实施例中,将原文中关键词替换为相应的上下位词和同位词,包括:
94.将关键词替换为已经识别的知识体系中的词语,生成新的查询语句。
95.在本示例的实施例中,分别计算原查询语句扩展查询语句和候选文本集合的相似度:
96.使用候选集id获取本地存储的文本语义特征;
97.并行计算原查询语句和生成的查询语句与文本中各句子的语义相似度;
98.取每个文本中句子语义相似度的top3的得分平均作为该文本与查询语句或生成语句的语义相似度。
99.实施例三:
100.本发明采用的技术方案是利用基于知识体系的系统设计解决一下两个问题,一是倒排索引和词袋模型不能召回部分相关文档和深度学习模型无法提取多维度语义信息的问题,而是检索过程时间慢,造成用户长时间等待的问题。主要包括以下步骤:
101.1.构建完整的各个领域知识体系;
102.2.使用深度学习方法训练语义模型和主题模型;
103.3.基于知识体系预处理文本,预处理文本;将相应信息写入缓存或者数据库;
104.4.依据扩展知识体系进行预筛选,获取可能相关的文本集合;
105.5.将原查询语句中关键词替换为相应的上下位词和同位词,生成新的查询语句;
106.6.提取所有查询语句的语义特征和主题特征;
107.7.分别计算查询语句和候选文本集合的语义相似度以及语义相似度;
108.8.加权计算候选文本集和各语句之间的语义相似度和主题相似度,作为查询和各文本的最终相似度,进行相似度排序。
109.在本示例的实施例中,本发明提出了一种训练预训练语义模型的方法,同时通过使用完善的知识体系挖掘查询语句隐藏的语义信息,这样使用小规模的网络也可以充分提取查询的语义信息。然后基于知识体系进行上下位词和同位词的查找替换,通过倒排索引技术和词袋模型充分的召回相关文本集合。最后计算各查询语句与文章中各句子的语义相似度以及主题相似度。加权文章中相似度最高的三句作为当前文章的相似度得分,加权文章与各查询语句的得分代表当前文章与查询的总得分。充分考虑以上各方面的因素加权作为当前文章与用户查询语句的相似度得分。在整个算法设计过程中,设计缓存体系和文本id映射算法减少算法执行过程的时间和空间开销。
110.1.如图2所示为知识体系示例,构建完整的各个领域知识体系:完整的知识体系包含各个领域的信息,是汇总各个领域名词的一种集合。完整的知识体系是一个森林,森林中的每棵树都是具有上下位关系节点的集合,通过根节点或者树中的任一节点可以访问整棵树中的所有节点。在系统设计过程中,森林中的每一棵树都带有指向父节点和子节点指针的结构体,如果该节点为根结点,则其父节点为空。附图3是知识体系的一个简易展示,当用户检索数学时,可以同时使用索引快速取出其子节点几何学、数理统计学、离散数学等对应的文章,和其孙子节点集合论、随机过程等对应的文章,充分弥补预筛选阶段召回率低的缺点。
111.2.使用深度学习方法训练语义模型和主题模型如图2所示,语义模型在本系统中主要作用是计算文本对相似度得分,是一个回归问题。如果训练过程按照回归问题去训练,就需要标注大量具有相似度得分的文本对,实施过程会耗费大量的人力和物力,且相关人员难以精确评估所有文本对语义相似度的确切得分。所以本设计方法采用预训练模型bert
(bidirectional encoder representation from transformers)作为模型核心模块,bert模型已经在大规模语料上进行了预训练,已经学习到了通用文本的语义特征,所以对于本系统,只需要对bert模型微调,就可以使其在文本相似度计算上面能够发挥更好的表现。本方法以分类问题的方式来对预训练模型进行微调。首先需要针对自己所在领域标注一定量句子对,本实施案例标注了两千对文本。文本x和文本y的关系被分为以下四类:
112.(1)x和y语义完全等价或者表述一致,例如x:小孩子打呼噜是什么原因引起的,y:小孩子打呼噜什么原因;
113.(2)x是y的语义子集,即y的语义涵盖x的语义,例如x:美国有哪些战斗机,y:美国有哪些飞机;
114.(3)x是y的语义父集,即x的语义涵盖y的语义。是前者关系的反例;
115.(4)x和y在语义上不相关,例如x:今天天气晴朗,y:最近股市有些动荡;
116.随后用标注好的数据训练模型。
117.模型的整体结构训练过程中,文本对x,y的计算过程如下:
118.首先对于句子s的首尾分别加上[cls]标签然后输入bert模型(模块

)编码得到维度为(s
l
2)*768维的向量,其中s
l
是句子长度。接着该向量会被输入进池化层(模块

),池化层会取各个token的平均值得到维度为1*768的向量,对于句子x和y按照上述步骤得到维度为1*768的向量u和v,将u,v和u-v拼接为1*2304的向量标识为e(u;v;|u-v|)(模块

),然后输入到全连接层得到1*500的向量,再通过全连接层得到维度为1*200的向量,最后通过全连接层得到维度为1*4的向量表示语句x和语句y之间的关系分类,全连接层间激活函数选用relu(模块

)。
[0119]
同时预训练lda(latent dirichlet allocation)主题模型,设定主题数目为200。
[0120]
3.基于知识体系预处理文本,预处理文本,将相应信息写入缓存或者数据库:对所有文本进行预处理,主要是倒排索引构建,切词时要识别出知识体系中的实体,防止实体被误拆分开,后续索引无法检测。可以通过将知识体系中的所有词语加入分词词典,分词器就可以进行准确的切分。后续使用倒排索引进行检索也可以精准的筛选出相关的文章。倒排索引可构建成下面的格式:
[0121]
{word1:[{id1:count1},{id2:count2},{id3:count3}
……
]}
[0122]
{word2:[{id1:count4},{id2:count5},{id4:count6}
……
]}
[0123]
{word3:[{id5:count7},{id2:count8},{id3:count9}
……
]}
[0124]
……
[0125]
将常用索引存入redis缓存,索引在内存中以{string:map}键值对的形式存在。同时考虑大部分id是多次出现,甚至高频文章会出现几千次乃至上万次,id映射就可以极大程度的减少空间消耗,id映射是指将mongodb里面长度为24位的id字符串映射到长度更低的字符串上面。实施过程如下:
[0126]
统计所有知识体系对应索引里面id出现的频次,对id按照频次进行排序。按照排序将次序作为id的映射。次序和原id是一一对应的,所以可以将次序存入缓存数据库,并建立映射,这样在查询时便可以根据次序id获取原id,同时极大地减少了空间上的开销。
[0127]
同时为了提高算法执行效率,文本的特征需要离线提取写入文本属性里面。首先需要计算所有文本的tf-idf值,将其写入文本属性。同时将文本分句,输入进第二步已经训
练好的语义模型中,截取附图1结构

的输出作为文本语义特征,写入文本属性。最后将文本输入主题模型,获取其主题特征,写入文本属性。至此,离线工作准备完毕。这样的离线处理可以很大程度上减少算法的在线计算量。
[0128]
4.依据扩展知识体系进行预筛选,获取可能相关的文本集合:对用户输入查询也按照知识体系进行分词,然后检测分词在知识体系中的命中情况依据,如果命中,则将该关键词的上位词、下位词、同位词筛选出来,然后通过关键词和扩展词的倒排索引筛选出相关文本的集合,作为后续算法运行的预筛选集合。在融入知识体系之中,不能无限制的获取子节点,维度扩展时需要综合考虑倒排索引的召回能力和扩展节点的数量。扩展节点的数量会随层数增加而以指数级别上涨,层数选择过多筛选出很多不相关的文章,同时会给倒排索引和深度学习模型带来很大的算力压力。一般认为2层以内的节点具有较高的相关性,扩展节点不会选择距离两层以上的节点。同时将知识体系扩展词加入查询语句,从离线库中根据id查询出步骤2存储的文本特征,包括tf-idf,语义特征和主题特征。计算其和候选文本的tf-idf相似性,选取排名较高的一定量文档作为预筛选集合。
[0129]
5.将原查询语句中关键词替换为相应的上下位词和同位词,生成新的查询语句:例如:检索语句“美国飞行器”,在结合知识体系信息之后可以替换关键词生成新查询语句“美国战斗机”、“美国轰炸机”、“美国无人机”等查询语句,然后继续向下一层替换为“美国美洲虎攻击机”、“美国歼-16战机”等查询语句然后进行并行计算各查询语句与文本的相似度。
[0130]
6.提取所有查询语句的语义特征和主题特征:和文本预处理一样,将原查询语句和生成查询语句输入模型,选取步骤2模型池化层的输出作为查询语句的语义特征,同时将语句输入主题模型获取其主题模型。
[0131]
7.分别计算查询语句和候选文本集合的语义相似度以及语义相似度:步骤4已经取出离线库中的文本主题特征和语义特征,步骤6也已经提取出查询语句的特征,可以直接进行相似度计算。计算相似度时首先计算查询语句和文本中各语句的语义相似度,两个语句之间的相似度可以用公式(1)来表示,其中u、v分别代表示两个句子的embedding向量。然后选取相似度最高的三个句子,用这三个句子相似度的平均值来当作当前文本的相似度得分,文本和语句的相似度可以用公式(2)来表示。
[0132][0133][0134]
其中doc
ij
是当前文本i和查询语句j的总语义相似度,s1、s2、s3是文本i里面和查询语句j相似度最高的三个语句的相似度得分,由三个语句的平均分来代表当前文本i的与查询语句j的语义相似度。同时计算各查询语句和文本的主题相似度,主题相似度也可以按照公式(1)也来计算,其中u和v分别代表查询语句的主题特征和文本的主题特征。
[0135]
8.加权计算候选文本集和各语句之间的语义相似度和主题相似度,进行相似度排序;经过上一步已经计算出文本与所有查询语句的语义相似度得分和主题相似度得分,最
后需要以文本为单位,加权文本与所有语句的相似度得分作为当前文本和用户输入查询语句的最终相似度得分。基于知识体系上扩展节点和原关键词节点的距离,最终语义相似度和主题相似度都可以用公式(3)来表示:
[0136][0137]
其中λ表示源节点扩展出第一层节点的数目,μ表示源节点扩展出第二层节点的数目。si表示第i篇文档与用户输入查询语句的最终相似度得分,q
01
表示用户输入原查询语句和第i篇文档的相似性,q
1j
是第一层节点生成查询语句j与第i篇文档的相关度得分,q
2j
是第二层节点生成查询语句j与第i篇文档相关度得分,第一层节点为空时只需要考虑原查询语句的相关度,若第二层节点为空,只需要考虑原查询语句和第一层节点的相关度。生成查询语句相比于原查询语句会占较低的权重。
[0138]
在步骤8生成最终语义相似度和主题相似度得分之后,按照二者相似度得分总和进行排序,将排序后的结果返回给用户。
[0139]
在本示例的实施例中,本发明提出了一种在文本检索中使用知识体系的方法。首先在预筛选阶段,检索方法会使用倒排索引进行相关词匹配,倒排索引不具有理解用户意图的能力,如果只索引查询语句中的词没办法找回很多相关的文章。本发明融入知识体系进行扩维后就可以很大程度上提高预筛选阶段文本的召回率。
[0140]
在本示例的实施例中,本方法还通过使用知识体系进行相关词替换,生成新的查询语句。解决传统语义匹配方法需要庞大的网络规模和高维的语义embedding才能提取语句较多的语义信息,并且会需要大量的算力。本发明提出了一种基于知识体系的关键词替换生成新查询语句,按照一定规则计算各查询和文本之间相似度,并将得分加权汇总为一个最终相似度进行排序。不需要大规模的网络模型和大量的算力即可达到更高的准确度和召回率。
[0141]
在本示例的实施例中,本方法提出了微调预训练模型的训练方法,以分类问题方式的训练最后进行回归问题预测。该方法可以很大程度上减少训练数据的标注工作,同时也可以减少用户在标注时主观臆断对模型语义理解能力的影响。
[0142]
在本示例的实施例中,本方法还设计缓存体系和文本id映射方法,极大程度上减少了算法运行的时间开销和内存开销。
[0143]
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0144]
此外,在本示例实施例中,还提供了一种基于知识体系的长文本检索装置。参照图4所示,该一种基于知识体系的长文本检索装置400可以包括:预筛选集合生成模块410、特
征生成模块420、相似度计算模块430以及检索结果生成模块440。其中:
[0145]
预筛选集合生成模块410,用于将待检索关键词基于预设知识体系匹配扩展词,分别基于所述关键词、所述扩展词在预设的长文本库倒排索引中进行文本预筛选,生成预筛选集合;
[0146]
特征生成模块420,用于分别以所述关键词、所述扩展词为输入,在预设的基于深度学习方法训练的语义模型中匹配生成语义特征,在预设的主题特征模型中匹配生成主题特征;
[0147]
相似度计算模块430,用于计算所述语义特征与所述预筛选集合中文本的语义相似度,计算所述主题特征与所述预筛选集合中文本的主题相似度;
[0148]
检索结果生成模块440,用于将所述语义相似度与所述主题相似度求和生成总相似度并排序,基于总相似度排序生成所述总相似度对应的检索结果并发送至用户。
[0149]
上述中各一种基于知识体系的长文本检索装置模块的具体细节已经在对应的一种基于知识体系的长文本检索方法中进行了详细的描述,因此此处不再赘述。
[0150]
应当注意,尽管在上文详细描述中提及了一种基于知识体系的长文本检索装置400的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0151]
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0152]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
[0153]
下面参照图5来描述根据本发明的这种实施例的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0154]
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540。
[0155]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。例如,所述处理单元510可以执行如图1中所示的步骤s110至步骤s140。
[0156]
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(rom)5203。
[0157]
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0158]
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构
的局域总线。
[0159]
电子设备500也可以与一个或多个外部设备570(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0160]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0161]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0162]
参考图6所示,描述了根据本发明的实施例的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0163]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0164]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0165]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0166]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序
代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0167]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0168]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0169]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献