CN113032533B - 一种基于稀疏向量匹配的高效检索方法 - Google Patents
一种基于稀疏向量匹配的高效检索方法 Download PDFInfo
- Publication number
- CN113032533B CN113032533B CN202110596994.8A CN202110596994A CN113032533B CN 113032533 B CN113032533 B CN 113032533B CN 202110596994 A CN202110596994 A CN 202110596994A CN 113032533 B CN113032533 B CN 113032533B
- Authority
- CN
- China
- Prior art keywords
- word
- token
- sparse vector
- sentence
- sentences
- 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.)
- Active
Links
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
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)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于稀疏向量匹配的高效检索方法,通过对问题句子和答案句子分词编码,然后进行单词级交互,对问题单词和答案句子之间的相关性进行计算,提升了检索细粒度,从而提升了检索准确率,通过ln、ReLU和b三者组合,有效提升算法模型的泛用性、检索精度和检索速度。
Description
技术领域
本发明涉及一种基于稀疏向量匹配的高效检索方法,属于数据处理领域。
背景技术
开放问答(OpenQA),即基于知识库自动回答开放问题,通常采用大规模机器阅读(MRS)实现。MRS利用信息检索(IR)系统来缩小答案段落的选择范围,然后使用机器阅读理解读取器来提取最终答案。
现在检索系统进行训练的方法都是基于双塔语义匹配架构之上,其将问题和答案都转换成密集向量,通过点积计算问题和答案之间的相关程度。但是若答案的数据量较多的时候,则必须依靠近似邻域(ANN)技术辅助进行检索,导致检索速度和正确率下降。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足而提供一种基于稀疏向量匹配的高效检索方法。
解决上述技术问题,本发明采用如下技术方案:
一种基于稀疏向量匹配的高效检索方法,建立算法模型包括如下步骤:
步骤S1:通过分词器将输入的问题q以单词串token q的形式进行表示,token q=[t1,t2...tn],通过编码器对token q进行编码,得到,从答案候选集中选取一个元素,从该元素中提取获得a和c,a为答案,c为a的上下文,通过分词器将a和c以单词串token (a,c)的形式进行表示,token (a,c)=[c1,c2...ci,a1,a2..ak,ci+1...cj],通过编码器对token (a,c)进行编码,得到H(a,c)=[s1,s2...sj+k];
本发明的有益效果为:
1、通过将问题和答案中每一对单词进行细致交互,提升了检索细粒度,从而提升了检索准确率;
2、通过ln、ReLU和b三者组合,有效提升算法模型的泛用性、检索精度和检索速度。
本发明对token q进行编码的编码器为无词序编码器,对token (a,c)进行编码的编码器为有词序编码器。
本发明若a和c为中文,则有词序编码器为chinese-bert-wwm,若a和c为英文,则有词序编码器为bert-base-uncased。
本发明对算法模型进行训练的训练样本包含多个句子,a和c在同一个句子中,其中一个句子中的a为a+,其余句子构成负样本K-,负样本K-中的a为a-。
本发明负样本K-的构建方法如下:
步骤a1:从答案候选集中随机选择一部分a为a-的句子;
步骤a2::从答案候选集中选择一部分靠近a+的句子;
步骤a3:去除步骤a1和步骤a2中重复选取的句子,以获得负样本K-。
本发明负样本K-中,步骤a2中选取的句子数量占比不低于50%。
本发明步骤a2中选择的句子和a+之间最多间隔两个句子。
本发明采用同一种无词序编码器对token q和词汇表中单词进行编码。
本发明的其他特点和优点将会在下面的具体实施方式、附图中详细的揭露。
附图说明
下面结合附图对本发明做进一步的说明:
图1为本发明实施例1的算法模型建立流程图。
具体实施方式
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在下文描述中,出现诸如术语“内”、“外”、“上”、“下”、“左”、“右”等指示方位或者位置关系仅是为了方便描述实施例和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例1:
参见图1,本实施例提供了一种基于稀疏向量匹配的高效检索方法,该方法的其中一种应用为开放问答,即依据输入的问题,从现有文档中找到正确答案。
本实施例建立算法模型包括如下步骤:
将现有的某一文档(如英文数据集文档SQuAD [Rajpurkar et al.,2016]或中文数据集文档CMRC [Cui et al.,2018]等)分割为多个句子,每一个句子作为答案候选集中的元素,每个元素都包含了a和c,a为答案,c为a的上下文,相应的,由文档分割出的所有句子构成了完整的答案候选集。从答案候选集中选取一个元素(句子),从该元素中提取获得a和c,通过分词器将a和c以单词串token (a,c)的形式进行表示,token (a,c)=[c1,c2...ci,a1,a2..ak,ci+1...cj],通过编码器对token (a,c)进行编码,得到H(a,c)=[s1,s2...sj+k]。
例如,其中一句话为“晚饭吃米饭了”,则a为“米饭”,c为“晚饭吃...了”,相应的,token (a,c)=[晚饭,吃,米饭,了],c1=晚饭,c2=吃,a1=米饭,c3=了。对应的,H(a,c)=[s1,s2,s3,s4]。对token (a,c)进行编码的编码器为有词序编码器,从而确保后续检索精度。由于c1、c2、a1、c3为中文,对token (a,c)进行编码的编码器可以选用chinese-bert-wwm。在其他实施例中,若c1、c2、a1、c3为英文的情况下,对token (a,c)进行编码的编码器可以选用bert-base-uncased。
同样以token q=[晚饭,吃,什么]和token (a,c)=[晚饭,吃,米饭,了]进行举例,y1=max(e1 Ts1,e1 Ts2,e1 Ts3,e1 Ts4),e1、s1、s2、s3、s4为列数相同的列矩阵,因此e1 Ts1、e1 Ts2、e1 Ts3、e1 Ts4均为1*1的矩阵,即为实数。通过点积,使得问题q中的单个单词和答案a所在句子中每个单词分别进行交互,以此提升检索细粒度,对后续检索精度的提高具有明显帮助。而后采用最大池化获取问题q中的单个单词和答案a所在句子之间的相关性,以使得算法模型获得更为优异的泛化能力。
ReLU函数则保证了只要大于-b,就会对最终token q和token (a,c)之间的匹配程度产生影响,相应的,通过对b进行训练,就可以调节[y1,y2,y3]这一矩阵的稀疏程度,以调节算法模型最终的泛化能力。ln函数作为一种有效的归一化处理方式对进行处理,对算法模型的检索精度、检索速度以及泛化能力都有很大的提升作用。
为了进一步提升检索速度,本实施例还包括步骤S4:对词汇表(词汇表为类似字典的单词集,属于现有技术)中每个单词进行编码,得到,为词汇表中任一单词经无词序编码后得到的编码结果,则和token (a,c)之间的匹配函数为,匹配结果缓存在倒排索引中。通过事先将词汇表中每个单词和答案所在句子中每个单词进行交互,从而预先获取每个单词和每个答案所在句子的相关程度,从而在实时检索的时候直接进行调取,极大提升了检索速度。
训练之前,需要构建训练样本,通常而言,训练样本为答案候选集的子集。故而训练样本中包含多个句子,这些句子同时也是答案候选集的元素,训练样本中的每个句子也都同时包含答案a和a的上下文c。训练样本内其中一个句子的a为a+,a+为正确答案,对应的,该句子中的c为c+,c+为a+的上下文。训练样本内其余所有句子构成负样本K-,负样本K-中每句话的a为a-,a-为错误答案,对应的,这些句子中的c为c-,c-为a-的上下文。
通过训练模型,使J尽可能最大化,从而使模型尽可能对a+和a-进行区分。
具体的,负样本K-的构建方法如下:
步骤a1:从答案候选集中随机选择一部分a为a-的句子;
步骤a2::从答案候选集中选择一部分靠近a+的句子;
步骤a3:去除步骤a1和步骤a2中重复选取的句子,以获得负样本K-。
步骤a1中从答案候选集内随机选取句子添加进负样本K-中可以提升模型的训练效率。在文档中,a+所在的句子称为正确句子,和正确句子间隔较小的句子称为类正确句子,正确句子和类正确句子之间语义差别较小,步骤a2中将这部分句子添加进入负样本K-中对算法模型进行训练,可以使算法模型对a+所在句子和这部分句子之间的细微差别进行识别,从而尽可能提升后期算法模型检索时的检索精度,相应的为了确保对细微差别识别的训练效果,步骤a2中选取的句子数量在最终负样本K-中的占比不能过低,一般在50%以上。
此外,步骤a2中选择的句子和a+所在句子之间间隔不能过大,以避免负样本K-接近全随机样本,保证算法模型对细微差别识别的训练效果,一般步骤a2中选择的句子和a+所在句子之间间隔最多间隔两个句子。
本实施例将建立的算法模型命名为X,针对X以及其他一些现有的算法模型依照OpenQA [Chen et al.,2017;Wang et al.,2019c;Xie et al.,2020]的试验标准,对英文数据集文档SQuAD [Rajpurkar et al.,2016],以及中文数据集文档CMRC [Cui et al.,2018]进行测试,以比较不同算法模型的F1值。
针对SQuAD数据集,比较结果如表1所示。
表1
可以看到,针对英文数据集文档SQuAD,本实施例算法模型X相比现有算法模型MINIMAL [Min et al.,2018]和BERTserini[Yang et al.,2019a],其F1值提升了近50%,说明本实施例算法模型X表现出良好的准确率和召回率。
针对CMRC数据集,比较结果如表2所示。
表2
可以看到,针对中文数据集文档CMRC,本实施例算法模型X相比现有算法模型BERTserini [Xie et al.,2020],其F1值提升了近33%,同样表现出较高的准确率和召回率。
为了对X的检索能力进一步进行比较分析,本实施例还对X以及其他检索模型的MRR进行测试。其中进行测试的数据集分别为SQuAD [Rajpurkar et al.,2016]、News[Trischler et al.,2016]、Trivia[Joshi et al.,2017]、NQ[Kwiatkowski et al.,2019]、Hotpot[Yang et al.,2018]。其他现有检索模型分别BM25、USE-QA以及Poly-Enc。其中MRR数值如表3所示。
表3
BM25的平均MRR值为30.0,USE-QA的平均MRR值为42.7,Poly-Enc的平均MRR值为50.8,X的平均MRR值为64.3。
可以看到,本实施例X的MRR相比现有检索模型更高,说明本X具有更为良好的检索能力。
实施例2:
本实施例与实施例1的区别在于,步骤S1中采用有词序编码器对token q进行编码。
同样以SQuAD [Rajpurkar et al.,2016]作为测试数据集,单节点CPU服务器作为测试服务器。
实施例1中算法模型X的查询速度(平均返回时间)为13.1ms,F1值为66.5,与之相对本实施例中算法模型X的查询速度(平均返回时间)为1123小时,F1值为70.3。本实施例相比实施例1,虽然查询精度有所上升,但是查询速度确极大降低,故而可以证明token q采用无序编码这一操作,对算法模型X的性能综合具有极强的提升效果。
实施例3:
本实施例与实施例1的区别在于,省略步骤S4。
同样以SQuAD [Rajpurkar et al.,2016]作为测试数据集,单节点CPU服务器作为测试服务器。
本实施例算法模型X的F1值仍为66.5,与实施例1保持一致。但是,本实施例中算法模型X的查询速度(平均返回时间)为1018小时。结合实施例2与实施例3的数据可以分析得出,对token q采用无序编码以及步骤S4对算法模型X的检索速度提升都极为重要,缺一不可。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
Claims (9)
1.一种基于稀疏向量匹配的高效检索方法,其特征在于,建立算法模型包括如下步骤:
步骤S1:通过分词器将输入的问题q以单词串token q的形式进行表示,token q=[t1,t2...tn],通过无词序编码器对token q进行编码,得到,从答案候选集中选取一个元素,从该元素中提取获得a和c,a为答案,c为a的上下文,通过分词器将a和c以单词串token (a,c)的形式进行表示,token (a,c)=[c1,c2...ci,a1,a2..ak,ci+ 1...cj],通过有词序编码器对token (a,c)进行编码,得到H(a,c)=[s1,s2...sj+k];
3.根据权利要求1所述的基于稀疏向量匹配的高效检索方法,其特征在于,若a和c为中文,则有词序编码器为chinese-bert-wwm,若a和c为英文,则有词序编码器为bert-base-uncased。
5.根据权利要求4所述的基于稀疏向量匹配的高效检索方法,其特征在于,对算法模型进行训练的训练样本包含多个句子,a和c在同一个句子中,其中一个句子中的a为a+,其余句子构成负样本K-,负样本K-中的a为a-。
6.根据权利要求5所述的基于稀疏向量匹配的高效检索方法,其特征在于,负样本K-的构建方法如下:
步骤a1:从答案候选集中随机选择一部分a为a-的句子;
步骤a2:从答案候选集中选择一部分靠近a+的句子;
步骤a3:去除步骤a1和步骤a2中重复选取的句子,以获得负样本K-。
7.根据权利要求6所述的基于稀疏向量匹配的高效检索方法,其特征在于,负样本K-中,步骤a2中选取的句子数量占比不低于50%。
8.根据权利要求6所述的基于稀疏向量匹配的高效检索方法,其特征在于,步骤a2中选择的句子和a+之间最多间隔两个句子。
9.根据权利要求2所述的基于稀疏向量匹配的高效检索方法,其特征在于,采用同一种无词序编码器对token q和词汇表中单词进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110596994.8A CN113032533B (zh) | 2021-05-31 | 2021-05-31 | 一种基于稀疏向量匹配的高效检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110596994.8A CN113032533B (zh) | 2021-05-31 | 2021-05-31 | 一种基于稀疏向量匹配的高效检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032533A CN113032533A (zh) | 2021-06-25 |
CN113032533B true CN113032533B (zh) | 2021-09-03 |
Family
ID=76455912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110596994.8A Active CN113032533B (zh) | 2021-05-31 | 2021-05-31 | 一种基于稀疏向量匹配的高效检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032533B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947912A (zh) * | 2019-01-25 | 2019-06-28 | 四川大学 | 一种基于段落内部推理和联合问题答案匹配的模型方法 |
CN110516145A (zh) * | 2019-07-10 | 2019-11-29 | 中国人民解放军国防科技大学 | 一种基于句向量编码的信息搜索方法 |
CN110597947A (zh) * | 2019-03-20 | 2019-12-20 | 桂林电子科技大学 | 一种基于全局和局部注意力交互的阅读理解系统及方法 |
CN111241807A (zh) * | 2019-12-31 | 2020-06-05 | 浙江大学 | 一种基于知识引导注意力的机器阅读理解方法 |
US20210089718A1 (en) * | 2019-09-19 | 2021-03-25 | University Of Electronic Science And Technology Of China | Method for machine reading comprehension |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714148B (zh) * | 2013-12-24 | 2017-05-10 | 西安电子科技大学 | 基于稀疏编码分类的sar图像检索方法 |
CN111476036A (zh) * | 2020-04-10 | 2020-07-31 | 电子科技大学 | 一种基于中文单词特征子串的词嵌入学习方法 |
-
2021
- 2021-05-31 CN CN202110596994.8A patent/CN113032533B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947912A (zh) * | 2019-01-25 | 2019-06-28 | 四川大学 | 一种基于段落内部推理和联合问题答案匹配的模型方法 |
CN110597947A (zh) * | 2019-03-20 | 2019-12-20 | 桂林电子科技大学 | 一种基于全局和局部注意力交互的阅读理解系统及方法 |
CN110516145A (zh) * | 2019-07-10 | 2019-11-29 | 中国人民解放军国防科技大学 | 一种基于句向量编码的信息搜索方法 |
US20210089718A1 (en) * | 2019-09-19 | 2021-03-25 | University Of Electronic Science And Technology Of China | Method for machine reading comprehension |
CN111241807A (zh) * | 2019-12-31 | 2020-06-05 | 浙江大学 | 一种基于知识引导注意力的机器阅读理解方法 |
Non-Patent Citations (2)
Title |
---|
A Method For Answer Selection Using DistilBERT;Jamshid Mozafari等;《 2020 6th International Conference on Web Research (ICWR)》;IEEE;20200622;第72-76页 * |
基于深度神经网络模型的非特定域中文智能问答系统研究与实现;高飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180715(第7期);第I138-1904页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113032533A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033426A (zh) | 一种基于潜在语义最小哈希的图像检索方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN111738169B (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN111104555A (zh) | 基于注意力机制的视频哈希检索方法 | |
CN109977199A (zh) | 一种基于注意力池化机制的阅读理解方法 | |
CN112115716A (zh) | 一种基于多维词向量下文本匹配的服务发现方法、系统及设备 | |
CN113220890A (zh) | 一种基于预训练的结合新闻标题和新闻长文本内容的深度学习方法 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN111858984A (zh) | 一种基于注意力机制哈希检索的图像匹配方法 | |
CN116205222A (zh) | 一种基于多通道注意力融合的方面级情感分析系统及方法 | |
WO2021143009A1 (zh) | 一种文本聚类的方法及装置 | |
CN111026845B (zh) | 一种获取多层次上下文语义的文本分类方法 | |
CN113672693A (zh) | 基于知识图谱和标签关联的在线问答平台的标签推荐方法 | |
CN112967710B (zh) | 一种低资源客家方言点识别方法 | |
CN111061873A (zh) | 一种基于Attention机制的多通道的文本分类方法 | |
CN112685538B (zh) | 一种结合外部知识的文本向量检索方法 | |
CN113032533B (zh) | 一种基于稀疏向量匹配的高效检索方法 | |
CN116861022A (zh) | 一种基于深度卷积神经网络和局部敏感哈希算法相结合的图像检索方法 | |
CN116662502A (zh) | 基于检索增强的金融问答文本生成方法、设备及存储介质 | |
Liu et al. | Generalized residual vector quantization and aggregating tree for large scale search | |
CN113361270B (zh) | 一种面向服务数据聚类的短文本优化主题模型方法 | |
CN113449517B (zh) | 基于bert门控多窗口注意力网络模型的实体关系抽取方法 | |
CN114996455A (zh) | 一种基于双知识图谱的新闻标题短文本分类方法 | |
CN114528944A (zh) | 一种医疗文本编码方法、装置、设备及可读存储介质 | |
CN111291223B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221014 Address after: 310000 Room 303, building 3, No. 399, Qiuyi Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Honglong Technology (Hangzhou) Co.,Ltd. Patentee after: HANGZHOU LINKER TECHNOLOGY CO.,LTD. Address before: 310000 room 31191, 3 / F, building 1, No. 88, Puyan Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: Honglong Technology (Hangzhou) Co.,Ltd. |