著录项信息
专利名称 | 一种基于词矢量的短文本查询扩展及检索方法 |
申请号 | CN201510103341.6 | 申请日期 | 2015-03-06 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-07-08 | 公开/公告号 | CN104765769A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 大连理工大学 | 申请人地址 | 辽宁省大连市高新园区凌工路2号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 大连理工大学 | 当前权利人 | 大连理工大学 |
发明人 | 林鸿飞;王琳 |
代理机构 | 大连星海专利事务所有限公司 | 代理人 | 徐雪莲 |
摘要
一种基于词矢量的短文本查询扩展及检索方法,具体包括:A、短文本语料信息预处理;B、训练模型将语料词典中的每个词用词矢量来表示;C、查询扩展;D、利用查询扩展词集及BM25检索模型获取文本候选集;E、短文本的主题抽取;F、计算短文本的文本矢量;G、对传统检索模型返回的短文本重排序。本发明能够更加准确,有效地满足用户检索的需求,并且查询扩展模块会根据已有数据找出能表达用户意图的词进行查询扩展。
1.一种基于词矢量的短文本查询扩展及检索方法,其特征在于,包括以下步骤:
A、短文本语料信息预处理:从已知数据库中采集包含短文本语料信息的文本语料集,从文本语料集中删除字数少于第一预设阈值的短文本语料信息;识别出所述文本语料集中的转发短文本语料信息并将其删除;对文本语料集中剩余的短文本语料信息进行分词处理,得到分词语料词典;记录每个词在所述分词语料词典中的出现次数,并去除频率小于第二预设阈值的词,得到语料词典;对语料词典中的短文本建立倒排索引;
B、训练模型将语料词典中的每个词用词矢量来表示:包括以下步骤:
B1、根据语料词典创建Huffman树:
对所述语料词典中的每个词语进行Huffman编码并创建Huffman树,Huffman树的每个叶子节点来代表语料词典中的每个词,根节点到每个叶子节点的路径表示该词的Huffman编码,根节点到每个叶子节点之间的内部节点不断对词语进行分类,最终把每一个词分到某个对应的叶子节点上;
B2、利用无监督训练模型对语料词典中的每个词用词矢量的形式表示:
对于所述语料词典中的每个词定义一个k维实数向量,每一维实数向量为一个变量,将所述k维实数向量作为逻辑回归模型的输入向量通过逻辑回归二元分类方法来预测Huffman树中该词的上下文词语所对应的叶子节点所在路径的边值的概率;Huffman树中包括根节点在内的每一个内部节点对应一个逻辑回归模型,并同时通过损失函数和求导公式进行参数与输入向量的更新,以使输入向量之间彼此接近;最后,将更新后得到的输入向量作为该词的矢量表示;
C、查询扩展:将用户的查询文本信息进行分词处理并去除停用词,得到查询词集,所述查询词集利用步骤B2的方法使查询词集中的每个查询词以词矢量的形式表示,查询词集中的词矢量经归一化后矢量相加,获得一个新的向量作为查询向量;再从所述语料词典中选出与所述查询向量的矢量夹角最相近的词语所形成的集合作为查询扩展候选集,并把它们与局部分析的查询扩展词集的交集作为最后使用的查询扩展词集;所述局部分析的查询扩展词集为在通过BM25检索模型对查询词进行文本相似度计算后所返回的排序靠前的文档中,去除停用词后排序靠前的高频关键字所构成的集合;
D、利用查询扩展词集及BM25检索模型获取文本候选集:将查询扩展词集中每个查询词的IDF权值、查询词短文本权值与查询权值乘积的加和作为每篇短文本的传统检索模型的检索得分,其中,IDF权值为 查询词短文本权值为
查询权值为 N为短文本总数,ni为包含查询词i的文本个数,tfi为该篇文档所含查询词词频,qfi为查询文本中查询词i的词频,dl和avdl分别表示短文本长度和短文本平均长度,其它变量k1、k2、b为调节参数;然后,采用BM25检索模型根据查询扩展词集中的查询词进行检索,按照传统检索模型的检索得分由高到低对每篇输出文档进行排序并把排名靠前的短文本返回作为候选集;
E、短文本的主题抽取:首先对步骤D中获得的候选集中的短文本中的词语进行聚类分析,然后选出与步骤C中的查询向量最相近的一组聚类结果作为短文本主题;所述聚类结果的每一类别内的词数至少是原文本总词数的1/5;
F、计算短文本的文本向量:把所述短文本主题中的词矢量经归一化处理后进行累加作为该短文本的主题向量,并记录所述主题向量与查询向量的余弦相似度;
G、对传统检索模型返回的短文本进行二次排序,同时考虑语义相似度和传统检索模型所得分数进行二次排序:将步骤F中记录的主题向量与查询向量的余弦相似度值和传统检索模型的检索得分进行线性插值,得到最终得分并对所述最终得分进行二次排序输出。
2.根据权利要求1所述的一种基于词矢量的短文本查询扩展及检索方法,其特征在于,步骤E中所用的聚类分析算法具体如下:
枚举候选集的短文本中的每一个词,假设已有n个类别,对于当前的词矢量V,找到与V最相近的类别向量C,计算其余弦相似度s,
若 则直接将V合并到类别C中,并使用直接的加和操作更新向量C;否则随机产生一个实数r,0<=r<=1,若 创建一个新的类别,并将V作为新的类别向量,否则直接略去该词,不予考虑;最后除去类别中词数小于原文本总词数1/5的类别。
3.根据权利要求1所述的一种基于词矢量的短文本查询扩展及检索方法,其特征在于,步骤A中,从文本语料集中删除字数少于20个字的短文本。
一种基于词矢量的短文本查询扩展及检索方法\n技术领域\n[0001] 本发明涉及数据挖掘和搜索引擎技术领域,尤其是一种基于词矢量的短文本查询扩展及检索方法。\n背景技术\n[0002] 随着计算机和网络Internet的迅猛发展,从海量的信息资源中精确地获取信息变得越来越困难。海量信息中有很大一部分是以短文本的形式存在,同时短文本也是人们在日常生活中所必不可少的一种数据形式。短文本信息主要包括博客留言,微博信息,短信息,聊天记录等,其特点是信息长度较短,语言形式比较灵活,数据规模巨大,时效性比较强,更新速度飞快。传统的搜索引擎在这些短文本检索中精确度并不高,不能够满足人们准确获取信息的需要,因此本发明设计并实现了一种更为适合短文本信息获取的搜索引擎系统。\n[0003] 人们对短文本还没有找到一个高效准确的检索方法,目前关于短文本检索的方法有以下几种:\n[0004] 一、基于词共现的方法\n[0005] 当用户给定一个查询词后,搜索引擎会根据倒排索引对出现查询词的文档进行检索并评分。该方法要求所返回的短文本必须包含用户的查询词,如布尔模型、VSM模型、BM25模型、LM模型等。这类方法的缺点是:当用户给一个检索词的时候,搜索引擎只能返回包含该检索词的文档,而无法返回语义上相关但是用不同词语表达的其它文档。在短文本中,该缺点将表现的更加明显,因此短文本不太适合采用此类方法。\n[0006] 二、基于语义关联的方法\n[0007] 当用户给定一个查询词后,搜索引擎会根据这些查询词的语义信息进行扩展,将语义上相近的词语共同作为文档搜索的关键字,来丰富查询的结果。该类方法主要包括潜在语义分析模型(LSA)、概率潜在语义分析模型(PLSA),文档生成模型(LDA)等。这类方法的缺点是:当用户给定一个检索词的时候,搜索引擎会引入大量的噪音信息,虽然在一定程度上提高了检索系统的召回率,但同样引入了大量不相关的文本,降低了检索的准确度。因此,如何在丰富检索结果的同时,去掉大量不相关的信息是此类方法研究的关键。\n[0008] 另外,由于有的时候用户给定的查询不足以表达其所要查询的确切需求,或者说用户不知道用什么词语来表达所要检索的内容。针对这种问题,研究者们发明了查询扩展技术,用以更准确的描述用户的需求,获得更多相关、准确的返回结果。\n[0009] 为了提高用户的检索满意度,查询扩展技术已经成为所有搜索引擎所必须加入的一个模块,目前查询扩展方法有以下几种:\n[0010] 一、基于相关反馈的查询扩展\n[0011] 系统对用户的初始查询返回一系列结果,用户检查这组结果,并标注相关与否,然后,搜索引擎再一次利用相关文档中的重要词语进行查询扩展。该方法缺点是需要用户的参与,并且需要大量的数据来进行参数训练,因此在实践中还有许多问题需要解决。\n[0012] 二、基于局部分析的查询扩展\n[0013] 系统对用户查询所返回的前N篇文档作为相关文档,然后将其中的重要词汇作为扩展词进行查询扩展。该方法克服了相关反馈的需要用户参与的缺点,但是却牺牲了准确性,有可能把大量无关的词语加入到扩展词中来。\n[0014] 三、基于全局分析的查询扩展\n[0015] 全局分析通过对词语之间的相互关联程度,将与查询词关联度相近的若干个词语作为查询词进行扩展,具体技术主要包括词聚类、潜在语义分析、相似性词典、统计词典和语义词典(WordNet)等。\n[0016] 这些方法仅从语义上丰富了查询词的表示,但是并没有试图去理解用户的查询意图,而是找到每个词相近的词来进行查询扩展,很容易导致主题偏移和引入噪音等问题。因此,针对短文本如何选择最好的查询扩展词和最准确高效的检索模型成为目前该领域亟待解决的问题。\n发明内容\n[0017] 本发明的目的是提供一种用以理解用户的查询意图并提高检索的准确性的基于词矢量的短文本查询扩展及检索方法。\n[0018] 本发明解决现有技术问题所采用的技术方案:一种基于词矢量的短文本查询扩展及检索方法,包括以下步骤:\n[0019] A、短文本语料信息预处理:从已知数据库中采集包含短文本语料信息的文本语料集,从文本语料集中删除字数少于第一预设阈值的短文本语料信息;识别出所述文本语料集中的转发短文本语料信息并将其删除;对文本语料集中剩余的短文本语料信息进行分词处理,得到分词语料词典;记录每个词在所述分词语料词典中的出现次数,并去除频率小于第二预设阈值的词,得到语料词典;对语料词典中的短文本建立倒排索引;\n[0020] B、训练模型将语料词典中的每个词用词矢量来表示:包括以下步骤:\n[0021] B1、根据语料词典创建Huffman树:\n[0022] 对所述语料词典中的每个词语进行Huffman编码并创建Huffman树,Huffman树的每个叶子节点来代表语料词典中的每个词,根节点到每个叶子节点的路径表示该词的Huffman编码,根节点到每个叶子节点之间的内部节点不断对词语进行分类,最终把每一个词分到某个对应的叶子节点上;\n[0023] B2、利用无监督训练模型对语料词典中的每个词用词矢量的形式表示\n[0024] 对于所述语料词典中的每个词定义一个k维实数向量,每一维实数向量为一个变量,将所述k维实数向量作为逻辑回归模型的输入向量通过逻辑回归二元分类方法来预测Huffman树中该词的上下文词语所对应的叶子节点所在路径的边值的概率;Huffman树中包括根节点在内的每一个内部节点对应一个逻辑回归模型,并同时通过损失函数和求导公式进行参数与输入向量的更新,以使输入向量之间彼此接近;最后,将更新后得到的输入向量作为该词的矢量表示;\n[0025] C、查询扩展:将用户的查询文本信息进行分词处理并去除停用词,得到查询词集,所述查询词集利用步骤B2的方法使查询词集中的每个查询词以词矢量的形式表示,查询词集中的词矢量经归一化后矢量相加,获得一个新的向量作为查询向量;再从所述语料词典中选出与所述查询向量的矢量夹角最相近的词语所形成的集合作为查询扩展候选集,并把它们与局部分析的查询扩展词集的交集作为最后使用的查询扩展词集;所述局部分析的查询扩展词集为在通过BM25检索模型对查询词进行文本相似度计算后所返回的排序靠前的文档中,去除停用词后排序靠前的高频关键字所构成的集合;\n[0026] D、利用查询扩展词集及BM25检索模型获取文本候选集:将查询扩展词集中每个查询词的IDF权值、查询词短文本权值与查询权值乘积的加和作为每篇短文本的传统检索模型的检索得分,其中,IDF权值为 查询词短文本权值为 查\n询权值为 N为短文本总数,ni为包含查询词i的文本个数,tfi为该篇文档所含查\n询词词频,qfi为查询文本中查询词i的词频,dl和avdl分别表示短文本长度和短文本平均长度,其它变量k1、k2、b为调节参数;然后,采用BM25检索模型根据查询扩展词集中的查询词进行检索,按照传统检索模型的检索得分由高到低对每篇输出文档进行排序并把排名靠前的短文本返回作为候选集;\n[0027] E、短文本的主题抽取:首先对步骤D中获得的候选集中的短文本中的词语进行聚类分析,然后选出与步骤C中的查询向量最相近的一组聚类结果作为短文本主题;所述聚类结果的每一类别内的词数至少是原文本总词数的1/5;\n[0028] F、计算短文本的文本向量:把所述短文本主题中的词矢量经归一化处理后进行累加作为该短文本的主题向量,并记录所述主题向量与查询向量的余弦相似度;\n[0029] G、对传统检索模型返回的短文本进行二次排序,同时考虑语义相似度和传统检索模型所得分数进行二次排序:将步骤F中记录的主题向量与查询向量的余弦相似度值和传统检索模型的检索得分进行线性插值,得到最终得分并对所述最终得分进行二次排序输出。\n[0030] 所述逻辑回归模型的具体训练过程如下:\n[0031] 随机地产生一个整数N,满足1<=N<=L,其中L为预先设定的阈值,假设预测词w,Huffman编码为C,分别将w前后共2*N个词的向量作为|C|个逻辑回归模型的输入,第i个逻辑回归模型的输出表示w编码第i位为1的概率;对于输入向量X的第i个逻辑回归模型的损失函数为:J(θ)=-[Ci*loghθ(X)+(1-Ci)*log(1-hθ(X))],其中 即采用\nsigmoid作为分类函数;\n[0032] 通过求导可得梯度下降公式为θj=θj-α*(hθ(X)-Ci)*Xj,Xj=Xj-α*(hθ(X)-Ci)*θj,其中,θj,Xj同步更新;。\n[0033] 步骤E中所用的聚类分析算法具体如下:\n[0034] 枚举候选集的短文本中的每一个词,假设已有n个类别,对于当前的词矢量V,找到与V最相近的类别向量C,计算其余弦相似度s,\n[0035] 若 则直接将V合并到类别C中,并使用直接的加和操作更新向量C;否则\n随机产生一个实数r(0<=r<=1),若 创建一个新的类别,并将V作为新的类别向\n量,否则直接略去该词,不予考虑;最后除去类别中词数小于原文本总词数1/5的类别。\n[0036] 步骤A中,从文本语料集中删除字数少于20个字的短文本。\n[0037] 本发明的有益效果在于:本发明将词共现与语义关联检索方法相结合,并使用带有查询意图的全局分析查询扩展方法。使本发明具有以下优点:\n[0038] 1、在单机环境中(CPU为双核3.0GHz,内存为4G),仅使用局部查询扩展方法和BM25检索模型,平均NDCG@10值为0.596,使用本发明方法后,平均NDCG@10值可达到0.716,同比增长12%。考虑语义相似度后,平均NDCG@10值可达到0.793,再一次增长7.7%。\n[0039] 2、通过对用户检索词进行分析,并用词矢量的可加性理解用户的搜索意图,从数据字典中选择最接近用户搜索意图的词语作为查询扩展的候选词,同时,为了防止主题偏移,采取与局部相关反馈结果取交集的形式,显著地提高了搜索的丰富性。\n[0040] 3、将传统检索模型所返回的结果进行二次排序,同时考虑传统检索模型的分数和短文本与用户检索词的相似度,利用线性插值的方法,将最优的结果展现给用户。\n[0041] 4、本发明充分利用词矢量的叠加特性对微博等短文本进行主题词聚类,避免了K-means算法中人工设定聚类个数和迭代的过程,不但减小了算法的时间复杂度,而且还能够满足聚类的要求。\n[0042] 5、本发明使用与查询词最相关的聚类结果作为短文本的主题词,提高了微博主题向量的准确度。\n附图说明\n[0043] 图1为本发明的总体流程框架图。\n[0044] 图2为本发明词矢量的训练模型结构图。\n具体实施方式\n[0045] 以下结合附图及具体实施方式对本发明进行说明:\n[0046] 如图1所示,本发明一种基于词矢量的短文本查询扩展及检索方法的总体思路是:\n首先通过对短文本进行无监督学习,从中获得词语的向量表示,然后应用向量的可叠加性,使其具有理解用户查询意图的能力,最后使用抽取文本主题词的方法获得文本的向量表示,并计算其与查询词的语义相似度,再与传统检索模型的得分进行线性插值作为最终搜索引擎排序的依据。本发明的具体步骤如下:\n[0047] A、短文本语料信息预处理:从已知数据库中通过爬虫技术采集包含短文本语料信息的文本语料集,对于字数少于第一预设阈值的短文本(本发明设定阈值为20个字)由于其不足以表达足够的内容,因此把它们当成垃圾短文本,需要直接删除;对于转发的短文本,由于其包含原文本的全部信息,新加入的词语极少,为了提高检索的质量,满足结果的丰富性,因此也需删除。因此,从文本语料集中应删除字数少于20个字的短文本;并识别出文本语料集中的转发短文本并将其删除;对文本语料集中剩余的文本使用分词器进行分词处理,即将文本语料集中剩余的文本中的词语以空格形式分开,形成分词语料词典;在分词过程中,维护分词语料词典,记录每个词语的在分词语料词典中出现的次数。将在分词语料词典中出现次数小于第二预设阈值的词语删除,得到语料词典,然后对语料词典中的短文本建立倒排索引。\n[0048] 需要注意的是,我们只是删除用于逻辑回归训练的字典中稀有词,在建立倒排索引的过程中,稀有词仍然要考虑,因此并不会造成因为某个词出现次数少而检索不到的后果。\n[0049] B、训练模型将语料词典中的每个词用词矢量来表示:包括以下步骤:\n[0050] B1、根据语料词典创建Huffman树:\n[0051] 对语料词典中的每个词语按照词频进行Huffman编码并创建Huffman树,Huffman树的每个叶子节点来代表语料词典中的每个词,根节点到每个叶子节点的路径表示该词的Huffman编码,根节点到每个叶子节点之间的内部节点不断对词语进行分类,最终把每一个词分到某个对应的叶子节点上;\n[0052] B2、利用无监督训练模型对语料词典中的每个词用词矢量的形式表示\n[0053] 对于所述语料词典中的每个词定义一个k维实数向量,每一维实数向量为一个变量,将所述k维实数向量作为逻辑回归模型的输入向量通过逻辑回归二元分类方法来预测Huffman树中该词上下文词语对应节点所在路径的边值的概率;Huffman树中包括根节点在内的每一个内部节点对应一个逻辑回归模型,并同时通过损失函数和求导公式进行参数与输入向量的更新,以使输入向量之间彼此接近;最后,将更新后得到的输入向量作为该词的矢量表示;为了便于说明,以图2为例做简要说明,如图2所示,对四个词进行Huffman编码,对应四个叶子节点a,b,c,d,其编码分别为“00”、“01”、“10”、“11”。训练时只需训练对应叶子节点到根节点g路径上的所有内部节点e,f和根节点g即可。例如训练“10”编码,我们只需训练根节点g和其右孩子节点f的逻辑回归模型。这样做的好处是可以节省大量的计算时间而且仍然保证生成字典中每一个词的概率之和为1,加快收敛速度。同时,将每一个词用四维向量进行表示,如图2。由于一共有两个内部节点和一个根节点,所以一共需要三个逻辑回归模型。前两个词(“00”,“01”)使用根节点g和左孩子节点e的逻辑回归模型;后两个词(“10”,“11”)使用根节点g和右孩子节点f的逻辑回归模型。\n[0054] 逻辑回归模型的具体训练过程如下:\n[0055] 随机地产生一个整数N,满足1<=N<=L,其中L为预先设定的阈值,假设预测词w,Huffman编码为C,分别将w前后共2*N个词的向量作为|C|个逻辑回归模型的输入,第i个逻辑回归模型的输出表示w编码第i位为1的概率;对于输入向量X的第i个逻辑回归模型的损失函数为:J(θ)=-[Ci*loghθ(X)+(1-Ci)*log(1-hθ(X))],其中 即采用\nsigmoid作为分类函数;\n[0056] 通过求导可得梯度下降公式为θj=θj-α*(hθ(X)-Ci)*Xj,Xj=Xj-α*(hθ(X)-Ci)*θj,其中,θj,Xj同步更新;\n[0057] 由于我们采用的是逻辑回归模型,而逻辑回归模型除了最后的分类函数\n(sigmoid),其它的参数均满足线性条件,因此我们求出的词矢量在一定程度上满足向量加和等操作。如果我们把查询词以词矢量的形式进行叠加操作,那么可以在一定程度上理解用户的检索意图。又因为这些词矢量是在短文本语料上进行训练的,因此可以把语料中与检索意图向量最相近的词作为查询扩展的候选词。例如,与“汪峰”最相近的词是“章子怡”,与“导师”最相近的词是“教师”,但与“汪峰”+“导师”最相近的词是“那英”。\n[0058] 通过实验,我们发现,将向量的叠加操作直接用于查询扩展有可能出现主题偏移。\n如上例中,如果我们不加大“汪峰”、“导师”的权重,将有可能返回大量和“那英”有关的文档,导致检索准确度降低。因此我们要加大原始检索词的权重,同时将选出的最相近的30个词语与局部查询扩展词集的交集作为最后的查询扩展词。通过实验发现,此种方法得到的最终扩展词并不多,因此没有必要再减少扩展词个数。局部查询扩展词集为在通过BM25检索模型对查询词进行文本相似度计算后所返回的排序靠前的文档中,去除停用词后排序靠前的高频关键字所构成的集合;即对于局部查询扩展词集,我们选择没有查询扩展的BM25检索模型返回的前300篇文档去除停用词后的前500高频关键字作为元素。\n[0059] 因此步骤C的具体实施方法如下:\n[0060] C、查询扩展:将用户的查询文本信息进行分词处理并去除停用词,得到查询词集,查询词集经过步骤B2将查询词集中的每个词以词矢量的形式表示,查询词集中的词矢量经归一化后矢量相加,获得一个新的向量作为查询向量;再从语料词典中选出与查询向量的矢量夹角最相近的词语作为查询扩展的候选集,并将查询扩展的候选集与局部查询扩展词集的交集作为最后使用的查询扩展词,并加大原查询词的权重;其中,局部查询扩展词集由在通过BM25检索模型对查询词进行文本相似度计算后所返回的排序靠前的文档中,去除停用词后排序靠前的高频关键字所构成的集合。\n[0061] D、利用查询扩展词集及BM25检索模型获取文本候选集:将查询扩展词集中每个查询词的IDF权值、查询词短文本权值与查询权值乘积的加和作为每篇短文本的传统检索模型的检索得分,其中,IDF权值为 查询词短文本权值为 查\n询权值为 N为短文本总数,ni为包含查询词i的文本个数,tfi为该篇文档所含查\n询词词频,qfi为查询文本中查询词i的词频,dl和avdl分别表示短文本长度和短文本平均长度,其它变量k1、k2、b为调节参数;然后,采用BM25检索模型根据查询扩展词集中的查询词进行检索,按照传统检索模型的检索得分由高到低对每篇输出文档进行排序并把排名靠前的短文本返回作为候选集。优选k1=1.2,k2=200,b=0.75。\n[0062] E、短文本的主题抽取:首先对步骤D中获得的候选集中的短文本中的词语进行聚类分析,然后选出与步骤C中的查询向量最相近的一组聚类结果作为短文本主题;所述聚类结果的每一类别内的词数至少是原文本总词数的1/5;\n[0063] 以BM25传统检索模型返回的前1000篇文本作为候选集,枚举候选集的短文本中的每个词,假设我们已经有了n个类别,对于当前的词矢量V,找到与V最相近的类别向量C,算出其余弦相似度s。如果 直接将V合并到类别C中,并使用直接的加和操作更新向\n量C;否则随机产生一个实数r(0<=r<=1),如果 创建一个新的类别,并将V作为新的类别向量,否则直接略去该词,不予考虑。最后除去类别中词数小于原文本总词数 的类别。并把与查询向量最接近的类中的词作为短文本主题词。\n[0064] 本发明应用的聚类分析方法在K-means聚类分析方法的基础上进行了如下改进:\n1、无需手动选择类别个数2、为了提高效率不使用迭代更新,若想提高准确度可以在确定类别个数后,再进行K-means算法3、距离不再使用欧几里得距离,而是利用词矢量的余弦相似度。\n[0065] F、计算短文本的文本向量:把短文本主题词中的词矢量经归一化处理后进行累加作为该短文本的主题向量,并记录该主题向量与查询向量的余弦相似度;\n[0066] G、对传统检索模型返回的短文本进行二次排序,同时考虑语义相似度和传统检索模型所得分数进行二次排序。将步骤F中记录的主题向量与查询向量的余弦相似度值和传统检索模型的得分进行线性插值,得到最终得分:finalScore=simScore*α(1-α)*BM25并对所述最终得分进行二次排序输出。最终按照finalScore从大到小二次排序,展示给用户。\n我们在实验中,自己标注数据并做NDCG评价,测得选择α=0.7时,效果比较好。再一次证明,文本余弦相似度的引入对检索系统有很明显的改善。\n[0067] 实施例:\n[0068] 为了详细的说明本系统的工作流程,下面结合具体实例,对本系统具体流程进行介绍。\n[0069] A、短文本语料信息预处理\n[0070] 对于少于20个字的短文本和转发的文本,直接删除。对语料中剩余的文本进行分词处理。获取语料词典,记录每个词出现的次数,并去除出现频率过少的词语。对剩余的短文本建立倒排索引。\n[0071] B、训练模型将语料词典中的每个词用词矢量来表示\n[0072] 如图2所示,通过对每一个词进行编码分类,并根据其上下文信息,用逻辑回归模型进行分类训练,从而获得每个词的矢量表示。\n[0073] 为了说明方便,假设输入数据X=[0.2,-0.1,0.3,-0.2]T,训练生成词语编码“01”,θ1=[0.1,0.2,0.2,0.2]T,θ2=[0.2,-0.1,-0.2,0.1]T,初始化时可以随机产生一个接近于0的数值。训练编码“01”,我们无需使用θ3。设下降速度α=0.1,则有:\n[0074]\n[0075] 根据求导公式得:\n[0076]\n[0077]\n[0078]\n[0079]\n[0080]\n[0081]\n[0082]\n[0083]\n[0084] 对第二个逻辑回归模型做同样处理:\n[0085]\n[0086]\n[0087]\n[0088]\n[0089]\n[0090]\n[0091]\n[0092]\n[0093]\n[0094] 通过一次训练得到输入词的矢量表示X=[0.2051,-0.1152,0.2796,-0.2050]。对于语料中的每一个词,随机地产生一个整数N,分别将其前后2*N个词作为输入进行逻辑回归训练。当进行大量的训练后,我们可以得到语料词典中所有词的矢量表示。\n[0095] C、查询扩展\n[0096] 假设用户输入的检索词为“高配置手机”,则第一步,将检索词进行分词处理,分成“高”、“配置”和“手机”三个词语。第二步,从训练好的词矢量中选出三个词的词矢量,将其进行加和操作,得到查询向量,最后从语料词典中找出与查询向量最相关的30个相近词作为查询扩展的候选集C1。第三步,通过使用传统检索模型BM25,对检索词进行文本相似度计算,并将得到的前300篇高相关文档中的前500非停用词作为局部分析的查询扩展词集C2。\n第四步,将C1与C2的交集整体作为查询扩展词集,得到三个扩展词:“性能”、“CPU”、“硬件”。\n[0097] D、利用查询扩展词集及BM25检索模型获取文本候选集:\n[0098] 由于用户只关心返回结果的前几百篇文档,因此,我们把传统检索模型检索出的比较靠前的短文本作为候选集。即将查询扩展词作为查询词,采用BM25模型检索,并选取前\n1000篇高相关文档进行排序。具体方法如下:\n[0099] 将查询扩展词集中每个查询词的IDF权值、查询词短文本权值与查询权值乘积的加和作为每篇短文本的传统检索模型的检索得分BM25,其中,IDF权值为\n查询词短文本权值为 查询权值为 N为短文本总数,ni为\n包含查询词i的文本个数,tfi为该篇文档所含查询词词频,qfi为查询文本中查询词i的词频,dl和avdl分别表示短文本长度和短文本平均长度,其它变量为调节参数;然后,采用BM25检索模型根据查询扩展词集中的查询词进行检索,按照传统检索模型的检索得分由高到低对每篇输出文档进行排序并把排名靠前的短文本返回作为候选集;\n[0100] E、短文本的主题抽取\n[0101] 使用聚类方法将短文本中的词语进行聚类,再根据查询向量选出最相关的类别作为短文本的主题词。\n[0102] F、计算短文本的文本向量\n[0103] 再一次利用词矢量的可加性,将主题词的矢量和作为短文本的文本向量。记录文本向量与查询向量的余弦相似度。\n[0104] G、对前若干篇短文本重排序\n[0105] 将余弦相似度得分和传统检索模型的检索得分进行线性插值,得到最终得分。利用线性插值公式finalScore=simScore*α+(1-α)*BM25,α=0.7进行最终排序分数的计算,按照分数由高到低展示给用户。\n[0106] 为了评价本发明检索方法所得检索结果的好坏,试验中让5人对返回的文本进行相关性标注,标注等级包括:“相关”,“略相关”,“不相关”,最终根据投票数决定短文本相关等级。在实验中我们使检索词与扩展词的权重比为3:1,以防止主题的偏移。得到表1所示的实验结果,实验发现,对于检索词“高配置手机”,系统返回的前100篇短文本中,有79篇相关,8篇略相关,13篇不相关,前10篇文档的NDCG值达到0.824。\n[0107] 如果检索词为“世界杯比赛”,前10篇文档的NDCG值更高,而且能得到更多表达用户检索意图的词语作为查询扩展词。\n[0108] 表1 本发明检索结果测评信息表\n[0109]\n[0110] 以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
法律信息
- 2018-04-27
- 2015-08-05
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201510103341.6
申请日: 2015.03.06
- 2015-07-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-03-06
|
2012-11-09
| | |
2
| |
2015-03-04
|
2014-11-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |