相似度模型参数的训练方法、搜索处理方法及对应装置的制造方法

文档序号:10569981阅读:350来源:国知局
相似度模型参数的训练方法、搜索处理方法及对应装置的制造方法
【专利摘要】本发明公开了一种相似度模型参数的训练方法,搜索处理方法及其装置,相似度模型参数方法,包括:构建训练数据集;利用所述训练数据集训练得到相似度模型参数。获取用户输入的语句描述及从预先建立的词条目数据库中获取所有的词条目;获取所述语句描述对应的词向量矩阵及词条目数据库中每个词条目的词向量;根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述与词条目数据库中每个词条目的相似度;根据所述语句描述与词条目数据库中每个词条目的相似度将该语句描述的搜索结果呈现给所述用户。本发明能根据用户输入的描述,反向查找用户所描述的词条目,提高了用户的搜索体验及效率。
【专利说明】相似度模型参数的训练方法、搜索处理方法及对应装置 【技术领域】
[0001] 本发明涉及计算机应用技术领域,尤其涉及一种相似度模型参数的训练方法、搜 索处理方法及对应装置。 【【背景技术】】
[0002] 用户在使用搜索引擎的时候,除了通常的查找某个关键词相关联的网页之外,还 有一种应用场景,用户大概知道某个词,或某个物品的意义或者用途,但是不知道该词或者 物品具体的称呼(比如无痕钉),用户可以在搜索引擎中输入该词的具体描述(比如,一种用 来挂相框的东西,且不会影响墙面。)来反向查找该词;或者用户知道某家餐馆的大概特点, 但是忘记了餐馆的具体名称时,希望能够输入该餐馆的描述,来找到该餐馆的名称。
[0003] 当前的搜索引擎,并没有对此种应用场景进行特殊的处理,因此用户需要反复变 换通过关键词搜索以找到该描述的词条目(Term)。随着搜索引擎及相关技术的发展,能够 根据用户的描述,反向查找用户所描述的词条目越来越重要。 【
【发明内容】

[0004] 本发明提供了一种相似度模型参数的训练方法、搜索处理方法及对应装置,能根 据用户输入的描述,反向查找用户所描述的词条目,提高了用户的体验。
[0005] 具体技术方案如下:
[0006] -种相似度模型参数的训练方法,包括:
[0007] 构建训练数据集,所述训练数据集由包含词条目及该词条目的描述的样本数据构 成;
[0008] 利用所述训练数据集训练得到相似度模型参数,所述相似度模型参数包括由所述 训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集中词条目的描述 转换为隐层向量的隐层变换矩阵。
[0009] 根据本发明一优选实施例,当所述样本数据中某个词条目的描述中所包含的词语 个数为1时,所述词条目的描述的隐层向量为该词条目的描述中所包含的词语的词向量。
[0010] 根据本发明一优选实施例,当所述样本数据中词条目的描述中所包含的词语个数 大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条目的描述中第一个词语 的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个词语的隐层向量,将所 述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描述的隐层向量。
[0011] 根据本发明一优选实施例,利用所述训练数据集训练得到相似度模型参数包括:
[0012] 建立参数化的词向量矩阵,参数化的所述隐层变换矩阵;
[0013] 初始化所述词向量矩阵中的参数,所述隐层变换矩阵中的参数;
[0014] 采用预设的迭代算法,对所述词向量矩阵中的参数,所述隐层变换矩阵中的参数 进行迭代,直至达到预设的迭代终止条件。
[0015] 根据本发明一优选实施例,所述建立参数化的词向量矩阵包括:
[0016] 将所述样本数据进行分词;
[0017] 参数化分词得到的各词语的词向量;
[0018] 由参数化后得到的各词语的词向量构成词向量矩阵。
[0019] 根据本发明一优选实施例,所述迭代终止条件包括:
[0020] 达到预设的迭代次数;或者
[0021] 本次迭代后得到的损失函数的值小于预设目标值;或者
[0022] 本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小 于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确 定。
[0023]根据本发明一优选实施例,当所述样本数据中词条目的描述的隐层向量的长度与 所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩 阵,通过所述长度变换矩阵将所述词条目的描述的隐层向量转换成长度与所述词条目所对 应的词向量长度相同的向量。
[0024] 一种搜索处理方法,该方法包括:
[0025]获取用户输入的语句描述;
[0026] 查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每 个词条目的词向量;
[0027] 根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定所述语句描述 对应的隐层向量;
[0028] 根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量确定 所述语句描述与词条目数据库中每个词条目的相似度;
[0029] 确定词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目。
[0030] 其中所述相似度模型参数是采用权利要求1~7任一权项所述的方法训练得到的。 [0031]根据本发明一优选实施例,根据所述相似度模型参数及所述语句描述对应的词向 量矩阵确定所述语句描述对应的隐层向量,包括:
[0032] 当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句 描述中所包含的词语的词向量;或者
[0033] 当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层 变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
[0034] 根据本发明一优选实施例,该方法还包括:
[0035] 将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜索;或者,
[0036] 利用确定出的词条目进行搜索,得到搜索结果。
[0037] -种相似度模型参数的训练装置,包括:
[0038] 构建单元,用于构建训练数据集,所述训练数据集由包含词条目及该词条目的描 述的样本数据构成;
[0039] 训练单元,用于利用所述训练数据集训练得到相似度模型参数,所述相似度模型 参数包括由所述训练数据集所包含词语的词向量构成的词向量矩阵及将所述训练数据集 中词条目的描述转换为隐层向量的隐层变换矩阵。
[0040] 根据本发明一优选实施例,所述训练单元,还用于当所述样本数据中某个词条目 的描述中所包含的词语个数为1时,将所述词条目的描述中所包含的词语的词向量确定为 所述词条目的描述的隐层向量。
[0041] 根据本发明一优选实施例,所述训练单元,还用于当所述样本数据中词条目的描 述中所包含的词语个数大于1时,利用时间递归的循环神经网络LSTM从分词后的所述词条 目的描述中第一个词语的隐层向量开始,递归得到分词后的所述词条目的描述中最后一个 词语的隐层向量,将所述词条目的描述中最后一个词语的隐层向量确定为所述词条目的描 述的隐层向量。
[0042] 根据本发明一优选实施例,所述训练单元在利用所述训练数据集训练得到相似度 模型参数时,具体执行:
[0043] 建立参数化的词向量矩阵,参数化的所述隐层变换矩阵;
[0044] 初始化所述词向量矩阵中的参数,所述隐层变换矩阵中的参数;
[0045] 采用预设的迭代算法,对所述词向量矩阵中的参数,所述隐层变换矩阵中的参数 进行迭代,直至达到预设的迭代终止条件。
[0046] 根据本发明一优选实施例,所述训练单元在建立参数化的词向量矩阵时,具体执 行:
[0047] 将所述样本数据进行分词;
[0048] 参数化分词得到的各词语的词向量;
[0049] 由参数化后得到的各词语的词向量构成词向量矩阵。
[0050] 根据本发明一优选实施例,所述迭代终止条件包括:
[0051] 达到预设的迭代次数;或者
[0052] 本次迭代后得到的损失函数的值小于预设目标值;或者
[0053] 本次迭代结束后得到的损失函数与上次迭代结束后得到的损失函数的值之差小 于预设的阈值;其中,所述损失函数根据训练数据集中词条目与词条目的描述的相似度确 定。
[0054]根据本发明一优选实施例,当所述样本数据中词条目的描述的隐层向量的长度与 所述词条目所对应的词向量的长度不相同时,所述相似度模型参数还包括一个长度变换矩 阵;
[0055]所述训练单元,还用于通过所述长度变换矩阵将所述词条目的描述的隐层向量转 换成长度与所述词条目所对应的词向量长度相同的向量。
[0056] 一种搜索处理装置,该装置包括:
[0057] 第一获取单元,用于获取用户输入的语句描述;
[0058] 第二获取单元,用于查询相似度模型参数,获取所述语句描述对应的词向量矩阵 及词条目数据库中每个词条目的词向量;
[0059] 计算单元,用于根据所述相似度模型参数及所述语句描述对应的词向量矩阵确定 所述语句描述对应的隐层向量;
[0060] 所述计算单元,还用于根据所述语句描述对应的隐层向量及词条目数据库中每个 词条目的词向量确定所述语句描述与词条目数据库中每个词条目的相似度;
[0061] 确定单元,用于确定词条目数据库中与所述语句描述之间的相似度满足预设要求 的词条目;
[0062] 其中所述相似度模型参数是采用权利要求11~17任一权项所述的装置训练得到 的。
[0063] 根据本发明一优选实施例,所述计算单元在根据所述相似度模型参数及所述语句 描述对应的词向量矩阵确定所述语句描述对应的隐层向量时,具体执行:
[0064] 当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向量为该语句 描述中所包含的词语的词向量;或者
[0065] 当所述语句描述中所包含的词语个数大于1时,根据所述相似度模型参数中隐层 变换矩阵,利用时间递归的循环神经网络LSTM将所述语句描述转换为隐层向量表示。
[0066] 根据本发明一优选实施例,该装置还包括:
[0067] 搜索处理单元,用于将确定出的词条目推荐给用户供用户从中选择一个词条目进 行搜索;或者,
[0068] 利用确定出的词条目进行搜索,得到搜索结果。
[0069] 由以上技术方案可以看出,本发明能根据用户输入的描述,反向查找用户所描述 的词语,提高了用户的体验及搜索效率。 【【附图说明】】
[0070] 图1是本发明实施例的基本原理框图。
[0071 ]图2是本发明实施例一的相似度模型参数的训练方法的流程图。
[0072]图3是本发明实施例二的搜索处理方法的流程图。
[0073] 图4是本发明实施例三的相似度模型参数的训练装置的结构示意图。
[0074] 图5是本发明实施例四的搜索处理装置的结构示意图。 【【具体实施方式】】
[0075] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。
[0076]图1是本发明实施例的基本原理框图。如图1所示,首先从互联网上挖掘包含词条 目及该词条目的描述的样本数据,并构建训练数据集。根据该训练数据集训练得到相似度 模型参数。最后,获取用户输入的语句描述及从预先建立的词条目数据库中获取所有的词 条目,查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库中每个 词条目的词向量,根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语 句描述对应的隐层向量;根据所述语句描述对应的隐层向量及词条目数据库中每个词条目 的词向量计算所述语句描述与词条目数据库中每个词条目的相似度;根据所述语句描述与 词条目数据库中每个词条目的相似度将该语句描述的搜索结果呈现给所述用户。
[0077]如图2所示,是本发明实施例一的相似度模型参数的训练方法的流程图。该相似度 模型参数的训练方法包括:
[0078] S10,构建训练数据集。
[0079]在本实施例中,利用已有的数据挖掘技术从网页上(如百度百科,维基百科)中挖 掘包含词条目及该词条目的描述的样本数据。根据所述样本数据生成二元对。每个二元对 包括一个词条目T及该词条目的描述D。例如通过搜集百度百科上的词条作为词条目,而百 度百科当中关于该词条目的简介当中的第一句话(当然也可以是从简介中筛选出的其他语 句)可以作为该词条目的描述。举例来说,词条目:蜗鸢;该词条目的描述:蜗鸢(学名: Rostrhamus sociabilis)为鹰科齿鹰亚科的鸟类,是一种中型猛禽,体长约45厘米,上体羽 毛深蓝色,头和下体羽毛灰白色或杂色,腿爪黄色有黑爪尖,眼睛棕红色。
[0080]从网页上能获得大量的这样的样本数据。样本数据的量越大,所构建的训练数据 集的规模越大,后续对相似度模型参数进行训练所得到的相似度模型参数越准确。通常来 说,所述样本数据至少为千万量级。
[0081 ] S11,利用所述训练数据集训练得到相似度模型参数。
[0082]在本实施例中,所述相似度模型参数包括由所述训练数据集所包含词语的词向量 构成的词向量矩阵,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
[0083 ]所述词向量矩阵E是用参数表示的。所述词向量矩阵由多个词语的词向量组成,所 述词向量为将词语映射到一向量空间中,将词语在该向量空间的分布情况用一个向量表 示。在本实施例中,词语在所述向量空间的分布表示词条目与词条目的描述之间的相似程 度。所述隐层变换矩阵用于将词条目的描述转换为隐层向量表示。所述隐层向量用于表示 所述词条目的描述的隐藏语义的向量。
[0084] 优选地,作为S11的一种实施方式,该S11包括:
[0085] S110,建立参数化的词向量矩阵,参数化的隐层变换矩阵。
[0086] 在建立参数化的词向量矩阵中,具体包括:
[0087] (1)将训练数据集中每个二元对进行分词。
[0088] 利用分词技术对训练数据集中每个二元对中词条目的描述D进行分词。例如,假设 将每个二元对中词条目的描述D分成长度为M的文本串。则每个二元对中词条目的描述D表 示为((^,山...^),每个二元对中的词条目T即为一个长度为1的文本串,用t表示。
[0089] (2)参数化分词得到的各词语的词向量。
[0090] 每个二元对的词条目的词向量emb (T)表示为(emb_t),每个二元对中词条目的描 述D中所有词语的词向量emb (D)表示为(emb_di,emb_d2…emb_dM)。emb (D)是一个行数为M, 列数为emb_size的矩阵。
[0091 ] (3)由参数化后得到的各词语的词向量构成词向量矩阵。
[0092] 分词后的所有二元对的每个词语都包含在一个词向量矩阵中,该词向量矩阵的行 高为I V|,矩阵的列宽为emb_siZe。这里的| V|为所有可能出现的词语的个数,即词典大小。 emb_size的大小为预设值,该预设值为一个经验值,通常设定位50到1000之间。该矩阵中的 每一行参数为一个长度为emb_size的向量,称为这一行对应的词语的词向量。后续可通过 对相似度模型参数的训练得到所述词向量矩阵的最优解,即可得到每一行中对应的词语的 词向量的最优解。
[0093] 在本实施例中,当某个二元对中词条目的描述中所包含的词语个数为1时,所述二 元对中词条目的描述的隐层向量为该二元对中词条目的描述中所包含的词语的词向量。当 某个二元对中词条目的描述中所包含的词语个数大于1时,即M大于1时,利用时间递归的循 环神经网络LSTM(Long-Short Term Memory,LSTM,简称LSTM)将所述二元对中词条目的描 述转换为隐层向量表示。具体计算公式如下:
[0094] Inputi = sigmoid(ffinput*emb_di+UinPut hi-i),
[0095] Forgeti = sigmoid(fff〇rget*emb_di+Uf〇rget hi-i),
[0096] Outputi = sigmoid(ff〇utput*emb_di+U〇utPut hi-i),
[0097] Cellcandidatei = tanh(ffceii*emb_di+Uceii hi-i),
[0098] Celli = Forgeti 一 Celli-i+Inputi 一 Cellcandidatei,
[0099] hi = 0utputi 一 tanh(celli),
[0100] 其中emb_cU表示分词后的所述词条目的描述中第i个词语的词向量,hH表示分词 后的所述词条目的描述中弟i _l个词语的隐层向里,其中Winput,Uinput,Wf orget,Uforget,Woutput, U0Utput,Wceii及Uceii组成隐层变换矩阵。Inputi是一种门限gate,控制从当前的词语的词向量 当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息 量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用 F〇rget1&InpUt1所得到的信息量。匕表示分词后的所述词条目的描述中第i个词语的隐层 向量。当得到分词后的所述词条目的描述中最后一个词语的隐层向量时,即得到了所述词 条目的描述的隐层向量。
[0101] 假设每个词条目的描述的隐层向量长度为h i dden_s i z e,则中Winput,Wf orget,Wcmtput, Wceiii?>)^jhidden_size*emb_sizeS/;]^lEL|^ .Uinput ,Uf〇rget ,U〇utPut ,Uceiii?>)^jhidden_size* hidden_size 的矩阵。hidden_size 等于 emb_size〇
[0102] 使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据每个词 条目的描述中词与词之间的依赖关系进行建模,从而能够更好地表示出每个词条目的描述 的语义。
[0103] S111,初始化所述词向量矩阵中的参数及所述隐层变换矩阵中的参数。
[0104] 在本实施例中,随机产生一组数字来初始化所述词向量矩阵中的参数,及所述隐 层变换矩阵中的参数。当然也可以采用预设的初始值来初始化各参数,例如,采用〇到0.001 之间的值初始化各参数等。
[0105] S112,采用预设的迭代算法,对所述词向量矩阵中的参数,隐层变换矩阵中的参数 进行迭代,直至达到预设的迭代终止条件。
[0106] 在本实施例中,利用预设的迭代算法,在所述训练数据集上采用损失函数来迭代 获取所述词向量矩阵中的参数值,及隐层变换矩阵中的参数值,所述损失函数根据训练数 据集中词条目与词条目的描述的相似度确定。
[0107] 损失函数的表达式如下:
[0108] J(0) = - Z Cosine(rep(T),rep(D)), 所有<T,D〉
[0109] 其中Cosine函数定义如下:
[0111] 其中rep (T)表示每个二元对中词条目所对应的词向量,rep (D)表示每个二元对中 词条目的描述所对应的隐层向量。
[0112] 在本实施例中,当二元对中词条目的描述中所包含的词语的个数大于1时,利用时 间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的 隐层向量时,即得到了每个二元对中词条目的描述的隐层向量rep(D)。当二元对中词条目 的描述中所包含的词语的个数为1时,则该二元对中词条目的描述中所包含的词语的词向 量即为rep(D)。
[0113] 在本实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条 目所对应的词向量的长度相同,即hidden_size等于emb_size。在其他实施例中,每个二元 对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度不相同 时,那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵用于将所述每个 词条目的描述的隐层向量转换成长度为emb_size的向量。所述长度变换矩阵大小为 hidden_size*emb_size。所述长度变换矩阵中参数的计算方法与词向量矩阵中参数的计算 方法相同,即在步骤S11中同样可以计算出最优的长度变换矩阵。利用时间递归的循环神经 网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量h M后,rep (D) =hM*B〇
[0114] 在其他实施例中,本领域的技术人员可以根据需要采用其他表示形式的损失函 数,如对数损失函数,平均损失函数,绝对损失函数等。
[0115] 所述预设的迭代算法为随机梯度下降法(Stochastic Gradient Descent,S⑶)与 反向传播(Back Propagation,BP)算法。由于所建立的数据集规模过亿,因此对所述相似度 模型参数进行训练,能够得到一份最优化的相似度模型参数。SGD与BP算法属于本领域技术 人员的公知知识,在此仅做概要说明。BP算法是一种有效的计算参数的梯度的方法。
[0116]在本实施例中,利用SGD的迭代思想,分别对词向量矩阵,隐层变换矩阵进行初始 化,通过训练数据集分别计算词向量矩阵及隐层变换矩阵的梯度,根据词向量矩阵及隐层 变换矩阵的梯度分别更新初始化的词向量矩阵,及隐层变换矩阵。更新的方法是每次让词 向量矩阵,减去所设置的一个学习率(learning rate)乘以计算出的词向量矩阵所对应的 梯度,让隐层变换矩阵,减去所设置的一个学习率(learning rate)乘以计算出的隐层变换 矩阵所对应的梯度,多次迭代后,当迭代到预设的迭代终止条件时,从而得到最优的预估模 型参数。
[0117]所述预设的迭代终止条件可以是预设的迭代次数,或者本次迭代结束后得到的损 失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值或者损失函数的值小 于预设目标值。所述预设的迭代次数、预设的阈值及预设目标值是一个预设值,都为经验 值。
[0118]在得到相似度模型参数后,会存储于存储装置中,便于后续用户输入某个词的具 体描述时,根据相似度模型参数,向客户呈现与该具体描述最相似的词语,提高了用户的体 验。
[0119]如图3所示,是本发明实施例二的搜索处理方法的流程图。该搜索处理方法包括: [0120] S21,获取用户输入的语句描述。
[0121]在本实施例中,所述语句描述的输入可以是语音或者文本的形式。当为语音形式 的语句描述时,先通过语音识别技术将该语音形式的语句描述转换为文本形式的语句描 述。
[0122 ] S22,从预先建立的词条目数据库中获取所有的词条目。
[0123]在本实施例中,预先建立一个词条目数据库,该词条目数据库中包括多个词条目, 该词条目数据库可根据训练数据集建立。当然也可以由人工自行添加等等。词条目数据库 中词条目的数量至少为千万量级。
[0124] S23,查询相似度模型参数,获取所述语句描述对应的词向量矩阵及词条目数据库 中每个词条目的词向量。
[0125]在本实施例中,所述相似度模型参数是通过实施例一中所述的方法训练得到,可 从存储装置中获取与已经训练好的相似度模型参数。所述相似度模型参数包括训练数据集 所包含词语的词向量构成的词向量矩阵E,将所述训练数据集中词条目的描述转换为隐层 向量的隐层变换矩阵。词向量矩阵E的行高为| V |,矩阵的列宽为emb_size。这里的| V |为所 有可能出现的词的个数(即词典大小),该矩阵中的每一行数字为一个长度为emb_siZe的向 量,称为这一行对应的词的词向量。所述词向量矩阵E由多个词的词向量组成,所述词向量 为将词映射到一向量空间中,将词在该向量空间的分布情况用一个向量表不。
[0126]利用分词技术将所述语句描述DE分词成长度为n的文本串,将DE表不为dei,de2,… den。通过查询词向量矩阵E,得到语句描述DE中所对应的词向量矩阵emb(DE)为emb_dei, emb_de2,…,emb_den。其中emb_dei为词语dei所对应的词向量。
[0127] 通过查询词向量矩阵,词条目数据库中每个词条目TE的词向量表示成emb_te。
[0128] S24,根据所述相似度模型参数及所述语句描述对应的词向量矩阵计算所述语句 描述对应的隐层向量。
[0129] 在本实施例中,所述相似度模型参数还包括隐层变换矩阵,其用于将所述语句描 述转换为隐层向量表示。
[0130] 在本实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应 的词向量的长度相同。当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向 量为该语句描述中所包含的词语的词向量。当所述语句描述中所包含的词语个数大于1时, 艮Pn大于1时,利用时间递归的循环神经网络LSTM(Long_Short Term Memory,LSTM,简称 LSTM)将所述语句描述转换为隐层向量表示。具体计算公式如下:
[0131] Inputi = sigmoid(ffinput*emb_dei+UinPut hei-i),
[0132] Forgeti = sigmoid(fff〇rget*emb_dei+Uf〇rget hei-i),
[0133] Outputi = sigmoid(ff〇utput*emb_dei+U〇utPut hei-i),
[0134] Cellcandidatei = tanh(ffceii*emb_dei+Uceii hei-i),
[0135] Celli = Forgeti 一 Celli-i+Inputi 一 Cellcandidatei,
[0136] hei = 0utputi 一 tanh(celli),
[0137] 其中emb_cU表示分词后的所述语句描述中第i个词语的词向量,hei-i表示分词后 的所述语句描述中弟i _l个词语的隐层向里,其中Winput,Uinput,Wf orget,Uforget,Woutput,Uoutput, Wcell&UcellS隐层变换矩阵,通过实施例一中所述的方法训练得到。Input:是一种门限 gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前 一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前 可用的信息量,Celli表示利用Forgeti及Inputi所得到的信息量。hei表示分词后的所述语 句描述中第i个词语的隐层向量。当得到分词后的所述语句描述中最后一个词语的隐层向 量时,即得到了所述语句描述的隐层向量rep(DE)。
[0138] 假设所述语句描述的隐层向量长度为hidden_size,则中WinputJforgetJcmtputiell i<f^jhidden_size*emb_sizeStl^lEL|^ .Uinput ,Uf〇rget,U〇utPut,Uceiii?>)^jhidden_size*hidden_ 8126的矩阵。111(1(1611_3126等于611113_31260
[0139] 使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据语句描 述中词与词之间的依赖关系进行建模,从而能够更好地表示出语句描述的语义。
[0140]在其他实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对 应的词向量的长度不相同。那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变 换矩阵B用于将所述每个词条目的描述的隐层向量转换成长度为emb_si ze的向量。长度变 换矩阵通过实施例一中所述的方法训练得到。所述长度变换矩阵大小为hidden_size*emb_ size。利用时间递归的循环神经网络LSTM得到分词后的所述语句描述中最后一个词语的隐 层向量hen后,所述语句描述的隐层向量rep (DE) = hen*B。
[0141] S25,根据所述语句描述对应的隐层向量及词条目数据库中每个词条目的词向量 计算所述语句描述与词条目数据库中每个词条目的相似度。
[0142] 在本实施例中,所述语句描述与词条目数据库中每个词条目的相似度的根据所述 语句描述对应的隐层向量与词条目数据库中每个词条目的词向量的余弦距离确定,计算公 式如下:
[0143] Sim_Score(TE,DE)=Cosine(rep(TE),rep(DE)),
[0144] 其中rep(TE)表示词条目数据库中每个词条目所对应的词向量,rep(DE)表示每个 二元对中词条目的描述所对应的隐层向量。
[0145] S26,根据所述语句描述与词条目数据库中每个词条目的相似度确定词条目数据 库中与所述语句描述之间的相似度满足预设要求的词条目。
[0146] 在本实施例中,将所述语句描述与词条目数据库中每个词条目的相似度从高到低 进行排序,把相似度排在前预设位数(如前十位)的词条目返回给用户,供用户从中选择一 个词条目进行搜索。或者,利用确定出的词条目进行搜索,得到搜索结果提供给用户。例如, 当用户在搜索引擎(如百度)的输入栏中输入"一种用来挂相框的东西,且不会影响墙面"的 语句描述,搜索结果中会将关于无痕钉的网页呈现给用户。
[0147] 如图4所示,本发明实施例三的相似度模型参数的训练装置的结构示意图。该装置 包括:构建单元100、及训练单元101。
[0148] 构建单元100用于构建训练数据集。
[0149] 在本实施例中,利用已有的数据挖掘技术从网页上(如百度百科,维基百科)中挖 掘包含词条目及该词条目的描述的样本数据。根据所述样本数据生成二元对。每个二元对 包括一个词条目T及该词条目的描述D。例如通过搜集百度百科上的词条作为词条目,而百 度百科当中关于该词条目的简介当中的第一句话(当然也可以是从简介中筛选出的其他语 句)可以作为该词条目的描述。举例来说,词条目:蜗鸢;该词条目的描述:蜗鸢(学名: Rostrhamus sociabilis)为鹰科齿鹰亚科的鸟类,是一种中型猛禽,体长约45厘米,上体羽 毛深蓝色,头和下体羽毛灰白色或杂色,腿爪黄色有黑爪尖,眼睛棕红色。
[0150] 从网页上能获得大量的这样的样本数据。样本数据的量越大,所构建的训练数据 集的规模越大,后续对相似度模型参数进行训练所得到的相似度模型参数越准确。通常来 说,所述样本数据至少为千万量级。
[0151] 训练单元101用于利用所述训练数据集训练得到相似度模型参数。
[0152] 在本实施例中,所述相似度模型参数包括由所述训练数据集所包含词语的词向量 构成的词向量矩阵,将所述训练数据集中词条目的描述转换为隐层向量的隐层变换矩阵。
[0153] 所述词向量矩阵E是用参数表示的。所述词向量矩阵由多个词语的词向量组成,所 述词向量为将词语映射到一向量空间中,将词语在该向量空间的分布情况用一个向量表 示。在本实施例中,词语在所述向量空间的分布表示词条目与词条目的描述之间的相似程 度。所述隐层向量用于表示所述词条目的描述的隐藏语义。所述隐层变换矩阵用于将词条 目的描述转换为隐层向量表不。
[0154] 优选地,利用所述训练数据集训练得到相似度模型参数,包括:
[0155] 训练单元101用于建立参数化的词向量矩阵,及参数化的隐层变换矩阵。
[0156] 在建立参数化的词向量矩阵中,具体包括:
[0157] (1)将训练数据集中每个二元对进行分词。
[0158] 利用分词技术对训练数据集中每个二元对中词条目的描述D进行分词。例如,假设 将每个二元对中词条目的描述D分成长度为M的文本串。则每个二元对中词条目的描述D表 示为((^,山...^),每个二元对中的词条目T即为一个长度为1的文本串,用t表示。
[0159] (2)参数化分词得到的各词语的词向量。
[0160] 每个二元对的词条目的词向量emb (T)表示为(emb_t),每个二元对中词条目的描 述D中所有词语的词向量emb (D)表示为(emb_di,emb_d2…emb_dM)。emb (D)是一个行数为M, 列数为emb_size的矩阵。
[0161 ] (3)由参数化后得到的各词语的词向量构成词向量矩阵。
[0162] 分词后的所有二元对的每个词语都包含在一个词向量矩阵中,该词向量矩阵的行 高为I V|,矩阵的列宽为emb_siZe。这里的| V|为所有可能出现的词语的个数,即词典大小。 emb_size的大小为预设值,该预设值为一个经验值,通常设定位50到1000之间。该矩阵中的 每一行参数为一个长度为emb_size的向量,称为这一行对应的词语的词向量。后续可通过 对相似度模型参数的训练得到所述词向量矩阵的最优解,即可得到每一行中对应的词语的 词向量的最优解。
[0163] 在本实施例中,当某个二元对中词条目的描述中所包含的词语个数为1时,所述二 元对中词条目的描述的隐层向量为该二元对中词条目的描述中所包含的词语的词向量。当 某个二元对中词条目的描述中所包含的词语个数大于1时,即M大于1时,利用时间递归的循 环神经网络LSTM(Long-Short Term Memory,LSTM,简称LSTM)将所述二元对中词条目的描 述转换为隐层向量表示。具体计算公式如下:
[0164] Inputi = sigmoid(ffinput*emb_di+UinPut hi-i),
[0165] Forgeti = sigmoid(fff〇rget*emb_di+Uf〇rget hi-i),
[0166] Outputi = sigmoid(ff〇utput*emb_di+U〇utPut hi-i),
[0167] Cellcandidatei = tanh(ffceii*emb_di+Uceii hi-i),
[0168] Celli = Forgeti 一 Celli-i+Inputi 一 Cellcandidatei,
[0169] hi = 0utputi 一 tanh(celli),
[0170] 其中emb_cU表示分词后的所述词条目的描述中第i个词语的词向量,表示分词 后的所述词条目的描述中弟i_l个词语的隐层向里,其中Winput,Uinput,Wf orget,Uforget,Woutput, U0Utput,Wceii及Uceii组成隐层变换矩阵。Inputi是一种门限gate,控制从当前的词语的词向量 当中流入的信息量,Forgeti是一种门限gate,控制从前一个词语的词向量中遗忘的信息 量,Outputi控制输出的信息量,Cellcandidatei表示当前可用的信息量,Celli表示利用 F〇rget1&InpUt1所得到的信息量。匕表示分词后的所述词条目的描述中第i个词语的隐层 向量。当得到分词后的所述词条目的描述中最后一个词语的隐层向量时,即得到了所述词 条目的描述的隐层向量。
[0171] 假设每个词条目的描述的隐层向量长度为h i dden_s i z e,则中Winput,Wf orget,, Wceiii?>)^jhidden_size*emb_sizeS/;]^lEL|^ .Uinput ,Uf〇rget ,U〇utPut ,Uceiii?>)^jhidden_size* hidden_size 的矩阵。hidden_size 等于 emb_size〇
[0172] 使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据每个词 条目的描述中词与词之间的依赖关系进行建模,从而能够更好地表示出每个词条目的描述 的语义。
[0173] 训练单元101用于初始化所述词向量矩阵中的参数及所述隐层变换矩阵中的参 数。
[0174] 在本实施例中,随机产生一组数字来初始化所述词向量矩阵中的参数,及所述隐 层变换矩阵。当然也可以采用预设的初始值来初始化各参数,例如,采用〇到0.001之间的值 初始化各参数等。
[0175] 训练单元101用于采用预设的迭代算法,对所述词向量矩阵中的参数,隐层变换矩 阵中的参数进行迭代,直至达到预设的迭代终止条件。
[0176] 在本实施例中,利用预设的迭代算法,在所述训练数据集上采用损失函数来迭代 获取所述词向量矩阵中的参数值,及隐层变换矩阵中的参数值,所述损失函数根据训练数 据集中词条目与词条目的描述的相似度确定。
[0177] 损失函数的表达式如下:
[0178] = _ [ Cosine(reP(T)- reP(D)), 所有(I'D〉
[0179] 其中Cosine函数定义如下:
[0181] 其中rep (T)表示每个二元对中词条目所对应的词向量,rep (D)表示每个二元对中 词条目的描述所对应的隐层向量。
[0182] 在本实施例中,当二元对中词条目的描述中所包含的词语的个数大于1时,利用时 间递归的循环神经网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的 隐层向量时,即得到了每个二元对中词条目的描述的隐层向量rep(D)。当二元对中词条目 的描述中所包含的词语的个数为1时,则该二元对中词条目的描述中所包含的词语的词向 量即为rep(D)。
[0183] 在本实施例中,每个二元对中词条目的描述的隐层向量长度与每个二元对中词条 目所对应的词向量的长度相同,即hidden_size等于emb_size。在其他实施例中,每个二元 对中词条目的描述的隐层向量长度与每个二元对中词条目所对应的词向量的长度不相同 时,那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变换矩阵用于将所述每个 词条目的描述的隐层向量转换成长度为emb_size的向量。所述长度变换矩阵大小为 hidden_size*emb_size。所述长度变换矩阵中参数的计算方法与词向量矩阵中参数的计算 方法相同,即在步骤S11中同样可以计算出最优的长度变换矩阵。利用时间递归的循环神经 网络LSTM得到分词后的每个二元对中词条目的描述中最后一个词语的隐层向量h M后,rep (D) =hM*B〇
[0184] 在其他实施例中,本领域的技术人员可以根据需要采用其他表示形式的损失函 数,如对数损失函数,平均损失函数,绝对损失函数等。
[0185] 所述预设的迭代算法为随机梯度下降法(Stochastic Gradient Descent,S⑶)与 反向传播(Back Propagation,BP)算法。由于所建立的数据集规模过亿,因此对所述相似度 模型参数进行训练,能够得到一份最优化的相似度模型模型参数。SGD与BP算法属于本领域 技术人员的公知知识,在此仅做概要说明。BP算法是一种有效的计算参数的梯度的方法。
[0186] 在本实施例中,利用SGD的迭代思想,分别对词向量矩阵,隐层变换矩阵进行初始 化,通过训练数据集分别计算词向量矩阵及隐层变换矩阵的梯度,根据词向量矩阵,隐层变 换矩阵的梯度分别更新初始化的词向量矩阵及隐层变换矩阵。更新的方法是每次让词向量 矩阵,减去所设置的一个学习率(learning rate)乘以计算出的词向量矩阵所对应的梯度, 让隐层变换矩阵,减去所设置的一个学习率(learning rate)乘以计算出的隐层变换矩阵 所对应的梯度,多次迭代后,当迭代到预设的迭代终止条件时,从而得到最优的预估模型参 数。
[0187] 所述预设的迭代终止条件可以是预设的迭代次数,或者本次迭代结束后得到的损 失函数与上次迭代结束后得到的损失函数的值之差小于预设的阈值或者损失函数的值小 于预设目标值。所述预设的迭代次数、预设的阈值及预设目标值是一个预设值,都为经验 值。
[0188] 在得到相似度模型参数后,会存储于存储装置中,便于后续用户输入某个词的具 体描述时,根据相似度模型参数,向客户呈现与该具体描述最相似的词语,提高了用户的体 验。
[0189] 如图5所示,是本发明实施例四的搜索处理装置的结构示意图。该装置包括:第一 获取单元201,第二获取单元202,计算单元203及确定单元204。
[0190] 第一获取单元201用于获取用户输入的语句描述。
[0191] 在本实施例中,所述语句描述的输入可以是语音或者文本的形式。当为语音形式 的语句描述时,先通过语音识别技术将该语音形式的语句描述转换为文本形式的语句描 述。
[0192] 第一获取单元201还用于从预先建立的词条目数据库中获取所有的词条目。
[0193] 在本实施例中,预先建立一个词条目数据库,该词条目数据库中包括多个词条目, 该词条目数据库可根据训练数据集建立。当然也可以由人工自行添加等等。词条目数据库 中词条目的数量至少为千万量级。
[0194] 第二获取单元202还用于查询相似度模型参数,获取所述语句描述对应的词向量 矩阵及词条目数据库中每个词条目的词向量。
[0195] 在本实施例中,所述相似度模型参数是通过实施例一中所述的方法训练得到,可 从存储装置中获取与已经训练好的相似度模型参数。所述相似度模型参数包括训练数据集 所包含词语的词向量构成的词向量矩阵E,将所述训练数据集中词条目的描述转换为隐层 向量的隐层变换矩阵。词向量矩阵E的行高为| V |,矩阵的列宽为emb_size。这里的| V |为所 有可能出现的词的个数(即词典大小),该矩阵中的每一行数字为一个长度为emb_siZe的向 量,称为这一行对应的词的词向量。所述词向量矩阵E由多个词的词向量组成,所述词向量 为将词映射到一向量空间中,将词在该向量空间的分布情况用一个向量表不。
[0196]利用分词技术将所述语句描述DE分词成长度为n的文本串,将DE表不为dei,de2,… den。通过查询词向量矩阵E,得到语句描述DE中所对应的词向量矩阵emb(DE)为emb_dei, emb_de2,…,emb_den。其中emb_dei为词语dei所对应的词向量。
[0197] 通过查询词向量矩阵,词条目数据库中每个词条目TE的词向量表示成emb_te。
[0198] 计算单元203用于根据所述相似度模型参数及所述语句描述对应的词向量矩阵计 算所述语句描述对应的隐层向量。
[0199] 在本实施例中,所述相似度模型参数还包括隐层变换矩阵,其用于将所述语句描 述转换为隐层向量表示。
[0200] 在本实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对应 的词向量的长度相同。当所述语句描述中所包含的词语个数为1时,所述语句描述的隐层向 量为该语句描述中所包含的词语的词向量。当所述语句描述中所包含的词语个数大于1时, 艮Pn大于1时,利用时间递归的循环神经网络LSTM(Long_Short Term Memory,LSTM,简称 LSTM)将所述语句描述转换为隐层向量表示。具体计算公式如下:
[0201] Inputi = sigmoid(ffinput*emb_dei+UinPut hei-i),
[0202] Forgeti = sigmoid(fff〇rget*emb_dei+Uf〇rget hei-i),
[0203] Outputi = sigmoid(ff〇utput*emb_dei+U〇utPut hei-i),
[0204] Cellcandidatei = tanh(ffceii*emb_dei+Uceii hei-i),
[0205] Celli = Forgeti 〇 Celli-i+Inputi 一 Cellcandidatei,
[0206] hei = 0utputi 一 tanh(celli),
[0207] 其中emb_cU表示分词后的所述语句描述中第i个词语的词向量,hei-i表示分词后 的所述语句描述中弟i_l个词语的隐层向里,其中Winput,Uinput,Wf orget,Uforget,Woutput,Uoutput, Wcell&UcellS隐层变换矩阵,通过实施例一中所述的方法训练得到。Input:是一种门限 gate,控制从当前的词语的词向量当中流入的信息量,Forgeti是一种门限gate,控制从前 一个词语的词向量中遗忘的信息量,Outputi控制输出的信息量,Cellcandidatei表示当前 可用的信息量,Cel li表示利用Forgeti及Inputi所得到的信息量。hei表示分词后的所述语 句描述中第i个词语的隐层向量。当得到分词后的所述语句描述中最后一个词语的隐层向 量时,即得到了所述语句描述的隐层向量rep(DE)。
[0208] 假设所述语句描述的隐层向量长度为hidden_size,则中WinputJforgetJcmtputiell i<f^jhidden_size*emb_sizeStl^lEL|^ .Uinput ,Uf〇rget,U〇utPut,Uceiii?>)^jhidden_size*hidden_ 8126的矩阵。111(1(1611_3126等于611113_31260
[0209] 使用这样的LSTM(Long Short-Term Memory)的结构的优点在于能够根据语句描 述中词与词之间的依赖关系进行建模,从而能够更好地表示出语句描述的语义。
[0210]在其他实施例中,所述语句描述的隐层向量长度与词条目数据中每个词条目所对 应的词向量的长度不相同。那么所述相似度模型参数还包括一个长度变换矩阵B,该长度变 换矩阵B用于将所述每个词条目的描述的隐层向量转换成长度为emb_size的向量。长度变 换矩阵通过实施例一中所述的方法训练得到。所述长度变换矩阵大小为hidden_size*emb_ size。利用时间递归的循环神经网络LSTM得到分词后的所述语句描述中最后一个词语的隐 层向量hen后,所述语句描述的隐层向量rep (DE) = hen*B。
[0211] 所述计算单元203还用于根据所述语句描述对应的隐层向量及词条目数据库中每 个词条目的词向量计算所述语句描述与词条目数据库中每个词条目的相似度。
[0212] 在本实施例中,所述语句描述与词条目数据库中每个词条目的相似度的根据所述 语句描述对应的隐层向量与词条目数据库中每个词条目的词向量的余弦距离确定,计算公 式如下:
[0213] Sim_Score(TE,DE)=Cosine(rep(TE),rep(DE)),
[0214]其中rep(TE)表示词条目数据库中每个词条目所对应的词向量,rep(DE)表示每个 二元对中词条目的描述所对应的隐层向量。
[0215] 所述搜索处理装置可以部署在搜索服务器上或者用户的电子装置中。
[0216] 确定单元204用于根据所述语句描述与词条目数据库中每个词条目的相似度确定 词条目数据库中与所述语句描述之间的相似度满足预设要求的词条目。
[0217] 在本实施例中,还可以包括搜索处理单元(图中未示出),搜索处理单元可以将所 述语句描述与词条目数据库中每个词条目的相似度从高到低进行排序,把相似度排在前预 设位数(如前十位)的词条目返回给用户,供用户从中选择一个词条目进行搜索。或者,利用 确定出的词条目进行搜索,得到搜索结果提供给用户。例如,当用户在搜索引擎(如百度)的 输入栏中输入"一种用来挂相框的东西,且不会影响墙面"的语句描述,搜索结果中会将关 于无痕钉的网页呈现给用户。
[0218] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0219]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0220] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0221] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存 储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个 实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,R0M)、随机存取存储器 (Random Access Memory ,RAM)、磁碟或者光盘等各种 可以存储程序代码的介质。
[0222] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
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所述的装置,其特征在于,该装置还包括: 搜索处理单元,用于将确定出的词条目推荐给用户供用户从中选择一个词条目进行搜 索;或者,利用确定出的词条目进行搜索,得到搜索结果。
【文档编号】G06F17/30GK105930413SQ201610239784
【公开日】2016年9月7日
【申请日】2016年4月18日
【发明人】张军
【申请人】北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1