CN110888967A - 搜索方法、装置及设备 - Google Patents
搜索方法、装置及设备 Download PDFInfo
- Publication number
- CN110888967A CN110888967A CN201811055357.4A CN201811055357A CN110888967A CN 110888967 A CN110888967 A CN 110888967A CN 201811055357 A CN201811055357 A CN 201811055357A CN 110888967 A CN110888967 A CN 110888967A
- Authority
- CN
- China
- Prior art keywords
- language
- output
- layer
- word
- query
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出了一种搜索方法、装置及设备。接收客户端发送的查询语句;使用预先训练好的语种识别模型组件对查询语句的语种进行识别,以得到语种识别结果,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果;以及基于语种识别结果,向客户端反馈搜索结果。由此,在提高计算效率的同时,还可以提高语种识别的准确率,进而提高查询结果准确率。
Description
技术领域
本公开涉及互联网技术领域,特别是涉及一种搜索方法、装置及设备。
背景技术
为了提高搜索效率,商品搜索引擎对所有的商品标题一般会统一用一个语种来建立索引。当用户进行商品搜索时,首先需要对用户输入的查询(Query)进行语种识别,然后调用翻译引擎将其翻译成统一语言,才能去跟商品库中的商品进行匹配。
错误的语种识别将导致错译或者未翻译,最终导致商品无法被召回,影响用户体验。此外,对于一些混有品牌型号词或多种语言混杂的Query,如果不能正确识别出用户的语向,将不能展示给用户所期望语种的商品信息。
举例来说,对于“iphone6teile”这一Query,iphone6为品牌名,teile为德语,期望识别出的语种为德语;对于“cueca boxer men”这一Query,cueca boxer为葡萄牙语,men为英语;对于“vestidos de cóctel”这一Query,语种为西班牙语;对于“vestido de noivas”这一Query,语种为葡萄牙语。。
因此,针对这种多语言混杂(包括品牌型号词混杂)问题,以及针对葡萄牙语和西班牙语这种相似语种间的识别问题,都需要一种精准的语种识别方案。
发明内容
本公开的一个目的在于提供一种能够提升搜索效率和准确率的方案,以解决上述至少一种问题。
根据本公开的第一个方面,提出了一种搜索方法,包括:接收客户端发送的查询语句;使用预先训练好的语种识别模型组件对查询语句的语种进行识别,以得到语种识别结果,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果;以及基于语种识别结果,向客户端反馈搜索结果。
可选地,语种识别模型组件包括依次连接的嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器,嵌入层和分类器分别为语种识别模型组件的输入端和输出端,该方法还包括:对查询语句中的各字符进行编码,以得到相应的查询编码序列,或者对查询语句中的各单词和各字符进行编码,以得到混合查询编码序列,其中,使用预先训练好的语种识别模型组件对查询语句的语种进行识别的步骤包括:将查询语句对应的查询编码序列或混合查询编码序列作为输入,输入嵌入层,以得到分类器输出的语种识别结果。
可选地,查询编码序列中的各编码经由嵌入层被转化为相应的第一向量,第一向量经由位置编码器确定对应的位置编码向量;基于第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为自注意力层的输入,以获取自注意力层的输出;自注意力层的输出作为前馈神经网络层的输入,前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,神经元的输出用于表征语种训练数据中文本属于神经元对应语种的概率;分类器用于基于各神经元的输出,确定查询语句属于各语种的概率值。
可选地,自注意力层用于针对至少一个第二向量,计算第二向量对向量序列中至少部分第二向量的注意力值,基于注意力值对至少部分第二向量进行加权求和,并将结果与第二向量相加,以得到第三向量,并基于第三向量进行特征抽象。
可选地,查询编码序列中的各编码或混合查询编码序列中的各编码经由嵌入层被转化为相应的第一向量,第一向量经由位置编码器确定对应的位置编码向量;基于第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为自注意力层的输入,以获取自注意力层的输出;自注意力层的输出作为前馈神经网络层的输入,前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,神经元的输出用于表征识别出的各单词属于神经元对应语种的概率;分类器用于基于各神经元的输出,确定查询语句中各单词属于各语种的概率值。
可选地,输出层用于基于分类器输出的查询语句属于多个语种中不同语种的概率值,确定查询语句所属的语种,或者输出层用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,或者输出层用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,并基于各单词的语种,确定查询语句所属的语种。
可选地,向客户端反馈搜索结果的步骤包括:基于输出层的输出,将查询语句翻译为与针对数据库中的数据建立的索引的描述语言一致的文本;基于翻译后的文本进行查询;以及将查询到的数据发送给客户端。
可选地,数据库为商品库,基于翻译后的文本进行查询的步骤包括:基于翻译后的文本和索引,从商品库中查找与文本相匹配的商品。
可选地,训练数据集合包括多条语种训练数据,每条语种训练数据包括文本和文本的真实语种,基于预先获取的训练数据集合进行模型训练,包括:对训练数据集合中的各条语种训练数据,将语种训练数据中文本的各字符进行编码以得到相应的编码序列;将语种训练数据对应的编码序列作为输入,输入嵌入层,以得到分类器输出的、语种训练数据中文本的语种识别结果;基于语种训练数据中文本的语种识别结果和真实语种,调整语种识别模型组件的网络参数。
可选地,训练数据集合包括多条语种训练数据,训练数据集合包括多条语种训练数据,每条语种训练数据包括文本和文本中各单词的真实语种,基于预先获取到的训练数据集合对语种识别模型组件进行训练的步骤包括:对训练数据集合中的各条语种训练数据,将语种训练数据中文本的各字符进行编码以得到相应的编码序列,或者,将语种训练数据中文本的各单词和各字符进行编码以得到混合编码序列;将语种训练数据对应的编码序列或混合编码序列作为输入,输入嵌入层,以得到分类器输出的、语种训练数据中文本的各单词的语种识别结果;基于语种训练数据中文本的各单词的语种识别结果和真实语种,调整语种识别模型组件的网络参数。
可选地,调整语种识别模型组件的网络参数的步骤包括:调整嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器中至少一项的网络参数。
可选地,调整语种识别模型组件的网络参数的步骤包括:使用反向传播算法调整语种识别模型组件的网络参数。
可选地,字符为字母、汉字、数字、标点符号和空格中任一种。
根据本公开的第二个方面,还提供了一种搜索方法,包括:将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别查询语句的语种,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果;接收服务器基于语种识别结果反馈的搜索结果;以及向用户提供搜索结果。
根据本公开的第三个方面,还提供了一种搜索装置,包括:接收模块,用于接收客户端发送的查询语句;语种识别模块,用于使用预先训练好的语种识别模型组件对查询语句的语种进行识别,以得到语种识别结果,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果;以及反馈模块,用于基于语种识别结果,向客户端反馈搜索结果。
可选地,语种识别模型组件包括依次连接的嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器,其中,嵌入层和分类器分别为语种识别模型组件的输入端和输出端,该搜索装置还包括:编码模块,用于对查询语句中的各字符进行编码,以得到相应的查询编码序列,或者对查询语句中的各单词和各字符进行编码,以得到混合查询编码序列,语种识别模块将对应的查询编码序列或混合查询编码序列作为输入,输入嵌入层,以得到分类器输出的语种识别结果。
可选地,输出层用于基于分类器输出的查询语句属于多个语种中不同语种的概率值,确定查询语句所属的语种,或者输出层用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,或者输出层用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,并基于各单词的语种,确定查询语句所属的语种。
可选地,反馈模块包括:翻译模块,用于基于输出层的输出,将查询语句翻译为与针对数据库中的数据建立的索引的描述语言一致的文本;查询模块,用于基于翻译后的文本进行查询;以及发送模块,用于将查询到的数据发送给客户端。
可选地,数据库为商品库,查询模块基于翻译后的文本和索引,从商品库中查找与文本相匹配的商品。
根据本公开的第四个方面,还提供了一种搜索装置,包括:发送模块,用于将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别所述查询语句的语种,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果;接收模块,用于接收服务器基于语种识别结果反馈的搜索结果;以及提供模块,用于向用户提供搜索结果。
根据本公开的第五个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本公开第一个方面或第二个方面述及的方法。
根据本公开的第六个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本公开第一个方面或第二个方面述及的方法。
本公开采用“前馈神经网络+Self-attention”的模型结构进行语种识别。由于前馈神经网络中数据的流经方向只有一个,便于并行实现,提高计算效率,而Self-attention不仅具有可以同时捕捉长距离依赖和文本顺序的优势,由于不依赖前一个时刻的状态,所以也可以很好地并行化,并且语种识别准确率也有明显提升。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是示出了根据本公开一实施例的语种识别模型组件的结构示意图。
图2是示出了自注意力层的一种结构示意图。
图3是示出了根据本公开一实施例的语种识别模型组件的生成方法的示意性流程图。
图4示出了本公开和现有的语种识别模型组件的测试效果对比图。
图5是示出了根据本公开一实施例的搜索方法的示意性流程图。
图6是示出了根据本公开另一实施例的搜索方法的示意性流程图。
图7示出了根据本公开一实施例的搜索装置的结构的示意性方框图。
图8示出了根据本公开另一实施例的搜索装置的结构的示意性方框图。
图9示出了根据本公开一实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
【术语解释】
Self-attention:自注意力机制,一种无需外部信息即可对自身进行attention的神经网络结构。
前馈神经网络:(Feedforward Neural Network,FNN),为人工智能领域中,最早发明的简单人工神经网络类型。在它内部,参数从输入层向输出层单向传播。有异于递归神经网络,前馈神经网络中数据的流经方向只有一个,即输入层->[隐含层]->输出层。
反向传播:(Backpropagation,BP),是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。
【方案概述】
本方案中搜索结果的准确度,很大程度上依赖于对查询语句进行语种识别所得结果的准确度,而语种识别本质上是文本多分类问题,传统的语种识别方法有基于最大熵模型(MaxEnt,全称:Maximum Entropy Model)、基于循环神经网络模型(RNN,全称:RecurrentNeural Networks)和基于卷积神经网络模型(CNN,全称:Convolutional Neural Network)的方法。
最大熵分类器的方法是基于传统的统计学方法,该方法需要人手动进行特征选取,并且分类性能有限。
基于循环神经网络和基于卷积神经网络的方法不需要人手动进行特征工程。但循环神经网络依赖t-1时刻的历史信息来计算t时刻的信息,因此不能并行实现,计算效率比较低,特别是训练样本量非常大的时候。
卷积神经网络相比循环神经网络模型,有效率高、可以捕捉长距离依赖的优势,但是对于文本顺序的体现并不太好。
本公开发明人注意到,在文本的语种识别任务中,既需要兼顾单词内字母间的顺序特征,也需要考虑长距离单词间的组合关系,才能较好地识别出含有特殊名词或多语种混杂的句子的真正语向,特别是相近语种混杂的情况。
有鉴于此,本公开提出,可以采用“前馈神经网络+自注意力机制(Self-attention)”的模型结构进行语种识别。由于前馈神经网络中数据的流经方向只有一个,便于并行实现,提高计算效率,而Self-attention不仅具有可以同时捕捉长距离依赖和文本顺序的优势,由于不依赖前一个时刻的状态,所以也可以很好地并行化,训练速度比RNN快,兼具了RNN和CNN的优势。此外,相比传统的最大熵模型,其预测准确率也有明显提升。
下面就本公开涉及的各方面做进一步说明。考虑到本公开中的搜索方案是基于预先训练好的语种识别模型组件实现的,先对语种识别模型组件进行说明,而后在该语种识别模型组件的基础上,对搜索方法进一步说明。
【语种识别模型组件】
图1是示出了本公开构建的语种识别模型组件的结构示意图。如图1所示,本公开构建的语种识别模型组件可以包括嵌入层(Word Embedding)、位置编码器(PositionalEncoding)、自注意力层(Self-attention)、前馈神经网络层(FNN)以及分类器(通常使用Softmax分类器)。其中,嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器依次连接以形成语种识别模型组件,嵌入层和分类器分别为语种识别模型组件的输入端和输出端。并且,可选地,语种识别模型组件还可以包括与分类器连接的输出层(Output),将输出层作为最终的输出端。
本公开述及的语种识别模型组件可以用于以文本为粒度对文本的语种进行识别,也可以用于以单词为粒度对文本中各单词的语种进行识别。
以文本为粒度进行识别
以语种识别模型组件用于以整个文本为粒度,对文本的语种(也即文本的语向)进行识别为例,嵌入层的输入可以是文本中各字符经过编码后得到的编码序列。也就是说,对于输入文本,可以按照字符粒度进行编码,例如,针对文本中的每个字符可以进行utf-8编码,每个字符的编码结果可以作为一个word,形成输入序列:w0,w1,w2...。其中,本公开述及的字符是指文本的最小拆分单元,以英语、德语为例,字符可以是指文本中的单个字母,以汉语为例,字符可以是指文本中的单个汉字。并且,对于文本中出现的标点符号(如逗号、顿号、句号等)、空格、数字等标记,均可以将其视为一个字符,进行编码。由此,本公开述及的字符可以是字母、汉字、数字、标点符号以及空格中的任一种。例如,对于“cueca boxer”这一文本,可以将其拆分为{c,u,e,c,a,空格,b,o,x,e,r}这一有序字符串,然后对这一有序字符串中的每个字符进行编码。
编码序列中的每个编码经由嵌入层被转化为第一向量。其中,第一向量可以是指词向量(Word Embedding),即可以通过词向量(Word Embedding)技术获取每个字符的词向量,作为第一向量。作为示例,嵌入层可以通过查表的方式获取每个字符的第一向量。其中,所查找的表中存储了各种字符的向量化表示,此处述及的表可以是现成的,也可以是通过训练得到的。
每个第一向量可以经由位置编码器确定其位置编码向量。此处述及的位置编码向量可以用于表征第一向量所对应的字符在文本中的相对位置和/或绝对位置。并且,位置编码向量的维度可以与第一向量的维度相同,以便于运算(如直接相加)。具体可以使用多种位置编码方式,例如可以使用正弦和余弦函数进行编码,具体编码原理,此处不再赘述。
基于第一向量及其位置编码向量生成第二向量,将由多个(如全部)第二向量构成的向量序列作为自注意力层的输入,以得到自注意力层的输出。如上文所述,第一向量和位置编码向量的维度可以相同,因此可以将每个第一向量与其对应的位置编码向量相加,以得到第二向量。自注意力层可以针对至少一个第二向量,计算该第二向量对向量序列中至少部分第二向量的注意力值,基于注意力值对至少部分第二向量进行加权求和,并将结果与该第二向量相加,以得到第三向量,并基于第三向量进行特征抽象。
注意力机制(Attention)的本质来自于人类视觉注意力机制。人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分。而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习在将来再出现类似场景时把注意力放到该部分上。自注意力机制(Self-attention)是指无需外部信息即可对自身进行注意力调整的注意力机制。
作为示例,可以针对每个第二向量,计算该第二向量对向量序列中至少部分第二向量(可以包括该第二向量本身)的注意力值,其中,注意力值也即权重值,可以基于注意力值进行加权求和,并将求和结果与该第二向量自身做残差(也即与自身相加)。举例来说,假设向量序列为{a1,a2,a3,a4},对于a1,可以基于自注意力机制分别计算a1对a1的注意力值,a1对a2的注意力值,a1对a3的注意力值,a1对a4的注意力值。然后可以基于不同的注意力值进行加权求和,再和a1自身做残差(也就是和a1相加)。所得到的第三向量可以视为第二向量经过内部注意力调整后的向量,可以反映不同字符间的组合关系,由此可以为识别出文本中含有的特殊名称或多语种混杂文本的识别,提供了便利。对于得到的第三向量,可以进行进一步的特征抽象,例如,可以设置一个前向网络和残差网络做进一步特征抽象,特征抽象的具体实现过程,此处不再赘述。
图2是示出了自注意力层的一种结构示意图。
如图2所示,自注意力层可以由一个多头的注意力机制以及前馈神经网络层组成,具体可以包括多头的注意力机制(Multi-head attention)、层正则化(Add&Norm)、一层前馈神经网络层(FNN layer)以及层正则化(Add&Norm)。其中,Multi-head attention是对上下文信息的融合,层正则化(Add&Norm)中Norm表示通过范数正则化来加速收敛,防止网络参数梯度爆炸和消失。Add表示通过残差网络来强化当前位置的向量,因为是在处理时重复加上了当前位置的向量。关于自注意力层各部分的工作原理为本领域成熟技术,此处不再赘述。
自注意力层的输出作为前馈神经网络层的输入,前馈神经网络层用于对文本属于多个语种中不同语种的概率进行预测。前馈神经网络采用一种单向多层结构。每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。其中第一层称为输入层,最后一层为输出层,中间为隐含层,简称隐层,隐层可以是一层,也可以是多层。在本公开中,前馈神经网络层的输出层可以包括多个神经元,每个神经元对应一个不同的语种,神经元的输出用于表征文本属于该神经元对应的语种的概率。例如,如果总共有10个语种的话,那么前馈神经网络的输出层的神经元的个数为10,输出层中的每个神经元对应一个不同的语种,输出层中每个神经元的输出(一个向量)可以表征文本属于该神经元对应的语种的概率。
分类器用于基于前馈神经网络层的输出层中的神经元的输出,确定文本属于多个语种中不同语种的概率值。例如,分类器(Softmax)可以将前馈神经网络层的神经元的输出映射到(0,1)区间,以得到文本属于多个语种中不同语种的概率值。
可选地,语种识别模型组件还可以包括与分类器连接的输出层。输出层可以基于分类器输出的文本属于多个语种中不同语种的概率值,输出文本所属的语种。例如,输出层可以选出分类器的输出中最大概率值对应的语种作为文本所属语种的最终识别结果,并映射到相应语种代号(例如俄语代号ru、英语代号en等),即输出层的最终输出结果可以是语种代号。
以单词为粒度进行识别
本公开的语种识别模型组件还可以用于以单词为粒度,对文本中各单词的语种进行识别。
在以单词为粒度对文本中各单词的语种进行识别时,语种识别模型组件的结构可以仍是图1所示的结构。输入端的数据处理可以保持不变,即可以将对文本中的各字符进行编码得到的编码序列作为输入。另外,也可以在输入端也可以加入单词特征,如可以将对文本中的各单词和各字符进行编码得到的混合编码序列作为输入。其中,嵌入层、位置编码器、自注意力层的处理流程可以与对整个文本所属的语种进行识别时的处理流程相同,此处不再赘述。
主要不同之处在于,前馈神经网络层用于对识别到的各单词属于多个语种中不同语种的概率进行预测,也就是说,前馈神经网络层中的输出层包括多个神经元,每个神经元对应一个不同的语种,每个神经元的输出用于表征识别到的各单词属于该神经元对应的语种的概率。换言之,每个神经元的输出可以看作由多个向量构成,每个向量对应一个单词,用于表征对应的单词属于该神经元对应的语种的概率。分类器用于基于多个神经元的输出结果,确定各单词属于多个语种中不同语种的概率值。例如,分类器可以将前馈神经网络层的输出层中每个神经元输出的多个向量,分别映射到(0,1)区间,以得到识别到的各单词属于多个语种中不同语种的概率值。
语种识别模型组件还可以包括与分类器连接的输出层。输出层用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种。例如,输出层可以选出分类器的针对同一单词的输出中最大概率值对应的语种作为该单词所属语种,并映射到相应语种代号(例如俄语代号ru、英语代号en、德语代号de等)。如对于“The world is veryKomplex”,输出层最终的输出结果可以是“en en en de”。另外,输出层也可以关联地输出识别出的单词及其语种。例如,对于“iphone teile”这一Query,输出层最后输出的识别结果可以是:iphone,语种为en;teile,语种为de。由此,可以便于后续根据具体的业务逻辑进行处理,如可以忽略品牌词的语种,而将德语作为最后结果。
进一步地,输出层还可以基于各单词的语种,确定文本所属的语种,也即文本的语向。例如,输出层可以基于各单词的语种,确定各语种的出现次数,选择出现次数最多的语种作为文本的语种,如对于“The world is very Komplex”,输出层可以根据“en en ende”,将出现次数最多的英语(en)作为文本所属的语种。另外,输出层还可以具有其他处理逻辑,此处不再赘述。
【模型训练】
在本公开中,语种识别模型组件中的各部分可以作为一个整体联合训练,也可以将其中部分结构作为一个整体进行联合训练。例如,嵌入层可以通过查表的方式获取文本中各字符的词向量(即第一向量),其中,所查的表可以是基于现有的其他方式预先训练得到的,此时嵌入层可以不参与模型训练,即在模型训练过程中不对嵌入层的网络参数进行更改。另外,嵌入层所查找的表也可以随着语种识别模型组件一起训练得到。
图3是示出了根据本公开一实施例的语种识别模型组件的生成方法的示意性流程图。
参见图3,在步骤S310,创建嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器。
在步骤S320,将嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器依次连接,以构建语种识别模型组件,其中,嵌入层和分类器分别为语种识别模型组件的输入端和输出端。
在步骤S330,基于预先获取的训练数据集合对语种识别模型组件进行训练,以便分类器的输出指示输入文本所对应的语种。
关于语种识别模型组件的结构及数据处理流程可以参见上文结合图1、图2的描述,此处不再赘述。
在所生成的语种识别模型组件用于对整个文本的语种进行识别的情况下,训练数据集合可以包括多条语种训练数据,每条语种训练数据可以包括文本和文本的真实语种。其中,文本可以是通过多种渠道获取的,如可以是获取的大规模用户的历史搜索语句,其中,文本的真实语种可以通过标记(如人工标记)得到。
对于训练数据集合中的各条语种训练数据,可以将语种训练数据中文本的各字符进行编码以得到相应的编码序列,并将将语种训练数据对应的编码序列作为输入,输入嵌入层,以得到分类器输出的、语种训练数据中文本的语种识别结果。基于语种识别结果和真实语种,可以调整语种识别模型组件的网络参数。其中,此处述及的语种识别结果可以是分类器输出的文本属于多个语种中不同语种的概率值,可以基于分类器输出的概率分布以及真实语种,确定误差。其中,关于误差的确定过程为本领域成熟技术,此处不再赘述。基于确定的误差可以对语种识别模型组件的网络参数进行调整。例如,可以调整嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器中的至少一项。
作为示例,可以使用反向传播算法调整语种识别模型组件的网络参数。反向传播算法可以视为是梯度下降在链式法则中的应用。简要来说,可以基于误差,计算损失函数梯度,基于损失函数梯度,使用链式法对每层迭代计算梯度,并更新网络参数。如此可以训练多次,直至语种识别模型组件的误差满足需求,或者训练次数超过一定阈值。基于反向传播算法的模型体训练过程为本领域成熟技术,此处不再赘述。
在所生成的语种识别模型组件用于以单词为粒度对文本中的各单词的语种进行识别的情况下,训练数据集合可以包括多条语种训练数据,每条语种训练数据可以包括文本和文本中各单词的真实语种。其中,文本可以是通过多种渠道获取的,如可以是获取的大规模用户的历史搜索语句,其中,文本的真实语种可以通过标记(如人工标记)得到。
对于训练数据集合中的各条语种训练数据,可以将语种训练数据中文本的各字符进行编码以得到相应的编码序列,或者,也可以将语种训练数据中文本的各单词和各字符进行编码以得到混合编码序列。可以将语种训练数据对应的编码序列或混合编码序列作为输入,输入嵌入层,以得到分类器输出的、语种训练数据中文本的各单词的语种识别结果。基于语种训练数据中文本的各单词的语种识别结果和文本中各单词的真实语种,调整语种识别模型组件的网络参数。其中,此处述及的语种识别结果可以是分类器输出的识别到的各单词属于多个语种中不同语种的概率值,可以基于识别到的各单词及其属于多个语种中不同语种的概率值,以及文本中各单词的真实语种,确定误差,并语种识别模型组件的网络参数进行调整。例如,可以调整嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器中的至少一项。
作为示例,可以使用反向传播算法调整语种识别模型组件的网络参数。反向传播算法可以视为是梯度下降在链式法则中的应用。简要来说,可以基于误差,计算损失函数梯度,基于损失函数梯度,使用链式法对每层迭代计算梯度,并更新网络参数。如此可以训练多次,直至语种识别模型组件的误差满足需求,或者训练次数超过一定阈值。基于反向传播算法的模型体训练过程为本领域成熟技术,此处不再赘述。
至此,结合图1至图3就本公开的语种识别模型组件的结构以及模型生成(包括训练)过程做了详细说明。
Self-attention不仅有可以同时捕捉长距离依赖和文本顺序的优势,由于不依赖前一个时刻的状态,所以也可以很好地并行化,训练速度比RNN快,兼具了RNN和CNN的优势。此外,相比传统的最大熵模型,其预测准确率也有明显提升。
技术效果方面,本公开通过一个人工标注的测试集验证了性能,该测试集中共有21419个文本句子,包含11个西语语向,其中一半为网站用户Query,一半为通用领域句子。具体测试结果如图4的表格中所示,可见,Self-attention的引入,可以明显地提高预测准确率。
【搜索方法】
本公开的语种识别模型组件可以用于搜索领域,对用户输入的查询语句的语种进行识别。
图5是示出了根据本公开一实施例的搜索方法的示意性流程图。其中,图5所示的方法可以由服务器执行,如可以由搜索服务器执行。
参见图5,在步骤S510,接收客户端发送的查询语句。
在步骤S520,使用预先训练好的语种识别模型组件对查询语句的语种进行识别,以得到语种识别结果,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果。
在步骤S530,基于语种识别结果,向客户端反馈搜索结果。
语种识别模型组件可以是用于对输入的整个语句属于多个语种中不同语种的概率进行预测的模型组件,也可以是用于对输入的语句中不同单词属于多个语种中不同语种的概率进行预测的模型组件。其中,关于语种识别模型组件的结构及针对查询语句的处理流程可以参见上文相关说明,此处不再赘述。
作为本公开的一个示例,在语种识别模型组件用于对整个查询语句的语种进行识别的情况下,可以对查询语句中的各字符进行编码,以得到相应的查询编码序列,并将查询编码序列输入语种识别模型组件中的嵌入层,以得到语种识别模型组件输出的语种识别结果。可选地,语种识别模型组件中的输出层用于基于分类器输出的查询语句属于多个语种中不同语种的概率值,确定查询语句所属的语种。
具体来说,查询编码序列中的各编码经由嵌入层被转化为相应的第一向量,第一向量经由位置编码器确定对应的位置编码向量。基于第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为自注意力层的输入,以获取自注意力层的输出。自注意力层的输出作为前馈神经网络层的输入,前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,神经元的输出用于表征语种训练数据中文本属于神经元对应语种的概率。分类器用于基于各神经元的输出,确定查询语句属于各语种的概率值。
其中,自注意力层用于针对至少一个第二向量,计算第二向量对向量序列中至少部分第二向量的注意力值,基于注意力值对至少部分第二向量进行加权求和,并将结果与第二向量相加,以得到第三向量,并基于第三向量进行特征抽象。
作为本公开的另一个示例,在语种识别模型组件用于以单词为粒度对查询语句中各单词的语种进行识别的情况下,可以对查询语句中的各字符进行编码,以得到相应的编码序列,并将该编码序列输入语种识别模型组件中的嵌入层,以得到语种识别模型组件输出的语种识别结果。另外,也可以对查询语句中的各单词和各字符进行编码,以得到混合编码序列,并将混合编码序列输入语种识别模型组件中的嵌入层,以得到语种识别模型组件输出的语种识别结果。可选地,语种识别模型组件中的输出层可以用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种。并且,可选地,输出层还可以用于基于各单词的语种,确定查询语句所属的语种。
具体来说,查询编码序列中的各编码或混合查询编码序列中的各编码经由嵌入层被转化为相应的第一向量,第一向量经由位置编码器确定对应的位置编码向量。基于第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为自注意力层的输入,以获取自注意力层的输出。自注意力层的输出作为前馈神经网络层的输入,前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,神经元的输出用于表征识别出的各单词属于神经元对应语种的概率。分类器用于基于各神经元的输出,确定查询语句中各单词属于各语种的概率值。
基于输出层的输出,可以将查询语句翻译为与针对数据库中的数据建立的索引的描述语言一致的文本,基于翻译后的文本进行查询,并将查询到的数据发送给客户端。
以本公开的搜索方法应用于电商领域中的商品搜索为例,基于语种识别结果,可以将查询语句翻译为与商品库中的商品描述语言一致的文本,基于翻译后的文本进行查询,并将查询到的搜索结果反馈给客户端。例如,商品库中的所有商品的商品标题可以是基于统一语言(如汉语)建立的索引,在识别到用户输入的查询语句的语种为英语的情况下,可以使用英汉翻译引擎,将查询语句翻译为汉语,然后再基于翻译文本和索引,与商品库中的商品进行匹配,以查找最为匹配的商品,反馈给用户。
图6是示出了根据本公开另一实施例的搜索方法的示意性流程图。其中,图6所示的方法可以由客户端执行。
参见图6,在步骤S610,将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别所述查询语句的语种,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果。
在步骤S620,接收服务器基于语种识别结果反馈的搜索结果。
在步骤S630,向用户提供搜索结果。
语种识别模型组件可以是用于对输入的整个语句属于多个语种中不同语种的概率进行预测的模型组件,也可以是用于对输入的语句中不同单词属于多个语种中不同语种的概率进行预测的模型zujian。其中,关于语种识别模型组件的结构及处理流程可以参见上文相关说明,此处不再赘述。关于服务器的执行流程可以参见上文结合图5的描述,此处不再赘述。
【搜索装置】
图7、图8分别示出了根据本公开一实施例的搜索装置的结构的示意性方框图。其中,搜索装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7、图8所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就搜索装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关的描述,这里不再赘述。
参见图7,搜索装置700包括接收模块710、语种识别模块720以及反馈模块730。其中,搜索装置700可以设置在服务器端。
接收模块710用于接收客户端发送的查询语句。语种识别模块720用于使用预先训练好的语种识别模型组件对所述查询语句的语种进行识别,以得到语种识别结果,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果。反馈模块730用于基于语种识别结果,向客户端反馈搜索结果。
语种识别模型组件包括依次连接的嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器,其中,嵌入层和分类器分别为语种识别模型组件的输入端和输出端。其中,关于语种识别模型组件中各部分的处理流程可以参见上文相关说明,此处不再赘述。
可选地,搜索装置700还可以包括编码模块(图中未示出)。在语种识别模型组件用于以文本为粒度对查询语句的语种进行识别时,编码模块可以用于对查询语句中的各字符进行编码,以得到相应的查询编码序列,语种识别模块720可以将查询编码序列输入嵌入层,以得到分类器输出的语种识别结果。可选地,语种识别模型组件中的输出层用于基于分类器输出的查询语句属于多个语种中不同语种的概率值,确定查询语句所属的语种。
在语种识别模型组件用于以单词为粒度对查询语句中各单词的语种进行识别时,编码模块可以用于对查询语句中的各字符进行编码,以得到相应的查询编码序列,语种识别模块720可以将该查询编码序列输入嵌入层,以得到分类器输出的语种识别结果。另外,编码模块也可以对查询语句中的各单词和各字符进行编码,以得到混合查询编码序列,语种识别模块720可以将混合查询编码序列输入嵌入层,以得到分类器输出的语种识别结果。可选地,语种识别模型组件中的输出层可以用于基于分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种。并且,可选地,输出层还可以用于基于各单词的语种,确定查询语句所属的语种。
可选地,反馈模块730可以包括翻译模块、查询模块以及发送模块。翻译模块用于基于输出层的输出,将查询语句翻译为与针对数据库中的数据建立的索引的描述语言一致的文本。查询模块,用于基于翻译后的文本进行查询。发送模块,用于将查询到的数据发送给客户端。可选地,数据库为商品库,查询模块可以基于翻译后的文本和索引,从商品库中查找与文本相匹配的商品。
参见图8,搜索装置800包括发送模块810、接收模块820以及提供模块830。其中,搜索装置800可以设置在客户端。
发送模块810用于将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别所述查询语句的语种,其中,语种识别模型组件的输出层可基于分类器输出的、查询语句中各单词属于各语种的概率值,确定查询语句中各单词的语种而形成对应的语种识别结果。接收模块820用于接收服务器基于语种识别结果反馈的搜索结果。提供模块830用于向用户提供搜索结果。其中,关于语种识别模型组件、服务器反馈的搜索结果,可以参见上文相关描述,此处不再赘述。
【计算设备】
图9示出了根据本公开一实施例可用于实现上述方法的计算设备的结构示意图。
参见图9,计算设备900包括存储器910和处理器920。
处理器920可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器920可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器920可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器910可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器910可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器910可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器910上存储有可执行代码,当可执行代码被处理器920执行时,可以使处理器920执行上文述及的方法。
上文中已经参考附图详细描述了根据本公开的搜索方法、装置及设备。
此外,根据本公开的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本公开的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本公开还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本公开的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本公开的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (19)
1.一种搜索方法,包括:
接收客户端发送的查询语句;
使用预先训练好的语种识别模型组件对所述查询语句的语种进行识别,以得到语种识别结果,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果;以及
基于所述语种识别结果,向客户端反馈搜索结果。
2.根据权利要求1所述的搜索方法,其中,所述语种识别模型组件包括依次连接的嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器,所述嵌入层和所述分类器分别为所述语种识别模型组件的输入端和输出端,所述方法还包括:
对所述查询语句中的各字符进行编码,以得到相应的查询编码序列,或者对所述查询语句中的各单词和各字符进行编码,以得到混合查询编码序列,
其中,所述使用预先训练好的语种识别模型组件对所述查询语句的语种进行识别的步骤包括:将所述查询语句对应的查询编码序列或混合查询编码序列作为输入,输入所述嵌入层,以得到所述分类器输出的语种识别结果。
3.根据权利要求2所述的搜索方法,其中:
所述查询编码序列中的各编码经由所述嵌入层被转化为相应的第一向量,所述第一向量经由所述位置编码器确定对应的位置编码向量;
基于所述第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为所述自注意力层的输入,以获取所述自注意力层的输出;
所述自注意力层的输出作为所述前馈神经网络层的输入,所述前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,所述神经元的输出用于表征所述语种训练数据中文本属于所述神经元对应语种的概率;
所述分类器用于基于各神经元的输出,确定所述查询语句属于各语种的概率值。
4.根据权利要求3所述的搜索方法,其中:
所述自注意力层用于针对至少一个第二向量,计算所述第二向量对所述向量序列中至少部分第二向量的注意力值,基于所述注意力值对所述至少部分第二向量进行加权求和,并将结果与所述第二向量相加,以得到第三向量,并基于所述第三向量进行特征抽象。
5.根据权利要求2所述的搜索方法,其中:
所述查询编码序列中的各编码或所述混合查询编码序列中的各编码经由所述嵌入层被转化为相应的第一向量,所述第一向量经由所述位置编码器确定对应的位置编码向量;
基于所述第一向量及对应的位置编码向量生成第二向量,将由全部第二向量形成的向量序列作为所述自注意力层的输入,以获取所述自注意力层的输出;
所述自注意力层的输出作为所述前馈神经网络层的输入,所述前馈神经网络层的输出层包括多个神经元,每个神经元对应一个不同的语种,所述神经元的输出用于表征识别出的各单词属于所述神经元对应语种的概率;
所述分类器用于基于各神经元的输出,确定所述查询语句中各单词属于各语种的概率值。
6.根据权利要求1或2所述的搜索方法,其中:
所述输出层用于基于所述分类器输出的所述查询语句属于多个语种中不同语种的概率值,确定所述查询语句所属的语种,或者
所述输出层用于基于所述分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,或者
所述输出层用于基于所述分类器输出的各单词属于多个语种中不同语种的概率值,确定各单词的语种,并基于各单词的语种,确定所述查询语句所属的语种。
7.根据权利要求6所述的搜索方法,其中,所述向客户端反馈搜索结果的步骤包括:
基于所述输出层的输出,将所述查询语句翻译为与针对数据库中的数据建立的索引的描述语言一致的文本;
基于翻译后的文本进行查询;以及
将查询到的数据发送给所述客户端。
8.根据权利要求7所述的搜索方法,其中,所述数据库为商品库,所述基于翻译后的文本进行查询的步骤包括:
基于翻译后的文本和所述索引,从所述商品库中查找与所述文本相匹配的商品。
9.根据权利要求2所述的搜索方法,其中,所述语种识别模型组件基于预先获取的训练数据集合进行模型训练,以便所述分类器的输出指示输入文本所对应的语种。
10.根据权利要求9所述的搜索方法,其中,所述训练数据集合包括多条语种训练数据,每条语种训练数据包括文本和所述文本的真实语种,所述基于预先获取的训练数据集合进行模型训练,包括:
对训练数据集合中的各条语种训练数据,将所述语种训练数据中文本的各字符进行编码以得到相应的编码序列;
将所述语种训练数据对应的编码序列作为输入,输入所述嵌入层,以得到所述分类器输出的、所述语种训练数据中文本的语种识别结果;
基于所述语种训练数据中文本的语种识别结果和真实语种,调整所述语种识别模型组件的网络参数。
11.根据权利要求9所述的搜索方法,其中,所述训练数据集合包括多条语种训练数据,每条语种训练数据包括文本和所述文本中各单词的真实语种,所述基于预先获取到的训练数据集合对所述语种识别模型组件进行训练的步骤包括:
对训练数据集合中的各条语种训练数据,将所述语种训练数据中文本的各字符进行编码以得到相应的编码序列,或者,将所述语种训练数据中文本的各单词和各字符进行编码以得到混合编码序列;
将所述语种训练数据对应的编码序列或混合编码序列作为输入,输入所述嵌入层,以得到所述分类器输出的、所述语种训练数据中文本的各单词的语种识别结果;
基于所述语种训练数据中文本的各单词的语种识别结果和真实语种,调整所述语种识别模型组件的网络参数。
12.根据权利要求10或11所述的搜索方法,其中,所述调整所述语种识别模型组件的网络参数的步骤包括:
调整所述嵌入层、位置编码器、自注意力层、前馈神经网络层以及分类器中至少一项的网络参数。
13.根据权利要求10或11所述的搜索方法,其中,所述调整所述语种识别模型组件的网络参数的步骤包括:
使用反向传播算法调整所述语种识别模型组件的网络参数。
14.根据权利要求10或11所述的搜索方法,其中,所述字符为字母、汉字、数字、标点符号和空格中任一种。
15.一种搜索方法,包括:
将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别所述查询语句的语种,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果;
接收服务器基于语种识别结果反馈的搜索结果;以及
向用户提供所述搜索结果。
16.一种搜索装置,包括:
接收模块,用于接收客户端发送的查询语句;
语种识别模块,用于使用预先训练好的语种识别模型组件对所述查询语句的语种进行识别,以得到语种识别结果,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果;以及
反馈模块,用于基于所述语种识别结果,向客户端反馈搜索结果。
17.一种搜索装置,包括:
发送模块,用于将用户输入的查询语句发送至服务器,以由服务器基于训练好的语种识别模型组件识别所述查询语句的语种,其中,所述语种识别模型组件的输出层可基于分类器输出的、所述查询语句中各单词属于各语种的概率值,确定所述查询语句中各单词的语种而形成对应的语种识别结果;
接收模块,用于接收服务器基于语种识别结果反馈的搜索结果;以及
提供模块,用于向用户提供所述搜索结果。
18.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至15中任何一项所述的方法。
19.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811055357.4A CN110888967B (zh) | 2018-09-11 | 2018-09-11 | 搜索方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811055357.4A CN110888967B (zh) | 2018-09-11 | 2018-09-11 | 搜索方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110888967A true CN110888967A (zh) | 2020-03-17 |
CN110888967B CN110888967B (zh) | 2023-04-28 |
Family
ID=69745448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811055357.4A Active CN110888967B (zh) | 2018-09-11 | 2018-09-11 | 搜索方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110888967B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597339A (zh) * | 2020-05-22 | 2020-08-28 | 北京慧闻科技(集团)有限公司 | 文档级多轮对话意图分类方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526132A (zh) * | 2000-10-10 | 2004-09-01 | ض� | 基于语音的不受语言限制的搜索系统 |
US20120254143A1 (en) * | 2011-03-31 | 2012-10-04 | Infosys Technologies Ltd. | Natural language querying with cascaded conditional random fields |
CN103488648A (zh) * | 2012-06-13 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 一种多语种混合检索方法和系统 |
CN105787001A (zh) * | 2007-05-16 | 2016-07-20 | 谷歌公司 | 跨语言信息检索 |
CN105786803A (zh) * | 2016-02-22 | 2016-07-20 | 广东小天才科技有限公司 | 翻译方法及翻译装置 |
CN106598937A (zh) * | 2015-10-16 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 用于文本的语种识别方法、装置和电子设备 |
CN108492273A (zh) * | 2018-03-28 | 2018-09-04 | 深圳市唯特视科技有限公司 | 一种基于自注意力模型的图像生成方法 |
-
2018
- 2018-09-11 CN CN201811055357.4A patent/CN110888967B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526132A (zh) * | 2000-10-10 | 2004-09-01 | ض� | 基于语音的不受语言限制的搜索系统 |
CN105787001A (zh) * | 2007-05-16 | 2016-07-20 | 谷歌公司 | 跨语言信息检索 |
US20120254143A1 (en) * | 2011-03-31 | 2012-10-04 | Infosys Technologies Ltd. | Natural language querying with cascaded conditional random fields |
CN103488648A (zh) * | 2012-06-13 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 一种多语种混合检索方法和系统 |
CN106598937A (zh) * | 2015-10-16 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 用于文本的语种识别方法、装置和电子设备 |
CN105786803A (zh) * | 2016-02-22 | 2016-07-20 | 广东小天才科技有限公司 | 翻译方法及翻译装置 |
CN108492273A (zh) * | 2018-03-28 | 2018-09-04 | 深圳市唯特视科技有限公司 | 一种基于自注意力模型的图像生成方法 |
Non-Patent Citations (2)
Title |
---|
KOICHIRO YOSHINO等: "Language modeling for spoken dialogue system based on sentence transformation and filtering using predicate-argument structures" * |
熊易等: "互联网多语种文献信息资源在线中文翻译途径研究" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597339A (zh) * | 2020-05-22 | 2020-08-28 | 北京慧闻科技(集团)有限公司 | 文档级多轮对话意图分类方法、装置、设备及存储介质 |
CN111597339B (zh) * | 2020-05-22 | 2023-06-30 | 北京慧闻科技(集团)有限公司 | 文档级多轮对话意图分类方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110888967B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807332B (zh) | 语义理解模型的训练方法、语义处理方法、装置及存储介质 | |
Kumar et al. | Dialogue act sequence labeling using hierarchical encoder with crf | |
US11409791B2 (en) | Joint heterogeneous language-vision embeddings for video tagging and search | |
CN110956018B (zh) | 文本处理模型的训练方法、文本处理方法、装置及存储介质 | |
CN110795945B (zh) | 一种语义理解模型训练方法、语义理解方法、装置及存储介质 | |
CN110795552B (zh) | 一种训练样本生成方法、装置、电子设备及存储介质 | |
CN110377714A (zh) | 基于迁移学习的文本匹配方法、装置、介质及设备 | |
CN110597961B (zh) | 一种文本类目标注方法、装置、电子设备及存储介质 | |
CN112860862B (zh) | 人机对话中智能体对话语句的生成方法和装置 | |
CN113268609B (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
US20210248471A1 (en) | Method and apparatus for creating dialogue, and storage medium | |
CN112800776A (zh) | 双向gru关系抽取数据处理方法、系统、终端、介质 | |
CN111078866A (zh) | 一种基于序列到序列模型的中文文本摘要生成方法 | |
CN110457459B (zh) | 基于人工智能的对话生成方法、装置、设备及存储介质 | |
CN113051380B (zh) | 信息生成方法、装置、电子设备和存储介质 | |
CN111444399B (zh) | 回复内容的生成方法、装置、设备及可读存储介质 | |
CN112183083A (zh) | 文摘自动生成方法、装置、电子设备及存储介质 | |
Noroozi et al. | Seven: deep semi-supervised verification networks | |
Wang et al. | Data Hiding in Neural Networks for Multiple Receivers [Research Frontier] | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
Chowdhury et al. | A cascaded long short-term memory (LSTM) driven generic visual question answering (VQA) | |
CN113868451A (zh) | 基于上下文级联感知的社交网络跨模态对话方法及装置 | |
CN110888967B (zh) | 搜索方法、装置及设备 | |
Shin et al. | Slot Filling with Delexicalized Sentence Generation. | |
CN113747168A (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 |