CN105930413A - 相似度模型参数的训练方法、搜索处理方法及对应装置 - Google Patents
相似度模型参数的训练方法、搜索处理方法及对应装置 Download PDFInfo
- Publication number
- CN105930413A CN105930413A CN201610239784.2A CN201610239784A CN105930413A CN 105930413 A CN105930413 A CN 105930413A CN 201610239784 A CN201610239784 A CN 201610239784A CN 105930413 A CN105930413 A CN 105930413A
- Authority
- CN
- China
- Prior art keywords
- entry
- word
- hidden layer
- vector
- term vector
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种相似度模型参数的训练方法,搜索处理方法及其装置,相似度模型参数方法,包括:构建训练数据集;利用所述训练数据集训练得到相似度模型参数。获取用户输入的语句描述及从预先建立的词条目数据库中获取所有的词条目;获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述与词条目数据库中每个词条目的相似度;根据所述语句描述与词条目数据库中每个词条目的相似度将该语句描述的搜索结果呈现给所述用户。本发明能根据用户输入的描述,反向查找用户所描述的词条目,提高了用户的搜索体验及效率。
Description
【技术领域】
本发明涉及计算机应用技术领域,尤其涉及一种相似度模型参数的训练方法、搜索处理方法及对应装置。
【背景技术】
用户在使用搜索引擎的时候,除了通常的查找某个关键词相关联的网页之外,还有一种应用场景,用户大概知道某个词,或某个物品的意义或者用途,但是不知道该词或者物品具体的称呼(比如无痕钉),用户可以在搜索引擎中输入该词的具体描述(比如,一种用来挂相框的东西,且不会影响墙面。)来反向查找该词;或者用户知道某家餐馆的大概特点,但是忘记了餐馆的具体名称时,希望能够输入该餐馆的描述,来找到该餐馆的名称。
当前的搜索引擎,并没有对此种应用场景进行特殊的处理,因此用户需要反复变换通过关键词搜索以找到该描述的词条目(Term)。随着搜索引擎及相关技术的发展,能够根据用户的描述,反向查找用户所描述的词条目越来越重要。
【发明内容】
本发明提供了一种相似度模型参数的训练方法、搜索处理方法及对应装置,能根据用户输入的描述,反向查找用户所描述的词条目,提高了用户的体验。
具体技术方案如下:
一种相似度模型参数的训练方法,包括:
构建训练数据集,所述训练数据集由包含词条目及该词条目的描述的样本数据构成;
利用所述训练数据集训练得到相似度模型参数,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
根据本发明一优选实施例,当所述样本数据中某个词条目的描述中所包含的词语个数为1时,所述词条目的描述的隐层向量为该词条目的描述中所包含的词语的词向量。
根据本发明一优选实施例,当所述样本数据中词条目的描述中所包含的词语个数大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条目的描述中第一个词语的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个词语的隐层向量,将所述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描述的隐层向量。
根据本发明一优选实施例,利用所述训练数据集训练得到相似度模型参数包括:
建立参数化的词向量矩阵,参数化的所述隐层变换矩阵;
初始化所述词向量矩阵中的参数,所述隐层变换矩阵中的参数;
采用预设的迭代算法,对所述词向量矩阵中的参数,所述隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
根据本发明一优选实施例,所述建立参数化的词向量矩阵包括:
将所述样本数据进行分词;
参数化分词得到的各词语的词向量;
由参数化后得到的各词语的词向量构成词向量矩阵。
根据本发明一优选实施例,所述迭代终止条件包括:
达到预设的迭代次数;或者
本次迭代后得到的损失函数的值小于预设目标值;或者
本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
根据本发明一优选实施例,当所述样本数据中词条目的描述的隐层向量的长度与所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩阵,通过所述长度变换矩阵将所述词条目的描述的隐层向量转换成长度与所述词条目所对应的词向量长度相同的向量。
一种搜索处理方法,该方法包括:
获取用户输入的语句描述;
查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;
根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量;
根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量确定所述语句描述与词条目数据库中每个词条目的相似度;
确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目。
其中所述相似度模型参数是采用权利要求1~7任一权项所述的方法训练得到的。
根据本发明一优选实施例,根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量,包括:
当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量;或者
当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
根据本发明一优选实施例,该方法还包括:
将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜索;或者,
利用确定出的词条目进行搜索,得到搜索结果。
一种相似度模型参数的训练装置,包括:
构建单元,用于构建训练数据集,所述训练数据集由包含词条目及该词条目的描述的样本数据构成;
训练单元,用于利用所述训练数据集训练得到相似度模型参数,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
根据本发明一优选实施例,所述训练单元,还用于当所述样本数据中某个词条目的描述中所包含的词语个数为1时,将所述词条目的描述中所包含的词语的词向量确定为所述词条目的描述的隐层向量。
根据本发明一优选实施例,所述训练单元,还用于当所述样本数据中词条目的描述中所包含的词语个数大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条目的描述中第一个词语的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个词语的隐层向量,将所述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描述的隐层向量。
根据本发明一优选实施例,所述训练单元在利用所述训练数据集训练得到相似度模型参数时,具体执行:
建立参数化的词向量矩阵,参数化的所述隐层变换矩阵;
初始化所述词向量矩阵中的参数,所述隐层变换矩阵中的参数;
采用预设的迭代算法,对所述词向量矩阵中的参数,所述隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
根据本发明一优选实施例,所述训练单元在建立参数化的词向量矩阵时,具体执行:
将所述样本数据进行分词;
参数化分词得到的各词语的词向量;
由参数化后得到的各词语的词向量构成词向量矩阵。
根据本发明一优选实施例,所述迭代终止条件包括:
达到预设的迭代次数;或者
本次迭代后得到的损失函数的值小于预设目标值;或者
本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
根据本发明一优选实施例,当所述样本数据中词条目的描述的隐层向量的长度与所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩阵;
所述训练单元,还用于通过所述长度变换矩阵将所述词条目的描述的隐层向量转换成长度与所述词条目所对应的词向量长度相同的向量。
一种搜索处理装置,该装置包括:
第一获取单元,用于获取用户输入的语句描述;
第二获取单元,用于查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;
计算单元,用于根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量;
所述计算单元,还用于根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量确定所述语句描述与词条目数据库中每个词条目的相似度;
确定单元,用于确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目;
其中所述相似度模型参数是采用权利要求11~17任一权项所述的装置训练得到的。
根据本发明一优选实施例,所述计算单元在根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量时,具体执行:
当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量;或者
当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
根据本发明一优选实施例,该装置还包括:
搜索处理单元,用于将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜索;或者,
利用确定出的词条目进行搜索,得到搜索结果。
由以上技术方案可以看出,本发明能根据用户输入的描述,反向查找用户所描述的词语,提高了用户的体验及搜索效率。
【附图说明】
图1是本发明实施例的基本原理框图。
图2是本发明实施例一的相似度模型参数的训练方法的流程图。
图3是本发明实施例二的搜索处理方法的流程图。
图4是本发明实施例三的相似度模型参数的训练装置的结构示意图。
图5是本发明实施例四的搜索处理装置的结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1是本发明实施例的基本原理框图。如图1所示,首先从互联网上挖掘包含词条目及该词条目的描述的样本数据,并构建训练数据集。根据该训练数据集训练得到相似度模型参数。最后,获取用户输入的语句描述及从预先建立的词条目数据库中获取所有的词条目,查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量,根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语句描述对应的隐层向量;根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量计算所述语句描述与词条目数据库中每个词条目的相似度;根据所述语句描述与词条目数据库中每个词条目的相似度将该语句描述的搜索结果呈现给所述用户。
如图2所示,是本发明实施例一的相似度模型参数的训练方法的流程图。该相似度模型参数的训练方法包括:
S10,构建训练数据集。
在本实施例中,利用已有的数据挖掘技术从网页上(如百度百科,维基百科)中挖掘包含词条目及该词条目的描述的样本数据。根据所述样本数据生成二元对。每个二元对包括一个词条目T及该词条目的描述D。例如通过搜集百度百科上的词条作为词条目,而百度百科当中关于该词条目的简介当中的第一句话(当然也可以是从简介中筛选出的其他语句)可以作为该词条目的描述。举例来说,词条目:蜗鸢;该词条目的描述:蜗鸢(学名:Rostrhamussociabilis)为鹰科齿鹰亚科的鸟类,是一种中型猛禽,体长约45厘米,上体羽毛深蓝色,头和下体羽毛灰白色或杂色,腿爪黄色有黑爪尖,眼睛棕红色。
从网页上能获得大量的这样的样本数据。样本数据的量越大,所构建的训练数据集的规模越大,后续对相似度模型参数进行训练所得到的相似度模型参数越准确。通常来说,所述样本数据至少为千万量级。
S11,利用所述训练数据集训练得到相似度模型参数。
在本实施例中,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
所述词向量矩阵E是用参数表示的。所述词向量矩阵由多个词语的词向量组成,所述词向量为将词语映射到一向量空间中,将词语在该向量空间的分布情况用一个向量表示。在本实施例中,词语在所述向量空间的分布表示词条目与词条目的描述之间的相似程度。所述隐层变换矩阵用于将词条目的描述转换为隐层向量表示。所述隐层向量用于表示所述词条目的描述的隐藏语义的向量。
优选地,作为S11的一种实施方式,该S11包括:
S110,建立参数化的词向量矩阵,参数化的隐层变换矩阵。
在建立参数化的词向量矩阵中,具体包括:
(1)将训练数据集中每个二元对进行分词。
利用分词技术对训练数据集中每个二元对中词条目的描述D进行分词。例如,假设将每个二元对中词条目的描述D分成长度为M的文本串。则每个二元对中词条目的描述D表示为(d1,d2...dM),每个二元对中的词条目T即为一个长度为1的文本串,用t表示。
(2)参数化分词得到的各词语的词向量。
每个二元对的词条目的词向量emb(T)表示为(emb_t),每个二元对中词条目的描述D中所有词语的词向量emb(D)表示为(emb_d1,emb_d2...emb_dM)。emb(D)是一个行数为M,列数为emb_size的矩阵。
(3)由参数化后得到的各词语的词向量构成词向量矩阵。
分词后的所有二元对的每个词语都包含在一个词向量矩阵中,该词向量矩阵的行高为|V|,矩阵的列宽为emb_size。这里的|V|为所有可能出现的词语的个数,即词典大小。emb_size的大小为预设值,该预设值为一个经验值,通常设定位50到1000之间。该矩阵中的每一行参数为一个长度为emb_size的向量,称为这一行对应的词语的词向量。后续可通过对相似度模型参数的训练得到所述词向量矩阵的最优解,即可得到每一行中对应的词语的词向量的最优解。
在本实施例中,当某个二元对中词条目的描述中所包含的词语个数为1时,所述二元对中词条目的描述的隐层向量为该二元对中词条目的描述中所包含的词语的词向量。当某个二元对中词条目的描述中所包含的词语个数大于1时,即M大于1时,利用时间递归的循环神经网络LSTM(Long-Short TermMemory,LSTM,简称LSTM)将所述二元对中词条目的描述转换为隐层向量表示。具体计算公式如下:
Inputi=sigmoid(Winput*emb_di+Uinput hi-1),
Forgeti=sigmoid(Wforget*emb_di+Uforget hi-1),
Outputi=sigmoid(Woutput*emb_di+Uoutput hi-1),
Cellcandidatei=tanh(Wcell*emb_di+Ucell hi-1),
Celli=Forgeti⊙Celli-1+Inputi⊙Cellcandidatei,
hi=Outputi⊙tanh(celli),
其中emb_di表示分词后的所述词条目的描述中第i个词语的词向量,hi-1表示分词后的所述词条目的描述中第i-1个词语的隐层向量,其中Winput,Uinput,Wforget,Uforget,Woutput,Uoutput,Wcell及Ucell组成隐层变换矩阵。Inputi是一种门限gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用Forgeti及Inputi所得到的信息量。hi表示分词后的所述词条目的描述中第i个词语的隐层向量。当得到分词后的所述词条目的描述中最后一个词语的隐层向量时,即得到了所述词条目的描述的隐层向量。
假设每个词条目的描述的隐层向量长度为hidden_size,则中Winput,Wforget,Woutput,Wcell均为hidden_size*emb_size的矩阵,Uinput,Uforget,Uoutput,Ucell均为hidden_size*hidden_size的矩阵。hidden_size等于emb_size。
使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据每个词条目的描述中词与词之间的依赖关系进行建模,从而能够更好地表示出每个词条目的描述的语义。
S111,初始化所述词向量矩阵中的参数及所述隐层变换矩阵中的参数。
在本实施例中,随机产生一组数字来初始化所述词向量矩阵中的参数,及所述隐层变换矩阵中的参数。当然也可以采用预设的初始值来初始化各参数,例如,采用0到0.001之间的值初始化各参数等。
S112,采用预设的迭代算法,对所述词向量矩阵中的参数,隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
在本实施例中,利用预设的迭代算法,在所述训练数据集上采用损失函数来迭代获取所述词向量矩阵中的参数值,及隐层变换矩阵中的参数值,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
损失函数的表达式如下:
其中Cosine函数定义如下:
其中rep(T)表示每个二元对中词条目所对应的词向量,rep(D)表示每个二元对中词条目的描述所对应的隐层向量。
在本实施例中,当二元对中词条目的描述中所包含的词语的个数大于1时,利用时间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量时,即得到了每个二元对中词条目的描述的隐层向量rep(D)。当二元对中词条目的描述中所包含的词语的个数为1时,则该二元对中词条目的描述中所包含的词语的词向量即为rep(D)。
在本实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度相同,即hidden_size等于emb_size。在其他实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度不相同时,那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵用于将所述每个词条目的描述的隐层向量转换成长度为emb_size的向量。所述长度变换矩阵大小为hidden_size*emb_size。所述长度变换矩阵中参数的计算方法与词向量矩阵中参数的计算方法相同,即在步骤S11中同样可以计算出最优的长度变换矩阵。利用时间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量hM后,rep(D)=hM*B。
在其他实施例中,本领域的技术人员可以根据需要采用其他表示形式的损失函数,如对数损失函数,平均损失函数,绝对损失函数等。
所述预设的迭代算法为随机梯度下降法(Stochastic Gradient Descent,SGD)与反向传播(Back Propagation,BP)算法。由于所建立的数据集规模过亿,因此对所述相似度模型参数进行训练,能够得到一份最优化的相似度模型参数。SGD与BP算法属于本领域技术人员的公知知识,在此仅做概要说明。BP算法是一种有效的计算参数的梯度的方法。
在本实施例中,利用SGD的迭代思想,分别对词向量矩阵,隐层变换矩阵进行初始化,通过训练数据集分别计算词向量矩阵及隐层变换矩阵的梯度,根据词向量矩阵及隐层变换矩阵的梯度分别更新初始化的词向量矩阵,及隐层变换矩阵。更新的方法是每次让词向量矩阵,减去所设置的一个学习率(learning rate)乘以计算出的词向量矩阵所对应的梯度,让隐层变换矩阵,减去所设置的一个学习率(learning rate)乘以计算出的隐层变换矩阵所对应的梯度,多次迭代后,当迭代到预设的迭代终止条件时,从而得到最优的预估模型参数。
所述预设的迭代终止条件可以是预设的迭代次数,或者本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值或者损失函数的值小于预设目标值。所述预设的迭代次数、预设的阈值及预设目标值是一个预设值,都为经验值。
在得到相似度模型参数后,会存储于存储装置中,便于后续用户输入某个词的具体描述时,根据相似度模型参数,向客户呈现与该具体描述最相似的词语,提高了用户的体验。
如图3所示,是本发明实施例二的搜索处理方法的流程图。该搜索处理方法包括:
S21,获取用户输入的语句描述。
在本实施例中,所述语句描述的输入可以是语音或者文本的形式。当为语音形式的语句描述时,先通过语音识别技术将该语音形式的语句描述转换为文本形式的语句描述。
S22,从预先建立的词条目数据库中获取所有的词条目。
在本实施例中,预先建立一个词条目数据库,该词条目数据库中包括多个词条目,该词条目数据库可根据训练数据集建立。当然也可以由人工自行添加等等。词条目数据库中词条目的数量至少为千万量级。
S23,查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量。
在本实施例中,所述相似度模型参数是通过实施例一中所述的方法训练得到,可从存储装置中获取与已经训练好的相似度模型参数。所述相似度模型参数包括训练数据集所包含词语的词向量构成的词向量矩阵E,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。词向量矩阵E的行高为|V|,矩阵的列宽为emb_size。这里的|V|为所有可能出现的词的个数(即词典大小),该矩阵中的每一行数字为一个长度为emb_size的向量,称为这一行对应的词的词向量。所述词向量矩阵E由多个词的词向量组成,所述词向量为将词映射到一向量空间中,将词在该向量空间的分布情况用一个向量表示。
利用分词技术将所述语句描述DE分词成长度为n的文本串,将DE表示为de1,de2,…den。通过查询词向量矩阵E,得到语句描述DE中所对应的词向量矩阵emb(DE)为emb_de1,emb_de2,…,emb_den。其中emb_de1为词语de1所对应的词向量。
通过查询词向量矩阵,词条目数据库中每个词条目TE的词向量表示成emb_te。
S24,根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语句描述对应的隐层向量。
在本实施例中,所述相似度模型参数还包括隐层变换矩阵,其用于将所述语句描述转换为隐层向量表示。
在本实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应的词向量的长度相同。当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量。当所述语句描述中所包含的词语个数大于1时,即n大于1时,利用时间递归的循环神经网络LSTM(Long-Short Term Memory,LSTM,简称LSTM)将所述语句描述转换为隐层向量表示。具体计算公式如下:
Inputi=sigmoid(Winput*emb_dei+Uinput hei-1),
Forgeti=sigmoid(Wforget*emb_dei+Uforget hei-1),
Outputi=sigmoid(Woutput*emb_dei+Uoutput hei-1),
Cellcandidatei=tanh(Wcell*emb_dei+Ucell hei-1),
Celli=Forgeti⊙Celli-1+Inputi⊙Cellcandidatei,
hei=Outputi⊙tanh(celli),
其中emb_di表示分词后的所述语句描述中第i个词语的词向量,hei-1表示分词后的所述语句描述中第i-1个词语的隐层向量,其中Winput,Uinput,Wforget,Uforget,Woutput,Uoutput,Wcell及Ucell为隐层变换矩阵,通过实施例一中所述的方法训练得到。Inputi是一种门限gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用Forgeti及Inputi所得到的信息量。hei表示分词后的所述语句描述中第i个词语的隐层向量。当得到分词后的所述语句描述中最后一个词语的隐层向量时,即得到了所述语句描述的隐层向量rep(DE)。
假设所述语句描述的隐层向量长度为hidden_size,则中Winput,Wforget,Woutput,Wcell均为hidden_size*emb_size的矩阵,Uinput,Uforget,Uoutput,Ucell均为hidden_size*hidden_size的矩阵。hidden_size等于emb_size。
使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据语句描述中词与词之间的依赖关系进行建模,从而能够更好地表示出语句描述的语义。
在其他实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应的词向量的长度不相同。那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵B用于将所述每个词条目的描述的隐层向量转换成长度为emb_size的向量。长度变换矩阵通过实施例一中所述的方法训练得到。所述长度变换矩阵大小为hidden_size*emb_size。利用时间递归的循环神经网络LSTM得到分词后的所述语句描述中最后一个词语的隐层向量hen后,所述语句描述的隐层向量rep(DE)=hen*B。
S25,根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量计算所述语句描述与词条目数据库中每个词条目的相似度。
在本实施例中,所述语句描述与词条目数据库中每个词条目的相似度的根据所述语句描述对应的隐层向量与词条目数据库中每个词条目的词向量的余弦距离确定,计算公式如下:
Sim_Score(TE,DE)=Cosine(rep(TE),rep(DE)),
其中rep(TE)表示词条目数据库中每个词条目所对应的词向量,rep(DE)表示每个二元对中词条目的描述所对应的隐层向量。
S26,根据所述语句描述与词条目数据库中每个词条目的相似度确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目。
在本实施例中,将所述语句描述与词条目数据库中每个词条目的相似度从高到低进行排序,把相似度排在前预设位数(如前十位)的词条目返回给用户,供用户从中选择一个词条目进行搜索。或者,利用确定出的词条目进行搜索,得到搜索结果提供给用户。例如,当用户在搜索引擎(如百度)的输入栏中输入“一种用来挂相框的东西,且不会影响墙面”的语句描述,搜索结果中会将关于无痕钉的网页呈现给用户。
如图4所示,本发明实施例三的相似度模型参数的训练装置的结构示意图。该装置包括:构建单元100、及训练单元101。
构建单元100用于构建训练数据集。
在本实施例中,利用已有的数据挖掘技术从网页上(如百度百科,维基百科)中挖掘包含词条目及该词条目的描述的样本数据。根据所述样本数据生成二元对。每个二元对包括一个词条目T及该词条目的描述D。例如通过搜集百度百科上的词条作为词条目,而百度百科当中关于该词条目的简介当中的第一句话(当然也可以是从简介中筛选出的其他语句)可以作为该词条目的描述。举例来说,词条目:蜗鸢;该词条目的描述:蜗鸢(学名:Rostrhamussociabilis)为鹰科齿鹰亚科的鸟类,是一种中型猛禽,体长约45厘米,上体羽毛深蓝色,头和下体羽毛灰白色或杂色,腿爪黄色有黑爪尖,眼睛棕红色。
从网页上能获得大量的这样的样本数据。样本数据的量越大,所构建的训练数据集的规模越大,后续对相似度模型参数进行训练所得到的相似度模型参数越准确。通常来说,所述样本数据至少为千万量级。
训练单元101用于利用所述训练数据集训练得到相似度模型参数。
在本实施例中,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
所述词向量矩阵E是用参数表示的。所述词向量矩阵由多个词语的词向量组成,所述词向量为将词语映射到一向量空间中,将词语在该向量空间的分布情况用一个向量表示。在本实施例中,词语在所述向量空间的分布表示词条目与词条目的描述之间的相似程度。所述隐层向量用于表示所述词条目的描述的隐藏语义。所述隐层变换矩阵用于将词条目的描述转换为隐层向量表示。
优选地,利用所述训练数据集训练得到相似度模型参数,包括:
训练单元101用于建立参数化的词向量矩阵,及参数化的隐层变换矩阵。
在建立参数化的词向量矩阵中,具体包括:
(1)将训练数据集中每个二元对进行分词。
利用分词技术对训练数据集中每个二元对中词条目的描述D进行分词。例如,假设将每个二元对中词条目的描述D分成长度为M的文本串。则每个二元对中词条目的描述D表示为(d1,d2...dM),每个二元对中的词条目T即为一个长度为1的文本串,用t表示。
(2)参数化分词得到的各词语的词向量。
每个二元对的词条目的词向量emb(T)表示为(emb_t),每个二元对中词条目的描述D中所有词语的词向量emb(D)表示为(emb_d1,emb_d2...emb_dM)。emb(D)是一个行数为M,列数为emb_size的矩阵。
(3)由参数化后得到的各词语的词向量构成词向量矩阵。
分词后的所有二元对的每个词语都包含在一个词向量矩阵中,该词向量矩阵的行高为|V|,矩阵的列宽为emb_size。这里的|V|为所有可能出现的词语的个数,即词典大小。emb_size的大小为预设值,该预设值为一个经验值,通常设定位50到1000之间。该矩阵中的每一行参数为一个长度为emb_size的向量,称为这一行对应的词语的词向量。后续可通过对相似度模型参数的训练得到所述词向量矩阵的最优解,即可得到每一行中对应的词语的词向量的最优解。
在本实施例中,当某个二元对中词条目的描述中所包含的词语个数为1时,所述二元对中词条目的描述的隐层向量为该二元对中词条目的描述中所包含的词语的词向量。当某个二元对中词条目的描述中所包含的词语个数大于1时,即M大于1时,利用时间递归的循环神经网络LSTM(Long-Short TermMemory,LSTM,简称LSTM)将所述二元对中词条目的描述转换为隐层向量表示。具体计算公式如下:
Inputi=sigmoid(Winput*emb_di+Uinput hi-1),
Forgeti=sigmoid(Wforget*emb_di+Uforget hi-1),
Outputi=sigmoid(Woutput*emb_di+Uoutput hi-1),
Cellcandidatei=tanh(Wcell*emb_di+Ucell hi-1),
Celli=Forgeti⊙Celli-1+Inputi⊙Cellcandidatei,
hi=Outputi⊙tanh(celli),
其中emb_di表示分词后的所述词条目的描述中第i个词语的词向量,hi-1表示分词后的所述词条目的描述中第i-1个词语的隐层向量,其中Winput,Uinput,Wforget,Uforget,Woutput,Uoutput,Wcell及Ucell组成隐层变换矩阵。Inputi是一种门限gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用Forgeti及Inputi所得到的信息量。hi表示分词后的所述词条目的描述中第i个词语的隐层向量。当得到分词后的所述词条目的描述中最后一个词语的隐层向量时,即得到了所述词条目的描述的隐层向量。
假设每个词条目的描述的隐层向量长度为hidden_size,则中Winput,Wforget,Woutput,Wcell均为hidden_size*emb_size的矩阵,Uinput,Uforget,Uoutput,Ucell均为hidden_size*hidden_size的矩阵。hidden_size等于emb_size。
使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据每个词条目的描述中词与词之间的依赖关系进行建模,从而能够更好地表示出每个词条目的描述的语义。
训练单元101用于初始化所述词向量矩阵中的参数及所述隐层变换矩阵中的参数。
在本实施例中,随机产生一组数字来初始化所述词向量矩阵中的参数,及所述隐层变换矩阵。当然也可以采用预设的初始值来初始化各参数,例如,采用0到0.001之间的值初始化各参数等。
训练单元101用于采用预设的迭代算法,对所述词向量矩阵中的参数,隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
在本实施例中,利用预设的迭代算法,在所述训练数据集上采用损失函数来迭代获取所述词向量矩阵中的参数值,及隐层变换矩阵中的参数值,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
损失函数的表达式如下:
其中Cosine函数定义如下:
其中rep(T)表示每个二元对中词条目所对应的词向量,rep(D)表示每个二元对中词条目的描述所对应的隐层向量。
在本实施例中,当二元对中词条目的描述中所包含的词语的个数大于1时,利用时间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量时,即得到了每个二元对中词条目的描述的隐层向量rep(D)。当二元对中词条目的描述中所包含的词语的个数为1时,则该二元对中词条目的描述中所包含的词语的词向量即为rep(D)。
在本实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度相同,即hidden_size等于emb_size。在其他实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度不相同时,那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵用于将所述每个词条目的描述的隐层向量转换成长度为emb_size的向量。所述长度变换矩阵大小为hidden_size*emb_size。所述长度变换矩阵中参数的计算方法与词向量矩阵中参数的计算方法相同,即在步骤S11中同样可以计算出最优的长度变换矩阵。利用时间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量hM后,rep(D)=hM*B。
在其他实施例中,本领域的技术人员可以根据需要采用其他表示形式的损失函数,如对数损失函数,平均损失函数,绝对损失函数等。
所述预设的迭代算法为随机梯度下降法(Stochastic Gradient Descent,SGD)与反向传播(Back Propagation,BP)算法。由于所建立的数据集规模过亿,因此对所述相似度模型参数进行训练,能够得到一份最优化的相似度模型模型参数。SGD与BP算法属于本领域技术人员的公知知识,在此仅做概要说明。BP算法是一种有效的计算参数的梯度的方法。
在本实施例中,利用SGD的迭代思想,分别对词向量矩阵,隐层变换矩阵进行初始化,通过训练数据集分别计算词向量矩阵及隐层变换矩阵的梯度,根据词向量矩阵,隐层变换矩阵的梯度分别更新初始化的词向量矩阵及隐层变换矩阵。更新的方法是每次让词向量矩阵,减去所设置的一个学习率(learning rate)乘以计算出的词向量矩阵所对应的梯度,让隐层变换矩阵,减去所设置的一个学习率(learning rate)乘以计算出的隐层变换矩阵所对应的梯度,多次迭代后,当迭代到预设的迭代终止条件时,从而得到最优的预估模型参数。
所述预设的迭代终止条件可以是预设的迭代次数,或者本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值或者损失函数的值小于预设目标值。所述预设的迭代次数、预设的阈值及预设目标值是一个预设值,都为经验值。
在得到相似度模型参数后,会存储于存储装置中,便于后续用户输入某个词的具体描述时,根据相似度模型参数,向客户呈现与该具体描述最相似的词语,提高了用户的体验。
如图5所示,是本发明实施例四的搜索处理装置的结构示意图。该装置包括:第一获取单元201,第二获取单元202,计算单元203及确定单元204。
第一获取单元201用于获取用户输入的语句描述。
在本实施例中,所述语句描述的输入可以是语音或者文本的形式。当为语音形式的语句描述时,先通过语音识别技术将该语音形式的语句描述转换为文本形式的语句描述。
第一获取单元201还用于从预先建立的词条目数据库中获取所有的词条目。
在本实施例中,预先建立一个词条目数据库,该词条目数据库中包括多个词条目,该词条目数据库可根据训练数据集建立。当然也可以由人工自行添加等等。词条目数据库中词条目的数量至少为千万量级。
第二获取单元202还用于查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量。
在本实施例中,所述相似度模型参数是通过实施例一中所述的方法训练得到,可从存储装置中获取与已经训练好的相似度模型参数。所述相似度模型参数包括训练数据集所包含词语的词向量构成的词向量矩阵E,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。词向量矩阵E的行高为|V|,矩阵的列宽为emb_size。这里的|V|为所有可能出现的词的个数(即词典大小),该矩阵中的每一行数字为一个长度为emb_size的向量,称为这一行对应的词的词向量。所述词向量矩阵E由多个词的词向量组成,所述词向量为将词映射到一向量空间中,将词在该向量空间的分布情况用一个向量表示。
利用分词技术将所述语句描述DE分词成长度为n的文本串,将DE表示为de1,de2,…den。通过查询词向量矩阵E,得到语句描述DE中所对应的词向量矩阵emb(DE)为emb_de1,emb_de2,…,emb_den。其中emb_de1为词语de1所对应的词向量。
通过查询词向量矩阵,词条目数据库中每个词条目TE的词向量表示成emb_te。
计算单元203用于根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语句描述对应的隐层向量。
在本实施例中,所述相似度模型参数还包括隐层变换矩阵,其用于将所述语句描述转换为隐层向量表示。
在本实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应的词向量的长度相同。当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量。当所述语句描述中所包含的词语个数大于1时,即n大于1时,利用时间递归的循环神经网络LSTM(Long-Short Term Memory,LSTM,简称LSTM)将所述语句描述转换为隐层向量表示。具体计算公式如下:
Inputi=sigmoid(Winput*emb_dei+Uinput hei-1),
Forgeti=sigmoid(Wforget*emb_dei+Uforget hei-1),
Outputi=sigmoid(Woutput*emb_dei+Uoutput hei-1),
Cellcandidatei=tanh(Wcell*emb_dei+Ucell hei-1),
Celli=Forgeti⊙Celli-1+Inputi⊙Cellcandidatei,
hei=Outputi⊙tanh(celli),
其中emb_di表示分词后的所述语句描述中第i个词语的词向量,hei-1表示分词后的所述语句描述中第i-1个词语的隐层向量,其中Winput,Uinput,Wforget,Uforget,Woutput,Uoutput,Wcell及Ucell为隐层变换矩阵,通过实施例一中所述的方法训练得到。Inputi是一种门限gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用Forgeti及Inputi所得到的信息量。hei表示分词后的所述语句描述中第i个词语的隐层向量。当得到分词后的所述语句描述中最后一个词语的隐层向量时,即得到了所述语句描述的隐层向量rep(DE)。
假设所述语句描述的隐层向量长度为hidden_size,则中Winput,Wforget,Woutput,Wcell均为hidden_size*emb_size的矩阵,Uinput,Uforget,Uoutput,Ucell均为hidden_size*hidden_size的矩阵。hidden_size等于emb_size。
使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据语句描述中词与词之间的依赖关系进行建模,从而能够更好地表示出语句描述的语义。
在其他实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应的词向量的长度不相同。那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵B用于将所述每个词条目的描述的隐层向量转换成长度为emb_size的向量。长度变换矩阵通过实施例一中所述的方法训练得到。所述长度变换矩阵大小为hidden_size*emb_size。利用时间递归的循环神经网络LSTM得到分词后的所述语句描述中最后一个词语的隐层向量hen后,所述语句描述的隐层向量rep(DE)=hen*B。
所述计算单元203还用于根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量计算所述语句描述与词条目数据库中每个词条目的相似度。
在本实施例中,所述语句描述与词条目数据库中每个词条目的相似度的根据所述语句描述对应的隐层向量与词条目数据库中每个词条目的词向量的余弦距离确定,计算公式如下:
Sim_Score(TE,DE)=Cosine(rep(TE),rep(DE)),
其中rep(TE)表示词条目数据库中每个词条目所对应的词向量,rep(DE)表示每个二元对中词条目的描述所对应的隐层向量。
所述搜索处理装置可以部署在搜索服务器上或者用户的电子装置中。
确定单元204用于根据所述语句描述与词条目数据库中每个词条目的相似度确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目。
在本实施例中,还可以包括搜索处理单元(图中未示出),搜索处理单元可以将所述语句描述与词条目数据库中每个词条目的相似度从高到低进行排序,把相似度排在前预设位数(如前十位)的词条目返回给用户,供用户从中选择一个词条目进行搜索。或者,利用确定出的词条目进行搜索,得到搜索结果提供给用户。例如,当用户在搜索引擎(如百度)的输入栏中输入“一种用来挂相框的东西,且不会影响墙面”的语句描述,搜索结果中会将关于无痕钉的网页呈现给用户。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种相似度模型参数的训练方法,其特征在于,包括:
构建训练数据集,所述训练数据集由包含词条目及该词条目的描述的样本数据构成;
利用所述训练数据集训练得到相似度模型参数,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
2.根据权利要求1所述的方法,其特征在于,当所述样本数据中某个词条目的描述中所包含的词语个数为1时,所述词条目的描述的隐层向量为该词条目的描述中所包含的词语的词向量。
3.根据权利要求1所述的方法,其特征在于,当所述样本数据中词条目的描述中所包含的词语个数大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条目的描述中第一个词语的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个词语的隐层向量,将所述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描述的隐层向量。
4.根据权利要求1所述的方法,其特征在于,利用所述训练数据集训练得到相似度模型参数包括:
建立参数化的词向量矩阵,及参数化的所述隐层变换矩阵;
初始化所述词向量矩阵中的参数,及所述隐层变换矩阵中的参数;
采用预设的迭代算法,对所述词向量矩阵中的参数,及所述隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
5.根据权利要求4所述的方法,其特征在于,所述建立参数化的词向量矩阵包括:
将所述样本数据进行分词;
参数化分词得到的各词语的词向量;
由参数化后得到的各词语的词向量构成词向量矩阵。
6.根据权利要求4所述的方法,其特征在于,所述迭代终止条件包括:
达到预设的迭代次数;或者
本次迭代后得到的损失函数的值小于预设目标值;或者
本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
7.根据权利要求1所述的方法,其特征在于,当所述样本数据中词条目的描述的隐层向量的长度与所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩阵,通过所述长度变换矩阵将所述词条目的描述的隐层向量转换成长度与所述词条目所对应的词向量长度相同的向量。
8.一种搜索处理方法,其特征在于,该方法包括:
获取用户输入的语句描述;
查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;
根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量;
根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量确定所述语句描述与词条目数据库中每个词条目的相似度;
确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目;其中所述相似度模型参数是采用权利要求1~7任一权项所述的方法训练得到的。
9.根据权利要求8所述的方法,其特征在于,根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量,包括:
当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量;或者
当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:
将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜索;或者,
利用确定出的词条目进行搜索,得到搜索结果。
11.一种相似度模型参数的训练装置,其特征在于,包括:
构建单元,用于构建训练数据集,所述训练数据集由包含词条目及该词条目的描述的样本数据构成;
训练单元,用于利用所述训练数据集训练得到相似度模型参数,所述相似度模型参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
12.根据权利要求11所述的装置,其特征在于,所述训练单元,还用于当所述样本数据中某个词条目的描述中所包含的词语个数为1时,将所述词条目的描述中所包含的词语的词向量确定为所述词条目的描述的隐层向量。
13.根据权利要求11所述的装置,其特征在于,所述训练单元,还用于当所述样本数据中词条目的描述中所包含的词语个数大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条目的描述中第一个词语的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个词语的隐层向量,将所述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描述的隐层向量。
14.根据权利要求11所述的装置,其特征在于,所述训练单元在利用所述训练数据集训练得到相似度模型参数时,具体执行:
建立参数化的词向量矩阵,及参数化的所述隐层变换矩阵;
初始化所述词向量矩阵中的参数,及所述隐层变换矩阵中的参数;
采用预设的迭代算法,对所述词向量矩阵中的参数,及所述隐层变换矩阵中的参数进行迭代,直至达到预设的迭代终止条件。
15.根据权利要求14所述的装置,其特征在于,所述训练单元在建立参数化的词向量矩阵时,具体执行:
将所述样本数据进行分词;
参数化分词得到的各词语的词向量;
由参数化后得到的各词语的词向量构成词向量矩阵。
16.根据权利要求14所述的装置,其特征在于,所述迭代终止条件包括:
达到预设的迭代次数;或者
本次迭代后得到的损失函数的值小于预设目标值;或者
本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确定。
17.根据权利要求11所述的装置,其特征在于,当所述样本数据中词条目的描述的隐层向量的长度与所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩阵;
所述训练单元,还用于通过所述长度变换矩阵将所述词条目的描述的隐层向量转换成长度与所述词条目所对应的词向量长度相同的向量。
18.一种搜索处理装置,其特征在于,该装置包括:
第一获取单元,用于获取用户输入的语句描述;
第二获取单元,用于查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;
计算单元,用于根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语句描述对应的隐层向量;
所述计算单元,还用于根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量确定所述语句描述与词条目数据库中每个词条目的相似度;
确定单元,用于确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目;
其中所述相似度模型参数是采用权利要求11~17任一权项所述的装置训练得到的。
19.根据权利要求18所述的装置,其特征在于,所述计算单元在根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述对应的隐层向量时,具体执行:
当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句描述中所包含的词语的词向量;或者
当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
20.根据权利要求18所述的装置,其特征在于,该装置还包括:
搜索处理单元,用于将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜索;或者,利用确定出的词条目进行搜索,得到搜索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610239784.2A CN105930413A (zh) | 2016-04-18 | 2016-04-18 | 相似度模型参数的训练方法、搜索处理方法及对应装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610239784.2A CN105930413A (zh) | 2016-04-18 | 2016-04-18 | 相似度模型参数的训练方法、搜索处理方法及对应装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105930413A true CN105930413A (zh) | 2016-09-07 |
Family
ID=56839370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610239784.2A Pending CN105930413A (zh) | 2016-04-18 | 2016-04-18 | 相似度模型参数的训练方法、搜索处理方法及对应装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930413A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503236A (zh) * | 2016-10-28 | 2017-03-15 | 北京百度网讯科技有限公司 | 基于人工智能的问题分类方法以及装置 |
CN106528530A (zh) * | 2016-10-24 | 2017-03-22 | 北京光年无限科技有限公司 | 一种确定句子类型的方法及装置 |
CN106557563A (zh) * | 2016-11-15 | 2017-04-05 | 北京百度网讯科技有限公司 | 基于人工智能的查询语句推荐方法及装置 |
CN106846191A (zh) * | 2016-11-25 | 2017-06-13 | 北京粉笔蓝天科技有限公司 | 一种课程列表的编排方法、系统及服务器 |
CN107491508A (zh) * | 2017-08-01 | 2017-12-19 | 浙江大学 | 一种基于循环神经网络的数据库查询时间预测方法 |
CN108090070A (zh) * | 2016-11-22 | 2018-05-29 | 北京高地信息技术有限公司 | 一种中文实体属性抽取方法 |
CN109447813A (zh) * | 2018-09-05 | 2019-03-08 | 平安科技(深圳)有限公司 | 产品推荐方法、装置、计算机设备和存储介质 |
WO2019179408A1 (zh) * | 2018-03-23 | 2019-09-26 | 新华三大数据技术有限公司 | 机器学习模型的构建 |
CN110309255A (zh) * | 2018-03-07 | 2019-10-08 | 同济大学 | 一种融入实体描述分布式表示的实体搜索方法 |
CN110349572A (zh) * | 2017-05-27 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种语音关键词识别方法、装置、终端及服务器 |
CN111198939A (zh) * | 2019-12-27 | 2020-05-26 | 北京健康之家科技有限公司 | 语句相似度的分析方法、装置及计算机设备 |
CN111274811A (zh) * | 2018-11-19 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 地址文本相似度确定方法以及地址搜索方法 |
CN111723164A (zh) * | 2019-03-18 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 地址信息的处理方法和装置 |
CN113657463A (zh) * | 2021-07-28 | 2021-11-16 | 浙江大华技术股份有限公司 | 步态识别模型训练方法、步态识别方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598611A (zh) * | 2015-01-29 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 对搜索条目进行排序的方法及系统 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
CN105183714A (zh) * | 2015-08-27 | 2015-12-23 | 北京时代焦点国际教育咨询有限责任公司 | 句子相似度计算方法及装置 |
-
2016
- 2016-04-18 CN CN201610239784.2A patent/CN105930413A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598611A (zh) * | 2015-01-29 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 对搜索条目进行排序的方法及系统 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
CN105183714A (zh) * | 2015-08-27 | 2015-12-23 | 北京时代焦点国际教育咨询有限责任公司 | 句子相似度计算方法及装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528530A (zh) * | 2016-10-24 | 2017-03-22 | 北京光年无限科技有限公司 | 一种确定句子类型的方法及装置 |
CN106503236A (zh) * | 2016-10-28 | 2017-03-15 | 北京百度网讯科技有限公司 | 基于人工智能的问题分类方法以及装置 |
CN106557563A (zh) * | 2016-11-15 | 2017-04-05 | 北京百度网讯科技有限公司 | 基于人工智能的查询语句推荐方法及装置 |
CN108090070A (zh) * | 2016-11-22 | 2018-05-29 | 北京高地信息技术有限公司 | 一种中文实体属性抽取方法 |
CN108090070B (zh) * | 2016-11-22 | 2021-08-24 | 湖南四方天箭信息科技有限公司 | 一种中文实体属性抽取方法 |
CN106846191A (zh) * | 2016-11-25 | 2017-06-13 | 北京粉笔蓝天科技有限公司 | 一种课程列表的编排方法、系统及服务器 |
CN110349572B (zh) * | 2017-05-27 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种语音关键词识别方法、装置、终端及服务器 |
CN110349572A (zh) * | 2017-05-27 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种语音关键词识别方法、装置、终端及服务器 |
CN107491508B (zh) * | 2017-08-01 | 2020-05-26 | 浙江大学 | 一种基于循环神经网络的数据库查询时间预测方法 |
CN107491508A (zh) * | 2017-08-01 | 2017-12-19 | 浙江大学 | 一种基于循环神经网络的数据库查询时间预测方法 |
CN110309255A (zh) * | 2018-03-07 | 2019-10-08 | 同济大学 | 一种融入实体描述分布式表示的实体搜索方法 |
WO2019179408A1 (zh) * | 2018-03-23 | 2019-09-26 | 新华三大数据技术有限公司 | 机器学习模型的构建 |
CN109447813A (zh) * | 2018-09-05 | 2019-03-08 | 平安科技(深圳)有限公司 | 产品推荐方法、装置、计算机设备和存储介质 |
CN111274811A (zh) * | 2018-11-19 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 地址文本相似度确定方法以及地址搜索方法 |
CN111274811B (zh) * | 2018-11-19 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 地址文本相似度确定方法以及地址搜索方法 |
CN111723164A (zh) * | 2019-03-18 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 地址信息的处理方法和装置 |
CN111723164B (zh) * | 2019-03-18 | 2023-12-12 | 阿里巴巴集团控股有限公司 | 地址信息的处理方法和装置 |
CN111198939A (zh) * | 2019-12-27 | 2020-05-26 | 北京健康之家科技有限公司 | 语句相似度的分析方法、装置及计算机设备 |
CN113657463A (zh) * | 2021-07-28 | 2021-11-16 | 浙江大华技术股份有限公司 | 步态识别模型训练方法、步态识别方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930413A (zh) | 相似度模型参数的训练方法、搜索处理方法及对应装置 | |
US11321542B2 (en) | Processing text sequences using neural networks | |
CN108052588B (zh) | 一种基于卷积神经网络的文档自动问答系统的构建方法 | |
CN111444726B (zh) | 基于双向格子结构的长短时记忆网络的中文语义信息提取方法和装置 | |
CN107944559B (zh) | 一种实体关系自动识别方法及系统 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN108875074B (zh) | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 | |
CN110083693B (zh) | 机器人对话回复方法及装置 | |
CN104615767B (zh) | 搜索排序模型的训练方法、搜索处理方法及装置 | |
WO2020062770A1 (zh) | 一种领域词典的构建方法、装置、设备及存储介质 | |
CN109933656B (zh) | 舆情极性预测方法、装置、计算机设备及存储介质 | |
CN108132931A (zh) | 一种文本语义匹配的方法及装置 | |
CN111914067B (zh) | 中文文本匹配方法及系统 | |
CN113239186B (zh) | 一种基于多依存关系表示机制的图卷积网络关系抽取方法 | |
KR20190020119A (ko) | 검색어를 위한 오류 정정 방법 및 기기 | |
CN109325242B (zh) | 基于词对和翻译判断句子是否对齐的方法、装置及设备 | |
CN111191002A (zh) | 一种基于分层嵌入的神经代码搜索方法及装置 | |
CN110008327A (zh) | 法律回答生成方法及装置 | |
JP2018022496A (ja) | 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器 | |
CN111079418B (zh) | 命名体识别方法、装置、电子设备和存储介质 | |
CN110472062B (zh) | 识别命名实体的方法及装置 | |
CN112163425A (zh) | 基于多特征信息增强的文本实体关系抽取方法 | |
CN103823857A (zh) | 基于自然语言处理的空间信息检索方法 | |
CN111881256B (zh) | 文本实体关系抽取方法、装置及计算机可读存储介质设备 | |
CN104765728A (zh) | 训练神经网络的方法和装置以及确定稀疏特征向量的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160907 |