一种基于马尔科夫决策过程模型的会话搜索方法

文档序号:10569969阅读:206来源:国知局
一种基于马尔科夫决策过程模型的会话搜索方法
【专利摘要】一种基于马尔科夫决策过程模型的会话搜索方法,包括如下步骤:1)准备阶段,爬取足够多的网页,获取语料库全集C;C为爬取的网页集合经过筛选后的结果;每个网页内对应有文档d;训练人员进行自发的会话搜索并记录其过程以获取训练数据,生成训练文档;2)训练阶段,数据预处理,统计检索阶段中需要使用的词语t与文档d之间的关联度,包括使用狄利克雷平滑Ps(t|d)和不使用狄利克雷平滑的Pus(t|d);3)检索阶段,接收用户当前输入的查询语句qi;通过公式计算语料库全集C中每个文档d与当前查询qi的关联度;计算每个文档d与整个会话搜索的关联度;返回关联度高的前N篇文档。
【专利说明】
一种基于马尔科夫决策过程模型的会话搜索方法
技术领域
[0001] 本发明涉及基于会话搜索的信息检索,尤其涉及一种基于马尔科夫决策过程模型 的会话搜索方法。
【背景技术】
[0002] 会话搜索是在一种在搜索会话的过程中通过搜索引擎与用户的交互来实现信息 检索的搜索技术。在搜索一个主题的相关信息时,用户会在一个会话中不断地变更查询内 容,直至找到其需要的信息。会话搜索中用户会根据搜索引擎的返回结果来调整查询内容, 搜索引擎则将其作为用户的反馈,用以完善会话搜索的结果。会话搜索中用户查询的变更 模式没有统一的规律,搜索引擎难以准确获取用户的意图,因而会话搜索是一项挑战性的 信息检索任务。目前利用和学习查询变更的方法主要有:
[0003] (1)基于不同种类的搜索进行分类,比如进行具体化,概括,变换,或者细微变化, 然后执行检索过程。
[0004] (2)另一种方法是将查询映射为语义图形表示,如本体或查询日志形成的查询流 图,然后研究查询在图中的变化规律。
[0005] 然而,第一种方法依赖于完备的查询记录,这样的数据往往难以获得。第二种方法 中的本体化映射很有挑战,这有可能引入不精确的中间数据,并且损坏搜索的准确性。所 以,尽管这些方法可以应用到信息检索任务中,比如查询的规范化,联想查询等,但是难以 直接应用于会话搜索。
[0006] 为了能充分利用会话搜索中查询变更的信息,本文发明了一种基于马尔科夫决策 过程模型的会话搜索方法,可以有效的加强会话搜索的效果。

【发明内容】

[0007] 发明目的:本发明提供了一种新颖的基于马尔科夫决策过程模型的信息检索方 法。每次查询的语句q可以由多个词语tGq组成。可以利用相邻查询之间查询语句的变更, 以及前次检索的返回结果来加强会话搜索的准确性。该方法首先获取语料库,然后训练数 据集,生成训练文档,接着对数据预处理,最后接收查询语句,返回优化查询地结果。
[0008] -种基于马尔科夫决策过程模型的会话搜索方法,该方法包括如下步骤:
[0009] 1)准备阶段
[0010] a)爬取足够多的网页,获取语料库全集CX为爬取的网页集合经过筛选后的结果。 每个网页内对应文档d,C={di}
[0011] b)训练人员进行自发的会话搜索并记录其过程以获取训练数据(训练数据包括涉 及的查询,查询的更改,用户在搜索引擎返回的结果中点击的文档及其点击停留时间等), 生成训练文档
[0012] c)结束准备阶段
[0013] 2)训练阶段
[0014] a)数据预处理,统计检索阶段中需要使用的匕(丨|(1)和Pus(t|d)
[0015] b)解析步骤l_b)中生成的训练文档,其中包括多个会话的信息
[0016] c)读取强化学习中的一个会话,一个会话包括一次或多次用户对搜索结果操作的 信息
[0017] d)读取会话中的一次用户对搜索结果操作的信息(包括涉及的查询,查询的更改, 点击的文档,点击的停留时间等),并由此更新P us(t |d)的值
[0018] e)重复步骤d)直到会话结束
[0019] f)重复步骤C),d),e)直到所有会话都被处理完毕
[0020] g)结束训练阶段
[0021] 3)检索阶段
[0022] a)接收用户当前输入的查询语句qi
[0023] b)通过公式计算每个文档d与当前查询qi的关联度
[0024] c)计算每个文档d与整个会话的关联度 [0025] d)返回关联度高的前N篇文档(本发明取10)
[0026] e)重复a),b),c),d)直到用户结束查询 [0027] f)结束检索阶段
[0028]其中所述步骤l_b)所述的训练文件
[0029] 1)定义一组主题(topics),训练人员根据主题的描述自发地进行特定搜索。搜索 引擎米用雅虎提供的Yahoo BOSS APIs(Build your Own Search Service)
[0030] 2)系统记录用户和检索系统的交互。包括涉及的查询,查询的更改,点击的文档, 点击的停留时间等
[0031] 3)生成训练文件
[0032] 4)结束
[0033]其中所述步骤2-b)所述的数据预处理:
[0034] 1)计算
和使用狄利克雷平滑的
&作为词语与 文档关联度的初始值,其中#(t,d)为词语t在文档d中出现的次数,P(t|C)为t出现在全集C 中的次数,I d |为该文献的长度,y为狄利克雷方法的参数,本发明中设置为5000
[0035] 2)结束
[0036] 其中所述步骤2-f)所述的更新Pus(t|d)的值的过程:
[0037] 1)如果是第一次交互,则不改变Pus (11 d)的值
[0038] 2)如果不是第一次交互,设当前交互的查询内容为qi,前一次交互的查询内容为 qi-1,令qtheme为qi和qi-1 的最长公共子序列,贝lj+ A q = qi-qtheme,- A q = qi-rqtheme。更新pus (t d)分为权值不变,降低权值和增加权值的情况
[0039] a)词语t与文档d关联度权值不变的情况。对于teDi._1且te-Aq的情况,搜索引 擎不改变其权值
[0040] b)降低词语t与文档d关联度权值的情况。当查询变更了,不论+ A q还是-A q,只要 出现在上次的搜索返回的结果集Dh中,都要降低这些词语的权值。Pus(t |d)为词语t默认对 当前查询和待评估文档之间的相关性的贡献。而由于词语t已经出现在文档集Dh中,为了 体现新颖度,词语t在文档集Dh中出现的频率越高,权值就减得越多。因此,对于(tG +A q 〇rtG-Aq)and tGDi-1,有如下公式:
[0041 ] log Pvs (£|d)vew = (1 - Pux (11d-_;)) log Pus (t\d)
[0042] 此处采用对数函数是为了防止数值下溢。
[0043] 其中确定/UtML啲过程:
[0044] i.将对qi-i搜索返回结果的前十个片段和满意的点击作为有效的搜索结果,记为 與所谓满意的点击是指在点击的文档上停留时间超过30s
[0045] ii .对于所有的搜索结果,找出文本关联度与上次查询最大的屯^, 即
[0046] ^1-1 = argmaxPC^.jIdfe)
[0047] 其中P(f/,-iK-i) = 1 - - Pu.s (tK-i))(:
[0048] iii ?计算iisdU的值;以2-a方法
[0049] i v.结束确定巧s (t K-^).的过程
[0050] c)增加词语t与文档d关联度权值的情况。
[0051] i.当为一个增加的词语并且没有出现在上一次查询的结果集Dh中,本发明将根 据反文档的频率增加该词语的权值。对于t £ +Aqand t g IV」,有如下公式:
[0052] log Pus(t|d)new=(l+idf(t))log Pus(t|d)
[0053] 其中:
[0054] idf(t)是反文档的频率,定义为 ,其中D是搜索引擎返回的全部文档 数目。Dw是D中t出现的文档数目。
[0055] ii .对于t G qthg,也需要增加权值,因为主题词通常是一个会话中的话题类或常 用词,并不是整个全集中常用词语。因此,idf(t)并不适用此处。本发明用词语t在先前最大 收益文档出现的频率的逆运算4-?(1:|屯_ 1)来代替1(^(〇。公式如下:
[0056] \〇gPu,(t\d).liew = (1 + (1 - PIi.s.(t|d;-_1)))log^ s (t|rf)
[0057] 3)结束更新Pus(t|d)的值的过程
[0058] 其中所述步骤3-b)所述的文档d与查询qi的关联度计算:
[0059] 1)若i = l,即用户在本会话中的第一次查询
[0060] 则关联度5〇〇代(91,(1) = 1〇8?(91|(1)
[0061]若i>l,则关联度:
[0063]其中P(qi | d)为即时收益,.P:0?d.d) = 1 -「丨(邮.(1 -巳(叫))也(1: | d)由步骤2_b)求 得。
[0064] a,P,G,S为每种类型动作的折扣因子。根据历次实验得到a = 2.15,P=1.75,G = 0.07,8 = 0.42
[0065] 2)结束计算文档d与查询qi的关联度的过程
[0066] 其中所述步骤3-c)所述的文档d与会话搜索的关联度计算:
[0067] 1) Score,ession (qn,d) = Sf=1 Yn~lScore(q,:, d)
[0068] 其中Score(qi,d) = logP(qi | d)
[0069] MDP模型中的Y为折扣因子,本发明取Y =0.8。考虑到用户必然不满意重复查询 之间的查询和搜索结果,本发明将重复查询之间的折扣因子设为0。公式如下: 「 f f() \i\i E[j,k'),3qj=qk,j<k}
[0070] = < 1 l n, 其他情况
[0071] 2)结束
[0072] 马尔科夫决策过程(MDP)-种广泛适用的决策模型。MDP为决策过程相关的所有代 理建立状态空间S和动作空间A。代理的动作影响状态环境,使得状态作不确定的转换,动作 的反馈也会影响代理的动作选择。本发明中,查询q建模为状态S,搜索引擎对词语和文档关 联度权值的调整作为动作A,搜索引擎将累积收益值高的文档作为搜索结果返回给用户。用 户之前的查询影响搜索结果,同时搜索结果会影响用户下一次查询的决策。这个过程不停 迭代,直至查询结束。
[0073] 有益效果,本发明提供了一种新颖的基于马尔科夫决策过程模型的信息检索方 法。每次查询的语句q可以由多个词语tGq组成。可以利用相邻查询之间查询语句的变更, 以及前次检索的返回结果来加强会话搜索的准确性。该方法首先获取语料库,然后训练数 据集,生成训练文档,接着对数据预处理,最后接收查询语句,返回优化查询地结果。本发明 方法并不依赖于完备的查询记录,可直接应用于会话搜索。能充分利用会话搜索中查询变 更的信息,可以有效的加强会话搜索的效果。
【附图说明】
[0074]图1总述本发明的工作流程图;
[0075]图2本发明的基于马尔科夫决策过程模型的会话搜索方法工作流程图;
[0076]图3生成训练文件的工作流程图;
[0077]图4训练阶段工作流程图;
[0078]图5根据交互内容更新Pus(t | d)的值工作流程图;
[0079]图6信息检索阶段工作流程图。
【具体实施方式】
[0080] 下面结合附图对本发明进行详细说明。
[0081] 本发明是基于马尔科夫决策过程模型的会话搜索方法,意在提高信息检索时的准 确性,为用户提供有用且满意的信息。如图1所示,描述了本发明的处理过程。本发明先获取 语料库和训练数据,然后对数据进行预处理,接着执行具体查询检索,最后输出结果。
[0082] 本发明中,将过程分为三个阶段,准备阶段,训练阶段和检索阶段,如图2所示。本 发明的关键之处在于根据训练数据优化词语和文档关联度的权值,并在查询过程中实时调 整词语和文档关联度的权值,以及计算文档和会话查询关联度的方法。
[0083] 步骤2-0是本发明的基于马尔科夫决策过程模型的会话搜索方法的起始状态; [0084]准备阶段包括步骤2-1,2-2;
[0085] 步骤2-1获取语料库,爬取足够多的网页;
[0086] 步骤2-2获取训练数据,生成训练文档,详细步骤见图4;
[0087] 训练阶段包括步骤2-3,步骤2-4,步骤2-5;
[0088]步骤2-3数据预处理,计算词语t与文档d之间的关联度值;
[0089]步骤2-4读取训练文档,读取会话中的交互信息;
[0090]步骤2-5根据交互内容更新Pus (11 d)的值;
[0091] 检索阶段包括步骤2-6,步骤2-7;
[0092] 步骤2-6接收用户输入的查询语句,计算每个文档与整个会话的关联度;
[0093]步骤2-7根据文档与查询的关联度,返回关联度高的前N个文档,本发明取N为10; [0094]步骤2-8为结束状态。
[0095] 图3是生成训练文件的过程的详细描述。
[0096] 步骤3-0是生成训练文件的开始状态;
[0097] 步骤3-1根据语料库全集C,定义一组主题,训练人员根据主题的描述进行搜索; [0098]步骤3-2记录用户和检索系统的交互。包括涉及的查询,查询的更改,点击的文档, 点击的停留时间等;
[0099]步骤3-3生成训练文件;
[0100] 步骤3-4为生成训练文件的过程的结束状态,
[0101] 图4是针对训练阶段的详细描述。
[0102] 步骤4-0是开始训练步骤;
[0103] 步骤4-1对数据进行预处理,计算
:和使用狄利克雷平滑的
[并保存,#(t,d)为词语t在文档d中出现的次数,P(t|C)为t出现在全集 C中的次数,| d |为该文献的长度,y为狄利克雷方法的参数,本发明中设置为5000;
[0104] 步骤4-2读取训练文件;
[0105]步骤4-3读取一个会话;
[0106]步骤4-4取出会话中的交互;
[0107] 步骤4-5判断会话中的交互是否结束,如果结束转到步骤4-6,如果没结束转到步 骤 4-4;
[0108] 步骤4-6根据交互内容更新Pus (11 d)的值,详细步骤见图5;
[0109] 步骤4-7判断训练文件中的会话是否读取结束,如果是全部训练结束则转到步骤 4-8,如果否则转到步骤4-3;
[0110] 步骤4-8为训练阶段结束状态。
[0111] 图5是更新Pus(t |d)的值的详细描述。
[0112] 步骤5-0是更新Pus(t | d)的值的开始状态;
[0113] 步骤5-1判断是否属于第一次交互,属于则转到步骤5-2,否则转到步骤5-3;
[0114] 步骤5-2属于第一次交互,权值不变,转到步骤5-7;
[0115] 步骤5-3不属于第一次交互,判断tG +A q或者tG-A q。属于则转到步骤5-4,否则 转到步骤5-5。确定+ A q,- A q,qtheme方法:设当前交互的查询内容为qi,上一次交互的查询 内谷为Qi-1,令Qtheme为Qi和Qi-1 的取长^公共子序列,+ A Q - qi-qtheme , - A q - qi-l-qtheme ;
[0116] 步骤5-4当查询变更了,不论+ A q还是-A q,只要出现在上次的搜索结果Dh中,都 要降低这些词语的权值,之后直接转到步骤5-7。因此,对于(tG + Aq 〇r tG-Aq)and tG Du,有如下公式:
[0117] log/is(t|d))lw = (1 - PuslogPus(t\d)
[0118] 此处运用对数函数是为了防止数值下溢。P(t |d)通过计算t出现在全集C中的概率 求得。其中,其中确定4 的程:
[0119] 1)将返回结果的前十个片段和满意的点击作为有效的搜索结果,记为AL"满意 的点击的定义为点击的文档停留时间超过3 0 s。
[0120] 2)对于所有的搜索结果e ,找出文本关联度与上次查询qH最大的 即
[0121 ] rff-i = argmaxP(q,_1|d;l.)
[0122] 其中 = 1 - rLe+.-iCl - Ptis(t.| 爲-l))。
[0123] 3)根据七和仏!查找Utla'D的值。
[0124] 步骤 5-5如果 t 不满足(tG + Aq 〇r tG-Aq)and tGDi -1,,判断 tG + Aq andt g 或则t g qth(5me5,如果满足则转到步骤5-6,否则转到步骤5-2;
[0125] 步骤5-6满足tG + A qandt £ Dm或则tGqtheme5,增加权值,之后直接转到步骤5-7。
[0126] 1)对于tG +Aqandt铉Dw,有如下公式:
[0127] logPus(t I d)new= (1+idf (t))logPus(t I d)
[0128] 2)对于t G qth_,也需要增加权值,由于主题词通常是一个会话中的话题类或常用 词,并不是整个全集中常用词语。因此,idf(t)并不适用此处。本发明中用词语t在先前最大 收益文档出现的频率的逆运算,l- PCtKi)來代替idf(t)。公式如下:
[0129] \〇g PUs (t\d)new = (1 + (1 -
[0130] 其中:idf(t)是逆文本指数,公式为:
.其中D是搜索引擎返回的全部 网页数,Dw是t出现的网页数。
[0131 ]步骤5-7为更新Pus(t | d)的值的结束状态。
[0132] 图6为信息检索阶段工作流程图
[0133] 步骤6-0是信息检索阶段的开始状态;
[0134] 步骤6-1接收用户输入的查询语句;
[0135] 步骤6-2通过公式计算每个文档d与当前查询qi的关联度;
[0136] 步骤6-3计算每个文档d与整个会话的关联度以考虑用户之前的搜索对搜索结果 的影响;
[0137] 步骤6-4返回与整个会话的关联度高的文档;
[0138] 步骤6-5判断用户查询是否结束,结束则执行步骤6-1,否则执行步骤6-6;
[0139] 步骤6-6为信息检索阶段的结束状态。
[0140] 本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括 由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为 本发明的保护范围。
【主权项】
1. 一种基于马尔科夫决策过程模型的会话搜索方法,其特征在于包括如下步骤: 1) 准备阶段 a) 爬取足够多的网页,获取语料库全集C;C为爬取的网页集合经过筛选后的结果;每个 网页内对应有文档d,则C = {di}; b) 训练人员进行自发的会话搜索并记录其过程以获取训练数据(训练数据包括涉及的 查询,查询的更改,用户在搜索引擎返回的结果中点击的文档及其点击停留时间等),生成 训练文档; c) 结束准备阶段; 2) 训练阶段 a) 数据预处理,统计检索阶段中需要使用的词语t与文档d之间的关联度,包括使用狄 利克雷平滑Ps(t | d)和不使用狄利克雷平滑的Pus(t | d); b) 解析步骤l_b)中生成的训练文档,其中包括会话的信息; c) 读取训练文档中的一个会话,一个会话包括一次或多次用户对搜索结果操作的信 息; d) 读取会话中一次用户对搜索结果操作的信息(包括涉及的查询,查询的更改,点击的 文档,点击的停留时间等),并由此更新pus(t|d)的值; e) 重复步骤d)直到会话结束; f) 重复步骤c),d),e)直到所有会话都被处理完毕; g) 结束训练阶段; 3) 检索阶段 a) 接收用户当前输入的查询语句qi; b) 通过公式计算语料库全集C中每个文档d与当前查询qi的关联度; c) 计算每个文档d与整个会话搜索的关联度; d) 返回关联度高的前N篇文档(本发明取10); e) 重复步骤a),b),c),d)直到用户结束查询; f) 结束检索阶段; 其中所述步骤2_a)所述的数据预处理:和使用狄利克雷平滑的作为词语t与文档 d关联度的初始值,其中#(t,d)为词语t在文档d中出现的次数,P(t|C)为t出现在语料库全 集C中的次数,| d |为文档d的长度,μ为狄利克雷方法的参数,本发明中设置为5000; 2)结束; 其中所述步骤2-d)所述的更新词语t和文档d之间的关联度,即更新Pus(t |d)的值的过 程: 1) 如果是第一次查询交互,则不改变Pus( 11 d)的值; 2) 如果不是第一次查询交互,设当前交互的查询内容为qi,前一次交互的查询内容为 qi-1,令qtheme为qi和qi-1 最长公共子序列,+ Δ q = qi-qtheme,- Δ q = qi-rqtheme;对Pus(t I d)的更 新分为权值不变,降低权值和增加权值的情况; a)词语t与文档d关联度的权值不变的情况;对于t 且te-Aq的情况,搜索引擎不 改变其权值; b) 降低词语t与文档d关联度权值的情况;当查询变更了,不论是+Aq还是-Aq,只要出 现在上次的搜索结果的文档集Dh中,都要降低这些词语的权值;P us(t |d)为词语t对当前查 询和待评估文档之间的相关性的贡献;而由于词语t已经出现在文档集Dh中,为了体现新 颖度,词语t在文档集Dh中出现的频率越高,权值就减得越多;因此,对于(te + Aq or t e-Aq)and teDi-1,有如下公式:此处采用对数函数是为了防止数值下溢; 其中确定心(tico的过程:1. 将对qH搜索返回结果的前十个片段和满意的点击作为有效的搜索结果,记为 所谓满意的点击是指在点击的文档上停留时间超过30s; ii.对于所有的文档搜索结果屯-reD^,找出文本关联度与上次查询qw最大的屯-l·, 即iii .计算?tlCD的值;以2-a方法 iv.结束确定Pus 的过程; c) 增加词语t与文档d关联度权值的情况; i .当为一个增加的词语并且没有出现在上一次查询的结果集Dh中,本发明中将根据 反文档的频率成比例增加这些词语的权值;如果是一个在很多文档中常见的词语,为了确 保在增加一个偏爱的词语的时候,避免增加过多;对于tG + Aq andtg Dj-!,有如下公式: l〇g Pus(t|d)new=(l + idf(t))l〇g Pus(t|d)其中: idf(t)是反文档的频率,定义为 其中D是搜索引擎返回的全部文档的数 目;Dw是D中出现t的文档数目; i i .对于t e qth_,也增加权值,由于主题词通常是一个会话中的话题类或常用词,并不 是整个全集中常用词语;因此,idf(t)并不适用此处;本发明中用词语t在先前最大收益文 档出现的频率的逆运算,1 - PGKm)來代替idf(t);公式如下:3)结束更新Pus(11 d)的值的过程。2. 根据权利要求1所述的会话搜索方法,其特征在于其中所述步骤3-b)所述的文档d与 查询的关联度计算: 1)若i = l,即用户在本会话中的第一次查询 则关联度Score(qi,d) = logP(qi | d) 若i>l,则关联度:其中P(qi I d)为即时收益,P(A |d) = .1 - Π.?_(1 _ Ps(t.l.d)_),Ps(t I d)由步骤2-a)求得; α,β,ε,δ为每种类型动作的折扣因子;根据历次实验得到α = 2.15,β=1.75,ε = 0.07,5 = 0.42; 2)结束计算文档d与查询qi的关联度的过程。3.根据权利要求1所述的会话搜索方法,其特征在于其中所述步骤3-c)所述的文档d与 会话搜索关联度的计算: 1) .Scorese"i0;1 (qn, d) = γη~{Score^q^ d) 其中3(:〇代(91,(1) = 1(^?(91|(1) MDP模型中的γ为折扣因子,本发明取γ =0.8;考虑到用户必然不满意重复查询之间 的查询和搜索结果,本发明将重复查询之间的折扣因子设为0;公式如下: 2) 结束。
【文档编号】G06F17/30GK105930400SQ201610237174
【公开日】2016年9月7日
【申请日】2016年4月15日
【发明人】刘峰, 朱荣鑫, 唐丹丹, 张苏可, 丁霄汉
【申请人】南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1