CN112988971A - 基于词向量的搜索方法、终端、服务器及存储介质 - Google Patents
基于词向量的搜索方法、终端、服务器及存储介质 Download PDFInfo
- Publication number
- CN112988971A CN112988971A CN202110277854.4A CN202110277854A CN112988971A CN 112988971 A CN112988971 A CN 112988971A CN 202110277854 A CN202110277854 A CN 202110277854A CN 112988971 A CN112988971 A CN 112988971A
- Authority
- CN
- China
- Prior art keywords
- index content
- index
- word vector
- word
- keyword
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000007246 mechanism Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 244000269722 Thea sinensis Species 0.000 description 8
- 238000010845 search algorithm Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000035622 drinking Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013550 semantic technology Methods 0.000 description 1
- 235000013948 strawberry juice Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 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/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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及语音语义技术领域,并公开了一种基于词向量的搜索方法、终端、服务器及存储介质,所述方法包括:响应于用户输入的索引内容,确定所述索引内容的关键词;分别在预先存储的倒排索引表中查找各个所述关键词的词向量;计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本;基于所述相似度显示与所述索引内容相匹配的搜索结果;所述预先存储的与所述索引内容关联的所有长文本由服务端基于XL I NE模型对所述索引内容进行分析,得到的包含有所述索引内容的关键词的所有长文本。能够保证搜索精度的同时不增加计算开销。
Description
技术领域
本申请涉及语音语义技术领域,尤其涉及一种基于词向量的搜索方法、终端、服务器及存储介质。
背景技术
目前,常见的搜索算法包括基于tf-idf的搜索算法、基于图推荐TextRank的搜索算法或基于词向量的搜索算法。其中,基于tf-idf的搜索算法虽然具有速度快的优势,但是由于基于tf-idf的搜索算法没有考虑到词与词以及词与句子之间的关系,导致搜索结果的精度不高。而基于图推荐TextRank的搜索算法虽然考虑到词与词之间的权重转移,却仍然是基于词粒度,没有考虑到上下文之间的深层语义联系。另外,基于词向量的方法可以一定程度上缓解搜索同义词的匹配问题但是会给搜索带来很大的开销。与tf-idf的倒排索引不同的是,词向量需要搜索的query与库中每一个话术的向量进行余弦相似度计算,会带来巨大的计算开销。
因此,现有的搜索算法存在搜索精度不高或者是计算开销大的问题。
发明内容
本申请提供了一种基于词向量的搜索方法、终端、服务器及存储介质,能够在保证搜索精度的同时不增加计算开销。
第一方面,本申请提供了一种基于词向量的搜索方法,应用于终端,所述方法包括:
响应于用户输入的索引内容,确定所述索引内容的关键词;
分别在预先存储的索引表中查找各个所述关键词的词向量;
计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
基于所述相似度显示与所述索引内容相匹配的搜索结果。
第二方面,本申请还提供了一种基于词向量的搜索方法,应用于服务器,所述方法包括:
获取用户在终端输入的索引内容;
根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;
将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
第三方面,本申请还提供了一种终端,所述终端包括:
确定模块,用于响应于用户输入的索引内容,确定所述索引内容的关键词;
查找模块,用于分别在预先存储的索引表中查找各个所述关键词的词向量;
计算模块,用于计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
显示模块,用于基于所述相似度显示与所述索引内容相匹配的搜索结果。
第四方面,本申请还提供了一种服务器,所述服务器包括:
获取模块,用于获取用户在终端输入的索引内容;
得到模块,用于根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;
发送模块,用于将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
第五方面,本申请还提供了一种终端,所述终端包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上第一方面所述的基于词向量的搜索方法。
第六方面,本申请还提供了一种服务器,所述服务器包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上第二方面所述的基于词向量的搜索方法。
第七方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上第一方面所述的基于词向量的搜索方法,或者所述计算机程序被处理器执行时使所述处理器实现如上第二方面所述的基于词向量的搜索方法。
本申请公开了一种基于词向量的搜索方法、终端、服务器及存储介质,通过响应于用户输入的索引内容,确定所述索引内容的关键词;分别在预先存储的倒排索引表中查找各个所述关键词的词向量;计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本;基于所述相似度显示与所述索引内容相匹配的搜索结果;所述预先存储的与所述索引内容关联的所有长文本由服务端基于XLINE模型对所述索引内容进行分析,得到的包含有所述索引内容的关键词的所有长文本。能够保证搜索精度的同时不增加计算开销。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的基于词向量的搜索方法的示意流程图;
图2是图1中S102的具体实现流程图;
图3是本申请另一实施例提供的基于词向量的搜索方法;
图4是本申请实施例的提供一种终端的示意性框图;
图5是本申请实施例提供的一种终端的结构示意性框图;
图6是本申请实施例的提供一种服务器的示意性框图;
图7是本申请实施例提供的一种服务器的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种基于词向量的搜索方法、终端、服务器及存储介质。本申请实施例提供的基于词向量的搜索方法可用于对用户输入的索引内容基于词向量进行匹配分析,显示与用户输入的索引内容相匹配的搜索结果,在不增加终端计算开销的同时能够保证搜索精度。
例如,本申请的实施例提供的基于词向量的搜索方法,可应用于终端或者服务器,通过对用户输入的索引内容基于词向量进行匹配分析,显示与用户输入的索引内容相匹配的搜索结果,所述终端通过调用服务器预先训练完成的XLINE模型能够在不增加计算开销的同时保证了搜索精度。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请一实施例提供的基于词向量的搜索方法的示意流程图。该基于词向量的搜索方法用于终端,具体终端响应于用户输入的索引内容后,通过根据服务器发送的与所述索引内容关联的所有长文本,确定与所述索引内容相匹配的搜索结果,与所述索引内容关联的所有长文本由服务器根据预先训练完成的XLNE模型对用户输入的索引内容进行分析得到,在保证搜索精度的同时不提高终端的计算开销。
如图1所示,本实施例提高的基于词向量的搜索方法,具体包括:步骤S101至步骤S104。详述如下:
S101、响应于用户输入的索引内容,确定所述索引内容的关键词。
其中,用户可以基于终端设备上的搜索引擎输入所述索引内容。所述搜索引擎可以是,例如百度平台、知乎平台、搜狗平台等搜索引擎。所述索引内容可以是代表用户搜索意图的文本信息,例如,“深圳好喝的下午茶”,“北京机场附近酒店”等。
终端设备响应于用户输入的索引内容后,采用预设的分词方式对所述索引内容进行分词处理,对分词处理之后的各个词进行关键性排序,得到所述索引内容的关键词。
示例性地,请参阅图2所示,在本申请的具体实现方式中,S101包括S1011至S1023,详述如下:
S1021,响应于用户输入的索引内容,对所述索引内容进行分词处理。
具体地,可以采用基于预设的分词器对所述索引内容进行分词处理,例如,预设的分词器可以是JIEBA、HANIP、STANFORD CORENLP、IKANALYZER、NLPIR等常见分词器中的任意一种。
S1022,生成分词处理之后各个词的有权无向图。
在本申请的实施例中,以分词处理之后各个词分别为所述有权无向图的各个节点;通过预设的窗口长度(例如L)对所有节点进行滑窗操作,构建各个节点之间边的权重,生成所述有权无向图。
其中,通过预设的窗口长度进行滑窗操作时,所有在所述预设的窗口内的词都被是作为当前词节点的相邻节点,当有两个相邻节点出现在同一预设的窗口内时,该两个相邻节点之间边的权重值增加1。
具体地,所述有权无向图中各个节点的权重表示节点的重要性,也就是这个节点对应的词语对于整个搜索内容的贡献度,所述有权无向图中两个节点之间边的权重值表示两个节点的关联程度,也就是两个节点代表的词的相关度。
S1023,基于所述有权无向图确定所述索引内容的关键词。
利用文本基于图的排序TextRank算法对所述有权无向图进行分析,并结合词频-逆文档频率TF-IDF算法得到所述索引内容的关键词。具体地,利用TextRank算法的节点权重更新公式不断迭代所述有权无向图中各个节点的权重值;当迭代达到预设的更新次数或者各个节点的权重收敛后,对各个节点的权重进行排序,得到所述有权无向图中各个节点的权重序列;根据词频-逆文档频率TF-IDF算法确定所述索引内容的关键词;获取所述权重序列中与通过所述TF-IDF算法确定的所述关键词相同的各个节点的词作为所述索引内容的关键词。
需要说明的是,假设通过所述TF-IDF算法确定的所述关键词的数量小于预设的关键词数量,则从所述节点权重序列中按照权重从大到小的顺序获取与所述关键词不同的各个节点的词进行填充,直至得到预设数量的所述关键词。
示例性地,所述TextRank算法的节点权重更新公式,包括:
其中,WS(Vi)代表节点Vi的权重;Out(Vi)表示结点Vi的相邻结点的集合;Out(Vj)表示结点Vj的相邻结点的集合;d是一个取值在0到1之间的参数,用于做平滑;Wji为结点Vi和Vj之间边的权重。
此外,所述TEXTRANK算法的节点权重更新公式中的第一项(1-d)表示完全随机访问各个节点,第二项表示各个节点的权重状态分布是平稳分布时,按照预设的转移策略访问各个节点。具体地,在本申请的实施例中,所述转移策略为任意一个节点的权重是由它所有的相邻结点的权重共同决定的,而每一个相邻结点决定的程度是由这个相邻结点Vj和结点Vi之间的相关度决定的,也就是结点Vi和结点Vj边的权重Wji占这个相邻结点Vj所有的边的权重的和的比例决定的。
示例性地,假设用户现在想要在“知乎平台”搜索“深圳好喝的下午茶且环境好”相关的文章,而这种类型的文章往往是没有标题的,通常可能仅是记录生活体验的文本。在知乎平台的数据库中需要根据用户输入的一段话“深圳好喝的下午茶且环境好”来匹配出“相应”的搜索结果并显示。也即,所述索引内容是“深圳好喝的下午茶且环境好”,首先假设预设的关键词数量为2,基于TextRank算法得到了4个关键词,假设按照权重值大小排序后分别是{喝、草莓汁、咖啡、下午茶},基于TF-IDF算法得到了六个关键词,按照得分从大到小排序后分别是{咖啡、下午茶、好、美味、奶茶、糖},从根据TextRank算法得到了4个关键词和基于TF-IDF算法得到了六个关键词中无法选取相同的预设数量(2个)关键词,实际上只有一个形态的关键词{咖啡},则需要从TextRank算法得到了4个关键词中选出权重值最高且与咖啡不同的关键词{喝}与{咖啡}一起构成所述索引内容的关键词。
在本实施例中,通过将TextRank算法和TF-IDF算法进行结合,既考虑了词之间的关联性,也考虑了文档外部结构信息。
S102、分别在预先存储的索引表中查找各个所述关键词的词向量。
其中,所述预先存储的索引表包括正序索引表或者反序索引表;所述正序索引表包括按照预设顺序排列的第一预设数量的索引号组成的词向量,所述索引号为抽取的与所述关键词相关联的文章标识信息。
其中,与所述关键词相关联的文章包括包含有所述关键词的同义词。
例如,所述预先存储的索引表为正索引表,关键词“我”的所述正索引表包括{“文章标识信息(ID)”文章1,文章2,…,文章i,“同义词”}。
所述反序索引表由第二预设数量的与所述关键词的关联度从大到小的词组成的词向量。
S103、计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本。
示例性地,可以根据预设的相似度计算规则计算各个所述词向量与所有目标长文本之间的相似度。例如预设的相似度计算规则包括余弦相似度计算规则。
所述预先训练完成的XLIN模型包括双流自注意力机制和注意力标注attentionMask机制;所述双流自注意力机制包括自回归语言模型和自编码语言模型;所述attentionMask机制用于在所述自回归语言模型和所述自编码语言模型进行输入序列到输出序列转换过程中,对被输入序列选到的单词进行标记并隐藏掉,且使得没有被输入序列选取到的单词在预测结果中不发生作用。
S104、基于所述相似度显示与所述索引内容相匹配的搜索结果。
示例性地,将与所述索引内容的相似度大于预设相似度阈值的文本内容作为与所述索引内容相匹配的搜索结果进行显示。
通过上述分析可知,本申请实施例提供的基于词向量的搜索方法,通过响应于用户输入的索引内容,确定所述索引内容的关键词;分别在预先存储的倒排索引表中查找各个所述关键词的词向量;计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本;基于所述相似度显示与所述索引内容相匹配的搜索结果;所述预先存储的与所述索引内容关联的所有长文本由服务端基于XLINE模型对所述索引内容进行分析,得到的包含有所述索引内容的关键词的所有长文本。能够保证搜索精度的同时不增加计算开销。
请参阅图3,图3是本申请另一实施例提供的基于词向量的搜索方法。该基于词向量的搜索方法应用于服务器,具体服务器通过根据预先训练完成的XLIN模型对用户输入终端的索引内容进行分析,得到与所述索引内容关联的所有长文本,以指示所述终端基于与所述索引内容关联的所有长文本,确定与所述索引内容相匹配的搜索结果,在保证搜索精度的同时不提高终端的计算开销。
如图3所示,本实施例提供的基于词向量的搜索方法,具体包括:步骤S301至步骤S303。详述如下:
S301、获取用户在终端输入的索引内容。
在本申请的实施例中,所述索引内容为用户基于终端设备上的搜索引擎输入所述索引内容。所述搜索引擎可以是,例如百度平台、知乎平台、搜狗平台等搜索引擎。所述索引内容可以是代表用户搜索意图的文本信息,例如,“深圳好喝的下午茶”,“北京机场附近酒店”等。服务器可以接收终端设备发送的所述索引内容。
S302、根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本。
所述预先训练完成的XLIN模型包括双流自注意力机制和注意力标注attentionMask机制;所述双流自注意力机制包括自回归语言模型和自编码语言模型;所述attentionMask机制用于在所述自回归语言模型和所述自编码语言模型进行输入序列到输出序列转换过程中,对被输入序列选到的单词进行标记并隐藏掉,且使得没有被输入序列选取到的单词在预测结果中不发生作用。
在本申请的实施例中,若需要根据上文内容预测下一个可能跟随的单词,或者根据下午预测前面的单词,也就是说自左向右的预测语言或者自右向左的预测语言时,常采用自回归语言模型。其中,自编码语言模型通过在输入X中随机去掉一部分单词,然后预训练过程中根据上下文单词来预测这些被去掉的单词,那些被去掉的单词就是在输入侧加入的所谓噪音。
在本申请的实施例中,所述XLNet模型是将上述两种语言模型进行融合,实现了通过自回归语言模型不用去掉噪音的功能,而又能应用到上下文的信息,也就是说,本申请的实施例中,XLNet主要是对预训练阶段的改进。示例性,假设在XLNet的预训练阶段输入的文本包括[x1,x2,x3,x4]四个主题,则在输入文本的索引函数index的全排列中有[x3,x2,x4,x1],[x2,x4,x3,x1],[x1,x4,x2,x3]和[x4,x3,x1,x2]四种组合;假设当前任务是预测索引值为3也就是索引函数的全排列中x3对应的词,在本申请的实施例中,使用自回归语言模型,从左到右结合上文预测下一个词,假设当前输入为[x3,x2,x4,x1]从左到右x3在最左所以此次全排列的输入无法获得上下文信息,假设当前输入为[x2,x4,x3,x1]从左到右x2以及x4都在x3的前面,这样就能够同时应用到上下文信息,对x3对应的词进行预测。
此外,尽管理论上可以把句子X的单词排列组合后,再随机抽取例子作为输入,但是,实际应用中,因为在模型的微调(Fine-tuning)阶段无法进行排列组合输入,所以,就必须在预训练阶段的输入部分,仍然用x1,x2,x3,x4的输入顺序,而在矩阵集合(Transformer)部分采取了注意力(Attention)掩码的机制;例如,若当前的输入句子是X,要预测的单词Ti是第i个单词,前面1到i-1个单词,则在输入部分观察不到变化,但是在Transformer内部,通过Attention掩码,从X的输入关键词里面,也就是Ti的上文和下文对应的词中,随机选择i-1个,放到Ti的上文位置中,把其它单词的输入通过Attention掩码(Mask)隐藏掉。
在本申请的实施例中,在具体实现的时候,XLNet是用双流自注意力模型实现的。其中,双流自注意力机制:一个是内容流自注意力,其实就是标准的Transformer的计算过程;主要是引入了询问Query流自注意力,具体地,引入了Query流自注意力代替Bert的标记Mask,因为XLNet希望抛掉标记符号,但是比如知道上文单词x1,x2,要预测单词x3,此时在x3对应位置的Transformer最高层去预测这个单词,但是输入侧不能看到要预测的单词x3,Bert其实是直接引入标记[Mask]来覆盖掉单词x3的内容的,等于说[Mask]是个通用的占位符号。而XLNet因为要抛掉[Mask]标记,但是又不能看到x3的输入,于是Query流直接忽略掉x3输入,只保留这个位置信息,用参数w来代表位置的embedding编码。具体地,XLNet只是扔了表面的[Mask]占位符号,内部还是引入Query流来忽略掉被Mask的这个单词,和Bert比,只是实现方式不同而已。也就是说,XLNet只是和Bert实现Mask的方式不同,为了结合[MASK]这个标签在fine-tuning阶段不存在从而会导致训练和预测不统一的问题,XLNet为了使训练和预测阶段统一通过Query流自注意力来实现遮罩。
示例性地,所述根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本,包括:将所述索引内容输入所述双流自注意力机制进行分析,在所述双流自注意力机制中得到所述索引内容的各个关键词的所有相关性词;在所述attention Mask机制中对与所述索引内容的各个关键词不相关的词进行标记并隐藏,基于所述双流自注意力机制和所述attention Mask机制实现对所述索引内容的各个关键词的所有相关性词的整合,得到各个所述关键词的词向量文本。
S303、将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
通过上述分析可知,本申请实施例提供的基于词向量的搜索方法,通过获取用户在终端输入的索引内容;根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。能够保证搜索精度的同时不增加计算开销。
请参阅图4,图4是本申请实施例的提供一种终端的示意性框图,该终端用于执行图1所示的基于词向量的搜索方法。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图4所示,终端400包括:确定模块401、查找模块402、计算模块403和显示模块404。
确定模块401,用于响应于用户输入的索引内容,确定所述索引内容的关键词;
查找模块402,用于分别在预先存储的索引表中查找各个所述关键词的词向量;
计算模块403,用于计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
显示模块404,用于基于所述相似度显示与所述索引内容相匹配的搜索结果。
在一种可选的实现方式中,确定模块401包括:
处理单元,用于响应于用户输入的索引内容,对所述索引内容进行分词处理;
生成单元,用于生成分词处理之后各个词的有权无向图;
确定单元,用于基于所述有权无向图确定所述索引内容的关键词。
在一可选的实现方式中,所述预先存储的索引表包括正序索引表或者反序索引表;所述正序索引表包括按照预设顺序排列的第一预设数量的索引号组成的词向量,所述索引号为抽取的与所述关键词相关联的文章标识信息;
所述反序索引表由第二预设数量的与所述关键词的关联度从大到小的词组成的词向量。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和各模块的具体工作过程,可以参考图1所述的基于词向量的搜索方法实施例中的对应过程,在此不再赘述。
上述的基于词向量的搜索方法可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的终端上运行。
请参阅图5,图5是本申请实施例提供的一种终端的结构示意性框图。该终端包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于词向量的搜索方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于词向量的搜索方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
响应于用户输入的索引内容,确定所述索引内容的关键词;
分别在预先存储的索引表中查找各个所述关键词的词向量;
计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
基于所述相似度显示与所述索引内容相匹配的搜索结果。
在一个实施例中,所述处理器在实现所述响应于用户输入的索引内容,确定所述索引内容的关键词时,用于实现:
响应于用户输入的索引内容,对所述索引内容进行分词处理;
生成分词处理之后各个词的有权无向图;
基于所述有权无向图确定所述索引内容的关键词。
本申请的实施例还提供了一种服务器,请参见图6所示,图6是本申请实施例的提供一种服务器的示意性框图,该服务器用于执行图3所示的基于词向量的搜索方法。该服务器可以是单个服务器或者服务集群。
如图6所示,服务器600包括:获取模块601、得到模块602和发送模块603。
获取模块601,用于获取用户在终端输入的索引内容;
得到模块602,用于根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;
发送模块603,用于将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
在一种可选的实现方式中,所述预先训练完成的XLIN模型包括双流自注意力机制和注意力标注attention Mask机制;所述双流自注意力机制包括自回归语言模型和自编码语言模型;所述attention Mask机制用于在所述自回归语言模型和所述自编码语言模型进行输入序列到输出序列转换过程中,对被输入序列选到的单词进行标记并隐藏掉,且使得没有被输入序列选取到的单词在预测结果中不发生作用。
在一可选的实现方式中,所述得到模块602,包括:
输入单元,用于将所述索引内容输入所述双流自注意力机制进行分析,在所述双流自注意力机制中得到所述索引内容的各个关键词的所有相关性词;
得到单元,用于在所述attention Mask机制中对与所述索引内容的各个关键词不相关的词进行标记并隐藏,基于所述双流自注意力机制和所述attention Mask机制实现对所述索引内容的各个关键词的所有相关性词的整合,得到各个所述关键词的词向量文本。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和各模块的具体工作过程,可以参考图3所述的基于词向量的搜索方法实施例中的对应过程,在此不再赘述。
上述的基于词向量的搜索方法可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的服务器上运行。
请参阅图7,图7是本申请实施例提供的一种服务器的结构示意性框图。该服务器包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于词向量的搜索方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于词向量的搜索方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取用户在终端输入的索引内容;
根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;
将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
在一个实施例中,所述预先训练完成的XLIN模型包括双流自注意力机制和注意力标注attention Mask机制;所述双流自注意力机制包括自回归语言模型和自编码语言模型;所述attention Mask机制用于在所述自回归语言模型和所述自编码语言模型进行输入序列到输出序列转换过程中,对被输入序列选到的单词进行标记并隐藏掉,且使得没有被输入序列选取到的单词在预测结果中不发生作用。
在一个实施例中,所述处理器执行所述根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本时,实现:
将所述索引内容输入所述双流自注意力机制进行分析,在所述双流自注意力机制中得到所述索引内容的各个关键词的所有相关性词;
在所述attention Mask机制中对与所述索引内容的各个关键词不相关的词进行标记并隐藏,基于所述双流自注意力机制和所述attention Mask机制实现对所述索引内容的各个关键词的所有相关性词的整合,得到各个所述关键词的词向量文本。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请图1所示实施例提供的基于词向量的搜索方法或者实现本申请图3所示实施例提供的基于词向量的搜索方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于词向量的搜索方法,其特征在于,应用于终端,所述方法包括:
响应于用户输入的索引内容,确定所述索引内容的关键词;
分别在预先存储的索引表中查找各个所述关键词的词向量;
计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
基于所述相似度显示与所述索引内容相匹配的搜索结果。
2.根据权利要求1所述的基于词向量的搜索方法,其特征在于,所述响应于用户输入的索引内容,确定所述索引内容的关键词,包括:
响应于用户输入的索引内容,对所述索引内容进行分词处理;
生成分词处理之后各个词的有权无向图;
基于所述有权无向图确定所述索引内容的关键词。
3.根据权利要求1所述的基于词向量的搜索方法,其特征在于,所述预先存储的索引表包括正序索引表或者反序索引表;所述正序索引表包括按照预设顺序排列的第一预设数量的索引号组成的词向量,所述索引号为抽取的与所述关键词相关联的文章标识信息;
所述反序索引表由第二预设数量的与所述关键词的关联度从大到小的词组成的词向量。
4.一种基于词向量的搜索方法,其特征在于,应用于服务器,所述方法包括:
获取用户在终端输入的索引内容;
根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本;
将所述索引内容的各个关键词的词向量文本以所述索引内容的目标长文本发送至所述终端,所述目标长文本用于指示所述终端确定所述索引内容的关键词的词向量,并计算确定的各个所述词向量与所有所述目标长文本之间的相似度,基于所述相似度显示与所述索引内容相匹配的搜索结果。
5.根据权利要求4所述的基于词向量的搜索方法,其特征在于,所述预先训练完成的XLIN模型包括双流自注意力机制和注意力标注attention Mask机制;所述双流自注意力机制包括自回归语言模型和自编码语言模型;所述attention Mask机制用于在所述自回归语言模型和所述自编码语言模型进行输入序列到输出序列转换过程中,对被输入序列选到的单词进行标记并隐藏掉,且使得没有被输入序列选取到的单词在预测结果中不发生作用。
6.根据权利要求5所述的基于词向量的搜索方法,其特征在于,所述根据预先训练完成的XLIN模型对所述索引内容进行分析,得到包含所述索引内容的各个关键词的词向量文本,包括:
将所述索引内容输入所述双流自注意力机制进行分析,在所述双流自注意力机制中得到所述索引内容的各个关键词的所有相关性词;
在所述attention Mask机制中对与所述索引内容的各个关键词不相关的词进行标记并隐藏,基于所述双流自注意力机制和所述attention Mask机制实现对所述索引内容的各个关键词的所有相关性词的整合,得到各个所述关键词的词向量文本。
7.一种终端,其特征在于,所述终端包括:
确定模块,用于响应于用户输入的索引内容,确定所述索引内容的关键词;
查找模块,用于分别在预先存储的索引表中查找各个所述关键词的词向量;
计算模块,用于计算各个所述词向量与所有目标长文本之间的相似度,所述目标长文本为预先存储的与所述索引内容关联的所有长文本,所述预先存储的与所述索引内容关联的所有长文本由服务器基于XLINE模型对所述索引内容进行分析,得到的包含所述索引内容的各个所述关键词的词向量文本;
显示模块,用于基于所述相似度显示与所述索引内容相匹配的搜索结果。
8.一种终端,其特征在于,所述终端包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至3中任一项所述的基于词向量的搜索方法。
9.一种服务器,其特征在于,所述服务器包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求4至6中任一项所述的基于词向量的搜索方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至3中任一项所述的基于词向量的搜索方法,或者所述计算机程序被处理器执行时使所述处理器实现如权利要求4至6任一项所述的基于词向量的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277854.4A CN112988971A (zh) | 2021-03-15 | 2021-03-15 | 基于词向量的搜索方法、终端、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277854.4A CN112988971A (zh) | 2021-03-15 | 2021-03-15 | 基于词向量的搜索方法、终端、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988971A true CN112988971A (zh) | 2021-06-18 |
Family
ID=76335571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277854.4A Pending CN112988971A (zh) | 2021-03-15 | 2021-03-15 | 基于词向量的搜索方法、终端、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988971A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492371A (zh) * | 2022-02-11 | 2022-05-13 | 网易传媒科技(北京)有限公司 | 文本处理方法及装置、存储介质、电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016048526A (ja) * | 2014-08-28 | 2016-04-07 | ヤフー株式会社 | 抽出装置、抽出方法および抽出プログラム |
WO2019041521A1 (zh) * | 2017-08-29 | 2019-03-07 | 平安科技(深圳)有限公司 | 用户关键词提取装置、方法及计算机可读存储介质 |
CN110019668A (zh) * | 2017-10-31 | 2019-07-16 | 北京国双科技有限公司 | 一种文本检索方法及装置 |
CN110362678A (zh) * | 2019-06-04 | 2019-10-22 | 哈尔滨工业大学(威海) | 一种自动提取中文文本关键词的方法与装置 |
CN110609952A (zh) * | 2019-08-15 | 2019-12-24 | 中国平安财产保险股份有限公司 | 数据采集方法、系统和计算机设备 |
WO2020108608A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 搜索结果处理方法、装置、终端、电子设备及存储介质 |
CN111967258A (zh) * | 2020-07-13 | 2020-11-20 | 中国科学院计算技术研究所 | 一种构建共指消解模型的方法、共指消解的方法和介质 |
CN112380244A (zh) * | 2020-12-02 | 2021-02-19 | 杭州筑龙信息技术股份有限公司 | 一种分词搜索方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-03-15 CN CN202110277854.4A patent/CN112988971A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016048526A (ja) * | 2014-08-28 | 2016-04-07 | ヤフー株式会社 | 抽出装置、抽出方法および抽出プログラム |
WO2019041521A1 (zh) * | 2017-08-29 | 2019-03-07 | 平安科技(深圳)有限公司 | 用户关键词提取装置、方法及计算机可读存储介质 |
CN110019668A (zh) * | 2017-10-31 | 2019-07-16 | 北京国双科技有限公司 | 一种文本检索方法及装置 |
WO2020108608A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 搜索结果处理方法、装置、终端、电子设备及存储介质 |
CN110362678A (zh) * | 2019-06-04 | 2019-10-22 | 哈尔滨工业大学(威海) | 一种自动提取中文文本关键词的方法与装置 |
CN110609952A (zh) * | 2019-08-15 | 2019-12-24 | 中国平安财产保险股份有限公司 | 数据采集方法、系统和计算机设备 |
CN111967258A (zh) * | 2020-07-13 | 2020-11-20 | 中国科学院计算技术研究所 | 一种构建共指消解模型的方法、共指消解的方法和介质 |
CN112380244A (zh) * | 2020-12-02 | 2021-02-19 | 杭州筑龙信息技术股份有限公司 | 一种分词搜索方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
听课才有源码: "XLNet看这篇文章就足以!", Retrieved from the Internet <URL:https://www.bilibili.com/read/cv6112470/> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492371A (zh) * | 2022-02-11 | 2022-05-13 | 网易传媒科技(北京)有限公司 | 文本处理方法及装置、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025819B2 (en) | Generating a query statement based on unstructured input | |
CN112732870B (zh) | 基于词向量的搜索方法、装置、设备及存储介质 | |
WO2018049960A1 (zh) | 一种为文本信息匹配资源的方法及装置 | |
KR101754473B1 (ko) | 문서를 이미지 기반 컨텐츠로 요약하여 제공하는 방법 및 시스템 | |
US20160306800A1 (en) | Reply recommendation apparatus and system and method for text construction | |
US10482146B2 (en) | Systems and methods for automatic customization of content filtering | |
CN111539197A (zh) | 文本匹配方法和装置以及计算机系统和可读存储介质 | |
CN110990533B (zh) | 确定查询文本所对应标准文本的方法及装置 | |
CN108287875B (zh) | 人物共现关系确定方法、专家推荐方法、装置及设备 | |
US10198497B2 (en) | Search term clustering | |
CN111737997A (zh) | 一种文本相似度确定方法、设备及储存介质 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN113434636B (zh) | 基于语义的近似文本搜索方法、装置、计算机设备及介质 | |
JP2021508391A (ja) | 対象領域およびクライアント固有のアプリケーション・プログラム・インタフェース推奨の促進 | |
CN112632261A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN114036322A (zh) | 用于搜索系统的训练方法、电子设备和存储介质 | |
CN109977292A (zh) | 搜索方法、装置、计算设备和计算机可读存储介质 | |
CN114880447A (zh) | 信息检索方法、装置、设备及存储介质 | |
KR101545050B1 (ko) | 정답 유형 자동 분류 방법 및 장치, 이를 이용한 질의 응답 시스템 | |
CN113988157A (zh) | 语义检索网络训练方法、装置、电子设备及存储介质 | |
GB2568575A (en) | Document search using grammatical units | |
CN112925912B (zh) | 文本处理方法、同义文本召回方法及装置 | |
CN112988971A (zh) | 基于词向量的搜索方法、终端、服务器及存储介质 | |
CN116340502A (zh) | 基于语义理解的信息检索方法和装置 | |
Negaresh et al. | Gender identification of mobile phone users based on internet usage pattern |
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 |